diff --git a/package.json b/package.json index 5777c3c17fe4a..5b5a88c7fe024 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "typescript", "author": "Microsoft Corp.", "homepage": "https://www.typescriptlang.org/", - "version": "3.8.0", + "version": "3.9.0", "license": "Apache-2.0", "description": "TypeScript is a language for application scale JavaScript development", "keywords": [ diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b7ec180aef50b..2f58e69c4fcd9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -414,7 +414,8 @@ namespace ts { }, getSymbolAtLocation: node => { node = getParseTreeNode(node); - return node ? getSymbolAtLocation(node) : undefined; + // set ignoreErrors: true because any lookups invoked by the API shouldn't cause any new errors + return node ? getSymbolAtLocation(node, /*ignoreErrors*/ true) : undefined; }, getShorthandAssignmentValueSymbol: node => { node = getParseTreeNode(node); @@ -13032,7 +13033,7 @@ namespace ts { * this function should be called in a left folding style, with left = previous result of getSpreadType * and right = the new element to be spread. */ - function getSpreadType(left: Type, right: Type, symbol: Symbol | undefined, objectFlags: ObjectFlags, readonly: boolean): Type { + function getSpreadType(left: Type, right: Type, symbol: Symbol | undefined, objectFlags: ObjectFlags, readonly: boolean, isParentTypeNullable?: boolean): Type { if (left.flags & TypeFlags.Any || right.flags & TypeFlags.Any) { return anyType; } @@ -13048,16 +13049,16 @@ namespace ts { if (left.flags & TypeFlags.Union) { const merged = tryMergeUnionOfObjectTypeAndEmptyObject(left as UnionType, readonly); if (merged) { - return getSpreadType(merged, right, symbol, objectFlags, readonly); + return getSpreadType(merged, right, symbol, objectFlags, readonly, isParentTypeNullable); } - return mapType(left, t => getSpreadType(t, right, symbol, objectFlags, readonly)); + return mapType(left, t => getSpreadType(t, right, symbol, objectFlags, readonly, isParentTypeNullable)); } if (right.flags & TypeFlags.Union) { const merged = tryMergeUnionOfObjectTypeAndEmptyObject(right as UnionType, readonly); if (merged) { - return getSpreadType(left, merged, symbol, objectFlags, readonly); + return getSpreadType(left, merged, symbol, objectFlags, readonly, maybeTypeOfKind(right, TypeFlags.Nullable)); } - return mapType(right, t => getSpreadType(left, t, symbol, objectFlags, readonly)); + return mapType(right, t => getSpreadType(left, t, symbol, objectFlags, readonly, maybeTypeOfKind(right, TypeFlags.Nullable))); } if (right.flags & (TypeFlags.BooleanLike | TypeFlags.NumberLike | TypeFlags.BigIntLike | TypeFlags.StringLike | TypeFlags.EnumLike | TypeFlags.NonPrimitive | TypeFlags.Index)) { return left; @@ -13121,6 +13122,14 @@ namespace ts { result.nameType = getSymbolLinks(leftProp).nameType; members.set(leftProp.escapedName, result); } + else if (strictNullChecks && + !isParentTypeNullable && + symbol && + !isFromSpreadAssignment(leftProp, symbol) && + isFromSpreadAssignment(rightProp, symbol) && + !maybeTypeOfKind(rightType, TypeFlags.Nullable)) { + error(leftProp.valueDeclaration, Diagnostics._0_is_specified_more_than_once_so_this_usage_will_be_overwritten, unescapeLeadingUnderscores(leftProp.escapedName)); + } } else { members.set(leftProp.escapedName, getSpreadSymbol(leftProp, readonly)); @@ -15901,7 +15910,7 @@ namespace ts { // with respect to T. We do not report errors here, as we will use the existing // error result from checking each constituent of the union. if (source.flags & (TypeFlags.Object | TypeFlags.Intersection) && target.flags & TypeFlags.Union) { - const objectOnlyTarget = extractTypesOfKind(target, TypeFlags.Object); + const objectOnlyTarget = extractTypesOfKind(target, TypeFlags.Object | TypeFlags.Intersection | TypeFlags.Substitution); if (objectOnlyTarget.flags & TypeFlags.Union) { const result = typeRelatedToDiscriminatedType(source, objectOnlyTarget as UnionType); if (result) { @@ -15998,7 +16007,7 @@ namespace ts { // NOTE: See ~/tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithDiscriminatedUnion.ts // for examples. - const sourceProperties = getPropertiesOfObjectType(source); + const sourceProperties = getPropertiesOfType(source); const sourcePropertiesFiltered = findDiscriminantProperties(sourceProperties, target); if (!sourcePropertiesFiltered) return Ternary.False; @@ -16037,7 +16046,7 @@ namespace ts { outer: for (const type of target.types) { for (let i = 0; i < sourcePropertiesFiltered.length; i++) { const sourceProperty = sourcePropertiesFiltered[i]; - const targetProperty = getPropertyOfObjectType(type, sourceProperty.escapedName); + const targetProperty = getPropertyOfType(type, sourceProperty.escapedName); if (!targetProperty) continue outer; if (sourceProperty === targetProperty) continue; // We compare the source property to the target in the context of a single discriminant type. @@ -16620,6 +16629,10 @@ namespace ts { return match === -1 || discriminable.indexOf(/*searchElement*/ true, match + 1) !== -1 ? defaultValue : target.types[match]; } + function isFromSpreadAssignment(prop: Symbol, container: Symbol) { + return prop.valueDeclaration?.parent !== container.valueDeclaration; + } + /** * A type is 'weak' if it is an object type with at least one optional property * and no required properties, call/construct signatures or index signatures @@ -24886,7 +24899,7 @@ namespace ts { } } - return produceDiagnostics || !args ? resolveErrorCall(node) : getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray); + return getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray); function chooseOverload(candidates: Signature[], relation: Map, signatureHelpTrailingComma = false) { candidatesForArgumentError = undefined; @@ -25178,7 +25191,7 @@ namespace ts { if (node.arguments.length === 1) { const text = getSourceFileOfNode(node).text; if (isLineBreak(text.charCodeAt(skipTrivia(text, node.expression.end, /* stopAfterLineBreak */ true) - 1))) { - relatedInformation = createDiagnosticForNode(node.expression, Diagnostics.It_is_highly_likely_that_you_are_missing_a_semicolon); + relatedInformation = createDiagnosticForNode(node.expression, Diagnostics.Are_you_missing_a_semicolon); } } invocationError(node.expression, apparentType, SignatureKind.Call, relatedInformation); @@ -34400,7 +34413,7 @@ namespace ts { return undefined; } - function getSymbolAtLocation(node: Node): Symbol | undefined { + function getSymbolAtLocation(node: Node, ignoreErrors?: boolean): Symbol | undefined { if (node.kind === SyntaxKind.SourceFile) { return isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } @@ -34484,7 +34497,7 @@ namespace ts { ((isInJSFile(node) && isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || isImportCall(node.parent)) || (isLiteralTypeNode(node.parent) && isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent) ) { - return resolveExternalModuleName(node, node); + return resolveExternalModuleName(node, node, ignoreErrors); } if (isCallExpression(parent) && isBindableObjectDefinePropertyCall(parent) && parent.arguments[1] === node) { return getSymbolOfNode(parent); @@ -34506,7 +34519,7 @@ namespace ts { case SyntaxKind.ClassKeyword: return getSymbolOfNode(node.parent); case SyntaxKind.ImportType: - return isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined; + return isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal, ignoreErrors) : undefined; case SyntaxKind.ExportKeyword: return isExportAssignment(node.parent) ? Debug.assertDefined(node.parent.symbol) : undefined; diff --git a/src/compiler/corePublic.ts b/src/compiler/corePublic.ts index fcbd0cf7e07e9..c3a258cd84edb 100644 --- a/src/compiler/corePublic.ts +++ b/src/compiler/corePublic.ts @@ -1,7 +1,7 @@ namespace ts { // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configurePrerelease` too. - export const versionMajorMinor = "3.8"; + export const versionMajorMinor = "3.9"; /** The version of the TypeScript compiler release */ export const version = `${versionMajorMinor}.0-dev`; diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 2dc894e71fb50..988c87e9b4f07 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1135,6 +1135,14 @@ "category": "Error", "code": 1380 }, + "Unexpected token. Did you mean `{'}'}` or `}`?": { + "category": "Error", + "code": 1381 + }, + "Unexpected token. Did you mean `{'>'}` or `>`?": { + "category": "Error", + "code": 1382 + }, "The types of '{0}' are incompatible between these types.": { "category": "Error", @@ -2683,7 +2691,7 @@ "category": "Error", "code": 2733 }, - "It is highly likely that you are missing a semicolon.": { + "Are you missing a semicolon?": { "category": "Error", "code": 2734 }, @@ -2879,6 +2887,10 @@ "category": "Message", "code": 2782 }, + "'{0}' is specified more than once, so this usage will be overwritten.": { + "category": "Error", + "code": 2783 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", @@ -5457,6 +5469,14 @@ "category": "Message", "code": 95099 }, + "Convert invalid character to its html entity code": { + "category": "Message", + "code": 95100 + }, + "Wrap invalid character in an expression container": { + "category": "Message", + "code": 95101 + }, "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": { "category": "Error", diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 621725827584b..78938bd6a2a01 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -7017,10 +7017,12 @@ namespace ts { comments.push(text); indent += text.length; } - if (initialMargin) { + if (initialMargin !== undefined) { // jump straight to saving comments if there is some initial indentation - pushComment(initialMargin); - state = JSDocState.SavingComments; + if (initialMargin !== "") { + pushComment(initialMargin); + } + state = JSDocState.SawAsterisk; } let tok = token() as JSDocSyntaxKind; loop: while (true) { @@ -7558,7 +7560,7 @@ namespace ts { const typeParameter = createNode(SyntaxKind.TypeParameter); typeParameter.name = parseJSDocIdentifierName(Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces); finishNode(typeParameter); - skipWhitespace(); + skipWhitespaceOrAsterisk(); typeParameters.push(typeParameter); } while (parseOptionalJsdoc(SyntaxKind.CommaToken)); diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 7172552a3ea69..bf76051b6adb3 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -2156,6 +2156,12 @@ namespace ts { } break; } + if (char === CharacterCodes.greaterThan) { + error(Diagnostics.Unexpected_token_Did_you_mean_or_gt, pos, 1); + } + if (char === CharacterCodes.closeBrace) { + error(Diagnostics.Unexpected_token_Did_you_mean_or_rbrace, pos, 1); + } if (lastNonWhitespace > 0) lastNonWhitespace++; diff --git a/src/server/scriptInfo.ts b/src/server/scriptInfo.ts index f630b9329aaa7..79a46c9077563 100644 --- a/src/server/scriptInfo.ts +++ b/src/server/scriptInfo.ts @@ -273,6 +273,8 @@ namespace ts.server { /*@internal*/ export function isDynamicFileName(fileName: NormalizedPath) { return fileName[0] === "^" || + ((stringContains(fileName, "walkThroughSnippet:/") || stringContains(fileName, "untitled:/")) && + getBaseFileName(fileName)[0] === "^") || (stringContains(fileName, ":^") && !stringContains(fileName, directorySeparator)); } diff --git a/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts b/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts index d18bc50639a85..a27ded9d403f8 100644 --- a/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts +++ b/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts @@ -41,7 +41,9 @@ namespace ts.codefix { // so duplicates cannot occur. const abstractAndNonPrivateExtendsSymbols = checker.getPropertiesOfType(instantiatedExtendsType).filter(symbolPointsToNonPrivateAndAbstractMember); - createMissingMemberNodes(classDeclaration, abstractAndNonPrivateExtendsSymbols, context, preferences, member => changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member)); + const importAdder = createImportAdder(sourceFile, context.program, preferences, context.host); + createMissingMemberNodes(classDeclaration, abstractAndNonPrivateExtendsSymbols, context, preferences, importAdder, member => changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member)); + importAdder.writeFixes(changeTracker); } function symbolPointsToNonPrivateAndAbstractMember(symbol: Symbol): boolean { diff --git a/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts b/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts index 874a8b443bf4b..f17e03d1d91ca 100644 --- a/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts +++ b/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts @@ -63,7 +63,9 @@ namespace ts.codefix { createMissingIndexSignatureDeclaration(implementedType, IndexKind.String); } - createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, context, preferences, member => insertInterfaceMemberNode(sourceFile, classDeclaration, member)); + const importAdder = createImportAdder(sourceFile, context.program, preferences, context.host); + createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, context, preferences, importAdder, member => insertInterfaceMemberNode(sourceFile, classDeclaration, member)); + importAdder.writeFixes(changeTracker); function createMissingIndexSignatureDeclaration(type: InterfaceType, kind: IndexKind): void { const indexInfoOfKind = checker.getIndexInfoOfType(type, kind); diff --git a/src/services/codefixes/fixInvalidJsxCharacters.ts b/src/services/codefixes/fixInvalidJsxCharacters.ts new file mode 100644 index 0000000000000..f765c3558dc76 --- /dev/null +++ b/src/services/codefixes/fixInvalidJsxCharacters.ts @@ -0,0 +1,42 @@ +/* @internal */ +namespace ts.codefix { + const fixIdHtmlEntity = "invalidJsxCharactersConvertToHtmlEntity"; + const fixIdExpression = "invalidJsxCharactersConvertToExpression"; + + const errorCodes = [Diagnostics.Unexpected_token_Did_you_mean_or_gt.code, Diagnostics.Unexpected_token_Did_you_mean_or_rbrace.code]; + + registerCodeFix({ + errorCodes, + getCodeActions: context => { + const { sourceFile, span } = context; + const changeToExpression = textChanges.ChangeTracker.with(context, t => doChange(t, sourceFile, span.start, /* useHtmlEntity */ false)); + const changeToHtmlEntity = textChanges.ChangeTracker.with(context, t => doChange(t, sourceFile, span.start, /* useHtmlEntity */ true)); + return [ + createCodeFixActionWithoutFixAll(fixIdExpression, changeToExpression, Diagnostics.Wrap_invalid_character_in_an_expression_container), + createCodeFixAction(fixIdHtmlEntity, changeToHtmlEntity, Diagnostics.Convert_invalid_character_to_its_html_entity_code, fixIdHtmlEntity, Diagnostics.Convert_invalid_character_to_its_html_entity_code), + ]; + }, + fixIds: [fixIdExpression, fixIdHtmlEntity], + }); + + const htmlEntity = { + ">": ">", + "}": "}", + }; + function isValidCharacter(character: string): character is keyof typeof htmlEntity { + return hasProperty(htmlEntity, character); + } + + function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, start: number, useHtmlEntity: boolean) { + const character = sourceFile.getText()[start]; + // sanity check + if (!isValidCharacter(character)) { + return; + } + + const replacement = useHtmlEntity + ? htmlEntity[character] + : `{'${character}'}`; + changes.replaceRangeWithText(sourceFile, { pos: start, end: start + 1 }, replacement); + } +} diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index b1893f2e93c24..b2e05fab06c3f 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -4,13 +4,14 @@ namespace ts.codefix { * Finds members of the resolved type that are missing in the class pointed to by class decl * and generates source code for the missing members. * @param possiblyMissingSymbols The collection of symbols to filter and then get insertions for. + * @param importAdder If provided, type annotations will use identifier type references instead of ImportTypeNodes, and the missing imports will be added to the importAdder. * @returns Empty string iff there are no member insertions. */ - export function createMissingMemberNodes(classDeclaration: ClassLikeDeclaration, possiblyMissingSymbols: readonly Symbol[], context: TypeConstructionContext, preferences: UserPreferences, out: (node: ClassElement) => void): void { + export function createMissingMemberNodes(classDeclaration: ClassLikeDeclaration, possiblyMissingSymbols: readonly Symbol[], context: TypeConstructionContext, preferences: UserPreferences, importAdder: ImportAdder | undefined, addClassElement: (node: ClassElement) => void): void { const classMembers = classDeclaration.symbol.members!; for (const symbol of possiblyMissingSymbols) { if (!classMembers.has(symbol.escapedName)) { - addNewNodeForMemberSymbol(symbol, classDeclaration, context, preferences, out); + addNewNodeForMemberSymbol(symbol, classDeclaration, context, preferences, importAdder, addClassElement); } } } @@ -19,7 +20,7 @@ namespace ts.codefix { return { directoryExists: context.host.directoryExists ? d => context.host.directoryExists!(d) : undefined, fileExists: context.host.fileExists ? f => context.host.fileExists!(f) : undefined, - getCurrentDirectory: context.host.getCurrentDirectory ? () => context.host.getCurrentDirectory!() : undefined, + getCurrentDirectory: context.host.getCurrentDirectory ? () => context.host.getCurrentDirectory() : undefined, readFile: context.host.readFile ? f => context.host.readFile!(f) : undefined, useCaseSensitiveFileNames: context.host.useCaseSensitiveFileNames ? () => context.host.useCaseSensitiveFileNames!() : undefined, getSourceFiles: () => context.program.getSourceFiles(), @@ -36,19 +37,19 @@ namespace ts.codefix { export interface TypeConstructionContext { program: Program; - host: ModuleSpecifierResolutionHost; + host: LanguageServiceHost; } /** * @returns Empty string iff there we can't figure out a representation for `symbol` in `enclosingDeclaration`. */ - function addNewNodeForMemberSymbol(symbol: Symbol, enclosingDeclaration: ClassLikeDeclaration, context: TypeConstructionContext, preferences: UserPreferences, out: (node: Node) => void): void { + function addNewNodeForMemberSymbol(symbol: Symbol, enclosingDeclaration: ClassLikeDeclaration, context: TypeConstructionContext, preferences: UserPreferences, importAdder: ImportAdder | undefined, addClassElement: (node: Node) => void): void { const declarations = symbol.getDeclarations(); if (!(declarations && declarations.length)) { return undefined; } const checker = context.program.getTypeChecker(); - + const scriptTarget = getEmitScriptTarget(context.program.getCompilerOptions()); const declaration = declarations[0]; const name = getSynthesizedDeepClone(getNameOfDeclaration(declaration), /*includeTrivia*/ false) as PropertyName; const visibilityModifier = createVisibilityModifier(getModifierFlags(declaration)); @@ -61,8 +62,15 @@ namespace ts.codefix { case SyntaxKind.PropertySignature: case SyntaxKind.PropertyDeclaration: const flags = preferences.quotePreference === "single" ? NodeBuilderFlags.UseSingleQuotesForStringLiteralType : undefined; - const typeNode = checker.typeToTypeNode(type, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); - out(createProperty( + let typeNode = checker.typeToTypeNode(type, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); + if (importAdder) { + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(typeNode, type, scriptTarget); + if (importableReference) { + typeNode = importableReference.typeReference; + importSymbols(importAdder, importableReference.symbols); + } + } + addClassElement(createProperty( /*decorators*/undefined, modifiers, name, @@ -72,14 +80,21 @@ namespace ts.codefix { break; case SyntaxKind.GetAccessor: case SyntaxKind.SetAccessor: { + let typeNode = checker.typeToTypeNode(type, enclosingDeclaration, /*flags*/ undefined, getNoopSymbolTrackerWithResolver(context)); const allAccessors = getAllAccessorDeclarations(declarations, declaration as AccessorDeclaration); - const typeNode = checker.typeToTypeNode(type, enclosingDeclaration, /*flags*/ undefined, getNoopSymbolTrackerWithResolver(context)); const orderedAccessors = allAccessors.secondAccessor ? [allAccessors.firstAccessor, allAccessors.secondAccessor] : [allAccessors.firstAccessor]; + if (importAdder) { + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(typeNode, type, scriptTarget); + if (importableReference) { + typeNode = importableReference.typeReference; + importSymbols(importAdder, importableReference.symbols); + } + } for (const accessor of orderedAccessors) { if (isGetAccessorDeclaration(accessor)) { - out(createGetAccessor( + addClassElement(createGetAccessor( /*decorators*/ undefined, modifiers, name, @@ -91,7 +106,7 @@ namespace ts.codefix { Debug.assertNode(accessor, isSetAccessorDeclaration, "The counterpart to a getter should be a setter"); const parameter = getSetAccessorValueParameter(accessor); const parameterName = parameter && isIdentifier(parameter.name) ? idText(parameter.name) : undefined; - out(createSetAccessor( + addClassElement(createSetAccessor( /*decorators*/ undefined, modifiers, name, @@ -134,15 +149,15 @@ namespace ts.codefix { } else { Debug.assert(declarations.length === signatures.length, "Declarations and signatures should match count"); - out(createMethodImplementingSignatures(signatures, name, optional, modifiers, preferences)); + addClassElement(createMethodImplementingSignatures(signatures, name, optional, modifiers, preferences)); } } break; } function outputMethod(signature: Signature, modifiers: NodeArray | undefined, name: PropertyName, body?: Block): void { - const method = signatureToMethodDeclaration(context, signature, enclosingDeclaration, modifiers, name, optional, body); - if (method) out(method); + const method = signatureToMethodDeclaration(context, signature, enclosingDeclaration, modifiers, name, optional, body, importAdder); + if (method) addClassElement(method); } } @@ -154,13 +169,53 @@ namespace ts.codefix { name: PropertyName, optional: boolean, body: Block | undefined, + importAdder: ImportAdder | undefined, ): MethodDeclaration | undefined { const program = context.program; - const signatureDeclaration = program.getTypeChecker().signatureToSignatureDeclaration(signature, SyntaxKind.MethodDeclaration, enclosingDeclaration, NodeBuilderFlags.NoTruncation | NodeBuilderFlags.SuppressAnyReturnType, getNoopSymbolTrackerWithResolver(context)); + const checker = program.getTypeChecker(); + const scriptTarget = getEmitScriptTarget(program.getCompilerOptions()); + const signatureDeclaration = checker.signatureToSignatureDeclaration(signature, SyntaxKind.MethodDeclaration, enclosingDeclaration, NodeBuilderFlags.NoTruncation | NodeBuilderFlags.SuppressAnyReturnType, getNoopSymbolTrackerWithResolver(context)); if (!signatureDeclaration) { return undefined; } + if (importAdder) { + if (signatureDeclaration.typeParameters) { + forEach(signatureDeclaration.typeParameters, (typeParameterDecl, i) => { + const typeParameter = signature.typeParameters![i]; + if (typeParameterDecl.constraint) { + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(typeParameterDecl.constraint, typeParameter.constraint, scriptTarget); + if (importableReference) { + typeParameterDecl.constraint = importableReference.typeReference; + importSymbols(importAdder, importableReference.symbols); + } + } + if (typeParameterDecl.default) { + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(typeParameterDecl.default, typeParameter.default, scriptTarget); + if (importableReference) { + typeParameterDecl.default = importableReference.typeReference; + importSymbols(importAdder, importableReference.symbols); + } + } + }); + } + forEach(signatureDeclaration.parameters, (parameterDecl, i) => { + const parameter = signature.parameters[i]; + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(parameterDecl.type, checker.getTypeAtLocation(parameter.valueDeclaration), scriptTarget); + if (importableReference) { + parameterDecl.type = importableReference.typeReference; + importSymbols(importAdder, importableReference.symbols); + } + }); + if (signatureDeclaration.type) { + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(signatureDeclaration.type, signature.resolvedReturnType, scriptTarget); + if (importableReference) { + signatureDeclaration.type = importableReference.typeReference; + importSymbols(importAdder, importableReference.symbols); + } + } + } + signatureDeclaration.decorators = undefined; signatureDeclaration.modifiers = modifiers; signatureDeclaration.name = name; @@ -359,4 +414,51 @@ namespace ts.codefix { export function findJsonProperty(obj: ObjectLiteralExpression, name: string): PropertyAssignment | undefined { return find(obj.properties, (p): p is PropertyAssignment => isPropertyAssignment(p) && !!p.name && isStringLiteral(p.name) && p.name.text === name); } + + /** + * Given an ImportTypeNode 'import("./a").SomeType>', + * returns an equivalent type reference node with any nested ImportTypeNodes also replaced + * with type references, and a list of symbols that must be imported to use the type reference. + */ + export function tryGetAutoImportableReferenceFromImportTypeNode(importTypeNode: TypeNode | undefined, type: Type | undefined, scriptTarget: ScriptTarget) { + if (importTypeNode && isLiteralImportTypeNode(importTypeNode) && importTypeNode.qualifier && (!type || type.symbol)) { + // Symbol for the left-most thing after the dot + const firstIdentifier = getFirstIdentifier(importTypeNode.qualifier); + const name = getNameForExportedSymbol(firstIdentifier.symbol, scriptTarget); + const qualifier = name !== firstIdentifier.text + ? replaceFirstIdentifierOfEntityName(importTypeNode.qualifier, createIdentifier(name)) + : importTypeNode.qualifier; + + const symbols = [firstIdentifier.symbol]; + const typeArguments: TypeNode[] = []; + if (importTypeNode.typeArguments) { + importTypeNode.typeArguments.forEach(arg => { + const ref = tryGetAutoImportableReferenceFromImportTypeNode(arg, /*undefined*/ type, scriptTarget); + if (ref) { + symbols.push(...ref.symbols); + typeArguments.push(ref.typeReference); + } + else { + typeArguments.push(arg); + } + }); + } + + return { + symbols, + typeReference: createTypeReferenceNode(qualifier, typeArguments) + }; + } + } + + function replaceFirstIdentifierOfEntityName(name: EntityName, newIdentifier: Identifier): EntityName { + if (name.kind === SyntaxKind.Identifier) { + return newIdentifier; + } + return createQualifiedName(replaceFirstIdentifierOfEntityName(name.left, newIdentifier), name.right); + } + + function importSymbols(importAdder: ImportAdder, symbols: readonly Symbol[]) { + symbols.forEach(s => importAdder.addImportFromExportedSymbol(s, /*usageIsTypeOnly*/ true)); + } } diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index 64c9c93189842..d66bc414fa750 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -24,90 +24,121 @@ namespace ts.codefix { }, fixIds: [importFixId], getAllCodeActions: context => { - const { sourceFile, preferences } = context; - - // Namespace fixes don't conflict, so just build a list. - const addToNamespace: FixUseNamespaceImport[] = []; - const importType: FixUseImportType[] = []; - // Keys are import clause node IDs. - const addToExisting = createMap<{ readonly importClause: ImportClause, defaultImport: string | undefined; readonly namedImports: string[], canUseTypeOnlyImport: boolean }>(); - const newImports = createMap>(); - let lastModuleSpecifier: string | undefined; - - eachDiagnostic(context, errorCodes, diag => { - const info = getFixesInfo(context, diag.code, diag.start); - if (!info || !info.fixes.length) return; - const { fixes, symbolName } = info; - - const fix = first(fixes); - switch (fix.kind) { - case ImportFixKind.UseNamespace: - addToNamespace.push(fix); - break; - case ImportFixKind.ImportType: - importType.push(fix); - break; - case ImportFixKind.AddToExisting: { - const { importClause, importKind, canUseTypeOnlyImport } = fix; - const key = String(getNodeId(importClause)); - let entry = addToExisting.get(key); - if (!entry) { - addToExisting.set(key, entry = { importClause, defaultImport: undefined, namedImports: [], canUseTypeOnlyImport }); - } - if (importKind === ImportKind.Named) { - pushIfUnique(entry.namedImports, symbolName); - } - else { - Debug.assert(entry.defaultImport === undefined || entry.defaultImport === symbolName, "(Add to Existing) Default import should be missing or match symbolName"); - entry.defaultImport = symbolName; - } - break; + const { sourceFile, program, preferences, host } = context; + const importAdder = createImportAdder(sourceFile, program, preferences, host); + eachDiagnostic(context, errorCodes, diag => importAdder.addImportFromDiagnostic(diag, context)); + return createCombinedCodeActions(textChanges.ChangeTracker.with(context, importAdder.writeFixes)); + }, + }); + + export interface ImportAdder { + addImportFromDiagnostic: (diagnostic: DiagnosticWithLocation, context: CodeFixContextBase) => void; + addImportFromExportedSymbol: (exportedSymbol: Symbol, usageIsTypeOnly?: boolean) => void; + writeFixes: (changeTracker: textChanges.ChangeTracker) => void; + } + + export function createImportAdder(sourceFile: SourceFile, program: Program, preferences: UserPreferences, host: LanguageServiceHost): ImportAdder { + const compilerOptions = program.getCompilerOptions(); + // Namespace fixes don't conflict, so just build a list. + const addToNamespace: FixUseNamespaceImport[] = []; + const importType: FixUseImportType[] = []; + // Keys are import clause node IDs. + const addToExisting = createMap<{ readonly importClause: ImportClause, defaultImport: string | undefined; readonly namedImports: string[], canUseTypeOnlyImport: boolean }>(); + const newImports = createMap>(); + let lastModuleSpecifier: string | undefined; + return { addImportFromDiagnostic, addImportFromExportedSymbol, writeFixes }; + + function addImportFromDiagnostic(diagnostic: DiagnosticWithLocation, context: CodeFixContextBase) { + const info = getFixesInfo(context, diagnostic.code, diagnostic.start); + if (!info || !info.fixes.length) return; + addImport(info); + } + + function addImportFromExportedSymbol(exportedSymbol: Symbol, usageIsTypeOnly?: boolean) { + const moduleSymbol = Debug.assertDefined(exportedSymbol.parent); + const symbolName = getNameForExportedSymbol(exportedSymbol, getEmitScriptTarget(compilerOptions)); + const checker = program.getTypeChecker(); + const symbol = checker.getMergedSymbol(skipAlias(exportedSymbol, checker)); + const exportInfos = getAllReExportingModules(sourceFile, symbol, moduleSymbol, symbolName, sourceFile, compilerOptions, checker, program.getSourceFiles()); + const preferTypeOnlyImport = !!usageIsTypeOnly && compilerOptions.importsNotUsedAsValues === ImportsNotUsedAsValues.Error; + const fix = getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, /*position*/ undefined, preferTypeOnlyImport, host, preferences); + addImport({ fixes: [fix], symbolName }); + } + + function addImport(info: FixesInfo) { + const { fixes, symbolName } = info; + const fix = first(fixes); + switch (fix.kind) { + case ImportFixKind.UseNamespace: + addToNamespace.push(fix); + break; + case ImportFixKind.ImportType: + importType.push(fix); + break; + case ImportFixKind.AddToExisting: { + const { importClause, importKind, canUseTypeOnlyImport } = fix; + const key = String(getNodeId(importClause)); + let entry = addToExisting.get(key); + if (!entry) { + addToExisting.set(key, entry = { importClause, defaultImport: undefined, namedImports: [], canUseTypeOnlyImport }); } - case ImportFixKind.AddNew: { - const { moduleSpecifier, importKind } = fix; - let entry = newImports.get(moduleSpecifier); - if (!entry) { - newImports.set(moduleSpecifier, entry = { defaultImport: undefined, namedImports: [], namespaceLikeImport: undefined }); - lastModuleSpecifier = moduleSpecifier; - } - switch (importKind) { - case ImportKind.Default: - Debug.assert(entry.defaultImport === undefined || entry.defaultImport === symbolName, "(Add new) Default import should be missing or match symbolName"); - entry.defaultImport = symbolName; - break; - case ImportKind.Named: - pushIfUnique(entry.namedImports, symbolName); - break; - case ImportKind.Equals: - case ImportKind.Namespace: - Debug.assert(entry.namespaceLikeImport === undefined || entry.namespaceLikeImport.name === symbolName, "Namespacelike import shoudl be missing or match symbolName"); - entry.namespaceLikeImport = { importKind, name: symbolName }; - break; - } - break; + if (importKind === ImportKind.Named) { + pushIfUnique(entry.namedImports, symbolName); } - default: - Debug.assertNever(fix, `fix wasn't never - got kind ${(fix as ImportFix).kind}`); - } - }); - - return createCombinedCodeActions(textChanges.ChangeTracker.with(context, changes => { - const quotePreference = getQuotePreference(sourceFile, preferences); - for (const fix of addToNamespace) { - addNamespaceQualifier(changes, sourceFile, fix); + else { + Debug.assert(entry.defaultImport === undefined || entry.defaultImport === symbolName, "(Add to Existing) Default import should be missing or match symbolName"); + entry.defaultImport = symbolName; + } + break; } - for (const fix of importType) { - addImportType(changes, sourceFile, fix, quotePreference); + case ImportFixKind.AddNew: { + const { moduleSpecifier, importKind, typeOnly } = fix; + let entry = newImports.get(moduleSpecifier); + if (!entry) { + newImports.set(moduleSpecifier, entry = { defaultImport: undefined, namedImports: [], namespaceLikeImport: undefined, typeOnly }); + lastModuleSpecifier = moduleSpecifier; + } + else { + // An import clause can only be type-only if every import fix contributing to it can be type-only. + entry.typeOnly = entry.typeOnly && typeOnly; + } + switch (importKind) { + case ImportKind.Default: + Debug.assert(entry.defaultImport === undefined || entry.defaultImport === symbolName, "(Add new) Default import should be missing or match symbolName"); + entry.defaultImport = symbolName; + break; + case ImportKind.Named: + pushIfUnique(entry.namedImports, symbolName); + break; + case ImportKind.Equals: + case ImportKind.Namespace: + Debug.assert(entry.namespaceLikeImport === undefined || entry.namespaceLikeImport.name === symbolName, "Namespacelike import shoudl be missing or match symbolName"); + entry.namespaceLikeImport = { importKind, name: symbolName }; + break; + } + break; } - addToExisting.forEach(({ importClause, defaultImport, namedImports, canUseTypeOnlyImport }) => { - doAddExistingFix(changes, sourceFile, importClause, defaultImport, namedImports, canUseTypeOnlyImport); - }); - newImports.forEach((imports, moduleSpecifier) => { - addNewImports(changes, sourceFile, moduleSpecifier, quotePreference, imports, /*blankLineBetween*/ lastModuleSpecifier === moduleSpecifier); - }); - })); - }, - }); + default: + Debug.assertNever(fix, `fix wasn't never - got kind ${(fix as ImportFix).kind}`); + } + } + + function writeFixes(changeTracker: textChanges.ChangeTracker) { + const quotePreference = getQuotePreference(sourceFile, preferences); + for (const fix of addToNamespace) { + addNamespaceQualifier(changeTracker, sourceFile, fix); + } + for (const fix of importType) { + addImportType(changeTracker, sourceFile, fix, quotePreference); + } + addToExisting.forEach(({ importClause, defaultImport, namedImports, canUseTypeOnlyImport }) => { + doAddExistingFix(changeTracker, sourceFile, importClause, defaultImport, namedImports, canUseTypeOnlyImport); + }); + newImports.forEach((imports, moduleSpecifier) => { + addNewImports(changeTracker, sourceFile, moduleSpecifier, quotePreference, imports, /*blankLineBetween*/ lastModuleSpecifier === moduleSpecifier); + }); + } + } // Sorted with the preferred fix coming first. const enum ImportFixKind { UseNamespace, ImportType, AddToExisting, AddNew } @@ -132,6 +163,7 @@ namespace ts.codefix { readonly kind: ImportFixKind.AddNew; readonly moduleSpecifier: string; readonly importKind: ImportKind; + readonly typeOnly: boolean; } const enum ImportKind { @@ -167,14 +199,20 @@ namespace ts.codefix { position: number, preferences: UserPreferences, ): { readonly moduleSpecifier: string, readonly codeAction: CodeAction } { - const exportInfos = getAllReExportingModules(sourceFile, exportedSymbol, moduleSymbol, symbolName, sourceFile, program.getCompilerOptions(), program.getTypeChecker(), program.getSourceFiles()); - Debug.assert(exportInfos.some(info => info.moduleSymbol === moduleSymbol), "Some exportInfo should match the specified moduleSymbol"); - // We sort the best codefixes first, so taking `first` is best for completions. - const moduleSpecifier = first(getNewImportInfos(program, sourceFile, position, exportInfos, host, preferences)).moduleSpecifier; - const fix = first(getFixForImport(exportInfos, symbolName, position, program, sourceFile, host, preferences)); + const compilerOptions = program.getCompilerOptions(); + const exportInfos = getAllReExportingModules(sourceFile, exportedSymbol, moduleSymbol, symbolName, sourceFile, compilerOptions, program.getTypeChecker(), program.getSourceFiles()); + const preferTypeOnlyImport = compilerOptions.importsNotUsedAsValues === ImportsNotUsedAsValues.Error && isValidTypeOnlyAliasUseSite(getTokenAtPosition(sourceFile, position)); + const moduleSpecifier = first(getNewImportInfos(program, sourceFile, position, preferTypeOnlyImport, exportInfos, host, preferences)).moduleSpecifier; + const fix = getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, position, preferTypeOnlyImport, host, preferences); return { moduleSpecifier, codeAction: codeFixActionToCodeAction(codeActionForFix({ host, formatContext, preferences }, sourceFile, symbolName, fix, getQuotePreference(sourceFile, preferences))) }; } + function getImportFixForSymbol(sourceFile: SourceFile, exportInfos: readonly SymbolExportInfo[], moduleSymbol: Symbol, symbolName: string, program: Program, position: number | undefined, preferTypeOnlyImport: boolean, host: LanguageServiceHost, preferences: UserPreferences) { + Debug.assert(exportInfos.some(info => info.moduleSymbol === moduleSymbol), "Some exportInfo should match the specified moduleSymbol"); + // We sort the best codefixes first, so taking `first` is best. + return first(getFixForImport(exportInfos, symbolName, position, preferTypeOnlyImport, program, sourceFile, host, preferences)); + } + function codeFixActionToCodeAction({ description, changes, commands }: CodeFixAction): CodeAction { return { description, changes, commands }; } @@ -214,6 +252,7 @@ namespace ts.codefix { symbolName: string, /** undefined only for missing JSX namespace */ position: number | undefined, + preferTypeOnlyImport: boolean, program: Program, sourceFile: SourceFile, host: LanguageServiceHost, @@ -224,7 +263,7 @@ namespace ts.codefix { const useNamespace = position === undefined ? undefined : tryUseExistingNamespaceImport(existingImports, symbolName, position, checker); const addToExisting = tryAddToExistingImport(existingImports, position !== undefined && isTypeOnlyPosition(sourceFile, position)); // Don't bother providing an action to add a new import if we can add to an existing one. - const addImport = addToExisting ? [addToExisting] : getFixesForAddImport(exportInfos, existingImports, program, sourceFile, position, host, preferences); + const addImport = addToExisting ? [addToExisting] : getFixesForAddImport(exportInfos, existingImports, program, sourceFile, position, preferTypeOnlyImport, host, preferences); return [...(useNamespace ? [useNamespace] : emptyArray), ...addImport]; } @@ -287,6 +326,7 @@ namespace ts.codefix { program: Program, sourceFile: SourceFile, position: number | undefined, + preferTypeOnlyImport: boolean, moduleSymbols: readonly SymbolExportInfo[], host: LanguageServiceHost, preferences: UserPreferences, @@ -300,7 +340,7 @@ namespace ts.codefix { // `position` should only be undefined at a missing jsx namespace, in which case we shouldn't be looking for pure types. exportedSymbolIsTypeOnly && isJs ? { kind: ImportFixKind.ImportType, moduleSpecifier, position: Debug.assertDefined(position, "position should be defined") } - : { kind: ImportFixKind.AddNew, moduleSpecifier, importKind })); + : { kind: ImportFixKind.AddNew, moduleSpecifier, importKind, typeOnly: preferTypeOnlyImport })); // Sort by presence in package.json, then shortest paths first return sort(choicesForEachExportingModule, (a, b) => { @@ -322,21 +362,22 @@ namespace ts.codefix { program: Program, sourceFile: SourceFile, position: number | undefined, + preferTypeOnlyImport: boolean, host: LanguageServiceHost, preferences: UserPreferences, ): readonly (FixAddNewImport | FixUseImportType)[] { - const existingDeclaration = firstDefined(existingImports, newImportInfoFromExistingSpecifier); - return existingDeclaration ? [existingDeclaration] : getNewImportInfos(program, sourceFile, position, exportInfos, host, preferences); + const existingDeclaration = firstDefined(existingImports, info => newImportInfoFromExistingSpecifier(info, preferTypeOnlyImport)); + return existingDeclaration ? [existingDeclaration] : getNewImportInfos(program, sourceFile, position, preferTypeOnlyImport, exportInfos, host, preferences); } - function newImportInfoFromExistingSpecifier({ declaration, importKind }: FixAddToExistingImportInfo): FixAddNewImport | undefined { + function newImportInfoFromExistingSpecifier({ declaration, importKind }: FixAddToExistingImportInfo, preferTypeOnlyImport: boolean): FixAddNewImport | undefined { const expression = declaration.kind === SyntaxKind.ImportDeclaration ? declaration.moduleSpecifier : declaration.moduleReference.kind === SyntaxKind.ExternalModuleReference ? declaration.moduleReference.expression : undefined; return expression && isStringLiteral(expression) - ? { kind: ImportFixKind.AddNew, moduleSpecifier: expression.text, importKind } + ? { kind: ImportFixKind.AddNew, moduleSpecifier: expression.text, importKind, typeOnly: preferTypeOnlyImport } : undefined; } @@ -356,7 +397,7 @@ namespace ts.codefix { const symbol = checker.getAliasedSymbol(umdSymbol); const symbolName = umdSymbol.name; const exportInfos: readonly SymbolExportInfo[] = [{ moduleSymbol: symbol, importKind: getUmdImportKind(sourceFile, program.getCompilerOptions()), exportedSymbolIsTypeOnly: false }]; - const fixes = getFixForImport(exportInfos, symbolName, isIdentifier(token) ? token.getStart(sourceFile) : undefined, program, sourceFile, host, preferences); + const fixes = getFixForImport(exportInfos, symbolName, isIdentifier(token) ? token.getStart(sourceFile) : undefined, /*preferTypeOnlyImport*/ false, program, sourceFile, host, preferences); return { fixes, symbolName }; } function getUmdSymbol(token: Node, checker: TypeChecker): Symbol | undefined { @@ -410,9 +451,10 @@ namespace ts.codefix { // "default" is a keyword and not a legal identifier for the import, so we don't expect it here Debug.assert(symbolName !== InternalSymbolName.Default, "'default' isn't a legal identifier and couldn't occur here"); + const preferTypeOnlyImport = program.getCompilerOptions().importsNotUsedAsValues === ImportsNotUsedAsValues.Error && isValidTypeOnlyAliasUseSite(symbolToken); const exportInfos = getExportInfos(symbolName, getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, checker, program, host); const fixes = arrayFrom(flatMapIterator(exportInfos.entries(), ([_, exportInfos]) => - getFixForImport(exportInfos, symbolName, symbolToken.getStart(sourceFile), program, sourceFile, host, preferences))); + getFixForImport(exportInfos, symbolName, symbolToken.getStart(sourceFile), preferTypeOnlyImport, program, sourceFile, host, preferences))); return { fixes, symbolName }; } @@ -546,10 +588,10 @@ namespace ts.codefix { return [importKind === ImportKind.Default ? Diagnostics.Add_default_import_0_to_existing_import_declaration_from_1 : Diagnostics.Add_0_to_existing_import_declaration_from_1, symbolName, moduleSpecifierWithoutQuotes]; // you too! } case ImportFixKind.AddNew: { - const { importKind, moduleSpecifier } = fix; - addNewImports(changes, sourceFile, moduleSpecifier, quotePreference, importKind === ImportKind.Default ? { defaultImport: symbolName, namedImports: emptyArray, namespaceLikeImport: undefined } - : importKind === ImportKind.Named ? { defaultImport: undefined, namedImports: [symbolName], namespaceLikeImport: undefined } - : { defaultImport: undefined, namedImports: emptyArray, namespaceLikeImport: { importKind, name: symbolName } }, /*blankLineBetween*/ true); + const { importKind, moduleSpecifier, typeOnly } = fix; + addNewImports(changes, sourceFile, moduleSpecifier, quotePreference, importKind === ImportKind.Default ? { defaultImport: symbolName, namedImports: emptyArray, namespaceLikeImport: undefined, typeOnly } + : importKind === ImportKind.Named ? { defaultImport: undefined, namedImports: [symbolName], namespaceLikeImport: undefined, typeOnly } + : { defaultImport: undefined, namedImports: emptyArray, namespaceLikeImport: { importKind, name: symbolName }, typeOnly }, /*blankLineBetween*/ true); return [importKind === ImportKind.Default ? Diagnostics.Import_default_0_from_module_1 : Diagnostics.Import_0_from_module_1, symbolName, moduleSpecifier]; } default: @@ -603,6 +645,7 @@ namespace ts.codefix { } interface ImportsCollection { + readonly typeOnly: boolean; readonly defaultImport: string | undefined; readonly namedImports: string[]; readonly namespaceLikeImport: { @@ -610,13 +653,13 @@ namespace ts.codefix { readonly name: string; } | undefined; } - function addNewImports(changes: textChanges.ChangeTracker, sourceFile: SourceFile, moduleSpecifier: string, quotePreference: QuotePreference, { defaultImport, namedImports, namespaceLikeImport }: ImportsCollection, blankLineBetween: boolean): void { + function addNewImports(changes: textChanges.ChangeTracker, sourceFile: SourceFile, moduleSpecifier: string, quotePreference: QuotePreference, { defaultImport, namedImports, namespaceLikeImport, typeOnly }: ImportsCollection, blankLineBetween: boolean): void { const quotedModuleSpecifier = makeStringLiteral(moduleSpecifier, quotePreference); if (defaultImport !== undefined || namedImports.length) { insertImport(changes, sourceFile, makeImport( defaultImport === undefined ? undefined : createIdentifier(defaultImport), - namedImports.map(n => createImportSpecifier(/*propertyName*/ undefined, createIdentifier(n))), moduleSpecifier, quotePreference), /*blankLineBetween*/ blankLineBetween); + namedImports.map(n => createImportSpecifier(/*propertyName*/ undefined, createIdentifier(n))), moduleSpecifier, quotePreference, typeOnly), /*blankLineBetween*/ blankLineBetween); } if (namespaceLikeImport) { insertImport( @@ -624,7 +667,7 @@ namespace ts.codefix { sourceFile, namespaceLikeImport.importKind === ImportKind.Equals ? createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, createIdentifier(namespaceLikeImport.name), createExternalModuleReference(quotedModuleSpecifier)) : namespaceLikeImport.importKind === ImportKind.ConstEquals ? createConstEqualsRequireDeclaration(namespaceLikeImport.name, quotedModuleSpecifier) : - createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, createImportClause(/*name*/ undefined, createNamespaceImport(createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier), /*blankLineBetween*/ blankLineBetween); + createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, createImportClause(/*name*/ undefined, createNamespaceImport(createIdentifier(namespaceLikeImport.name)), typeOnly), quotedModuleSpecifier), /*blankLineBetween*/ blankLineBetween); } } diff --git a/src/services/codefixes/inferFromUsage.ts b/src/services/codefixes/inferFromUsage.ts index 5718f592cb82a..888128834046c 100644 --- a/src/services/codefixes/inferFromUsage.ts +++ b/src/services/codefixes/inferFromUsage.ts @@ -49,21 +49,21 @@ namespace ts.codefix { registerCodeFix({ errorCodes, getCodeActions(context) { - const { sourceFile, program, span: { start }, errorCode, cancellationToken, host, formatContext, preferences } = context; + const { sourceFile, program, span: { start }, errorCode, cancellationToken, host, preferences } = context; const token = getTokenAtPosition(sourceFile, start); - let declaration!: Declaration | undefined; - const changes = textChanges.ChangeTracker.with(context, changes => { declaration = doChange(changes, sourceFile, token, errorCode, program, cancellationToken, /*markSeen*/ returnTrue, host, formatContext, preferences); }); + let declaration: Declaration | undefined; + const changes = textChanges.ChangeTracker.with(context, changes => { declaration = doChange(changes, sourceFile, token, errorCode, program, cancellationToken, /*markSeen*/ returnTrue, host, preferences); }); const name = declaration && getNameOfDeclaration(declaration); return !name || changes.length === 0 ? undefined : [createCodeFixAction(fixId, changes, [getDiagnostic(errorCode, token), name.getText(sourceFile)], fixId, Diagnostics.Infer_all_types_from_usage)]; }, fixIds: [fixId], getAllCodeActions(context) { - const { sourceFile, program, cancellationToken, host, formatContext, preferences } = context; + const { sourceFile, program, cancellationToken, host, preferences } = context; const markSeen = nodeSeenTracker(); return codeFixAll(context, errorCodes, (changes, err) => { - doChange(changes, sourceFile, getTokenAtPosition(err.file, err.start), err.code, program, cancellationToken, markSeen, host, formatContext, preferences); + doChange(changes, sourceFile, getTokenAtPosition(err.file, err.start), err.code, program, cancellationToken, markSeen, host, preferences); }); }, }); @@ -106,19 +106,21 @@ namespace ts.codefix { return errorCode; } - function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, token: Node, errorCode: number, program: Program, cancellationToken: CancellationToken, markSeen: NodeSeenTracker, host: LanguageServiceHost, formatContext: formatting.FormatContext, preferences: UserPreferences): Declaration | undefined { + function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, token: Node, errorCode: number, program: Program, cancellationToken: CancellationToken, markSeen: NodeSeenTracker, host: LanguageServiceHost, preferences: UserPreferences): Declaration | undefined { if (!isParameterPropertyModifier(token.kind) && token.kind !== SyntaxKind.Identifier && token.kind !== SyntaxKind.DotDotDotToken && token.kind !== SyntaxKind.ThisKeyword) { return undefined; } const { parent } = token; + const importAdder = createImportAdder(sourceFile, program, preferences, host); errorCode = mapSuggestionDiagnostic(errorCode); switch (errorCode) { // Variable and Property declarations case Diagnostics.Member_0_implicitly_has_an_1_type.code: case Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code: if ((isVariableDeclaration(parent) && markSeen(parent)) || isPropertyDeclaration(parent) || isPropertySignature(parent)) { // handle bad location - annotateVariableDeclaration(changes, sourceFile, parent, program, host, cancellationToken, formatContext, preferences); + annotateVariableDeclaration(changes, importAdder, sourceFile, parent, program, host, cancellationToken); + importAdder.writeFixes(changes); return parent; } if (isPropertyAccessExpression(parent)) { @@ -129,6 +131,7 @@ namespace ts.codefix { const typeTag = createJSDocTypeTag(createJSDocTypeExpression(typeNode), /*comment*/ ""); addJSDocTags(changes, sourceFile, cast(parent.parent.parent, isExpressionStatement), [typeTag]); } + importAdder.writeFixes(changes); return parent; } return undefined; @@ -136,7 +139,8 @@ namespace ts.codefix { case Diagnostics.Variable_0_implicitly_has_an_1_type.code: { const symbol = program.getTypeChecker().getSymbolAtLocation(token); if (symbol && symbol.valueDeclaration && isVariableDeclaration(symbol.valueDeclaration) && markSeen(symbol.valueDeclaration)) { - annotateVariableDeclaration(changes, sourceFile, symbol.valueDeclaration, program, host, cancellationToken, formatContext, preferences); + annotateVariableDeclaration(changes, importAdder, sourceFile, symbol.valueDeclaration, program, host, cancellationToken); + importAdder.writeFixes(changes); return symbol.valueDeclaration; } return undefined; @@ -148,77 +152,80 @@ namespace ts.codefix { return undefined; } + let declaration: Declaration | undefined; switch (errorCode) { // Parameter declarations case Diagnostics.Parameter_0_implicitly_has_an_1_type.code: if (isSetAccessorDeclaration(containingFunction)) { - annotateSetAccessor(changes, sourceFile, containingFunction, program, host, cancellationToken, formatContext, preferences); - return containingFunction; + annotateSetAccessor(changes, importAdder, sourceFile, containingFunction, program, host, cancellationToken); + declaration = containingFunction; + break; } // falls through case Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code: if (markSeen(containingFunction)) { const param = cast(parent, isParameter); - annotateParameters(changes, sourceFile, param, containingFunction, program, host, cancellationToken, formatContext, preferences); - return param; + annotateParameters(changes, importAdder, sourceFile, param, containingFunction, program, host, cancellationToken); + declaration = param; } - return undefined; + break; // Get Accessor declarations case Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code: case Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code: if (isGetAccessorDeclaration(containingFunction) && isIdentifier(containingFunction.name)) { - annotate(changes, sourceFile, containingFunction, inferTypeForVariableFromUsage(containingFunction.name, program, cancellationToken), program, host, formatContext, preferences); - return containingFunction; + annotate(changes, importAdder, sourceFile, containingFunction, inferTypeForVariableFromUsage(containingFunction.name, program, cancellationToken), program, host); + declaration = containingFunction; } - return undefined; + break; // Set Accessor declarations case Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code: if (isSetAccessorDeclaration(containingFunction)) { - annotateSetAccessor(changes, sourceFile, containingFunction, program, host, cancellationToken, formatContext, preferences); - return containingFunction; + annotateSetAccessor(changes, importAdder, sourceFile, containingFunction, program, host, cancellationToken); + declaration = containingFunction; } - return undefined; + break; // Function 'this' case Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code: if (textChanges.isThisTypeAnnotatable(containingFunction) && markSeen(containingFunction)) { annotateThis(changes, sourceFile, containingFunction, program, host, cancellationToken); - return containingFunction; + declaration = containingFunction; } - return undefined; + break; default: return Debug.fail(String(errorCode)); } + + importAdder.writeFixes(changes); + return declaration; } function annotateVariableDeclaration( changes: textChanges.ChangeTracker, + importAdder: ImportAdder, sourceFile: SourceFile, declaration: VariableDeclaration | PropertyDeclaration | PropertySignature, program: Program, host: LanguageServiceHost, cancellationToken: CancellationToken, - formatContext: formatting.FormatContext, - preferences: UserPreferences, ): void { if (isIdentifier(declaration.name)) { - annotate(changes, sourceFile, declaration, inferTypeForVariableFromUsage(declaration.name, program, cancellationToken), program, host, formatContext, preferences); + annotate(changes, importAdder, sourceFile, declaration, inferTypeForVariableFromUsage(declaration.name, program, cancellationToken), program, host); } } function annotateParameters( changes: textChanges.ChangeTracker, + importAdder: ImportAdder, sourceFile: SourceFile, parameterDeclaration: ParameterDeclaration, containingFunction: FunctionLike, program: Program, host: LanguageServiceHost, cancellationToken: CancellationToken, - formatContext: formatting.FormatContext, - preferences: UserPreferences, ): void { if (!isIdentifier(parameterDeclaration.name)) { return; @@ -235,7 +242,7 @@ namespace ts.codefix { if (needParens) changes.insertNodeBefore(sourceFile, first(containingFunction.parameters), createToken(SyntaxKind.OpenParenToken)); for (const { declaration, type } of parameterInferences) { if (declaration && !declaration.type && !declaration.initializer) { - annotate(changes, sourceFile, declaration, type, program, host, formatContext, preferences); + annotate(changes, importAdder, sourceFile, declaration, type, program, host); } } if (needParens) changes.insertNodeAfter(sourceFile, last(containingFunction.parameters), createToken(SyntaxKind.CloseParenToken)); @@ -269,13 +276,12 @@ namespace ts.codefix { function annotateSetAccessor( changes: textChanges.ChangeTracker, + importAdder: ImportAdder, sourceFile: SourceFile, setAccessorDeclaration: SetAccessorDeclaration, program: Program, host: LanguageServiceHost, cancellationToken: CancellationToken, - formatContext: formatting.FormatContext, - preferences: UserPreferences, ): void { const param = firstOrUndefined(setAccessorDeclaration.parameters); if (param && isIdentifier(setAccessorDeclaration.name) && isIdentifier(param.name)) { @@ -287,12 +293,12 @@ namespace ts.codefix { annotateJSDocParameters(changes, sourceFile, [{ declaration: param, type }], program, host); } else { - annotate(changes, sourceFile, param, type, program, host, formatContext, preferences); + annotate(changes, importAdder, sourceFile, param, type, program, host); } } } - function annotate(changes: textChanges.ChangeTracker, sourceFile: SourceFile, declaration: textChanges.TypeAnnotatable, type: Type, program: Program, host: LanguageServiceHost, formatContext: formatting.FormatContext, preferences: UserPreferences): void { + function annotate(changes: textChanges.ChangeTracker, importAdder: ImportAdder, sourceFile: SourceFile, declaration: textChanges.TypeAnnotatable, type: Type, program: Program, host: LanguageServiceHost): void { const typeNode = getTypeNodeIfAccessible(type, declaration, program, host); if (typeNode) { if (isInJSFile(sourceFile) && declaration.kind !== SyntaxKind.PropertySignature) { @@ -304,38 +310,25 @@ namespace ts.codefix { const typeTag = isGetAccessorDeclaration(declaration) ? createJSDocReturnTag(typeExpression, "") : createJSDocTypeTag(typeExpression, ""); addJSDocTags(changes, sourceFile, parent, [typeTag]); } - else if (!tryReplaceImportTypeNodeWithAutoImport(typeNode, changes, sourceFile, declaration, type, program, host, formatContext, preferences)) { + else if (!tryReplaceImportTypeNodeWithAutoImport(typeNode, declaration, type, sourceFile, changes, importAdder, getEmitScriptTarget(program.getCompilerOptions()))) { changes.tryInsertTypeAnnotation(sourceFile, declaration, typeNode); } } } - function tryReplaceImportTypeNodeWithAutoImport(typeNode: TypeNode, changes: textChanges.ChangeTracker, sourceFile: SourceFile, declaration: textChanges.TypeAnnotatable, type: Type, program: Program, host: LanguageServiceHost, formatContext: formatting.FormatContext, preferences: UserPreferences): boolean { - if (isLiteralImportTypeNode(typeNode) && typeNode.qualifier && type.symbol) { - // Replace 'import("./a").SomeType' with 'SomeType' and an actual import if possible - const moduleSymbol = find(type.symbol.declarations, d => !!d.getSourceFile().externalModuleIndicator)?.getSourceFile().symbol; - // Symbol for the left-most thing after the dot - if (moduleSymbol) { - const symbol = getFirstIdentifier(typeNode.qualifier).symbol; - const action = getImportCompletionAction( - symbol, - moduleSymbol, - sourceFile, - symbol.name, - host, - program, - formatContext, - declaration.pos, - preferences, - ); - if (action.codeAction.changes.length && changes.tryInsertTypeAnnotation(sourceFile, declaration, createTypeReferenceNode(typeNode.qualifier, typeNode.typeArguments))) { - for (const change of action.codeAction.changes) { - const file = sourceFile.fileName === change.fileName ? sourceFile : Debug.assertDefined(program.getSourceFile(change.fileName)); - changes.pushRaw(file, change); - } - return true; - } - } + function tryReplaceImportTypeNodeWithAutoImport( + typeNode: TypeNode, + declaration: textChanges.TypeAnnotatable, + type: Type, + sourceFile: SourceFile, + changes: textChanges.ChangeTracker, + importAdder: ImportAdder, + scriptTarget: ScriptTarget + ): boolean { + const importableReference = tryGetAutoImportableReferenceFromImportTypeNode(typeNode, type, scriptTarget); + if (importableReference && changes.tryInsertTypeAnnotation(sourceFile, declaration, importableReference.typeReference)) { + forEach(importableReference.symbols, s => importAdder.addImportFromExportedSymbol(s, /*usageIsTypeOnly*/ true)); + return true; } return false; } diff --git a/src/services/completions.ts b/src/services/completions.ts index fdbc01ce503df..e7e06cb7dfc71 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -40,8 +40,8 @@ namespace ts.Completions { return !!(origin.kind & SymbolOriginInfoKind.SymbolMember); } - function originIsExport(origin: SymbolOriginInfo): origin is SymbolOriginInfoExport { - return !!(origin.kind & SymbolOriginInfoKind.Export); + function originIsExport(origin: SymbolOriginInfo | undefined): origin is SymbolOriginInfoExport { + return !!(origin && origin.kind & SymbolOriginInfoKind.Export); } function originIsPromise(origin: SymbolOriginInfo): boolean { @@ -559,16 +559,6 @@ namespace ts.Completions { }) || { type: "none" }; } - function getSymbolName(symbol: Symbol, origin: SymbolOriginInfo | undefined, target: ScriptTarget): string { - return origin && originIsExport(origin) && ( - (origin.isDefaultExport && symbol.escapedName === InternalSymbolName.Default) || - (symbol.escapedName === InternalSymbolName.ExportEquals)) - // Name of "export default foo;" is "foo". Name of "export default 0" is the filename converted to camelCase. - ? firstDefined(symbol.declarations, d => isExportAssignment(d) && isIdentifier(d.expression) ? d.expression.text : undefined) - || codefix.moduleSymbolToValidIdentifier(origin.moduleSymbol, target) - : symbol.name; - } - export interface CompletionEntryIdentifier { name: string; source?: string; @@ -671,7 +661,7 @@ namespace ts.Completions { exportedSymbol, moduleSymbol, sourceFile, - getSymbolName(symbol, symbolOriginInfo, compilerOptions.target!), + getNameForExportedSymbol(symbol, compilerOptions.target!), host, program, formatContext, @@ -1632,7 +1622,7 @@ namespace ts.Completions { const origin: SymbolOriginInfoExport = { kind: SymbolOriginInfoKind.Export, moduleSymbol, isDefaultExport }; results.push({ symbol, - symbolName: getSymbolName(symbol, origin, target), + symbolName: getNameForExportedSymbol(symbol, target), origin, skipFilter, }); @@ -2392,7 +2382,7 @@ namespace ts.Completions { origin: SymbolOriginInfo | undefined, kind: CompletionKind, ): CompletionEntryDisplayNameForSymbol | undefined { - const name = getSymbolName(symbol, origin, target); + const name = originIsExport(origin) ? getNameForExportedSymbol(symbol, target) : symbol.name; if (name === undefined // If the symbol is external module, don't show it in the completion list // (i.e declare module "http" { const x; } | // <= request completion here, "http" should not be there) diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts index 56e0a0ae50ed6..995561c016b7d 100644 --- a/src/services/jsDoc.ts +++ b/src/services/jsDoc.ts @@ -251,7 +251,6 @@ namespace ts.JsDoc { * @param position The (character-indexed) position in the file where the check should * be performed. */ - export function getDocCommentTemplateAtPosition(newLine: string, sourceFile: SourceFile, position: number): TextInsertion | undefined { const tokenAtPos = getTokenAtPosition(sourceFile, position); const existingDocComment = findAncestor(tokenAtPos, isJSDoc); @@ -370,6 +369,11 @@ namespace ts.JsDoc { const parameters = isFunctionLike(be.right) ? be.right.parameters : emptyArray; return { commentOwner, parameters }; } + case SyntaxKind.PropertyDeclaration: + const init = (commentOwner as PropertyDeclaration).initializer; + if (init && (isFunctionExpression(init) || isArrowFunction(init))) { + return { commentOwner, parameters: init.parameters }; + } } } diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index 47b525771eda3..190e61fffcc3c 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -74,6 +74,7 @@ "codefixes/fixModuleAndTargetOptions.ts", "codefixes/fixExtendsInterfaceBecomesImplements.ts", "codefixes/fixForgottenThisPropertyAccess.ts", + "codefixes/fixInvalidJsxCharacters.ts", "codefixes/fixUnusedIdentifier.ts", "codefixes/fixUnreachableCode.ts", "codefixes/fixUnusedLabel.ts", diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 655d6d890bad5..d94106486446d 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -2748,5 +2748,14 @@ namespace ts { return isArray(valueOrArray) ? first(valueOrArray) : valueOrArray; } + export function getNameForExportedSymbol(symbol: Symbol, scriptTarget: ScriptTarget) { + if (symbol.escapedName === InternalSymbolName.ExportEquals || symbol.escapedName === InternalSymbolName.Default) { + // Name of "export default foo;" is "foo". Name of "export default 0" is the filename converted to camelCase. + return firstDefined(symbol.declarations, d => isExportAssignment(d) && isIdentifier(d.expression) ? d.expression.text : undefined) + || codefix.moduleSymbolToValidIdentifier(Debug.assertDefined(symbol.parent), scriptTarget); + } + return symbol.name; + } + // #endregion } diff --git a/src/testRunner/externalCompileRunner.ts b/src/testRunner/externalCompileRunner.ts index e42a9bc42cc28..91f77faaf0d64 100644 --- a/src/testRunner/externalCompileRunner.ts +++ b/src/testRunner/externalCompileRunner.ts @@ -58,9 +58,11 @@ namespace Harness { if (!fs.existsSync(submoduleDir)) { exec("git", ["clone", config.cloneUrl, directoryName], { cwd }); } - exec("git", ["reset", "HEAD", "--hard"], { cwd: submoduleDir }); - exec("git", ["clean", "-f"], { cwd: submoduleDir }); - exec("git", ["pull", "-f"], { cwd: submoduleDir }); + else { + exec("git", ["reset", "HEAD", "--hard"], { cwd: submoduleDir }); + exec("git", ["clean", "-f"], { cwd: submoduleDir }); + exec("git", ["pull", "-f"], { cwd: submoduleDir }); + } types = config.types; @@ -337,4 +339,4 @@ ${stderr.replace(/\r\n/g, "\n")}`; } return result; } -} \ No newline at end of file +} diff --git a/src/testRunner/tsconfig.json b/src/testRunner/tsconfig.json index 73ccca0bac2ef..909b2fe8c4ddc 100644 --- a/src/testRunner/tsconfig.json +++ b/src/testRunner/tsconfig.json @@ -149,6 +149,7 @@ "unittests/tsserver/declarationFileMaps.ts", "unittests/tsserver/documentRegistry.ts", "unittests/tsserver/duplicatePackages.ts", + "unittests/tsserver/dynamicFiles.ts", "unittests/tsserver/events/largeFileReferenced.ts", "unittests/tsserver/events/projectLanguageServiceState.ts", "unittests/tsserver/events/projectLoading.ts", @@ -189,7 +190,6 @@ "unittests/tsserver/typeOnlyImportChains.ts", "unittests/tsserver/typeReferenceDirectives.ts", "unittests/tsserver/typingsInstaller.ts", - "unittests/tsserver/untitledFiles.ts", "unittests/tsserver/versionCache.ts", "unittests/tsserver/watchEnvironment.ts" ] diff --git a/src/testRunner/unittests/programApi.ts b/src/testRunner/unittests/programApi.ts index 5f5251afaf253..3b71fea7238c1 100644 --- a/src/testRunner/unittests/programApi.ts +++ b/src/testRunner/unittests/programApi.ts @@ -178,4 +178,19 @@ namespace ts { assert.isNotNaN(program.getIdentifierCount()); }); }); + + describe("unittests:: programApi:: Program.getDiagnosticsProducingTypeChecker / Program.getSemanticDiagnostics", () => { + it("getSymbolAtLocation does not cause additional error to be added on module resolution failure", () => { + const main = new documents.TextDocument("/main.ts", "import \"./module\";"); + const mod = new documents.TextDocument("/module.d.ts", "declare const foo: any;"); + + const fs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false, { documents: [main, mod], cwd: "/" }); + const program = createProgram(["/main.ts"], {}, new fakes.CompilerHost(fs, { newLine: NewLineKind.LineFeed })); + + const sourceFile = program.getSourceFile("main.ts")!; + const typeChecker = program.getDiagnosticsProducingTypeChecker(); + typeChecker.getSymbolAtLocation((sourceFile.statements[0] as ImportDeclaration).moduleSpecifier); + assert.isEmpty(program.getSemanticDiagnostics()); + }); + }); } diff --git a/src/testRunner/unittests/tsserver/dynamicFiles.ts b/src/testRunner/unittests/tsserver/dynamicFiles.ts new file mode 100644 index 0000000000000..92f495412cc3e --- /dev/null +++ b/src/testRunner/unittests/tsserver/dynamicFiles.ts @@ -0,0 +1,214 @@ +namespace ts.projectSystem { + export function verifyDynamic(service: server.ProjectService, path: string) { + const info = Debug.assertDefined(service.filenameToScriptInfo.get(path), `Expected ${path} in :: ${JSON.stringify(arrayFrom(service.filenameToScriptInfo.entries(), ([key, f]) => ({ key, fileName: f.fileName, path: f.path })))}`); + assert.isTrue(info.isDynamic); + } + + function verifyPathRecognizedAsDynamic(path: string) { + const file: File = { + path, + content: `/// +/// +var x = 10;` + }; + const host = createServerHost([libFile]); + const projectService = createProjectService(host); + projectService.openClientFile(file.path, file.content); + verifyDynamic(projectService, projectService.toPath(file.path)); + + projectService.checkNumberOfProjects({ inferredProjects: 1 }); + const project = projectService.inferredProjects[0]; + checkProjectRootFiles(project, [file.path]); + checkProjectActualFiles(project, [file.path, libFile.path]); + } + + describe("unittests:: tsserver:: dynamicFiles:: Untitled files", () => { + const untitledFile = "untitled:^Untitled-1"; + it("Can convert positions to locations", () => { + const aTs: File = { path: "/proj/a.ts", content: "" }; + const tsconfig: File = { path: "/proj/tsconfig.json", content: "{}" }; + const session = createSession(createServerHost([aTs, tsconfig]), { useInferredProjectPerProjectRoot: true }); + + openFilesForSession([aTs], session); + + executeSessionRequestNoResponse(session, protocol.CommandTypes.Open, { + file: untitledFile, + fileContent: `/// \nlet foo = 1;\nfooo/**/`, + scriptKindName: "TS", + projectRootPath: "/proj", + }); + verifyDynamic(session.getProjectService(), `/proj/untitled:^untitled-1`); + const response = executeSessionRequest(session, protocol.CommandTypes.GetCodeFixes, { + file: untitledFile, + startLine: 3, + startOffset: 1, + endLine: 3, + endOffset: 5, + errorCodes: [Diagnostics.Cannot_find_name_0_Did_you_mean_1.code], + }); + assert.deepEqual(response, [ + { + description: "Change spelling to 'foo'", + fixName: "spelling", + changes: [{ + fileName: untitledFile, + textChanges: [{ + start: { line: 3, offset: 1 }, + end: { line: 3, offset: 5 }, + newText: "foo", + }], + }], + commands: undefined, + fixId: undefined, + fixAllDescription: undefined + }, + ]); + }); + + it("opening untitled files", () => { + const config: File = { + path: `${tscWatch.projectRoot}/tsconfig.json`, + content: "{}" + }; + const host = createServerHost([config, libFile], { useCaseSensitiveFileNames: true, currentDirectory: tscWatch.projectRoot }); + const service = createProjectService(host); + service.openClientFile(untitledFile, "const x = 10;", /*scriptKind*/ undefined, tscWatch.projectRoot); + checkNumberOfProjects(service, { inferredProjects: 1 }); + checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); + verifyDynamic(service, `${tscWatch.projectRoot}/${untitledFile}`); + + const untitled: File = { + path: `${tscWatch.projectRoot}/Untitled-1.ts`, + content: "const x = 10;" + }; + host.writeFile(untitled.path, untitled.content); + host.checkTimeoutQueueLength(0); + service.openClientFile(untitled.path, untitled.content, /*scriptKind*/ undefined, tscWatch.projectRoot); + checkNumberOfProjects(service, { configuredProjects: 1, inferredProjects: 1 }); + checkProjectActualFiles(service.configuredProjects.get(config.path)!, [untitled.path, libFile.path, config.path]); + checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); + + service.closeClientFile(untitledFile); + checkProjectActualFiles(service.configuredProjects.get(config.path)!, [untitled.path, libFile.path, config.path]); + checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); + + service.openClientFile(untitledFile, "const x = 10;", /*scriptKind*/ undefined, tscWatch.projectRoot); + verifyDynamic(service, `${tscWatch.projectRoot}/${untitledFile}`); + checkProjectActualFiles(service.configuredProjects.get(config.path)!, [untitled.path, libFile.path, config.path]); + checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); + }); + }); + + describe("unittests:: tsserver:: dynamicFiles:: ", () => { + it("dynamic file without external project", () => { + const file: File = { + path: "^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js", + content: "var x = 10;" + }; + const host = createServerHost([libFile], { useCaseSensitiveFileNames: true }); + const projectService = createProjectService(host); + projectService.setCompilerOptionsForInferredProjects({ + module: ModuleKind.CommonJS, + allowJs: true, + allowSyntheticDefaultImports: true, + allowNonTsExtensions: true + }); + projectService.openClientFile(file.path, "var x = 10;"); + + projectService.checkNumberOfProjects({ inferredProjects: 1 }); + const project = projectService.inferredProjects[0]; + checkProjectRootFiles(project, [file.path]); + checkProjectActualFiles(project, [file.path, libFile.path]); + verifyDynamic(projectService, `/${file.path}`); + + assert.strictEqual(projectService.ensureDefaultProjectForFile(server.toNormalizedPath(file.path)), project); + const indexOfX = file.content.indexOf("x"); + assert.deepEqual(project.getLanguageService(/*ensureSynchronized*/ true).getQuickInfoAtPosition(file.path, indexOfX), { + kind: ScriptElementKind.variableElement, + kindModifiers: "", + textSpan: { start: indexOfX, length: 1 }, + displayParts: [ + { text: "var", kind: "keyword" }, + { text: " ", kind: "space" }, + { text: "x", kind: "localName" }, + { text: ":", kind: "punctuation" }, + { text: " ", kind: "space" }, + { text: "number", kind: "keyword" } + ], + documentation: [], + tags: undefined, + }); + }); + + it("dynamic file with reference paths without external project", () => { + verifyPathRecognizedAsDynamic("^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js"); + }); + + describe("dynamic file with projectRootPath", () => { + const file: File = { + path: "^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js", + content: "var x = 10;" + }; + const configFile: File = { + path: `${tscWatch.projectRoot}/tsconfig.json`, + content: "{}" + }; + const configProjectFile: File = { + path: `${tscWatch.projectRoot}/a.ts`, + content: "let y = 10;" + }; + it("with useInferredProjectPerProjectRoot", () => { + const host = createServerHost([libFile, configFile, configProjectFile], { useCaseSensitiveFileNames: true }); + const session = createSession(host, { useInferredProjectPerProjectRoot: true }); + openFilesForSession([{ file: file.path, projectRootPath: tscWatch.projectRoot }], session); + + const projectService = session.getProjectService(); + checkNumberOfProjects(projectService, { inferredProjects: 1 }); + checkProjectActualFiles(projectService.inferredProjects[0], [file.path, libFile.path]); + verifyDynamic(projectService, `${tscWatch.projectRoot}/${file.path}`); + + session.executeCommandSeq({ + command: protocol.CommandTypes.GetOutliningSpans, + arguments: { + file: file.path + } + }); + + // Without project root + const file2Path = file.path.replace("#1", "#2"); + projectService.openClientFile(file2Path, file.content); + checkNumberOfProjects(projectService, { inferredProjects: 2 }); + checkProjectActualFiles(projectService.inferredProjects[0], [file.path, libFile.path]); + checkProjectActualFiles(projectService.inferredProjects[1], [file2Path, libFile.path]); + }); + + it("fails when useInferredProjectPerProjectRoot is false", () => { + const host = createServerHost([libFile, configFile, configProjectFile], { useCaseSensitiveFileNames: true }); + const projectService = createProjectService(host); + try { + projectService.openClientFile(file.path, file.content, /*scriptKind*/ undefined, tscWatch.projectRoot); + } + catch (e) { + assert.strictEqual( + e.message.replace(/\r?\n/, "\n"), + `Debug Failure. False expression: \nVerbose Debug Information: {"fileName":"^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js","currentDirectory":"/user/username/projects/myproject","hostCurrentDirectory":"/","openKeys":[]}\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath.` + ); + } + const file2Path = file.path.replace("#1", "#2"); + projectService.openClientFile(file2Path, file.content); + projectService.checkNumberOfProjects({ inferredProjects: 1 }); + checkProjectActualFiles(projectService.inferredProjects[0], [file2Path, libFile.path]); + }); + }); + + describe("verify accepts known schemas as dynamic file", () => { + it("walkThroughSnippet", () => { + verifyPathRecognizedAsDynamic("walkThroughSnippet:/usr/share/code/resources/app/out/vs/workbench/contrib/welcome/walkThrough/browser/editor/^vs_code_editor_walkthrough.md#1.ts"); + }); + + it("untitled", () => { + verifyPathRecognizedAsDynamic("untitled:/Users/matb/projects/san/^newFile.ts"); + }); + }); + }); +} diff --git a/src/testRunner/unittests/tsserver/projects.ts b/src/testRunner/unittests/tsserver/projects.ts index ae2573852684e..97f9343f983b8 100644 --- a/src/testRunner/unittests/tsserver/projects.ts +++ b/src/testRunner/unittests/tsserver/projects.ts @@ -1075,121 +1075,6 @@ namespace ts.projectSystem { assert.equal(options.outDir, "C:/a/b", ""); }); - it("dynamic file without external project", () => { - const file: File = { - path: "^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js", - content: "var x = 10;" - }; - const host = createServerHost([libFile], { useCaseSensitiveFileNames: true }); - const projectService = createProjectService(host); - projectService.setCompilerOptionsForInferredProjects({ - module: ModuleKind.CommonJS, - allowJs: true, - allowSyntheticDefaultImports: true, - allowNonTsExtensions: true - }); - projectService.openClientFile(file.path, "var x = 10;"); - - projectService.checkNumberOfProjects({ inferredProjects: 1 }); - const project = projectService.inferredProjects[0]; - checkProjectRootFiles(project, [file.path]); - checkProjectActualFiles(project, [file.path, libFile.path]); - verifyDynamic(projectService, `/${file.path}`); - - assert.strictEqual(projectService.ensureDefaultProjectForFile(server.toNormalizedPath(file.path)), project); - const indexOfX = file.content.indexOf("x"); - assert.deepEqual(project.getLanguageService(/*ensureSynchronized*/ true).getQuickInfoAtPosition(file.path, indexOfX), { - kind: ScriptElementKind.variableElement, - kindModifiers: "", - textSpan: { start: indexOfX, length: 1 }, - displayParts: [ - { text: "var", kind: "keyword" }, - { text: " ", kind: "space" }, - { text: "x", kind: "localName" }, - { text: ":", kind: "punctuation" }, - { text: " ", kind: "space" }, - { text: "number", kind: "keyword" } - ], - documentation: [], - tags: undefined, - }); - }); - - it("dynamic file with reference paths without external project", () => { - const file: File = { - path: "^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js", - content: `/// -/// -var x = 10;` - }; - const host = createServerHost([libFile]); - const projectService = createProjectService(host); - projectService.openClientFile(file.path, file.content); - verifyDynamic(projectService, projectService.toPath(file.path)); - - projectService.checkNumberOfProjects({ inferredProjects: 1 }); - const project = projectService.inferredProjects[0]; - checkProjectRootFiles(project, [file.path]); - checkProjectActualFiles(project, [file.path, libFile.path]); - }); - - describe("dynamic file with projectRootPath", () => { - const file: File = { - path: "^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js", - content: "var x = 10;" - }; - const configFile: File = { - path: `${tscWatch.projectRoot}/tsconfig.json`, - content: "{}" - }; - const configProjectFile: File = { - path: `${tscWatch.projectRoot}/a.ts`, - content: "let y = 10;" - }; - it("with useInferredProjectPerProjectRoot", () => { - const host = createServerHost([libFile, configFile, configProjectFile], { useCaseSensitiveFileNames: true }); - const session = createSession(host, { useInferredProjectPerProjectRoot: true }); - openFilesForSession([{ file: file.path, projectRootPath: tscWatch.projectRoot }], session); - - const projectService = session.getProjectService(); - checkNumberOfProjects(projectService, { inferredProjects: 1 }); - checkProjectActualFiles(projectService.inferredProjects[0], [file.path, libFile.path]); - verifyDynamic(projectService, `${tscWatch.projectRoot}/${file.path}`); - - session.executeCommandSeq({ - command: protocol.CommandTypes.GetOutliningSpans, - arguments: { - file: file.path - } - }); - - // Without project root - const file2Path = file.path.replace("#1", "#2"); - projectService.openClientFile(file2Path, file.content); - checkNumberOfProjects(projectService, { inferredProjects: 2 }); - checkProjectActualFiles(projectService.inferredProjects[0], [file.path, libFile.path]); - checkProjectActualFiles(projectService.inferredProjects[1], [file2Path, libFile.path]); - }); - - it("fails when useInferredProjectPerProjectRoot is false", () => { - const host = createServerHost([libFile, configFile, configProjectFile], { useCaseSensitiveFileNames: true }); - const projectService = createProjectService(host); - try { - projectService.openClientFile(file.path, file.content, /*scriptKind*/ undefined, tscWatch.projectRoot); - } - catch (e) { - assert.strictEqual( - e.message.replace(/\r?\n/, "\n"), - `Debug Failure. False expression: \nVerbose Debug Information: {"fileName":"^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js","currentDirectory":"/user/username/projects/myproject","hostCurrentDirectory":"/","openKeys":[]}\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath.` - ); - } - const file2Path = file.path.replace("#1", "#2"); - projectService.openClientFile(file2Path, file.content); - projectService.checkNumberOfProjects({ inferredProjects: 1 }); - checkProjectActualFiles(projectService.inferredProjects[0], [file2Path, libFile.path]); - }); - }); - it("files opened, closed affecting multiple projects", () => { const file: File = { path: "/a/b/projects/config/file.ts", diff --git a/src/testRunner/unittests/tsserver/untitledFiles.ts b/src/testRunner/unittests/tsserver/untitledFiles.ts deleted file mode 100644 index 6ba8da3cf398f..0000000000000 --- a/src/testRunner/unittests/tsserver/untitledFiles.ts +++ /dev/null @@ -1,83 +0,0 @@ -namespace ts.projectSystem { - export function verifyDynamic(service: server.ProjectService, path: string) { - const info = Debug.assertDefined(service.filenameToScriptInfo.get(path), `Expected ${path} in :: ${JSON.stringify(arrayFrom(service.filenameToScriptInfo.entries(), ([key, f]) => ({ key, fileName: f.fileName, path: f.path })))}`); - assert.isTrue(info.isDynamic); - } - - describe("unittests:: tsserver:: Untitled files", () => { - const untitledFile = "untitled:^Untitled-1"; - it("Can convert positions to locations", () => { - const aTs: File = { path: "/proj/a.ts", content: "" }; - const tsconfig: File = { path: "/proj/tsconfig.json", content: "{}" }; - const session = createSession(createServerHost([aTs, tsconfig]), { useInferredProjectPerProjectRoot: true }); - - openFilesForSession([aTs], session); - - executeSessionRequestNoResponse(session, protocol.CommandTypes.Open, { - file: untitledFile, - fileContent: `/// \nlet foo = 1;\nfooo/**/`, - scriptKindName: "TS", - projectRootPath: "/proj", - }); - verifyDynamic(session.getProjectService(), `/proj/untitled:^untitled-1`); - const response = executeSessionRequest(session, protocol.CommandTypes.GetCodeFixes, { - file: untitledFile, - startLine: 3, - startOffset: 1, - endLine: 3, - endOffset: 5, - errorCodes: [Diagnostics.Cannot_find_name_0_Did_you_mean_1.code], - }); - assert.deepEqual(response, [ - { - description: "Change spelling to 'foo'", - fixName: "spelling", - changes: [{ - fileName: untitledFile, - textChanges: [{ - start: { line: 3, offset: 1 }, - end: { line: 3, offset: 5 }, - newText: "foo", - }], - }], - commands: undefined, - fixId: undefined, - fixAllDescription: undefined - }, - ]); - }); - - it("opening untitled files", () => { - const config: File = { - path: `${tscWatch.projectRoot}/tsconfig.json`, - content: "{}" - }; - const host = createServerHost([config, libFile], { useCaseSensitiveFileNames: true, currentDirectory: tscWatch.projectRoot }); - const service = createProjectService(host); - service.openClientFile(untitledFile, "const x = 10;", /*scriptKind*/ undefined, tscWatch.projectRoot); - checkNumberOfProjects(service, { inferredProjects: 1 }); - checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); - verifyDynamic(service, `${tscWatch.projectRoot}/${untitledFile}`); - - const untitled: File = { - path: `${tscWatch.projectRoot}/Untitled-1.ts`, - content: "const x = 10;" - }; - host.writeFile(untitled.path, untitled.content); - host.checkTimeoutQueueLength(0); - service.openClientFile(untitled.path, untitled.content, /*scriptKind*/ undefined, tscWatch.projectRoot); - checkNumberOfProjects(service, { configuredProjects: 1, inferredProjects: 1 }); - checkProjectActualFiles(service.configuredProjects.get(config.path)!, [untitled.path, libFile.path, config.path]); - checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); - - service.closeClientFile(untitledFile); - checkProjectActualFiles(service.configuredProjects.get(config.path)!, [untitled.path, libFile.path, config.path]); - checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); - - service.openClientFile(untitledFile, "const x = 10;", /*scriptKind*/ undefined, tscWatch.projectRoot); - verifyDynamic(service, `${tscWatch.projectRoot}/${untitledFile}`); - checkProjectActualFiles(service.configuredProjects.get(config.path)!, [untitled.path, libFile.path, config.path]); - checkProjectActualFiles(service.inferredProjects[0], [untitledFile, libFile.path]); - }); - }); -} diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index dbc336fccce23..2d120de005258 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -14,7 +14,7 @@ and limitations under the License. ***************************************************************************** */ declare namespace ts { - const versionMajorMinor = "3.8"; + const versionMajorMinor = "3.9"; /** The version of the TypeScript compiler release */ const version: string; /** diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 8b600f90fdd41..8484fbf9edf54 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -14,7 +14,7 @@ and limitations under the License. ***************************************************************************** */ declare namespace ts { - const versionMajorMinor = "3.8"; + const versionMajorMinor = "3.9"; /** The version of the TypeScript compiler release */ const version: string; /** diff --git a/tests/baselines/reference/argumentExpressionContextualTyping.types b/tests/baselines/reference/argumentExpressionContextualTyping.types index 46ef3a3857027..a67b0b5e609f4 100644 --- a/tests/baselines/reference/argumentExpressionContextualTyping.types +++ b/tests/baselines/reference/argumentExpressionContextualTyping.types @@ -122,7 +122,7 @@ baz(array); // Error baz(["string", 1, true, ...array]); // Error >baz(["string", 1, true, ...array]) : void >baz : (x: [string, number, boolean]) => void ->["string", 1, true, ...array] : (string | number | boolean)[] +>["string", 1, true, ...array] : [string, number, true, ...(string | number | boolean)[]] >"string" : "string" >1 : 1 >true : true diff --git a/tests/baselines/reference/arrayAssignmentTest3.types b/tests/baselines/reference/arrayAssignmentTest3.types index ec1b5de51b27d..df87d9d7fc481 100644 --- a/tests/baselines/reference/arrayAssignmentTest3.types +++ b/tests/baselines/reference/arrayAssignmentTest3.types @@ -17,8 +17,8 @@ class a { var xx = new a(null, 7, new B()); ->xx : any ->new a(null, 7, new B()) : any +>xx : a +>new a(null, 7, new B()) : a >a : typeof a >null : null >7 : 7 diff --git a/tests/baselines/reference/baseCheck.errors.txt b/tests/baselines/reference/baseCheck.errors.txt index 67358a1033834..634ce2b66a647 100644 --- a/tests/baselines/reference/baseCheck.errors.txt +++ b/tests/baselines/reference/baseCheck.errors.txt @@ -1,15 +1,13 @@ tests/cases/compiler/baseCheck.ts(9,18): error TS2552: Cannot find name 'loc'. Did you mean 'ELoc'? tests/cases/compiler/baseCheck.ts(17,53): error TS2554: Expected 2 arguments, but got 1. -tests/cases/compiler/baseCheck.ts(17,59): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. tests/cases/compiler/baseCheck.ts(18,62): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. tests/cases/compiler/baseCheck.ts(19,59): error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. -tests/cases/compiler/baseCheck.ts(19,68): error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. tests/cases/compiler/baseCheck.ts(22,9): error TS2304: Cannot find name 'x'. tests/cases/compiler/baseCheck.ts(23,7): error TS2304: Cannot find name 'x'. tests/cases/compiler/baseCheck.ts(26,9): error TS2304: Cannot find name 'x'. -==== tests/cases/compiler/baseCheck.ts (9 errors) ==== +==== tests/cases/compiler/baseCheck.ts (7 errors) ==== class C { constructor(x: number, y: number) { } } class ELoc extends C { constructor(x: number) { @@ -33,16 +31,12 @@ tests/cases/compiler/baseCheck.ts(26,9): error TS2304: Cannot find name 'x'. ~~~~~~~~~~~~~ !!! error TS2554: Expected 2 arguments, but got 1. !!! related TS6210 tests/cases/compiler/baseCheck.ts:1:34: An argument for 'y' was not provided. - ~~~~ -!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. class E extends C { constructor(public z: number) { super(0, this.z) } } ~~~~ !!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. class F extends C { constructor(public z: number) { super("hello", this.z) } } // first param type ~~~~~~~ !!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. - ~~~~ -!!! error TS17009: 'super' must be called before accessing 'this' in the constructor of a derived class. function f() { if (x<10) { diff --git a/tests/baselines/reference/betterErrorForAccidentalCall.errors.txt b/tests/baselines/reference/betterErrorForAccidentalCall.errors.txt index 46b359017e0bd..7575fa2ca7e9e 100644 --- a/tests/baselines/reference/betterErrorForAccidentalCall.errors.txt +++ b/tests/baselines/reference/betterErrorForAccidentalCall.errors.txt @@ -27,20 +27,20 @@ tests/cases/compiler/betterErrorForAccidentalCall.ts(13,1): error TS2349: This e ~~~~~ !!! error TS2349: This expression is not callable. !!! error TS2349: Type 'String' has no call signatures. -!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:7:1: It is highly likely that you are missing a semicolon. +!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:7:1: Are you missing a semicolon? (1 as number).toString(); foo() ~~~~~ !!! error TS2349: This expression is not callable. !!! error TS2349: Type 'String' has no call signatures. -!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:10:1: It is highly likely that you are missing a semicolon. +!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:10:1: Are you missing a semicolon? (1 + 2).toString(); foo() ~~~~~ !!! error TS2349: This expression is not callable. !!! error TS2349: Type 'String' has no call signatures. -!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:13:1: It is highly likely that you are missing a semicolon. +!!! related TS2734 tests/cases/compiler/betterErrorForAccidentalCall.ts:13:1: Are you missing a semicolon? (1).toString(); \ No newline at end of file diff --git a/tests/baselines/reference/bigintWithLib.types b/tests/baselines/reference/bigintWithLib.types index a1d79119cf6e5..6715dc70c3b2b 100644 --- a/tests/baselines/reference/bigintWithLib.types +++ b/tests/baselines/reference/bigintWithLib.types @@ -94,9 +94,9 @@ bigIntArray = new BigInt64Array([1n, 2n, 3n]); >3n : 3n bigIntArray = new BigInt64Array([1, 2, 3]); // should error ->bigIntArray = new BigInt64Array([1, 2, 3]) : any +>bigIntArray = new BigInt64Array([1, 2, 3]) : BigInt64Array >bigIntArray : BigInt64Array ->new BigInt64Array([1, 2, 3]) : any +>new BigInt64Array([1, 2, 3]) : BigInt64Array >BigInt64Array : BigInt64ArrayConstructor >[1, 2, 3] : number[] >1 : 1 @@ -174,9 +174,9 @@ bigUintArray = new BigUint64Array([1n, 2n, 3n]); >3n : 3n bigUintArray = new BigUint64Array([1, 2, 3]); // should error ->bigUintArray = new BigUint64Array([1, 2, 3]) : any +>bigUintArray = new BigUint64Array([1, 2, 3]) : BigUint64Array >bigUintArray : BigUint64Array ->new BigUint64Array([1, 2, 3]) : any +>new BigUint64Array([1, 2, 3]) : BigUint64Array >BigUint64Array : BigUint64ArrayConstructor >[1, 2, 3] : number[] >1 : 1 diff --git a/tests/baselines/reference/bigintWithoutLib.types b/tests/baselines/reference/bigintWithoutLib.types index 6881b53b7da12..24470aa45db6e 100644 --- a/tests/baselines/reference/bigintWithoutLib.types +++ b/tests/baselines/reference/bigintWithoutLib.types @@ -56,7 +56,7 @@ let stringVal: string = bigintVal.toString(); // should not error - bigintVal in >toString : () => string stringVal = bigintVal.toString(2); // should error - bigintVal inferred as {} ->stringVal = bigintVal.toString(2) : any +>stringVal = bigintVal.toString(2) : string >stringVal : string >bigintVal.toString(2) : string >bigintVal.toString : () => string diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types index ca53002f949f7..28a718cb328be 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types @@ -16,7 +16,7 @@ function foo(a: number) { >foo : { (): void; (): void; } foo(10); // not ok ->foo(10) : any +>foo(10) : void >foo : { (): void; (): void; } >10 : 10 } @@ -29,12 +29,12 @@ function foo(a: number) { >foo : { (): void; (): void; } foo(10); // not ok ->foo(10) : any +>foo(10) : void >foo : { (): void; (): void; } >10 : 10 } foo(10); // not ok ->foo(10) : any +>foo(10) : void >foo : { (): void; (): void; } >10 : 10 diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types index 982ace6809c46..967ec902a16e4 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types @@ -16,7 +16,7 @@ function foo(a: number) { >foo : { (): void; (): void; } foo(10); // not ok ->foo(10) : any +>foo(10) : void >foo : { (): void; (): void; } >10 : 10 } @@ -29,12 +29,12 @@ function foo(a: number) { >foo : { (): void; (): void; } foo(10);// not ok ->foo(10) : any +>foo(10) : void >foo : { (): void; (): void; } >10 : 10 } foo(10); // not ok ->foo(10) : any +>foo(10) : void >foo : { (): void; (): void; } >10 : 10 diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types index 9d5d0e19ebb64..0ce7d67b618f2 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types @@ -9,15 +9,15 @@ function f(x: T, y: U): T { return null; } >null : null var r1 = f(1, ''); ->r1 : any ->f(1, '') : any +>r1 : number +>f(1, '') : number >f : (x: T, y: U) => T >1 : 1 >'' : "" var r1b = f(1, ''); ->r1b : any ->f(1, '') : any +>r1b : number +>f(1, '') : number >f : (x: T, y: U) => T >1 : 1 >'' : "" @@ -30,15 +30,15 @@ var f2 = (x: T, y: U): T => { return null; } >null : null var r2 = f2(1, ''); ->r2 : any ->f2(1, '') : any +>r2 : number +>f2(1, '') : number >f2 : (x: T, y: U) => T >1 : 1 >'' : "" var r2b = f2(1, ''); ->r2b : any ->f2(1, '') : any +>r2b : number +>f2(1, '') : number >f2 : (x: T, y: U) => T >1 : 1 >'' : "" @@ -49,15 +49,15 @@ var f3: { (x: T, y: U): T; } >y : U var r3 = f3(1, ''); ->r3 : any ->f3(1, '') : any +>r3 : number +>f3(1, '') : number >f3 : (x: T, y: U) => T >1 : 1 >'' : "" var r3b = f3(1, ''); ->r3b : any ->f3(1, '') : any +>r3b : number +>f3(1, '') : number >f3 : (x: T, y: U) => T >1 : 1 >'' : "" @@ -75,8 +75,8 @@ class C { } } var r4 = (new C()).f(1, ''); ->r4 : any ->(new C()).f(1, '') : any +>r4 : number +>(new C()).f(1, '') : number >(new C()).f : (x: T, y: U) => T >(new C()) : C >new C() : C @@ -86,8 +86,8 @@ var r4 = (new C()).f(1, ''); >'' : "" var r4b = (new C()).f(1, ''); ->r4b : any ->(new C()).f(1, '') : any +>r4b : number +>(new C()).f(1, '') : number >(new C()).f : (x: T, y: U) => T >(new C()) : C >new C() : C @@ -106,8 +106,8 @@ var i: I; >i : I var r5 = i.f(1, ''); ->r5 : any ->i.f(1, '') : any +>r5 : number +>i.f(1, '') : number >i.f : (x: T, y: U) => T >i : I >f : (x: T, y: U) => T @@ -115,8 +115,8 @@ var r5 = i.f(1, ''); >'' : "" var r5b = i.f(1, ''); ->r5b : any ->i.f(1, '') : any +>r5b : number +>i.f(1, '') : number >i.f : (x: T, y: U) => T >i : I >f : (x: T, y: U) => T diff --git a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types index da2b23747a5ae..f0d875055337c 100644 --- a/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types +++ b/tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.types @@ -19,7 +19,7 @@ function foo() { >"expects boolean instead of string" : "expects boolean instead of string" test(true); // should error - string expected ->test(true) : any +>test(true) : void >test : I1 >true : true } diff --git a/tests/baselines/reference/callWithMissingVoid.types b/tests/baselines/reference/callWithMissingVoid.types index 4fbcbbf5d1b8f..6f9638daae567 100644 --- a/tests/baselines/reference/callWithMissingVoid.types +++ b/tests/baselines/reference/callWithMissingVoid.types @@ -99,7 +99,7 @@ new MyPromise(resolve => resolve()); // no error new MyPromise(resolve => resolve()); // error, `any` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise >MyPromise : typeof MyPromise ->resolve => resolve() : (resolve: (value: any) => void) => any +>resolve => resolve() : (resolve: (value: any) => void) => void >resolve : (value: any) => void >resolve() : void >resolve : (value: any) => void @@ -107,7 +107,7 @@ new MyPromise(resolve => resolve()); // error, `any` arguments cannot be om new MyPromise(resolve => resolve()); // error, `unknown` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise >MyPromise : typeof MyPromise ->resolve => resolve() : (resolve: (value: unknown) => void) => any +>resolve => resolve() : (resolve: (value: unknown) => void) => void >resolve : (value: unknown) => void >resolve() : void >resolve : (value: unknown) => void @@ -115,7 +115,7 @@ new MyPromise(resolve => resolve()); // error, `unknown` arguments cann new MyPromise(resolve => resolve()); // error, `never` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise >MyPromise : typeof MyPromise ->resolve => resolve() : (resolve: (value: never) => void) => any +>resolve => resolve() : (resolve: (value: never) => void) => void >resolve : (value: never) => void >resolve() : void >resolve : (value: never) => void @@ -234,7 +234,7 @@ declare function call( >args : TS call((x: number, y: number) => x + y) // error ->call((x: number, y: number) => x + y) : any +>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 diff --git a/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types b/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types index 29d4ea5ec4b22..557c48e49e30b 100644 --- a/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types +++ b/tests/baselines/reference/callWithWrongNumberOfTypeArguments.types @@ -3,7 +3,7 @@ function f() { } >f : () => void f(); ->f() : any +>f() : void >f : () => void f(); @@ -11,6 +11,6 @@ f(); >f : () => void f(); ->f() : any +>f() : void >f : () => void diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.errors.txt b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.errors.txt index 2e39f19d86ad3..777130d8893b6 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.errors.txt +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.errors.txt @@ -1,7 +1,8 @@ tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts(19,64): error TS2741: Property 'z' is missing in type 'B' but required in type 'C'. +tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts(19,81): error TS2739: Type 'A' is missing the following properties from type 'C': z, y -==== tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts (1 errors) ==== +==== tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts (2 errors) ==== class Chain { constructor(public value: T) { } then(cb: (x: T) => S): Chain { @@ -24,4 +25,7 @@ tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParamete ~~~~~ !!! error TS2741: Property 'z' is missing in type 'B' but required in type 'C'. !!! related TS2728 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts:15:5: 'z' is declared here. +!!! related TS6502 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts:3:27: The expected type comes from the return type of this signature. + ~~~~~ +!!! error TS2739: Type 'A' is missing the following properties from type 'C': z, y !!! related TS6502 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts:3:27: The expected type comes from the return type of this signature. \ No newline at end of file diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.symbols b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.symbols index c4a3f7b5f4d77..164005d035c32 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.symbols +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.symbols @@ -46,6 +46,7 @@ class C extends B { // Ok to go down the chain, but error to try to climb back up (new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then(b => new A); +>(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then : Symbol(Chain.then, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 1, 36)) >(new Chain(new A)).then(a => new B).then(b => new C).then : Symbol(Chain.then, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 1, 36)) >(new Chain(new A)).then(a => new B).then : Symbol(Chain.then, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 1, 36)) >(new Chain(new A)).then : Symbol(Chain.then, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 1, 36)) @@ -60,6 +61,7 @@ class C extends B { >then : Symbol(Chain.then, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 1, 36)) >c : Symbol(c, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 18, 58)) >B : Symbol(B, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 9, 1)) +>then : Symbol(Chain.then, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 1, 36)) >b : Symbol(b, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 18, 75)) >A : Symbol(A, Decl(chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts, 5, 1)) diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types index 3716b9b56f1d5..d6712329fc42f 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types @@ -38,9 +38,9 @@ class C extends B { // Ok to go down the chain, but error to try to climb back up (new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then(b => new A); ->(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then(b => new A) : any ->(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then : any ->(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B) : any +>(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 @@ -66,9 +66,9 @@ class C extends B { >c : C >new B : B >B : typeof B ->then : any ->b => new A : (b: any) => A ->b : any +>then : (cb: (x: C) => S) => Chain +>b => new A : (b: C) => A +>b : C >new A : A >A : typeof A diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types index 59627a5f620df..91b0d4fcb37cd 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types @@ -18,7 +18,7 @@ class Chain { // Ok to go down the chain, but error to climb up the chain (new Chain(t)).then(tt => s).then(ss => t); ->(new Chain(t)).then(tt => s).then(ss => t) : any +>(new Chain(t)).then(tt => s).then(ss => t) : Chain >(new Chain(t)).then(tt => s).then : (cb: (x: S) => S) => Chain >(new Chain(t)).then(tt => s) : Chain >(new Chain(t)).then : (cb: (x: T) => S) => Chain @@ -37,7 +37,7 @@ class Chain { // But error to try to climb up the chain (new Chain(s)).then(ss => t); ->(new Chain(s)).then(ss => t) : any +>(new Chain(s)).then(ss => t) : Chain >(new Chain(s)).then : (cb: (x: S) => S) => Chain >(new Chain(s)) : Chain >new Chain(s) : Chain diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt index 3d1051fdfd441..a94d8f7a3ba36 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.errors.txt @@ -4,10 +4,11 @@ tests/cases/conformance/jsdoc/0.js(11,20): error TS2322: Type '"lol"' is not ass tests/cases/conformance/jsdoc/0.js(13,15): error TS2322: Type '"0"' is not assignable to type 'number'. tests/cases/conformance/jsdoc/0.js(15,3): error TS2322: Type 'undefined' is not assignable to type 'string'. tests/cases/conformance/jsdoc/0.js(19,5): error TS2322: Type 'number' is not assignable to type 'string'. +tests/cases/conformance/jsdoc/0.js(22,5): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/conformance/jsdoc/0.js(22,22): error TS2345: Argument of type '"0"' is not assignable to parameter of type 'number'. -==== tests/cases/conformance/jsdoc/0.js (7 errors) ==== +==== tests/cases/conformance/jsdoc/0.js (8 errors) ==== // @ts-check var lol; const obj = { @@ -42,5 +43,7 @@ tests/cases/conformance/jsdoc/0.js(22,22): error TS2345: Argument of type '"0"' /** @type {string} */ var s1 = obj.method2("0"); + ~~ +!!! error TS2322: Type 'number' is not assignable to type 'string'. ~~~ !!! error TS2345: Argument of type '"0"' is not assignable to parameter of type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/checkJsxChildrenProperty13.types b/tests/baselines/reference/checkJsxChildrenProperty13.types index da159a74aa0e2..0e9542845fe2d 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty13.types +++ b/tests/baselines/reference/checkJsxChildrenProperty13.types @@ -27,9 +27,9 @@ class Button extends React.Component { >(
Hello World
) : JSX.Element >
Hello World
: JSX.Element >InnerButton : typeof InnerButton ->this.props : ButtonProp & { children?: React.ReactNode; } +>this.props : ButtonProp & { children?: string | number | boolean | {} | React.ReactElement | (string | number | boolean | any[] | React.ReactElement)[] | undefined; } >this : this ->props : ButtonProp & { children?: React.ReactNode; } +>props : ButtonProp & { children?: string | number | boolean | {} | React.ReactElement | (string | number | boolean | any[] | React.ReactElement)[] | undefined; } >children : string
Hello World
diff --git a/tests/baselines/reference/checkJsxChildrenProperty2.errors.txt b/tests/baselines/reference/checkJsxChildrenProperty2.errors.txt index b289fb97d2bba..23b6b7287147d 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty2.errors.txt +++ b/tests/baselines/reference/checkJsxChildrenProperty2.errors.txt @@ -71,4 +71,5 @@ tests/cases/conformance/jsx/file.tsx(49,6): error TS2746: This JSX tag's 'childr !!! error TS2746: This JSX tag's 'children' prop expects a single child of type 'string | Element', but multiple children were provided.
My Div
My Div
- ; \ No newline at end of file + ; + \ No newline at end of file diff --git a/tests/baselines/reference/checkJsxChildrenProperty2.js b/tests/baselines/reference/checkJsxChildrenProperty2.js index dd92bb5dba899..1320766b89aca 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty2.js +++ b/tests/baselines/reference/checkJsxChildrenProperty2.js @@ -50,7 +50,8 @@ let k5 =
My Div
My Div
-
; + ; + //// [file.jsx] "use strict"; diff --git a/tests/baselines/reference/classCanExtendConstructorFunction.types b/tests/baselines/reference/classCanExtendConstructorFunction.types index d2de5468efd0c..b7a379caf1140 100644 --- a/tests/baselines/reference/classCanExtendConstructorFunction.types +++ b/tests/baselines/reference/classCanExtendConstructorFunction.types @@ -284,13 +284,13 @@ chowder.flavour.claim >claim : "ignorant" | "malicious" var errorNoArgs = new Chowder(); ->errorNoArgs : any ->new Chowder() : any +>errorNoArgs : Chowder +>new Chowder() : Chowder >Chowder : typeof Chowder var errorArgType = new Chowder(0); ->errorArgType : any ->new Chowder(0) : any +>errorArgType : Chowder +>new Chowder(0) : Chowder >Chowder : typeof Chowder >0 : 0 diff --git a/tests/baselines/reference/classWithBaseClassButNoConstructor.types b/tests/baselines/reference/classWithBaseClassButNoConstructor.types index 1b8aa28818441..7c7af56a2d2ee 100644 --- a/tests/baselines/reference/classWithBaseClassButNoConstructor.types +++ b/tests/baselines/reference/classWithBaseClassButNoConstructor.types @@ -19,8 +19,8 @@ var r = C; >C : typeof C var c = new C(); // error ->c : any ->new C() : any +>c : C +>new C() : C >C : typeof C var c2 = new C(1); // ok @@ -49,8 +49,8 @@ var r2 = D; >D : typeof D var d = new D(); // error ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D var d2 = new D(1); // ok @@ -73,8 +73,8 @@ var r3 = D2; >D2 : typeof D2 var d3 = new D(); // error ->d3 : any ->new D() : any +>d3 : D +>new D() : D >D : typeof D var d4 = new D(1); // ok @@ -96,8 +96,8 @@ var r4 = D3; >D3 : typeof D3 var d5 = new D(); // error ->d5 : any ->new D() : any +>d5 : D +>new D() : D >D : typeof D var d6 = new D(1); // ok diff --git a/tests/baselines/reference/classWithConstructors.types b/tests/baselines/reference/classWithConstructors.types index 07a5be543eb8c..dcac0e7e254f5 100644 --- a/tests/baselines/reference/classWithConstructors.types +++ b/tests/baselines/reference/classWithConstructors.types @@ -10,8 +10,8 @@ module NonGeneric { } var c = new C(); // error ->c : any ->new C() : any +>c : C +>new C() : C >C : typeof C var c2 = new C(''); // ok @@ -34,8 +34,8 @@ module NonGeneric { } var c3 = new C2(); // error ->c3 : any ->new C2() : any +>c3 : C2 +>new C2() : C2 >C2 : typeof C2 var c4 = new C2(''); // ok @@ -55,8 +55,8 @@ module NonGeneric { >C2 : C2 var d = new D(); // error ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D var d2 = new D(1); // ok @@ -83,8 +83,8 @@ module Generics { } var c = new C(); // error ->c : any ->new C() : any +>c : C +>new C() : C >C : typeof C var c2 = new C(''); // ok @@ -108,8 +108,8 @@ module Generics { } var c3 = new C2(); // error ->c3 : any ->new C2() : any +>c3 : C2 +>new C2() : C2 >C2 : typeof C2 var c4 = new C2(''); // ok @@ -130,8 +130,8 @@ module Generics { >C2 : C2 var d = new D(); // error ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D var d2 = new D(1); // ok diff --git a/tests/baselines/reference/classWithoutExplicitConstructor.types b/tests/baselines/reference/classWithoutExplicitConstructor.types index 4fdf46227bf50..682baa38e6e06 100644 --- a/tests/baselines/reference/classWithoutExplicitConstructor.types +++ b/tests/baselines/reference/classWithoutExplicitConstructor.types @@ -17,8 +17,8 @@ var c = new C(); >C : typeof C var c2 = new C(null); // error ->c2 : any ->new C(null) : any +>c2 : C +>new C(null) : C >C : typeof C >null : null @@ -40,8 +40,8 @@ var d = new D(); >D : typeof D var d2 = new D(null); // error ->d2 : any ->new D(null) : any +>d2 : D +>new D(null) : D >D : typeof D >null : null diff --git a/tests/baselines/reference/cloduleTest2.types b/tests/baselines/reference/cloduleTest2.types index 2dbd5f13e953a..74204130c261c 100644 --- a/tests/baselines/reference/cloduleTest2.types +++ b/tests/baselines/reference/cloduleTest2.types @@ -14,8 +14,8 @@ module T1 { >bar : () => any var r = new m3d(); // error ->r : any ->new m3d() : any +>r : m3d +>new m3d() : m3d >m3d : typeof m3d } @@ -34,8 +34,8 @@ module T2 { >2 : 2 var r = new m3d(); // error ->r : any ->new m3d() : any +>r : m3d +>new m3d() : m3d >m3d : typeof m3d } @@ -123,8 +123,8 @@ declare class m3d { constructor(foo); foo(): void; static bar(); } >bar : () => any var r = new m3d(); // error ->r : any ->new m3d() : any +>r : m3d +>new m3d() : m3d >m3d : typeof m3d declare class m4d extends m3d { } @@ -132,7 +132,7 @@ declare class m4d extends m3d { } >m3d : m3d var r2 = new m4d(); // error ->r2 : any ->new m4d() : any +>r2 : m4d +>new m4d() : m4d >m4d : typeof m4d diff --git a/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.errors.txt b/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.errors.txt index fde460bb0f424..3e9f17e4d205b 100644 --- a/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.errors.txt +++ b/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.errors.txt @@ -1,8 +1,9 @@ tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts(1,7): error TS2506: 'S18' is referenced directly or indirectly in its own base expression. tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts(4,10): error TS2554: Expected 0 arguments, but got 1. +tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts(4,16): error TS2339: Property 'S18' does not exist on type 'S18'. -==== tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts (2 errors) ==== +==== tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts (3 errors) ==== class S18 extends S18 ~~~ !!! error TS2506: 'S18' is referenced directly or indirectly in its own base expression. @@ -11,4 +12,6 @@ tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts(4,10): err (new S18(123)).S18 = 0; ~~~ !!! error TS2554: Expected 0 arguments, but got 1. + ~~~ +!!! error TS2339: Property 'S18' does not exist on type 'S18'. \ No newline at end of file diff --git a/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.types b/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.types index 0e03c6df8aa0d..445ac37884681 100644 --- a/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.types +++ b/tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.types @@ -8,8 +8,8 @@ class S18 extends S18 (new S18(123)).S18 = 0; >(new S18(123)).S18 = 0 : 0 >(new S18(123)).S18 : any ->(new S18(123)) : any ->new S18(123) : any +>(new S18(123)) : S18 +>new S18(123) : S18 >S18 : typeof S18 >123 : 123 >S18 : any diff --git a/tests/baselines/reference/constructorFunctions.types b/tests/baselines/reference/constructorFunctions.types index 05f3998a09c11..ba2fedb66438e 100644 --- a/tests/baselines/reference/constructorFunctions.types +++ b/tests/baselines/reference/constructorFunctions.types @@ -178,7 +178,7 @@ function C7(num) {} >num : number var c7_v1 = new C7(); ->c7_v1 : any ->new C7() : any +>c7_v1 : C7 +>new C7() : C7 >C7 : typeof C7 diff --git a/tests/baselines/reference/constructorInvocationWithTooFewTypeArgs.types b/tests/baselines/reference/constructorInvocationWithTooFewTypeArgs.types index bd93ce518e9b3..28c8b2c8e64b8 100644 --- a/tests/baselines/reference/constructorInvocationWithTooFewTypeArgs.types +++ b/tests/baselines/reference/constructorInvocationWithTooFewTypeArgs.types @@ -11,7 +11,7 @@ class D { } var d = new D(); ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D diff --git a/tests/baselines/reference/constructorOverloads1.errors.txt b/tests/baselines/reference/constructorOverloads1.errors.txt index 8bc0c1ecdbb26..0692c9ddda51f 100644 --- a/tests/baselines/reference/constructorOverloads1.errors.txt +++ b/tests/baselines/reference/constructorOverloads1.errors.txt @@ -9,9 +9,9 @@ tests/cases/compiler/constructorOverloads1.ts(16,18): error TS2769: No overload Argument of type 'Foo' is not assignable to parameter of type 'number'. tests/cases/compiler/constructorOverloads1.ts(17,18): error TS2769: No overload matches this call. Overload 1 of 2, '(s: string): Foo', gave the following error. - Argument of type 'any[]' is not assignable to parameter of type 'string'. + Argument of type 'Foo[]' is not assignable to parameter of type 'string'. Overload 2 of 2, '(n: number): Foo', gave the following error. - Argument of type 'any[]' is not assignable to parameter of type 'number'. + Argument of type 'Foo[]' is not assignable to parameter of type 'number'. ==== tests/cases/compiler/constructorOverloads1.ts (6 errors) ==== @@ -53,9 +53,9 @@ tests/cases/compiler/constructorOverloads1.ts(17,18): error TS2769: No overload ~~~~~~~~~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 2, '(s: string): Foo', gave the following error. -!!! error TS2769: Argument of type 'any[]' is not assignable to parameter of type 'string'. +!!! error TS2769: Argument of type 'Foo[]' is not assignable to parameter of type 'string'. !!! error TS2769: Overload 2 of 2, '(n: number): Foo', gave the following error. -!!! error TS2769: Argument of type 'any[]' is not assignable to parameter of type 'number'. +!!! error TS2769: Argument of type 'Foo[]' is not assignable to parameter of type 'number'. f1.bar1(); f1.bar2(); diff --git a/tests/baselines/reference/constructorOverloads1.types b/tests/baselines/reference/constructorOverloads1.types index 40a806b9e71c6..312f52fc9b64b 100644 --- a/tests/baselines/reference/constructorOverloads1.types +++ b/tests/baselines/reference/constructorOverloads1.types @@ -36,19 +36,19 @@ var f2 = new Foo(0); >0 : 0 var f3 = new Foo(f1); ->f3 : any ->new Foo(f1) : any +>f3 : Foo +>new Foo(f1) : Foo >Foo : typeof Foo >f1 : Foo var f4 = new Foo([f1,f2,f3]); ->f4 : any ->new Foo([f1,f2,f3]) : any +>f4 : Foo +>new Foo([f1,f2,f3]) : Foo >Foo : typeof Foo ->[f1,f2,f3] : any[] +>[f1,f2,f3] : Foo[] >f1 : Foo >f2 : Foo ->f3 : any +>f3 : Foo f1.bar1(); >f1.bar1() : void diff --git a/tests/baselines/reference/contextualSignatureInstantiation.errors.txt b/tests/baselines/reference/contextualSignatureInstantiation.errors.txt index 6c14ad3c1503a..497937c7a4e82 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation.errors.txt +++ b/tests/baselines/reference/contextualSignatureInstantiation.errors.txt @@ -1,15 +1,18 @@ +tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts(19,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'string | number', but here has type 'unknown'. tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts(19,13): error TS2345: Argument of type '(x: T, y: T) => T' is not assignable to parameter of type '(x: number, y: string) => number'. Types of parameters 'y' and 'y' are incompatible. Type 'string' is not assignable to type 'number'. +tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts(20,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'string | number', but here has type 'unknown'. tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts(20,23): error TS2345: Argument of type '(x: T, y: T) => T' is not assignable to parameter of type '(x: number, y: string) => number'. Types of parameters 'y' and 'y' are incompatible. Type 'string' is not assignable to type 'number'. +tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts(21,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'string | number', but here has type 'unknown'. tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts(21,23): error TS2345: Argument of type '(x: T, y: T) => T' is not assignable to parameter of type '(x: string, y: number) => string'. Types of parameters 'y' and 'y' are incompatible. Type 'number' is not assignable to type 'string'. -==== tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts (3 errors) ==== +==== tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts (6 errors) ==== // TypeScript Spec, section 4.12.2: // If e is an expression of a function type that contains exactly one generic call signature and no other members, // and T is a function type with exactly one non - generic call signature and no other members, then any inferences @@ -29,16 +32,25 @@ tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatur var b: number | string; var b = foo(g); // Error, number and string are disjoint types + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'string | number', but here has type 'unknown'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts:18:5: 'b' was also declared here. ~ !!! error TS2345: Argument of type '(x: T, y: T) => T' is not assignable to parameter of type '(x: number, y: string) => number'. !!! error TS2345: Types of parameters 'y' and 'y' are incompatible. !!! error TS2345: Type 'string' is not assignable to type 'number'. var b = bar(1, "one", g); // Error, number and string are disjoint types + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'string | number', but here has type 'unknown'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts:18:5: 'b' was also declared here. ~ !!! error TS2345: Argument of type '(x: T, y: T) => T' is not assignable to parameter of type '(x: number, y: string) => number'. !!! error TS2345: Types of parameters 'y' and 'y' are incompatible. !!! error TS2345: Type 'string' is not assignable to type 'number'. var b = bar("one", 1, g); // Error, number and string are disjoint types + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'string | number', but here has type 'unknown'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeInference/contextualSignatureInstantiation.ts:18:5: 'b' was also declared here. ~ !!! error TS2345: Argument of type '(x: T, y: T) => T' is not assignable to parameter of type '(x: string, y: number) => string'. !!! error TS2345: Types of parameters 'y' and 'y' are incompatible. diff --git a/tests/baselines/reference/contextualSignatureInstantiation.types b/tests/baselines/reference/contextualSignatureInstantiation.types index ae5a40005377e..a98e9d95b56a7 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation.types +++ b/tests/baselines/reference/contextualSignatureInstantiation.types @@ -61,13 +61,13 @@ var b: number | string; var b = foo(g); // Error, number and string are disjoint types >b : string | number ->foo(g) : any +>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 ->bar(1, "one", g) : any +>bar(1, "one", g) : unknown >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V >1 : 1 >"one" : "one" @@ -75,7 +75,7 @@ var b = bar(1, "one", g); // Error, number and string are disjoint types var b = bar("one", 1, g); // Error, number and string are disjoint types >b : string | number ->bar("one", 1, g) : any +>bar("one", 1, g) : unknown >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V >"one" : "one" >1 : 1 diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types index c7466ec2ebb87..dc3e1e40599cc 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types @@ -37,8 +37,8 @@ var f = (x: number) => { return x.toFixed() }; >toFixed : (fractionDigits?: number) => string var r5 = _.forEach(c2, f); ->r5 : any ->_.forEach(c2, f) : any +>r5 : void +>_.forEach(c2, f) : void >_.forEach : (c: Collection, f: (x: T) => Date) => void >_ : Combinators >forEach : (c: Collection, f: (x: T) => Date) => void @@ -46,8 +46,8 @@ var r5 = _.forEach(c2, f); >f : (x: number) => string var r6 = _.forEach(c2, (x) => { return x.toFixed() }); ->r6 : any ->_.forEach(c2, (x) => { return x.toFixed() }) : any +>r6 : void +>_.forEach(c2, (x) => { return x.toFixed() }) : void >_.forEach : (c: Collection, f: (x: T) => Date) => void >_ : Combinators >forEach : (c: Collection, f: (x: T) => Date) => void diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types index cd2e946ed7263..35784d79f3cc0 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types @@ -19,8 +19,8 @@ f10('', () => a => a.foo, ''); // a is "" >'' : "" var r9 = f10('', () => (a => a.foo), 1); // error ->r9 : any ->f10('', () => (a => a.foo), 1) : any +>r9 : string +>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/contextuallyTypedStringLiteralsInJsxAttributes01.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types index 01b5e85100786..3ce1ee12915b8 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types @@ -36,11 +36,11 @@ const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}; > : JSX.Element >FooComponent : (props: { foo: "A" | "B" | "C"; }) => JSX.Element ->foo : string +>foo : "f" >"f" : "f" ; > : JSX.Element >FooComponent : (props: { foo: "A" | "B" | "C"; }) => JSX.Element ->foo : string +>foo : "f" diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types index badb7b0d4e97c..1f69721445968 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types @@ -95,8 +95,8 @@ const b3 = ; // goTo has type"home" | "c >b3 : JSX.Element > : JSX.Element >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } ->{goTo:"home"} : { goTo: string; } ->goTo : string +>{goTo:"home"} : { goTo: "home"; } +>goTo : "home" >"home" : "home" >extra : true @@ -104,7 +104,7 @@ const b4 = ; // goTo has type "home" | "contact >b4 : JSX.Element > : JSX.Element >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } ->goTo : string +>goTo : "home" >extra : true export function NoOverload(buttonProps: ButtonProps): JSX.Element { return undefined } @@ -138,8 +138,8 @@ const d1 = ; // goTo has type "home" | >d1 : JSX.Element > : JSX.Element >NoOverload1 : (linkProps: LinkProps) => JSX.Element ->{goTo:"home"} : { goTo: string; } ->goTo : string +>{goTo:"home"} : { goTo: "home"; } +>goTo : "home" >"home" : "home" >extra : true diff --git a/tests/baselines/reference/controlFlowArrayErrors.types b/tests/baselines/reference/controlFlowArrayErrors.types index eee5ed5a6abcf..c69c5a22785e7 100644 --- a/tests/baselines/reference/controlFlowArrayErrors.types +++ b/tests/baselines/reference/controlFlowArrayErrors.types @@ -152,7 +152,7 @@ function f6() { >x : (string | number)[] | boolean[] x.push(99); // Error ->x.push(99) : any +>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) diff --git a/tests/baselines/reference/controlFlowIterationErrors.types b/tests/baselines/reference/controlFlowIterationErrors.types index 7312944e3bf37..2635ca168e2d3 100644 --- a/tests/baselines/reference/controlFlowIterationErrors.types +++ b/tests/baselines/reference/controlFlowIterationErrors.types @@ -27,7 +27,7 @@ function f1() { >cond : boolean x = len(x); ->x = len(x) : any +>x = len(x) : number >x : string | number | boolean >len(x) : number >len : (s: string) => number @@ -58,7 +58,7 @@ function f2() { >x : string | number x = len(x); ->x = len(x) : any +>x = len(x) : number >x : string | number | boolean >len(x) : number >len : (s: string) => number @@ -91,14 +91,14 @@ function g1() { >cond : boolean x = foo(x); ->x = foo(x) : any +>x = foo(x) : never >x : string | number | boolean ->foo(x) : any +>foo(x) : never >foo : { (x: string): number; (x: number): string; } >x : string | number x; ->x : string | number | boolean +>x : never } x; >x : string | number @@ -122,9 +122,9 @@ function g2() { >x : string | number x = foo(x); ->x = foo(x) : any +>x = foo(x) : never >x : string | number | boolean ->foo(x) : any +>foo(x) : never >foo : { (x: string): number; (x: number): string; } >x : string | number } diff --git a/tests/baselines/reference/controlFlowLoopAnalysis.types b/tests/baselines/reference/controlFlowLoopAnalysis.types index c38a0d735e7d7..f3aa3bd2bd0da 100644 --- a/tests/baselines/reference/controlFlowLoopAnalysis.types +++ b/tests/baselines/reference/controlFlowLoopAnalysis.types @@ -25,7 +25,7 @@ function test1() { >cond : true x = foo(x); ->x = foo(x) : any +>x = foo(x) : number >x : number | undefined >foo(x) : number >foo : (x: number) => number diff --git a/tests/baselines/reference/couldNotSelectGenericOverload.types b/tests/baselines/reference/couldNotSelectGenericOverload.types index 3fbcd77647d51..ad1e9ab4e15aa 100644 --- a/tests/baselines/reference/couldNotSelectGenericOverload.types +++ b/tests/baselines/reference/couldNotSelectGenericOverload.types @@ -11,8 +11,8 @@ var b = [1, ""]; >"" : "" var b1G = makeArray(1, ""); // any, no error ->b1G : any ->makeArray(1, "") : any +>b1G : unknown[] +>makeArray(1, "") : unknown[] >makeArray : (items: T[]) => T[] >1 : 1 >"" : "" diff --git a/tests/baselines/reference/declarationsAndAssignments.types b/tests/baselines/reference/declarationsAndAssignments.types index ed157a7e69ce5..3d4da894fdd86 100644 --- a/tests/baselines/reference/declarationsAndAssignments.types +++ b/tests/baselines/reference/declarationsAndAssignments.types @@ -463,12 +463,12 @@ f14([2, ["abc", { x: 0 }]]); f14([2, ["abc", { y: false }]]); // Error, no x >f14([2, ["abc", { y: false }]]) : void >f14 : ([a, [b, { x, y: c }]]: [number, [string, { x: any; y?: boolean; }]]) => void ->[2, ["abc", { y: false }]] : (number | (string | { y: boolean; })[])[] +>[2, ["abc", { y: false }]] : [number, [string, { y: false; }]] >2 : 2 ->["abc", { y: false }] : (string | { y: boolean; })[] +>["abc", { y: false }] : [string, { y: false; }] >"abc" : "abc" ->{ y: false } : { y: boolean; } ->y : boolean +>{ y: false } : { y: false; } +>y : false >false : false module M { diff --git a/tests/baselines/reference/decoratorOnArrowFunction.types b/tests/baselines/reference/decoratorOnArrowFunction.types index 5edbff0e92113..84ca4a9ffbe88 100644 --- a/tests/baselines/reference/decoratorOnArrowFunction.types +++ b/tests/baselines/reference/decoratorOnArrowFunction.types @@ -6,6 +6,6 @@ declare function dec(target: T): T; var F = @dec () => { >F : any > : any ->dec () : any +>dec () : unknown >dec : (target: T) => T } diff --git a/tests/baselines/reference/decoratorOnClassMethod8.errors.txt b/tests/baselines/reference/decoratorOnClassMethod8.errors.txt index 3ada30296b6b1..adfd69b9dff99 100644 --- a/tests/baselines/reference/decoratorOnClassMethod8.errors.txt +++ b/tests/baselines/reference/decoratorOnClassMethod8.errors.txt @@ -1,11 +1,16 @@ tests/cases/conformance/decorators/class/method/decoratorOnClassMethod8.ts(4,5): error TS1241: Unable to resolve signature of method decorator when called as an expression. +tests/cases/conformance/decorators/class/method/decoratorOnClassMethod8.ts(4,5): error TS1241: Unable to resolve signature of method decorator when called as an expression. + Type 'C' has no properties in common with type 'TypedPropertyDescriptor<() => void>'. -==== tests/cases/conformance/decorators/class/method/decoratorOnClassMethod8.ts (1 errors) ==== +==== tests/cases/conformance/decorators/class/method/decoratorOnClassMethod8.ts (2 errors) ==== declare function dec(target: T): T; class C { @dec method() {} ~~~~ !!! error TS1241: Unable to resolve signature of method decorator when called as an expression. + ~~~~ +!!! error TS1241: Unable to resolve signature of method decorator when called as an expression. +!!! error TS1241: Type 'C' has no properties in common with type 'TypedPropertyDescriptor<() => void>'. } \ No newline at end of file diff --git a/tests/baselines/reference/deepKeysIndexing.types b/tests/baselines/reference/deepKeysIndexing.types index 8e115412c20f0..2ab3088178153 100644 --- a/tests/baselines/reference/deepKeysIndexing.types +++ b/tests/baselines/reference/deepKeysIndexing.types @@ -91,7 +91,7 @@ const bar = new Bar(); // all 3 of the below should error on passing `true` for `"1"` bar.broken("a", "1", true); // was broken in the past - with 2nd argument incorrectly of type "1" | "2" | "3". ->bar.broken("a", "1", true) : any +>bar.broken("a", "1", true) : void >bar.broken : , V extends Foo[K1][K2]>(k1: K1, k2: K2, value: V) => void >bar : Bar >broken : , V extends Foo[K1][K2]>(k1: K1, k2: K2, value: V) => void @@ -100,7 +100,7 @@ bar.broken("a", "1", true); // was broken in the past - with 2nd argument incorr >true : true bar.working("a", "1", true); // ok - true is not allowed ->bar.working("a", "1", true) : any +>bar.working("a", "1", true) : void >bar.working : , V extends Foo[K1][K2]>(k1: K1, k2: K2, value: V) => void >bar : Bar >working : , V extends Foo[K1][K2]>(k1: K1, k2: K2, value: V) => void @@ -109,7 +109,7 @@ bar.working("a", "1", true); // ok - true is not allowed >true : true bar.workaround("a", "1", true); // ok - true is not allowed ->bar.workaround("a", "1", true) : any +>bar.workaround("a", "1", true) : void >bar.workaround : , V extends Foo[K1][K2]>(k1: K1, k2: K2, value: V) => void >bar : Bar >workaround : , V extends Foo[K1][K2]>(k1: K1, k2: K2, value: V) => void diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt index 805f25d8dbcd6..ef919a768ec6d 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt @@ -1,3 +1,4 @@ +tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,5): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(4,19): error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(5,1): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/compiler/defaultArgsInFunctionExpressions.ts(8,20): error TS2322: Type '3' is not assignable to type 'string'. @@ -8,11 +9,13 @@ tests/cases/compiler/defaultArgsInFunctionExpressions.ts(20,62): error TS2352: C tests/cases/compiler/defaultArgsInFunctionExpressions.ts(28,15): error TS2708: Cannot use namespace 'T' as a value. -==== tests/cases/compiler/defaultArgsInFunctionExpressions.ts (8 errors) ==== +==== tests/cases/compiler/defaultArgsInFunctionExpressions.ts (9 errors) ==== var f = function (a = 3) { return a; }; // Type should be (a?: number) => number var n: number = f(4); n = f(); var s: string = f(''); + ~ +!!! error TS2322: Type 'number' is not assignable to type 'string'. ~~ !!! error TS2345: Argument of type '""' is not assignable to parameter of type 'number'. s = f(); diff --git a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt index a59e8c59fdfcb..5b8772a881566 100644 --- a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt +++ b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt @@ -1,9 +1,11 @@ tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(2,6): error TS2339: Property 'length' does not exist on type '{}'. tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(5,6): error TS2339: Property 'length' does not exist on type 'Object'. tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(8,24): error TS2345: Argument of type '""' is not assignable to parameter of type '1'. +tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(9,27): error TS2339: Property 'length' does not exist on type 'number'. +tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(13,28): error TS2339: Property 'length' does not exist on type 'number'. -==== tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts (3 errors) ==== +==== tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts (5 errors) ==== var obj1: {}; obj1.length; ~~~~~~ @@ -19,9 +21,13 @@ tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts(8,24): error TS2345: Arg ~~ !!! error TS2345: Argument of type '""' is not assignable to parameter of type '1'. var elementCount = result.length; + ~~~~~~ +!!! error TS2339: Property 'length' does not exist on type 'number'. function concat2(x: T, y: U) { return null; } var result2 = concat2(1, ""); // result2 will be number|string var elementCount2 = result.length; + ~~~~~~ +!!! error TS2339: Property 'length' does not exist on type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types index 7fb09643d899f..90e1c6df9a339 100644 --- a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types +++ b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types @@ -22,8 +22,8 @@ function concat(x: T, y: T): T { return null; } >null : null var result = concat(1, ""); // error ->result : any ->concat(1, "") : any +>result : number +>concat(1, "") : 1 >concat : (x: T, y: T) => T >1 : 1 >"" : "" @@ -31,7 +31,7 @@ var result = concat(1, ""); // error var elementCount = result.length; >elementCount : any >result.length : any ->result : any +>result : number >length : any function concat2(x: T, y: U) { return null; } @@ -50,7 +50,7 @@ var result2 = concat2(1, ""); // result2 will be number|string var elementCount2 = result.length; >elementCount2 : any >result.length : any ->result : any +>result : number >length : any diff --git a/tests/baselines/reference/derivedClassWithoutExplicitConstructor.types b/tests/baselines/reference/derivedClassWithoutExplicitConstructor.types index 3a719ebd59790..04dd1ee3717e7 100644 --- a/tests/baselines/reference/derivedClassWithoutExplicitConstructor.types +++ b/tests/baselines/reference/derivedClassWithoutExplicitConstructor.types @@ -29,8 +29,8 @@ class Derived extends Base { } var r = new Derived(); // error ->r : any ->new Derived() : any +>r : Derived +>new Derived() : Derived >Derived : typeof Derived var r2 = new Derived(1); @@ -68,8 +68,8 @@ class D extends Base2 { } var d = new D(); // error ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D var d2 = new D(new Date()); // ok diff --git a/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.types b/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.types index bfe6cf18613cd..a7561b044e460 100644 --- a/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.types +++ b/tests/baselines/reference/derivedClassWithoutExplicitConstructor2.types @@ -38,8 +38,8 @@ class Derived extends Base { } var r = new Derived(); // error ->r : any ->new Derived() : any +>r : Derived +>new Derived() : Derived >Derived : typeof Derived var r2 = new Derived(1); @@ -101,8 +101,8 @@ class D extends Base2 { } var d = new D(); // error ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D var d2 = new D(new Date()); // ok diff --git a/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.types b/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.types index bb63fe1ab615b..b674626ec0038 100644 --- a/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.types +++ b/tests/baselines/reference/derivedClassWithoutExplicitConstructor3.types @@ -57,13 +57,13 @@ class Derived2 extends Derived { } var r = new Derived(); // error ->r : any ->new Derived() : any +>r : Derived +>new Derived() : Derived >Derived : typeof Derived var r2 = new Derived2(1); // error ->r2 : any ->new Derived2(1) : any +>r2 : Derived2 +>new Derived2(1) : Derived2 >Derived2 : typeof Derived2 >1 : 1 @@ -130,13 +130,13 @@ class D2 extends D { } var d = new D2(); // error ->d : any ->new D2() : any +>d : D2 +>new D2() : D2 >D2 : typeof D2 var d2 = new D2(new Date()); // error ->d2 : any ->new D2(new Date()) : any +>d2 : D2 +>new D2(new Date()) : D2 >D2 : typeof D2 >new Date() : Date >Date : DateConstructor diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES5.types b/tests/baselines/reference/destructuringParameterDeclaration1ES5.types index a346856223a65..9b36241c7b0cd 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES5.types @@ -54,7 +54,7 @@ a1([1, 2, [["world"]]]); a1([1, 2, [["world"]], 3]); >a1([1, 2, [["world"]], 3]) : void >a1 : ([a, b, [[c]]]: [number, number, string[][]]) => void ->[1, 2, [["world"]], 3] : (number | string[][])[] +>[1, 2, [["world"]], 3] : [number, number, string[][], number] >1 : 1 >2 : 2 >[["world"]] : string[][] @@ -302,11 +302,11 @@ c5([1, 2, [["string"]]]); // Implied type is is [any, any, [[any]] c5([1, 2, [["string"]], false, true]); // Implied type is is [any, any, [[any]]] >c5([1, 2, [["string"]], false, true]) : void >c5 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" >false : false >true : true diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types b/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types index 3797a5da9570e..9b7c194480c87 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.types @@ -54,7 +54,7 @@ a1([1, 2, [["world"]]]); a1([1, 2, [["world"]], 3]); >a1([1, 2, [["world"]], 3]) : void >a1 : ([a, b, [[c]]]: [number, number, string[][]]) => void ->[1, 2, [["world"]], 3] : (number | string[][])[] +>[1, 2, [["world"]], 3] : [number, number, string[][], number] >1 : 1 >2 : 2 >[["world"]] : string[][] @@ -302,11 +302,11 @@ c5([1, 2, [["string"]]]); // Implied type is is [any, any, [[any]] c5([1, 2, [["string"]], false, true]); // Implied type is is [any, any, [[any]]] >c5([1, 2, [["string"]], false, true]) : void >c5 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" >false : false >true : true diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES6.types b/tests/baselines/reference/destructuringParameterDeclaration1ES6.types index 04d282c76b75c..d91aebfc1bf7e 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES6.types +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES6.types @@ -56,7 +56,7 @@ a1([1, 2, [["world"]]]); a1([1, 2, [["world"]], 3]); >a1([1, 2, [["world"]], 3]) : void >a1 : ([a, b, [[c]]]: [number, number, string[][]]) => void ->[1, 2, [["world"]], 3] : (number | string[][])[] +>[1, 2, [["world"]], 3] : [number, number, string[][], number] >1 : 1 >2 : 2 >[["world"]] : string[][] @@ -285,11 +285,11 @@ c5([1, 2, [["string"]]]); // Implied type is is [any, any, [[any]] c5([1, 2, [["string"]], false, true]); // Implied type is is [any, any, [[any]]] >c5([1, 2, [["string"]], false, true]) : void >c5 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" >false : false >true : true diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.types b/tests/baselines/reference/destructuringParameterDeclaration2.types index 27ab690860681..6780d97d02667 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.types +++ b/tests/baselines/reference/destructuringParameterDeclaration2.types @@ -13,7 +13,7 @@ function a0([a, b, [[c]]]: [number, number, string[][]]) { } a0([1, "string", [["world"]]); // Error >a0([1, "string", [["world"]]) : void >a0 : ([a, b, [[c]]]: [number, number, string[][]]) => void ->[1, "string", [["world"]] : (string | number | string[][])[] +>[1, "string", [["world"]] : [number, string, string[][]] >1 : 1 >"string" : "string" >[["world"]] : string[][] @@ -23,7 +23,7 @@ a0([1, "string", [["world"]]); // Error a0([1, 2, [["world"]], "string"]); // Error >a0([1, 2, [["world"]], "string"]) : void >a0 : ([a, b, [[c]]]: [number, number, string[][]]) => void ->[1, 2, [["world"]], "string"] : (string | number | string[][])[] +>[1, 2, [["world"]], "string"] : [number, number, string[][], string] >1 : 1 >2 : 2 >[["world"]] : string[][] @@ -183,7 +183,7 @@ c3({ b: true }); // Error, implied type is { b: number|string }. c5([1, 2, false, true]); // Error, implied type is [any, any, [[any]]] >c5([1, 2, false, true]) : void >c5 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, false, true] : (number | boolean)[] +>[1, 2, false, true] : [number, number, boolean, boolean] >1 : 1 >2 : 2 >false : false @@ -192,11 +192,11 @@ c5([1, 2, false, true]); // Error, implied type is [any, any, [[any]]] c6([1, 2, [["string"]]]); // Error, implied type is [any, any, [[number]]] // Use initializer >c6([1, 2, [["string"]]]) : void >c6 : ([a, b, [[c]]]: [any, any, [[number?]]]) => void ->[1, 2, [["string"]]] : (number | string[][])[] +>[1, 2, [["string"]]] : [number, number, [[string]]] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" // A parameter can be marked optional by following its name or binding pattern with a question mark (?) diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types index a18a2c4f0a960..feaaef5858ead 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types @@ -85,11 +85,11 @@ a1(...array); a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]]] >a9([1, 2, [["string"]], false, true]) : void >a9 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" >false : false >true : true @@ -109,7 +109,7 @@ a10([1, 2, [["string"]], false, true]); // Parameter type is any[] a10([1, 2, 3, false, true]); // Parameter type is any[] >a10([1, 2, 3, false, true]) : void >a10 : ([a, b, [[c]], ...x]: [any, any, [[any]], ...any[]]) => void ->[1, 2, 3, false, true] : (number | boolean)[] +>[1, 2, 3, false, true] : [number, number, number, boolean, boolean] >1 : 1 >2 : 2 >3 : 3 @@ -119,7 +119,7 @@ a10([1, 2, 3, false, true]); // Parameter type is any[] a10([1, 2]); // Parameter type is any[] >a10([1, 2]) : void >a10 : ([a, b, [[c]], ...x]: [any, any, [[any]], ...any[]]) => void ->[1, 2] : number[] +>[1, 2] : [number, number] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types index e41c2e5d75acf..429073b17a669 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types @@ -85,11 +85,11 @@ a1(...array); a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]]] >a9([1, 2, [["string"]], false, true]) : void >a9 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" >false : false >true : true @@ -109,7 +109,7 @@ a10([1, 2, [["string"]], false, true]); // Parameter type is any[] a10([1, 2, 3, false, true]); // Parameter type is any[] >a10([1, 2, 3, false, true]) : void >a10 : ([a, b, [[c]], ...x]: [any, any, [[any]], ...any[]]) => void ->[1, 2, 3, false, true] : (number | boolean)[] +>[1, 2, 3, false, true] : [number, number, number, boolean, boolean] >1 : 1 >2 : 2 >3 : 3 @@ -119,7 +119,7 @@ a10([1, 2, 3, false, true]); // Parameter type is any[] a10([1, 2]); // Parameter type is any[] >a10([1, 2]) : void >a10 : ([a, b, [[c]], ...x]: [any, any, [[any]], ...any[]]) => void ->[1, 2] : number[] +>[1, 2] : [number, number] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types index 4adacfd11ffd2..3b59fdb0da52c 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types @@ -85,11 +85,11 @@ a1(...array); a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]]] >a9([1, 2, [["string"]], false, true]) : void >a9 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, [["string"]], false, true] : (number | boolean | string[][])[] +>[1, 2, [["string"]], false, true] : [number, number, [[string]], boolean, boolean] >1 : 1 >2 : 2 ->[["string"]] : string[][] ->["string"] : string[] +>[["string"]] : [[string]] +>["string"] : [string] >"string" : "string" >false : false >true : true @@ -109,7 +109,7 @@ a10([1, 2, [["string"]], false, true]); // Parameter type is any[] a10([1, 2, 3, false, true]); // Parameter type is any[] >a10([1, 2, 3, false, true]) : void >a10 : ([a, b, [[c]], ...x]: [any, any, [[any]], ...any[]]) => void ->[1, 2, 3, false, true] : (number | boolean)[] +>[1, 2, 3, false, true] : [number, number, number, boolean, boolean] >1 : 1 >2 : 2 >3 : 3 @@ -119,7 +119,7 @@ a10([1, 2, 3, false, true]); // Parameter type is any[] a10([1, 2]); // Parameter type is any[] >a10([1, 2]) : void >a10 : ([a, b, [[c]], ...x]: [any, any, [[any]], ...any[]]) => void ->[1, 2] : number[] +>[1, 2] : [number, number] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.types b/tests/baselines/reference/destructuringParameterDeclaration4.types index 2c3a7dc5f9586..5d1ac7e4f4c1f 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.types +++ b/tests/baselines/reference/destructuringParameterDeclaration4.types @@ -69,7 +69,7 @@ a1(...array2); // Error parameter type is (number|string)[] a5([1, 2, "string", false, true]); // Error, parameter type is [any, any, [[any]]] >a5([1, 2, "string", false, true]) : void >a5 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2, "string", false, true] : (string | number | boolean)[] +>[1, 2, "string", false, true] : [number, number, string, boolean, boolean] >1 : 1 >2 : 2 >"string" : "string" @@ -79,7 +79,7 @@ a5([1, 2, "string", false, true]); // Error, parameter type is [any, any, a5([1, 2]); // Error, parameter type is [any, any, [[any]]] >a5([1, 2]) : void >a5 : ([a, b, [[c]]]: [any, any, [[any]]]) => void ->[1, 2] : number[] +>[1, 2] : [number, number] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration5.types b/tests/baselines/reference/destructuringParameterDeclaration5.types index e3066702b7dc1..859b391f71c54 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration5.types @@ -156,7 +156,7 @@ d3({ y: new SubClass() }); // Error d3({ y: new Class() }); ->d3({ y: new Class() }) : any +>d3({ y: new Class() }) : void >d3 : ({ y }: { y: D; }) => void >{ y: new Class() } : { y: Class; } >y : Class @@ -164,19 +164,19 @@ d3({ y: new Class() }); >Class : typeof Class d3({}); ->d3({}) : any +>d3({}) : void >d3 : ({ y }: { y: D; }) => void >{} : {} d3({ y: 1 }); ->d3({ y: 1 }) : any +>d3({ y: 1 }) : void >d3 : ({ y }: { y: D; }) => void >{ y: 1 } : { y: number; } >y : number >1 : 1 d3({ y: "world" }); ->d3({ y: "world" }) : any +>d3({ y: "world" }) : void >d3 : ({ y }: { y: D; }) => void >{ y: "world" } : { y: string; } >y : string diff --git a/tests/baselines/reference/destructuringParameterDeclaration8.types b/tests/baselines/reference/destructuringParameterDeclaration8.types index 6ca691fcff158..870cbd057647a 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration8.types +++ b/tests/baselines/reference/destructuringParameterDeclaration8.types @@ -49,22 +49,22 @@ test({ method: 'x', nested: { p: 'a' } }) test({ method: 'z', nested: { p: 'b' } }) >test({ method: 'z', nested: { p: 'b' } }) : void >test : ({ method, nested: { p } }: { method?: "x" | "y"; nested?: { p: "a" | "b"; }; }) => void ->{ method: 'z', nested: { p: 'b' } } : { method: string; nested: { p: string; }; } ->method : string +>{ method: 'z', nested: { p: 'b' } } : { method: "z"; nested: { p: "b"; }; } +>method : "z" >'z' : "z" ->nested : { p: string; } ->{ p: 'b' } : { p: string; } ->p : string +>nested : { p: "b"; } +>{ p: 'b' } : { p: "b"; } +>p : "b" >'b' : "b" test({ method: 'one', nested: { p: 'a' } }) >test({ method: 'one', nested: { p: 'a' } }) : void >test : ({ method, nested: { p } }: { method?: "x" | "y"; nested?: { p: "a" | "b"; }; }) => void ->{ method: 'one', nested: { p: 'a' } } : { method: string; nested: { p: string; }; } ->method : string +>{ method: 'one', nested: { p: 'a' } } : { method: "one"; nested: { p: "a"; }; } +>method : "one" >'one' : "one" ->nested : { p: string; } ->{ p: 'a' } : { p: string; } ->p : string +>nested : { p: "a"; } +>{ p: 'a' } : { p: "a"; } +>p : "a" >'a' : "a" diff --git a/tests/baselines/reference/destructuringParameterProperties2.symbols b/tests/baselines/reference/destructuringParameterProperties2.symbols index 3b1662111e49b..b89a8fdb791dc 100644 --- a/tests/baselines/reference/destructuringParameterProperties2.symbols +++ b/tests/baselines/reference/destructuringParameterProperties2.symbols @@ -57,9 +57,15 @@ var [x_a, x_b, x_c] = [x.getA(), x.getB(), x.getC()]; >x_a : Symbol(x_a, Decl(destructuringParameterProperties2.ts, 21, 5)) >x_b : Symbol(x_b, Decl(destructuringParameterProperties2.ts, 21, 9)) >x_c : Symbol(x_c, Decl(destructuringParameterProperties2.ts, 21, 14)) +>x.getA : Symbol(C1.getA, Decl(destructuringParameterProperties2.ts, 5, 5)) >x : Symbol(x, Decl(destructuringParameterProperties2.ts, 20, 3)) +>getA : Symbol(C1.getA, Decl(destructuringParameterProperties2.ts, 5, 5)) +>x.getB : Symbol(C1.getB, Decl(destructuringParameterProperties2.ts, 9, 5)) >x : Symbol(x, Decl(destructuringParameterProperties2.ts, 20, 3)) +>getB : Symbol(C1.getB, Decl(destructuringParameterProperties2.ts, 9, 5)) +>x.getC : Symbol(C1.getC, Decl(destructuringParameterProperties2.ts, 13, 5)) >x : Symbol(x, Decl(destructuringParameterProperties2.ts, 20, 3)) +>getC : Symbol(C1.getC, Decl(destructuringParameterProperties2.ts, 13, 5)) var y = new C1(10, [0, "", true]); >y : Symbol(y, Decl(destructuringParameterProperties2.ts, 23, 3)) diff --git a/tests/baselines/reference/destructuringParameterProperties2.types b/tests/baselines/reference/destructuringParameterProperties2.types index 3b9ea8d273f3a..54b6959f8fbcf 100644 --- a/tests/baselines/reference/destructuringParameterProperties2.types +++ b/tests/baselines/reference/destructuringParameterProperties2.types @@ -71,11 +71,11 @@ class C1 { } var x = new C1(undefined, [0, undefined, ""]); ->x : any ->new C1(undefined, [0, undefined, ""]) : any +>x : C1 +>new C1(undefined, [0, undefined, ""]) : C1 >C1 : typeof C1 >undefined : undefined ->[0, undefined, ""] : (string | number)[] +>[0, undefined, ""] : [number, undefined, string] >0 : 0 >undefined : undefined >"" : "" @@ -86,17 +86,17 @@ var [x_a, x_b, x_c] = [x.getA(), x.getB(), x.getC()]; >x_c : any >[x.getA(), x.getB(), x.getC()] : [any, any, any] >x.getA() : any ->x.getA : any ->x : any ->getA : any +>x.getA : () => any +>x : C1 +>getA : () => any >x.getB() : any ->x.getB : any ->x : any ->getB : any +>x.getB : () => any +>x : C1 +>getB : () => any >x.getC() : any ->x.getC : any ->x : any ->getC : any +>x.getC : () => any +>x : C1 +>getC : () => any var y = new C1(10, [0, "", true]); >y : C1 diff --git a/tests/baselines/reference/destructuringParameterProperties5.errors.txt b/tests/baselines/reference/destructuringParameterProperties5.errors.txt index fa57ae150a053..6e0f017341da5 100644 --- a/tests/baselines/reference/destructuringParameterProperties5.errors.txt +++ b/tests/baselines/reference/destructuringParameterProperties5.errors.txt @@ -11,9 +11,14 @@ tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(1 Object literal may only specify known properties, and 'x1' does not exist in type 'ObjType1'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(11,47): error TS2322: Type 'string' is not assignable to type 'number'. tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(11,51): error TS2322: Type 'false' is not assignable to type 'string'. +tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,39): error TS2339: Property 'x1' does not exist on type 'C1'. +tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,45): error TS2339: Property 'x2' does not exist on type 'C1'. +tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,51): error TS2339: Property 'x3' does not exist on type 'C1'. +tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,57): error TS2339: Property 'y' does not exist on type 'C1'. +tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(12,62): error TS2339: Property 'z' does not exist on type 'C1'. -==== tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts (12 errors) ==== +==== tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts (17 errors) ==== type ObjType1 = { x: number; y: string; z: boolean } type TupleType1 = [ObjType1, number, string] @@ -50,4 +55,14 @@ tests/cases/conformance/es6/destructuring/destructuringParameterProperties5.ts(1 !!! error TS2322: Type 'string' is not assignable to type 'number'. ~~~~~ !!! error TS2322: Type 'false' is not assignable to type 'string'. - var [a_x1, a_x2, a_x3, a_y, a_z] = [a.x1, a.x2, a.x3, a.y, a.z]; \ No newline at end of file + var [a_x1, a_x2, a_x3, a_y, a_z] = [a.x1, a.x2, a.x3, a.y, a.z]; + ~~ +!!! error TS2339: Property 'x1' does not exist on type 'C1'. + ~~ +!!! error TS2339: Property 'x2' does not exist on type 'C1'. + ~~ +!!! error TS2339: Property 'x3' does not exist on type 'C1'. + ~ +!!! error TS2339: Property 'y' does not exist on type 'C1'. + ~ +!!! error TS2339: Property 'z' does not exist on type 'C1'. \ No newline at end of file diff --git a/tests/baselines/reference/destructuringParameterProperties5.types b/tests/baselines/reference/destructuringParameterProperties5.types index 976b79e94957b..58d3b6d005dc6 100644 --- a/tests/baselines/reference/destructuringParameterProperties5.types +++ b/tests/baselines/reference/destructuringParameterProperties5.types @@ -55,10 +55,10 @@ class C1 { } var a = new C1([{ x1: 10, x2: "", x3: true }, "", false]); ->a : any ->new C1([{ x1: 10, x2: "", x3: true }, "", false]) : any +>a : C1 +>new C1([{ x1: 10, x2: "", x3: true }, "", false]) : C1 >C1 : typeof C1 ->[{ x1: 10, x2: "", x3: true }, "", false] : (string | boolean | { x1: number; x2: string; x3: boolean; })[] +>[{ x1: 10, x2: "", x3: true }, "", false] : [{ x1: number; x2: string; x3: boolean; }, string, boolean] >{ x1: 10, x2: "", x3: true } : { x1: number; x2: string; x3: boolean; } >x1 : number >10 : 10 @@ -77,18 +77,18 @@ var [a_x1, a_x2, a_x3, a_y, a_z] = [a.x1, a.x2, a.x3, a.y, a.z]; >a_z : any >[a.x1, a.x2, a.x3, a.y, a.z] : [any, any, any, any, any] >a.x1 : any ->a : any +>a : C1 >x1 : any >a.x2 : any ->a : any +>a : C1 >x2 : any >a.x3 : any ->a : any +>a : C1 >x3 : any >a.y : any ->a : any +>a : C1 >y : any >a.z : any ->a : any +>a : C1 >z : any diff --git a/tests/baselines/reference/destructuringTuple.errors.txt b/tests/baselines/reference/destructuringTuple.errors.txt index 0f3c3c3618230..67700d89b5ad2 100644 --- a/tests/baselines/reference/destructuringTuple.errors.txt +++ b/tests/baselines/reference/destructuringTuple.errors.txt @@ -1,4 +1,11 @@ -tests/cases/compiler/destructuringTuple.ts(11,8): error TS2493: Tuple type '[]' of length '0' has no element at index '0'. +tests/cases/compiler/destructuringTuple.ts(11,7): error TS2461: Type 'number' is not an array type. +tests/cases/compiler/destructuringTuple.ts(11,48): error TS2769: No overload matches this call. + Overload 1 of 3, '(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number', gave the following error. + Type 'never[]' is not assignable to type 'number'. + Overload 2 of 3, '(callbackfn: (previousValue: [], currentValue: number, currentIndex: number, array: number[]) => [], initialValue: []): []', gave the following error. + Type 'never[]' is not assignable to type '[]'. + Types of property 'length' are incompatible. + Type 'number' is not assignable to type '0'. tests/cases/compiler/destructuringTuple.ts(11,60): error TS2769: No overload matches this call. Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. Argument of type 'number' is not assignable to parameter of type 'ConcatArray'. @@ -6,7 +13,7 @@ tests/cases/compiler/destructuringTuple.ts(11,60): error TS2769: No overload mat Argument of type 'number' is not assignable to parameter of type 'ConcatArray'. -==== tests/cases/compiler/destructuringTuple.ts (2 errors) ==== +==== tests/cases/compiler/destructuringTuple.ts (3 errors) ==== declare var tuple: [boolean, number, ...string[]]; const [a, b, c, ...rest] = tuple; @@ -18,8 +25,18 @@ tests/cases/compiler/destructuringTuple.ts(11,60): error TS2769: No overload mat // Repros from #32140 const [oops1] = [1, 2, 3].reduce((accu, el) => accu.concat(el), []); - ~~~~~ -!!! error TS2493: Tuple type '[]' of length '0' has no element at index '0'. + ~~~~~~~ +!!! error TS2461: Type 'number' is not an array type. + ~~~~~~~~~~~~~~~ +!!! error TS2769: No overload matches this call. +!!! error TS2769: Overload 1 of 3, '(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number', gave the following error. +!!! error TS2769: Type 'never[]' is not assignable to type 'number'. +!!! error TS2769: Overload 2 of 3, '(callbackfn: (previousValue: [], currentValue: number, currentIndex: number, array: number[]) => [], initialValue: []): []', gave the following error. +!!! error TS2769: Type 'never[]' is not assignable to type '[]'. +!!! error TS2769: Types of property 'length' are incompatible. +!!! error TS2769: Type 'number' is not assignable to type '0'. +!!! related TS6502 /.ts/lib.es5.d.ts:1350:24: The expected type comes from the return type of this signature. +!!! related TS6502 /.ts/lib.es5.d.ts:1356:27: The expected type comes from the return type of this signature. ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. diff --git a/tests/baselines/reference/destructuringTuple.types b/tests/baselines/reference/destructuringTuple.types index 466e4495a1646..dc946bd3d3d66 100644 --- a/tests/baselines/reference/destructuringTuple.types +++ b/tests/baselines/reference/destructuringTuple.types @@ -23,23 +23,23 @@ declare var receiver: typeof tuple; // Repros from #32140 const [oops1] = [1, 2, 3].reduce((accu, el) => accu.concat(el), []); ->oops1 : undefined ->[1, 2, 3].reduce((accu, el) => accu.concat(el), []) : [] +>oops1 : any +>[1, 2, 3].reduce((accu, el) => accu.concat(el), []) : number >[1, 2, 3].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; } >[1, 2, 3] : number[] >1 : 1 >2 : 2 >3 : 3 >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; } ->(accu, el) => accu.concat(el) : (accu: [], el: number) => any +>(accu, el) => accu.concat(el) : (accu: [], el: number) => never[] >accu : [] >el : number ->accu.concat(el) : any +>accu.concat(el) : never[] >accu.concat : { (...items: ConcatArray[]): never[]; (...items: ConcatArray[]): never[]; } >accu : [] >concat : { (...items: ConcatArray[]): never[]; (...items: ConcatArray[]): never[]; } >el : number ->[] : [] +>[] : never[] const [oops2] = [1, 2, 3].reduce((acc: number[], e) => acc.concat(e), []); >oops2 : number diff --git a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types index bd60a27864513..8bf53bf6dd025 100644 --- a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types +++ b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types @@ -71,7 +71,7 @@ foo({ }, getNum(), [ >getNum() : number >getNum : () => number ->[ 1, 2, getNum] : (number | (() => number))[] +>[ 1, 2, getNum] : [number, number, () => number] 1, >1 : 1 diff --git a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.js b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.js new file mode 100644 index 0000000000000..3be6283454be0 --- /dev/null +++ b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.js @@ -0,0 +1,21 @@ +//// [discriminableUnionWithIntersectedMembers.ts] +// regression test for https://github.com/microsoft/TypeScript/issues/33243 +type X = + | { x: 'x', y: number } & { y: number } + | { x: 'y', y: number, z?: boolean } & { y: number } + +// error +const x: X = 4 as any as { x: 'x' | 'y', y: number }; + +type Y = + | { x: 'x', y: number } + | { x: 'y', y: number, z?: boolean } + +// no error +const y: Y = 4 as any as { x: 'x' | 'y', y: number }; + +//// [discriminableUnionWithIntersectedMembers.js] +// error +var x = 4; +// no error +var y = 4; diff --git a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.symbols b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.symbols new file mode 100644 index 0000000000000..49725db5bfb0d --- /dev/null +++ b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.symbols @@ -0,0 +1,42 @@ +=== tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts === +// regression test for https://github.com/microsoft/TypeScript/issues/33243 +type X = +>X : Symbol(X, Decl(discriminableUnionWithIntersectedMembers.ts, 0, 0)) + + | { x: 'x', y: number } & { y: number } +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 2, 4)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 2, 12)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 2, 28)) + + | { x: 'y', y: number, z?: boolean } & { y: number } +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 3, 4)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 3, 12)) +>z : Symbol(z, Decl(discriminableUnionWithIntersectedMembers.ts, 3, 23)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 3, 41)) + +// error +const x: X = 4 as any as { x: 'x' | 'y', y: number }; +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 6, 5)) +>X : Symbol(X, Decl(discriminableUnionWithIntersectedMembers.ts, 0, 0)) +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 6, 26)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 6, 40)) + +type Y = +>Y : Symbol(Y, Decl(discriminableUnionWithIntersectedMembers.ts, 6, 53)) + + | { x: 'x', y: number } +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 9, 4)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 9, 12)) + + | { x: 'y', y: number, z?: boolean } +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 10, 4)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 10, 12)) +>z : Symbol(z, Decl(discriminableUnionWithIntersectedMembers.ts, 10, 23)) + +// no error +const y: Y = 4 as any as { x: 'x' | 'y', y: number }; +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 13, 5)) +>Y : Symbol(Y, Decl(discriminableUnionWithIntersectedMembers.ts, 6, 53)) +>x : Symbol(x, Decl(discriminableUnionWithIntersectedMembers.ts, 13, 26)) +>y : Symbol(y, Decl(discriminableUnionWithIntersectedMembers.ts, 13, 40)) + diff --git a/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types new file mode 100644 index 0000000000000..8f7899806f6d7 --- /dev/null +++ b/tests/baselines/reference/discriminableUnionWithIntersectedMembers.types @@ -0,0 +1,46 @@ +=== tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts === +// regression test for https://github.com/microsoft/TypeScript/issues/33243 +type X = +>X : X + + | { x: 'x', y: number } & { y: number } +>x : "x" +>y : number +>y : number + + | { x: 'y', y: number, z?: boolean } & { y: number } +>x : "y" +>y : number +>z : boolean +>y : number + +// error +const x: X = 4 as any as { x: 'x' | 'y', y: number }; +>x : X +>4 as any as { x: 'x' | 'y', y: number } : { x: "x" | "y"; y: number; } +>4 as any : any +>4 : 4 +>x : "x" | "y" +>y : number + +type Y = +>Y : Y + + | { x: 'x', y: number } +>x : "x" +>y : number + + | { x: 'y', y: number, z?: boolean } +>x : "y" +>y : number +>z : boolean + +// no error +const y: Y = 4 as any as { x: 'x' | 'y', y: number }; +>y : Y +>4 as any as { x: 'x' | 'y', y: number } : { x: "x" | "y"; y: number; } +>4 as any : any +>4 : 4 +>x : "x" | "y" +>y : number + diff --git a/tests/baselines/reference/docker/azure-sdk.log b/tests/baselines/reference/docker/azure-sdk.log index 7fd3e09f1a754..2e3ea82d1c550 100644 --- a/tests/baselines/reference/docker/azure-sdk.log +++ b/tests/baselines/reference/docker/azure-sdk.log @@ -2,7 +2,7 @@ Exit Code: 1 Standard output: Rush Multi-Project Build Tool 5.X.X - https://rushjs.io -Node.js version is 12.14.1 (LTS) +Node.js version is 12.15.0 (LTS) Starting "rush rebuild" Executing a maximum of ?simultaneous processes... XX of XX: [@azure/abort-controller] completed successfully in ? seconds @@ -15,14 +15,15 @@ XX of XX: [@azure/core-amqp] completed successfully in ? seconds XX of XX: [@azure/core-lro] completed successfully in ? seconds XX of XX: [@azure/core-paging] completed successfully in ? seconds XX of XX: [@azure/test-utils-recorder] completed successfully in ? seconds -XX of XX: [@azure/event-hubs] completed successfully in ? seconds -XX of XX: [@azure/event-processor-host] completed successfully in ? seconds +Warning: You have changed the public API signature for this project. Updating review/event-hubs.api.md +Warning: You have changed the public API signature for this project. Updating review/event-processor-host.api.md XX of XX: [@azure/keyvault-keys] completed successfully in ? seconds XX of XX: [@azure/keyvault-secrets] completed successfully in ? seconds -XX of XX: [@azure/storage-blob] completed successfully in ? seconds +Warning: You have changed the public API signature for this project. Updating review/storage-blob.api.md XX of XX: [@azure/ai-text-analytics] completed successfully in ? seconds XX of XX: [@azure/core-arm] completed successfully in ? seconds XX of XX: [@azure/core-tracing] completed successfully in ? seconds +Warning: You have changed the public API signature for this project. Updating review/cosmos.api.md dist-esm/index.js → dist/index.js... (!) Unresolved dependencies https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency @@ -40,21 +41,21 @@ npm ERR! Failed at the @azure/keyvault-certificates@X.X.X extract-api script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log -XX of XX: [@azure/service-bus] completed successfully in ? seconds +Warning: You have changed the public API signature for this project. Updating review/service-bus.api.md npm ERR! code ELIFECYCLE npm ERR! errno 2 -npm ERR! @azure/storage-file-datalake@X.X.X-preview.8 build:es6: `tsc -p tsconfig.json` +npm ERR! @azure/storage-file-datalake@X.X.X-preview.8 build:es6: `tsc -p tsconfig.json && npm run build:types` npm ERR! Exit status 2 npm ERR! npm ERR! Failed at the @azure/storage-file-datalake@X.X.X-preview.8 build:es?script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log -XX of XX: [@azure/storage-file-share] completed successfully in ? seconds -XX of XX: [@azure/storage-queue] completed successfully in ? seconds +Warning: You have changed the public API signature for this project. Updating review/storage-file-share.api.md +Warning: You have changed the public API signature for this project. Updating review/storage-queue.api.md XX of XX: [@azure/template] completed successfully in ? seconds XX of XX: [testhub] completed successfully in ? seconds -SUCCESS (23) +SUCCESS (17) ================================ @azure/abort-controller (? seconds) @azure/core-auth (? seconds) @@ -66,23 +67,24 @@ SUCCESS (23) @azure/core-lro (? seconds) @azure/core-paging (? seconds) @azure/test-utils-recorder (? seconds) -@azure/event-hubs (? seconds) -@azure/event-processor-host (? seconds) @azure/keyvault-keys (? seconds) @azure/keyvault-secrets (? seconds) -@azure/storage-blob (? seconds) @azure/ai-text-analytics (? seconds) @azure/core-arm (? seconds) @azure/core-tracing (? seconds) -@azure/service-bus (? seconds) -@azure/storage-file-share (? seconds) -@azure/storage-queue (? seconds) @azure/template (? seconds) testhub (? seconds) ================================ -SUCCESS WITH WARNINGS (1) +SUCCESS WITH WARNINGS (7) ================================ +@azure/event-hubs (? seconds) +Warning: You have changed the public API signature for this project. Updating review/event-hubs.api.md +@azure/event-processor-host (? seconds) +Warning: You have changed the public API signature for this project. Updating review/event-processor-host.api.md +@azure/storage-blob (? seconds) +Warning: You have changed the public API signature for this project. Updating review/storage-blob.api.md @azure/cosmos (? seconds) +Warning: You have changed the public API signature for this project. Updating review/cosmos.api.md dist-esm/index.js → dist/index.js... (!) Unresolved dependencies https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency @@ -91,16 +93,22 @@ os-name (imported by dist-esm/utils/user-agent.js) Use output.globals to specify browser global variable names corresponding to external modules os-name (guessing 'osName') created dist/index.js in ?s +@azure/service-bus (? seconds) +Warning: You have changed the public API signature for this project. Updating review/service-bus.api.md +@azure/storage-file-share (? seconds) +Warning: You have changed the public API signature for this project. Updating review/storage-file-share.api.md +@azure/storage-queue (? seconds) +Warning: You have changed the public API signature for this project. Updating review/storage-queue.api.md ================================ FAILURE (4) ================================ @azure/app-configuration ( ? seconds) >>> @azure/app-configuration tsc -p . && rollup -c 2>&1 && npm run extract-api -test/testHelpers.ts(74,31): error TS2322: Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterable'. +test/testHelpers.ts(74,31): error TS2322: Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterable'. Types of property '[Symbol.asyncIterator]' are incompatible. - Type '() => PagedAsyncIterableIterator' is not assignable to type '() => AsyncIterator'. - Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterator'. + Type '() => PagedAsyncIterableIterator' is not assignable to type '() => AsyncIterator'. + Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterator'. Types of property 'next' are incompatible. Type '() => Promise<{ done?: boolean | undefined; value: ConfigurationSetting; }>' is not assignable to type '(value?: any) => Promise>'. Type 'Promise<{ done?: boolean | undefined; value: ConfigurationSetting; }>' is not assignable to type 'Promise>'. @@ -108,20 +116,20 @@ test/testHelpers.ts(74,31): error TS2322: Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterable'. +test/testHelpers.ts(92,31): error TS2322: Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterable'. Types of property '[Symbol.asyncIterator]' are incompatible. - Type '() => PagedAsyncIterableIterator' is not assignable to type '() => AsyncIterator'. - Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterator'. + Type '() => PagedAsyncIterableIterator' is not assignable to type '() => AsyncIterator'. + Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterator'. Types of property 'next' are incompatible. Type '() => Promise<{ done?: boolean | undefined; value: ConfigurationSetting; }>' is not assignable to type '(value?: any) => Promise>'. Type 'Promise<{ done?: boolean | undefined; value: ConfigurationSetting; }>' is not assignable to type 'Promise>'. @azure/eventhubs-checkpointstore-blob ( ? seconds) >>> @azure/eventhubs-checkpointstore-blob tsc -p . && rollup -c 2>&1 && npm run extract-api -src/blobCheckpointStore.ts(50,32): error TS2322: Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterable'. +src/blobCheckpointStore.ts(50,32): error TS2322: Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterable'. Types of property '[Symbol.asyncIterator]' are incompatible. - Type '() => PagedAsyncIterableIterator' is not assignable to type '() => AsyncIterator'. - Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterator'. + Type '() => PagedAsyncIterableIterator' is not assignable to type '() => AsyncIterator'. + Type 'PagedAsyncIterableIterator' is not assignable to type 'AsyncIterator'. Types of property 'next' are incompatible. Type '() => Promise<{ done?: boolean | undefined; value: BlobItem; }>' is not assignable to type '(value?: any) => Promise>'. Type 'Promise<{ done?: boolean | undefined; value: BlobItem; }>' is not assignable to type 'Promise>'. @@ -142,7 +150,7 @@ npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log @azure/storage-file-datalake (? seconds) npm ERR! code ELIFECYCLE npm ERR! errno 2 -npm ERR! @azure/storage-file-datalake@X.X.X-preview.8 build:es6: `tsc -p tsconfig.json` +npm ERR! @azure/storage-file-datalake@X.X.X-preview.8 build:es6: `tsc -p tsconfig.json && npm run build:types` npm ERR! Exit status 2 npm ERR! npm ERR! Failed at the @azure/storage-file-datalake@X.X.X-preview.8 build:es?script. @@ -156,12 +164,17 @@ rush rebuild - Errors! ( ? seconds) Standard error: - +XX of XX: [@azure/event-hubs] completed with warnings in ? seconds +XX of XX: [@azure/event-processor-host] completed with warnings in ? seconds +XX of XX: [@azure/storage-blob] completed with warnings in ? seconds XX of XX: [@azure/app-configuration] failed! XX of XX: [@azure/cosmos] completed with warnings in ? seconds XX of XX: [@azure/eventhubs-checkpointstore-blob] failed! XX of XX: [@azure/keyvault-certificates] failed! +XX of XX: [@azure/service-bus] completed with warnings in ? seconds XX of XX: [@azure/storage-file-datalake] failed! +XX of XX: [@azure/storage-file-share] completed with warnings in ? seconds +XX of XX: [@azure/storage-queue] completed with warnings in ? seconds [@azure/app-configuration] Returned error code: 2 [@azure/eventhubs-checkpointstore-blob] Returned error code: 2 [@azure/keyvault-certificates] Returned error code: 2 diff --git a/tests/baselines/reference/docker/office-ui-fabric.log b/tests/baselines/reference/docker/office-ui-fabric.log index 025f2adcae0f0..9f19c77551601 100644 --- a/tests/baselines/reference/docker/office-ui-fabric.log +++ b/tests/baselines/reference/docker/office-ui-fabric.log @@ -1,5 +1,25 @@ Exit Code: 1 Standard output: +@fluentui/ability-attributes: yarn run vX.X.X +@fluentui/ability-attributes: $ npm run schema && gulp bundle:package:no-umd +@fluentui/ability-attributes: > @fluentui/ability-attributes@X.X.X schema /office-ui-fabric-react/packages/fluentui/ability-attributes +@fluentui/ability-attributes: > allyschema -c "process.env.NODE_ENV !== 'production'" schema.json > ./src/schema.ts +@fluentui/ability-attributes: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/ability-attributes: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/ability-attributes/gulpfile.ts +@fluentui/ability-attributes: Done in ?s. +@fluentui/digest: yarn run vX.X.X +@fluentui/digest: $ just-scripts build +@fluentui/digest: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/fluentui/digest/tsconfig.json +@fluentui/digest: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --module esnext --outDir lib --project "/office-ui-fabric-react/packages/fluentui/digest/tsconfig.json" +@fluentui/digest: [XX:XX:XX XM] ■ Running Webpack +@fluentui/digest: [XX:XX:XX XM] ■ Webpack Config Path: null +@fluentui/digest: [XX:XX:XX XM] ■ webpack.config.js not found, skipping webpack +@fluentui/digest: Done in ?s. +@fluentui/docs-components: yarn run vX.X.X +@fluentui/docs-components: $ gulp bundle:package:no-umd +@fluentui/docs-components: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/docs-components: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/docs-components/gulpfile.ts +@fluentui/docs-components: Done in ?s. @uifabric/build: yarn run vX.X.X @uifabric/build: $ node ./just-scripts.js no-op @uifabric/build: Done in ?s. @@ -40,6 +60,41 @@ Standard output: @uifabric/webpack-utils: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/webpack-utils/tsconfig.json @uifabric/webpack-utils: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module commonjs --project "/office-ui-fabric-react/packages/webpack-utils/tsconfig.json" @uifabric/webpack-utils: Done in ?s. +@fluentui/accessibility: yarn run vX.X.X +@fluentui/accessibility: $ gulp bundle:package:no-umd +@fluentui/accessibility: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/accessibility: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/accessibility/gulpfile.ts +@fluentui/accessibility: Done in ?s. +@fluentui/react-component-event-listener: yarn run vX.X.X +@fluentui/react-component-event-listener: $ gulp bundle:package:no-umd +@fluentui/react-component-event-listener: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/react-component-event-listener: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/react-component-event-listener/gulpfile.ts +@fluentui/react-component-event-listener: Done in ?s. +@fluentui/react-component-nesting-registry: yarn run vX.X.X +@fluentui/react-component-nesting-registry: $ gulp bundle:package:no-umd +@fluentui/react-component-nesting-registry: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/react-component-nesting-registry: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/react-component-nesting-registry/gulpfile.ts +@fluentui/react-component-nesting-registry: Done in ?s. +@fluentui/react-component-ref: yarn run vX.X.X +@fluentui/react-component-ref: $ gulp bundle:package:no-umd +@fluentui/react-component-ref: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/react-component-ref: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/react-component-ref/gulpfile.ts +@fluentui/react-component-ref: Done in ?s. +@fluentui/react-proptypes: yarn run vX.X.X +@fluentui/react-proptypes: $ gulp bundle:package:no-umd +@fluentui/react-proptypes: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/react-proptypes: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/react-proptypes/gulpfile.ts +@fluentui/react-proptypes: Done in ?s. +@fluentui/state: yarn run vX.X.X +@fluentui/state: $ gulp bundle:package:no-umd +@fluentui/state: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/state: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/state/gulpfile.ts +@fluentui/state: Done in ?s. +@fluentui/styles: yarn run vX.X.X +@fluentui/styles: $ gulp bundle:package:no-umd +@fluentui/styles: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/styles: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/styles/gulpfile.ts +@fluentui/styles: Done in ?s. @uifabric/merge-styles: yarn run vX.X.X @uifabric/merge-styles: $ just-scripts build @uifabric/merge-styles: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -49,6 +104,11 @@ Standard output: @uifabric/merge-styles: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/merge-styles/tsconfig.json" @uifabric/merge-styles: [XX:XX:XX XM] ■ Extracting Public API surface from '/office-ui-fabric-react/packages/merge-styles/lib/index.d.ts' @uifabric/merge-styles: Done in ?s. +@fluentui/react-bindings: yarn run vX.X.X +@fluentui/react-bindings: $ gulp bundle:package:no-umd +@fluentui/react-bindings: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/react-bindings: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/react-bindings/gulpfile.ts +@fluentui/react-bindings: Done in ?s. @uifabric/jest-serializer-merge-styles: yarn run vX.X.X @uifabric/jest-serializer-merge-styles: $ just-scripts build @uifabric/jest-serializer-merge-styles: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -57,6 +117,14 @@ Standard output: @uifabric/jest-serializer-merge-styles: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/jest-serializer-merge-styles/tsconfig.json @uifabric/jest-serializer-merge-styles: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/jest-serializer-merge-styles/tsconfig.json" @uifabric/jest-serializer-merge-styles: Done in ?s. +@fluentui/react: yarn run vX.X.X +@fluentui/react: $ gulp bundle:package +@fluentui/react: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/react: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/react/gulpfile.ts +@fluentui/react: [XX:XX:XX] Time: ?s +@fluentui/react: Built at: XX/XX/XX XX:XX:XX XM +@fluentui/react: Entrypoint @fluentui/react [big] = fluent-ui-react.min.js +@fluentui/react: Done in ?s. @uifabric/test-utilities: yarn run vX.X.X @uifabric/test-utilities: $ just-scripts build @uifabric/test-utilities: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -65,6 +133,42 @@ Standard output: @uifabric/test-utilities: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/test-utilities/tsconfig.json @uifabric/test-utilities: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/test-utilities/tsconfig.json" @uifabric/test-utilities: Done in ?s. +@fluentui/code-sandbox: yarn run vX.X.X +@fluentui/code-sandbox: $ gulp bundle:package:no-umd +@fluentui/code-sandbox: [XX:XX:XX] Requiring external module @uifabric/build/babel/register +@fluentui/code-sandbox: [XX:XX:XX] Using gulpfile /office-ui-fabric-react/packages/fluentui/code-sandbox/gulpfile.ts +@fluentui/code-sandbox: Done in ?s. +@fluentui/local-sandbox: yarn run vX.X.X +@fluentui/local-sandbox: $ webpack +@fluentui/local-sandbox: Starting type checking service... +@fluentui/local-sandbox: Using 1 worker with 2048MB memory limit +@fluentui/local-sandbox: Webpack Bundle Analyzer saved report to /office-ui-fabric-react/packages/fluentui/local-sandbox/dist/report.html +@fluentui/local-sandbox: Hash: [redacted] +@fluentui/local-sandbox: Version: webpack 4.X.X +@fluentui/local-sandbox: Time: ?s +@fluentui/local-sandbox: Built at: XX/XX/XX XX:XX:XX XM +@fluentui/local-sandbox: Asset Size Chunks Chunk Names +@fluentui/local-sandbox: app.js 4.79 MiB app [emitted] [big] app +@fluentui/local-sandbox: app.js.map 3.86 MiB app [emitted] app +@fluentui/local-sandbox: index.html X KiB [emitted] +@fluentui/local-sandbox: Entrypoint app [big] = app.js app.js.map +@fluentui/local-sandbox: [../accessibility/dist/es/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react-bindings/dist/es/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react-component-ref/dist/es/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/themes/colorUtils.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/themes/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/themes/teams/types.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/themes/types.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/types.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/utils/createComponent.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/utils/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/utils/positioner/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [../react/dist/es/utils/positioner/types.js] X KiB {app} [built] +@fluentui/local-sandbox: [../styles/dist/es/index.js] X KiB {app} [built] +@fluentui/local-sandbox: [./src/index.tsx] X KiB {app} [built] +@fluentui/local-sandbox: + 1210 hidden modules +@fluentui/local-sandbox: Done in ?s. @uifabric/utilities: yarn run vX.X.X @uifabric/utilities: $ just-scripts build @uifabric/utilities: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -74,6 +178,15 @@ Standard output: @uifabric/utilities: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/utilities/tsconfig.json" @uifabric/utilities: [XX:XX:XX XM] ■ Extracting Public API surface from '/office-ui-fabric-react/packages/utilities/lib/index.d.ts' @uifabric/utilities: Done in ?s. +@fluentui/react-focus: yarn run vX.X.X +@fluentui/react-focus: $ just-scripts build +@fluentui/react-focus: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] +@fluentui/react-focus: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/react-focus/tsconfig.json +@fluentui/react-focus: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib-commonjs --module commonjs --project "/office-ui-fabric-react/packages/react-focus/tsconfig.json" +@fluentui/react-focus: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/react-focus/tsconfig.json +@fluentui/react-focus: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/react-focus/tsconfig.json" +@fluentui/react-focus: [XX:XX:XX XM] ■ Extracting Public API surface from '/office-ui-fabric-react/packages/react-focus/lib/index.d.ts' +@fluentui/react-focus: Done in ?s. @uifabric/react-hooks: yarn run vX.X.X @uifabric/react-hooks: $ just-scripts build @uifabric/react-hooks: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -92,6 +205,14 @@ Standard output: @uifabric/styling: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/styling/tsconfig.json" @uifabric/styling: [XX:XX:XX XM] ■ Extracting Public API surface from '/office-ui-fabric-react/packages/styling/lib/index.d.ts' @uifabric/styling: Done in ?s. +@fluentui/react-theming: yarn run vX.X.X +@fluentui/react-theming: $ just-scripts build +@fluentui/react-theming: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] +@fluentui/react-theming: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/fluentui/react-theming/tsconfig.json +@fluentui/react-theming: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib-commonjs --module commonjs --project "/office-ui-fabric-react/packages/fluentui/react-theming/tsconfig.json" +@fluentui/react-theming: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/fluentui/react-theming/tsconfig.json +@fluentui/react-theming: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/fluentui/react-theming/tsconfig.json" +@fluentui/react-theming: Done in ?s. @uifabric/file-type-icons: yarn run vX.X.X @uifabric/file-type-icons: $ just-scripts build @uifabric/file-type-icons: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -119,6 +240,14 @@ Standard output: @uifabric/icons: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/icons/tsconfig.json" @uifabric/icons: [XX:XX:XX XM] ■ Extracting Public API surface from '/office-ui-fabric-react/packages/icons/lib/index.d.ts' @uifabric/icons: Done in ?s. +@fluentui/playground: yarn run vX.X.X +@fluentui/playground: $ just-scripts build +@fluentui/playground: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] +@fluentui/playground: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/fluentui/playground/tsconfig.json +@fluentui/playground: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib-commonjs --module commonjs --project "/office-ui-fabric-react/packages/fluentui/playground/tsconfig.json" +@fluentui/playground: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/fluentui/playground/tsconfig.json +@fluentui/playground: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/fluentui/playground/tsconfig.json" +@fluentui/playground: Done in ?s. office-ui-fabric-react: yarn run vX.X.X office-ui-fabric-react: $ just-scripts build office-ui-fabric-react: [XX:XX:XX XM] ■ Removing [lib, temp, dist, lib-amd, lib-commonjs, lib-es2015, coverage, src/**/*.scss.ts] @@ -135,17 +264,22 @@ office-ui-fabric-react: info Visit https://yarnpkg.com/en/docs/cli/run for docum Standard error: info cli using local version of lerna lerna notice cli vX.X.X -lerna info Executing command in 42 packages: "yarn run build" +lerna info Executing command in 60 packages: "yarn run build" +@fluentui/ability-attributes: npm WARN lifecycle The node binary used for scripts is /tmp/yarn--1581528613190-0.5454558853843026/node but npm is using /usr/local/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with. @uifabric/example-data: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/set-version: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/merge-styles: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/jest-serializer-merge-styles: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect +@fluentui/react: (node:990) [DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated. Use the async_context variant of MakeCallback or the AsyncResource class instead. @uifabric/utilities: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect +@fluentui/react-focus: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/react-hooks: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/styling: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect +@fluentui/react-theming: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/file-type-icons: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/foundation: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect @uifabric/icons: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect +@fluentui/playground: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect office-ui-fabric-react: [XX:XX:XX XM] ▲ One of these [node-sass, postcss, autoprefixer] is not installed, so this task has no effect office-ui-fabric-react: [XX:XX:XX XM] x Error detected while running 'ts:commonjs' office-ui-fabric-react: [XX:XX:XX XM] x ------------------------------------ @@ -168,15 +302,30 @@ office-ui-fabric-react: ~~~~~~~~~~~~~~~~~ office-ui-fabric-react: src/components/Calendar/CalendarYear.tsx:5:31 - error TS2307: Cannot find module './Calendar.scss'. office-ui-fabric-react: 5 import * as stylesImport from './Calendar.scss'; office-ui-fabric-react: ~~~~~~~~~~~~~~~~~ +office-ui-fabric-react: src/components/ChoiceGroup/ChoiceGroup.base.tsx:130:19 - error TS2783: 'key' is specified more than once, so this usage will be overwritten. +office-ui-fabric-react: 130 key={option.key} +office-ui-fabric-react: ~~~~~~~~~~~~~~~~ office-ui-fabric-react: src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.base.tsx:70:38 - error TS2554: Expected 1 arguments, but got 2. office-ui-fabric-react: 70 {onRenderField(this.props, this._onRenderField)} office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~ +office-ui-fabric-react: src/components/ComboBox/ComboBox.tsx:329:7 - error TS6133: 'onRenderList' is declared but its value is never read. +office-ui-fabric-react: 329 onRenderList = this._onRenderList, +office-ui-fabric-react: ~~~~~~~~~~~~ +office-ui-fabric-react: src/components/ComboBox/ComboBox.tsx:330:7 - error TS6133: 'onRenderItem' is declared but its value is never read. +office-ui-fabric-react: 330 onRenderItem = this._onRenderItem, +office-ui-fabric-react: ~~~~~~~~~~~~ +office-ui-fabric-react: src/components/ComboBox/ComboBox.tsx:331:7 - error TS6133: 'onRenderOption' is declared but its value is never read. +office-ui-fabric-react: 331 onRenderOption = this._onRenderOptionContent, +office-ui-fabric-react: ~~~~~~~~~~~~~~ office-ui-fabric-react: src/components/ComboBox/ComboBox.tsx:457:13 - error TS2554: Expected 1 arguments, but got 2. office-ui-fabric-react: 457 this._onRenderContainer office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~~~~~ office-ui-fabric-react: src/components/ContextualMenu/examples/ContextualMenu.Icon.Example.tsx:12:31 - error TS2307: Cannot find module './ContextualMenuExample.scss'. office-ui-fabric-react: 12 import * as stylesImport from './ContextualMenuExample.scss'; office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +office-ui-fabric-react: src/components/DetailsList/DetailsList.base.tsx:479:19 - error TS2783: 'selection' is specified more than once, so this usage will be overwritten. +office-ui-fabric-react: 479 selection={selection} +office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~~~ office-ui-fabric-react: src/components/ExtendedPicker/BaseExtendedPicker.tsx:5:31 - error TS2307: Cannot find module './BaseExtendedPicker.scss'. office-ui-fabric-react: 5 import * as stylesImport from './BaseExtendedPicker.scss'; office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -222,7 +371,7 @@ office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~~ office-ui-fabric-react: src/components/pickers/Suggestions/SuggestionsItem.tsx:8:31 - error TS2307: Cannot find module './Suggestions.scss'. office-ui-fabric-react: 8 import * as stylesImport from './Suggestions.scss'; office-ui-fabric-react: ~~~~~~~~~~~~~~~~~~~~ -office-ui-fabric-react: Found 22 errors. +office-ui-fabric-react: Found 27 errors. office-ui-fabric-react: [XX:XX:XX XM] x ------------------------------------ office-ui-fabric-react: [XX:XX:XX XM] x Error previously detected. See above for error messages. office-ui-fabric-react: [XX:XX:XX XM] x Other tasks that did not complete: [ts:esm] diff --git a/tests/baselines/reference/docker/vscode.log b/tests/baselines/reference/docker/vscode.log index 80568ec0f84d3..7484c083d8cb9 100644 --- a/tests/baselines/reference/docker/vscode.log +++ b/tests/baselines/reference/docker/vscode.log @@ -4,25 +4,21 @@ yarn run vX.X.X $ gulp compile --max_old_space_size=4095 [XX:XX:XX] Node flags detected: --max_old_space_size=4095 [XX:XX:XX] Using gulpfile /vscode/gulpfile.js -[XX:XX:XX] Error: /vscode/src/vs/workbench/contrib/remote/browser/remote.ts(637,8): Parameter 'choice' implicitly has an 'any' type. -[XX:XX:XX] Error: /vscode/src/vs/workbench/contrib/remote/browser/remote.ts(652,8): Parameter 'choice' implicitly has an 'any' type. -[XX:XX:XX] Error: /vscode/src/vs/workbench/contrib/remote/browser/remote.ts(637,8): Parameter 'choice' implicitly has an 'any' type. -[XX:XX:XX] Error: /vscode/src/vs/workbench/contrib/remote/browser/remote.ts(652,8): Parameter 'choice' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/typescript-language-features/src/typescriptServiceClient.ts(735,37): 'command' is specified more than once, so this usage will be overwritten. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. Standard error: -[XX:XX:XX] 'compile' errored after -[XX:XX:XX] Error: Found 2 errors +[XX:XX:XX] 'compile' errored after ?s +[XX:XX:XX] Error: Found 1 errors at Stream. (/vscode/build/lib/reporter.js:74:29) at _end (/vscode/node_modules/through/index.js:65:9) at Stream.stream.end (/vscode/node_modules/through/index.js:74:5) - at Stream.onend (internal/streams/legacy.js:42:10) - at Stream.emit (events.js:203:15) - at Stream.EventEmitter.emit (domain.js:466:23) - at drain (/vscode/node_modules/through/index.js:34:23) - at Stream.stream.resume (/vscode/node_modules/through/index.js:99:5) - at Stream.ondrain (internal/streams/legacy.js:24:14) - at Stream.emit (events.js:198:13) + at StreamFilter.onend (/vscode/node_modules/readable-stream/lib/_stream_readable.js:570:10) + at Object.onceWrapper (events.js:286:20) + at StreamFilter.emit (events.js:203:15) + at StreamFilter.EventEmitter.emit (domain.js:466:23) + at endReadableNT (/vscode/node_modules/readable-stream/lib/_stream_readable.js:992:12) + at process._tickCallback (internal/process/next_tick.js:63:19) error Command failed with exit code 1. diff --git a/tests/baselines/reference/errorForwardReferenceForwadingConstructor.types b/tests/baselines/reference/errorForwardReferenceForwadingConstructor.types index 5610ea98be071..1cbecfbd3e351 100644 --- a/tests/baselines/reference/errorForwardReferenceForwadingConstructor.types +++ b/tests/baselines/reference/errorForwardReferenceForwadingConstructor.types @@ -5,8 +5,8 @@ function f() { >f : () => void var d1 = new derived(); ->d1 : any ->new derived() : any +>d1 : derived +>new derived() : derived >derived : typeof derived var d2 = new derived(4); diff --git a/tests/baselines/reference/exportAssignmentConstrainedGenericType.types b/tests/baselines/reference/exportAssignmentConstrainedGenericType.types index f70d2001a112f..08ac4560e108e 100644 --- a/tests/baselines/reference/exportAssignmentConstrainedGenericType.types +++ b/tests/baselines/reference/exportAssignmentConstrainedGenericType.types @@ -3,8 +3,8 @@ import foo = require("./foo_0"); >foo : typeof foo var x = new foo(true); // Should error ->x : any ->new foo(true) : any +>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/extractInferenceImprovement.errors.txt b/tests/baselines/reference/extractInferenceImprovement.errors.txt index b3582f6b02227..74b2f61451505 100644 --- a/tests/baselines/reference/extractInferenceImprovement.errors.txt +++ b/tests/baselines/reference/extractInferenceImprovement.errors.txt @@ -1,8 +1,10 @@ tests/cases/compiler/extractInferenceImprovement.ts(26,26): error TS2345: Argument of type 'unique symbol' is not assignable to parameter of type 'never'. +tests/cases/compiler/extractInferenceImprovement.ts(28,1): error TS2322: Type 'string | number' is not assignable to type 'string'. + Type 'number' is not assignable to type 'string'. tests/cases/compiler/extractInferenceImprovement.ts(28,26): error TS2345: Argument of type 'unique symbol' is not assignable to parameter of type '"first" | "second"'. -==== tests/cases/compiler/extractInferenceImprovement.ts (2 errors) ==== +==== tests/cases/compiler/extractInferenceImprovement.ts (3 errors) ==== // repro mostly from https://github.com/Microsoft/TypeScript/issues/25065 function getProperty2(obj: T, key: Extract): T[K] { return obj[key]; @@ -33,6 +35,9 @@ tests/cases/compiler/extractInferenceImprovement.ts(28,26): error TS2345: Argume !!! error TS2345: Argument of type 'unique symbol' is not assignable to parameter of type 'never'. prop = getProperty3(obj, s); + ~~~~ +!!! error TS2322: Type 'string | number' is not assignable to type 'string'. +!!! error TS2322: Type 'number' is not assignable to type 'string'. ~ !!! error TS2345: Argument of type 'unique symbol' is not assignable to parameter of type '"first" | "second"'. \ No newline at end of file diff --git a/tests/baselines/reference/extractInferenceImprovement.types b/tests/baselines/reference/extractInferenceImprovement.types index 0e18dc30ee005..e14e293e8197a 100644 --- a/tests/baselines/reference/extractInferenceImprovement.types +++ b/tests/baselines/reference/extractInferenceImprovement.types @@ -65,17 +65,17 @@ prop = getProperty3(obj, 'first'); // Should fail prop = getProperty2(obj, s); ->prop = getProperty2(obj, s) : any +>prop = getProperty2(obj, s) : string >prop : string ->getProperty2(obj, s) : any +>getProperty2(obj, s) : string >getProperty2 : (obj: T, key: Extract) => T[K] >obj : StrNum >s : unique symbol prop = getProperty3(obj, s); ->prop = getProperty3(obj, s) : any +>prop = getProperty3(obj, s) : string | number >prop : string ->getProperty3(obj, s) : any +>getProperty3(obj, s) : string | number >getProperty3 : >(obj: T, key: K) => T[K] >obj : StrNum >s : unique symbol diff --git a/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.types b/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.types index 776ecd2fc5d61..e097957fcdfc0 100644 --- a/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.types +++ b/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.types @@ -5,7 +5,7 @@ function bar(item1: T, item2: T) { } >item2 : T bar(1, ""); // Should be ok ->bar(1, "") : any +>bar(1, "") : void >bar : (item1: T, item2: T) => void >1 : 1 >"" : "" diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt b/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt index 24aa0d124ca19..7ef4455e3d821 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.errors.txt @@ -1,7 +1,8 @@ tests/cases/compiler/fixingTypeParametersRepeatedly2.ts(11,32): error TS2741: Property 'toBase' is missing in type 'Base' but required in type 'Derived'. +tests/cases/compiler/fixingTypeParametersRepeatedly2.ts(17,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'result' must be of type 'Derived', but here has type 'Base'. -==== tests/cases/compiler/fixingTypeParametersRepeatedly2.ts (1 errors) ==== +==== tests/cases/compiler/fixingTypeParametersRepeatedly2.ts (2 errors) ==== interface Base { baseProp; } @@ -22,4 +23,7 @@ tests/cases/compiler/fixingTypeParametersRepeatedly2.ts(11,32): error TS2741: Pr // The same error should be observed in both cases. declare function bar(x: T, func: (p: T) => T): T; declare function bar(x: T, func: (p: T) => T): T; - var result = bar(derived, d => d.toBase()); \ No newline at end of file + var result = bar(derived, d => d.toBase()); + ~~~~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'result' must be of type 'Derived', but here has type 'Base'. +!!! related TS6203 tests/cases/compiler/fixingTypeParametersRepeatedly2.ts:11:5: 'result' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types index 204e83fe60048..52fb38c025c43 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types @@ -18,8 +18,8 @@ declare function foo(x: T, func: (p: T) => T): T; >p : T var result = foo(derived, d => d.toBase()); ->result : any ->foo(derived, d => d.toBase()) : any +>result : Derived +>foo(derived, d => d.toBase()) : Derived >foo : (x: T, func: (p: T) => T) => T >derived : Derived >d => d.toBase() : (d: Derived) => Base @@ -44,7 +44,7 @@ declare function bar(x: T, func: (p: T) => T): T; >p : T var result = bar(derived, d => d.toBase()); ->result : any +>result : Derived >bar(derived, d => d.toBase()) : Base >bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } >derived : Derived diff --git a/tests/baselines/reference/for-of39.types b/tests/baselines/reference/for-of39.types index 0b69e4d1b3063..fe0b788c3b31d 100644 --- a/tests/baselines/reference/for-of39.types +++ b/tests/baselines/reference/for-of39.types @@ -1,24 +1,24 @@ === tests/cases/conformance/es6/for-ofStatements/for-of39.ts === var map = new Map([["", true], ["", 0]]); ->map : any ->new Map([["", true], ["", 0]]) : any +>map : Map +>new Map([["", true], ["", 0]]) : Map >Map : MapConstructor ->[["", true], ["", 0]] : ((string | boolean)[] | (string | number)[])[] ->["", true] : (string | boolean)[] +>[["", true], ["", 0]] : ([string, number] | [string, true])[] +>["", true] : [string, true] >"" : "" >true : true ->["", 0] : (string | number)[] +>["", 0] : [string, number] >"" : "" >0 : 0 for (var [k, v] of map) { ->k : any ->v : any ->map : any +>k : string +>v : boolean +>map : Map k; ->k : any +>k : string v; ->v : any +>v : boolean } diff --git a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types index 173f8c8e3ecab..cc053d93d0592 100644 --- a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types +++ b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types @@ -23,7 +23,7 @@ function call0(p: A | B) { >p : A | B p.a("s"); // Error ->p.a("s") : any +>p.a("s") : string >p.a : ((x: number) => string) | ((x: boolean) => string) >p : A | B >a : ((x: number) => string) | ((x: boolean) => string) @@ -35,7 +35,7 @@ function callN(p: T) { >p : T p.a("s"); // Error ->p.a("s") : any +>p.a("s") : string >p.a : ((x: number) => string) | ((x: boolean) => string) >p : T >a : ((x: number) => string) | ((x: boolean) => string) @@ -48,12 +48,12 @@ function callN(p: T) { >a : ((x: number) => string) | ((x: boolean) => string) a(""); // Error ->a("") : any +>a("") : string >a : T["a"] >"" : "" a("", "", "", ""); // Error ->a("", "", "", "") : any +>a("", "", "", "") : string >a : T["a"] >"" : "" >"" : "" diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.types b/tests/baselines/reference/functionConstraintSatisfaction2.types index f0a0f3b61f221..2bfb78286db1f 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.types +++ b/tests/baselines/reference/functionConstraintSatisfaction2.types @@ -7,18 +7,18 @@ function foo(x: T): T { return x; } >x : T foo(1); ->foo(1) : any +>foo(1) : Function >foo : (x: T) => T >1 : 1 foo(() => { }, 1); ->foo(() => { }, 1) : any +>foo(() => { }, 1) : () => void >foo : (x: T) => T >() => { } : () => void >1 : 1 foo(1, () => { }); ->foo(1, () => { }) : any +>foo(1, () => { }) : Function >foo : (x: T) => T >1 : 1 >() => { } : () => void @@ -52,29 +52,29 @@ var b2: { new (x: T): T }; >x : T var r = foo2(new Function()); ->r : any ->foo2(new Function()) : any +>r : (x: string) => string +>foo2(new Function()) : (x: string) => string >foo2 : string>(x: T) => T >new Function() : Function >Function : FunctionConstructor var r2 = foo2((x: string[]) => x); ->r2 : any ->foo2((x: string[]) => x) : any +>r2 : (x: string) => string +>foo2((x: string[]) => x) : (x: string) => string >foo2 : string>(x: T) => T >(x: string[]) => x : (x: string[]) => string[] >x : string[] >x : string[] var r6 = foo2(C); ->r6 : any ->foo2(C) : any +>r6 : (x: string) => string +>foo2(C) : (x: string) => string >foo2 : string>(x: T) => T >C : typeof C var r7 = foo2(b); ->r7 : any ->foo2(b) : any +>r7 : (x: string) => string +>foo2(b) : (x: string) => string >foo2 : string>(x: T) => T >b : new (x: string) => string @@ -87,8 +87,8 @@ var r8 = foo2((x: U) => x); // no error expected >x : U var r11 = foo2((x: U, y: V) => x); ->r11 : any ->foo2((x: U, y: V) => x) : any +>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 @@ -96,14 +96,14 @@ var r11 = foo2((x: U, y: V) => x); >x : U var r13 = foo2(C2); ->r13 : any ->foo2(C2) : any +>r13 : (x: string) => string +>foo2(C2) : (x: string) => string >foo2 : string>(x: T) => T >C2 : typeof C2 var r14 = foo2(b2); ->r14 : any ->foo2(b2) : any +>r14 : (x: string) => string +>foo2(b2) : (x: string) => string >foo2 : string>(x: T) => T >b2 : new (x: T) => T @@ -114,8 +114,8 @@ var f2: F2; >f2 : F2 var r16 = foo2(f2); ->r16 : any ->foo2(f2) : any +>r16 : (x: string) => string +>foo2(f2) : (x: string) => string >foo2 : string>(x: T) => T >f2 : F2 @@ -125,12 +125,12 @@ function fff(x: T, y: U) { >y : U foo2(x); ->foo2(x) : any +>foo2(x) : (x: string) => string >foo2 : string>(x: T) => T >x : T foo2(y); ->foo2(y) : any +>foo2(y) : (x: string) => string >foo2 : string>(x: T) => T >y : U } diff --git a/tests/baselines/reference/functionOverloads.types b/tests/baselines/reference/functionOverloads.types index f3fd68f1cb7a1..b3e2616832914 100644 --- a/tests/baselines/reference/functionOverloads.types +++ b/tests/baselines/reference/functionOverloads.types @@ -12,8 +12,8 @@ function foo(bar?: string): any { return "" }; >"" : "" var x = foo(5); ->x : any ->foo(5) : any +>x : never +>foo(5) : never >foo : { (): string; (bar: string): number; } >5 : 5 diff --git a/tests/baselines/reference/functionOverloads2.types b/tests/baselines/reference/functionOverloads2.types index 4b6c7edce6c0c..d6075a93af856 100644 --- a/tests/baselines/reference/functionOverloads2.types +++ b/tests/baselines/reference/functionOverloads2.types @@ -13,8 +13,8 @@ function foo(bar: any): any { return bar }; >bar : any var x = foo(true); ->x : any ->foo(true) : any +>x : never +>foo(true) : never >foo : { (bar: string): string; (bar: number): number; } >true : true diff --git a/tests/baselines/reference/functionOverloads27.types b/tests/baselines/reference/functionOverloads27.types index 49e4d80571786..c976e42d93ad6 100644 --- a/tests/baselines/reference/functionOverloads27.types +++ b/tests/baselines/reference/functionOverloads27.types @@ -12,8 +12,8 @@ function foo(bar?:any):any{ return '' } >'' : "" var x = foo(5); ->x : any ->foo(5) : any +>x : never +>foo(5) : never >foo : { (): string; (bar: string): number; } >5 : 5 diff --git a/tests/baselines/reference/functionOverloads29.types b/tests/baselines/reference/functionOverloads29.types index cf24c2b1f24b0..adc25ad5c0ab2 100644 --- a/tests/baselines/reference/functionOverloads29.types +++ b/tests/baselines/reference/functionOverloads29.types @@ -13,7 +13,7 @@ function foo(bar:any):any{ return bar } >bar : any var x = foo(); ->x : any ->foo() : any +>x : never +>foo() : never >foo : { (bar: string): string; (bar: number): number; } diff --git a/tests/baselines/reference/functionOverloads34.types b/tests/baselines/reference/functionOverloads34.types index e49f86b5f5a94..8e979aaa96f47 100644 --- a/tests/baselines/reference/functionOverloads34.types +++ b/tests/baselines/reference/functionOverloads34.types @@ -16,7 +16,7 @@ function foo(bar:{a:any;}):any{ return bar } >bar : { a: any; } var x = foo(); ->x : any ->foo() : any +>x : never +>foo() : never >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } diff --git a/tests/baselines/reference/functionOverloads37.types b/tests/baselines/reference/functionOverloads37.types index ccb7db26e5833..99087180604f3 100644 --- a/tests/baselines/reference/functionOverloads37.types +++ b/tests/baselines/reference/functionOverloads37.types @@ -16,7 +16,7 @@ function foo(bar:{a:any;}[]):any{ return bar } >bar : { a: any; }[] var x = foo(); ->x : any ->foo() : any +>x : never +>foo() : never >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } diff --git a/tests/baselines/reference/functionOverloads40.types b/tests/baselines/reference/functionOverloads40.types index 7d744c5b10c67..3ba5b993b5d86 100644 --- a/tests/baselines/reference/functionOverloads40.types +++ b/tests/baselines/reference/functionOverloads40.types @@ -16,8 +16,8 @@ function foo(bar:{a:any;}[]):any{ return bar } >bar : { a: any; }[] var x = foo([{a:'bar'}]); ->x : any ->foo([{a:'bar'}]) : any +>x : never +>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 d16c412737ca4..6dfeb47f22e77 100644 --- a/tests/baselines/reference/functionOverloads41.types +++ b/tests/baselines/reference/functionOverloads41.types @@ -16,8 +16,8 @@ function foo(bar:{a:any;}[]):any{ return bar } >bar : { a: any; }[] var x = foo([{}]); ->x : any ->foo([{}]) : any +>x : never +>foo([{}]) : never >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >[{}] : {}[] >{} : {} diff --git a/tests/baselines/reference/functionTypeArgumentArityErrors.types b/tests/baselines/reference/functionTypeArgumentArityErrors.types index c91cf39674fe8..3bb8e7ee0c846 100644 --- a/tests/baselines/reference/functionTypeArgumentArityErrors.types +++ b/tests/baselines/reference/functionTypeArgumentArityErrors.types @@ -7,11 +7,11 @@ declare function f1(): void; >f1 : { (): void; (): void; } f1(); ->f1() : any +>f1() : void >f1 : { (): void; (): void; } f1(); ->f1() : any +>f1() : void >f1 : { (): void; (): void; } // Overloaded functions with no default type arguments @@ -22,11 +22,11 @@ declare function f2(): void; >f2 : { (): void; (): void; } f2(); ->f2() : any +>f2() : void >f2 : { (): void; (): void; } f2(); ->f2() : any +>f2() : void >f2 : { (): void; (): void; } // Overloaded non-generic functions @@ -38,7 +38,7 @@ declare function f3(a): void; >a : any f3(); ->f3() : any +>f3() : void >f3 : { (): void; (a: any): void; } // Generic function with default type parameters @@ -46,11 +46,11 @@ declare function f4(): void; >f4 : () => void f4(); ->f4() : any +>f4() : void >f4 : () => void f4(); ->f4() : any +>f4() : void >f4 : () => void // Generic function with no default type arguments @@ -58,10 +58,10 @@ declare function f5(): void; >f5 : () => void f5(); ->f5() : any +>f5() : void >f5 : () => void f5(); ->f5() : any +>f5() : void >f5 : () => void diff --git a/tests/baselines/reference/generatorTypeCheck63.types b/tests/baselines/reference/generatorTypeCheck63.types index 12d78bac5df81..5af197f769a14 100644 --- a/tests/baselines/reference/generatorTypeCheck63.types +++ b/tests/baselines/reference/generatorTypeCheck63.types @@ -50,14 +50,14 @@ 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;}) : any +>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 >state : State yield 1; ->yield 1 : any +>yield 1 : undefined >1 : 1 return state; diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index abb103ccb5cb3..ff35469d81b3c 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -27,11 +27,11 @@ declare var _: Underscore.Static; // No error, Call signatures of types '(value: T) => T' and 'Underscore.Iterator<{}, boolean>' are compatible when instantiated with any. // Ideally, we would not have a generic signature here, because it should be instantiated with {} during inferential typing _.all([true, 1, null, 'yes'], _.identity); ->_.all([true, 1, null, 'yes'], _.identity) : any +>_.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 | boolean)[] +>[true, 1, null, 'yes'] : (string | number | true)[] >true : true >1 : 1 >null : null diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types index 4b7c092e01282..f9d17fc71b371 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types @@ -49,8 +49,8 @@ module m2 { >numPromise : Promise var newPromise = numPromise.then(testFunction); ->newPromise : any ->numPromise.then(testFunction) : any +>newPromise : Promise +>numPromise.then(testFunction) : Promise >numPromise.then : (cb: (x: number) => Promise) => Promise >numPromise : Promise >then : (cb: (x: number) => Promise) => Promise @@ -123,8 +123,8 @@ module m4 { >numPromise : Promise var newPromise = numPromise.then(testFunction); ->newPromise : any ->numPromise.then(testFunction) : any +>newPromise : Promise +>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; } @@ -171,8 +171,8 @@ module m5 { >numPromise : Promise var newPromise = numPromise.then(testFunction); ->newPromise : any ->numPromise.then(testFunction) : any +>newPromise : Promise +>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; } @@ -214,8 +214,8 @@ module m6 { >numPromise : Promise var newPromise = numPromise.then(testFunction); ->newPromise : any ->numPromise.then(testFunction) : any +>newPromise : Promise +>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; } diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types index 23a2a5651a40b..2bad0294bda21 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types @@ -32,8 +32,8 @@ var r3 = foo(new Object()); // {} >Object : ObjectConstructor var r4 = foo(1); // error ->r4 : any ->foo(1) : any +>r4 : Date +>foo(1) : Date >foo : (t: T) => U >1 : 1 diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types index 75d775c761c31..4902b207eafd6 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types @@ -34,8 +34,8 @@ var arg2: { cb: new (x: T, y: T) => string }; >y : T var r2 = foo(arg2); // error ->r2 : any ->foo(arg2) : any +>r2 : string +>foo(arg2) : string >foo : (arg: { cb: new (t: T) => U; }) => U >arg2 : { cb: new (x: T, y: T) => string; } @@ -46,8 +46,8 @@ var arg3: { cb: new (x: string, y: number) => string }; >y : number var r3 = foo(arg3); // error ->r3 : any ->foo(arg3) : any +>r3 : string +>foo(arg3) : string >foo : (arg: { cb: new (t: T) => U; }) => U >arg3 : { cb: new (x: string, y: number) => string; } diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types index 0297af07b23cd..30cd1e29ad42e 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types @@ -100,8 +100,8 @@ var r7 = foo3(1, (a: Z) => '', ''); // string >'' : "" var r8 = foo3(1, function (a) { return '' }, 1); // error ->r8 : any ->foo3(1, function (a) { return '' }, 1) : any +>r8 : number +>foo3(1, function (a) { return '' }, 1) : 1 >foo3 : (x: T, cb: (a: T) => U, y: U) => U >1 : 1 >function (a) { return '' } : (a: number) => string @@ -125,8 +125,8 @@ function other(t: T, u: U) { >u : U var r10 = foo2(1, (x: T) => ''); // error ->r10 : any ->foo2(1, (x: T) => '') : any +>r10 : string +>foo2(1, (x: T) => '') : string >foo2 : (x: T, cb: (a: T) => U) => U >1 : 1 >(x: T) => '' : (x: T) => string @@ -134,7 +134,7 @@ function other(t: T, u: U) { >'' : "" var r10 = foo2(1, (x) => ''); // string ->r10 : any +>r10 : string >foo2(1, (x) => '') : string >foo2 : (x: T, cb: (a: T) => U) => U >1 : 1 @@ -143,8 +143,8 @@ function other(t: T, u: U) { >'' : "" var r11 = foo3(1, (x: T) => '', ''); // error ->r11 : any ->foo3(1, (x: T) => '', '') : any +>r11 : string +>foo3(1, (x: T) => '', '') : string >foo3 : (x: T, cb: (a: T) => U, y: U) => U >1 : 1 >(x: T) => '' : (x: T) => string @@ -153,8 +153,8 @@ function other(t: T, u: U) { >'' : "" var r11b = foo3(1, (x: T) => '', 1); // error ->r11b : any ->foo3(1, (x: T) => '', 1) : any +>r11b : string +>foo3(1, (x: T) => '', 1) : string >foo3 : (x: T, cb: (a: T) => U, y: U) => U >1 : 1 >(x: T) => '' : (x: T) => string @@ -163,8 +163,8 @@ function other(t: T, u: U) { >1 : 1 var r12 = foo3(1, function (a) { return '' }, 1); // error ->r12 : any ->foo3(1, function (a) { return '' }, 1) : any +>r12 : number +>foo3(1, function (a) { return '' }, 1) : 1 >foo3 : (x: T, cb: (a: T) => U, y: U) => U >1 : 1 >function (a) { return '' } : (a: number) => string diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types index 9699261a641fb..7b7d4680af2eb 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types @@ -71,8 +71,8 @@ function foo2(x: T, cb: new(a: T) => U) { } var r4 = foo2(1, i2); // error ->r4 : any ->foo2(1, i2) : any +>r4 : string +>foo2(1, i2) : string >foo2 : (x: T, cb: new (a: T) => U) => U >1 : 1 >i2 : I2 @@ -128,8 +128,8 @@ var r7b = foo3(null, a, ''); // any >'' : "" var r8 = foo3(1, i2, 1); // error ->r8 : any ->foo3(1, i2, 1) : any +>r8 : string +>foo3(1, i2, 1) : string >foo3 : (x: T, cb: new (a: T) => U, y: U) => U >1 : 1 >i2 : I2 diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types index 864aa0ec90d87..99087a71453b8 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types @@ -31,8 +31,8 @@ var r = foo(arg); // {} // more args not allowed var r2 = foo({ cb: (x: T, y: T) => '' }); // error ->r2 : any ->foo({ cb: (x: T, y: T) => '' }) : any +>r2 : unknown +>foo({ cb: (x: T, y: T) => '' }) : unknown >foo : (arg: { cb: (t: T) => U; }) => U >{ cb: (x: T, y: T) => '' } : { cb: (x: T, y: T) => string; } >cb : (x: T, y: T) => string @@ -42,8 +42,8 @@ var r2 = foo({ cb: (x: T, y: T) => '' }); // error >'' : "" var r3 = foo({ cb: (x: string, y: number) => '' }); // error ->r3 : any ->foo({ cb: (x: string, y: number) => '' }) : any +>r3 : string +>foo({ cb: (x: string, y: number) => '' }) : string >foo : (arg: { cb: (t: T) => U; }) => U >{ cb: (x: string, y: number) => '' } : { cb: (x: string, y: number) => string; } >cb : (x: string, y: number) => string diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types index 64acb69d4e600..30394aa970f53 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types @@ -23,7 +23,7 @@ module onlyT { var r1: (x: {}) => {} = foo((x: number) => 1, (x: string) => ''); >r1 : (x: {}) => {} >x : {} ->foo((x: number) => 1, (x: string) => '') : any +>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 @@ -82,8 +82,8 @@ module onlyT { >x : T var r7 = foo2((a: T) => a, (b: T) => b); // error ->r7 : any ->foo2((a: T) => a, (b: T) => b) : any +>r7 : (x: Date) => Date +>foo2((a: T) => a, (b: T) => b) : (x: Date) => Date >foo2 : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T >(a: T) => a : (a: T) => T >a : T @@ -129,8 +129,8 @@ module onlyT { } var r7 = foo3(E.A, (x) => E.A, (x) => F.A); // error ->r7 : any ->foo3(E.A, (x) => E.A, (x) => F.A) : any +>r7 : (x: E) => E +>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 @@ -226,8 +226,8 @@ module TU { >x : T var r7 = foo2((a: T) => a, (b: T) => b); ->r7 : any ->foo2((a: T) => a, (b: T) => b) : any +>r7 : (x: Date) => Date +>foo2((a: T) => a, (b: T) => b) : (x: Date) => Date >foo2 : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T >(a: T) => a : (a: T) => T >a : T diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types index 5bd041097239a..531225ad6b25f 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types @@ -175,8 +175,8 @@ var x: (a: string) => boolean; >a : string var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error ->r11 : any ->foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2) : any +>r11 : (x: (a: string) => boolean) => (n: Object) => number +>foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2) : (x: (a: string) => boolean) => (n: Object) => number >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) => number @@ -191,8 +191,8 @@ var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: stri >2 : 2 var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2); // error ->r12 : any ->foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2) : any +>r12 : (x: (z: string) => boolean) => (n: Object) => number +>foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2) : (x: (z: string) => boolean) => (n: Object) => number >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) => number diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types index e19a6b327c614..7343f8a703fab 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types @@ -10,8 +10,8 @@ function foo(x: { bar: T; baz: T }) { } var r = foo({ bar: 1, baz: '' }); // error ->r : any ->foo({ bar: 1, baz: '' }) : any +>r : { bar: number; baz: number; } +>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 diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types b/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types index 1ecc71016f701..633a0cd3fbbb4 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArguments1.types @@ -9,8 +9,8 @@ function foo(n: { x: T; y: T }, m: T) { return m; } // these are all errors var x = foo({ x: 3, y: "" }, 4); ->x : any ->foo({ x: 3, y: "" }, 4) : any +>x : number +>foo({ x: 3, y: "" }, 4) : number >foo : (n: { x: T; y: T; }, m: T) => T >{ x: 3, y: "" } : { x: number; y: string; } >x : number @@ -20,8 +20,8 @@ var x = foo({ x: 3, y: "" }, 4); >4 : 4 var x2 = foo({ x: 3, y: "" }, 4); ->x2 : any ->foo({ x: 3, y: "" }, 4) : any +>x2 : number +>foo({ x: 3, y: "" }, 4) : number >foo : (n: { x: T; y: T; }, m: T) => T >{ x: 3, y: "" } : { x: number; y: string; } >x : number @@ -31,8 +31,8 @@ var x2 = foo({ x: 3, y: "" }, 4); >4 : 4 var x3 = foo({ x: 3, y: "" }, 4); ->x3 : any ->foo({ x: 3, y: "" }, 4) : any +>x3 : string +>foo({ x: 3, y: "" }, 4) : string >foo : (n: { x: T; y: T; }, m: T) => T >{ x: 3, y: "" } : { x: number; y: string; } >x : number @@ -42,8 +42,8 @@ var x3 = foo({ x: 3, y: "" }, 4); >4 : 4 var x4 = foo({ x: "", y: 4 }, ""); ->x4 : any ->foo({ x: "", y: 4 }, "") : any +>x4 : number +>foo({ x: "", y: 4 }, "") : number >foo : (n: { x: T; y: T; }, m: T) => T >{ x: "", y: 4 } : { x: string; y: number; } >x : string @@ -53,8 +53,8 @@ var x4 = foo({ x: "", y: 4 }, ""); >"" : "" var x5 = foo({ x: "", y: 4 }, ""); ->x5 : any ->foo({ x: "", y: 4 }, "") : any +>x5 : string +>foo({ x: "", y: 4 }, "") : string >foo : (n: { x: T; y: T; }, m: T) => T >{ x: "", y: 4 } : { x: string; y: number; } >x : string diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs.types b/tests/baselines/reference/genericCallWithObjectTypeArgs.types index 1a82a3c6f55c2..17d86f72378e3 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs.types @@ -43,8 +43,8 @@ var d1 = new X(); >X : typeof X var r = foo(c1, d1); // error ->r : any ->foo(c1, d1) : any +>r : C +>foo(c1, d1) : C >foo : (t: X, t2: X) => T >c1 : X >d1 : X diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types index b0b6e89d23c7e..a670d20e03987 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types @@ -36,8 +36,8 @@ function f(a: { x: T; y: T }) { } var r1 = f({ x: new Derived(), y: new Derived2() }); // error because neither is supertype of the other ->r1 : any ->f({ x: new Derived(), y: new Derived2() }) : any +>r1 : Derived +>f({ x: new Derived(), y: new Derived2() }) : Derived >f : (a: { x: T; y: T; }) => T >{ x: new Derived(), y: new Derived2() } : { x: Derived; y: Derived2; } >x : Derived diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types index bffffbd102138..b8711333c4da7 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types @@ -43,8 +43,8 @@ var r = foo(c, d); >d : D var r2 = foo(d, c); // error because C does not extend D ->r2 : any ->foo(d, c) : any +>r2 : (x: D) => D +>foo(d, c) : (x: D) => D >foo : (t: T, t2: U) => (x: T) => U >d : D >c : C @@ -114,8 +114,8 @@ function other() { >d : D var r5 = foo(c, d); // error ->r5 : any ->foo(c, d) : any +>r5 : (x: T) => U +>foo(c, d) : (x: T) => U >foo : (t: T, t2: U) => (x: T) => U >c : C >d : D diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types index 1d54e41e6bec8..5b8b72fa61cef 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types @@ -36,15 +36,15 @@ var d: D; >d : D var r2 = foo(d, c); // the constraints are self-referencing, no downstream error ->r2 : any ->foo(d, c) : any +>r2 : (x: D) => D +>foo(d, c) : (x: D) => D >foo : (t: T, t2: U) => (x: T) => U >d : D >c : C var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no downstream error ->r9 : any ->foo(() => 1, () => { }) : any +>r9 : (x: () => number) => () => number +>foo(() => 1, () => { }) : (x: () => number) => () => number >foo : (t: T, t2: U) => (x: T) => U >() => 1 : () => number >1 : 1 @@ -54,8 +54,8 @@ function other() { >other : () => void var r5 = foo(c, d); // error ->r5 : any ->foo(c, d) : any +>r5 : (x: T) => U +>foo(c, d) : (x: T) => U >foo : (t: T, t2: U) => (x: T) => U >c : C >d : D diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types index 94183b183549f..36baf9fa2b9aa 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types @@ -75,8 +75,8 @@ module GenericParameter { >y : T var r10 = foo6(b); // error ->r10 : any ->foo6(b) : any +>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 diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types index 1d18c07210ec6..b199cf05b3a00 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types @@ -67,8 +67,8 @@ module GenericParameter { } var r10 = foo6((x: T, y: T) => ''); // error ->r10 : any ->foo6((x: T, y: T) => '') : any +>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 diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types index 01f98d4bbfcaa..d24b98a758e0c 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types @@ -220,8 +220,8 @@ module WithCandidates { >u : U var r10 = c.foo2(1, (x: T) => ''); // error ->r10 : any ->c.foo2(1, (x: T) => '') : any +>r10 : string +>c.foo2(1, (x: T) => '') : string >c.foo2 : (x: T, cb: (a: T) => U) => U >c : C >foo2 : (x: T, cb: (a: T) => U) => U @@ -231,7 +231,7 @@ module WithCandidates { >'' : "" var r10 = c.foo2(1, (x) => ''); // string ->r10 : any +>r10 : string >c.foo2(1, (x) => '') : string >c.foo2 : (x: T, cb: (a: T) => U) => U >c : C @@ -242,8 +242,8 @@ module WithCandidates { >'' : "" var r11 = c3.foo3(1, (x: T) => '', ''); // error ->r11 : any ->c3.foo3(1, (x: T) => '', '') : any +>r11 : string +>c3.foo3(1, (x: T) => '', '') : string >c3.foo3 : (x: T, cb: (a: T) => U, y: U) => U >c3 : C3 >foo3 : (x: T, cb: (a: T) => U, y: U) => U @@ -254,8 +254,8 @@ module WithCandidates { >'' : "" var r11b = c3.foo3(1, (x: T) => '', 1); // error ->r11b : any ->c3.foo3(1, (x: T) => '', 1) : any +>r11b : string +>c3.foo3(1, (x: T) => '', 1) : string >c3.foo3 : (x: T, cb: (a: T) => U, y: U) => U >c3 : C3 >foo3 : (x: T, cb: (a: T) => U, y: U) => U @@ -266,8 +266,8 @@ module WithCandidates { >1 : 1 var r12 = c3.foo3(1, function (a) { return '' }, 1); // error ->r12 : any ->c3.foo3(1, function (a) { return '' }, 1) : any +>r12 : number +>c3.foo3(1, function (a) { return '' }, 1) : 1 >c3.foo3 : (x: T, cb: (a: T) => U, y: U) => U >c3 : C3 >foo3 : (x: T, cb: (a: T) => U, y: U) => U diff --git a/tests/baselines/reference/genericCombinators2.types b/tests/baselines/reference/genericCombinators2.types index 1d76958d23bbc..4935b2a8c403f 100644 --- a/tests/baselines/reference/genericCombinators2.types +++ b/tests/baselines/reference/genericCombinators2.types @@ -47,8 +47,8 @@ var rf1 = (x: number, y: string) => { return x.toFixed() }; >toFixed : (fractionDigits?: number) => string var r5a = _.map(c2, (x, y) => { return x.toFixed() }); ->r5a : any ->_.map(c2, (x, y) => { return x.toFixed() }) : any +>r5a : Collection +>_.map(c2, (x, y) => { return x.toFixed() }) : Collection >_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } >_ : Combinators >map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } @@ -62,8 +62,8 @@ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >toFixed : (fractionDigits?: number) => string var r5b = _.map(c2, rf1); ->r5b : any ->_.map(c2, rf1) : any +>r5b : Collection +>_.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; } diff --git a/tests/baselines/reference/genericConstraint1.types b/tests/baselines/reference/genericConstraint1.types index 2aedad33876ca..ae005eb07c57b 100644 --- a/tests/baselines/reference/genericConstraint1.types +++ b/tests/baselines/reference/genericConstraint1.types @@ -18,7 +18,7 @@ var x = new C(); >C : typeof C x.bar2(2, ""); ->x.bar2(2, "") : any +>x.bar2(2, "") : number >x.bar2 : (x: number, y: U) => number >x : C >bar2 : (x: number, y: U) => number diff --git a/tests/baselines/reference/genericConstraint2.types b/tests/baselines/reference/genericConstraint2.types index 2bdd415ea1bb8..2f168704deb44 100644 --- a/tests/baselines/reference/genericConstraint2.types +++ b/tests/baselines/reference/genericConstraint2.types @@ -64,8 +64,8 @@ var b = new ComparableString("b"); >"b" : "b" var c = compare(a, b); ->c : any ->compare(a, b) : any +>c : number +>compare(a, b) : number >compare : >(x: T, y: T) => number >a : ComparableString >b : ComparableString diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.types b/tests/baselines/reference/genericConstraintSatisfaction1.types index aad6f0fe72850..8c7558e1d372a 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.types +++ b/tests/baselines/reference/genericConstraintSatisfaction1.types @@ -10,7 +10,7 @@ var x: I<{s: string}> >s : string x.f({s: 1}) ->x.f({s: 1}) : any +>x.f({s: 1}) : void >x.f : (x: T) => void >x : I<{ s: string; }> >f : (x: T) => void diff --git a/tests/baselines/reference/genericDefaultsErrors.types b/tests/baselines/reference/genericDefaultsErrors.types index 5eaf9af1cc1b8..d72f7f0486342 100644 --- a/tests/baselines/reference/genericDefaultsErrors.types +++ b/tests/baselines/reference/genericDefaultsErrors.types @@ -22,7 +22,7 @@ f11(); // ok >f11 : () => void f11<1>(); // error ->f11<1>() : any +>f11<1>() : void >f11 : () => void f11<1, 2>(); // ok @@ -34,7 +34,7 @@ f11<1, 2, 3>(); // ok >f11 : () => void f11<1, 2, 3, 4>(); // error ->f11<1, 2, 3, 4>() : any +>f11<1, 2, 3, 4>() : void >f11 : () => void declare function f12(a?: U): void; @@ -46,7 +46,7 @@ f12(); // ok >f12 : (a?: U) => void f12("a"); // error ->f12("a") : any +>f12("a") : void >f12 : (a?: U) => void >"a" : "a" diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index 1974fe17bea80..2b44e9560dfcc 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -649,7 +649,7 @@ declare function toKeys(values: a[], toKey: (value: a) => string): string[]; >value : a toKeys(data, keyOf); // Error ->toKeys(data, keyOf) : any +>toKeys(data, keyOf) : string[] >toKeys : (values: a[], toKey: (value: a) => string) => string[] >data : Data[] >keyOf : (value: { key: a; }) => a diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types index 7c385445c07e2..1bb4cb7f6fd76 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types @@ -13,7 +13,7 @@ var utils: Utils; >utils : Utils utils.fold(); // error ->utils.fold() : any +>utils.fold() : unknown >utils.fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T >utils : Utils >fold : (c: T[], folder?: (s: S, t: T) => T, init?: S) => T diff --git a/tests/baselines/reference/genericNewInterface.types b/tests/baselines/reference/genericNewInterface.types index ccfd13ec1b0f2..089e927923e19 100644 --- a/tests/baselines/reference/genericNewInterface.types +++ b/tests/baselines/reference/genericNewInterface.types @@ -5,7 +5,7 @@ function createInstance(ctor: new (s: string) => T): T { >s : string return new ctor(42); //should be an error ->new ctor(42) : any +>new ctor(42) : T >ctor : new (s: string) => T >42 : 42 } @@ -20,7 +20,7 @@ function createInstance2(ctor: INewable): T { >ctor : INewable return new ctor(1024); //should be an error ->new ctor(1024) : any +>new ctor(1024) : T >ctor : INewable >1024 : 1024 } diff --git a/tests/baselines/reference/genericRestArgs.types b/tests/baselines/reference/genericRestArgs.types index be5182e5d312d..6fb079cd5dedb 100644 --- a/tests/baselines/reference/genericRestArgs.types +++ b/tests/baselines/reference/genericRestArgs.types @@ -5,8 +5,8 @@ function makeArrayG(...items: T[]): T[] { return items; } >items : T[] var a1Ga = makeArrayG(1, ""); // no error ->a1Ga : any ->makeArrayG(1, "") : any +>a1Ga : number[] +>makeArrayG(1, "") : number[] >makeArrayG : (...items: T[]) => T[] >1 : 1 >"" : "" @@ -26,8 +26,8 @@ var a1Gc = makeArrayG(1, ""); >"" : "" var a1Gd = makeArrayG(1, ""); // error ->a1Gd : any ->makeArrayG(1, "") : any +>a1Gd : number[] +>makeArrayG(1, "") : number[] >makeArrayG : (...items: T[]) => T[] >1 : 1 >"" : "" @@ -45,8 +45,8 @@ function makeArrayGOpt(item1?: T, item2?: T, item3?: T) { >item3 : T } var a2Ga = makeArrayGOpt(1, ""); ->a2Ga : any ->makeArrayGOpt(1, "") : any +>a2Ga : number[] +>makeArrayGOpt(1, "") : number[] >makeArrayGOpt : (item1?: T, item2?: T, item3?: T) => T[] >1 : 1 >"" : "" @@ -59,8 +59,8 @@ var a2Gb = makeArrayG(1, ""); >"" : "" var a2Gc = makeArrayG(1, ""); // error ->a2Gc : any ->makeArrayG(1, "") : any +>a2Gc : any[][] +>makeArrayG(1, "") : any[][] >makeArrayG : (...items: T[]) => T[] >1 : 1 >"" : "" diff --git a/tests/baselines/reference/genericRestArity.types b/tests/baselines/reference/genericRestArity.types index 74ce565c9d3d5..d3947499b7d90 100644 --- a/tests/baselines/reference/genericRestArity.types +++ b/tests/baselines/reference/genericRestArity.types @@ -12,7 +12,7 @@ declare function call( >args : TS call((x: number, y: number) => x + y); ->call((x: number, y: number) => x + y) : any +>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 @@ -22,7 +22,7 @@ call((x: number, y: number) => x + y); >y : number 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) : any +>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 0bdf6d0e96dc8..d74a957605a40 100644 --- a/tests/baselines/reference/genericRestArityStrict.types +++ b/tests/baselines/reference/genericRestArityStrict.types @@ -12,7 +12,7 @@ declare function call( >args : TS call((x: number, y: number) => x + y); ->call((x: number, y: number) => x + y) : any +>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 @@ -22,7 +22,7 @@ call((x: number, y: number) => x + y); >y : number 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) : any +>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/genericRestParameters3.js b/tests/baselines/reference/genericRestParameters3.js index 6767fa094c917..bba4ddd54e381 100644 --- a/tests/baselines/reference/genericRestParameters3.js +++ b/tests/baselines/reference/genericRestParameters3.js @@ -127,7 +127,7 @@ interface CoolArray extends Array { declare function foo(cb: (...args: T) => void): void; declare function bar(...args: T): T; declare let a: [number, number]; -declare let b: any; +declare let b: CoolArray; declare function baz(...args: CoolArray): void; declare const ca: CoolArray; declare function hmm(...args: A): void; diff --git a/tests/baselines/reference/genericRestParameters3.types b/tests/baselines/reference/genericRestParameters3.types index a0d90a308d7b4..add3bbab9d51e 100644 --- a/tests/baselines/reference/genericRestParameters3.types +++ b/tests/baselines/reference/genericRestParameters3.types @@ -126,16 +126,16 @@ declare function foo(cb: (...args: T) => void): void; >args : T foo>(); // Error ->foo>() : any +>foo>() : void >foo : (cb: (...args: T) => void) => void foo>(100); // Error ->foo>(100) : any +>foo>(100) : void >foo : (cb: (...args: T) => void) => void >100 : 100 foo>(foo); // Error ->foo>(foo) : any +>foo>(foo) : void >foo : (cb: (...args: T) => void) => void >foo : (cb: (...args: T) => void) => void @@ -155,8 +155,8 @@ let a = bar(10, 20); >20 : 20 let b = bar>(10, 20); // Error ->b : any ->bar>(10, 20) : any +>b : CoolArray +>bar>(10, 20) : CoolArray >bar : (...args: T) => T >10 : 10 >20 : 20 @@ -169,22 +169,22 @@ declare const ca: CoolArray; >ca : CoolArray baz(); // Error ->baz() : any +>baz() : void >baz : (...args: CoolArray) => void baz(1); // Error ->baz(1) : any +>baz(1) : void >baz : (...args: CoolArray) => void >1 : 1 baz(1, 2); // Error ->baz(1, 2) : any +>baz(1, 2) : void >baz : (...args: CoolArray) => void >1 : 1 >2 : 2 baz(...ca); // Error ->baz(...ca) : any +>baz(...ca) : void >baz : (...args: CoolArray) => void >...ca : number >ca : CoolArray @@ -206,7 +206,7 @@ hmm(1, "s"); // okay, A = [1, "s"] >"s" : "s" hmm("what"); // no error? A = [] | [number, string] ? ->hmm("what") : any +>hmm("what") : void >hmm : (...args: A) => void >"what" : "what" diff --git a/tests/baselines/reference/genericTypeArgumentInference1.types b/tests/baselines/reference/genericTypeArgumentInference1.types index 76c768abea8dd..dd3ab70adac30 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -23,12 +23,12 @@ declare var _: Underscore.Static; >Underscore : any var r = _.all([true, 1, null, 'yes'], _.identity); ->r : any ->_.all([true, 1, null, 'yes'], _.identity) : any +>r : string | number | boolean +>_.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 | boolean)[] +>[true, 1, null, 'yes'] : (string | number | true)[] >true : true >1 : 1 >null : null diff --git a/tests/baselines/reference/genericWithOpenTypeParameters1.types b/tests/baselines/reference/genericWithOpenTypeParameters1.types index 5abde36756ee5..8530281578789 100644 --- a/tests/baselines/reference/genericWithOpenTypeParameters1.types +++ b/tests/baselines/reference/genericWithOpenTypeParameters1.types @@ -19,8 +19,8 @@ x.foo(1); // no error >1 : 1 var f = (x: B) => { return x.foo(1); } // error ->f : (x: B) => any ->(x: B) => { return x.foo(1); } : (x: B) => any +>f : (x: B) => T +>(x: B) => { return x.foo(1); } : (x: B) => T >x : B >x.foo(1) : T >x.foo : (x: T) => T @@ -29,8 +29,8 @@ var f = (x: B) => { return x.foo(1); } // error >1 : 1 var f2 = (x: B) => { return x.foo(1); } // error ->f2 : (x: B) => any ->(x: B) => { return x.foo(1); } : (x: B) => any +>f2 : (x: B) => T +>(x: B) => { return x.foo(1); } : (x: B) => T >x : B >x.foo(1) : T >x.foo : (x: T) => T @@ -39,8 +39,8 @@ var f2 = (x: B) => { return x.foo(1); } // error >1 : 1 var f3 = (x: B) => { return x.foo(1); } // error ->f3 : (x: B) => any ->(x: B) => { return x.foo(1); } : (x: B) => any +>f3 : (x: B) => T +>(x: B) => { return x.foo(1); } : (x: B) => T >x : B >x.foo(1) : T >x.foo : (x: T) => T diff --git a/tests/baselines/reference/grammarAmbiguities1.errors.txt b/tests/baselines/reference/grammarAmbiguities1.errors.txt index cb3037bd72a29..bc624d7bcdf38 100644 --- a/tests/baselines/reference/grammarAmbiguities1.errors.txt +++ b/tests/baselines/reference/grammarAmbiguities1.errors.txt @@ -1,12 +1,8 @@ -tests/cases/compiler/grammarAmbiguities1.ts(8,3): error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. -tests/cases/compiler/grammarAmbiguities1.ts(8,10): error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. tests/cases/compiler/grammarAmbiguities1.ts(8,10): error TS2554: Expected 1 arguments, but got 2. -tests/cases/compiler/grammarAmbiguities1.ts(9,3): error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. -tests/cases/compiler/grammarAmbiguities1.ts(9,10): error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. tests/cases/compiler/grammarAmbiguities1.ts(9,10): error TS2554: Expected 1 arguments, but got 2. -==== tests/cases/compiler/grammarAmbiguities1.ts (6 errors) ==== +==== tests/cases/compiler/grammarAmbiguities1.ts (2 errors) ==== class A { foo() { } } class B { bar() { }} function f(x) { return x; } @@ -15,17 +11,9 @@ tests/cases/compiler/grammarAmbiguities1.ts(9,10): error TS2554: Expected 1 argu f(g(7)); f(g < A, B > 7); - ~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. - ~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. ~~~~~ !!! error TS2554: Expected 1 arguments, but got 2. f(g < A, B > +(7)); - ~~~~~ -!!! error TS2365: Operator '<' cannot be applied to types '(x: any) => any' and 'typeof A'. - ~~~~~~~~ -!!! error TS2365: Operator '>' cannot be applied to types 'typeof B' and 'number'. ~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 2. \ No newline at end of file diff --git a/tests/baselines/reference/incompatibleTypes.types b/tests/baselines/reference/incompatibleTypes.types index df1f158831a15..e5ab878a9e5ab 100644 --- a/tests/baselines/reference/incompatibleTypes.types +++ b/tests/baselines/reference/incompatibleTypes.types @@ -82,7 +82,7 @@ var c2: C2; >c2 : C2 if1(c1); ->if1(c1) : any +>if1(c1) : void >if1 : { (i: IFoo1): void; (i: IFoo2): void; } >c1 : C1 @@ -107,7 +107,7 @@ function of1(a: any) { return null; } >null : null of1({ e: 0, f: 0 }); ->of1({ e: 0, f: 0 }) : any +>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/incorrectNumberOfTypeArgumentsDuringErrorReporting.types b/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types index 9d1f10ebb8254..184025a07fdf7 100644 --- a/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types +++ b/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types @@ -27,7 +27,7 @@ interface MyObjA { } fn({ ->fn({ a: {x: 'X', y: 'Y'}, b: {},}) : any +>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/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types b/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types index 95f3ddcaf548b..980619458f89a 100644 --- a/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types +++ b/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types @@ -32,7 +32,7 @@ var stooges = [ ]; f(stooges); // Should throw ->f(stooges) : any +>f(stooges) : unknown >f : (x: { [x: string]: T; }) => T >stooges : { name: string; age: number; }[] diff --git a/tests/baselines/reference/indexSignatureTypeInference.errors.txt b/tests/baselines/reference/indexSignatureTypeInference.errors.txt index aa25f11db5937..148e583bc6038 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.errors.txt +++ b/tests/baselines/reference/indexSignatureTypeInference.errors.txt @@ -1,8 +1,9 @@ +tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts(18,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'v1' must be of type 'Function[]', but here has type 'unknown[]'. tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts(18,27): error TS2345: Argument of type 'NumberMap' is not assignable to parameter of type 'StringMap'. Index signature is missing in type 'NumberMap'. -==== tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts (1 errors) ==== +==== tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts (2 errors) ==== interface NumberMap { [index: number]: T; } @@ -21,6 +22,9 @@ tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureType var v1 = numberMapToArray(numberMap); // Ok var v1 = numberMapToArray(stringMap); // Ok var v1 = stringMapToArray(numberMap); // Error expected here + ~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'v1' must be of type 'Function[]', but here has type 'unknown[]'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeInference/indexSignatureTypeInference.ts:15:5: 'v1' was also declared here. ~~~~~~~~~ !!! error TS2345: Argument of type 'NumberMap' is not assignable to parameter of type 'StringMap'. !!! error TS2345: Index signature is missing in type 'NumberMap'. diff --git a/tests/baselines/reference/indexSignatureTypeInference.types b/tests/baselines/reference/indexSignatureTypeInference.types index b29a1d002dd1f..830af609193d6 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.types +++ b/tests/baselines/reference/indexSignatureTypeInference.types @@ -40,7 +40,7 @@ var v1 = numberMapToArray(stringMap); // Ok var v1 = stringMapToArray(numberMap); // Error expected here >v1 : Function[] ->stringMapToArray(numberMap) : any +>stringMapToArray(numberMap) : unknown[] >stringMapToArray : (object: StringMap) => T[] >numberMap : NumberMap diff --git a/tests/baselines/reference/indexedAccessRelation.types b/tests/baselines/reference/indexedAccessRelation.types index 180cff338ccc9..6d2ee19dda240 100644 --- a/tests/baselines/reference/indexedAccessRelation.types +++ b/tests/baselines/reference/indexedAccessRelation.types @@ -26,7 +26,7 @@ class Comp extends Component> >a : T this.setState({ a: a }); ->this.setState({ a: a }) : any +>this.setState({ a: a }) : void >this.setState : (state: Pick, K>) => void >this : this >setState : (state: Pick, K>) => void diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index f9192dd11baad..baecdf626dd19 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -461,7 +461,7 @@ declare function foldLeft(z: U, f: (acc: U, t: boolean) => U): U; let res: boolean = foldLeft(true, (acc, t) => acc && t); // Error >res : boolean ->foldLeft(true, (acc, t) => acc && t) : any +>foldLeft(true, (acc, t) => acc && t) : true >foldLeft : (z: U, f: (acc: U, t: boolean) => U) => U >true : true >(acc, t) => acc && t : (acc: true, t: boolean) => boolean @@ -486,22 +486,22 @@ declare function bar(f: () => T[]): T[]; let x: Foo[] = bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]); // Error >x : Foo[] ->bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]) : any +>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; }[] +>!!true ? [{ state: State.A }] : [{ state: State.B }] : { state: State.A; }[] | { state: State.B; }[] >!!true : true >!true : false >true : true ->[{ state: State.A }] : { state: State; }[] ->{ state: State.A } : { state: State; } ->state : State +>[{ state: State.A }] : { state: State.A; }[] +>{ state: State.A } : { state: State.A; } +>state : State.A >State.A : State.A >State : typeof State >A : State.A ->[{ state: State.B }] : { state: State; }[] ->{ state: State.B } : { state: State; } ->state : State +>[{ state: State.B }] : { state: State.B; }[] +>{ state: State.B } : { state: State.B; } +>state : State.B >State.B : State.B >State : typeof State >B : State.B diff --git a/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types b/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types index 2d7876aefe986..1d40e6b5a820f 100644 --- a/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types +++ b/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types @@ -18,7 +18,7 @@ function logLength(arg: { [K in U]: T }[U]): >arg : { [K in U]: T; }[U] } logLength(42); // error ->logLength(42) : any +>logLength(42) : string >logLength : (arg: { [K in U]: T; }[U]) => T >42 : 42 @@ -26,9 +26,9 @@ let z; >z : any z = logLength(42); // no error; T is inferred as `any` ->z = logLength(42) : any +>z = logLength(42) : string >z : any ->logLength(42) : any +>logLength(42) : string >logLength : (arg: { [K in U]: T; }[U]) => T >42 : 42 @@ -51,7 +51,7 @@ function logFirstLength(arg: { [K in U]: T >arg : { [K in U]: T; }[U] } logFirstLength([42]); // error ->logFirstLength([42]) : any +>logFirstLength([42]) : string[] >logFirstLength : (arg: { [K in U]: T; }[U]) => T >[42] : number[] >42 : 42 @@ -65,14 +65,14 @@ zz.push(logLength(42)); // no error; T is inferred as `any` >zz.push : (...items: any[]) => number >zz : any[] >push : (...items: any[]) => number ->logLength(42) : any +>logLength(42) : string >logLength : (arg: { [K in U]: T; }[U]) => T >42 : 42 zz = logFirstLength([42]); // no error; T is inferred as `any[]` ->zz = logFirstLength([42]) : any +>zz = logFirstLength([42]) : string[] >zz : any[] ->logFirstLength([42]) : any +>logFirstLength([42]) : string[] >logFirstLength : (arg: { [K in U]: T; }[U]) => T >[42] : number[] >42 : 42 diff --git a/tests/baselines/reference/infiniteConstraints.types b/tests/baselines/reference/infiniteConstraints.types index 4b929ac667e67..17cd3a39d7df2 100644 --- a/tests/baselines/reference/infiniteConstraints.types +++ b/tests/baselines/reference/infiniteConstraints.types @@ -74,8 +74,8 @@ const shouldBeNoError = ensureNoDuplicates({main: value("test")}); >"test" : "test" const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value("dup")}); ->shouldBeError : any ->ensureNoDuplicates({main: value("dup"), alternate: value("dup")}) : any +>shouldBeError : void +>ensureNoDuplicates({main: value("dup"), alternate: value("dup")}) : void >ensureNoDuplicates : >["val"] extends Extract], Record<"val", string>>["val"] ? never : any; }>(vals: T) => void >{main: value("dup"), alternate: value("dup")} : { main: Record<"val", "dup">; alternate: Record<"val", "dup">; } >main : Record<"val", "dup"> diff --git a/tests/baselines/reference/inheritedConstructorWithRestParams.types b/tests/baselines/reference/inheritedConstructorWithRestParams.types index 8089742b7a58b..62b76f7927382 100644 --- a/tests/baselines/reference/inheritedConstructorWithRestParams.types +++ b/tests/baselines/reference/inheritedConstructorWithRestParams.types @@ -28,13 +28,13 @@ new Derived(); // Errors new Derived("", 3); ->new Derived("", 3) : any +>new Derived("", 3) : Derived >Derived : typeof Derived >"" : "" >3 : 3 new Derived(3); ->new Derived(3) : any +>new Derived(3) : Derived >Derived : typeof Derived >3 : 3 diff --git a/tests/baselines/reference/inheritedConstructorWithRestParams2.types b/tests/baselines/reference/inheritedConstructorWithRestParams2.types index 511114298c69b..006bb8b306c10 100644 --- a/tests/baselines/reference/inheritedConstructorWithRestParams2.types +++ b/tests/baselines/reference/inheritedConstructorWithRestParams2.types @@ -95,12 +95,12 @@ new Derived("", "", 3, 3); // Errors new Derived(3); ->new Derived(3) : any +>new Derived(3) : Derived >Derived : typeof Derived >3 : 3 new Derived("", 3, "", 3); ->new Derived("", 3, "", 3) : any +>new Derived("", 3, "", 3) : Derived >Derived : typeof Derived >"" : "" >3 : 3 @@ -108,7 +108,7 @@ new Derived("", 3, "", 3); >3 : 3 new Derived("", 3, "", ""); ->new Derived("", 3, "", "") : any +>new Derived("", 3, "", "") : Derived >Derived : typeof Derived >"" : "" >3 : 3 diff --git a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt index c4a7c6809bcc5..b62c3592ef6a8 100644 --- a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt +++ b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt @@ -1,10 +1,12 @@ tests/cases/conformance/jsx/inline/index.tsx(5,1): error TS2741: Property '__predomBrand' is missing in type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element' but required in type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element'. +tests/cases/conformance/jsx/inline/index.tsx(21,21): error TS2605: JSX element type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' is not a constructor function for JSX elements. + Property '__domBrand' is missing in type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' but required in type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. tests/cases/conformance/jsx/inline/index.tsx(21,40): error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element'. tests/cases/conformance/jsx/inline/index.tsx(21,40): error TS2605: JSX element type 'MyClass' is not a constructor function for JSX elements. Property '__domBrand' is missing in type 'MyClass' but required in type 'ElementClass'. tests/cases/conformance/jsx/inline/index.tsx(21,63): error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element'. tests/cases/conformance/jsx/inline/index.tsx(21,63): error TS2605: JSX element type 'MyClass' is not a constructor function for JSX elements. -tests/cases/conformance/jsx/inline/index.tsx(24,42): error TS2741: Property '__domBrand' is missing in type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' but required in type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. +tests/cases/conformance/jsx/inline/index.tsx(24,42): error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. tests/cases/conformance/jsx/inline/index.tsx(24,48): error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. @@ -68,7 +70,7 @@ tests/cases/conformance/jsx/inline/index.tsx(24,48): error TS2322: Type 'import( export default -==== tests/cases/conformance/jsx/inline/index.tsx (7 errors) ==== +==== tests/cases/conformance/jsx/inline/index.tsx (8 errors) ==== /** @jsx dom */ import { dom } from "./renderer" import prerendered, {MySFC, MyClass, tree} from "./component"; @@ -93,6 +95,10 @@ tests/cases/conformance/jsx/inline/index.tsx(24,48): error TS2322: Type 'import( // Should fail, no dom elements const _brokenTree = + ~~~~~~~~~~~~~~~~~~~ +!!! error TS2605: JSX element type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' is not a constructor function for JSX elements. +!!! error TS2605: Property '__domBrand' is missing in type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' but required in type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. +!!! related TS2728 tests/cases/conformance/jsx/inline/renderer.d.ts:7:13: '__domBrand' is declared here. ~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element'. ~~~~~~~~~~~~~~~~~~~~~~~ @@ -107,8 +113,7 @@ tests/cases/conformance/jsx/inline/index.tsx(24,48): error TS2322: Type 'import( // Should fail, nondom isn't allowed as children of dom const _brokenTree2 = {tree}{tree} ~~~~~~ -!!! error TS2741: Property '__domBrand' is missing in type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' but required in type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. -!!! related TS2728 tests/cases/conformance/jsx/inline/renderer.d.ts:7:13: '__domBrand' is declared here. +!!! error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. ~~~~~~ !!! error TS2322: Type 'import("tests/cases/conformance/jsx/inline/renderer2").predom.JSX.Element' is not assignable to type 'import("tests/cases/conformance/jsx/inline/renderer").dom.JSX.Element'. \ No newline at end of file diff --git a/tests/baselines/reference/instantiateGenericClassWithWrongNumberOfTypeArguments.types b/tests/baselines/reference/instantiateGenericClassWithWrongNumberOfTypeArguments.types index ecf0704d0158c..f8f4f0a1f9e98 100644 --- a/tests/baselines/reference/instantiateGenericClassWithWrongNumberOfTypeArguments.types +++ b/tests/baselines/reference/instantiateGenericClassWithWrongNumberOfTypeArguments.types @@ -10,8 +10,8 @@ class C { } var c = new C(); ->c : any ->new C() : any +>c : C +>new C() : C >C : typeof C class D { @@ -26,7 +26,7 @@ class D { // BUG 794238 var d = new D(); ->d : any ->new D() : any +>d : D +>new D() : D >D : typeof D diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types index 451cd75380fc0..cbcdceb660051 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types @@ -10,8 +10,8 @@ class C { } var c = new C(); ->c : any ->new C() : any +>c : C +>new C() : C >C : typeof C function Foo(): void { } diff --git a/tests/baselines/reference/interfaceAssignmentCompat.types b/tests/baselines/reference/interfaceAssignmentCompat.types index 31d667048b918..b1135f1d27ae3 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.types +++ b/tests/baselines/reference/interfaceAssignmentCompat.types @@ -100,7 +100,7 @@ module M { >Green : Color.Green x=x.sort(CompareYeux); // parameter mismatch ->x=x.sort(CompareYeux) : any +>x=x.sort(CompareYeux) : IEye[] >x : IEye[] >x.sort(CompareYeux) : IEye[] >x.sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.types b/tests/baselines/reference/invariantGenericErrorElaboration.types index 7c4bdd46d037f..e13a70f81e0ed 100644 --- a/tests/baselines/reference/invariantGenericErrorElaboration.types +++ b/tests/baselines/reference/invariantGenericErrorElaboration.types @@ -6,8 +6,8 @@ const wat: Runtype = Num; >Num : Num const Foo = Obj({ foo: Num }) ->Foo : any ->Obj({ foo: Num }) : any +>Foo : Obj<{ [_: string]: Runtype; }> +>Obj({ foo: Num }) : Obj<{ [_: string]: Runtype; }> >Obj : ; }>(fields: O) => Obj >{ foo: Num } : { foo: Num; } >foo : Num diff --git a/tests/baselines/reference/iterableArrayPattern28.types b/tests/baselines/reference/iterableArrayPattern28.types index 97b1f809b01e4..063bf10e0db6c 100644 --- a/tests/baselines/reference/iterableArrayPattern28.types +++ b/tests/baselines/reference/iterableArrayPattern28.types @@ -9,14 +9,14 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]: [string, number][]) { } takeFirstTwoEntries(...new Map([["", 0], ["hello", true]])); >takeFirstTwoEntries(...new Map([["", 0], ["hello", true]])) : void >takeFirstTwoEntries : (...[[k1, v1], [k2, v2]]: [string, number][]) => void ->...new Map([["", 0], ["hello", true]]) : any ->new Map([["", 0], ["hello", true]]) : any +>...new Map([["", 0], ["hello", true]]) : [string, number] +>new Map([["", 0], ["hello", true]]) : Map >Map : MapConstructor ->[["", 0], ["hello", true]] : ((string | number)[] | (string | boolean)[])[] ->["", 0] : (string | number)[] +>[["", 0], ["hello", true]] : ([string, number] | [string, boolean])[] +>["", 0] : [string, number] >"" : "" >0 : 0 ->["hello", true] : (string | boolean)[] +>["hello", true] : [string, boolean] >"hello" : "hello" >true : true diff --git a/tests/baselines/reference/iteratorSpreadInArray6.types b/tests/baselines/reference/iteratorSpreadInArray6.types index b964fdbca1304..60d3401b1a781 100644 --- a/tests/baselines/reference/iteratorSpreadInArray6.types +++ b/tests/baselines/reference/iteratorSpreadInArray6.types @@ -38,7 +38,7 @@ var array: number[] = [0, 1]; >1 : 1 array.concat([...new SymbolIterator]); ->array.concat([...new SymbolIterator]) : any +>array.concat([...new SymbolIterator]) : number[] >array.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } >array : number[] >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } diff --git a/tests/baselines/reference/iteratorSpreadInCall10.types b/tests/baselines/reference/iteratorSpreadInCall10.types index 9ff1f78dccfff..4e50ac9382182 100644 --- a/tests/baselines/reference/iteratorSpreadInCall10.types +++ b/tests/baselines/reference/iteratorSpreadInCall10.types @@ -39,7 +39,7 @@ class SymbolIterator { } foo(...new SymbolIterator); ->foo(...new SymbolIterator) : any +>foo(...new SymbolIterator) : unknown >foo : (s: T[]) => T >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator diff --git a/tests/baselines/reference/iteratorSpreadInCall7.types b/tests/baselines/reference/iteratorSpreadInCall7.types index d8f820ca804ad..a2b33c87d3d3a 100644 --- a/tests/baselines/reference/iteratorSpreadInCall7.types +++ b/tests/baselines/reference/iteratorSpreadInCall7.types @@ -70,7 +70,7 @@ class _StringIterator { } foo(...new SymbolIterator, ...new _StringIterator); ->foo(...new SymbolIterator, ...new _StringIterator) : any +>foo(...new SymbolIterator, ...new _StringIterator) : symbol >foo : (...s: T[]) => T >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator diff --git a/tests/baselines/reference/iteratorSpreadInCall8.types b/tests/baselines/reference/iteratorSpreadInCall8.types index c124a5e8dd7d8..dc8dabdc59ea6 100644 --- a/tests/baselines/reference/iteratorSpreadInCall8.types +++ b/tests/baselines/reference/iteratorSpreadInCall8.types @@ -70,7 +70,7 @@ class _StringIterator { } new Foo(...new SymbolIterator, ...new _StringIterator); ->new Foo(...new SymbolIterator, ...new _StringIterator) : any +>new Foo(...new SymbolIterator, ...new _StringIterator) : Foo >Foo : typeof Foo >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator diff --git a/tests/baselines/reference/iteratorSpreadInCall9.types b/tests/baselines/reference/iteratorSpreadInCall9.types index 2cc33ea3fddb5..ffb97ce731bb2 100644 --- a/tests/baselines/reference/iteratorSpreadInCall9.types +++ b/tests/baselines/reference/iteratorSpreadInCall9.types @@ -70,7 +70,7 @@ class _StringIterator { } new Foo(...new SymbolIterator, ...[...new _StringIterator]); ->new Foo(...new SymbolIterator, ...[...new _StringIterator]) : any +>new Foo(...new SymbolIterator, ...[...new _StringIterator]) : Foo >Foo : typeof Foo >...new SymbolIterator : symbol >new SymbolIterator : SymbolIterator diff --git a/tests/baselines/reference/jsdocDisallowedInTypescript.types b/tests/baselines/reference/jsdocDisallowedInTypescript.types index f16e3d3c9f19d..76e595d8127ba 100644 --- a/tests/baselines/reference/jsdocDisallowedInTypescript.types +++ b/tests/baselines/reference/jsdocDisallowedInTypescript.types @@ -35,7 +35,7 @@ function hof(ctor: function(new: number, string)) { >'hi' : "hi" } function hof2(f: function(this: number, string): string) { ->hof2 : (f: (this: number, arg1: string) => string) => any +>hof2 : (f: (this: number, arg1: string) => string) => string >f : (this: number, arg1: string) => string >this : number diff --git a/tests/baselines/reference/jsdocTemplateTag3.types b/tests/baselines/reference/jsdocTemplateTag3.types index 7dd45f47f00e8..dd44c83de03c2 100644 --- a/tests/baselines/reference/jsdocTemplateTag3.types +++ b/tests/baselines/reference/jsdocTemplateTag3.types @@ -73,7 +73,7 @@ f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101 >'nope' : "nope" f({ a: 12 }, undefined, undefined, 101, 'nope'); ->f({ a: 12 }, undefined, undefined, 101, 'nope') : any +>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/jsxAndTypeAssertion.errors.txt b/tests/baselines/reference/jsxAndTypeAssertion.errors.txt index 6d3f6874a88b1..c62cbf4be0598 100644 --- a/tests/baselines/reference/jsxAndTypeAssertion.errors.txt +++ b/tests/baselines/reference/jsxAndTypeAssertion.errors.txt @@ -1,20 +1,29 @@ tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(6,6): error TS17008: JSX element 'any' has no corresponding closing tag. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(6,13): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha`. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(6,17): error TS1005: '}' expected. +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(6,31): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(8,6): error TS17008: JSX element 'any' has no corresponding closing tag. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(10,6): error TS17008: JSX element 'foo' has no corresponding closing tag. +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(10,24): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(10,32): error TS1005: '}' expected. +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(12,23): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(12,24): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(12,36): error TS1005: '}' expected. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(14,17): error TS17008: JSX element 'foo' has no corresponding closing tag. +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(14,23): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(14,24): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(14,38): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(14,45): error TS1005: '}' expected. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(18,2): error TS17008: JSX element 'foo' has no corresponding closing tag. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(18,8): error TS17008: JSX element 'foo' has no corresponding closing tag. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(18,13): error TS17008: JSX element 'foo' has no corresponding closing tag. +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(18,69): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(18,76): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(21,1): error TS1005: ':' expected. tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(21,1): error TS1005: '; ~~~ @@ -35,16 +46,28 @@ tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(21,1): error TS1005: 'hello {{}} ; ~~~ !!! error TS17008: JSX element 'foo' has no corresponding closing tag. + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? ~ !!! error TS1005: '}' expected. x = {}}>hello; + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? ~ !!! error TS1005: '}' expected. x = {}}>hello{{}}; ~~~ !!! error TS17008: JSX element 'foo' has no corresponding closing tag. + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? ~ !!! error TS1005: '}' expected. @@ -57,6 +80,10 @@ tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx(21,1): error TS1005: ' "y"} /> >arg : JSX.Element > "y"} /> : JSX.Element >ElemLit : (p: LitProps) => JSX.Element ->prop : string +>prop : "x" >children : (p: JSX.IntrinsicAttributes & LitProps<"x">) => "y" >p => "y" : (p: JSX.IntrinsicAttributes & LitProps<"x">) => "y" >p : JSX.IntrinsicAttributes & LitProps<"x"> @@ -126,7 +126,7 @@ const argchild = {p => "y"} >argchild : JSX.Element >{p => "y"} : JSX.Element >ElemLit : (p: LitProps) => JSX.Element ->prop : string +>prop : "x" >p => "y" : (p: JSX.IntrinsicAttributes & LitProps<"x">) => "y" >p : JSX.IntrinsicAttributes & LitProps<"x"> >"y" : "y" @@ -136,7 +136,7 @@ const mismatched = {() => 12} >mismatched : JSX.Element >{() => 12} : JSX.Element >ElemLit : (p: LitProps) => JSX.Element ->prop : string +>prop : "x" >() => 12 : () => number >12 : 12 >ElemLit : (p: LitProps) => JSX.Element diff --git a/tests/baselines/reference/jsxEsprimaFbTestSuite.errors.txt b/tests/baselines/reference/jsxEsprimaFbTestSuite.errors.txt index 7adde909489a6..91f3e22962cd3 100644 --- a/tests/baselines/reference/jsxEsprimaFbTestSuite.errors.txt +++ b/tests/baselines/reference/jsxEsprimaFbTestSuite.errors.txt @@ -2,11 +2,12 @@ tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,1): error TS2695: Left tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,17): error TS1005: '{' expected. tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,23): error TS2304: Cannot find name 'right'. tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,23): error TS2657: JSX expressions must have one parent element. +tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,41): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,57): error TS1109: Expression expected. tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,58): error TS1109: Expression expected. -==== tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx (6 errors) ==== +==== tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx (7 errors) ==== declare var React: any; declare var 日本語; declare var AbC_def; @@ -54,6 +55,8 @@ tests/cases/conformance/jsx/jsxEsprimaFbTestSuite.tsx(39,58): error TS1109: Expr !!! error TS2304: Cannot find name 'right'. ~~~~~ !!! error TS2657: JSX expressions must have one parent element. + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? ~ !!! error TS1109: Expression expected. ~ diff --git a/tests/baselines/reference/jsxInvalidEsprimaTestSuite.errors.txt b/tests/baselines/reference/jsxInvalidEsprimaTestSuite.errors.txt index 68b615525b536..1195ff4457e32 100644 --- a/tests/baselines/reference/jsxInvalidEsprimaTestSuite.errors.txt +++ b/tests/baselines/reference/jsxInvalidEsprimaTestSuite.errors.txt @@ -39,6 +39,7 @@ tests/cases/conformance/jsx/19.tsx(1,9): error TS2695: Left side of comma operat tests/cases/conformance/jsx/19.tsx(1,64): error TS2657: JSX expressions must have one parent element. tests/cases/conformance/jsx/2.tsx(1,3): error TS1003: Identifier expected. tests/cases/conformance/jsx/20.tsx(1,10): error TS1005: '}' expected. +tests/cases/conformance/jsx/20.tsx(1,11): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? tests/cases/conformance/jsx/21.tsx(1,20): error TS1003: Identifier expected. tests/cases/conformance/jsx/22.tsx(1,15): error TS1003: Identifier expected. tests/cases/conformance/jsx/22.tsx(1,21): error TS1109: Expression expected. @@ -55,6 +56,8 @@ tests/cases/conformance/jsx/25.tsx(1,29): error TS1128: Declaration or statement tests/cases/conformance/jsx/25.tsx(1,32): error TS2304: Cannot find name 'props'. tests/cases/conformance/jsx/25.tsx(1,38): error TS1109: Expression expected. tests/cases/conformance/jsx/25.tsx(1,39): error TS1109: Expression expected. +tests/cases/conformance/jsx/26.tsx(1,4): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? +tests/cases/conformance/jsx/27.tsx(1,5): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? tests/cases/conformance/jsx/28.tsx(1,2): error TS17008: JSX element 'a' has no corresponding closing tag. tests/cases/conformance/jsx/28.tsx(1,6): error TS1005: '{' expected. tests/cases/conformance/jsx/28.tsx(2,1): error TS1005: '{"str";}; ~ !!! error TS1005: '}' expected. + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? ==== tests/cases/conformance/jsx/21.tsx (1 errors) ==== ; ~ @@ -286,11 +292,15 @@ tests/cases/conformance/jsx/9.tsx(1,16): error TS1109: Expression expected. !!! error TS1109: Expression expected. -==== tests/cases/conformance/jsx/26.tsx (0 errors) ==== +==== tests/cases/conformance/jsx/26.tsx (1 errors) ==== >; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? -==== tests/cases/conformance/jsx/27.tsx (0 errors) ==== +==== tests/cases/conformance/jsx/27.tsx (1 errors) ==== >; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? ==== tests/cases/conformance/jsx/28.tsx (3 errors) ==== ; @@ -312,8 +322,10 @@ tests/cases/conformance/jsx/9.tsx(1,16): error TS1109: Expression expected. !!! error TS1005: '}; + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? ==== tests/cases/conformance/jsx/31.tsx (1 errors) ==== ; diff --git a/tests/baselines/reference/jsxParsingError3.errors.txt b/tests/baselines/reference/jsxParsingError3.errors.txt new file mode 100644 index 0000000000000..d6c9790d42aa4 --- /dev/null +++ b/tests/baselines/reference/jsxParsingError3.errors.txt @@ -0,0 +1,46 @@ +tests/cases/conformance/jsx/Error1.tsx(1,15): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +tests/cases/conformance/jsx/Error2.tsx(1,15): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? +tests/cases/conformance/jsx/Error3.tsx(1,22): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +tests/cases/conformance/jsx/Error4.tsx(1,22): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? +tests/cases/conformance/jsx/Error5.tsx(1,15): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +tests/cases/conformance/jsx/Error6.tsx(1,15): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + + +==== tests/cases/conformance/jsx/file.tsx (0 errors) ==== + declare module JSX { + interface Element {} + interface IntrinsicElements { + [s: string]: any; + } + } + +==== tests/cases/conformance/jsx/Error1.tsx (1 errors) ==== + let x1 =
}
; + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? + +==== tests/cases/conformance/jsx/Error2.tsx (1 errors) ==== + let x2 =
>
; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + +==== tests/cases/conformance/jsx/Error3.tsx (1 errors) ==== + let x3 =
{"foo"}}
; + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? + +==== tests/cases/conformance/jsx/Error4.tsx (1 errors) ==== + let x4 =
{"foo"}>
; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + +==== tests/cases/conformance/jsx/Error5.tsx (1 errors) ==== + let x5 =
}{"foo"}
; + ~ +!!! error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? + +==== tests/cases/conformance/jsx/Error6.tsx (1 errors) ==== + let x6 =
>{"foo"}
; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + \ No newline at end of file diff --git a/tests/baselines/reference/jsxParsingError3.js b/tests/baselines/reference/jsxParsingError3.js new file mode 100644 index 0000000000000..e10727128906f --- /dev/null +++ b/tests/baselines/reference/jsxParsingError3.js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/jsx/jsxParsingError3.tsx] //// + +//// [file.tsx] +declare module JSX { + interface Element {} + interface IntrinsicElements { + [s: string]: any; + } +} + +//// [Error1.tsx] +let x1 =
}
; + +//// [Error2.tsx] +let x2 =
>
; + +//// [Error3.tsx] +let x3 =
{"foo"}}
; + +//// [Error4.tsx] +let x4 =
{"foo"}>
; + +//// [Error5.tsx] +let x5 =
}{"foo"}
; + +//// [Error6.tsx] +let x6 =
>{"foo"}
; + + +//// [file.jsx] +//// [Error1.jsx] +var x1 =
}
; +//// [Error2.jsx] +var x2 =
>
; +//// [Error3.jsx] +var x3 =
{"foo"}}
; +//// [Error4.jsx] +var x4 =
{"foo"}>
; +//// [Error5.jsx] +var x5 =
}{"foo"}
; +//// [Error6.jsx] +var x6 =
>{"foo"}
; diff --git a/tests/baselines/reference/jsxParsingError3.symbols b/tests/baselines/reference/jsxParsingError3.symbols new file mode 100644 index 0000000000000..6051929f2c309 --- /dev/null +++ b/tests/baselines/reference/jsxParsingError3.symbols @@ -0,0 +1,51 @@ +=== tests/cases/conformance/jsx/file.tsx === +declare module JSX { +>JSX : Symbol(JSX, Decl(file.tsx, 0, 0)) + + interface Element {} +>Element : Symbol(Element, Decl(file.tsx, 0, 20)) + + interface IntrinsicElements { +>IntrinsicElements : Symbol(IntrinsicElements, Decl(file.tsx, 1, 22)) + + [s: string]: any; +>s : Symbol(s, Decl(file.tsx, 3, 5)) + } +} + +=== tests/cases/conformance/jsx/Error1.tsx === +let x1 =
}
; +>x1 : Symbol(x1, Decl(Error1.tsx, 0, 3)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +=== tests/cases/conformance/jsx/Error2.tsx === +let x2 =
>
; +>x2 : Symbol(x2, Decl(Error2.tsx, 0, 3)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +=== tests/cases/conformance/jsx/Error3.tsx === +let x3 =
{"foo"}}
; +>x3 : Symbol(x3, Decl(Error3.tsx, 0, 3)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +=== tests/cases/conformance/jsx/Error4.tsx === +let x4 =
{"foo"}>
; +>x4 : Symbol(x4, Decl(Error4.tsx, 0, 3)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +=== tests/cases/conformance/jsx/Error5.tsx === +let x5 =
}{"foo"}
; +>x5 : Symbol(x5, Decl(Error5.tsx, 0, 3)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + +=== tests/cases/conformance/jsx/Error6.tsx === +let x6 =
>{"foo"}
; +>x6 : Symbol(x6, Decl(Error6.tsx, 0, 3)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) +>div : Symbol(JSX.IntrinsicElements, Decl(file.tsx, 1, 22)) + diff --git a/tests/baselines/reference/jsxParsingError3.types b/tests/baselines/reference/jsxParsingError3.types new file mode 100644 index 0000000000000..eceb955362dfd --- /dev/null +++ b/tests/baselines/reference/jsxParsingError3.types @@ -0,0 +1,55 @@ +=== tests/cases/conformance/jsx/file.tsx === +declare module JSX { + interface Element {} + interface IntrinsicElements { + [s: string]: any; +>s : string + } +} + +=== tests/cases/conformance/jsx/Error1.tsx === +let x1 =
}
; +>x1 : JSX.Element +>
}
: JSX.Element +>div : any +>div : any + +=== tests/cases/conformance/jsx/Error2.tsx === +let x2 =
>
; +>x2 : JSX.Element +>
>
: JSX.Element +>div : any +>div : any + +=== tests/cases/conformance/jsx/Error3.tsx === +let x3 =
{"foo"}}
; +>x3 : JSX.Element +>
{"foo"}}
: JSX.Element +>div : any +>"foo" : "foo" +>div : any + +=== tests/cases/conformance/jsx/Error4.tsx === +let x4 =
{"foo"}>
; +>x4 : JSX.Element +>
{"foo"}>
: JSX.Element +>div : any +>"foo" : "foo" +>div : any + +=== tests/cases/conformance/jsx/Error5.tsx === +let x5 =
}{"foo"}
; +>x5 : JSX.Element +>
}{"foo"}
: JSX.Element +>div : any +>"foo" : "foo" +>div : any + +=== tests/cases/conformance/jsx/Error6.tsx === +let x6 =
>{"foo"}
; +>x6 : JSX.Element +>
>{"foo"}
: JSX.Element +>div : any +>"foo" : "foo" +>div : any + diff --git a/tests/baselines/reference/keyofAndIndexedAccessErrors.types b/tests/baselines/reference/keyofAndIndexedAccessErrors.types index 90d2c462d0a69..4d4ad5783033a 100644 --- a/tests/baselines/reference/keyofAndIndexedAccessErrors.types +++ b/tests/baselines/reference/keyofAndIndexedAccessErrors.types @@ -162,15 +162,15 @@ function f10(shape: Shape) { >"name" : "name" let x2 = getProperty(shape, "size"); // Error ->x2 : any ->getProperty(shape, "size") : any +>x2 : string | number | boolean +>getProperty(shape, "size") : string | number | boolean >getProperty : (obj: T, key: K) => T[K] >shape : Shape >"size" : "size" let x3 = getProperty(shape, cond ? "name" : "size"); // Error ->x3 : any ->getProperty(shape, cond ? "name" : "size") : any +>x3 : string | number | boolean +>getProperty(shape, cond ? "name" : "size") : string | number | boolean >getProperty : (obj: T, key: K) => T[K] >shape : Shape >cond ? "name" : "size" : "name" | "size" @@ -186,14 +186,14 @@ function f10(shape: Shape) { >"rectangle" : "rectangle" setProperty(shape, "size", 10); // Error ->setProperty(shape, "size", 10) : any +>setProperty(shape, "size", 10) : void >setProperty : (obj: T, key: K, value: T[K]) => void >shape : Shape >"size" : "size" >10 : 10 setProperty(shape, cond ? "name" : "size", 10); // Error ->setProperty(shape, cond ? "name" : "size", 10) : any +>setProperty(shape, cond ? "name" : "size", 10) : void >setProperty : (obj: T, key: K, value: T[K]) => void >shape : Shape >cond ? "name" : "size" : "name" | "size" diff --git a/tests/baselines/reference/keyofDoesntContainSymbols.types b/tests/baselines/reference/keyofDoesntContainSymbols.types index 4a29560de8250..4842f171b4132 100644 --- a/tests/baselines/reference/keyofDoesntContainSymbols.types +++ b/tests/baselines/reference/keyofDoesntContainSymbols.types @@ -47,8 +47,8 @@ const val = set(obj, 'str', ''); // string const valB = set(obj, 'num', ''); ->valB : any ->set(obj, 'num', '') : any +>valB : number +>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" @@ -57,8 +57,8 @@ const valB = set(obj, 'num', ''); // Expect type error // Argument of type '""' is not assignable to parameter of type 'number'. const valC = set(obj, sym, sym); ->valC : any ->set(obj, sym, sym) : any +>valC : string | number +>set(obj, sym, sym) : string | number >set : (obj: T, key: K, value: T[K]) => T[K] >obj : { num: number; str: string; 0: 0; [sym]: symbol; } >sym : unique symbol @@ -67,8 +67,8 @@ const valC = set(obj, sym, sym); // Expect type error // Argument of type 'unique symbol' is not assignable to parameter of type "str" | "num" const valD = set(obj, num, num); ->valD : any ->set(obj, num, num) : any +>valD : string | number +>set(obj, num, num) : string | number >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/literalTypeNameAssertionNotTriggered.types b/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types index 91854449abc5c..25730fe99b951 100644 --- a/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types +++ b/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types @@ -8,7 +8,7 @@ declare function f(obj: T, key: keyof T): void; >key : keyof T f(a, ""); ->f(a, "") : any +>f(a, "") : void >f : (obj: T, key: keyof T) => void >a : typeof a >"" : "" diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index cfa0df3cd586e..f8468ca0aad69 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -153,8 +153,8 @@ function f20() { >f20 : () => void let x1 = objAndReadonly({ x: 0, y: 0 }, { x: 1 }); // Error ->x1 : any ->objAndReadonly({ x: 0, y: 0 }, { x: 1 }) : any +>x1 : { x: number; y: number; } +>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 @@ -181,8 +181,8 @@ function f20() { >1 : 1 let x3 = objAndReadonly({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }); // Error ->x3 : any ->objAndReadonly({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }) : any +>x3 : { x: number; y: number; } +>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 @@ -230,8 +230,8 @@ function f21() { >1 : 1 let x3 = objAndPartial({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }); // Error ->x3 : any ->objAndPartial({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }) : any +>x3 : { x: number; y: number; } +>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 @@ -324,7 +324,7 @@ setState(foo, foo); >foo : Foo setState(foo, { a: undefined }); // Error ->setState(foo, { a: undefined }) : any +>setState(foo, { a: undefined }) : void >setState : (obj: T, props: Pick) => void >foo : Foo >{ a: undefined } : { a: undefined; } @@ -332,7 +332,7 @@ setState(foo, { a: undefined }); // Error >undefined : undefined setState(foo, { c: true }); // Error ->setState(foo, { c: true }) : any +>setState(foo, { c: true }) : void >setState : (obj: T, props: Pick) => void >foo : Foo >{ c: true } : { c: boolean; } @@ -416,7 +416,7 @@ c.setState(foo); >foo : Foo c.setState({ a: undefined }); // Error ->c.setState({ a: undefined }) : any +>c.setState({ a: undefined }) : void >c.setState : (props: Pick) => void >c : C >setState : (props: Pick) => void @@ -425,7 +425,7 @@ c.setState({ a: undefined }); // Error >undefined : undefined c.setState({ c: true }); // Error ->c.setState({ c: true }) : any +>c.setState({ c: true }) : void >c.setState : (props: Pick) => void >c : C >setState : (props: Pick) => void diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.symbols b/tests/baselines/reference/mappedTypeInferenceErrors.symbols index 577ddd443837b..75b81d03e06b0 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.symbols +++ b/tests/baselines/reference/mappedTypeInferenceErrors.symbols @@ -43,7 +43,6 @@ foo({ let z = this.bar; >z : Symbol(z, Decl(mappedTypeInferenceErrors.ts, 12, 15)) >this.bar : Symbol(bar, Decl(mappedTypeInferenceErrors.ts, 10, 15)) ->this : Symbol(__object, Decl(mappedTypeInferenceErrors.ts, 10, 13)) >bar : Symbol(bar, Decl(mappedTypeInferenceErrors.ts, 10, 15)) return 42; diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.types b/tests/baselines/reference/mappedTypeInferenceErrors.types index b6a0c3a8f2598..abacced1ee268 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.types +++ b/tests/baselines/reference/mappedTypeInferenceErrors.types @@ -14,7 +14,7 @@ declare function foo(options: { props: P, computed: ComputedOf } & This >computed : ComputedOf foo({ ->foo({ props: { x: 10, y: 20 }, computed: { bar(): number { let z = this.bar; return 42; }, baz: 42 }}) : any +>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; }; } @@ -34,10 +34,10 @@ foo({ >bar : () => number let z = this.bar; ->z : () => number ->this.bar : () => number ->this : { bar(): number; baz: number; } ->bar : () => number +>z : unknown +>this.bar : unknown +>this : { x: number; y: number; } & { bar: unknown; baz: unknown; } +>bar : unknown return 42; >42 : 42 diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.symbols b/tests/baselines/reference/mappedTypeRecursiveInference.symbols index bbd59ffdad58b..59109f15f91d2 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.symbols +++ b/tests/baselines/reference/mappedTypeRecursiveInference.symbols @@ -93,8 +93,18 @@ const out2 = foo(xhr); >xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 3)) out2.responseXML +>out2.responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) >out2 : Symbol(out2, Decl(mappedTypeRecursiveInference.ts, 18, 5)) +>responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) out2.responseXML.activeElement.className.length +>out2.responseXML.activeElement.className.length : Symbol(length, Decl(lib.es5.d.ts, --, --)) +>out2.responseXML.activeElement.className : Symbol(className, Decl(lib.dom.d.ts, --, --)) +>out2.responseXML.activeElement : Symbol(activeElement, Decl(lib.dom.d.ts, --, --)) +>out2.responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) >out2 : Symbol(out2, Decl(mappedTypeRecursiveInference.ts, 18, 5)) +>responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) +>activeElement : Symbol(activeElement, Decl(lib.dom.d.ts, --, --)) +>className : Symbol(className, Decl(lib.dom.d.ts, --, --)) +>length : Symbol(length, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 298625be7bb8c..b89076e09d9a2 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -91,24 +91,24 @@ let xhr: XMLHttpRequest; >xhr : XMLHttpRequest const out2 = foo(xhr); ->out2 : any ->foo(xhr) : any +>out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +>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 origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } >foo : (deep: Deep) => T >xhr : XMLHttpRequest out2.responseXML ->out2.responseXML : any ->out2 : any ->responseXML : any +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly correspondingElement: any; readonly correspondingUseElement: any; readonly href: any; }; readonly defaultView: { readonly applicationCache: any; readonly clientInformation: any; readonly closed: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; readonly event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; name: any; readonly navigator: any; offscreenBuffering: any; oncompassneedscalibration: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onorientationchange: any; onreadystatechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; captureEvents: any; close: any; confirm: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly console: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; readonly localStorage: any; readonly caches: any; readonly crypto: any; readonly indexedDB: any; readonly origin: any; readonly performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; setInterval: any; setTimeout: any; readonly sessionStorage: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly origin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: 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 plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; elementFromPoint: unknown; elementsFromPoint: unknown; execCommand: unknown; exitFullscreen: unknown; exitPointerLock: unknown; getAnimations: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly styleSheets: { readonly length: any; item: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragexit: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +>out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly correspondingElement: any; readonly correspondingUseElement: any; readonly href: any; }; readonly defaultView: { readonly applicationCache: any; readonly clientInformation: any; readonly closed: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; readonly event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; name: any; readonly navigator: any; offscreenBuffering: any; oncompassneedscalibration: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onorientationchange: any; onreadystatechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; captureEvents: any; close: any; confirm: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly console: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; readonly localStorage: any; readonly caches: any; readonly crypto: any; readonly indexedDB: any; readonly origin: any; readonly performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; setInterval: any; setTimeout: any; readonly sessionStorage: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly origin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: 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 plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; elementFromPoint: unknown; elementsFromPoint: unknown; execCommand: unknown; exitFullscreen: unknown; exitPointerLock: unknown; getAnimations: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly styleSheets: { readonly length: any; item: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragexit: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } out2.responseXML.activeElement.className.length ->out2.responseXML.activeElement.className.length : any ->out2.responseXML.activeElement.className : any ->out2.responseXML.activeElement : any ->out2.responseXML : any ->out2 : any ->responseXML : any ->activeElement : any ->className : any ->length : any +>out2.responseXML.activeElement.className.length : { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } +>out2.responseXML.activeElement.className : { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } +>out2.responseXML.activeElement : { readonly assignedSlot: { name: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; readonly mode: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; caretPositionFromPoint: any; caretRangeFromPoint: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; closest: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; msGetRegionContent: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; } +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly correspondingElement: any; readonly correspondingUseElement: any; readonly href: any; }; readonly defaultView: { readonly applicationCache: any; readonly clientInformation: any; readonly closed: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; readonly event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; name: any; readonly navigator: any; offscreenBuffering: any; oncompassneedscalibration: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onorientationchange: any; onreadystatechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; captureEvents: any; close: any; confirm: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly console: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; readonly localStorage: any; readonly caches: any; readonly crypto: any; readonly indexedDB: any; readonly origin: any; readonly performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; setInterval: any; setTimeout: any; readonly sessionStorage: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly origin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: 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 plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; elementFromPoint: unknown; elementsFromPoint: unknown; execCommand: unknown; exitFullscreen: unknown; exitPointerLock: unknown; getAnimations: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly styleSheets: { readonly length: any; item: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragexit: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +>out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { item: any; namedItem: any; readonly length: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly correspondingElement: any; readonly correspondingUseElement: any; readonly href: any; }; readonly defaultView: { readonly applicationCache: any; readonly clientInformation: any; readonly closed: any; customElements: any; defaultStatus: any; readonly devicePixelRatio: any; readonly doNotTrack: any; readonly document: any; readonly event: any; readonly external: any; readonly frameElement: any; readonly frames: any; readonly history: any; readonly innerHeight: any; readonly innerWidth: any; readonly isSecureContext: any; readonly length: any; location: any; readonly locationbar: any; readonly menubar: any; readonly msContentScript: any; name: any; readonly navigator: any; offscreenBuffering: any; oncompassneedscalibration: any; ondevicelight: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onmousewheel: any; onmsgesturechange: any; onmsgesturedoubletap: any; onmsgestureend: any; onmsgesturehold: any; onmsgesturestart: any; onmsgesturetap: any; onmsinertiastart: any; onmspointercancel: any; onmspointerdown: any; onmspointerenter: any; onmspointerleave: any; onmspointermove: any; onmspointerout: any; onmspointerover: any; onmspointerup: any; onorientationchange: any; onreadystatechange: any; onvrdisplayactivate: any; onvrdisplayblur: any; onvrdisplayconnect: any; onvrdisplaydeactivate: any; onvrdisplaydisconnect: any; onvrdisplayfocus: any; onvrdisplaypointerrestricted: any; onvrdisplaypointerunrestricted: any; onvrdisplaypresentchange: any; opener: any; readonly orientation: any; readonly outerHeight: any; readonly outerWidth: any; readonly pageXOffset: any; readonly pageYOffset: any; readonly parent: any; readonly personalbar: any; readonly screen: any; readonly screenLeft: any; readonly screenTop: any; readonly screenX: any; readonly screenY: any; readonly scrollX: any; readonly scrollY: any; readonly scrollbars: any; readonly self: any; readonly speechSynthesis: any; status: any; readonly statusbar: any; readonly styleMedia: any; readonly toolbar: any; readonly top: any; readonly window: any; alert: any; blur: any; captureEvents: any; close: any; confirm: any; departFocus: any; focus: any; getComputedStyle: any; getMatchedCSSRules: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; msWriteProfilerMark: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; webkitCancelAnimationFrame: any; webkitConvertPointFromNodeToPage: any; webkitConvertPointFromPageToNode: any; webkitRequestAnimationFrame: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly console: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; readonly localStorage: any; readonly caches: any; readonly crypto: any; readonly indexedDB: any; readonly origin: any; readonly performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; setInterval: any; setTimeout: any; readonly sessionStorage: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly origin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: 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 plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; elementFromPoint: unknown; elementsFromPoint: unknown; execCommand: unknown; exitFullscreen: unknown; exitPointerLock: unknown; getAnimations: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly fullscreenElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly pointerLockElement: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly styleSheets: { readonly length: any; item: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragexit: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +>activeElement : { readonly assignedSlot: { name: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly host: any; readonly mode: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; caretPositionFromPoint: any; caretRangeFromPoint: any; elementFromPoint: any; elementsFromPoint: any; getSelection: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; closest: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; msGetRegionContent: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly origin: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: 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; elementFromPoint: any; elementsFromPoint: any; execCommand: any; exitFullscreen: any; exitPointerLock: any; getAnimations: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: 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 namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; readonly fullscreenElement: any; readonly pointerLockElement: any; readonly styleSheets: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; spellcheck: any; title: any; translate: any; click: any; addEventListener: any; removeEventListener: any; readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragexit: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; 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; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly namespaceURI: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly previousElementSibling: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; readonly lastElementChild: { readonly assignedSlot: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; msGetRegionContent: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; } +>className : { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } +>length : { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } diff --git a/tests/baselines/reference/maxConstraints.types b/tests/baselines/reference/maxConstraints.types index 3b46c115eec23..ad71dc20d5e89 100644 --- a/tests/baselines/reference/maxConstraints.types +++ b/tests/baselines/reference/maxConstraints.types @@ -27,8 +27,8 @@ var max2: Comparer = (x, y) => { return (x.compareTo(y) > 0) ? x : y }; >y : T var maxResult = max2(1, 2); ->maxResult : any ->max2(1, 2) : any +>maxResult : Comparable<1 | 2> +>max2(1, 2) : Comparable<1 | 2> >max2 : Comparer >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/methodChainError.symbols b/tests/baselines/reference/methodChainError.symbols index f17cad3687067..725fd46110d30 100644 --- a/tests/baselines/reference/methodChainError.symbols +++ b/tests/baselines/reference/methodChainError.symbols @@ -16,6 +16,7 @@ class Builder { } new Builder() +>new Builder() .method("a") .method() .method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21)) >new Builder() .method("a") .method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21)) >new Builder() .method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21)) >Builder : Symbol(Builder, Decl(methodChainError.ts, 0, 0)) @@ -27,6 +28,7 @@ new Builder() >method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21)) .method("a"); +>method : Symbol(Builder.method, Decl(methodChainError.ts, 1, 21)) new Builder() diff --git a/tests/baselines/reference/methodChainError.types b/tests/baselines/reference/methodChainError.types index 3ab9e22bd425c..de74e546f65c3 100644 --- a/tests/baselines/reference/methodChainError.types +++ b/tests/baselines/reference/methodChainError.types @@ -15,8 +15,8 @@ class Builder { } new Builder() ->new Builder() .method("a") .method() .method("a") : any ->new Builder() .method("a") .method() .method : any +>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 @@ -32,7 +32,7 @@ new Builder() >method : (param: string) => Builder .method("a"); ->method : any +>method : (param: string) => Builder >"a" : "a" diff --git a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols index ff8312a0e716b..76e53d7485959 100644 --- a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols +++ b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.symbols @@ -57,13 +57,17 @@ var r7 = map([1, ""], (x) => x.toString()); // error >r7 : Symbol(r7, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 9, 3)) >map : Symbol(map, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 0)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 9, 39)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 9, 39)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var r7b = map([1, ""], (x) => x.toString()); // error >r7b : Symbol(r7b, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 10, 3)) >map : Symbol(map, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 0, 0)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 10, 32)) +>x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 10, 32)) +>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) var r8 = map([1, ""], (x) => x.toString()); >r8 : Symbol(r8, Decl(mismatchedExplicitTypeParameterAndArgumentType.ts, 11, 3)) diff --git a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types index 1278c61d6951c..6adf391870603 100644 --- a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types +++ b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types @@ -71,32 +71,32 @@ var r6 = map([1, ""], (x) => x.toString()); >toString : () => string var r7 = map([1, ""], (x) => x.toString()); // error ->r7 : any ->map([1, ""], (x) => x.toString()) : any +>r7 : string[] +>map([1, ""], (x) => x.toString()) : string[] >map : (xs: T[], f: (x: T) => U) => U[] >[1, ""] : (string | number)[] >1 : 1 >"" : "" ->(x) => x.toString() : (x: any) => any ->x : any ->x.toString() : any ->x.toString : any ->x : any ->toString : any +>(x) => x.toString() : (x: number) => string +>x : number +>x.toString() : string +>x.toString : (radix?: number) => string +>x : number +>toString : (radix?: number) => string var r7b = map([1, ""], (x) => x.toString()); // error ->r7b : any ->map([1, ""], (x) => x.toString()) : any +>r7b : unknown[] +>map([1, ""], (x) => x.toString()) : unknown[] >map : (xs: T[], f: (x: T) => U) => U[] >[1, ""] : (string | number)[] >1 : 1 >"" : "" ->(x) => x.toString() : (x: any) => any ->x : any ->x.toString() : any ->x.toString : any ->x : any ->toString : any +>(x) => x.toString() : (x: number) => string +>x : number +>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/narrowingGenericTypeFromInstanceof01.types b/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types index adf17b70d099a..24182276bb3e3 100644 --- a/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types +++ b/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types @@ -28,7 +28,7 @@ function test(x: A | B) { >B : typeof B acceptA(x); ->acceptA(x) : any +>acceptA(x) : void >acceptA : (a: A) => void >x : B } diff --git a/tests/baselines/reference/newMap.types b/tests/baselines/reference/newMap.types index d3fab45ccc0fd..c00ff104407c9 100644 --- a/tests/baselines/reference/newMap.types +++ b/tests/baselines/reference/newMap.types @@ -1,5 +1,5 @@ === tests/cases/compiler/newMap.ts === new Map(); ->new Map() : any +>new Map() : Map >Map : MapConstructor diff --git a/tests/baselines/reference/noErrorsInCallback.types b/tests/baselines/reference/noErrorsInCallback.types index 8e25379209327..b31417da11bd5 100644 --- a/tests/baselines/reference/noErrorsInCallback.types +++ b/tests/baselines/reference/noErrorsInCallback.types @@ -6,8 +6,8 @@ class Bar { >foo : string } var one = new Bar({}); // Error ->one : any ->new Bar({}) : any +>one : Bar +>new Bar({}) : Bar >Bar : typeof Bar >{} : {} @@ -19,8 +19,8 @@ var one = new Bar({}); // Error >() => { var two = new Bar({}); // No error?} : () => void var two = new Bar({}); // No error? ->two : any ->new Bar({}) : any +>two : Bar +>new Bar({}) : Bar >Bar : typeof Bar >{} : {} diff --git a/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt b/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt index 2937f133749d7..4450b128579d1 100644 --- a/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt +++ b/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt @@ -1,18 +1,12 @@ tests/cases/compiler/noImplicitAnyLoopCrash.ts(4,16): error TS2556: Expected 0 arguments, but got 1 or more. -tests/cases/compiler/noImplicitAnyLoopCrash.ts(4,19): error TS2461: Type 'number' is not an array type. -tests/cases/compiler/noImplicitAnyLoopCrash.ts(4,19): error TS2461: Type 'undefined' is not an array type. -==== tests/cases/compiler/noImplicitAnyLoopCrash.ts (3 errors) ==== +==== tests/cases/compiler/noImplicitAnyLoopCrash.ts (1 errors) ==== let foo = () => {}; let bar; while (1) { bar = ~foo(...bar); ~~~~~~ !!! error TS2556: Expected 0 arguments, but got 1 or more. - ~~~ -!!! error TS2461: Type 'number' is not an array type. - ~~~ -!!! error TS2461: Type 'undefined' is not an array type. } \ No newline at end of file diff --git a/tests/baselines/reference/nonPrimitiveInGeneric.types b/tests/baselines/reference/nonPrimitiveInGeneric.types index a57c41abde286..f46f0e0e7ef02 100644 --- a/tests/baselines/reference/nonPrimitiveInGeneric.types +++ b/tests/baselines/reference/nonPrimitiveInGeneric.types @@ -26,12 +26,12 @@ generic(a); >a : {} generic(123); // expect error ->generic(123) : any +>generic(123) : void >generic : (t: T) => void >123 : 123 generic(b); // expect error ->generic(b) : any +>generic(b) : void >generic : (t: T) => void >b : string @@ -55,12 +55,12 @@ bound(a); >a : {} bound(123); // expect error ->bound(123) : any +>bound(123) : void >bound : (t: T) => void >123 : 123 bound(b); // expect error ->bound(b) : any +>bound(b) : void >bound : (t: T) => void >b : string @@ -76,11 +76,11 @@ bound2(); >bound2 : () => void bound2(); // expect error ->bound2() : any +>bound2() : void >bound2 : () => void bound2(); // expect error ->bound2() : any +>bound2() : void >bound2 : () => void function bound3(t: T) { diff --git a/tests/baselines/reference/objectCreationExpressionInFunctionParameter.types b/tests/baselines/reference/objectCreationExpressionInFunctionParameter.types index 910c28d9e93b2..842bfdabb7bff 100644 --- a/tests/baselines/reference/objectCreationExpressionInFunctionParameter.types +++ b/tests/baselines/reference/objectCreationExpressionInFunctionParameter.types @@ -7,9 +7,9 @@ class A { } } function foo(x = new A(123)) { //should error, 123 is not string ->foo : (x?: any) => void ->x : any ->new A(123) : any +>foo : (x?: A) => void +>x : A +>new A(123) : A >A : typeof A >123 : 123 diff --git a/tests/baselines/reference/objectLiteralNormalization.js b/tests/baselines/reference/objectLiteralNormalization.js index aa37bdc2c5ee7..aa2fa9c7ec2e0 100644 --- a/tests/baselines/reference/objectLiteralNormalization.js +++ b/tests/baselines/reference/objectLiteralNormalization.js @@ -227,5 +227,13 @@ declare let e2: { a: number; b: number; }; -declare let e3: any; -declare let e4: any; +declare let e3: { + a: 1; + b: "abc"; + c: true; +}; +declare let e4: { + a: 1; + b: "abc"; + c: true; +}; diff --git a/tests/baselines/reference/objectLiteralNormalization.types b/tests/baselines/reference/objectLiteralNormalization.types index 15c3b6b3ecfda..28cf4bed6f792 100644 --- a/tests/baselines/reference/objectLiteralNormalization.types +++ b/tests/baselines/reference/objectLiteralNormalization.types @@ -304,20 +304,20 @@ let e2 = f({}, { a: "abc" }, { a: 1, b: 2 }); >2 : 2 let e3 = f(data, { a: 2 }); ->e3 : any ->f(data, { a: 2 }) : any +>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: number; } ->a : number +>{ a: 2 } : { a: 2; } +>a : 2 >2 : 2 let e4 = f({ a: 2 }, data); ->e4 : any ->f({ a: 2 }, data) : any +>e4 : { a: 1; b: "abc"; c: true; } +>f({ a: 2 }, data) : { a: 1; b: "abc"; c: true; } >f : (...items: T[]) => T ->{ a: 2 } : { a: number; } ->a : number +>{ a: 2 } : { a: 2; } +>a : 2 >2 : 2 >data : { a: 1; b: "abc"; c: true; } diff --git a/tests/baselines/reference/objectSpread.js b/tests/baselines/reference/objectSpread.js index 1265cc889ff79..0aa167974edbb 100644 --- a/tests/baselines/reference/objectSpread.js +++ b/tests/baselines/reference/objectSpread.js @@ -7,23 +7,14 @@ let addAfter: { a: number, b: string, c: boolean } = { ...o, c: false } let addBefore: { a: number, b: string, c: boolean } = { c: false, ...o } -// Note: ignore still changes the order that properties are printed -let ignore: { a: number, b: string } = - { b: 'ignored', ...o } let override: { a: number, b: string } = { ...o, b: 'override' } let nested: { a: number, b: boolean, c: string } = { ...{ a: 3, ...{ b: false, c: 'overriden' } }, c: 'whatever' } let combined: { a: number, b: string, c: boolean } = { ...o, ...o2 } -let combinedBefore: { a: number, b: string, c: boolean } = - { b: 'ok', ...o, ...o2 } -let combinedMid: { a: number, b: string, c: boolean } = - { ...o, b: 'ok', ...o2 } let combinedAfter: { a: number, b: string, c: boolean } = { ...o, ...o2, b: 'ok' } -let combinedNested: { a: number, b: boolean, c: string, d: string } = - { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } let combinedNestedChangeType: { a: number, b: boolean, c: number } = { ...{ a: 1, ...{ b: false, c: 'overriden' } }, c: -1 } let propertyNested: { a: { a: number, b: string } } = @@ -91,8 +82,6 @@ cplus.plus(); // new field's type conflicting with existing field is OK let changeTypeAfter: { a: string, b: string } = { ...o, a: 'wrong type?' } -let changeTypeBefore: { a: number, b: string } = - { a: 'wrong type?', ...o }; let changeTypeBoth: { a: string, b: number } = { ...o, ...swap }; @@ -109,8 +98,6 @@ function container( // computed property let computedFirst: { a: number, b: string, "before everything": number } = { ['before everything']: 12, ...o, b: 'yes' } - let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = - { ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } let computedAfter: { a: number, b: string, "at the end": number } = { ...o, b: 'yeah', ['at the end']: 14 } } @@ -173,15 +160,10 @@ var o2 = { b: 'yes', c: true }; var swap = { a: 'yes', b: -1 }; var addAfter = __assign(__assign({}, o), { c: false }); var addBefore = __assign({ c: false }, o); -// Note: ignore still changes the order that properties are printed -var ignore = __assign({ b: 'ignored' }, o); var override = __assign(__assign({}, o), { b: 'override' }); var nested = __assign(__assign({}, __assign({ a: 3 }, { b: false, c: 'overriden' })), { c: 'whatever' }); var combined = __assign(__assign({}, o), o2); -var combinedBefore = __assign(__assign({ b: 'ok' }, o), o2); -var combinedMid = __assign(__assign(__assign({}, o), { b: 'ok' }), o2); var combinedAfter = __assign(__assign(__assign({}, o), o2), { b: 'ok' }); -var combinedNested = __assign(__assign(__assign({}, __assign({ a: 4 }, { b: false, c: 'overriden' })), { d: 'actually new' }), { a: 5, d: 'maybe new' }); var combinedNestedChangeType = __assign(__assign({}, __assign({ a: 1 }, { b: false, c: 'overriden' })), { c: -1 }); var propertyNested = { a: __assign({}, o) }; // accessors don't copy the descriptor @@ -231,18 +213,16 @@ var cplus = __assign(__assign({}, c), { plus: function () { return this.p + 1; } cplus.plus(); // new field's type conflicting with existing field is OK var changeTypeAfter = __assign(__assign({}, o), { a: 'wrong type?' }); -var changeTypeBefore = __assign({ a: 'wrong type?' }, o); var changeTypeBoth = __assign(__assign({}, o), swap); // optional function container(definiteBoolean, definiteString, optionalString, optionalNumber) { - var _a, _b, _c; + var _a, _b; var optionalUnionStops = __assign(__assign(__assign({}, definiteBoolean), definiteString), optionalNumber); var optionalUnionDuplicates = __assign(__assign(__assign(__assign({}, definiteBoolean), definiteString), optionalString), optionalNumber); var allOptional = __assign(__assign({}, optionalString), optionalNumber); // computed property var computedFirst = __assign(__assign((_a = {}, _a['before everything'] = 12, _a), o), { b: 'yes' }); - var computedMiddle = __assign(__assign(__assign({}, o), (_b = {}, _b['in the middle'] = 13, _b.b = 'maybe?', _b)), o2); - var computedAfter = __assign(__assign({}, o), (_c = { b: 'yeah' }, _c['at the end'] = 14, _c)); + var computedAfter = __assign(__assign({}, o), (_b = { b: 'yeah' }, _b['at the end'] = 14, _b)); } // shortcut syntax var a = 12; diff --git a/tests/baselines/reference/objectSpread.symbols b/tests/baselines/reference/objectSpread.symbols index e72772676e114..c663cb4f58098 100644 --- a/tests/baselines/reference/objectSpread.symbols +++ b/tests/baselines/reference/objectSpread.symbols @@ -34,324 +34,268 @@ let addBefore: { a: number, b: string, c: boolean } = >c : Symbol(c, Decl(objectSpread.ts, 7, 5)) >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) -// Note: ignore still changes the order that properties are printed -let ignore: { a: number, b: string } = ->ignore : Symbol(ignore, Decl(objectSpread.ts, 9, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 9, 13)) ->b : Symbol(b, Decl(objectSpread.ts, 9, 24)) - - { b: 'ignored', ...o } ->b : Symbol(b, Decl(objectSpread.ts, 10, 5)) ->o : Symbol(o, Decl(objectSpread.ts, 0, 3)) - let override: { a: number, b: string } = ->override : Symbol(override, Decl(objectSpread.ts, 11, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 11, 15)) ->b : Symbol(b, Decl(objectSpread.ts, 11, 26)) +>override : Symbol(override, Decl(objectSpread.ts, 8, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 8, 15)) +>b : Symbol(b, Decl(objectSpread.ts, 8, 26)) { ...o, b: 'override' } >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->b : Symbol(b, Decl(objectSpread.ts, 12, 11)) +>b : Symbol(b, Decl(objectSpread.ts, 9, 11)) let nested: { a: number, b: boolean, c: string } = ->nested : Symbol(nested, Decl(objectSpread.ts, 13, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 13, 13)) ->b : Symbol(b, Decl(objectSpread.ts, 13, 24)) ->c : Symbol(c, Decl(objectSpread.ts, 13, 36)) +>nested : Symbol(nested, Decl(objectSpread.ts, 10, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 10, 13)) +>b : Symbol(b, Decl(objectSpread.ts, 10, 24)) +>c : Symbol(c, Decl(objectSpread.ts, 10, 36)) { ...{ a: 3, ...{ b: false, c: 'overriden' } }, c: 'whatever' } ->a : Symbol(a, Decl(objectSpread.ts, 14, 10)) ->b : Symbol(b, Decl(objectSpread.ts, 14, 21)) ->c : Symbol(c, Decl(objectSpread.ts, 14, 31)) ->c : Symbol(c, Decl(objectSpread.ts, 14, 51)) +>a : Symbol(a, Decl(objectSpread.ts, 11, 10)) +>b : Symbol(b, Decl(objectSpread.ts, 11, 21)) +>c : Symbol(c, Decl(objectSpread.ts, 11, 31)) +>c : Symbol(c, Decl(objectSpread.ts, 11, 51)) let combined: { a: number, b: string, c: boolean } = ->combined : Symbol(combined, Decl(objectSpread.ts, 15, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 15, 15)) ->b : Symbol(b, Decl(objectSpread.ts, 15, 26)) ->c : Symbol(c, Decl(objectSpread.ts, 15, 37)) +>combined : Symbol(combined, Decl(objectSpread.ts, 12, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 12, 15)) +>b : Symbol(b, Decl(objectSpread.ts, 12, 26)) +>c : Symbol(c, Decl(objectSpread.ts, 12, 37)) { ...o, ...o2 } >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) >o2 : Symbol(o2, Decl(objectSpread.ts, 1, 3)) -let combinedBefore: { a: number, b: string, c: boolean } = ->combinedBefore : Symbol(combinedBefore, Decl(objectSpread.ts, 17, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 17, 21)) ->b : Symbol(b, Decl(objectSpread.ts, 17, 32)) ->c : Symbol(c, Decl(objectSpread.ts, 17, 43)) - - { b: 'ok', ...o, ...o2 } ->b : Symbol(b, Decl(objectSpread.ts, 18, 5)) ->o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->o2 : Symbol(o2, Decl(objectSpread.ts, 1, 3)) - -let combinedMid: { a: number, b: string, c: boolean } = ->combinedMid : Symbol(combinedMid, Decl(objectSpread.ts, 19, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 19, 18)) ->b : Symbol(b, Decl(objectSpread.ts, 19, 29)) ->c : Symbol(c, Decl(objectSpread.ts, 19, 40)) - - { ...o, b: 'ok', ...o2 } ->o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->b : Symbol(b, Decl(objectSpread.ts, 20, 11)) ->o2 : Symbol(o2, Decl(objectSpread.ts, 1, 3)) - let combinedAfter: { a: number, b: string, c: boolean } = ->combinedAfter : Symbol(combinedAfter, Decl(objectSpread.ts, 21, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 21, 20)) ->b : Symbol(b, Decl(objectSpread.ts, 21, 31)) ->c : Symbol(c, Decl(objectSpread.ts, 21, 42)) +>combinedAfter : Symbol(combinedAfter, Decl(objectSpread.ts, 14, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 14, 20)) +>b : Symbol(b, Decl(objectSpread.ts, 14, 31)) +>c : Symbol(c, Decl(objectSpread.ts, 14, 42)) { ...o, ...o2, b: 'ok' } >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) >o2 : Symbol(o2, Decl(objectSpread.ts, 1, 3)) ->b : Symbol(b, Decl(objectSpread.ts, 22, 18)) - -let combinedNested: { a: number, b: boolean, c: string, d: string } = ->combinedNested : Symbol(combinedNested, Decl(objectSpread.ts, 23, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 23, 21)) ->b : Symbol(b, Decl(objectSpread.ts, 23, 32)) ->c : Symbol(c, Decl(objectSpread.ts, 23, 44)) ->d : Symbol(d, Decl(objectSpread.ts, 23, 55)) - - { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } ->a : Symbol(a, Decl(objectSpread.ts, 24, 10)) ->b : Symbol(b, Decl(objectSpread.ts, 24, 21)) ->c : Symbol(c, Decl(objectSpread.ts, 24, 31)) ->d : Symbol(d, Decl(objectSpread.ts, 24, 51)) ->a : Symbol(a, Decl(objectSpread.ts, 24, 75)) ->d : Symbol(d, Decl(objectSpread.ts, 24, 81)) +>b : Symbol(b, Decl(objectSpread.ts, 15, 18)) let combinedNestedChangeType: { a: number, b: boolean, c: number } = ->combinedNestedChangeType : Symbol(combinedNestedChangeType, Decl(objectSpread.ts, 25, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 25, 31)) ->b : Symbol(b, Decl(objectSpread.ts, 25, 42)) ->c : Symbol(c, Decl(objectSpread.ts, 25, 54)) +>combinedNestedChangeType : Symbol(combinedNestedChangeType, Decl(objectSpread.ts, 16, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 16, 31)) +>b : Symbol(b, Decl(objectSpread.ts, 16, 42)) +>c : Symbol(c, Decl(objectSpread.ts, 16, 54)) { ...{ a: 1, ...{ b: false, c: 'overriden' } }, c: -1 } ->a : Symbol(a, Decl(objectSpread.ts, 26, 10)) ->b : Symbol(b, Decl(objectSpread.ts, 26, 21)) ->c : Symbol(c, Decl(objectSpread.ts, 26, 31)) ->c : Symbol(c, Decl(objectSpread.ts, 26, 51)) +>a : Symbol(a, Decl(objectSpread.ts, 17, 10)) +>b : Symbol(b, Decl(objectSpread.ts, 17, 21)) +>c : Symbol(c, Decl(objectSpread.ts, 17, 31)) +>c : Symbol(c, Decl(objectSpread.ts, 17, 51)) let propertyNested: { a: { a: number, b: string } } = ->propertyNested : Symbol(propertyNested, Decl(objectSpread.ts, 27, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 27, 21)) ->a : Symbol(a, Decl(objectSpread.ts, 27, 26)) ->b : Symbol(b, Decl(objectSpread.ts, 27, 37)) +>propertyNested : Symbol(propertyNested, Decl(objectSpread.ts, 18, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 18, 21)) +>a : Symbol(a, Decl(objectSpread.ts, 18, 26)) +>b : Symbol(b, Decl(objectSpread.ts, 18, 37)) { a: { ... o } } ->a : Symbol(a, Decl(objectSpread.ts, 28, 5)) +>a : Symbol(a, Decl(objectSpread.ts, 19, 5)) >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) // accessors don't copy the descriptor // (which means that readonly getters become read/write properties) let op = { get a () { return 6 } }; ->op : Symbol(op, Decl(objectSpread.ts, 31, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 31, 10)) +>op : Symbol(op, Decl(objectSpread.ts, 22, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 22, 10)) let getter: { a: number, c: number } = ->getter : Symbol(getter, Decl(objectSpread.ts, 32, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 32, 13)) ->c : Symbol(c, Decl(objectSpread.ts, 32, 24)) +>getter : Symbol(getter, Decl(objectSpread.ts, 23, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 23, 13)) +>c : Symbol(c, Decl(objectSpread.ts, 23, 24)) { ...op, c: 7 } ->op : Symbol(op, Decl(objectSpread.ts, 31, 3)) ->c : Symbol(c, Decl(objectSpread.ts, 33, 12)) +>op : Symbol(op, Decl(objectSpread.ts, 22, 3)) +>c : Symbol(c, Decl(objectSpread.ts, 24, 12)) getter.a = 12; ->getter.a : Symbol(a, Decl(objectSpread.ts, 32, 13)) ->getter : Symbol(getter, Decl(objectSpread.ts, 32, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 32, 13)) +>getter.a : Symbol(a, Decl(objectSpread.ts, 23, 13)) +>getter : Symbol(getter, Decl(objectSpread.ts, 23, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 23, 13)) // functions result in { } let spreadFunc = { ...(function () { }) }; ->spreadFunc : Symbol(spreadFunc, Decl(objectSpread.ts, 37, 3)) +>spreadFunc : Symbol(spreadFunc, Decl(objectSpread.ts, 28, 3)) type Header = { head: string, body: string, authToken: string } ->Header : Symbol(Header, Decl(objectSpread.ts, 37, 42)) ->head : Symbol(head, Decl(objectSpread.ts, 39, 15)) ->body : Symbol(body, Decl(objectSpread.ts, 39, 29)) ->authToken : Symbol(authToken, Decl(objectSpread.ts, 39, 43)) +>Header : Symbol(Header, Decl(objectSpread.ts, 28, 42)) +>head : Symbol(head, Decl(objectSpread.ts, 30, 15)) +>body : Symbol(body, Decl(objectSpread.ts, 30, 29)) +>authToken : Symbol(authToken, Decl(objectSpread.ts, 30, 43)) function from16326(this: { header: Header }, header: Header, authToken: string): Header { ->from16326 : Symbol(from16326, Decl(objectSpread.ts, 39, 63)) ->this : Symbol(this, Decl(objectSpread.ts, 40, 19)) ->header : Symbol(header, Decl(objectSpread.ts, 40, 26)) ->Header : Symbol(Header, Decl(objectSpread.ts, 37, 42)) ->header : Symbol(header, Decl(objectSpread.ts, 40, 44)) ->Header : Symbol(Header, Decl(objectSpread.ts, 37, 42)) ->authToken : Symbol(authToken, Decl(objectSpread.ts, 40, 60)) ->Header : Symbol(Header, Decl(objectSpread.ts, 37, 42)) +>from16326 : Symbol(from16326, Decl(objectSpread.ts, 30, 63)) +>this : Symbol(this, Decl(objectSpread.ts, 31, 19)) +>header : Symbol(header, Decl(objectSpread.ts, 31, 26)) +>Header : Symbol(Header, Decl(objectSpread.ts, 28, 42)) +>header : Symbol(header, Decl(objectSpread.ts, 31, 44)) +>Header : Symbol(Header, Decl(objectSpread.ts, 28, 42)) +>authToken : Symbol(authToken, Decl(objectSpread.ts, 31, 60)) +>Header : Symbol(Header, Decl(objectSpread.ts, 28, 42)) return { ...this.header, ->this.header : Symbol(header, Decl(objectSpread.ts, 40, 26)) ->this : Symbol(this, Decl(objectSpread.ts, 40, 19)) ->header : Symbol(header, Decl(objectSpread.ts, 40, 26)) +>this.header : Symbol(header, Decl(objectSpread.ts, 31, 26)) +>this : Symbol(this, Decl(objectSpread.ts, 31, 19)) +>header : Symbol(header, Decl(objectSpread.ts, 31, 26)) ...header, ->header : Symbol(header, Decl(objectSpread.ts, 40, 44)) +>header : Symbol(header, Decl(objectSpread.ts, 31, 44)) ...authToken && { authToken } ->authToken : Symbol(authToken, Decl(objectSpread.ts, 40, 60)) ->authToken : Symbol(authToken, Decl(objectSpread.ts, 44, 25)) +>authToken : Symbol(authToken, Decl(objectSpread.ts, 31, 60)) +>authToken : Symbol(authToken, Decl(objectSpread.ts, 35, 25)) } } // boolean && T results in Partial function conditionalSpreadBoolean(b: boolean) : { x: number, y: number } { ->conditionalSpreadBoolean : Symbol(conditionalSpreadBoolean, Decl(objectSpread.ts, 46, 1)) ->b : Symbol(b, Decl(objectSpread.ts, 48, 34)) ->x : Symbol(x, Decl(objectSpread.ts, 48, 49)) ->y : Symbol(y, Decl(objectSpread.ts, 48, 60)) +>conditionalSpreadBoolean : Symbol(conditionalSpreadBoolean, Decl(objectSpread.ts, 37, 1)) +>b : Symbol(b, Decl(objectSpread.ts, 39, 34)) +>x : Symbol(x, Decl(objectSpread.ts, 39, 49)) +>y : Symbol(y, Decl(objectSpread.ts, 39, 60)) let o = { x: 12, y: 13 } ->o : Symbol(o, Decl(objectSpread.ts, 49, 7)) ->x : Symbol(x, Decl(objectSpread.ts, 49, 13)) ->y : Symbol(y, Decl(objectSpread.ts, 49, 20)) +>o : Symbol(o, Decl(objectSpread.ts, 40, 7)) +>x : Symbol(x, Decl(objectSpread.ts, 40, 13)) +>y : Symbol(y, Decl(objectSpread.ts, 40, 20)) o = { ->o : Symbol(o, Decl(objectSpread.ts, 49, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 40, 7)) ...o, ->o : Symbol(o, Decl(objectSpread.ts, 49, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 40, 7)) ...b && { x: 14 } ->b : Symbol(b, Decl(objectSpread.ts, 48, 34)) ->x : Symbol(x, Decl(objectSpread.ts, 52, 17)) +>b : Symbol(b, Decl(objectSpread.ts, 39, 34)) +>x : Symbol(x, Decl(objectSpread.ts, 43, 17)) } let o2 = { ...b && { x: 21 }} ->o2 : Symbol(o2, Decl(objectSpread.ts, 54, 7)) ->b : Symbol(b, Decl(objectSpread.ts, 48, 34)) ->x : Symbol(x, Decl(objectSpread.ts, 54, 24)) +>o2 : Symbol(o2, Decl(objectSpread.ts, 45, 7)) +>b : Symbol(b, Decl(objectSpread.ts, 39, 34)) +>x : Symbol(x, Decl(objectSpread.ts, 45, 24)) return o; ->o : Symbol(o, Decl(objectSpread.ts, 49, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 40, 7)) } function conditionalSpreadNumber(nt: number): { x: number, y: number } { ->conditionalSpreadNumber : Symbol(conditionalSpreadNumber, Decl(objectSpread.ts, 56, 1)) ->nt : Symbol(nt, Decl(objectSpread.ts, 57, 33)) ->x : Symbol(x, Decl(objectSpread.ts, 57, 47)) ->y : Symbol(y, Decl(objectSpread.ts, 57, 58)) +>conditionalSpreadNumber : Symbol(conditionalSpreadNumber, Decl(objectSpread.ts, 47, 1)) +>nt : Symbol(nt, Decl(objectSpread.ts, 48, 33)) +>x : Symbol(x, Decl(objectSpread.ts, 48, 47)) +>y : Symbol(y, Decl(objectSpread.ts, 48, 58)) let o = { x: 15, y: 16 } ->o : Symbol(o, Decl(objectSpread.ts, 58, 7)) ->x : Symbol(x, Decl(objectSpread.ts, 58, 13)) ->y : Symbol(y, Decl(objectSpread.ts, 58, 20)) +>o : Symbol(o, Decl(objectSpread.ts, 49, 7)) +>x : Symbol(x, Decl(objectSpread.ts, 49, 13)) +>y : Symbol(y, Decl(objectSpread.ts, 49, 20)) o = { ->o : Symbol(o, Decl(objectSpread.ts, 58, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 49, 7)) ...o, ->o : Symbol(o, Decl(objectSpread.ts, 58, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 49, 7)) ...nt && { x: nt } ->nt : Symbol(nt, Decl(objectSpread.ts, 57, 33)) ->x : Symbol(x, Decl(objectSpread.ts, 61, 18)) ->nt : Symbol(nt, Decl(objectSpread.ts, 57, 33)) +>nt : Symbol(nt, Decl(objectSpread.ts, 48, 33)) +>x : Symbol(x, Decl(objectSpread.ts, 52, 18)) +>nt : Symbol(nt, Decl(objectSpread.ts, 48, 33)) } let o2 = { ...nt && { x: nt }} ->o2 : Symbol(o2, Decl(objectSpread.ts, 63, 7)) ->nt : Symbol(nt, Decl(objectSpread.ts, 57, 33)) ->x : Symbol(x, Decl(objectSpread.ts, 63, 25)) ->nt : Symbol(nt, Decl(objectSpread.ts, 57, 33)) +>o2 : Symbol(o2, Decl(objectSpread.ts, 54, 7)) +>nt : Symbol(nt, Decl(objectSpread.ts, 48, 33)) +>x : Symbol(x, Decl(objectSpread.ts, 54, 25)) +>nt : Symbol(nt, Decl(objectSpread.ts, 48, 33)) return o; ->o : Symbol(o, Decl(objectSpread.ts, 58, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 49, 7)) } function conditionalSpreadString(st: string): { x: string, y: number } { ->conditionalSpreadString : Symbol(conditionalSpreadString, Decl(objectSpread.ts, 65, 1)) ->st : Symbol(st, Decl(objectSpread.ts, 66, 33)) ->x : Symbol(x, Decl(objectSpread.ts, 66, 47)) ->y : Symbol(y, Decl(objectSpread.ts, 66, 58)) +>conditionalSpreadString : Symbol(conditionalSpreadString, Decl(objectSpread.ts, 56, 1)) +>st : Symbol(st, Decl(objectSpread.ts, 57, 33)) +>x : Symbol(x, Decl(objectSpread.ts, 57, 47)) +>y : Symbol(y, Decl(objectSpread.ts, 57, 58)) let o = { x: 'hi', y: 17 } ->o : Symbol(o, Decl(objectSpread.ts, 67, 7)) ->x : Symbol(x, Decl(objectSpread.ts, 67, 13)) ->y : Symbol(y, Decl(objectSpread.ts, 67, 22)) +>o : Symbol(o, Decl(objectSpread.ts, 58, 7)) +>x : Symbol(x, Decl(objectSpread.ts, 58, 13)) +>y : Symbol(y, Decl(objectSpread.ts, 58, 22)) o = { ->o : Symbol(o, Decl(objectSpread.ts, 67, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 58, 7)) ...o, ->o : Symbol(o, Decl(objectSpread.ts, 67, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 58, 7)) ...st && { x: st } ->st : Symbol(st, Decl(objectSpread.ts, 66, 33)) ->x : Symbol(x, Decl(objectSpread.ts, 70, 18)) ->st : Symbol(st, Decl(objectSpread.ts, 66, 33)) +>st : Symbol(st, Decl(objectSpread.ts, 57, 33)) +>x : Symbol(x, Decl(objectSpread.ts, 61, 18)) +>st : Symbol(st, Decl(objectSpread.ts, 57, 33)) } let o2 = { ...st && { x: st }} ->o2 : Symbol(o2, Decl(objectSpread.ts, 72, 7)) ->st : Symbol(st, Decl(objectSpread.ts, 66, 33)) ->x : Symbol(x, Decl(objectSpread.ts, 72, 25)) ->st : Symbol(st, Decl(objectSpread.ts, 66, 33)) +>o2 : Symbol(o2, Decl(objectSpread.ts, 63, 7)) +>st : Symbol(st, Decl(objectSpread.ts, 57, 33)) +>x : Symbol(x, Decl(objectSpread.ts, 63, 25)) +>st : Symbol(st, Decl(objectSpread.ts, 57, 33)) return o; ->o : Symbol(o, Decl(objectSpread.ts, 67, 7)) +>o : Symbol(o, Decl(objectSpread.ts, 58, 7)) } // any results in any let anything: any; ->anything : Symbol(anything, Decl(objectSpread.ts, 77, 3)) +>anything : Symbol(anything, Decl(objectSpread.ts, 68, 3)) let spreadAny = { ...anything }; ->spreadAny : Symbol(spreadAny, Decl(objectSpread.ts, 78, 3)) ->anything : Symbol(anything, Decl(objectSpread.ts, 77, 3)) +>spreadAny : Symbol(spreadAny, Decl(objectSpread.ts, 69, 3)) +>anything : Symbol(anything, Decl(objectSpread.ts, 68, 3)) // methods are not enumerable class C { p = 1; m() { } } ->C : Symbol(C, Decl(objectSpread.ts, 78, 32)) ->p : Symbol(C.p, Decl(objectSpread.ts, 81, 9)) ->m : Symbol(C.m, Decl(objectSpread.ts, 81, 16)) +>C : Symbol(C, Decl(objectSpread.ts, 69, 32)) +>p : Symbol(C.p, Decl(objectSpread.ts, 72, 9)) +>m : Symbol(C.m, Decl(objectSpread.ts, 72, 16)) let c: C = new C() ->c : Symbol(c, Decl(objectSpread.ts, 82, 3)) ->C : Symbol(C, Decl(objectSpread.ts, 78, 32)) ->C : Symbol(C, Decl(objectSpread.ts, 78, 32)) +>c : Symbol(c, Decl(objectSpread.ts, 73, 3)) +>C : Symbol(C, Decl(objectSpread.ts, 69, 32)) +>C : Symbol(C, Decl(objectSpread.ts, 69, 32)) let spreadC: { p: number } = { ...c } ->spreadC : Symbol(spreadC, Decl(objectSpread.ts, 83, 3)) ->p : Symbol(p, Decl(objectSpread.ts, 83, 14)) ->c : Symbol(c, Decl(objectSpread.ts, 82, 3)) +>spreadC : Symbol(spreadC, Decl(objectSpread.ts, 74, 3)) +>p : Symbol(p, Decl(objectSpread.ts, 74, 14)) +>c : Symbol(c, Decl(objectSpread.ts, 73, 3)) // own methods are enumerable let cplus: { p: number, plus(): void } = { ...c, plus() { return this.p + 1; } }; ->cplus : Symbol(cplus, Decl(objectSpread.ts, 86, 3)) ->p : Symbol(p, Decl(objectSpread.ts, 86, 12)) ->plus : Symbol(plus, Decl(objectSpread.ts, 86, 23)) ->c : Symbol(c, Decl(objectSpread.ts, 82, 3)) ->plus : Symbol(plus, Decl(objectSpread.ts, 86, 48)) +>cplus : Symbol(cplus, Decl(objectSpread.ts, 77, 3)) +>p : Symbol(p, Decl(objectSpread.ts, 77, 12)) +>plus : Symbol(plus, Decl(objectSpread.ts, 77, 23)) +>c : Symbol(c, Decl(objectSpread.ts, 73, 3)) +>plus : Symbol(plus, Decl(objectSpread.ts, 77, 48)) cplus.plus(); ->cplus.plus : Symbol(plus, Decl(objectSpread.ts, 86, 23)) ->cplus : Symbol(cplus, Decl(objectSpread.ts, 86, 3)) ->plus : Symbol(plus, Decl(objectSpread.ts, 86, 23)) +>cplus.plus : Symbol(plus, Decl(objectSpread.ts, 77, 23)) +>cplus : Symbol(cplus, Decl(objectSpread.ts, 77, 3)) +>plus : Symbol(plus, Decl(objectSpread.ts, 77, 23)) // new field's type conflicting with existing field is OK let changeTypeAfter: { a: string, b: string } = ->changeTypeAfter : Symbol(changeTypeAfter, Decl(objectSpread.ts, 90, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 90, 22)) ->b : Symbol(b, Decl(objectSpread.ts, 90, 33)) +>changeTypeAfter : Symbol(changeTypeAfter, Decl(objectSpread.ts, 81, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 81, 22)) +>b : Symbol(b, Decl(objectSpread.ts, 81, 33)) { ...o, a: 'wrong type?' } >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 91, 11)) - -let changeTypeBefore: { a: number, b: string } = ->changeTypeBefore : Symbol(changeTypeBefore, Decl(objectSpread.ts, 92, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 92, 23)) ->b : Symbol(b, Decl(objectSpread.ts, 92, 34)) - - { a: 'wrong type?', ...o }; ->a : Symbol(a, Decl(objectSpread.ts, 93, 5)) ->o : Symbol(o, Decl(objectSpread.ts, 0, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 82, 11)) let changeTypeBoth: { a: string, b: number } = ->changeTypeBoth : Symbol(changeTypeBoth, Decl(objectSpread.ts, 94, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 94, 21)) ->b : Symbol(b, Decl(objectSpread.ts, 94, 32)) +>changeTypeBoth : Symbol(changeTypeBoth, Decl(objectSpread.ts, 83, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 83, 21)) +>b : Symbol(b, Decl(objectSpread.ts, 83, 32)) { ...o, ...swap }; >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) @@ -359,277 +303,263 @@ let changeTypeBoth: { a: string, b: number } = // optional function container( ->container : Symbol(container, Decl(objectSpread.ts, 95, 22)) +>container : Symbol(container, Decl(objectSpread.ts, 84, 22)) definiteBoolean: { sn: boolean }, ->definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 98, 19)) ->sn : Symbol(sn, Decl(objectSpread.ts, 99, 22)) +>definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 87, 19)) +>sn : Symbol(sn, Decl(objectSpread.ts, 88, 22)) definiteString: { sn: string }, ->definiteString : Symbol(definiteString, Decl(objectSpread.ts, 99, 37)) ->sn : Symbol(sn, Decl(objectSpread.ts, 100, 21)) +>definiteString : Symbol(definiteString, Decl(objectSpread.ts, 88, 37)) +>sn : Symbol(sn, Decl(objectSpread.ts, 89, 21)) optionalString: { sn?: string }, ->optionalString : Symbol(optionalString, Decl(objectSpread.ts, 100, 35)) ->sn : Symbol(sn, Decl(objectSpread.ts, 101, 21)) +>optionalString : Symbol(optionalString, Decl(objectSpread.ts, 89, 35)) +>sn : Symbol(sn, Decl(objectSpread.ts, 90, 21)) optionalNumber: { sn?: number }) { ->optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 101, 36)) ->sn : Symbol(sn, Decl(objectSpread.ts, 102, 21)) +>optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 90, 36)) +>sn : Symbol(sn, Decl(objectSpread.ts, 91, 21)) let optionalUnionStops: { sn: string | number | boolean } = { ...definiteBoolean, ...definiteString, ...optionalNumber }; ->optionalUnionStops : Symbol(optionalUnionStops, Decl(objectSpread.ts, 103, 7)) ->sn : Symbol(sn, Decl(objectSpread.ts, 103, 29)) ->definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 98, 19)) ->definiteString : Symbol(definiteString, Decl(objectSpread.ts, 99, 37)) ->optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 101, 36)) +>optionalUnionStops : Symbol(optionalUnionStops, Decl(objectSpread.ts, 92, 7)) +>sn : Symbol(sn, Decl(objectSpread.ts, 92, 29)) +>definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 87, 19)) +>definiteString : Symbol(definiteString, Decl(objectSpread.ts, 88, 37)) +>optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 90, 36)) let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber }; ->optionalUnionDuplicates : Symbol(optionalUnionDuplicates, Decl(objectSpread.ts, 104, 7)) ->sn : Symbol(sn, Decl(objectSpread.ts, 104, 34)) ->definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 98, 19)) ->definiteString : Symbol(definiteString, Decl(objectSpread.ts, 99, 37)) ->optionalString : Symbol(optionalString, Decl(objectSpread.ts, 100, 35)) ->optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 101, 36)) +>optionalUnionDuplicates : Symbol(optionalUnionDuplicates, Decl(objectSpread.ts, 93, 7)) +>sn : Symbol(sn, Decl(objectSpread.ts, 93, 34)) +>definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 87, 19)) +>definiteString : Symbol(definiteString, Decl(objectSpread.ts, 88, 37)) +>optionalString : Symbol(optionalString, Decl(objectSpread.ts, 89, 35)) +>optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 90, 36)) let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; ->allOptional : Symbol(allOptional, Decl(objectSpread.ts, 105, 7)) ->sn : Symbol(sn, Decl(objectSpread.ts, 105, 22)) ->optionalString : Symbol(optionalString, Decl(objectSpread.ts, 100, 35)) ->optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 101, 36)) +>allOptional : Symbol(allOptional, Decl(objectSpread.ts, 94, 7)) +>sn : Symbol(sn, Decl(objectSpread.ts, 94, 22)) +>optionalString : Symbol(optionalString, Decl(objectSpread.ts, 89, 35)) +>optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 90, 36)) // computed property let computedFirst: { a: number, b: string, "before everything": number } = ->computedFirst : Symbol(computedFirst, Decl(objectSpread.ts, 108, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 108, 24)) ->b : Symbol(b, Decl(objectSpread.ts, 108, 35)) ->"before everything" : Symbol("before everything", Decl(objectSpread.ts, 108, 46)) +>computedFirst : Symbol(computedFirst, Decl(objectSpread.ts, 97, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 97, 24)) +>b : Symbol(b, Decl(objectSpread.ts, 97, 35)) +>"before everything" : Symbol("before everything", Decl(objectSpread.ts, 97, 46)) { ['before everything']: 12, ...o, b: 'yes' } ->['before everything'] : Symbol(['before everything'], Decl(objectSpread.ts, 109, 9)) ->'before everything' : Symbol(['before everything'], Decl(objectSpread.ts, 109, 9)) ->o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->b : Symbol(b, Decl(objectSpread.ts, 109, 42)) - - let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = ->computedMiddle : Symbol(computedMiddle, Decl(objectSpread.ts, 110, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 110, 25)) ->b : Symbol(b, Decl(objectSpread.ts, 110, 36)) ->c : Symbol(c, Decl(objectSpread.ts, 110, 47)) ->"in the middle" : Symbol("in the middle", Decl(objectSpread.ts, 110, 59)) - - { ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } +>['before everything'] : Symbol(['before everything'], Decl(objectSpread.ts, 98, 9)) +>'before everything' : Symbol(['before everything'], Decl(objectSpread.ts, 98, 9)) >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->['in the middle'] : Symbol(['in the middle'], Decl(objectSpread.ts, 111, 15)) ->'in the middle' : Symbol(['in the middle'], Decl(objectSpread.ts, 111, 15)) ->b : Symbol(b, Decl(objectSpread.ts, 111, 38)) ->o2 : Symbol(o2, Decl(objectSpread.ts, 1, 3)) +>b : Symbol(b, Decl(objectSpread.ts, 98, 42)) let computedAfter: { a: number, b: string, "at the end": number } = ->computedAfter : Symbol(computedAfter, Decl(objectSpread.ts, 112, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 112, 24)) ->b : Symbol(b, Decl(objectSpread.ts, 112, 35)) ->"at the end" : Symbol("at the end", Decl(objectSpread.ts, 112, 46)) +>computedAfter : Symbol(computedAfter, Decl(objectSpread.ts, 99, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 99, 24)) +>b : Symbol(b, Decl(objectSpread.ts, 99, 35)) +>"at the end" : Symbol("at the end", Decl(objectSpread.ts, 99, 46)) { ...o, b: 'yeah', ['at the end']: 14 } >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->b : Symbol(b, Decl(objectSpread.ts, 113, 15)) ->['at the end'] : Symbol(['at the end'], Decl(objectSpread.ts, 113, 26)) ->'at the end' : Symbol(['at the end'], Decl(objectSpread.ts, 113, 26)) +>b : Symbol(b, Decl(objectSpread.ts, 100, 15)) +>['at the end'] : Symbol(['at the end'], Decl(objectSpread.ts, 100, 26)) +>'at the end' : Symbol(['at the end'], Decl(objectSpread.ts, 100, 26)) } // shortcut syntax let a = 12; ->a : Symbol(a, Decl(objectSpread.ts, 116, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 103, 3)) let shortCutted: { a: number, b: string } = { ...o, a } ->shortCutted : Symbol(shortCutted, Decl(objectSpread.ts, 117, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 117, 18)) ->b : Symbol(b, Decl(objectSpread.ts, 117, 29)) +>shortCutted : Symbol(shortCutted, Decl(objectSpread.ts, 104, 3)) +>a : Symbol(a, Decl(objectSpread.ts, 104, 18)) +>b : Symbol(b, Decl(objectSpread.ts, 104, 29)) >o : Symbol(o, Decl(objectSpread.ts, 0, 3)) ->a : Symbol(a, Decl(objectSpread.ts, 117, 51)) +>a : Symbol(a, Decl(objectSpread.ts, 104, 51)) // non primitive let spreadNonPrimitive = { ...{}}; ->spreadNonPrimitive : Symbol(spreadNonPrimitive, Decl(objectSpread.ts, 119, 3)) +>spreadNonPrimitive : Symbol(spreadNonPrimitive, Decl(objectSpread.ts, 106, 3)) // generic spreads function f(t: T, u: U) { ->f : Symbol(f, Decl(objectSpread.ts, 119, 42)) ->T : Symbol(T, Decl(objectSpread.ts, 123, 11)) ->U : Symbol(U, Decl(objectSpread.ts, 123, 13)) ->t : Symbol(t, Decl(objectSpread.ts, 123, 17)) ->T : Symbol(T, Decl(objectSpread.ts, 123, 11)) ->u : Symbol(u, Decl(objectSpread.ts, 123, 22)) ->U : Symbol(U, Decl(objectSpread.ts, 123, 13)) +>f : Symbol(f, Decl(objectSpread.ts, 106, 42)) +>T : Symbol(T, Decl(objectSpread.ts, 110, 11)) +>U : Symbol(U, Decl(objectSpread.ts, 110, 13)) +>t : Symbol(t, Decl(objectSpread.ts, 110, 17)) +>T : Symbol(T, Decl(objectSpread.ts, 110, 11)) +>u : Symbol(u, Decl(objectSpread.ts, 110, 22)) +>U : Symbol(U, Decl(objectSpread.ts, 110, 13)) return { ...t, ...u, id: 'id' }; ->t : Symbol(t, Decl(objectSpread.ts, 123, 17)) ->u : Symbol(u, Decl(objectSpread.ts, 123, 22)) ->id : Symbol(id, Decl(objectSpread.ts, 124, 24)) +>t : Symbol(t, Decl(objectSpread.ts, 110, 17)) +>u : Symbol(u, Decl(objectSpread.ts, 110, 22)) +>id : Symbol(id, Decl(objectSpread.ts, 111, 24)) } let exclusive: { id: string, a: number, b: string, c: string, d: boolean } = ->exclusive : Symbol(exclusive, Decl(objectSpread.ts, 127, 3)) ->id : Symbol(id, Decl(objectSpread.ts, 127, 16)) ->a : Symbol(a, Decl(objectSpread.ts, 127, 28)) ->b : Symbol(b, Decl(objectSpread.ts, 127, 39)) ->c : Symbol(c, Decl(objectSpread.ts, 127, 50)) ->d : Symbol(d, Decl(objectSpread.ts, 127, 61)) +>exclusive : Symbol(exclusive, Decl(objectSpread.ts, 114, 3)) +>id : Symbol(id, Decl(objectSpread.ts, 114, 16)) +>a : Symbol(a, Decl(objectSpread.ts, 114, 28)) +>b : Symbol(b, Decl(objectSpread.ts, 114, 39)) +>c : Symbol(c, Decl(objectSpread.ts, 114, 50)) +>d : Symbol(d, Decl(objectSpread.ts, 114, 61)) f({ a: 1, b: 'yes' }, { c: 'no', d: false }) ->f : Symbol(f, Decl(objectSpread.ts, 119, 42)) ->a : Symbol(a, Decl(objectSpread.ts, 128, 7)) ->b : Symbol(b, Decl(objectSpread.ts, 128, 13)) ->c : Symbol(c, Decl(objectSpread.ts, 128, 27)) ->d : Symbol(d, Decl(objectSpread.ts, 128, 36)) +>f : Symbol(f, Decl(objectSpread.ts, 106, 42)) +>a : Symbol(a, Decl(objectSpread.ts, 115, 7)) +>b : Symbol(b, Decl(objectSpread.ts, 115, 13)) +>c : Symbol(c, Decl(objectSpread.ts, 115, 27)) +>d : Symbol(d, Decl(objectSpread.ts, 115, 36)) let overlap: { id: string, a: number, b: string } = ->overlap : Symbol(overlap, Decl(objectSpread.ts, 129, 3)) ->id : Symbol(id, Decl(objectSpread.ts, 129, 14)) ->a : Symbol(a, Decl(objectSpread.ts, 129, 26)) ->b : Symbol(b, Decl(objectSpread.ts, 129, 37)) +>overlap : Symbol(overlap, Decl(objectSpread.ts, 116, 3)) +>id : Symbol(id, Decl(objectSpread.ts, 116, 14)) +>a : Symbol(a, Decl(objectSpread.ts, 116, 26)) +>b : Symbol(b, Decl(objectSpread.ts, 116, 37)) f({ a: 1 }, { a: 2, b: 'extra' }) ->f : Symbol(f, Decl(objectSpread.ts, 119, 42)) ->a : Symbol(a, Decl(objectSpread.ts, 130, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 130, 17)) ->b : Symbol(b, Decl(objectSpread.ts, 130, 23)) +>f : Symbol(f, Decl(objectSpread.ts, 106, 42)) +>a : Symbol(a, Decl(objectSpread.ts, 117, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 117, 17)) +>b : Symbol(b, Decl(objectSpread.ts, 117, 23)) let overlapConflict: { id:string, a: string } = ->overlapConflict : Symbol(overlapConflict, Decl(objectSpread.ts, 131, 3)) ->id : Symbol(id, Decl(objectSpread.ts, 131, 22)) ->a : Symbol(a, Decl(objectSpread.ts, 131, 33)) +>overlapConflict : Symbol(overlapConflict, Decl(objectSpread.ts, 118, 3)) +>id : Symbol(id, Decl(objectSpread.ts, 118, 22)) +>a : Symbol(a, Decl(objectSpread.ts, 118, 33)) f({ a: 1 }, { a: 'mismatch' }) ->f : Symbol(f, Decl(objectSpread.ts, 119, 42)) ->a : Symbol(a, Decl(objectSpread.ts, 132, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 132, 17)) +>f : Symbol(f, Decl(objectSpread.ts, 106, 42)) +>a : Symbol(a, Decl(objectSpread.ts, 119, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 119, 17)) let overwriteId: { id: string, a: number, c: number, d: string } = ->overwriteId : Symbol(overwriteId, Decl(objectSpread.ts, 133, 3)) ->id : Symbol(id, Decl(objectSpread.ts, 133, 18)) ->a : Symbol(a, Decl(objectSpread.ts, 133, 30)) ->c : Symbol(c, Decl(objectSpread.ts, 133, 41)) ->d : Symbol(d, Decl(objectSpread.ts, 133, 52)) +>overwriteId : Symbol(overwriteId, Decl(objectSpread.ts, 120, 3)) +>id : Symbol(id, Decl(objectSpread.ts, 120, 18)) +>a : Symbol(a, Decl(objectSpread.ts, 120, 30)) +>c : Symbol(c, Decl(objectSpread.ts, 120, 41)) +>d : Symbol(d, Decl(objectSpread.ts, 120, 52)) f({ a: 1, id: true }, { c: 1, d: 'no' }) ->f : Symbol(f, Decl(objectSpread.ts, 119, 42)) ->a : Symbol(a, Decl(objectSpread.ts, 134, 7)) ->id : Symbol(id, Decl(objectSpread.ts, 134, 13)) ->c : Symbol(c, Decl(objectSpread.ts, 134, 27)) ->d : Symbol(d, Decl(objectSpread.ts, 134, 33)) +>f : Symbol(f, Decl(objectSpread.ts, 106, 42)) +>a : Symbol(a, Decl(objectSpread.ts, 121, 7)) +>id : Symbol(id, Decl(objectSpread.ts, 121, 13)) +>c : Symbol(c, Decl(objectSpread.ts, 121, 27)) +>d : Symbol(d, Decl(objectSpread.ts, 121, 33)) function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { x: number }) { ->genericSpread : Symbol(genericSpread, Decl(objectSpread.ts, 134, 44)) ->T : Symbol(T, Decl(objectSpread.ts, 136, 23)) ->U : Symbol(U, Decl(objectSpread.ts, 136, 25)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->T : Symbol(T, Decl(objectSpread.ts, 136, 23)) ->u : Symbol(u, Decl(objectSpread.ts, 136, 34)) ->U : Symbol(U, Decl(objectSpread.ts, 136, 25)) ->v : Symbol(v, Decl(objectSpread.ts, 136, 40)) ->T : Symbol(T, Decl(objectSpread.ts, 136, 23)) ->U : Symbol(U, Decl(objectSpread.ts, 136, 25)) ->w : Symbol(w, Decl(objectSpread.ts, 136, 50)) ->T : Symbol(T, Decl(objectSpread.ts, 136, 23)) ->s : Symbol(s, Decl(objectSpread.ts, 136, 59)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) ->x : Symbol(x, Decl(objectSpread.ts, 136, 79)) +>genericSpread : Symbol(genericSpread, Decl(objectSpread.ts, 121, 44)) +>T : Symbol(T, Decl(objectSpread.ts, 123, 23)) +>U : Symbol(U, Decl(objectSpread.ts, 123, 25)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>T : Symbol(T, Decl(objectSpread.ts, 123, 23)) +>u : Symbol(u, Decl(objectSpread.ts, 123, 34)) +>U : Symbol(U, Decl(objectSpread.ts, 123, 25)) +>v : Symbol(v, Decl(objectSpread.ts, 123, 40)) +>T : Symbol(T, Decl(objectSpread.ts, 123, 23)) +>U : Symbol(U, Decl(objectSpread.ts, 123, 25)) +>w : Symbol(w, Decl(objectSpread.ts, 123, 50)) +>T : Symbol(T, Decl(objectSpread.ts, 123, 23)) +>s : Symbol(s, Decl(objectSpread.ts, 123, 59)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) +>x : Symbol(x, Decl(objectSpread.ts, 123, 79)) let x01 = { ...t }; ->x01 : Symbol(x01, Decl(objectSpread.ts, 137, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) +>x01 : Symbol(x01, Decl(objectSpread.ts, 124, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) let x02 = { ...t, ...t }; ->x02 : Symbol(x02, Decl(objectSpread.ts, 138, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) +>x02 : Symbol(x02, Decl(objectSpread.ts, 125, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) let x03 = { ...t, ...u }; ->x03 : Symbol(x03, Decl(objectSpread.ts, 139, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->u : Symbol(u, Decl(objectSpread.ts, 136, 34)) +>x03 : Symbol(x03, Decl(objectSpread.ts, 126, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>u : Symbol(u, Decl(objectSpread.ts, 123, 34)) let x04 = { ...u, ...t }; ->x04 : Symbol(x04, Decl(objectSpread.ts, 140, 7)) ->u : Symbol(u, Decl(objectSpread.ts, 136, 34)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) +>x04 : Symbol(x04, Decl(objectSpread.ts, 127, 7)) +>u : Symbol(u, Decl(objectSpread.ts, 123, 34)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) let x05 = { a: 5, b: 'hi', ...t }; ->x05 : Symbol(x05, Decl(objectSpread.ts, 141, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 141, 15)) ->b : Symbol(b, Decl(objectSpread.ts, 141, 21)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) +>x05 : Symbol(x05, Decl(objectSpread.ts, 128, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 128, 15)) +>b : Symbol(b, Decl(objectSpread.ts, 128, 21)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) let x06 = { ...t, a: 5, b: 'hi' }; ->x06 : Symbol(x06, Decl(objectSpread.ts, 142, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->a : Symbol(a, Decl(objectSpread.ts, 142, 21)) ->b : Symbol(b, Decl(objectSpread.ts, 142, 27)) +>x06 : Symbol(x06, Decl(objectSpread.ts, 129, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>a : Symbol(a, Decl(objectSpread.ts, 129, 21)) +>b : Symbol(b, Decl(objectSpread.ts, 129, 27)) let x07 = { a: 5, b: 'hi', ...t, c: true, ...obj }; ->x07 : Symbol(x07, Decl(objectSpread.ts, 143, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 143, 15)) ->b : Symbol(b, Decl(objectSpread.ts, 143, 21)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->c : Symbol(c, Decl(objectSpread.ts, 143, 36)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) +>x07 : Symbol(x07, Decl(objectSpread.ts, 130, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 130, 15)) +>b : Symbol(b, Decl(objectSpread.ts, 130, 21)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>c : Symbol(c, Decl(objectSpread.ts, 130, 36)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) let x09 = { a: 5, ...t, b: 'hi', c: true, ...obj }; ->x09 : Symbol(x09, Decl(objectSpread.ts, 144, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 144, 15)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->b : Symbol(b, Decl(objectSpread.ts, 144, 27)) ->c : Symbol(c, Decl(objectSpread.ts, 144, 36)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) +>x09 : Symbol(x09, Decl(objectSpread.ts, 131, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 131, 15)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>b : Symbol(b, Decl(objectSpread.ts, 131, 27)) +>c : Symbol(c, Decl(objectSpread.ts, 131, 36)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) let x10 = { a: 5, ...t, b: 'hi', ...u, ...obj }; ->x10 : Symbol(x10, Decl(objectSpread.ts, 145, 7)) ->a : Symbol(a, Decl(objectSpread.ts, 145, 15)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->b : Symbol(b, Decl(objectSpread.ts, 145, 27)) ->u : Symbol(u, Decl(objectSpread.ts, 136, 34)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) +>x10 : Symbol(x10, Decl(objectSpread.ts, 132, 7)) +>a : Symbol(a, Decl(objectSpread.ts, 132, 15)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>b : Symbol(b, Decl(objectSpread.ts, 132, 27)) +>u : Symbol(u, Decl(objectSpread.ts, 123, 34)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) let x11 = { ...v }; ->x11 : Symbol(x11, Decl(objectSpread.ts, 146, 7)) ->v : Symbol(v, Decl(objectSpread.ts, 136, 40)) +>x11 : Symbol(x11, Decl(objectSpread.ts, 133, 7)) +>v : Symbol(v, Decl(objectSpread.ts, 123, 40)) let x12 = { ...v, ...obj }; ->x12 : Symbol(x12, Decl(objectSpread.ts, 147, 7)) ->v : Symbol(v, Decl(objectSpread.ts, 136, 40)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) +>x12 : Symbol(x12, Decl(objectSpread.ts, 134, 7)) +>v : Symbol(v, Decl(objectSpread.ts, 123, 40)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) let x13 = { ...w }; ->x13 : Symbol(x13, Decl(objectSpread.ts, 148, 7)) ->w : Symbol(w, Decl(objectSpread.ts, 136, 50)) +>x13 : Symbol(x13, Decl(objectSpread.ts, 135, 7)) +>w : Symbol(w, Decl(objectSpread.ts, 123, 50)) let x14 = { ...w, ...obj }; ->x14 : Symbol(x14, Decl(objectSpread.ts, 149, 7)) ->w : Symbol(w, Decl(objectSpread.ts, 136, 50)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) +>x14 : Symbol(x14, Decl(objectSpread.ts, 136, 7)) +>w : Symbol(w, Decl(objectSpread.ts, 123, 50)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) let x15 = { ...t, ...v }; ->x15 : Symbol(x15, Decl(objectSpread.ts, 150, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->v : Symbol(v, Decl(objectSpread.ts, 136, 40)) +>x15 : Symbol(x15, Decl(objectSpread.ts, 137, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>v : Symbol(v, Decl(objectSpread.ts, 123, 40)) let x16 = { ...t, ...w }; ->x16 : Symbol(x16, Decl(objectSpread.ts, 151, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->w : Symbol(w, Decl(objectSpread.ts, 136, 50)) +>x16 : Symbol(x16, Decl(objectSpread.ts, 138, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>w : Symbol(w, Decl(objectSpread.ts, 123, 50)) let x17 = { ...t, ...w, ...obj }; ->x17 : Symbol(x17, Decl(objectSpread.ts, 152, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->w : Symbol(w, Decl(objectSpread.ts, 136, 50)) ->obj : Symbol(obj, Decl(objectSpread.ts, 136, 72)) +>x17 : Symbol(x17, Decl(objectSpread.ts, 139, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>w : Symbol(w, Decl(objectSpread.ts, 123, 50)) +>obj : Symbol(obj, Decl(objectSpread.ts, 123, 72)) let x18 = { ...t, ...v, ...w }; ->x18 : Symbol(x18, Decl(objectSpread.ts, 153, 7)) ->t : Symbol(t, Decl(objectSpread.ts, 136, 29)) ->v : Symbol(v, Decl(objectSpread.ts, 136, 40)) ->w : Symbol(w, Decl(objectSpread.ts, 136, 50)) +>x18 : Symbol(x18, Decl(objectSpread.ts, 140, 7)) +>t : Symbol(t, Decl(objectSpread.ts, 123, 29)) +>v : Symbol(v, Decl(objectSpread.ts, 123, 40)) +>w : Symbol(w, Decl(objectSpread.ts, 123, 50)) } diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types index 2154a8ca75e71..5b0da12ed906a 100644 --- a/tests/baselines/reference/objectSpread.types +++ b/tests/baselines/reference/objectSpread.types @@ -48,18 +48,6 @@ let addBefore: { a: number, b: string, c: boolean } = >false : false >o : { a: number; b: string; } -// Note: ignore still changes the order that properties are printed -let ignore: { a: number, b: string } = ->ignore : { a: number; b: string; } ->a : number ->b : string - - { b: 'ignored', ...o } ->{ b: 'ignored', ...o } : { a: number; b: string; } ->b : string ->'ignored' : "ignored" ->o : { a: number; b: string; } - let override: { a: number, b: string } = >override : { a: number; b: string; } >a : number @@ -101,32 +89,6 @@ let combined: { a: number, b: string, c: boolean } = >o : { a: number; b: string; } >o2 : { b: string; c: boolean; } -let combinedBefore: { a: number, b: string, c: boolean } = ->combinedBefore : { a: number; b: string; c: boolean; } ->a : number ->b : string ->c : boolean - - { b: 'ok', ...o, ...o2 } ->{ b: 'ok', ...o, ...o2 } : { b: string; c: boolean; a: number; } ->b : string ->'ok' : "ok" ->o : { a: number; b: string; } ->o2 : { b: string; c: boolean; } - -let combinedMid: { a: number, b: string, c: boolean } = ->combinedMid : { a: number; b: string; c: boolean; } ->a : number ->b : string ->c : boolean - - { ...o, b: 'ok', ...o2 } ->{ ...o, b: 'ok', ...o2 } : { b: string; c: boolean; a: number; } ->o : { a: number; b: string; } ->b : string ->'ok' : "ok" ->o2 : { b: string; c: boolean; } - let combinedAfter: { a: number, b: string, c: boolean } = >combinedAfter : { a: number; b: string; c: boolean; } >a : number @@ -140,31 +102,6 @@ let combinedAfter: { a: number, b: string, c: boolean } = >b : string >'ok' : "ok" -let combinedNested: { a: number, b: boolean, c: string, d: string } = ->combinedNested : { a: number; b: boolean; c: string; d: string; } ->a : number ->b : boolean ->c : string ->d : string - - { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } ->{ ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } : { a: number; d: string; b: false; c: string; } ->{ a: 4, ...{ b: false, c: 'overriden' } } : { b: false; c: string; a: number; } ->a : number ->4 : 4 ->{ b: false, c: 'overriden' } : { b: false; c: string; } ->b : false ->false : false ->c : string ->'overriden' : "overriden" ->d : string ->'actually new' : "actually new" ->{ a: 5, d: 'maybe new' } : { a: number; d: string; } ->a : number ->5 : 5 ->d : string ->'maybe new' : "maybe new" - let combinedNestedChangeType: { a: number, b: boolean, c: number } = >combinedNestedChangeType : { a: number; b: boolean; c: number; } >a : number @@ -445,17 +382,6 @@ let changeTypeAfter: { a: string, b: string } = >a : string >'wrong type?' : "wrong type?" -let changeTypeBefore: { a: number, b: string } = ->changeTypeBefore : { a: number; b: string; } ->a : number ->b : string - - { a: 'wrong type?', ...o }; ->{ a: 'wrong type?', ...o } : { a: number; b: string; } ->a : string ->'wrong type?' : "wrong type?" ->o : { a: number; b: string; } - let changeTypeBoth: { a: string, b: number } = >changeTypeBoth : { a: string; b: number; } >a : string @@ -526,23 +452,6 @@ function container( >b : string >'yes' : "yes" - let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = ->computedMiddle : { a: number; b: string; c: boolean; "in the middle": number; } ->a : number ->b : string ->c : boolean ->"in the middle" : number - - { ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } ->{ ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } : { b: string; c: boolean; "in the middle": number; a: number; } ->o : { a: number; b: string; } ->['in the middle'] : number ->'in the middle' : "in the middle" ->13 : 13 ->b : string ->'maybe?' : "maybe?" ->o2 : { b: string; c: boolean; } - let computedAfter: { a: number, b: string, "at the end": number } = >computedAfter : { a: number; b: string; "at the end": number; } >a : number diff --git a/tests/baselines/reference/objectSpreadNegative.errors.txt b/tests/baselines/reference/objectSpreadNegative.errors.txt index 914df6d78d883..8b0ae9abbc515 100644 --- a/tests/baselines/reference/objectSpreadNegative.errors.txt +++ b/tests/baselines/reference/objectSpreadNegative.errors.txt @@ -1,23 +1,32 @@ tests/cases/conformance/types/spread/objectSpreadNegative.ts(13,21): error TS2339: Property 'x' does not exist on type '{}'. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(16,5): error TS2322: Type '{ sn?: string | number; }' is not assignable to type '{ sn: string | number; }'. - Property 'sn' is optional in type '{ sn?: string | number; }' but required in type '{ sn: string | number; }'. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(16,5): error TS2322: Type '{ sn?: string | number | undefined; }' is not assignable to type '{ sn: string | number; }'. + Types of property 'sn' are incompatible. + Type 'string | number | undefined' is not assignable to type 'string | number'. + Type 'undefined' is not assignable to type 'string | number'. tests/cases/conformance/types/spread/objectSpreadNegative.ts(23,1): error TS2741: Property 'b' is missing in type '{ s: string; }' but required in type '{ s: string; b: boolean; }'. tests/cases/conformance/types/spread/objectSpreadNegative.ts(25,1): error TS2741: Property 's' is missing in type '{ b: boolean; }' but required in type '{ s: string; b: boolean; }'. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(28,20): error TS2783: 'b' is specified more than once, so this usage will be overwritten. tests/cases/conformance/types/spread/objectSpreadNegative.ts(28,36): error TS2300: Duplicate identifier 'b'. tests/cases/conformance/types/spread/objectSpreadNegative.ts(28,53): error TS2300: Duplicate identifier 'b'. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(32,19): error TS2698: Spread types may only be created from object types. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(33,19): error TS2698: Spread types may only be created from object types. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(34,20): error TS2698: Spread types may only be created from object types. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(36,20): error TS2698: Spread types may only be created from object types. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(38,19): error TS2698: Spread types may only be created from object types. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(43,1): error TS2349: This expression is not callable. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(32,7): error TS2783: 'b' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(37,7): error TS2783: 'b' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(39,14): error TS2783: 'b' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(41,53): error TS2783: 'd' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(43,7): error TS2783: 'a' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(45,37): error TS2783: 'b' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(48,19): error TS2698: Spread types may only be created from object types. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(49,19): error TS2698: Spread types may only be created from object types. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(50,20): error TS2698: Spread types may only be created from object types. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(52,20): error TS2698: Spread types may only be created from object types. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(54,19): error TS2698: Spread types may only be created from object types. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(59,1): error TS2349: This expression is not callable. Type '{}' has no call signatures. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(47,1): error TS2322: Type '12' is not assignable to type 'undefined'. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(53,9): error TS2339: Property 'm' does not exist on type '{ p: number; }'. -tests/cases/conformance/types/spread/objectSpreadNegative.ts(58,11): error TS2339: Property 'a' does not exist on type '{}'. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(63,1): error TS2322: Type '12' is not assignable to type 'undefined'. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(69,9): error TS2339: Property 'm' does not exist on type '{ p: number; }'. +tests/cases/conformance/types/spread/objectSpreadNegative.ts(74,11): error TS2339: Property 'a' does not exist on type '{}'. -==== tests/cases/conformance/types/spread/objectSpreadNegative.ts (15 errors) ==== +==== tests/cases/conformance/types/spread/objectSpreadNegative.ts (22 errors) ==== let o = { a: 1, b: 'no' } /// private propagates @@ -27,18 +36,20 @@ tests/cases/conformance/types/spread/objectSpreadNegative.ts(58,11): error TS233 class PublicX { public x: number; } - let publicX: PublicX; - let privateOptionalX: PrivateOptionalX; + declare let publicX: PublicX; + declare let privateOptionalX: PrivateOptionalX; let o2 = { ...publicX, ...privateOptionalX }; let sn: number = o2.x; // error, x is private ~ !!! error TS2339: Property 'x' does not exist on type '{}'. - let optionalString: { sn?: string }; - let optionalNumber: { sn?: number }; + declare let optionalString: { sn?: string }; + declare let optionalNumber: { sn?: number }; let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumber }; ~~~~~~~~~~~ -!!! error TS2322: Type '{ sn?: string | number; }' is not assignable to type '{ sn: string | number; }'. -!!! error TS2322: Property 'sn' is optional in type '{ sn?: string | number; }' but required in type '{ sn: string | number; }'. +!!! error TS2322: Type '{ sn?: string | number | undefined; }' is not assignable to type '{ sn: string | number; }'. +!!! error TS2322: Types of property 'sn' are incompatible. +!!! error TS2322: Type 'string | number | undefined' is not assignable to type 'string | number'. +!!! error TS2322: Type 'undefined' is not assignable to type 'string | number'. // error, 'sn' is optional in source, required in target // assignability as target @@ -57,11 +68,41 @@ tests/cases/conformance/types/spread/objectSpreadNegative.ts(58,11): error TS233 // literal repeats are not allowed, but spread repeats are fine let duplicated = { b: 'bad', ...o, b: 'bad', ...o2, b: 'bad' } + ~~~~~~~~ +!!! error TS2783: 'b' is specified more than once, so this usage will be overwritten. ~ !!! error TS2300: Duplicate identifier 'b'. ~ !!! error TS2300: Duplicate identifier 'b'. let duplicatedSpread = { ...o, ...o } + // Note: ignore changes the order that properties are printed + let ignore: { a: number, b: string } = + { b: 'ignored', ...o } + ~~~~~~~~~~~~ +!!! error TS2783: 'b' is specified more than once, so this usage will be overwritten. + + let o3 = { a: 1, b: 'no' } + let o4 = { b: 'yes', c: true } + let combinedBefore: { a: number, b: string, c: boolean } = + { b: 'ok', ...o3, ...o4 } + ~~~~~~~ +!!! error TS2783: 'b' is specified more than once, so this usage will be overwritten. + let combinedMid: { a: number, b: string, c: boolean } = + { ...o3, b: 'ok', ...o4 } + ~~~~~~~ +!!! error TS2783: 'b' is specified more than once, so this usage will be overwritten. + let combinedNested: { a: number, b: boolean, c: string, d: string } = + { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } + ~~~~~~~~~~~~~~~~~ +!!! error TS2783: 'd' is specified more than once, so this usage will be overwritten. + let changeTypeBefore: { a: number, b: string } = + { a: 'wrong type?', ...o3 }; + ~~~~~~~~~~~~~~~~ +!!! error TS2783: 'a' is specified more than once, so this usage will be overwritten. + let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = + { ...o3, ['in the middle']: 13, b: 'maybe?', ...o4 } + ~~~~~~~~~~~ +!!! error TS2783: 'b' is specified more than once, so this usage will be overwritten. // primitives are not allowed, except for falsy ones let spreadNum = { ...12 }; diff --git a/tests/baselines/reference/objectSpreadNegative.js b/tests/baselines/reference/objectSpreadNegative.js index 6151f2d30b7c4..444f979a89541 100644 --- a/tests/baselines/reference/objectSpreadNegative.js +++ b/tests/baselines/reference/objectSpreadNegative.js @@ -8,12 +8,12 @@ class PrivateOptionalX { class PublicX { public x: number; } -let publicX: PublicX; -let privateOptionalX: PrivateOptionalX; +declare let publicX: PublicX; +declare let privateOptionalX: PrivateOptionalX; let o2 = { ...publicX, ...privateOptionalX }; let sn: number = o2.x; // error, x is private -let optionalString: { sn?: string }; -let optionalNumber: { sn?: number }; +declare let optionalString: { sn?: string }; +declare let optionalNumber: { sn?: number }; let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumber }; // error, 'sn' is optional in source, required in target @@ -28,6 +28,22 @@ spread = b; // error, missing 's' // literal repeats are not allowed, but spread repeats are fine let duplicated = { b: 'bad', ...o, b: 'bad', ...o2, b: 'bad' } let duplicatedSpread = { ...o, ...o } +// Note: ignore changes the order that properties are printed +let ignore: { a: number, b: string } = + { b: 'ignored', ...o } + +let o3 = { a: 1, b: 'no' } +let o4 = { b: 'yes', c: true } +let combinedBefore: { a: number, b: string, c: boolean } = + { b: 'ok', ...o3, ...o4 } +let combinedMid: { a: number, b: string, c: boolean } = + { ...o3, b: 'ok', ...o4 } +let combinedNested: { a: number, b: boolean, c: string, d: string } = + { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } +let changeTypeBefore: { a: number, b: string } = + { a: 'wrong type?', ...o3 }; +let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = + { ...o3, ['in the middle']: 13, b: 'maybe?', ...o4 } // primitives are not allowed, except for falsy ones let spreadNum = { ...12 }; @@ -71,6 +87,7 @@ var __assign = (this && this.__assign) || function () { }; return __assign.apply(this, arguments); }; +var _a; var o = { a: 1, b: 'no' }; /// private propagates var PrivateOptionalX = /** @class */ (function () { @@ -83,12 +100,8 @@ var PublicX = /** @class */ (function () { } return PublicX; }()); -var publicX; -var privateOptionalX; var o2 = __assign(__assign({}, publicX), privateOptionalX); var sn = o2.x; // error, x is private -var optionalString; -var optionalNumber; var allOptional = __assign(__assign({}, optionalString), optionalNumber); ; ; @@ -99,6 +112,15 @@ spread = b; // error, missing 's' // literal repeats are not allowed, but spread repeats are fine var duplicated = __assign(__assign(__assign(__assign({ b: 'bad' }, o), { b: 'bad' }), o2), { b: 'bad' }); var duplicatedSpread = __assign(__assign({}, o), o); +// Note: ignore changes the order that properties are printed +var ignore = __assign({ b: 'ignored' }, o); +var o3 = { a: 1, b: 'no' }; +var o4 = { b: 'yes', c: true }; +var combinedBefore = __assign(__assign({ b: 'ok' }, o3), o4); +var combinedMid = __assign(__assign(__assign({}, o3), { b: 'ok' }), o4); +var combinedNested = __assign(__assign(__assign({}, __assign({ a: 4 }, { b: false, c: 'overriden' })), { d: 'actually new' }), { a: 5, d: 'maybe new' }); +var changeTypeBefore = __assign({ a: 'wrong type?' }, o3); +var computedMiddle = __assign(__assign(__assign({}, o3), (_a = {}, _a['in the middle'] = 13, _a.b = 'maybe?', _a)), o4); // primitives are not allowed, except for falsy ones var spreadNum = __assign({}, 12); var spreadSum = __assign({}, 1 + 1); diff --git a/tests/baselines/reference/objectSpreadNegative.symbols b/tests/baselines/reference/objectSpreadNegative.symbols index 4962630cebdd7..3ce3dff9b2fe9 100644 --- a/tests/baselines/reference/objectSpreadNegative.symbols +++ b/tests/baselines/reference/objectSpreadNegative.symbols @@ -17,36 +17,36 @@ class PublicX { public x: number; >x : Symbol(PublicX.x, Decl(objectSpreadNegative.ts, 6, 15)) } -let publicX: PublicX; ->publicX : Symbol(publicX, Decl(objectSpreadNegative.ts, 9, 3)) +declare let publicX: PublicX; +>publicX : Symbol(publicX, Decl(objectSpreadNegative.ts, 9, 11)) >PublicX : Symbol(PublicX, Decl(objectSpreadNegative.ts, 5, 1)) -let privateOptionalX: PrivateOptionalX; ->privateOptionalX : Symbol(privateOptionalX, Decl(objectSpreadNegative.ts, 10, 3)) +declare let privateOptionalX: PrivateOptionalX; +>privateOptionalX : Symbol(privateOptionalX, Decl(objectSpreadNegative.ts, 10, 11)) >PrivateOptionalX : Symbol(PrivateOptionalX, Decl(objectSpreadNegative.ts, 0, 25)) let o2 = { ...publicX, ...privateOptionalX }; >o2 : Symbol(o2, Decl(objectSpreadNegative.ts, 11, 3)) ->publicX : Symbol(publicX, Decl(objectSpreadNegative.ts, 9, 3)) ->privateOptionalX : Symbol(privateOptionalX, Decl(objectSpreadNegative.ts, 10, 3)) +>publicX : Symbol(publicX, Decl(objectSpreadNegative.ts, 9, 11)) +>privateOptionalX : Symbol(privateOptionalX, Decl(objectSpreadNegative.ts, 10, 11)) let sn: number = o2.x; // error, x is private >sn : Symbol(sn, Decl(objectSpreadNegative.ts, 12, 3)) >o2 : Symbol(o2, Decl(objectSpreadNegative.ts, 11, 3)) -let optionalString: { sn?: string }; ->optionalString : Symbol(optionalString, Decl(objectSpreadNegative.ts, 13, 3)) ->sn : Symbol(sn, Decl(objectSpreadNegative.ts, 13, 21)) +declare let optionalString: { sn?: string }; +>optionalString : Symbol(optionalString, Decl(objectSpreadNegative.ts, 13, 11)) +>sn : Symbol(sn, Decl(objectSpreadNegative.ts, 13, 29)) -let optionalNumber: { sn?: number }; ->optionalNumber : Symbol(optionalNumber, Decl(objectSpreadNegative.ts, 14, 3)) ->sn : Symbol(sn, Decl(objectSpreadNegative.ts, 14, 21)) +declare let optionalNumber: { sn?: number }; +>optionalNumber : Symbol(optionalNumber, Decl(objectSpreadNegative.ts, 14, 11)) +>sn : Symbol(sn, Decl(objectSpreadNegative.ts, 14, 29)) let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumber }; >allOptional : Symbol(allOptional, Decl(objectSpreadNegative.ts, 15, 3)) >sn : Symbol(sn, Decl(objectSpreadNegative.ts, 15, 18)) ->optionalString : Symbol(optionalString, Decl(objectSpreadNegative.ts, 13, 3)) ->optionalNumber : Symbol(optionalNumber, Decl(objectSpreadNegative.ts, 14, 3)) +>optionalString : Symbol(optionalString, Decl(objectSpreadNegative.ts, 13, 11)) +>optionalNumber : Symbol(optionalNumber, Decl(objectSpreadNegative.ts, 14, 11)) // error, 'sn' is optional in source, required in target @@ -90,79 +90,159 @@ let duplicatedSpread = { ...o, ...o } >o : Symbol(o, Decl(objectSpreadNegative.ts, 0, 3)) >o : Symbol(o, Decl(objectSpreadNegative.ts, 0, 3)) +// Note: ignore changes the order that properties are printed +let ignore: { a: number, b: string } = +>ignore : Symbol(ignore, Decl(objectSpreadNegative.ts, 30, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 30, 13)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 30, 24)) + + { b: 'ignored', ...o } +>b : Symbol(b, Decl(objectSpreadNegative.ts, 31, 5)) +>o : Symbol(o, Decl(objectSpreadNegative.ts, 0, 3)) + +let o3 = { a: 1, b: 'no' } +>o3 : Symbol(o3, Decl(objectSpreadNegative.ts, 33, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 33, 10)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 33, 16)) + +let o4 = { b: 'yes', c: true } +>o4 : Symbol(o4, Decl(objectSpreadNegative.ts, 34, 3)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 34, 10)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 34, 20)) + +let combinedBefore: { a: number, b: string, c: boolean } = +>combinedBefore : Symbol(combinedBefore, Decl(objectSpreadNegative.ts, 35, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 35, 21)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 35, 32)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 35, 43)) + + { b: 'ok', ...o3, ...o4 } +>b : Symbol(b, Decl(objectSpreadNegative.ts, 36, 5)) +>o3 : Symbol(o3, Decl(objectSpreadNegative.ts, 33, 3)) +>o4 : Symbol(o4, Decl(objectSpreadNegative.ts, 34, 3)) + +let combinedMid: { a: number, b: string, c: boolean } = +>combinedMid : Symbol(combinedMid, Decl(objectSpreadNegative.ts, 37, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 37, 18)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 37, 29)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 37, 40)) + + { ...o3, b: 'ok', ...o4 } +>o3 : Symbol(o3, Decl(objectSpreadNegative.ts, 33, 3)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 38, 12)) +>o4 : Symbol(o4, Decl(objectSpreadNegative.ts, 34, 3)) + +let combinedNested: { a: number, b: boolean, c: string, d: string } = +>combinedNested : Symbol(combinedNested, Decl(objectSpreadNegative.ts, 39, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 39, 21)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 39, 32)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 39, 44)) +>d : Symbol(d, Decl(objectSpreadNegative.ts, 39, 55)) + + { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } +>a : Symbol(a, Decl(objectSpreadNegative.ts, 40, 10)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 40, 21)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 40, 31)) +>d : Symbol(d, Decl(objectSpreadNegative.ts, 40, 51)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 40, 75)) +>d : Symbol(d, Decl(objectSpreadNegative.ts, 40, 81)) + +let changeTypeBefore: { a: number, b: string } = +>changeTypeBefore : Symbol(changeTypeBefore, Decl(objectSpreadNegative.ts, 41, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 41, 23)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 41, 34)) + + { a: 'wrong type?', ...o3 }; +>a : Symbol(a, Decl(objectSpreadNegative.ts, 42, 5)) +>o3 : Symbol(o3, Decl(objectSpreadNegative.ts, 33, 3)) + +let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = +>computedMiddle : Symbol(computedMiddle, Decl(objectSpreadNegative.ts, 43, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 43, 21)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 43, 32)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 43, 43)) +>"in the middle" : Symbol("in the middle", Decl(objectSpreadNegative.ts, 43, 55)) + + { ...o3, ['in the middle']: 13, b: 'maybe?', ...o4 } +>o3 : Symbol(o3, Decl(objectSpreadNegative.ts, 33, 3)) +>['in the middle'] : Symbol(['in the middle'], Decl(objectSpreadNegative.ts, 44, 12)) +>'in the middle' : Symbol(['in the middle'], Decl(objectSpreadNegative.ts, 44, 12)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 44, 35)) +>o4 : Symbol(o4, Decl(objectSpreadNegative.ts, 34, 3)) + // primitives are not allowed, except for falsy ones let spreadNum = { ...12 }; ->spreadNum : Symbol(spreadNum, Decl(objectSpreadNegative.ts, 31, 3)) +>spreadNum : Symbol(spreadNum, Decl(objectSpreadNegative.ts, 47, 3)) let spreadSum = { ...1 + 1 }; ->spreadSum : Symbol(spreadSum, Decl(objectSpreadNegative.ts, 32, 3)) +>spreadSum : Symbol(spreadSum, Decl(objectSpreadNegative.ts, 48, 3)) let spreadZero = { ...0 }; ->spreadZero : Symbol(spreadZero, Decl(objectSpreadNegative.ts, 33, 3)) +>spreadZero : Symbol(spreadZero, Decl(objectSpreadNegative.ts, 49, 3)) spreadZero.toFixed(); // error, no methods even from a falsy number ->spreadZero : Symbol(spreadZero, Decl(objectSpreadNegative.ts, 33, 3)) +>spreadZero : Symbol(spreadZero, Decl(objectSpreadNegative.ts, 49, 3)) let spreadBool = { ...true }; ->spreadBool : Symbol(spreadBool, Decl(objectSpreadNegative.ts, 35, 3)) +>spreadBool : Symbol(spreadBool, Decl(objectSpreadNegative.ts, 51, 3)) spreadBool.valueOf(); ->spreadBool : Symbol(spreadBool, Decl(objectSpreadNegative.ts, 35, 3)) +>spreadBool : Symbol(spreadBool, Decl(objectSpreadNegative.ts, 51, 3)) let spreadStr = { ...'foo' }; ->spreadStr : Symbol(spreadStr, Decl(objectSpreadNegative.ts, 37, 3)) +>spreadStr : Symbol(spreadStr, Decl(objectSpreadNegative.ts, 53, 3)) spreadStr.length; // error, no 'length' ->spreadStr : Symbol(spreadStr, Decl(objectSpreadNegative.ts, 37, 3)) +>spreadStr : Symbol(spreadStr, Decl(objectSpreadNegative.ts, 53, 3)) spreadStr.charAt(1); // error, no methods either ->spreadStr : Symbol(spreadStr, Decl(objectSpreadNegative.ts, 37, 3)) +>spreadStr : Symbol(spreadStr, Decl(objectSpreadNegative.ts, 53, 3)) // functions are skipped let spreadFunc = { ...function () { } } ->spreadFunc : Symbol(spreadFunc, Decl(objectSpreadNegative.ts, 41, 3)) +>spreadFunc : Symbol(spreadFunc, Decl(objectSpreadNegative.ts, 57, 3)) spreadFunc(); // error, no call signature ->spreadFunc : Symbol(spreadFunc, Decl(objectSpreadNegative.ts, 41, 3)) +>spreadFunc : Symbol(spreadFunc, Decl(objectSpreadNegative.ts, 57, 3)) // write-only properties get skipped let setterOnly = { ...{ set b (bad: number) { } } }; ->setterOnly : Symbol(setterOnly, Decl(objectSpreadNegative.ts, 45, 3)) ->b : Symbol(b, Decl(objectSpreadNegative.ts, 45, 23)) ->bad : Symbol(bad, Decl(objectSpreadNegative.ts, 45, 31)) +>setterOnly : Symbol(setterOnly, Decl(objectSpreadNegative.ts, 61, 3)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 61, 23)) +>bad : Symbol(bad, Decl(objectSpreadNegative.ts, 61, 31)) setterOnly.b = 12; // error, 'b' does not exist ->setterOnly.b : Symbol(b, Decl(objectSpreadNegative.ts, 45, 23)) ->setterOnly : Symbol(setterOnly, Decl(objectSpreadNegative.ts, 45, 3)) ->b : Symbol(b, Decl(objectSpreadNegative.ts, 45, 23)) +>setterOnly.b : Symbol(b, Decl(objectSpreadNegative.ts, 61, 23)) +>setterOnly : Symbol(setterOnly, Decl(objectSpreadNegative.ts, 61, 3)) +>b : Symbol(b, Decl(objectSpreadNegative.ts, 61, 23)) // methods are skipped because they aren't enumerable class C { p = 1; m() { } } ->C : Symbol(C, Decl(objectSpreadNegative.ts, 46, 18)) ->p : Symbol(C.p, Decl(objectSpreadNegative.ts, 49, 9)) ->m : Symbol(C.m, Decl(objectSpreadNegative.ts, 49, 16)) +>C : Symbol(C, Decl(objectSpreadNegative.ts, 62, 18)) +>p : Symbol(C.p, Decl(objectSpreadNegative.ts, 65, 9)) +>m : Symbol(C.m, Decl(objectSpreadNegative.ts, 65, 16)) let c: C = new C() ->c : Symbol(c, Decl(objectSpreadNegative.ts, 50, 3)) ->C : Symbol(C, Decl(objectSpreadNegative.ts, 46, 18)) ->C : Symbol(C, Decl(objectSpreadNegative.ts, 46, 18)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 66, 3)) +>C : Symbol(C, Decl(objectSpreadNegative.ts, 62, 18)) +>C : Symbol(C, Decl(objectSpreadNegative.ts, 62, 18)) let spreadC = { ...c } ->spreadC : Symbol(spreadC, Decl(objectSpreadNegative.ts, 51, 3)) ->c : Symbol(c, Decl(objectSpreadNegative.ts, 50, 3)) +>spreadC : Symbol(spreadC, Decl(objectSpreadNegative.ts, 67, 3)) +>c : Symbol(c, Decl(objectSpreadNegative.ts, 66, 3)) spreadC.m(); // error 'm' is not in '{ ... c }' ->spreadC : Symbol(spreadC, Decl(objectSpreadNegative.ts, 51, 3)) +>spreadC : Symbol(spreadC, Decl(objectSpreadNegative.ts, 67, 3)) // non primitive let obj: object = { a: 123 }; ->obj : Symbol(obj, Decl(objectSpreadNegative.ts, 55, 3)) ->a : Symbol(a, Decl(objectSpreadNegative.ts, 55, 19)) +>obj : Symbol(obj, Decl(objectSpreadNegative.ts, 71, 3)) +>a : Symbol(a, Decl(objectSpreadNegative.ts, 71, 19)) let spreadObj = { ...obj }; ->spreadObj : Symbol(spreadObj, Decl(objectSpreadNegative.ts, 56, 3)) ->obj : Symbol(obj, Decl(objectSpreadNegative.ts, 55, 3)) +>spreadObj : Symbol(spreadObj, Decl(objectSpreadNegative.ts, 72, 3)) +>obj : Symbol(obj, Decl(objectSpreadNegative.ts, 71, 3)) spreadObj.a; // error 'a' is not in {} ->spreadObj : Symbol(spreadObj, Decl(objectSpreadNegative.ts, 56, 3)) +>spreadObj : Symbol(spreadObj, Decl(objectSpreadNegative.ts, 72, 3)) diff --git a/tests/baselines/reference/objectSpreadNegative.types b/tests/baselines/reference/objectSpreadNegative.types index 351522d896121..a9f0a0f0774f7 100644 --- a/tests/baselines/reference/objectSpreadNegative.types +++ b/tests/baselines/reference/objectSpreadNegative.types @@ -12,7 +12,7 @@ class PrivateOptionalX { >PrivateOptionalX : PrivateOptionalX private x?: number; ->x : number +>x : number | undefined } class PublicX { >PublicX : PublicX @@ -20,10 +20,10 @@ class PublicX { public x: number; >x : number } -let publicX: PublicX; +declare let publicX: PublicX; >publicX : PublicX -let privateOptionalX: PrivateOptionalX; +declare let privateOptionalX: PrivateOptionalX; >privateOptionalX : PrivateOptionalX let o2 = { ...publicX, ...privateOptionalX }; @@ -38,20 +38,20 @@ let sn: number = o2.x; // error, x is private >o2 : {} >x : any -let optionalString: { sn?: string }; ->optionalString : { sn?: string; } ->sn : string +declare let optionalString: { sn?: string }; +>optionalString : { sn?: string | undefined; } +>sn : string | undefined -let optionalNumber: { sn?: number }; ->optionalNumber : { sn?: number; } ->sn : number +declare let optionalNumber: { sn?: number }; +>optionalNumber : { sn?: number | undefined; } +>sn : number | undefined let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumber }; >allOptional : { sn: string | number; } >sn : string | number ->{ ...optionalString, ...optionalNumber } : { sn?: string | number; } ->optionalString : { sn?: string; } ->optionalNumber : { sn?: number; } +>{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } +>optionalString : { sn?: string | undefined; } +>optionalNumber : { sn?: number | undefined; } // error, 'sn' is optional in source, required in target @@ -109,6 +109,113 @@ let duplicatedSpread = { ...o, ...o } >o : { a: number; b: string; } >o : { a: number; b: string; } +// Note: ignore changes the order that properties are printed +let ignore: { a: number, b: string } = +>ignore : { a: number; b: string; } +>a : number +>b : string + + { b: 'ignored', ...o } +>{ b: 'ignored', ...o } : { a: number; b: string; } +>b : string +>'ignored' : "ignored" +>o : { a: number; b: string; } + +let o3 = { a: 1, b: 'no' } +>o3 : { a: number; b: string; } +>{ a: 1, b: 'no' } : { a: number; b: string; } +>a : number +>1 : 1 +>b : string +>'no' : "no" + +let o4 = { b: 'yes', c: true } +>o4 : { b: string; c: boolean; } +>{ b: 'yes', c: true } : { b: string; c: boolean; } +>b : string +>'yes' : "yes" +>c : boolean +>true : true + +let combinedBefore: { a: number, b: string, c: boolean } = +>combinedBefore : { a: number; b: string; c: boolean; } +>a : number +>b : string +>c : boolean + + { b: 'ok', ...o3, ...o4 } +>{ b: 'ok', ...o3, ...o4 } : { b: string; c: boolean; a: number; } +>b : string +>'ok' : "ok" +>o3 : { a: number; b: string; } +>o4 : { b: string; c: boolean; } + +let combinedMid: { a: number, b: string, c: boolean } = +>combinedMid : { a: number; b: string; c: boolean; } +>a : number +>b : string +>c : boolean + + { ...o3, b: 'ok', ...o4 } +>{ ...o3, b: 'ok', ...o4 } : { b: string; c: boolean; a: number; } +>o3 : { a: number; b: string; } +>b : string +>'ok' : "ok" +>o4 : { b: string; c: boolean; } + +let combinedNested: { a: number, b: boolean, c: string, d: string } = +>combinedNested : { a: number; b: boolean; c: string; d: string; } +>a : number +>b : boolean +>c : string +>d : string + + { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } +>{ ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } : { a: number; d: string; b: false; c: string; } +>{ a: 4, ...{ b: false, c: 'overriden' } } : { b: false; c: string; a: number; } +>a : number +>4 : 4 +>{ b: false, c: 'overriden' } : { b: false; c: string; } +>b : false +>false : false +>c : string +>'overriden' : "overriden" +>d : string +>'actually new' : "actually new" +>{ a: 5, d: 'maybe new' } : { a: number; d: string; } +>a : number +>5 : 5 +>d : string +>'maybe new' : "maybe new" + +let changeTypeBefore: { a: number, b: string } = +>changeTypeBefore : { a: number; b: string; } +>a : number +>b : string + + { a: 'wrong type?', ...o3 }; +>{ a: 'wrong type?', ...o3 } : { a: number; b: string; } +>a : string +>'wrong type?' : "wrong type?" +>o3 : { a: number; b: string; } + +let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = +>computedMiddle : { a: number; b: string; c: boolean; "in the middle": number; } +>a : number +>b : string +>c : boolean +>"in the middle" : number + + { ...o3, ['in the middle']: 13, b: 'maybe?', ...o4 } +>{ ...o3, ['in the middle']: 13, b: 'maybe?', ...o4 } : { b: string; c: boolean; "in the middle": number; a: number; } +>o3 : { a: number; b: string; } +>['in the middle'] : number +>'in the middle' : "in the middle" +>13 : 13 +>b : string +>'maybe?' : "maybe?" +>o4 : { b: string; c: boolean; } + // primitives are not allowed, except for falsy ones let spreadNum = { ...12 }; >spreadNum : any diff --git a/tests/baselines/reference/operationsAvailableOnPromisedType.errors.txt b/tests/baselines/reference/operationsAvailableOnPromisedType.errors.txt index ffa16497ad2eb..f2cc460643d4a 100644 --- a/tests/baselines/reference/operationsAvailableOnPromisedType.errors.txt +++ b/tests/baselines/reference/operationsAvailableOnPromisedType.errors.txt @@ -1,3 +1,5 @@ +error TS2468: Cannot find global value 'Promise'. +tests/cases/compiler/operationsAvailableOnPromisedType.ts(1,16): error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option. tests/cases/compiler/operationsAvailableOnPromisedType.ts(11,9): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. tests/cases/compiler/operationsAvailableOnPromisedType.ts(12,5): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. tests/cases/compiler/operationsAvailableOnPromisedType.ts(13,5): error TS2365: Operator '+' cannot be applied to types 'number' and 'Promise'. @@ -21,8 +23,11 @@ tests/cases/compiler/operationsAvailableOnPromisedType.ts(27,5): error TS2349: T Type 'Promise' has no call signatures. -==== tests/cases/compiler/operationsAvailableOnPromisedType.ts (16 errors) ==== +!!! error TS2468: Cannot find global value 'Promise'. +==== tests/cases/compiler/operationsAvailableOnPromisedType.ts (17 errors) ==== async function fn( + ~~ +!!! error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option. a: number, b: Promise, c: Promise, diff --git a/tests/baselines/reference/optionalBindingParameters1.types b/tests/baselines/reference/optionalBindingParameters1.types index 74b255325132e..6bbd8669a32db 100644 --- a/tests/baselines/reference/optionalBindingParameters1.types +++ b/tests/baselines/reference/optionalBindingParameters1.types @@ -18,7 +18,7 @@ foo(["", 0, false]); foo([false, 0, ""]); >foo([false, 0, ""]) : void >foo : ([x, y, z]?: [string, number, boolean]) => void ->[false, 0, ""] : (string | number | boolean)[] +>[false, 0, ""] : [boolean, number, string] >false : false >0 : 0 >"" : "" diff --git a/tests/baselines/reference/optionalBindingParametersInOverloads1.types b/tests/baselines/reference/optionalBindingParametersInOverloads1.types index 01d1756a6ac7e..04905ae8ca820 100644 --- a/tests/baselines/reference/optionalBindingParametersInOverloads1.types +++ b/tests/baselines/reference/optionalBindingParametersInOverloads1.types @@ -22,7 +22,7 @@ foo(["", 0, false]); foo([false, 0, ""]); >foo([false, 0, ""]) : any >foo : ([x, y, z]?: [string, number, boolean]) => any ->[false, 0, ""] : (string | number | boolean)[] +>[false, 0, ""] : [boolean, number, string] >false : false >0 : 0 >"" : "" diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt index d158266a62814..061dc9ea7f245 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt @@ -5,6 +5,7 @@ tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(19,1): error TS276 Overload 2 of 2, '(x: { n: number; }): number', gave the following error. Argument of type '{ s: string; n: number; }' is not assignable to parameter of type '{ n: number; }'. Object literal may only specify known properties, and 's' does not exist in type '{ n: number; }'. +tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(19,20): error TS2339: Property 'toLowerCase' does not exist on type 'never'. tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(22,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'w' must be of type 'A', but here has type 'C'. tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(24,1): error TS2769: No overload matches this call. Overload 1 of 2, '(x: { s: string; }): string', gave the following error. @@ -13,9 +14,10 @@ tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(24,1): error TS276 Overload 2 of 2, '(x: { n: number; }): number', gave the following error. Argument of type '{ s: string; n: number; }' is not assignable to parameter of type '{ n: number; }'. Object literal may only specify known properties, and 's' does not exist in type '{ n: number; }'. +tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(24,20): error TS2339: Property 'toLowerCase' does not exist on type 'never'. -==== tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts (3 errors) ==== +==== tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts (5 errors) ==== interface A { (x: { s: string }): string (x: { n: number }): number @@ -43,6 +45,8 @@ tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(24,1): error TS276 !!! error TS2769: Overload 2 of 2, '(x: { n: number; }): number', gave the following error. !!! error TS2769: Argument of type '{ s: string; n: number; }' is not assignable to parameter of type '{ n: number; }'. !!! error TS2769: Object literal may only specify known properties, and 's' does not exist in type '{ n: number; }'. + ~~~~~~~~~~~ +!!! error TS2339: Property 'toLowerCase' does not exist on type 'never'. var w: A; var w: C; @@ -58,4 +62,6 @@ tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(24,1): error TS276 !!! error TS2769: Object literal may only specify known properties, and 'n' does not exist in type '{ s: string; }'. !!! error TS2769: Overload 2 of 2, '(x: { n: number; }): number', gave the following error. !!! error TS2769: Argument of type '{ s: string; n: number; }' is not assignable to parameter of type '{ n: number; }'. -!!! error TS2769: Object literal may only specify known properties, and 's' does not exist in type '{ n: number; }'. \ No newline at end of file +!!! error TS2769: Object literal may only specify known properties, and 's' does not exist in type '{ n: number; }'. + ~~~~~~~~~~~ +!!! error TS2339: Property 'toLowerCase' does not exist on type 'never'. \ No newline at end of file diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types index 0ab7ac3eab284..5696ff6e61cd5 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.types @@ -38,7 +38,7 @@ var v: B; v({ s: "", n: 0 }).toLowerCase(); >v({ s: "", n: 0 }).toLowerCase() : any >v({ s: "", n: 0 }).toLowerCase : any ->v({ s: "", n: 0 }) : any +>v({ s: "", n: 0 }) : never >v : A >{ s: "", n: 0 } : { s: string; n: number; } >s : string @@ -56,7 +56,7 @@ var w: C; w({ s: "", n: 0 }).toLowerCase(); >w({ s: "", n: 0 }).toLowerCase() : any >w({ s: "", n: 0 }).toLowerCase : any ->w({ s: "", n: 0 }) : any +>w({ s: "", n: 0 }) : never >w : A >{ s: "", n: 0 } : { s: string; n: number; } >s : string diff --git a/tests/baselines/reference/overload1.types b/tests/baselines/reference/overload1.types index 0641529e632d0..8302eb08b3c1f 100644 --- a/tests/baselines/reference/overload1.types +++ b/tests/baselines/reference/overload1.types @@ -102,9 +102,9 @@ var z:string=x.g(x.g(3,3)); // good >3 : 3 z=x.g(2,2,2); // no match ->z=x.g(2,2,2) : any +>z=x.g(2,2,2) : never >z : string ->x.g(2,2,2) : any +>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; } @@ -113,9 +113,9 @@ z=x.g(2,2,2); // no match >2 : 2 z=x.g(); // no match ->z=x.g() : any +>z=x.g() : never >z : string ->x.g() : any +>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; } @@ -133,9 +133,9 @@ z=x.g(new O.B()); // ambiguous (up and down conversion) >B : typeof O.B z=x.h(2,2); // no match ->z=x.h(2,2) : any +>z=x.h(2,2) : never >z : string ->x.h(2,2) : any +>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; } diff --git a/tests/baselines/reference/overloadResolution.types b/tests/baselines/reference/overloadResolution.types index 3461a4d56d079..259bc428c446c 100644 --- a/tests/baselines/reference/overloadResolution.types +++ b/tests/baselines/reference/overloadResolution.types @@ -56,7 +56,7 @@ var s: string; // No candidate overloads found fn1({}); // Error ->fn1({}) : any +>fn1({}) : never >fn1 : { (s: string): string; (s: number): number; } >{} : {} @@ -95,7 +95,7 @@ var s = fn2(0, ''); // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments fn2('', 0); // Error ->fn2('', 0) : any +>fn2('', 0) : number >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } >'' : "" >0 : 0 @@ -178,7 +178,7 @@ var n = fn3('', '', 3); // Generic overloads with differing arity called with type argument count that doesn't match any overload fn3(); // Error ->fn3() : any +>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 diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.types b/tests/baselines/reference/overloadResolutionClassConstructors.types index a1f86b9a97285..509f106768a6e 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.types +++ b/tests/baselines/reference/overloadResolutionClassConstructors.types @@ -51,7 +51,7 @@ new fn1(undefined); // No candidate overloads found new fn1({}); // Error ->new fn1({}) : any +>new fn1({}) : fn1 >fn1 : typeof fn1 >{} : {} @@ -140,12 +140,12 @@ new fn3(5, 5, 5); // Generic overloads with differing arity called with type arguments matching each overload type parameter count new fn3(4); // Error ->new fn3(4) : any +>new fn3(4) : fn3 >fn3 : typeof fn3 >4 : 4 new fn3('', '', ''); // Error ->new fn3('', '', '') : any +>new fn3('', '', '') : fn3 >fn3 : typeof fn3 >'' : "" >'' : "" @@ -160,7 +160,7 @@ new fn3('', '', 3); // Generic overloads with differing arity called with type argument count that doesn't match any overload new fn3(); // Error ->new fn3() : any +>new fn3() : fn3 >fn3 : typeof fn3 // Generic overloads with constraints called with type arguments that satisfy the constraints @@ -180,19 +180,19 @@ new fn4('', 3); >3 : 3 new fn4(3, ''); // Error ->new fn4(3, '') : any +>new fn4(3, '') : fn4 >fn4 : typeof fn4 >3 : 3 >'' : "" new fn4('', 3); // Error ->new fn4('', 3) : any +>new fn4('', 3) : fn4 >fn4 : typeof fn4 >'' : "" >3 : 3 new fn4(3, ''); // Error ->new fn4(3, '') : any +>new fn4(3, '') : fn4 >fn4 : typeof fn4 >3 : 3 >'' : "" @@ -205,13 +205,13 @@ new fn4('', 3); >3 : 3 new fn4(3, ''); // Error ->new fn4(3, '') : any +>new fn4(3, '') : fn4 >fn4 : typeof fn4 >3 : 3 >'' : "" new fn4(3, undefined); // Error ->new fn4(3, undefined) : any +>new fn4(3, undefined) : fn4 >fn4 : typeof fn4 >3 : 3 >undefined : undefined @@ -224,20 +224,20 @@ new fn4('', null); // Generic overloads with constraints called with type arguments that do not satisfy the constraints new fn4(null, null); // Error ->new fn4(null, null) : any +>new fn4(null, null) : fn4 >fn4 : typeof fn4 >null : null >null : null // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints new fn4(true, null); // Error ->new fn4(true, null) : any +>new fn4(true, null) : fn4 >fn4 : typeof fn4 >true : true >null : null new fn4(null, true); // Error ->new fn4(null, true) : any +>new fn4(null, true) : fn4 >fn4 : typeof fn4 >null : null >true : true diff --git a/tests/baselines/reference/overloadResolutionConstructors.types b/tests/baselines/reference/overloadResolutionConstructors.types index fd7c426b714ea..4d9d9c95512a8 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.types +++ b/tests/baselines/reference/overloadResolutionConstructors.types @@ -52,7 +52,7 @@ var s: string; // No candidate overloads found new fn1({}); // Error ->new fn1({}) : any +>new fn1({}) : never >fn1 : fn1 >{} : {} @@ -89,7 +89,7 @@ var s = new fn2(0, ''); // Generic and non - generic overload where non - generic overload is the only candidate when called with type arguments new fn2('', 0); // Error ->new fn2('', 0) : any +>new fn2('', 0) : number >fn2 : fn2 >'' : "" >0 : 0 @@ -169,7 +169,7 @@ var n = new fn3('', '', 3); // Generic overloads with differing arity called with type argument count that doesn't match any overload new fn3(); // Error ->new fn3() : any +>new fn3() : string >fn3 : fn3 // Generic overloads with constraints called with type arguments that satisfy the constraints diff --git a/tests/baselines/reference/overloadResolutionOnDefaultConstructor1.types b/tests/baselines/reference/overloadResolutionOnDefaultConstructor1.types index ef2d9d90b3303..a51ba0429ef61 100644 --- a/tests/baselines/reference/overloadResolutionOnDefaultConstructor1.types +++ b/tests/baselines/reference/overloadResolutionOnDefaultConstructor1.types @@ -3,10 +3,10 @@ class Bar { >Bar : Bar public clone() { ->clone : () => any +>clone : () => Bar return new Bar(0); ->new Bar(0) : any +>new Bar(0) : Bar >Bar : typeof Bar >0 : 0 } diff --git a/tests/baselines/reference/overloadResolutionTest1.types b/tests/baselines/reference/overloadResolutionTest1.types index 0268a4d17f6c0..f1814b5fecfb0 100644 --- a/tests/baselines/reference/overloadResolutionTest1.types +++ b/tests/baselines/reference/overloadResolutionTest1.types @@ -34,8 +34,8 @@ var x11 = foo([{a:0}]); // works >0 : 0 var x111 = foo([{a:"s"}]); // error - does not match any signature ->x111 : any ->foo([{a:"s"}]) : any +>x111 : never +>foo([{a:"s"}]) : never >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } >[{a:"s"}] : { a: string; }[] >{a:"s"} : { a: string; } @@ -86,8 +86,8 @@ var x3 = foo2({a:true}); // works >true : true var x4 = foo2({a:"s"}); // error ->x4 : any ->foo2({a:"s"}) : any +>x4 : never +>foo2({a:"s"}) : never >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } >{a:"s"} : { a: string; } >a : string @@ -111,8 +111,8 @@ function foo4(bar:{a:any;}):any{ return bar }; >bar : { a: any; } var x = foo4({a:true}); // error ->x : any ->foo4({a:true}) : any +>x : never +>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/overloadingOnConstants2.types b/tests/baselines/reference/overloadingOnConstants2.types index a8d3254a4c37e..4c2dfe0204562 100644 --- a/tests/baselines/reference/overloadingOnConstants2.types +++ b/tests/baselines/reference/overloadingOnConstants2.types @@ -50,8 +50,8 @@ var b: E = foo("bye", []); // E >[] : undefined[] var c = foo("um", []); // error ->c : any ->foo("um", []) : any +>c : D & E +>foo("um", []) : D & E >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } >"um" : "um" >[] : undefined[] diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt index 987ac30daca6b..cee59a5a07dcb 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt @@ -1,7 +1,27 @@ -tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(14,5): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(14,22): error TS2769: No overload matches this call. + Overload 1 of 3, '(arg: (x: D) => number): string', gave the following error. + Type 'G' is not assignable to type 'number'. + Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. + Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. + Types of parameters 'x' and 'x' are incompatible. + Property 'q' is missing in type 'C' but required in type 'D'. + Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. + Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. + Types of parameters 'x' and 'x' are incompatible. + Property 'q' is missing in type 'B' but required in type 'D'. tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(14,37): error TS2345: Argument of type 'D' is not assignable to parameter of type 'A'. Property 'x' is missing in type 'D' but required in type 'A'. -tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(16,5): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(16,23): error TS2769: No overload matches this call. + Overload 1 of 3, '(arg: (x: D) => number): string', gave the following error. + Type 'G' is not assignable to type 'number'. + Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. + Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. + Types of parameters 'x' and 'x' are incompatible. + Type 'C' is not assignable to type 'D'. + Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. + Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. + Types of parameters 'x' and 'x' are incompatible. + Type 'B' is not assignable to type 'D'. tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(16,38): error TS2344: Type 'D' does not satisfy the constraint 'A'. tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(18,27): error TS2769: No overload matches this call. Overload 1 of 3, '(arg: (x: D) => number): string', gave the following error. @@ -10,11 +30,11 @@ tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(18,27): Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. Types of parameters 'x' and 'x' are incompatible. - Property 'q' is missing in type 'C' but required in type 'D'. + Type 'C' is not assignable to type 'D'. Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. Types of parameters 'x' and 'x' are incompatible. - Property 'q' is missing in type 'B' but required in type 'D'. + Type 'B' is not assignable to type 'D'. tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type 'D' does not satisfy the constraint 'A'. @@ -33,16 +53,40 @@ tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(19,14): declare function foo(arg: (x: B) => any): number; var result: number = foo(x => new G(x)); // x has type D, new G(x) fails, so first overload is picked. - ~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. + ~~~~~~~~~~~~~~~~~~ +!!! error TS2769: No overload matches this call. +!!! error TS2769: Overload 1 of 3, '(arg: (x: D) => number): string', gave the following error. +!!! error TS2769: Type 'G' is not assignable to type 'number'. +!!! error TS2769: Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. +!!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. +!!! error TS2769: Types of parameters 'x' and 'x' are incompatible. +!!! error TS2769: Property 'q' is missing in type 'C' but required in type 'D'. +!!! error TS2769: Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. +!!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. +!!! error TS2769: Types of parameters 'x' and 'x' are incompatible. +!!! error TS2769: Property 'q' is missing in type 'B' but required in type 'D'. +!!! related TS6502 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:10:27: The expected type comes from the return type of this signature. +!!! related TS2728 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. +!!! related TS2728 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. ~ !!! error TS2345: Argument of type 'D' is not assignable to parameter of type 'A'. !!! error TS2345: Property 'x' is missing in type 'D' but required in type 'A'. !!! related TS2728 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:1:15: 'x' is declared here. var result2: number = foo(x => new G(x)); // x has type D, new G(x) fails, so first overload is picked. - ~~~~~~~ -!!! error TS2322: Type 'string' is not assignable to type 'number'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2769: No overload matches this call. +!!! error TS2769: Overload 1 of 3, '(arg: (x: D) => number): string', gave the following error. +!!! error TS2769: Type 'G' is not assignable to type 'number'. +!!! error TS2769: Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. +!!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. +!!! error TS2769: Types of parameters 'x' and 'x' are incompatible. +!!! error TS2769: Type 'C' is not assignable to type 'D'. +!!! error TS2769: Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. +!!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. +!!! error TS2769: Types of parameters 'x' and 'x' are incompatible. +!!! error TS2769: Type 'B' is not assignable to type 'D'. +!!! related TS6502 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:10:27: The expected type comes from the return type of this signature. ~~~~~~~~ !!! error TS2344: Type 'D' does not satisfy the constraint 'A'. @@ -55,13 +99,11 @@ tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts(19,14): !!! error TS2769: Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. !!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2769: Property 'q' is missing in type 'C' but required in type 'D'. +!!! error TS2769: Type 'C' is not assignable to type 'D'. !!! error TS2769: Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. !!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2769: Property 'q' is missing in type 'B' but required in type 'D'. -!!! related TS2728 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. -!!! related TS2728 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. +!!! error TS2769: Type 'B' is not assignable to type 'D'. var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error ~~~~~~~~ !!! error TS2344: Type 'D' does not satisfy the constraint 'A'. diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types index 751032d5abaf5..3ba6211a990de 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types @@ -36,28 +36,28 @@ declare function foo(arg: (x: B) => any): number; var result: number = foo(x => new G(x)); // x has type D, new G(x) fails, so first overload is picked. >result : number ->foo(x => new G(x)) : string +>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) => any +>x => new G(x) : (x: D) => G >x : D ->new G(x) : any +>new G(x) : G >G : typeof G >x : D var result2: number = foo(x => new G(x)); // x has type D, new G(x) fails, so first overload is picked. >result2 : number ->foo(x => new G(x)) : string +>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) => any +>x => new G(x) : (x: D) => G >x : D ->new G(x) : any +>new G(x) : G >G : typeof G >x : D >x : D var result3: string = foo(x => { // x has type D >result3 : string ->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;}) : any +>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/overloadsAndTypeArgumentArityErrors.types b/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types index d438d4356680b..1c20591475373 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types @@ -12,7 +12,7 @@ declare function Callbacks(flags?: string): void; >flags : string Callbacks('s'); // wrong number of type arguments ->Callbacks('s') : any +>Callbacks('s') : void >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } >'s' : "s" @@ -26,6 +26,6 @@ declare function f(arg: number): void; >arg : number f(); // wrong number of arguments (#25683) ->f() : any +>f() : void >f : (arg: number) => void diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.types b/tests/baselines/reference/overloadsWithProvisionalErrors.types index c655f22c05070..1dbc5e486d0fe 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.types +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.types @@ -14,7 +14,7 @@ var func: { }; func(s => ({})); // Error for no applicable overload (object type is missing a and b) ->func(s => ({})) : any +>func(s => ({})) : never >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } >s => ({}) : (s: string) => {} >s : string @@ -34,7 +34,7 @@ func(s => ({ a: blah, b: 3 })); // Only error inside the function, but not outsi >3 : 3 func(s => ({ a: blah })); // Two errors here, one for blah not being defined, and one for the overload since it would not be applicable anyway ->func(s => ({ a: blah })) : any +>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/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types index a6554284225b0..4e4f667b549c9 100644 --- a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types +++ b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types @@ -71,14 +71,14 @@ appendToOptionalArray(foo, 'y', 'bar'); // ok >'bar' : "bar" appendToOptionalArray(foo, 'y', 12); // should fail ->appendToOptionalArray(foo, 'y', 12) : any +>appendToOptionalArray(foo, 'y', 12) : void >appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void >foo : { x?: number[] | undefined; y?: string[] | undefined; } >'y' : "y" >12 : 12 appendToOptionalArray(foo, 'x', "no"); // should fail ->appendToOptionalArray(foo, 'x', "no") : any +>appendToOptionalArray(foo, 'x', "no") : void >appendToOptionalArray : (object: { [x in K]?: Lower[] | undefined; }, key: K, value: T) => void >foo : { x?: number[] | undefined; y?: string[] | undefined; } >'x' : "x" diff --git a/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt b/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt index 925bb07d9f9bc..db526dd3e1522 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt +++ b/tests/baselines/reference/parser15.4.4.14-9-2.errors.txt @@ -1,8 +1,12 @@ tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(16,42): error TS2345: Argument of type '"0"' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(17,17): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(18,17): error TS2345: Argument of type '0' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(19,17): error TS2345: Argument of type '0' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(20,17): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(25,1): error TS2304: Cannot find name 'runTestCase'. -==== tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts (6 errors) ==== /// Copyright (c) 2012 Ecma International. All rights reserved. /// Ecma International makes this code available under the terms and conditions set /// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the @@ -22,9 +26,17 @@ tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts(25,1): error T ~~~ !!! error TS2345: Argument of type '"0"' is not assignable to parameter of type 'boolean'. if (a.indexOf(-(4/3)) === 14 && // a[14]=_float===-(4/3) + ~~~~~~ +!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. a.indexOf(0) === 7 && // a[7] = +0, 0===+0 + ~ +!!! error TS2345: Argument of type '0' is not assignable to parameter of type 'boolean'. a.indexOf(-0) === 7 && // a[7] = +0, -0===+0 + ~~ +!!! error TS2345: Argument of type '0' is not assignable to parameter of type 'boolean'. a.indexOf(1) === 10 ) // a[10] =one=== 1 + ~ +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. { return true; } diff --git a/tests/baselines/reference/parser15.4.4.14-9-2.symbols b/tests/baselines/reference/parser15.4.4.14-9-2.symbols index ecad25d79596a..dde1f273812ae 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.symbols +++ b/tests/baselines/reference/parser15.4.4.14-9-2.symbols @@ -32,16 +32,24 @@ function testcase() { >_float : Symbol(_float, Decl(parser15.4.4.14-9-2.ts, 14, 5)) if (a.indexOf(-(4/3)) === 14 && // a[14]=_float===-(4/3) +>a.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(parser15.4.4.14-9-2.ts, 15, 5)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) a.indexOf(0) === 7 && // a[7] = +0, 0===+0 +>a.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(parser15.4.4.14-9-2.ts, 15, 5)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) a.indexOf(-0) === 7 && // a[7] = +0, -0===+0 +>a.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(parser15.4.4.14-9-2.ts, 15, 5)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) a.indexOf(1) === 10 ) // a[10] =one=== 1 +>a.indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(parser15.4.4.14-9-2.ts, 15, 5)) +>indexOf : Symbol(Array.indexOf, Decl(lib.es5.d.ts, --, --)) { return true; } 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 f69a61989e309..13f2bcf533bbd 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.types +++ b/tests/baselines/reference/parser15.4.4.14-9-2.types @@ -33,8 +33,8 @@ function testcase() { >3 : 3 var a = new Array(false,undefined,null,"0",obj,-1.3333333333333, "str",-0,true,+0, one, 1,0, false, _float, -(4/3)); ->a : any ->new Array(false,undefined,null,"0",obj,-1.3333333333333, "str",-0,true,+0, one, 1,0, false, _float, -(4/3)) : any +>a : boolean[] +>new Array(false,undefined,null,"0",obj,-1.3333333333333, "str",-0,true,+0, one, 1,0, false, _float, -(4/3)) : boolean[] >Array : ArrayConstructor >false : false >undefined : undefined @@ -65,10 +65,10 @@ function testcase() { >a.indexOf(-(4/3)) === 14 && // a[14]=_float===-(4/3) a.indexOf(0) === 7 && // a[7] = +0, 0===+0 a.indexOf(-0) === 7 : boolean >a.indexOf(-(4/3)) === 14 && // a[14]=_float===-(4/3) a.indexOf(0) === 7 : boolean >a.indexOf(-(4/3)) === 14 : boolean ->a.indexOf(-(4/3)) : any ->a.indexOf : any ->a : any ->indexOf : any +>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 >4/3 : number @@ -78,29 +78,29 @@ function testcase() { a.indexOf(0) === 7 && // a[7] = +0, 0===+0 >a.indexOf(0) === 7 : boolean ->a.indexOf(0) : any ->a.indexOf : any ->a : any ->indexOf : any +>a.indexOf(0) : number +>a.indexOf : (searchElement: boolean, fromIndex?: number) => number +>a : boolean[] +>indexOf : (searchElement: boolean, fromIndex?: number) => number >0 : 0 >7 : 7 a.indexOf(-0) === 7 && // a[7] = +0, -0===+0 >a.indexOf(-0) === 7 : boolean ->a.indexOf(-0) : any ->a.indexOf : any ->a : any ->indexOf : any +>a.indexOf(-0) : number +>a.indexOf : (searchElement: boolean, fromIndex?: number) => number +>a : boolean[] +>indexOf : (searchElement: boolean, fromIndex?: number) => number >-0 : 0 >0 : 0 >7 : 7 a.indexOf(1) === 10 ) // a[10] =one=== 1 >a.indexOf(1) === 10 : boolean ->a.indexOf(1) : any ->a.indexOf : any ->a : any ->indexOf : any +>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/parserConstructorAmbiguity3.types b/tests/baselines/reference/parserConstructorAmbiguity3.types index bdd4972ce19e1..0fa91785da0ad 100644 --- a/tests/baselines/reference/parserConstructorAmbiguity3.types +++ b/tests/baselines/reference/parserConstructorAmbiguity3.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity3.ts === new Date ->new Date : any +>new Date : Date >Date : DateConstructor diff --git a/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.errors.txt b/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.errors.txt index 8a4a62233d9c0..16d2122ff747c 100644 --- a/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.errors.txt +++ b/tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.errors.txt @@ -1,9 +1,12 @@ tests/cases/conformance/parser/ecmascript5/parserNoASIOnCallAfterFunctionExpression1.ts(2,2): error TS2554: Expected 0 arguments, but got 1. +tests/cases/conformance/parser/ecmascript5/parserNoASIOnCallAfterFunctionExpression1.ts(2,15): error TS2339: Property 'foo' does not exist on type 'void'. -==== tests/cases/conformance/parser/ecmascript5/parserNoASIOnCallAfterFunctionExpression1.ts (1 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/parserNoASIOnCallAfterFunctionExpression1.ts (2 errors) ==== var x = function () { } (window).foo; ~~~~~~~~~~~ !!! error TS2554: Expected 0 arguments, but got 1. + ~~~ +!!! error TS2339: Property 'foo' does not exist on type 'void'. \ No newline at end of file diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types index 87932ff9ae1bb..c7143d2c049ad 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types @@ -22,7 +22,7 @@ declare function testError(a: (t: T, t1: T) => void): T // more args testError((t1: D, t2, t3) => {}) ->testError((t1: D, t2, t3) => {}) : any +>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 @@ -30,7 +30,7 @@ testError((t1: D, t2, t3) => {}) >t3 : any testError((t1, t2: D, t3) => {}) ->testError((t1, t2: D, t3) => {}) : any +>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 @@ -38,7 +38,7 @@ testError((t1, t2: D, t3) => {}) >t3 : any testError((t1, t2, t3: D) => {}) ->testError((t1, t2, t3: D) => {}) : any +>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/primitiveConstraints1.types b/tests/baselines/reference/primitiveConstraints1.types index 9ca17bb9ef245..1edc2597ec178 100644 --- a/tests/baselines/reference/primitiveConstraints1.types +++ b/tests/baselines/reference/primitiveConstraints1.types @@ -5,7 +5,7 @@ function foo1(t: T, u: U) { } >u : U foo1('hm', 1); // no error ->foo1('hm', 1) : any +>foo1('hm', 1) : void >foo1 : (t: T, u: U) => void >'hm' : "hm" >1 : 1 @@ -16,7 +16,7 @@ function foo2(t: T, u: U) { } >u : U foo2(1, 'hm'); // error ->foo2(1, 'hm') : any +>foo2(1, 'hm') : void >foo2 : (t: T, u: U) => void >1 : 1 >'hm' : "hm" diff --git a/tests/baselines/reference/primitiveConstraints2.types b/tests/baselines/reference/primitiveConstraints2.types index 81b867c8a93d6..6e8e7b725d48f 100644 --- a/tests/baselines/reference/primitiveConstraints2.types +++ b/tests/baselines/reference/primitiveConstraints2.types @@ -18,7 +18,7 @@ var x = new C(); >C : typeof C x.bar2(2, ""); // should error ->x.bar2(2, "") : any +>x.bar2(2, "") : number >x.bar2 : (x: number, y: U) => number >x : C >bar2 : (x: number, y: U) => number @@ -26,7 +26,7 @@ x.bar2(2, ""); // should error >"" : "" x.bar2(2, ""); // should error ->x.bar2(2, "") : any +>x.bar2(2, "") : number >x.bar2 : (x: number, y: U) => number >x : C >bar2 : (x: number, y: U) => number diff --git a/tests/baselines/reference/promiseChaining1.errors.txt b/tests/baselines/reference/promiseChaining1.errors.txt index 95f421b36f02b..9ce81ee4d5d34 100644 --- a/tests/baselines/reference/promiseChaining1.errors.txt +++ b/tests/baselines/reference/promiseChaining1.errors.txt @@ -1,7 +1,8 @@ tests/cases/compiler/promiseChaining1.ts(7,55): error TS2322: Type 'string' is not assignable to type 'Function'. +tests/cases/compiler/promiseChaining1.ts(7,84): error TS2322: Type 'number' is not assignable to type 'Function'. -==== tests/cases/compiler/promiseChaining1.ts (1 errors) ==== +==== tests/cases/compiler/promiseChaining1.ts (2 errors) ==== // same example but with constraints on each type parameter class Chain2 { constructor(public value: T) { } @@ -11,6 +12,9 @@ tests/cases/compiler/promiseChaining1.ts(7,55): error TS2322: Type 'string' is n var z = this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then(x => x.length)/*number*/; // Should error on "abc" because it is not a Function ~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'Function'. +!!! related TS6502 tests/cases/compiler/promiseChaining1.ts:4:34: The expected type comes from the return type of this signature. + ~~~~~~~~ +!!! error TS2322: Type 'number' is not assignable to type 'Function'. !!! related TS6502 tests/cases/compiler/promiseChaining1.ts:4:34: The expected type comes from the return type of this signature. return new Chain2(result); } diff --git a/tests/baselines/reference/promiseChaining1.symbols b/tests/baselines/reference/promiseChaining1.symbols index 17213839f0a0a..c19ce3afb03c8 100644 --- a/tests/baselines/reference/promiseChaining1.symbols +++ b/tests/baselines/reference/promiseChaining1.symbols @@ -30,6 +30,7 @@ class Chain2 { // should get a fresh type parameter which each then call var z = this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then(x => x.length)/*number*/; // Should error on "abc" because it is not a Function >z : Symbol(z, Decl(promiseChaining1.ts, 6, 11)) +>this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then : Symbol(Chain2.then, Decl(promiseChaining1.ts, 2, 36)) >this.then(x => result)/*S*/.then : Symbol(Chain2.then, Decl(promiseChaining1.ts, 2, 36)) >this.then : Symbol(Chain2.then, Decl(promiseChaining1.ts, 2, 36)) >this : Symbol(Chain2, Decl(promiseChaining1.ts, 0, 0)) @@ -38,8 +39,11 @@ class Chain2 { >result : Symbol(result, Decl(promiseChaining1.ts, 4, 11)) >then : Symbol(Chain2.then, Decl(promiseChaining1.ts, 2, 36)) >x : Symbol(x, Decl(promiseChaining1.ts, 6, 49)) +>then : Symbol(Chain2.then, Decl(promiseChaining1.ts, 2, 36)) >x : Symbol(x, Decl(promiseChaining1.ts, 6, 78)) +>x.length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseChaining1.ts, 6, 78)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) return new Chain2(result); >Chain2 : Symbol(Chain2, Decl(promiseChaining1.ts, 0, 0)) diff --git a/tests/baselines/reference/promiseChaining1.types b/tests/baselines/reference/promiseChaining1.types index 6ef34ff7e784b..48c16cd64a1dd 100644 --- a/tests/baselines/reference/promiseChaining1.types +++ b/tests/baselines/reference/promiseChaining1.types @@ -22,10 +22,10 @@ class Chain2 { // should get a fresh type parameter which each then call var z = this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then(x => x.length)/*number*/; // Should error on "abc" because it is not a Function ->z : any ->this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then(x => x.length) : any ->this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then : any ->this.then(x => result)/*S*/.then(x => "abc") : any +>z : 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) => S) => Chain2 >this.then(x => result) : Chain2 >this.then : (cb: (x: T) => S) => Chain2 @@ -38,12 +38,12 @@ class Chain2 { >x => "abc" : (x: S) => string >x : S >"abc" : "abc" ->then : any ->x => x.length : (x: any) => any ->x : any ->x.length : any ->x : any ->length : any +>then : (cb: (x: Function) => S) => Chain2 +>x => x.length : (x: Function) => number +>x : Function +>x.length : number +>x : Function +>length : number return new Chain2(result); >new Chain2(result) : Chain2 diff --git a/tests/baselines/reference/promiseChaining2.errors.txt b/tests/baselines/reference/promiseChaining2.errors.txt index f7326ec8cbd9d..98dee5cfe9384 100644 --- a/tests/baselines/reference/promiseChaining2.errors.txt +++ b/tests/baselines/reference/promiseChaining2.errors.txt @@ -1,7 +1,8 @@ tests/cases/compiler/promiseChaining2.ts(7,50): error TS2322: Type 'string' is not assignable to type 'Function'. +tests/cases/compiler/promiseChaining2.ts(7,67): error TS2322: Type 'number' is not assignable to type 'Function'. -==== tests/cases/compiler/promiseChaining2.ts (1 errors) ==== +==== tests/cases/compiler/promiseChaining2.ts (2 errors) ==== // same example but with constraints on each type parameter class Chain2 { constructor(public value: T) { } @@ -11,6 +12,9 @@ tests/cases/compiler/promiseChaining2.ts(7,50): error TS2322: Type 'string' is n var z = this.then(x => result).then(x => "abc").then(x => x.length); ~~~~~ !!! error TS2322: Type 'string' is not assignable to type 'Function'. +!!! related TS6502 tests/cases/compiler/promiseChaining2.ts:4:34: The expected type comes from the return type of this signature. + ~~~~~~~~ +!!! error TS2322: Type 'number' is not assignable to type 'Function'. !!! related TS6502 tests/cases/compiler/promiseChaining2.ts:4:34: The expected type comes from the return type of this signature. return new Chain2(result); } diff --git a/tests/baselines/reference/promiseChaining2.symbols b/tests/baselines/reference/promiseChaining2.symbols index ae1f85581e2d2..d63694ad77608 100644 --- a/tests/baselines/reference/promiseChaining2.symbols +++ b/tests/baselines/reference/promiseChaining2.symbols @@ -30,6 +30,7 @@ class Chain2 { // should get a fresh type parameter which each then call var z = this.then(x => result).then(x => "abc").then(x => x.length); >z : Symbol(z, Decl(promiseChaining2.ts, 6, 11)) +>this.then(x => result).then(x => "abc").then : Symbol(Chain2.then, Decl(promiseChaining2.ts, 2, 36)) >this.then(x => result).then : Symbol(Chain2.then, Decl(promiseChaining2.ts, 2, 36)) >this.then : Symbol(Chain2.then, Decl(promiseChaining2.ts, 2, 36)) >this : Symbol(Chain2, Decl(promiseChaining2.ts, 0, 0)) @@ -38,8 +39,11 @@ class Chain2 { >result : Symbol(result, Decl(promiseChaining2.ts, 4, 11)) >then : Symbol(Chain2.then, Decl(promiseChaining2.ts, 2, 36)) >x : Symbol(x, Decl(promiseChaining2.ts, 6, 44)) +>then : Symbol(Chain2.then, Decl(promiseChaining2.ts, 2, 36)) >x : Symbol(x, Decl(promiseChaining2.ts, 6, 61)) +>x.length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseChaining2.ts, 6, 61)) +>length : Symbol(Function.length, Decl(lib.es5.d.ts, --, --)) return new Chain2(result); >Chain2 : Symbol(Chain2, Decl(promiseChaining2.ts, 0, 0)) diff --git a/tests/baselines/reference/promiseChaining2.types b/tests/baselines/reference/promiseChaining2.types index 7088244ee0146..c980627c5b2e9 100644 --- a/tests/baselines/reference/promiseChaining2.types +++ b/tests/baselines/reference/promiseChaining2.types @@ -22,10 +22,10 @@ class Chain2 { // should get a fresh type parameter which each then call var z = this.then(x => result).then(x => "abc").then(x => x.length); ->z : any ->this.then(x => result).then(x => "abc").then(x => x.length) : any ->this.then(x => result).then(x => "abc").then : any ->this.then(x => result).then(x => "abc") : any +>z : 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) => S) => Chain2 >this.then(x => result) : Chain2 >this.then : (cb: (x: T) => S) => Chain2 @@ -38,12 +38,12 @@ class Chain2 { >x => "abc" : (x: S) => string >x : S >"abc" : "abc" ->then : any ->x => x.length : (x: any) => any ->x : any ->x.length : any ->x : any ->length : any +>then : (cb: (x: Function) => S) => Chain2 +>x => x.length : (x: Function) => number +>x : Function +>x.length : number +>x : Function +>length : number return new Chain2(result); >new Chain2(result) : Chain2 diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index 0dbe5f7ec0eb0..9a4607fb75d61 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -458,8 +458,8 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >testFunction3 : (x: number) => IPromise var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error ->s3d : any ->s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any +>s3d : Promise +>s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, 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; } @@ -485,8 +485,8 @@ var sPromise: (x: any) => Promise; >x : any var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error ->r4a : any ->r4.then(testFunction4, testFunction4, testFunction4) : any +>r4a : IPromise +>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; } @@ -514,8 +514,8 @@ var s4: Promise; >s4 : Promise var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ->s4a : any ->s4.then(testFunction4, testFunction4, testFunction4) : any +>s4a : Promise +>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; } @@ -524,8 +524,8 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >testFunction4 : (x: number, y?: string) => IPromise var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error ->s4b : any ->s4.then(testFunction4P, testFunction4P, testFunction4P) : any +>s4b : Promise +>s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -534,8 +534,8 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >testFunction4P : (x: number, y?: string) => Promise var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error ->s4c : any ->s4.then(testFunction4P, testFunction4, testFunction4) : any +>s4c : Promise +>s4.then(testFunction4P, testFunction4, testFunction4) : Promise >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -563,8 +563,8 @@ var r5: IPromise; >r5 : IPromise var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error ->r5a : any ->r5.then(testFunction5, testFunction5, testFunction5) : any +>r5a : IPromise +>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; } @@ -592,8 +592,8 @@ var s5: Promise; >s5 : Promise var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error ->s5a : any ->s5.then(testFunction5, testFunction5, testFunction5) : any +>s5a : Promise +>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; } @@ -602,8 +602,8 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >testFunction5 : (x: number, cb: (a: string) => string) => IPromise var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error ->s5b : any ->s5.then(testFunction5P, testFunction5P, testFunction5P) : any +>s5b : Promise +>s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -612,8 +612,8 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >testFunction5P : (x: number, cb: (a: string) => string) => Promise var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error ->s5c : any ->s5.then(testFunction5P, testFunction5, testFunction5) : any +>s5c : Promise +>s5.then(testFunction5P, testFunction5, testFunction5) : Promise >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -641,8 +641,8 @@ var r6: IPromise; >r6 : IPromise var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error ->r6a : any ->r6.then(testFunction6, testFunction6, testFunction6) : any +>r6a : IPromise +>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; } @@ -670,8 +670,8 @@ var s6: Promise; >s6 : Promise var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error ->s6a : any ->s6.then(testFunction6, testFunction6, testFunction6) : any +>s6a : Promise +>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; } @@ -680,8 +680,8 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >testFunction6 : (x: number, cb: (a: T) => T) => IPromise var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error ->s6b : any ->s6.then(testFunction6P, testFunction6P, testFunction6P) : any +>s6b : Promise +>s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -690,8 +690,8 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >testFunction6P : (x: number, cb: (a: T) => T) => Promise var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error ->s6c : any ->s6.then(testFunction6P, testFunction6, testFunction6) : any +>s6c : Promise +>s6.then(testFunction6P, testFunction6, testFunction6) : Promise >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -719,8 +719,8 @@ var r7: IPromise; >r7 : IPromise var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error ->r7a : any ->r7.then(testFunction7, testFunction7, testFunction7) : any +>r7a : IPromise +>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; } @@ -748,8 +748,8 @@ var s7: Promise; >s7 : Promise var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ->s7a : any ->r7.then(testFunction7, testFunction7, testFunction7) : any +>s7a : IPromise +>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; } @@ -758,8 +758,8 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >testFunction7 : (cb: (a: T) => T) => IPromise var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ->s7b : any ->r7.then(testFunction7P, testFunction7P, testFunction7P) : any +>s7b : IPromise +>r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, 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; } @@ -768,8 +768,8 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >testFunction7P : (cb: (a: T) => T) => Promise var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error ->s7c : any ->r7.then(testFunction7P, testFunction7, testFunction7) : any +>s7c : IPromise +>r7.then(testFunction7P, testFunction7, testFunction7) : IPromise >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, 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; } @@ -805,8 +805,8 @@ var nPromise: (x: any) => Promise; >x : any var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error ->r8a : any ->r8.then(testFunction8, testFunction8, testFunction8) : any +>r8a : IPromise +>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; } @@ -834,8 +834,8 @@ var s8: Promise; >s8 : Promise var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error ->s8a : any ->s8.then(testFunction8, testFunction8, testFunction8) : any +>s8a : Promise +>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; } @@ -844,8 +844,8 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >testFunction8 : (x: T, cb: (a: T) => T) => IPromise var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error ->s8b : any ->s8.then(testFunction8P, testFunction8P, testFunction8P) : any +>s8b : Promise +>s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -854,8 +854,8 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >testFunction8P : (x: T, cb: (a: T) => T) => Promise var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error ->s8c : any ->s8.then(testFunction8P, testFunction8, testFunction8) : any +>s8c : Promise +>s8.then(testFunction8P, testFunction8, testFunction8) : Promise >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -883,8 +883,8 @@ var r9: IPromise; >r9 : IPromise var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error ->r9a : any ->r9.then(testFunction9, testFunction9, testFunction9) : any +>r9a : IPromise +>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; } @@ -913,8 +913,8 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok ->r9d : any ->r9.then(testFunction, sIPromise, nIPromise) : any +>r9d : IPromise +>r9.then(testFunction, sIPromise, nIPromise) : IPromise >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, 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; } @@ -942,8 +942,8 @@ var s9: Promise; >s9 : Promise var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error ->s9a : any ->s9.then(testFunction9, testFunction9, testFunction9) : any +>s9a : Promise +>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; } @@ -952,8 +952,8 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >testFunction9 : (x: T, cb: (a: U) => U) => IPromise var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error ->s9b : any ->s9.then(testFunction9P, testFunction9P, testFunction9P) : any +>s9b : Promise +>s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -962,8 +962,8 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >testFunction9P : (x: T, cb: (a: U) => U) => Promise var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error ->s9c : any ->s9.then(testFunction9P, testFunction9, testFunction9) : any +>s9c : Promise +>s9.then(testFunction9P, testFunction9, testFunction9) : Promise >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -992,8 +992,8 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >nPromise : (x: any) => Promise var s9f = s9.then(testFunction, sIPromise, nIPromise); // error ->s9f : any ->s9.then(testFunction, sIPromise, nIPromise) : any +>s9f : Promise +>s9.then(testFunction, sIPromise, nIPromise) : Promise >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -1056,8 +1056,8 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok ->r10d : any ->r10.then(testFunction, sIPromise, nIPromise) : any +>r10d : IPromise +>r10.then(testFunction, sIPromise, nIPromise) : IPromise >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, 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; } @@ -1140,8 +1140,8 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error ->s10f : any ->s10.then(testFunctionP, sIPromise, nIPromise) : any +>s10f : Promise +>s10.then(testFunctionP, sIPromise, nIPromise) : Promise >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, 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; } @@ -1169,8 +1169,8 @@ var r11: IPromise; >r11 : IPromise var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error ->r11a : any ->r11.then(testFunction11, testFunction11, testFunction11) : any +>r11a : IPromise +>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; } @@ -1182,8 +1182,8 @@ var s11: Promise; >s11 : Promise var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok ->s11a : any ->s11.then(testFunction11, testFunction11, testFunction11) : any +>s11a : Promise +>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; } @@ -1192,8 +1192,8 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error ->s11b : any ->s11.then(testFunction11P, testFunction11P, testFunction11P) : any +>s11b : Promise +>s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -1202,8 +1202,8 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >testFunction11P : { (x: number): Promise; (x: string): Promise; } var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error ->s11c : any ->s11.then(testFunction11P, testFunction11, testFunction11) : any +>s11c : Promise +>s11.then(testFunction11P, testFunction11, testFunction11) : Promise >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index 957b548a284b8..49a704375bac0 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -433,8 +433,8 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >testFunction3 : (x: number) => IPromise var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error ->s3d : any ->s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any +>s3d : Promise> +>s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise> >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => 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; } @@ -460,8 +460,8 @@ var sPromise: (x: any) => Promise; >x : any var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error ->r4a : any ->r4.then(testFunction4, testFunction4, testFunction4) : any +>r4a : IPromise +>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; } @@ -489,8 +489,8 @@ var s4: Promise; >s4 : Promise var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ->s4a : any ->s4.then(testFunction4, testFunction4, testFunction4) : any +>s4a : Promise> +>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; } @@ -499,8 +499,8 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >testFunction4 : (x: number, y?: string) => IPromise var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error ->s4b : any ->s4.then(testFunction4P, testFunction4P, testFunction4P) : any +>s4b : Promise> +>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; } @@ -509,8 +509,8 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >testFunction4P : (x: number, y?: string) => Promise var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error ->s4c : any ->s4.then(testFunction4P, testFunction4, testFunction4) : any +>s4c : Promise> +>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; } @@ -538,8 +538,8 @@ var r5: IPromise; >r5 : IPromise var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error ->r5a : any ->r5.then(testFunction5, testFunction5, testFunction5) : any +>r5a : IPromise +>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; } @@ -567,8 +567,8 @@ var s5: Promise; >s5 : Promise var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error ->s5a : any ->s5.then(testFunction5, testFunction5, testFunction5) : any +>s5a : Promise> +>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; } @@ -577,8 +577,8 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >testFunction5 : (x: number, cb: (a: string) => string) => IPromise var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error ->s5b : any ->s5.then(testFunction5P, testFunction5P, testFunction5P) : any +>s5b : Promise> +>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; } @@ -587,8 +587,8 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >testFunction5P : (x: number, cb: (a: string) => string) => Promise var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error ->s5c : any ->s5.then(testFunction5P, testFunction5, testFunction5) : any +>s5c : Promise> +>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; } @@ -616,8 +616,8 @@ var r6: IPromise; >r6 : IPromise var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error ->r6a : any ->r6.then(testFunction6, testFunction6, testFunction6) : any +>r6a : IPromise +>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; } @@ -645,8 +645,8 @@ var s6: Promise; >s6 : Promise var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error ->s6a : any ->s6.then(testFunction6, testFunction6, testFunction6) : any +>s6a : Promise> +>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; } @@ -655,8 +655,8 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >testFunction6 : (x: number, cb: (a: T) => T) => IPromise var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error ->s6b : any ->s6.then(testFunction6P, testFunction6P, testFunction6P) : any +>s6b : Promise> +>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; } @@ -665,8 +665,8 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >testFunction6P : (x: number, cb: (a: T) => T) => Promise var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error ->s6c : any ->s6.then(testFunction6P, testFunction6, testFunction6) : any +>s6c : Promise> +>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; } @@ -694,8 +694,8 @@ var r7: IPromise; >r7 : IPromise var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error ->r7a : any ->r7.then(testFunction7, testFunction7, testFunction7) : any +>r7a : IPromise +>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; } @@ -723,8 +723,8 @@ var s7: Promise; >s7 : Promise var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ->s7a : any ->r7.then(testFunction7, testFunction7, testFunction7) : any +>s7a : IPromise +>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; } @@ -733,8 +733,8 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >testFunction7 : (cb: (a: T) => T) => IPromise var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ->s7b : any ->r7.then(testFunction7P, testFunction7P, testFunction7P) : any +>s7b : IPromise +>r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, 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; } @@ -743,8 +743,8 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >testFunction7P : (cb: (a: T) => T) => Promise var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error ->s7c : any ->r7.then(testFunction7P, testFunction7, testFunction7) : any +>s7c : IPromise +>r7.then(testFunction7P, testFunction7, testFunction7) : IPromise >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, 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; } @@ -780,8 +780,8 @@ var nPromise: (x: any) => Promise; >x : any var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error ->r8a : any ->r8.then(testFunction8, testFunction8, testFunction8) : any +>r8a : IPromise +>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; } @@ -809,8 +809,8 @@ var s8: Promise; >s8 : Promise var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error ->s8a : any ->s8.then(testFunction8, testFunction8, testFunction8) : any +>s8a : Promise +>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; } @@ -819,8 +819,8 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >testFunction8 : (x: T, cb: (a: T) => T) => IPromise var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error ->s8b : any ->s8.then(testFunction8P, testFunction8P, testFunction8P) : any +>s8b : Promise +>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; } @@ -829,8 +829,8 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >testFunction8P : (x: T, cb: (a: T) => T) => Promise var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error ->s8c : any ->s8.then(testFunction8P, testFunction8, testFunction8) : any +>s8c : Promise +>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; } @@ -858,8 +858,8 @@ var r9: IPromise; >r9 : IPromise var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error ->r9a : any ->r9.then(testFunction9, testFunction9, testFunction9) : any +>r9a : IPromise +>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; } @@ -888,8 +888,8 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var r9d = r9.then(testFunction, sIPromise, nIPromise); // error ->r9d : any ->r9.then(testFunction, sIPromise, nIPromise) : any +>r9d : IPromise +>r9.then(testFunction, sIPromise, nIPromise) : IPromise >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, 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; } @@ -917,8 +917,8 @@ var s9: Promise; >s9 : Promise var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error ->s9a : any ->s9.then(testFunction9, testFunction9, testFunction9) : any +>s9a : Promise +>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; } @@ -927,8 +927,8 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >testFunction9 : (x: T, cb: (a: U) => U) => IPromise var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error ->s9b : any ->s9.then(testFunction9P, testFunction9P, testFunction9P) : any +>s9b : Promise +>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; } @@ -937,8 +937,8 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >testFunction9P : (x: T, cb: (a: U) => U) => Promise var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error ->s9c : any ->s9.then(testFunction9P, testFunction9, testFunction9) : any +>s9c : Promise +>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; } @@ -967,8 +967,8 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >nPromise : (x: any) => Promise var s9f = s9.then(testFunction, sIPromise, nIPromise); // error ->s9f : any ->s9.then(testFunction, sIPromise, nIPromise) : any +>s9f : Promise> +>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; } @@ -1031,8 +1031,8 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var r10d = r10.then(testFunction, sIPromise, nIPromise); // error ->r10d : any ->r10.then(testFunction, sIPromise, nIPromise) : any +>r10d : IPromise +>r10.then(testFunction, sIPromise, nIPromise) : IPromise >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, 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; } @@ -1115,8 +1115,8 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error ->s10f : any ->s10.then(testFunctionP, sIPromise, nIPromise) : any +>s10f : Promise> +>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; } @@ -1144,8 +1144,8 @@ var r11: IPromise; >r11 : IPromise var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error ->r11a : any ->r11.then(testFunction11, testFunction11, testFunction11) : any +>r11a : IPromise +>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; } @@ -1157,8 +1157,8 @@ var s11: Promise; >s11 : Promise var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok ->s11a : any ->s11.then(testFunction11, testFunction11, testFunction11) : any +>s11a : Promise> +>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; } @@ -1167,8 +1167,8 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok ->s11b : any ->s11.then(testFunction11P, testFunction11P, testFunction11P) : any +>s11b : Promise> +>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; } @@ -1177,8 +1177,8 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >testFunction11P : { (x: number): Promise; (x: string): Promise; } var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok ->s11c : any ->s11.then(testFunction11P, testFunction11, testFunction11) : any +>s11c : Promise> +>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; } diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index a643b89b23ba9..9ce0662c27a19 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -384,8 +384,8 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); >testFunction3 : (x: number) => IPromise var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); ->r3b : any ->r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any +>r3b : IPromise> +>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 @@ -433,8 +433,8 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >testFunction3 : (x: number) => IPromise var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); ->s3d : any ->s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any +>s3d : Promise +>s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, 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; } @@ -460,8 +460,8 @@ var sPromise: (x: any) => Promise; >x : any var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error ->r4a : any ->r4.then(testFunction4, testFunction4, testFunction4) : any +>r4a : IPromise> +>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 @@ -489,8 +489,8 @@ var s4: Promise; >s4 : Promise var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error ->s4a : any ->s4.then(testFunction4, testFunction4, testFunction4) : any +>s4a : Promise +>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; } @@ -499,8 +499,8 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >testFunction4 : (x: number, y?: string) => IPromise var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error ->s4b : any ->s4.then(testFunction4P, testFunction4P, testFunction4P) : any +>s4b : Promise +>s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -509,8 +509,8 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >testFunction4P : (x: number, y?: string) => Promise var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error ->s4c : any ->s4.then(testFunction4P, testFunction4, testFunction4) : any +>s4c : Promise +>s4.then(testFunction4P, testFunction4, testFunction4) : Promise >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -538,8 +538,8 @@ var r5: IPromise; >r5 : IPromise var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error ->r5a : any ->r5.then(testFunction5, testFunction5, testFunction5) : any +>r5a : IPromise> +>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 @@ -567,8 +567,8 @@ var s5: Promise; >s5 : Promise var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error ->s5a : any ->s5.then(testFunction5, testFunction5, testFunction5) : any +>s5a : Promise +>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; } @@ -577,8 +577,8 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >testFunction5 : (x: number, cb: (a: string) => string) => IPromise var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error ->s5b : any ->s5.then(testFunction5P, testFunction5P, testFunction5P) : any +>s5b : Promise +>s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -587,8 +587,8 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >testFunction5P : (x: number, cb: (a: string) => string) => Promise var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error ->s5c : any ->s5.then(testFunction5P, testFunction5, testFunction5) : any +>s5c : Promise +>s5.then(testFunction5P, testFunction5, testFunction5) : Promise >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -616,8 +616,8 @@ var r6: IPromise; >r6 : IPromise var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error ->r6a : any ->r6.then(testFunction6, testFunction6, testFunction6) : any +>r6a : IPromise> +>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 @@ -645,8 +645,8 @@ var s6: Promise; >s6 : Promise var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error ->s6a : any ->s6.then(testFunction6, testFunction6, testFunction6) : any +>s6a : Promise +>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; } @@ -655,8 +655,8 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >testFunction6 : (x: number, cb: (a: T) => T) => IPromise var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error ->s6b : any ->s6.then(testFunction6P, testFunction6P, testFunction6P) : any +>s6b : Promise +>s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -665,8 +665,8 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >testFunction6P : (x: number, cb: (a: T) => T) => Promise var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error ->s6c : any ->s6.then(testFunction6P, testFunction6, testFunction6) : any +>s6c : Promise +>s6.then(testFunction6P, testFunction6, testFunction6) : Promise >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, 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; } @@ -694,8 +694,8 @@ var r7: IPromise; >r7 : IPromise var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error ->r7a : any ->r7.then(testFunction7, testFunction7, testFunction7) : any +>r7a : IPromise> +>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 @@ -723,8 +723,8 @@ var s7: Promise; >s7 : Promise var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ->s7a : any ->r7.then(testFunction7, testFunction7, testFunction7) : any +>s7a : IPromise> +>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 @@ -733,8 +733,8 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >testFunction7 : (cb: (a: T) => T) => IPromise var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ->s7b : any ->r7.then(testFunction7P, testFunction7P, testFunction7P) : any +>s7b : IPromise> +>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 @@ -743,8 +743,8 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >testFunction7P : (cb: (a: T) => T) => Promise var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error ->s7c : any ->r7.then(testFunction7P, testFunction7, testFunction7) : any +>s7c : IPromise> +>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 @@ -780,8 +780,8 @@ var nPromise: (x: any) => Promise; >x : any var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error ->r8a : any ->r8.then(testFunction8, testFunction8, testFunction8) : any +>r8a : IPromise +>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 @@ -809,8 +809,8 @@ var s8: Promise; >s8 : Promise var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error ->s8a : any ->s8.then(testFunction8, testFunction8, testFunction8) : any +>s8a : Promise +>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; } @@ -819,8 +819,8 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >testFunction8 : (x: T, cb: (a: T) => T) => IPromise var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error ->s8b : any ->s8.then(testFunction8P, testFunction8P, testFunction8P) : any +>s8b : Promise +>s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -829,8 +829,8 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >testFunction8P : (x: T, cb: (a: T) => T) => Promise var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error ->s8c : any ->s8.then(testFunction8P, testFunction8, testFunction8) : any +>s8c : Promise +>s8.then(testFunction8P, testFunction8, testFunction8) : Promise >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -858,8 +858,8 @@ var r9: IPromise; >r9 : IPromise var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error ->r9a : any ->r9.then(testFunction9, testFunction9, testFunction9) : any +>r9a : IPromise +>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 @@ -888,8 +888,8 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var r9d = r9.then(testFunction, sIPromise, nIPromise); // error ->r9d : any ->r9.then(testFunction, sIPromise, nIPromise) : any +>r9d : IPromise> +>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 @@ -917,8 +917,8 @@ var s9: Promise; >s9 : Promise var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error ->s9a : any ->s9.then(testFunction9, testFunction9, testFunction9) : any +>s9a : Promise +>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; } @@ -927,8 +927,8 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >testFunction9 : (x: T, cb: (a: U) => U) => IPromise var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error ->s9b : any ->s9.then(testFunction9P, testFunction9P, testFunction9P) : any +>s9b : Promise +>s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -937,8 +937,8 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >testFunction9P : (x: T, cb: (a: U) => U) => Promise var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error ->s9c : any ->s9.then(testFunction9P, testFunction9, testFunction9) : any +>s9c : Promise +>s9.then(testFunction9P, testFunction9, testFunction9) : Promise >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -967,8 +967,8 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >nPromise : (x: any) => Promise var s9f = s9.then(testFunction, sIPromise, nIPromise); // error ->s9f : any ->s9.then(testFunction, sIPromise, nIPromise) : any +>s9f : Promise +>s9.then(testFunction, sIPromise, nIPromise) : Promise >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -1031,8 +1031,8 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var r10d = r10.then(testFunction, sIPromise, nIPromise); // error ->r10d : any ->r10.then(testFunction, sIPromise, nIPromise) : any +>r10d : IPromise> +>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 @@ -1115,8 +1115,8 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >nIPromise : (x: any) => IPromise var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error ->s10f : any ->s10.then(testFunctionP, sIPromise, nIPromise) : any +>s10f : Promise +>s10.then(testFunctionP, sIPromise, nIPromise) : Promise >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, 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; } @@ -1144,8 +1144,8 @@ var r11: IPromise; >r11 : IPromise var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok ->r11a : any ->r11.then(testFunction11, testFunction11, testFunction11) : any +>r11a : IPromise> +>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 @@ -1157,8 +1157,8 @@ var s11: Promise; >s11 : Promise var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok ->s11a : any ->s11.then(testFunction11, testFunction11, testFunction11) : any +>s11a : Promise +>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; } @@ -1167,8 +1167,8 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error ->s11b : any ->s11.then(testFunction11P, testFunction11P, testFunction11P) : any +>s11b : Promise +>s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -1177,8 +1177,8 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >testFunction11P : { (x: number): Promise; (x: string): Promise; } var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error ->s11c : any ->s11.then(testFunction11P, testFunction11, testFunction11) : any +>s11c : Promise +>s11.then(testFunction11P, testFunction11, testFunction11) : Promise >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: 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; } @@ -1223,8 +1223,8 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok ->s12b : any ->s12.then(testFunction12P, testFunction12P, testFunction12P) : any +>s12b : IPromise> +>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 diff --git a/tests/baselines/reference/promiseTypeInference.types b/tests/baselines/reference/promiseTypeInference.types index 36b3bdadd28ce..72c7001f52554 100644 --- a/tests/baselines/reference/promiseTypeInference.types +++ b/tests/baselines/reference/promiseTypeInference.types @@ -22,8 +22,8 @@ declare function convert(s: string): IPromise; >s : string var $$x = load("something").then(s => convert(s)); ->$$x : any ->load("something").then(s => convert(s)) : any +>$$x : Promise +>load("something").then(s => convert(s)) : Promise >load("something").then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise): Promise; } >load("something") : Promise >load : (name: string) => Promise diff --git a/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline b/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline index 45f6128c2b117..c9bb71314dee3 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsParameters.baseline @@ -2,13 +2,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 9 + "position": 33 }, "quickInfo": { "kind": "function", "kindModifiers": "", "textSpan": { - "start": 9, + "start": 33, "length": 3 }, "displayParts": [ @@ -153,19 +153,25 @@ "kind": "keyword" } ], - "documentation": [] + "documentation": [], + "tags": [ + { + "name": "return", + "text": "*crunch*" + } + ] } }, { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 13 + "position": 37 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 13, + "start": 37, "length": 5 }, "displayParts": [ @@ -208,13 +214,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 28 + "position": 52 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 28, + "start": 52, "length": 13 }, "displayParts": [ @@ -257,13 +263,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 52 + "position": 76 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 52, + "start": 76, "length": 20 }, "displayParts": [ @@ -306,13 +312,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 87 + "position": 111 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 87, + "start": 111, "length": 9 }, "displayParts": [ @@ -363,13 +369,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 114 + "position": 138 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 114, + "start": 138, "length": 5 }, "displayParts": [ @@ -412,13 +418,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 135 + "position": 159 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 135, + "start": 159, "length": 13 }, "displayParts": [ @@ -461,13 +467,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 164 + "position": 188 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 164, + "start": 188, "length": 20 }, "displayParts": [ @@ -510,13 +516,13 @@ { "marker": { "fileName": "/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts", - "position": 200 + "position": 224 }, "quickInfo": { "kind": "parameter", "kindModifiers": "", "textSpan": { - "start": 200, + "start": 224, "length": 9 }, "displayParts": [ diff --git a/tests/baselines/reference/recursiveClassReferenceTest.types b/tests/baselines/reference/recursiveClassReferenceTest.types index 6b617a0a2f59a..bd79dc181f3a3 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.types +++ b/tests/baselines/reference/recursiveClassReferenceTest.types @@ -192,7 +192,7 @@ module Sample.Thing.Languages.PlainText { >getInitialState : () => IState return new State(self); ->new State(self) : any +>new State(self) : State >State : typeof State >self : Window } diff --git a/tests/baselines/reference/recursiveFunctionTypes.types b/tests/baselines/reference/recursiveFunctionTypes.types index 72ba77b48f6f9..09a9116391328 100644 --- a/tests/baselines/reference/recursiveFunctionTypes.types +++ b/tests/baselines/reference/recursiveFunctionTypes.types @@ -88,13 +88,13 @@ function f6(a?: any) { return f6; } >f6 : { (): typeof f6; (a: typeof f6): () => number; } f6("", 3); // error (arity mismatch) ->f6("", 3) : any +>f6("", 3) : { (): typeof f6; (a: typeof f6): () => number; } & (() => number) >f6 : { (): typeof f6; (a: typeof f6): () => number; } >"" : "" >3 : 3 f6(""); // ok (function takes an any param) ->f6("") : any +>f6("") : { (): typeof f6; (a: typeof f6): () => number; } & (() => number) >f6 : { (): typeof f6; (a: typeof f6): () => number; } >"" : "" @@ -122,13 +122,13 @@ declare function f7(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) : any +>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 f7(""); // ok (function takes an any param) ->f7("") : any +>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; } >"" : "" diff --git a/tests/baselines/reference/recursiveTypeReferences1.types b/tests/baselines/reference/recursiveTypeReferences1.types index f402c9f7ef651..14f4180b6dd93 100644 --- a/tests/baselines/reference/recursiveTypeReferences1.types +++ b/tests/baselines/reference/recursiveTypeReferences1.types @@ -248,7 +248,7 @@ flat([1, [2, 'a']]); // (string | number)[] >'a' : "a" flat([1, ['a']]); // Error ->flat([1, ['a']]) : any +>flat([1, ['a']]) : string[] >flat : (a: RecArray) => T[] >[1, ['a']] : (number | string[])[] >1 : 1 @@ -292,7 +292,7 @@ flat1([1, [2, 'a']]); // (string | number)[] >'a' : "a" flat1([1, ['a']]); // Error ->flat1([1, ['a']]) : any +>flat1([1, ['a']]) : string[] >flat1 : (a: (T | T[])[]) => T[] >[1, ['a']] : (number | string[])[] >1 : 1 @@ -336,7 +336,7 @@ flat2([1, [2, 'a']]); // (string | number)[] >'a' : "a" flat2([1, ['a']]); // Error ->flat2([1, ['a']]) : any +>flat2([1, ['a']]) : string[] >flat2 : (a: (T | (T | T[])[])[]) => T[] >[1, ['a']] : (number | string[])[] >1 : 1 diff --git a/tests/baselines/reference/recursiveTypeRelations.types b/tests/baselines/reference/recursiveTypeRelations.types index 669ab3879c4fc..df02f2668f492 100644 --- a/tests/baselines/reference/recursiveTypeRelations.types +++ b/tests/baselines/reference/recursiveTypeRelations.types @@ -35,12 +35,12 @@ export function css(styles: S, ...classNam >classNames : ClassNameArg[] const args = classNames.map(arg => { ->args : any[] ->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; }, {}); } }) : any[] +>args : string[] +>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) => any +>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 if (arg == null) { @@ -69,7 +69,7 @@ export function css(styles: S, ...classNam >"object" : "object" return Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { ->Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; }, {}) : any +>Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; }, {}) : string >Object.keys(arg).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; } >Object.keys(arg) : string[] >Object.keys : (o: object) => string[] diff --git a/tests/baselines/reference/restTupleElements1.types b/tests/baselines/reference/restTupleElements1.types index 88c98395f21c3..bc2bc2511a608 100644 --- a/tests/baselines/reference/restTupleElements1.types +++ b/tests/baselines/reference/restTupleElements1.types @@ -57,11 +57,11 @@ assign<[...number[]], number[]>(); >assign : () => void assign<[number, ...number[]], number[]>(); // Error ->assign<[number, ...number[]], number[]>() : any +>assign<[number, ...number[]], number[]>() : void >assign : () => void assign<[number, ...number[]], []>(); // Error ->assign<[number, ...number[]], []>() : any +>assign<[number, ...number[]], []>() : void >assign : () => void assign<[number, ...number[]], [number]>(); @@ -77,27 +77,27 @@ assign<[number, ...number[]], [number, number, ...number[]]>(); >assign : () => void assign<[number], [...number[]]>(); // Error ->assign<[number], [...number[]]>() : any +>assign<[number], [...number[]]>() : void >assign : () => void assign<[number], [number, ...number[]]>(); // Error ->assign<[number], [number, ...number[]]>() : any +>assign<[number], [number, ...number[]]>() : void >assign : () => void assign<[number, ...number[]], [number, ...string[]]>(); // Error ->assign<[number, ...number[]], [number, ...string[]]>() : any +>assign<[number, ...number[]], [number, ...string[]]>() : void >assign : () => void assign<[number, ...number[]], [string, ...number[]]>(); // Error ->assign<[number, ...number[]], [string, ...number[]]>() : any +>assign<[number, ...number[]], [string, ...number[]]>() : void >assign : () => void assign<[number, ...number[]], [number, number, string]>(); // Error ->assign<[number, ...number[]], [number, number, string]>() : any +>assign<[number, ...number[]], [number, number, string]>() : void >assign : () => void assign<[number, ...number[]], [number, number, number, string]>(); // Error ->assign<[number, ...number[]], [number, number, number, string]>() : any +>assign<[number, ...number[]], [number, number, number, string]>() : void >assign : () => void type T20 = [number, string, ...boolean[]]; @@ -168,9 +168,9 @@ declare function f0(x: [T, ...U[]]): [T, U]; >x : [T, ...U[]] f0([]); // Error ->f0([]) : any +>f0([]) : [unknown, unknown] >f0 : (x: [T, ...U[]]) => [T, U] ->[] : never[] +>[] : [] f0([1]); >f0([1]) : [number, number] diff --git a/tests/baselines/reference/spreadOverwritesProperty.js b/tests/baselines/reference/spreadOverwritesProperty.js new file mode 100644 index 0000000000000..bf8d28ae73249 --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesProperty.js @@ -0,0 +1,37 @@ +//// [spreadOverwritesProperty.ts] +// without strict null checks, none of these should be an error +declare var ab: { a: number, b: number }; +declare var abq: { a: number, b?: number }; +var unused1 = { b: 1, ...ab } +var unused2 = { ...ab, ...ab } +var unused3 = { b: 1, ...abq } + +function g(obj: { x: number | undefined }) { + return { x: 1, ...obj }; +} +function h(obj: { x: number }) { + return { x: 1, ...obj }; +} + + +//// [spreadOverwritesProperty.js] +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var unused1 = __assign({ b: 1 }, ab); +var unused2 = __assign(__assign({}, ab), ab); +var unused3 = __assign({ b: 1 }, abq); +function g(obj) { + return __assign({ x: 1 }, obj); +} +function h(obj) { + return __assign({ x: 1 }, obj); +} diff --git a/tests/baselines/reference/spreadOverwritesProperty.symbols b/tests/baselines/reference/spreadOverwritesProperty.symbols new file mode 100644 index 0000000000000..414d8c07371bd --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesProperty.symbols @@ -0,0 +1,46 @@ +=== tests/cases/conformance/types/spread/spreadOverwritesProperty.ts === +// without strict null checks, none of these should be an error +declare var ab: { a: number, b: number }; +>ab : Symbol(ab, Decl(spreadOverwritesProperty.ts, 1, 11)) +>a : Symbol(a, Decl(spreadOverwritesProperty.ts, 1, 17)) +>b : Symbol(b, Decl(spreadOverwritesProperty.ts, 1, 28)) + +declare var abq: { a: number, b?: number }; +>abq : Symbol(abq, Decl(spreadOverwritesProperty.ts, 2, 11)) +>a : Symbol(a, Decl(spreadOverwritesProperty.ts, 2, 18)) +>b : Symbol(b, Decl(spreadOverwritesProperty.ts, 2, 29)) + +var unused1 = { b: 1, ...ab } +>unused1 : Symbol(unused1, Decl(spreadOverwritesProperty.ts, 3, 3)) +>b : Symbol(b, Decl(spreadOverwritesProperty.ts, 3, 15)) +>ab : Symbol(ab, Decl(spreadOverwritesProperty.ts, 1, 11)) + +var unused2 = { ...ab, ...ab } +>unused2 : Symbol(unused2, Decl(spreadOverwritesProperty.ts, 4, 3)) +>ab : Symbol(ab, Decl(spreadOverwritesProperty.ts, 1, 11)) +>ab : Symbol(ab, Decl(spreadOverwritesProperty.ts, 1, 11)) + +var unused3 = { b: 1, ...abq } +>unused3 : Symbol(unused3, Decl(spreadOverwritesProperty.ts, 5, 3)) +>b : Symbol(b, Decl(spreadOverwritesProperty.ts, 5, 15)) +>abq : Symbol(abq, Decl(spreadOverwritesProperty.ts, 2, 11)) + +function g(obj: { x: number | undefined }) { +>g : Symbol(g, Decl(spreadOverwritesProperty.ts, 5, 30)) +>obj : Symbol(obj, Decl(spreadOverwritesProperty.ts, 7, 11)) +>x : Symbol(x, Decl(spreadOverwritesProperty.ts, 7, 17)) + + return { x: 1, ...obj }; +>x : Symbol(x, Decl(spreadOverwritesProperty.ts, 8, 12)) +>obj : Symbol(obj, Decl(spreadOverwritesProperty.ts, 7, 11)) +} +function h(obj: { x: number }) { +>h : Symbol(h, Decl(spreadOverwritesProperty.ts, 9, 1)) +>obj : Symbol(obj, Decl(spreadOverwritesProperty.ts, 10, 11)) +>x : Symbol(x, Decl(spreadOverwritesProperty.ts, 10, 17)) + + return { x: 1, ...obj }; +>x : Symbol(x, Decl(spreadOverwritesProperty.ts, 11, 12)) +>obj : Symbol(obj, Decl(spreadOverwritesProperty.ts, 10, 11)) +} + diff --git a/tests/baselines/reference/spreadOverwritesProperty.types b/tests/baselines/reference/spreadOverwritesProperty.types new file mode 100644 index 0000000000000..3118919a5f7ff --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesProperty.types @@ -0,0 +1,55 @@ +=== tests/cases/conformance/types/spread/spreadOverwritesProperty.ts === +// without strict null checks, none of these should be an error +declare var ab: { a: number, b: number }; +>ab : { a: number; b: number; } +>a : number +>b : number + +declare var abq: { a: number, b?: number }; +>abq : { a: number; b?: number; } +>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; }) => { x: number; } +>obj : { x: number; } +>x : number + + return { x: 1, ...obj }; +>{ x: 1, ...obj } : { x: number; } +>x : number +>1 : 1 +>obj : { x: number; } +} +function h(obj: { x: number }) { +>h : (obj: { x: number; }) => { x: number; } +>obj : { x: number; } +>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.errors.txt b/tests/baselines/reference/spreadOverwritesPropertyStrict.errors.txt new file mode 100644 index 0000000000000..4abf968184b6f --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts(3,17): error TS2783: 'b' is specified more than once, so this usage will be overwritten. +tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts(15,14): error TS2783: 'x' is specified more than once, so this usage will be overwritten. + + +==== tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts (2 errors) ==== + declare var ab: { a: number, b: number }; + declare var abq: { a: number, b?: number }; + var unused1 = { b: 1, ...ab } // error + ~~~~ +!!! error TS2783: 'b' is specified more than once, so this usage will be overwritten. + var unused2 = { ...ab, ...ab } // ok, overwritten error doesn't apply to spreads + var unused3 = { b: 1, ...abq } // ok, abq might have b: undefined + var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten + var unused5 = { ...abq, b: 1 } // ok + function g(obj: { x: number | undefined }) { + return { x: 1, ...obj }; // ok, obj might have x: undefined + } + function f(obj: { x: number } | undefined) { + return { x: 1, ...obj }; // ok, obj might be undefined + } + function h(obj: { x: number } | { x: string }) { + return { x: 1, ...obj } // error + ~~~~ +!!! error TS2783: 'x' is specified more than once, so this usage will be overwritten. + } + \ No newline at end of file diff --git a/tests/baselines/reference/spreadOverwritesPropertyStrict.js b/tests/baselines/reference/spreadOverwritesPropertyStrict.js new file mode 100644 index 0000000000000..001f134098404 --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.js @@ -0,0 +1,46 @@ +//// [spreadOverwritesPropertyStrict.ts] +declare var ab: { a: number, b: number }; +declare var abq: { a: number, b?: number }; +var unused1 = { b: 1, ...ab } // error +var unused2 = { ...ab, ...ab } // ok, overwritten error doesn't apply to spreads +var unused3 = { b: 1, ...abq } // ok, abq might have b: undefined +var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten +var unused5 = { ...abq, b: 1 } // ok +function g(obj: { x: number | undefined }) { + return { x: 1, ...obj }; // ok, obj might have x: undefined +} +function f(obj: { x: number } | undefined) { + return { x: 1, ...obj }; // ok, obj might be undefined +} +function h(obj: { x: number } | { x: string }) { + return { x: 1, ...obj } // error +} + + +//// [spreadOverwritesPropertyStrict.js] +"use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var unused1 = __assign({ b: 1 }, ab); // error +var unused2 = __assign(__assign({}, ab), ab); // ok, overwritten error doesn't apply to spreads +var unused3 = __assign({ b: 1 }, abq); // ok, abq might have b: undefined +var unused4 = __assign(__assign({}, ab), { b: 1 }); // ok, we don't care that b in ab is overwritten +var unused5 = __assign(__assign({}, abq), { b: 1 }); // ok +function g(obj) { + return __assign({ x: 1 }, obj); // ok, obj might have x: undefined +} +function f(obj) { + return __assign({ x: 1 }, obj); // ok, obj might be undefined +} +function h(obj) { + return __assign({ x: 1 }, obj); // error +} diff --git a/tests/baselines/reference/spreadOverwritesPropertyStrict.symbols b/tests/baselines/reference/spreadOverwritesPropertyStrict.symbols new file mode 100644 index 0000000000000..02e1e4037519d --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.symbols @@ -0,0 +1,65 @@ +=== tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts === +declare var ab: { a: number, b: number }; +>ab : Symbol(ab, Decl(spreadOverwritesPropertyStrict.ts, 0, 11)) +>a : Symbol(a, Decl(spreadOverwritesPropertyStrict.ts, 0, 17)) +>b : Symbol(b, Decl(spreadOverwritesPropertyStrict.ts, 0, 28)) + +declare var abq: { a: number, b?: number }; +>abq : Symbol(abq, Decl(spreadOverwritesPropertyStrict.ts, 1, 11)) +>a : Symbol(a, Decl(spreadOverwritesPropertyStrict.ts, 1, 18)) +>b : Symbol(b, Decl(spreadOverwritesPropertyStrict.ts, 1, 29)) + +var unused1 = { b: 1, ...ab } // error +>unused1 : Symbol(unused1, Decl(spreadOverwritesPropertyStrict.ts, 2, 3)) +>b : Symbol(b, Decl(spreadOverwritesPropertyStrict.ts, 2, 15)) +>ab : Symbol(ab, Decl(spreadOverwritesPropertyStrict.ts, 0, 11)) + +var unused2 = { ...ab, ...ab } // ok, overwritten error doesn't apply to spreads +>unused2 : Symbol(unused2, Decl(spreadOverwritesPropertyStrict.ts, 3, 3)) +>ab : Symbol(ab, Decl(spreadOverwritesPropertyStrict.ts, 0, 11)) +>ab : Symbol(ab, Decl(spreadOverwritesPropertyStrict.ts, 0, 11)) + +var unused3 = { b: 1, ...abq } // ok, abq might have b: undefined +>unused3 : Symbol(unused3, Decl(spreadOverwritesPropertyStrict.ts, 4, 3)) +>b : Symbol(b, Decl(spreadOverwritesPropertyStrict.ts, 4, 15)) +>abq : Symbol(abq, Decl(spreadOverwritesPropertyStrict.ts, 1, 11)) + +var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten +>unused4 : Symbol(unused4, Decl(spreadOverwritesPropertyStrict.ts, 5, 3)) +>ab : Symbol(ab, Decl(spreadOverwritesPropertyStrict.ts, 0, 11)) +>b : Symbol(b, Decl(spreadOverwritesPropertyStrict.ts, 5, 22)) + +var unused5 = { ...abq, b: 1 } // ok +>unused5 : Symbol(unused5, Decl(spreadOverwritesPropertyStrict.ts, 6, 3)) +>abq : Symbol(abq, Decl(spreadOverwritesPropertyStrict.ts, 1, 11)) +>b : Symbol(b, Decl(spreadOverwritesPropertyStrict.ts, 6, 23)) + +function g(obj: { x: number | undefined }) { +>g : Symbol(g, Decl(spreadOverwritesPropertyStrict.ts, 6, 30)) +>obj : Symbol(obj, Decl(spreadOverwritesPropertyStrict.ts, 7, 11)) +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 7, 17)) + + return { x: 1, ...obj }; // ok, obj might have x: undefined +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 8, 12)) +>obj : Symbol(obj, Decl(spreadOverwritesPropertyStrict.ts, 7, 11)) +} +function f(obj: { x: number } | undefined) { +>f : Symbol(f, Decl(spreadOverwritesPropertyStrict.ts, 9, 1)) +>obj : Symbol(obj, Decl(spreadOverwritesPropertyStrict.ts, 10, 11)) +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 10, 17)) + + return { x: 1, ...obj }; // ok, obj might be undefined +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 11, 12)) +>obj : Symbol(obj, Decl(spreadOverwritesPropertyStrict.ts, 10, 11)) +} +function h(obj: { x: number } | { x: string }) { +>h : Symbol(h, Decl(spreadOverwritesPropertyStrict.ts, 12, 1)) +>obj : Symbol(obj, Decl(spreadOverwritesPropertyStrict.ts, 13, 11)) +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 13, 17)) +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 13, 33)) + + return { x: 1, ...obj } // error +>x : Symbol(x, Decl(spreadOverwritesPropertyStrict.ts, 14, 12)) +>obj : Symbol(obj, Decl(spreadOverwritesPropertyStrict.ts, 13, 11)) +} + diff --git a/tests/baselines/reference/spreadOverwritesPropertyStrict.types b/tests/baselines/reference/spreadOverwritesPropertyStrict.types new file mode 100644 index 0000000000000..55c142da247f5 --- /dev/null +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.types @@ -0,0 +1,80 @@ +=== tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts === +declare var ab: { a: number, b: number }; +>ab : { a: number; b: number; } +>a : number +>b : number + +declare var abq: { a: number, b?: number }; +>abq : { a: number; b?: number | undefined; } +>a : number +>b : number | undefined + +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; } + +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 + +var unused5 = { ...abq, b: 1 } // ok +>unused5 : { b: number; a: number; } +>{ ...abq, b: 1 } : { b: number; a: number; } +>abq : { a: number; b?: number | undefined; } +>b : number +>1 : 1 + +function g(obj: { x: number | undefined }) { +>g : (obj: { x: number | undefined; }) => { x: number | undefined; } +>obj : { x: number | undefined; } +>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; } +>obj : { x: number; } | undefined +>x : number + + 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; } +>obj : { x: number; } | { x: string; } +>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; } +} + diff --git a/tests/baselines/reference/strictBindCallApply1.types b/tests/baselines/reference/strictBindCallApply1.types index 7237c1d3142f4..80db68c3af4da 100644 --- a/tests/baselines/reference/strictBindCallApply1.types +++ b/tests/baselines/reference/strictBindCallApply1.types @@ -44,8 +44,8 @@ let f02 = foo.bind(undefined, 10, "hello"); >"hello" : "hello" let f03 = foo.bind(undefined, 10, 20); // Error ->f03 : any ->foo.bind(undefined, 10, 20) : any +>f03 : () => string +>foo.bind(undefined, 10, 20) : () => string >foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; (this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; } >foo : (a: number, b: string) => string >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; (this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; } @@ -80,8 +80,8 @@ let c00 = foo.call(undefined, 10, "hello"); >"hello" : "hello" let c01 = foo.call(undefined, 10); // Error ->c01 : any ->foo.call(undefined, 10) : any +>c01 : string +>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 @@ -89,8 +89,8 @@ let c01 = foo.call(undefined, 10); // Error >10 : 10 let c02 = foo.call(undefined, 10, 20); // Error ->c02 : any ->foo.call(undefined, 10, 20) : any +>c02 : string +>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 @@ -99,8 +99,8 @@ let c02 = foo.call(undefined, 10, 20); // Error >20 : 20 let c03 = foo.call(undefined, 10, "hello", 30); // Error ->c03 : any ->foo.call(undefined, 10, "hello", 30) : any +>c03 : string +>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 @@ -121,34 +121,34 @@ let a00 = foo.apply(undefined, [10, "hello"]); >"hello" : "hello" let a01 = foo.apply(undefined, [10]); // Error ->a01 : any ->foo.apply(undefined, [10]) : any +>a01 : string +>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[] +>[10] : [number] >10 : 10 let a02 = foo.apply(undefined, [10, 20]); // Error ->a02 : any ->foo.apply(undefined, [10, 20]) : any +>a02 : string +>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[] +>[10, 20] : [number, number] >10 : 10 >20 : 20 let a03 = foo.apply(undefined, [10, "hello", 30]); // Error ->a03 : any ->foo.apply(undefined, [10, "hello", 30]) : any +>a03 : string +>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] : (string | number)[] +>[10, "hello", 30] : [number, string, number] >10 : 10 >"hello" : "hello" >30 : 30 @@ -227,8 +227,8 @@ let f12 = c.foo.bind(c, 10, "hello"); >"hello" : "hello" let f13 = c.foo.bind(c, 10, 20); // Error ->f13 : any ->c.foo.bind(c, 10, 20) : any +>f13 : () => string +>c.foo.bind(c, 10, 20) : () => string >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; (this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C @@ -239,8 +239,8 @@ let f13 = c.foo.bind(c, 10, 20); // Error >20 : 20 let f14 = c.foo.bind(undefined); // Error ->f14 : any ->c.foo.bind(undefined) : any +>f14 : (a: number, b: string) => string +>c.foo.bind(undefined) : (a: number, b: string) => string >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; (this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; (this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C @@ -281,8 +281,8 @@ let c10 = c.foo.call(c, 10, "hello"); >"hello" : "hello" let c11 = c.foo.call(c, 10); // Error ->c11 : any ->c.foo.call(c, 10) : any +>c11 : string +>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 @@ -292,8 +292,8 @@ let c11 = c.foo.call(c, 10); // Error >10 : 10 let c12 = c.foo.call(c, 10, 20); // Error ->c12 : any ->c.foo.call(c, 10, 20) : any +>c12 : string +>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 @@ -304,8 +304,8 @@ let c12 = c.foo.call(c, 10, 20); // Error >20 : 20 let c13 = c.foo.call(c, 10, "hello", 30); // Error ->c13 : any ->c.foo.call(c, 10, "hello", 30) : any +>c13 : string +>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 @@ -317,8 +317,8 @@ let c13 = c.foo.call(c, 10, "hello", 30); // Error >30 : 30 let c14 = c.foo.call(undefined, 10, "hello"); // Error ->c14 : any ->c.foo.call(undefined, 10, "hello") : any +>c14 : string +>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 @@ -342,54 +342,54 @@ let a10 = c.foo.apply(c, [10, "hello"]); >"hello" : "hello" let a11 = c.foo.apply(c, [10]); // Error ->a11 : any ->c.foo.apply(c, [10]) : any +>a11 : string +>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[] +>[10] : [number] >10 : 10 let a12 = c.foo.apply(c, [10, 20]); // Error ->a12 : any ->c.foo.apply(c, [10, 20]) : any +>a12 : string +>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[] +>[10, 20] : [number, number] >10 : 10 >20 : 20 let a13 = c.foo.apply(c, [10, "hello", 30]); // Error ->a13 : any ->c.foo.apply(c, [10, "hello", 30]) : any +>a13 : string +>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] : (string | number)[] +>[10, "hello", 30] : [number, string, number] >10 : 10 >"hello" : "hello" >30 : 30 let a14 = c.foo.apply(undefined, [10, "hello"]); // Error ->a14 : any ->c.foo.apply(undefined, [10, "hello"]) : any +>a14 : string +>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"] : (string | number)[] +>[10, "hello"] : [number, string] >10 : 10 >"hello" : "hello" @@ -421,8 +421,8 @@ let f22 = C.bind(undefined, 10, "hello"); >"hello" : "hello" let f23 = C.bind(undefined, 10, 20); // Error ->f23 : any ->C.bind(undefined, 10, 20) : any +>f23 : new () => C +>C.bind(undefined, 10, 20) : new () => C >C.bind : { (this: T, thisArg: any): T; (this: new (arg0: A0, ...args: A) => R, thisArg: any, arg0: A0): new (...args: A) => R; (this: new (arg0: A0, arg1: A1, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1): new (...args: A) => R; (this: new (arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2): new (...args: A) => R; (this: new (arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2, arg3: A3): new (...args: A) => R; (this: new (...args: AX[]) => R, thisArg: any, ...args: AX[]): new (...args: AX[]) => R; } >C : typeof C >bind : { (this: T, thisArg: any): T; (this: new (arg0: A0, ...args: A) => R, thisArg: any, arg0: A0): new (...args: A) => R; (this: new (arg0: A0, arg1: A1, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1): new (...args: A) => R; (this: new (arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2): new (...args: A) => R; (this: new (arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2, arg3: A3): new (...args: A) => R; (this: new (...args: AX[]) => R, thisArg: any, ...args: AX[]): new (...args: AX[]) => R; } @@ -440,7 +440,7 @@ C.call(c, 10, "hello"); >"hello" : "hello" C.call(c, 10); // Error ->C.call(c, 10) : any +>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 @@ -448,7 +448,7 @@ C.call(c, 10); // Error >10 : 10 C.call(c, 10, 20); // Error ->C.call(c, 10, 20) : any +>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 @@ -457,7 +457,7 @@ C.call(c, 10, 20); // Error >20 : 20 C.call(c, 10, "hello", 30); // Error ->C.call(c, 10, "hello", 30) : any +>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 @@ -477,31 +477,31 @@ C.apply(c, [10, "hello"]); >"hello" : "hello" C.apply(c, [10]); // Error ->C.apply(c, [10]) : any +>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[] +>[10] : [number] >10 : 10 C.apply(c, [10, 20]); // Error ->C.apply(c, [10, 20]) : any +>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[] +>[10, 20] : [number, number] >10 : 10 >20 : 20 C.apply(c, [10, "hello", 30]); // Error ->C.apply(c, [10, "hello", 30]) : any +>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] : (string | number)[] +>[10, "hello", 30] : [number, string, number] >10 : 10 >"hello" : "hello" >30 : 30 diff --git a/tests/baselines/reference/symbolProperty21.types b/tests/baselines/reference/symbolProperty21.types index 7791191833385..5906f52453514 100644 --- a/tests/baselines/reference/symbolProperty21.types +++ b/tests/baselines/reference/symbolProperty21.types @@ -20,9 +20,9 @@ declare function foo(p: I): { t: T; u: U }; >u : U foo({ ->foo({ [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, [Symbol.unscopables]: true}) : any +>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]: boolean; } +>{ [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, [Symbol.unscopables]: true} : { [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: true; } [Symbol.isConcatSpreadable]: "", >[Symbol.isConcatSpreadable] : string @@ -39,7 +39,7 @@ foo({ >0 : 0 [Symbol.unscopables]: true ->[Symbol.unscopables] : boolean +>[Symbol.unscopables] : true >Symbol.unscopables : symbol >Symbol : SymbolConstructor >unscopables : symbol diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt index c678337cfc9f1..efbee889ffb59 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt @@ -1,8 +1,9 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts(62,36): error TS2345: Argument of type '0' is not assignable to parameter of type '""'. +tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts(63,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts(76,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. -==== tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts (2 errors) ==== +==== tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts (3 errors) ==== // Generic tag with one parameter function noParams(n: T) { } noParams ``; @@ -68,6 +69,9 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference ~ !!! error TS2345: Argument of type '0' is not assignable to parameter of type '""'. var a9a: {}; + ~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts:62:5: 'a9a' was also declared here. // Generic tag with multiple parameters of generic type passed arguments with multiple best common types interface A91 { diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types index d538da4402cf1..114b37d1cf2e2 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types @@ -302,8 +302,8 @@ function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { >null : null } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; ->a9a : any ->someGenerics9 `${ '' }${ 0 }${ [] }` : any +>a9a : string +>someGenerics9 `${ '' }${ 0 }${ [] }` : "" >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T >`${ '' }${ 0 }${ [] }` : string >'' : "" @@ -311,7 +311,7 @@ var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; >[] : undefined[] var a9a: {}; ->a9a : any +>a9a : string // Generic tag with multiple parameters of generic type passed arguments with multiple best common types interface A91 { diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt index e03b06d72e027..a8976788ef8ba 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt @@ -1,8 +1,9 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts(62,36): error TS2345: Argument of type '0' is not assignable to parameter of type '""'. +tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts(63,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts(76,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. -==== tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts (2 errors) ==== +==== tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts (3 errors) ==== // Generic tag with one parameter function noParams(n: T) { } noParams ``; @@ -68,6 +69,9 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference ~ !!! error TS2345: Argument of type '0' is not assignable to parameter of type '""'. var a9a: {}; + ~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts:62:5: 'a9a' was also declared here. // Generic tag with multiple parameters of generic type passed arguments with multiple best common types interface A91 { diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types index 0cb787ec4c12d..1953bde609932 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types @@ -302,8 +302,8 @@ function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { >null : null } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; ->a9a : any ->someGenerics9 `${ '' }${ 0 }${ [] }` : any +>a9a : string +>someGenerics9 `${ '' }${ 0 }${ [] }` : "" >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T >`${ '' }${ 0 }${ [] }` : string >'' : "" @@ -311,7 +311,7 @@ var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; >[] : undefined[] var a9a: {}; ->a9a : any +>a9a : string // Generic tag with multiple parameters of generic type passed arguments with multiple best common types interface A91 { diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt index 0634338986850..215e5998a399f 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt @@ -3,10 +3,11 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(22,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(24,25): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(26,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(26,46): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts(28,57): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. -==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts (6 errors) ==== +==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts (7 errors) ==== interface I { (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; @@ -43,6 +44,8 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; ~ !!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. + ~ +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; ~ diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols index e207a8971bb81..fb7117dc6dadb 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.symbols @@ -45,7 +45,9 @@ f `abc`.member >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${1}def${2}ghi`.member; +>f `abc${1}def${2}ghi`.member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc`["member"]; >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) @@ -53,6 +55,7 @@ f `abc`["member"]; f `abc${1}def${2}ghi`["member"]; >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc`[0].member `abc${1}def${2}ghi`; >f `abc`[0].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) @@ -60,7 +63,10 @@ f `abc`[0].member `abc${1}def${2}ghi`; >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; +>f `abc${1}def${2}ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 9, 3)) +>"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; >f `abc${ true }def${ true }ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTags.ts, 3, 9)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types index ef1cb731a2e60..1e0acac274aec 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types @@ -30,7 +30,7 @@ f `abc` >`abc` : "abc" f `abc${1}def${2}ghi`; ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 @@ -44,13 +44,13 @@ f `abc`.member >member : I f `abc${1}def${2}ghi`.member; ->f `abc${1}def${2}ghi`.member : any ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi`.member : I +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 >2 : 2 ->member : any +>member : I f `abc`["member"]; >f `abc`["member"] : I @@ -60,8 +60,8 @@ f `abc`["member"]; >"member" : "member" f `abc${1}def${2}ghi`["member"]; ->f `abc${1}def${2}ghi`["member"] : any ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi`["member"] : I +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 @@ -69,7 +69,7 @@ f `abc${1}def${2}ghi`["member"]; >"member" : "member" f `abc`[0].member `abc${1}def${2}ghi`; ->f `abc`[0].member `abc${1}def${2}ghi` : any +>f `abc`[0].member `abc${1}def${2}ghi` : I >f `abc`[0].member : I >f `abc`[0] : I >f `abc` : I @@ -82,22 +82,22 @@ f `abc`[0].member `abc${1}def${2}ghi`; >2 : 2 f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; ->f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi` : any ->f `abc${1}def${2}ghi`["member"].member : any ->f `abc${1}def${2}ghi`["member"] : any ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi` : I +>f `abc${1}def${2}ghi`["member"].member : I +>f `abc${1}def${2}ghi`["member"] : I +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 >2 : 2 >"member" : "member" ->member : any +>member : I >`abc${1}def${2}ghi` : string >1 : 1 >2 : 2 f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; ->f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi` : any +>f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi` : I >f `abc${ true }def${ true }ghi`["member"].member : I >f `abc${ true }def${ true }ghi`["member"] : I >f `abc${ true }def${ true }ghi` : I diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt index 9d1ee541e4f2b..00d0f276dc9e0 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt @@ -3,10 +3,11 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(22,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(24,25): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(26,9): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(26,46): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts(28,57): error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. -==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts (6 errors) ==== +==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts (7 errors) ==== interface I { (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; @@ -43,6 +44,8 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; ~ !!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. + ~ +!!! error TS2345: Argument of type '1' is not assignable to parameter of type 'boolean'. f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; ~ diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols index 5ec23bae79a3a..bc03851173c03 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.symbols @@ -45,7 +45,9 @@ f `abc`.member >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${1}def${2}ghi`.member; +>f `abc${1}def${2}ghi`.member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc`["member"]; >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) @@ -53,6 +55,7 @@ f `abc`["member"]; f `abc${1}def${2}ghi`["member"]; >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc`[0].member `abc${1}def${2}ghi`; >f `abc`[0].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) @@ -60,7 +63,10 @@ f `abc`[0].member `abc${1}def${2}ghi`; >member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; +>f `abc${1}def${2}ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) >f : Symbol(f, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 9, 3)) +>"member" : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; >f `abc${ true }def${ true }ghi`["member"].member : Symbol(I.member, Decl(taggedTemplateStringsWithIncompatibleTypedTagsES6.ts, 3, 9)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types index 7eca6e57845d0..39993e1367b6f 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types @@ -30,7 +30,7 @@ f `abc` >`abc` : "abc" f `abc${1}def${2}ghi`; ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 @@ -44,13 +44,13 @@ f `abc`.member >member : I f `abc${1}def${2}ghi`.member; ->f `abc${1}def${2}ghi`.member : any ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi`.member : I +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 >2 : 2 ->member : any +>member : I f `abc`["member"]; >f `abc`["member"] : I @@ -60,8 +60,8 @@ f `abc`["member"]; >"member" : "member" f `abc${1}def${2}ghi`["member"]; ->f `abc${1}def${2}ghi`["member"] : any ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi`["member"] : I +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 @@ -69,7 +69,7 @@ f `abc${1}def${2}ghi`["member"]; >"member" : "member" f `abc`[0].member `abc${1}def${2}ghi`; ->f `abc`[0].member `abc${1}def${2}ghi` : any +>f `abc`[0].member `abc${1}def${2}ghi` : I >f `abc`[0].member : I >f `abc`[0] : I >f `abc` : I @@ -82,22 +82,22 @@ f `abc`[0].member `abc${1}def${2}ghi`; >2 : 2 f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi`; ->f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi` : any ->f `abc${1}def${2}ghi`["member"].member : any ->f `abc${1}def${2}ghi`["member"] : any ->f `abc${1}def${2}ghi` : any +>f `abc${1}def${2}ghi`["member"].member `abc${1}def${2}ghi` : I +>f `abc${1}def${2}ghi`["member"].member : I +>f `abc${1}def${2}ghi`["member"] : I +>f `abc${1}def${2}ghi` : I >f : I >`abc${1}def${2}ghi` : string >1 : 1 >2 : 2 >"member" : "member" ->member : any +>member : I >`abc${1}def${2}ghi` : string >1 : 1 >2 : 2 f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi`; ->f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi` : any +>f `abc${ true }def${ true }ghi`["member"].member `abc${ 1 }def${ 2 }ghi` : I >f `abc${ true }def${ true }ghi`["member"].member : I >f `abc${ true }def${ true }ghi`["member"] : I >f `abc${ true }def${ true }ghi` : I diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types index d37fc6e81d5c5..e809c1c274578 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types @@ -29,45 +29,45 @@ function foo(...stuff: any[]): any { } var a = foo([]); // number ->a : any ->foo([]) : any +>a : never +>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[] var b = foo([], 1); // string ->b : any ->foo([], 1) : any +>b : never +>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 var c = foo([], 1, 2); // boolean ->c : any ->foo([], 1, 2) : any +>c : never +>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 >2 : 2 var d = foo([], 1, true); // boolean (with error) ->d : any ->foo([], 1, true) : any +>d : never +>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 >true : true var e = foo([], 1, "2"); // {} ->e : any ->foo([], 1, "2") : any +>e : never +>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 >"2" : "2" var f = foo([], 1, 2, 3); // any (with error) ->f : any ->foo([], 1, 2, 3) : any +>f : never +>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 @@ -96,8 +96,8 @@ var w = foo `${1}${2}`; // boolean >2 : 2 var x = foo `${1}${true}`; // boolean (with error) ->x : any ->foo `${1}${true}` : any +>x : never +>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 @@ -112,8 +112,8 @@ var y = foo `${1}${"2"}`; // {} >"2" : "2" var z = foo `${1}${2}${3}`; // any (with error) ->z : any ->foo `${1}${2}${3}` : any +>z : never +>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 b3b0d9d2aecf5..d9cb80eb05c80 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types @@ -29,45 +29,45 @@ function foo(...stuff: any[]): any { } var a = foo([]); // number ->a : any ->foo([]) : any +>a : never +>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[] var b = foo([], 1); // string ->b : any ->foo([], 1) : any +>b : never +>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 var c = foo([], 1, 2); // boolean ->c : any ->foo([], 1, 2) : any +>c : never +>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 >2 : 2 var d = foo([], 1, true); // boolean (with error) ->d : any ->foo([], 1, true) : any +>d : never +>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 >true : true var e = foo([], 1, "2"); // {} ->e : any ->foo([], 1, "2") : any +>e : never +>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 >"2" : "2" var f = foo([], 1, 2, 3); // any (with error) ->f : any ->foo([], 1, 2, 3) : any +>f : never +>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 @@ -96,8 +96,8 @@ var w = foo `${1}${2}`; // boolean >2 : 2 var x = foo `${1}${true}`; // boolean (with error) ->x : any ->foo `${1}${true}` : any +>x : never +>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 @@ -112,8 +112,8 @@ var y = foo `${1}${"2"}`; // {} >"2" : "2" var z = foo `${1}${2}${3}`; // any (with error) ->z : any ->foo `${1}${2}${3}` : any +>z : never +>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/taggedTemplateStringsWithOverloadResolution3.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types index d4e86cfee6174..138b2a162da61 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types @@ -23,7 +23,7 @@ var s: string = fn1 `${ undefined }`; // No candidate overloads found fn1 `${ {} }`; // Error ->fn1 `${ {} }` : any +>fn1 `${ {} }` : never >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } >`${ {} }` : string >{} : {} @@ -166,7 +166,7 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; // Generic overloads with differing arity tagging with argument count that doesn't match any overload fn3 ``; // Error ->fn3 `` : any +>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; } >`` : "" diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types index ced51d0eb3039..57d82e034ae04 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types @@ -23,7 +23,7 @@ var s: string = fn1 `${ undefined }`; // No candidate overloads found fn1 `${ {} }`; // Error ->fn1 `${ {} }` : any +>fn1 `${ {} }` : never >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } >`${ {} }` : string >{} : {} @@ -166,7 +166,7 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; // Generic overloads with differing arity tagging with argument count that doesn't match any overload fn3 ``; // Error ->fn3 `` : any +>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; } >`` : "" diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.types b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.types index 459c6a48777e0..dd512edab241f 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.types +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions3.types @@ -8,7 +8,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { // Incomplete call, not enough parameters. f `123qdawdrqw${ 1 }${ ->f `123qdawdrqw${ 1 }${ : any +>f `123qdawdrqw${ 1 }${ : void >f : (x: TemplateStringsArray, y: string, z: string) => void >`123qdawdrqw${ 1 }${ : string >1 : 1 diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.types b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.types index 748280c6b6f6b..8fb37587be28d 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.types +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions4.types @@ -8,7 +8,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { // Incomplete call, but too many parameters. f `123qdawdrqw${ 1 }${ }${ ->f `123qdawdrqw${ 1 }${ }${ : any +>f `123qdawdrqw${ 1 }${ }${ : void >f : (x: TemplateStringsArray, y: string, z: string) => void >`123qdawdrqw${ 1 }${ }${ : string >1 : 1 diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.types b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.types index db4ebe00d376c..b83f6fd5770ed 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.types +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions5.types @@ -8,7 +8,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { // Incomplete call, but too many parameters. f `123qdawdrqw${ 1 }${ 2 }${ ->f `123qdawdrqw${ 1 }${ 2 }${ : any +>f `123qdawdrqw${ 1 }${ 2 }${ : void >f : (x: TemplateStringsArray, y: string, z: string) => void >`123qdawdrqw${ 1 }${ 2 }${ : string >1 : 1 diff --git a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.types b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.types index 3f2c09341c7bf..6c73c0e59a093 100644 --- a/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.types +++ b/tests/baselines/reference/taggedTemplatesWithIncompleteTemplateExpressions6.types @@ -8,7 +8,7 @@ function f(x: TemplateStringsArray, y: string, z: string) { // Incomplete call, not enough parameters, at EOF. f `123qdawdrqw${ 1 }${ ->f `123qdawdrqw${ 1 }${ : any +>f `123qdawdrqw${ 1 }${ : void >f : (x: TemplateStringsArray, y: string, z: string) => void >`123qdawdrqw${ 1 }${ : string >1 : 1 diff --git a/tests/baselines/reference/taggedTemplatesWithTypeArguments2.errors.txt b/tests/baselines/reference/taggedTemplatesWithTypeArguments2.errors.txt index 3e451b0b3d7cb..1c64f402c48cc 100644 --- a/tests/baselines/reference/taggedTemplatesWithTypeArguments2.errors.txt +++ b/tests/baselines/reference/taggedTemplatesWithTypeArguments2.errors.txt @@ -1,5 +1,6 @@ tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(13,30): error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(15,11): error TS2347: Untyped function calls may not accept type arguments. +tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(17,11): error TS2347: Untyped function calls may not accept type arguments. tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(17,30): error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(35,5): error TS2377: Constructors for derived classes must contain a 'super' call. tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(36,9): error TS17011: 'super' must be called before accessing a property of 'super' in the constructor of a derived class. @@ -7,7 +8,7 @@ tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(36,14 tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(36,34): error TS1034: 'super' must be followed by an argument list or member access. -==== tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts (7 errors) ==== +==== tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts (8 errors) ==== export interface SomethingTaggable { (t: TemplateStringsArray, ...args: T[]): SomethingNewable; } @@ -29,6 +30,8 @@ tests/cases/conformance/es6/templates/taggedTemplatesWithTypeArguments2.ts(36,34 !!! error TS2347: Untyped function calls may not accept type arguments. const d = new tag `${"hello"} ${"world"}`(100, 200); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2347: Untyped function calls may not accept type arguments. ~~~~~~~ !!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. diff --git a/tests/baselines/reference/taggedTemplatesWithTypeArguments2.types b/tests/baselines/reference/taggedTemplatesWithTypeArguments2.types index bcb1a3c1e269c..c78719846cf72 100644 --- a/tests/baselines/reference/taggedTemplatesWithTypeArguments2.types +++ b/tests/baselines/reference/taggedTemplatesWithTypeArguments2.types @@ -27,7 +27,7 @@ const a = new tag `${100} ${200}`("hello", "world"); const b = new tag `${"hello"} ${"world"}`(100, 200); >b : any >new tag `${"hello"} ${"world"}`(100, 200) : any ->tag `${"hello"} ${"world"}` : any +>tag `${"hello"} ${"world"}` : SomethingNewable >tag : SomethingTaggable >`${"hello"} ${"world"}` : string >"hello" : "hello" @@ -51,7 +51,7 @@ const d = new tag `${"hello"} ${"world"}`(100, 200); >d : any >new tag `${"hello"} ${"world"}`(100, 200) : any >new tag `${"hello"} ${"world"}` : any ->tag `${"hello"} ${"world"}` : any +>tag `${"hello"} ${"world"}` : SomethingNewable >tag : SomethingTaggable >`${"hello"} ${"world"}` : string >"hello" : "hello" diff --git a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types index 0ec0230668dac..2d807f4ec7d33 100644 --- a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types +++ b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types @@ -4,15 +4,15 @@ class C { public foo() { [1,2,3].map((x) => { return this; })} >foo : () => void ->[1,2,3].map((x) => { return this; }) : any +>[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 >2 : 2 >3 : 3 >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] ->(x) => { return this; } : (x: any) => this ->x : any +>(x) => { return this; } : (x: number) => this +>x : number >this : this } diff --git a/tests/baselines/reference/tooManyTypeParameters1.types b/tests/baselines/reference/tooManyTypeParameters1.types index c14b3c2158c8a..4b2f743e4eb70 100644 --- a/tests/baselines/reference/tooManyTypeParameters1.types +++ b/tests/baselines/reference/tooManyTypeParameters1.types @@ -3,7 +3,7 @@ function f() { } >f : () => void f(); ->f() : any +>f() : void >f : () => void var x = () => {}; @@ -11,15 +11,15 @@ var x = () => {}; >() => {} : () => void x(); ->x() : any +>x() : void >x : () => void class C {} >C : C var c = new C(); ->c : any ->new C() : any +>c : C +>new C() : C >C : typeof C interface I {} diff --git a/tests/baselines/reference/tsxElementResolution10.errors.txt b/tests/baselines/reference/tsxElementResolution10.errors.txt index edb0f30d51ea0..3a2802c2ac053 100644 --- a/tests/baselines/reference/tsxElementResolution10.errors.txt +++ b/tests/baselines/reference/tsxElementResolution10.errors.txt @@ -1,8 +1,10 @@ +tests/cases/conformance/jsx/file.tsx(13,1): error TS2605: JSX element type '{ x: number; }' is not a constructor function for JSX elements. + Property 'render' is missing in type '{ x: number; }' but required in type 'ElementClass'. tests/cases/conformance/jsx/file.tsx(13,2): error TS2322: Type '{ x: number; }' is not assignable to type 'string'. tests/cases/conformance/jsx/file.tsx(19,2): error TS2322: Type '{ x: number; render: number; }' is not assignable to type 'string'. -==== tests/cases/conformance/jsx/file.tsx (2 errors) ==== +==== tests/cases/conformance/jsx/file.tsx (3 errors) ==== declare module JSX { interface Element { } interface ElementClass { @@ -16,6 +18,10 @@ tests/cases/conformance/jsx/file.tsx(19,2): error TS2322: Type '{ x: number; ren } var Obj1: Obj1type; ; // Error, no render member + ~~~~~~~~~~~~~~~ +!!! error TS2605: JSX element type '{ x: number; }' is not a constructor function for JSX elements. +!!! error TS2605: Property 'render' is missing in type '{ x: number; }' but required in type 'ElementClass'. +!!! related TS2728 tests/cases/conformance/jsx/file.tsx:4:3: 'render' is declared here. ~~~~ !!! error TS2322: Type '{ x: number; }' is not assignable to type 'string'. diff --git a/tests/baselines/reference/tsxElementResolution9.errors.txt b/tests/baselines/reference/tsxElementResolution9.errors.txt index b332e60e4e6dd..38d4c941335f6 100644 --- a/tests/baselines/reference/tsxElementResolution9.errors.txt +++ b/tests/baselines/reference/tsxElementResolution9.errors.txt @@ -3,11 +3,15 @@ tests/cases/conformance/jsx/file.tsx(11,2): error TS2769: No overload matches th Type '{}' is not assignable to type 'string'. Overload 2 of 2, '(n: number): { y: string; }', gave the following error. Type '{}' is not assignable to type 'number'. +tests/cases/conformance/jsx/file.tsx(18,1): error TS2605: JSX element type '{ x: number; } & { y: string; }' is not a constructor function for JSX elements. + Property 'something' is missing in type '{ x: number; } & { y: string; }' but required in type 'Element'. tests/cases/conformance/jsx/file.tsx(18,2): error TS2769: No overload matches this call. Overload 1 of 2, '(n: string): { x: number; }', gave the following error. Type '{}' is not assignable to type 'string'. Overload 2 of 2, '(n: number): { y: string; }', gave the following error. Type '{}' is not assignable to type 'number'. +tests/cases/conformance/jsx/file.tsx(25,1): error TS2605: JSX element type '{ x: number; } & { x: number; y: string; }' is not a constructor function for JSX elements. + Property 'something' is missing in type '{ x: number; } & { x: number; y: string; }' but required in type 'Element'. tests/cases/conformance/jsx/file.tsx(25,2): error TS2769: No overload matches this call. Overload 1 of 2, '(n: string): { x: number; }', gave the following error. Type '{ x: number; }' is not assignable to type 'string'. @@ -15,7 +19,7 @@ tests/cases/conformance/jsx/file.tsx(25,2): error TS2769: No overload matches th Type '{ x: number; }' is not assignable to type 'number'. -==== tests/cases/conformance/jsx/file.tsx (3 errors) ==== +==== tests/cases/conformance/jsx/file.tsx (5 errors) ==== declare module JSX { interface Element { something; } interface IntrinsicElements { } @@ -40,6 +44,10 @@ tests/cases/conformance/jsx/file.tsx(25,2): error TS2769: No overload matches th } var Obj2: Obj2; ; // Error, return type is not an object type + ~~~~~~~~ +!!! error TS2605: JSX element type '{ x: number; } & { y: string; }' is not a constructor function for JSX elements. +!!! error TS2605: Property 'something' is missing in type '{ x: number; } & { y: string; }' but required in type 'Element'. +!!! related TS2728 tests/cases/conformance/jsx/file.tsx:2:22: 'something' is declared here. ~~~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 2, '(n: string): { x: number; }', gave the following error. @@ -53,6 +61,10 @@ tests/cases/conformance/jsx/file.tsx(25,2): error TS2769: No overload matches th } var Obj3: Obj3; ; // OK + ~~~~~~~~~~~~~~~ +!!! error TS2605: JSX element type '{ x: number; } & { x: number; y: string; }' is not a constructor function for JSX elements. +!!! error TS2605: Property 'something' is missing in type '{ x: number; } & { x: number; y: string; }' but required in type 'Element'. +!!! related TS2728 tests/cases/conformance/jsx/file.tsx:2:22: 'something' is declared here. ~~~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 2, '(n: string): { x: number; }', gave the following error. diff --git a/tests/baselines/reference/tsxGenericArrowFunctionParsing.errors.txt b/tests/baselines/reference/tsxGenericArrowFunctionParsing.errors.txt new file mode 100644 index 0000000000000..9fa3091643322 --- /dev/null +++ b/tests/baselines/reference/tsxGenericArrowFunctionParsing.errors.txt @@ -0,0 +1,39 @@ +tests/cases/conformance/jsx/file.tsx(8,17): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? +tests/cases/conformance/jsx/file.tsx(20,32): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? +tests/cases/conformance/jsx/file.tsx(24,25): error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + + +==== tests/cases/conformance/jsx/file.tsx (3 errors) ==== + declare module JSX { + interface Element { isElement; } + } + + var T: any, T1: any, T2: any; + + // This is an element + var x1 = () => {}; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + x1.isElement; + + // This is a generic function + var x2 = () => {}; + x2(); + + // This is a generic function + var x3 = () => {}; + x3(); + + // This is an element + var x4 = () => {}; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + x4.isElement; + + // This is an element + var x5 = () => {}; + ~ +!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `>`? + x5.isElement; + + \ No newline at end of file diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution10.types b/tests/baselines/reference/tsxSpreadAttributesResolution10.types index cf202fd6588ef..9341e9674d5d3 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution10.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution10.types @@ -42,7 +42,7 @@ let y = ; > : JSX.Element >Opt : typeof Opt >obj : OptionProp ->x : number +>x : 3 >3 : 3 let y1 = ; @@ -57,7 +57,7 @@ let y2 = ; > : JSX.Element >Opt : typeof Opt >obj1 : OptionProp ->x : number +>x : 3 >3 : 3 let y3 = ; diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution12.types b/tests/baselines/reference/tsxSpreadAttributesResolution12.types index e973dbc3dff99..a6197e7d3db69 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution12.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution12.types @@ -78,10 +78,10 @@ let x1 = >OverWriteAttr : typeof OverWriteAttr >overwrite : string >obj1 : { x: 2; } ->x : number +>x : 3 >3 : 3 ->{y: true} : { y: boolean; } ->y : boolean +>{y: true} : { y: true; } +>y : true >true : true let x2 = @@ -98,8 +98,8 @@ let x3 = >OverWriteAttr : typeof OverWriteAttr >overwrite : string >obj1 : { x: 2; } ->{y: true} : { y: boolean; } ->y : boolean +>{y: true} : { y: true; } +>y : true >true : true diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution2.types b/tests/baselines/reference/tsxSpreadAttributesResolution2.types index bccbbcdc7fc73..bd9a3e17c38a3 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution2.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution2.types @@ -63,20 +63,20 @@ let w = ; >w : JSX.Element > : JSX.Element >Poisoned : typeof Poisoned ->{x: 5, y: "2"} : { x: number; y: string; } +>{x: 5, y: "2"} : { x: number; y: "2"; } >x : number >5 : 5 ->y : string +>y : "2" >"2" : "2" let w1 = ; >w1 : JSX.Element > : JSX.Element >Poisoned : typeof Poisoned ->{x: 5, y: "2"} : { x: number; y: string; } +>{x: 5, y: "2"} : { x: number; y: "2"; } >x : number >5 : 5 ->y : string +>y : "2" >"2" : "2" >X : string diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution6.types b/tests/baselines/reference/tsxSpreadAttributesResolution6.types index dc6364b6306da..f8abfc34b2301 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution6.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution6.types @@ -34,7 +34,7 @@ let x = >x : JSX.Element > : JSX.Element >TextComponent : typeof TextComponent ->editable : boolean +>editable : true >true : true const textProps: TextProps = { diff --git a/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.errors.txt b/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.errors.txt index 565485f03b70b..25d62a07fa514 100644 --- a/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.errors.txt +++ b/tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.errors.txt @@ -1,7 +1,8 @@ +tests/cases/compiler/file.tsx(11,1): error TS2605: JSX element type 'string' is not a constructor function for JSX elements. tests/cases/compiler/file.tsx(11,14): error TS2322: Type 'number' is not assignable to type 'string'. -==== tests/cases/compiler/file.tsx (1 errors) ==== +==== tests/cases/compiler/file.tsx (2 errors) ==== declare namespace JSX { interface Element { render(): Element | string | false; @@ -13,6 +14,8 @@ tests/cases/compiler/file.tsx(11,14): error TS2322: Type 'number' is not assigna } prop={1}>; // should error + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2605: JSX element type 'string' is not a constructor function for JSX elements. ~~~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/typeArgInference2WithError.types b/tests/baselines/reference/typeArgInference2WithError.types index 66e2800f7ffb0..e7b3ad5e20d2f 100644 --- a/tests/baselines/reference/typeArgInference2WithError.types +++ b/tests/baselines/reference/typeArgInference2WithError.types @@ -10,8 +10,8 @@ declare function foo(x?: T, y?: T): T; >y : T var z7 = foo("abc", 5); // Error ->z7 : any ->foo("abc", 5) : any +>z7 : Item +>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 f23ae0179b77a..78dae7cbb6dbf 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.types +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.types @@ -32,7 +32,7 @@ function foo2(test: any): any { return null; } >null : null foo2(""); // Type Date does not satisfy the constraint 'Number' for type parameter 'T extends Number' ->foo2("") : any +>foo2("") : Date >foo2 : { (test: T): T; (test: string): T; } >"" : "" diff --git a/tests/baselines/reference/typeArgumentInference.errors.txt b/tests/baselines/reference/typeArgumentInference.errors.txt index fd4bd90771e80..0bd3e2bba4b7d 100644 --- a/tests/baselines/reference/typeArgumentInference.errors.txt +++ b/tests/baselines/reference/typeArgumentInference.errors.txt @@ -1,10 +1,11 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(68,29): error TS2345: Argument of type '0' is not assignable to parameter of type '""'. +tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(69,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(83,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(84,74): error TS2345: Argument of type '{ x: number; y: string; }' is not assignable to parameter of type 'A92'. Object literal may only specify known properties, and 'y' does not exist in type 'A92'. -==== tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts (3 errors) ==== +==== tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts (4 errors) ==== // Generic call with no parameters function noParams() { } noParams(); @@ -76,6 +77,9 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(84,74 ~ !!! error TS2345: Argument of type '0' is not assignable to parameter of type '""'. var a9a: {}; + ~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts:68:5: 'a9a' was also declared here. var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; diff --git a/tests/baselines/reference/typeArgumentInference.types b/tests/baselines/reference/typeArgumentInference.types index 866e413403c61..12fa09f616e21 100644 --- a/tests/baselines/reference/typeArgumentInference.types +++ b/tests/baselines/reference/typeArgumentInference.types @@ -325,15 +325,15 @@ function someGenerics9(a: T, b: T, c: T): T { >null : null } var a9a = someGenerics9('', 0, []); ->a9a : any ->someGenerics9('', 0, []) : any +>a9a : string +>someGenerics9('', 0, []) : "" >someGenerics9 : (a: T, b: T, c: T) => T >'' : "" >0 : 0 >[] : undefined[] var a9a: {}; ->a9a : any +>a9a : string var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >a9b : { a?: number; b?: string; } @@ -390,8 +390,8 @@ var a9e: {}; >a9e : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } var a9f = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); ->a9f : any ->someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }) : any +>a9f : A92 +>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; } @@ -407,7 +407,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' } >'' : "" var a9f: A92; ->a9f : any +>a9f : A92 // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt index 4e13f96325e4f..c94caf60d7556 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt @@ -9,12 +9,13 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct Types of parameters 'n' and 'b' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(106,33): error TS2345: Argument of type '0' is not assignable to parameter of type '""'. +tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(107,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(121,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts(122,74): error TS2345: Argument of type '{ x: number; y: string; }' is not assignable to parameter of type 'A92'. Object literal may only specify known properties, and 'y' does not exist in type 'A92'. -==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts (7 errors) ==== +==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts (8 errors) ==== // Generic call with no parameters interface NoParams { new (); @@ -138,6 +139,9 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct ~ !!! error TS2345: Argument of type '0' is not assignable to parameter of type '""'. var a9a: {}; + ~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts:106:5: 'a9a' was also declared here. var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types index 4192fac513ce5..70ee543c1f772 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types @@ -392,15 +392,15 @@ var someGenerics9: someGenerics9; >someGenerics9 : someGenerics9 var a9a = new someGenerics9('', 0, []); ->a9a : any ->new someGenerics9('', 0, []) : any +>a9a : string +>new someGenerics9('', 0, []) : "" >someGenerics9 : someGenerics9 >'' : "" >0 : 0 >[] : undefined[] var a9a: {}; ->a9a : any +>a9a : string var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >a9b : { a?: number; b?: string; } @@ -456,8 +456,8 @@ var a9e: {}; >a9e : { x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; } var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ->a9f : any ->new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : any +>a9f : A92 +>new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : A92 >someGenerics9 : someGenerics9 >undefined : undefined >{ x: 6, z: window } : { x: number; z: Window & typeof globalThis; } @@ -472,7 +472,7 @@ var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' } >'' : "" var a9f: A92; ->a9f : any +>a9f : A92 // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = new someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); diff --git a/tests/baselines/reference/typeArgumentInferenceErrors.types b/tests/baselines/reference/typeArgumentInferenceErrors.types index a334cbbe66f83..8e90b86a5c920 100644 --- a/tests/baselines/reference/typeArgumentInferenceErrors.types +++ b/tests/baselines/reference/typeArgumentInferenceErrors.types @@ -6,7 +6,7 @@ function someGenerics1(n: T, m: number) { } >m : number someGenerics1(3, 4); // Error ->someGenerics1(3, 4) : any +>someGenerics1(3, 4) : void >someGenerics1 : (n: T, m: number) => void >3 : 3 >4 : 4 @@ -19,7 +19,7 @@ function someGenerics4(n: T, f: (x: U) => void) { } >x : U someGenerics4('', (x: string) => ''); // Error ->someGenerics4('', (x: string) => '') : any +>someGenerics4('', (x: string) => '') : void >someGenerics4 : (n: T, f: (x: U) => void) => void >'' : "" >(x: string) => '' : (x: string) => string @@ -34,7 +34,7 @@ function someGenerics5(n: T, f: (x: U) => void) { } >x : U someGenerics5('', (x: string) => ''); // Error ->someGenerics5('', (x: string) => '') : any +>someGenerics5('', (x: string) => '') : void >someGenerics5 : (n: T, f: (x: U) => void) => void >'' : "" >(x: string) => '' : (x: string) => string @@ -52,7 +52,7 @@ function someGenerics6(a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } >c : A someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // Error ->someGenerics6((n: number) => n, (n: string) => n, (n: number) => n) : any +>someGenerics6((n: number) => n, (n: string) => n, (n: number) => n) : void >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void >(n: number) => n : (n: number) => number >n : number diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.errors.txt index 33e2f2e38c115..6e3097ec51d68 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.errors.txt @@ -1,8 +1,9 @@ tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts(6,5): error TS2345: Argument of type 'typeof (Anonymous class)' is not assignable to parameter of type 'typeof (Anonymous class)'. Property 'prop' is missing in type '(Anonymous class)' but required in type 'foo.(Anonymous class)'. +tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts(6,38): error TS2339: Property 'length' does not exist on type 'unknown'. -==== tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts (1 errors) ==== +==== tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts (2 errors) ==== function foo(x = class { prop: T }): T { return undefined; } @@ -12,4 +13,6 @@ tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpre ~~~~~ !!! error TS2345: Argument of type 'typeof (Anonymous class)' is not assignable to parameter of type 'typeof (Anonymous class)'. !!! error TS2345: Property 'prop' is missing in type '(Anonymous class)' but required in type 'foo.(Anonymous class)'. -!!! related TS2728 tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts:1:29: 'prop' is declared here. \ No newline at end of file +!!! related TS2728 tests/cases/conformance/es6/classExpressions/typeArgumentInferenceWithClassExpression2.ts:1:29: 'prop' is declared here. + ~~~~~~ +!!! error TS2339: Property 'length' does not exist on type 'unknown'. \ No newline at end of file diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types index 413cc6462333e..a30d02f2801a1 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types @@ -12,7 +12,7 @@ function foo(x = class { prop: T }): T { // Should not infer string because it is a static property foo(class { static prop = "hello" }).length; >foo(class { static prop = "hello" }).length : any ->foo(class { static prop = "hello" }) : any +>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/typeArgumentInferenceWithConstraintAsCommonRoot.types b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types index 4eb209cd1c090..e22a0566c0733 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types @@ -21,7 +21,7 @@ var e: Elephant; >e : Elephant f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is Animal ->f(g, e) : any +>f(g, e) : Giraffe >f : (x: T, y: T) => T >g : Giraffe >e : Elephant diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt index 6884dc6638b52..331940dbcf4a3 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt @@ -14,13 +14,16 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst Types of parameters 'n' and 'b' are incompatible. Type 'number' is not assignable to type 'string'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(66,31): error TS2345: Argument of type '(a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void' is not assignable to parameter of type 'string'. +tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(67,1): error TS2349: This expression is not callable. + Type 'String' has no call signatures. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(73,29): error TS2345: Argument of type '0' is not assignable to parameter of type '""'. +tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(74,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(88,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts(89,70): error TS2345: Argument of type '{ x: number; y: string; }' is not assignable to parameter of type 'A92'. Object literal may only specify known properties, and 'y' does not exist in type 'A92'. -==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts (13 errors) ==== +==== tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts (15 errors) ==== // Generic call with no parameters function noParams() { } noParams(); @@ -115,6 +118,9 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void' is not assignable to parameter of type 'string'. x(null, null, null); // Error + ~ +!!! error TS2349: This expression is not callable. +!!! error TS2349: Type 'String' has no call signatures. // Generic call with multiple parameters of generic type passed arguments with no best common type function someGenerics9(a: T, b: T, c: T): T { @@ -124,6 +130,9 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst ~ !!! error TS2345: Argument of type '0' is not assignable to parameter of type '""'. var a9a: {}; + ~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9a' must be of type 'string', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts:73:5: 'a9a' was also declared here. var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.types b/tests/baselines/reference/typeArgumentInferenceWithConstraints.types index 6549f3ba3d85f..acc4bca0a2712 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.types @@ -31,7 +31,7 @@ noGenericParams(''); >'' : "" noGenericParams<{}>(''); // Error ->noGenericParams<{}>('') : any +>noGenericParams<{}>('') : void >noGenericParams : (n: string) => void >'' : "" @@ -48,13 +48,13 @@ someGenerics1(3, 4); // Valid >4 : 4 someGenerics1(3, 4); // Error ->someGenerics1(3, 4) : any +>someGenerics1(3, 4) : void >someGenerics1 : (n: T, m: number) => void >3 : 3 >4 : 4 someGenerics1(3, 4); // Error ->someGenerics1(3, 4) : any +>someGenerics1(3, 4) : void >someGenerics1 : (n: T, m: number) => void >3 : 3 >4 : 4 @@ -138,7 +138,7 @@ function someGenerics3(producer: () => T) { } >producer : () => T someGenerics3(() => ''); // Error ->someGenerics3(() => '') : any +>someGenerics3(() => '') : void >someGenerics3 : (producer: () => T) => void >() => '' : () => string >'' : "" @@ -150,7 +150,7 @@ someGenerics3(() => undefined); >undefined : undefined someGenerics3(() => 3); // Error ->someGenerics3(() => 3) : any +>someGenerics3(() => 3) : void >someGenerics3 : (producer: () => T) => void >() => 3 : () => number >3 : 3 @@ -177,7 +177,7 @@ someGenerics4('', () => 3); >3 : 3 someGenerics4('', (x: string) => ''); // Error ->someGenerics4('', (x: string) => '') : any +>someGenerics4('', (x: string) => '') : void >someGenerics4 : (n: T, f: (x: U) => void) => void >'' : "" >(x: string) => '' : (x: string) => string @@ -212,7 +212,7 @@ someGenerics5('', () => 3); >3 : 3 someGenerics5('', (x: string) => ''); // Error ->someGenerics5('', (x: string) => '') : any +>someGenerics5('', (x: string) => '') : void >someGenerics5 : (n: T, f: (x: U) => void) => void >'' : "" >(x: string) => '' : (x: string) => string @@ -220,7 +220,7 @@ someGenerics5('', (x: string) => ''); // Error >'' : "" someGenerics5(null, null); // Error ->someGenerics5(null, null) : any +>someGenerics5(null, null) : void >someGenerics5 : (n: T, f: (x: U) => void) => void >null : null >null : null @@ -262,7 +262,7 @@ someGenerics6(n => n, n => n, n => n); >n : number someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // Error ->someGenerics6((n: number) => n, (n: string) => n, (n: number) => n) : any +>someGenerics6((n: number) => n, (n: string) => n, (n: number) => n) : void >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void >(n: number) => n : (n: number) => number >n : number @@ -343,14 +343,14 @@ function someGenerics8(n: T): T { return n; } >n : T var x = someGenerics8(someGenerics7); // Error ->x : any ->someGenerics8(someGenerics7) : any +>x : string +>someGenerics8(someGenerics7) : string >someGenerics8 : (n: T) => T >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void x(null, null, null); // Error >x(null, null, null) : any ->x : any +>x : string >null : null >null : null >null : null @@ -366,15 +366,15 @@ function someGenerics9(a: T, b: T, c: T): T { >null : null } var a9a = someGenerics9('', 0, []); ->a9a : any ->someGenerics9('', 0, []) : any +>a9a : string +>someGenerics9('', 0, []) : "" >someGenerics9 : (a: T, b: T, c: T) => T >'' : "" >0 : 0 >[] : undefined[] var a9a: {}; ->a9a : any +>a9a : string var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >a9b : { a?: number; b?: string; } @@ -430,8 +430,8 @@ var a9e: {}; >a9e : { x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; } var a9f = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ->a9f : any ->someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : any +>a9f : A92 +>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; } @@ -446,7 +446,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >'' : "" var a9f: A92; ->a9f : any +>a9f : A92 // Generic call with multiple parameters of generic type passed arguments with a single best common type var a9d = someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); diff --git a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types index 380e1eb686b18..468a9d2182f15 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types +++ b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types @@ -144,8 +144,8 @@ var v2 = f1({ w: x => x, r: () => E1.X }, E1.X); >X : E1 var v3 = f1({ w: x => x, r: () => E1.X }, E2.X); // Error ->v3 : any ->f1({ w: x => x, r: () => E1.X }, E2.X) : any +>v3 : unknown +>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/typeArgumentsWithStringLiteralTypes01.errors.txt b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt index fa9231635e435..ccef9264b10d2 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.errors.txt @@ -12,23 +12,41 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(56,52): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(57,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(60,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(61,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(62,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(63,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(64,5): error TS2322: Type 'string' is not assignable to type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(74,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(75,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(76,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(77,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(78,5): error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(86,43): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(87,43): error TS2345: Argument of type '"Hello"' is not assignable to parameter of type '"World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(88,52): error TS2345: Argument of type '"World"' is not assignable to parameter of type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(92,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(93,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(94,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(95,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(96,5): error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(99,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(100,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(101,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. +tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(102,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. + Type '"World"' is not assignable to type '"Hello"'. tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts(103,25): error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. Type '"World"' is not assignable to type '"Hello"'. -==== tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts (24 errors) ==== +==== tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes01.ts (36 errors) ==== declare function randBool(): boolean; declare function takeReturnString(str: string): string; declare function takeReturnHello(str: "Hello"): "Hello"; @@ -118,11 +136,17 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 ~ !!! error TS2322: Type 'string' is not assignable to type '"Hello"'. b = takeReturnString(b); + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. c = takeReturnString(c); ~ !!! error TS2322: Type 'string' is not assignable to type '"Hello"'. d = takeReturnString(d); + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. e = takeReturnString(e); + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello"'. // Should be valid a = takeReturnHello(a); @@ -137,12 +161,21 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 !!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. !!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. b = takeReturnHelloWorld(b); + ~ +!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. +!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. c = takeReturnHelloWorld(c); ~ !!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. !!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. d = takeReturnHelloWorld(d); + ~ +!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. +!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. e = takeReturnHelloWorld(e); + ~ +!!! error TS2322: Type '"Hello" | "World"' is not assignable to type '"Hello"'. +!!! error TS2322: Type '"World"' is not assignable to type '"Hello"'. } @@ -166,8 +199,14 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 ~ !!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. b = takeReturnString(b); + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. c = takeReturnString(c); + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. d = takeReturnString(d); + ~ +!!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. e = takeReturnString(e); ~ !!! error TS2322: Type 'string' is not assignable to type '"Hello" | "World"'. @@ -178,8 +217,17 @@ tests/cases/conformance/types/stringLiteral/typeArgumentsWithStringLiteralTypes0 !!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. !!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. b = takeReturnHello(b); + ~ +!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. c = takeReturnHello(c); + ~ +!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. d = takeReturnHello(d); + ~ +!!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. +!!! error TS2345: Type '"World"' is not assignable to type '"Hello"'. e = takeReturnHello(e); ~ !!! error TS2345: Argument of type '"Hello" | "World"' is not assignable to parameter of type '"Hello"'. diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js index 0e59e208b810f..d011a9db44237 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.js @@ -229,15 +229,15 @@ declare namespace n1 { } declare namespace n2 { let a: "Hello"; - let b: any; + let b: "Hello"; let c: "Hello"; - let d: any; - let e: any; + let d: "Hello"; + let e: "Hello"; } declare namespace n3 { let a: "Hello" | "World"; - let b: any; - let c: any; - let d: any; + let b: "Hello" | "World"; + let c: "Hello" | "World"; + let d: "Hello" | "World"; let e: "Hello" | "World"; } diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types index 7812e98aa16f9..f97d6c3abd2b8 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types @@ -133,35 +133,35 @@ namespace n1 { // Passing these as arguments should cause an error. a = takeReturnHello(a); ->a = takeReturnHello(a) : any +>a = takeReturnHello(a) : "Hello" >a : string >takeReturnHello(a) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" >a : string b = takeReturnHello(b); ->b = takeReturnHello(b) : any +>b = takeReturnHello(b) : "Hello" >b : string >takeReturnHello(b) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" >b : string c = takeReturnHello(c); ->c = takeReturnHello(c) : any +>c = takeReturnHello(c) : "Hello" >c : string >takeReturnHello(c) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" >c : string d = takeReturnHello(d); ->d = takeReturnHello(d) : any +>d = takeReturnHello(d) : "Hello" >d : string >takeReturnHello(d) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" >d : string e = takeReturnHello(e); ->e = takeReturnHello(e) : any +>e = takeReturnHello(e) : "Hello" >e : string >takeReturnHello(e) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" @@ -169,35 +169,35 @@ namespace n1 { // Passing these as arguments should cause an error. a = takeReturnHelloWorld(a); ->a = takeReturnHelloWorld(a) : any +>a = takeReturnHelloWorld(a) : "Hello" | "World" >a : string >takeReturnHelloWorld(a) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" >a : string b = takeReturnHelloWorld(b); ->b = takeReturnHelloWorld(b) : any +>b = takeReturnHelloWorld(b) : "Hello" | "World" >b : string >takeReturnHelloWorld(b) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" >b : string c = takeReturnHelloWorld(c); ->c = takeReturnHelloWorld(c) : any +>c = takeReturnHelloWorld(c) : "Hello" | "World" >c : string >takeReturnHelloWorld(c) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" >c : string d = takeReturnHelloWorld(d); ->d = takeReturnHelloWorld(d) : any +>d = takeReturnHelloWorld(d) : "Hello" | "World" >d : string >takeReturnHelloWorld(d) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" >d : string e = takeReturnHelloWorld(e); ->e = takeReturnHelloWorld(e) : any +>e = takeReturnHelloWorld(e) : "Hello" | "World" >e : string >takeReturnHelloWorld(e) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" @@ -217,8 +217,8 @@ namespace n2 { >"Hello" : "Hello" export let b = fun1<"Hello">("Hello", "World"); ->b : any ->fun1<"Hello">("Hello", "World") : any +>b : "Hello" +>fun1<"Hello">("Hello", "World") : "Hello" >fun1 : (x: T, y: T) => T >"Hello" : "Hello" >"World" : "World" @@ -231,15 +231,15 @@ namespace n2 { >"Hello" : "Hello" export let d = fun2<"Hello", "Hello">("Hello", "World"); ->d : any ->fun2<"Hello", "Hello">("Hello", "World") : any +>d : "Hello" +>fun2<"Hello", "Hello">("Hello", "World") : "Hello" >fun2 : (x: T, y: U) => T | U >"Hello" : "Hello" >"World" : "World" export let e = fun3<"Hello">("Hello", "World"); ->e : any ->fun3<"Hello">("Hello", "World") : any +>e : "Hello" +>fun3<"Hello">("Hello", "World") : "Hello" >fun3 : (...args: T[]) => T >"Hello" : "Hello" >"World" : "World" @@ -254,10 +254,10 @@ namespace n2 { b = takeReturnString(b); >b = takeReturnString(b) : string ->b : any +>b : "Hello" >takeReturnString(b) : string >takeReturnString : (str: string) => string ->b : any +>b : "Hello" c = takeReturnString(c); >c = takeReturnString(c) : string @@ -268,17 +268,17 @@ namespace n2 { d = takeReturnString(d); >d = takeReturnString(d) : string ->d : any +>d : "Hello" >takeReturnString(d) : string >takeReturnString : (str: string) => string ->d : any +>d : "Hello" e = takeReturnString(e); >e = takeReturnString(e) : string ->e : any +>e : "Hello" >takeReturnString(e) : string >takeReturnString : (str: string) => string ->e : any +>e : "Hello" // Should be valid a = takeReturnHello(a); @@ -290,10 +290,10 @@ namespace n2 { b = takeReturnHello(b); >b = takeReturnHello(b) : "Hello" ->b : any +>b : "Hello" >takeReturnHello(b) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" ->b : any +>b : "Hello" c = takeReturnHello(c); >c = takeReturnHello(c) : "Hello" @@ -304,17 +304,17 @@ namespace n2 { d = takeReturnHello(d); >d = takeReturnHello(d) : "Hello" ->d : any +>d : "Hello" >takeReturnHello(d) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" ->d : any +>d : "Hello" e = takeReturnHello(e); >e = takeReturnHello(e) : "Hello" ->e : any +>e : "Hello" >takeReturnHello(e) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" ->e : any +>e : "Hello" // Assignment from the returned value should cause an error. a = takeReturnHelloWorld(a); @@ -326,10 +326,10 @@ namespace n2 { b = takeReturnHelloWorld(b); >b = takeReturnHelloWorld(b) : "Hello" | "World" ->b : any +>b : "Hello" >takeReturnHelloWorld(b) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" ->b : any +>b : "Hello" c = takeReturnHelloWorld(c); >c = takeReturnHelloWorld(c) : "Hello" | "World" @@ -340,17 +340,17 @@ namespace n2 { d = takeReturnHelloWorld(d); >d = takeReturnHelloWorld(d) : "Hello" | "World" ->d : any +>d : "Hello" >takeReturnHelloWorld(d) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" ->d : any +>d : "Hello" e = takeReturnHelloWorld(e); >e = takeReturnHelloWorld(e) : "Hello" | "World" ->e : any +>e : "Hello" >takeReturnHelloWorld(e) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" ->e : any +>e : "Hello" } @@ -367,22 +367,22 @@ namespace n3 { >"World" : "World" export let b = fun2<"Hello", "World">("World", "Hello"); ->b : any ->fun2<"Hello", "World">("World", "Hello") : any +>b : "Hello" | "World" +>fun2<"Hello", "World">("World", "Hello") : "Hello" | "World" >fun2 : (x: T, y: U) => T | U >"World" : "World" >"Hello" : "Hello" export let c = fun2<"World", "Hello">("Hello", "Hello"); ->c : any ->fun2<"World", "Hello">("Hello", "Hello") : any +>c : "Hello" | "World" +>fun2<"World", "Hello">("Hello", "Hello") : "Hello" | "World" >fun2 : (x: T, y: U) => T | U >"Hello" : "Hello" >"Hello" : "Hello" export let d = fun2<"World", "Hello">("World", "World"); ->d : any ->fun2<"World", "Hello">("World", "World") : any +>d : "Hello" | "World" +>fun2<"World", "Hello">("World", "World") : "Hello" | "World" >fun2 : (x: T, y: U) => T | U >"World" : "World" >"World" : "World" @@ -404,24 +404,24 @@ namespace n3 { b = takeReturnString(b); >b = takeReturnString(b) : string ->b : any +>b : "Hello" | "World" >takeReturnString(b) : string >takeReturnString : (str: string) => string ->b : any +>b : "Hello" | "World" c = takeReturnString(c); >c = takeReturnString(c) : string ->c : any +>c : "Hello" | "World" >takeReturnString(c) : string >takeReturnString : (str: string) => string ->c : any +>c : "Hello" | "World" d = takeReturnString(d); >d = takeReturnString(d) : string ->d : any +>d : "Hello" | "World" >takeReturnString(d) : string >takeReturnString : (str: string) => string ->d : any +>d : "Hello" | "World" e = takeReturnString(e); >e = takeReturnString(e) : string @@ -432,7 +432,7 @@ namespace n3 { // Passing these as arguments should cause an error. a = takeReturnHello(a); ->a = takeReturnHello(a) : any +>a = takeReturnHello(a) : "Hello" >a : "Hello" | "World" >takeReturnHello(a) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" @@ -440,27 +440,27 @@ namespace n3 { b = takeReturnHello(b); >b = takeReturnHello(b) : "Hello" ->b : any +>b : "Hello" | "World" >takeReturnHello(b) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" ->b : any +>b : "Hello" | "World" c = takeReturnHello(c); >c = takeReturnHello(c) : "Hello" ->c : any +>c : "Hello" | "World" >takeReturnHello(c) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" ->c : any +>c : "Hello" | "World" d = takeReturnHello(d); >d = takeReturnHello(d) : "Hello" ->d : any +>d : "Hello" | "World" >takeReturnHello(d) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" ->d : any +>d : "Hello" | "World" e = takeReturnHello(e); ->e = takeReturnHello(e) : any +>e = takeReturnHello(e) : "Hello" >e : "Hello" | "World" >takeReturnHello(e) : "Hello" >takeReturnHello : (str: "Hello") => "Hello" @@ -476,24 +476,24 @@ namespace n3 { b = takeReturnHelloWorld(b); >b = takeReturnHelloWorld(b) : "Hello" | "World" ->b : any +>b : "Hello" | "World" >takeReturnHelloWorld(b) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" ->b : any +>b : "Hello" c = takeReturnHelloWorld(c); >c = takeReturnHelloWorld(c) : "Hello" | "World" ->c : any +>c : "Hello" | "World" >takeReturnHelloWorld(c) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" ->c : any +>c : "Hello" d = takeReturnHelloWorld(d); >d = takeReturnHelloWorld(d) : "Hello" | "World" ->d : any +>d : "Hello" | "World" >takeReturnHelloWorld(d) : "Hello" | "World" >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" ->d : any +>d : "Hello" e = takeReturnHelloWorld(e); >e = takeReturnHelloWorld(e) : "Hello" | "World" diff --git a/tests/baselines/reference/typeAssertionToGenericFunctionType.types b/tests/baselines/reference/typeAssertionToGenericFunctionType.types index 6bf02c87e9aab..718660a59301a 100644 --- a/tests/baselines/reference/typeAssertionToGenericFunctionType.types +++ b/tests/baselines/reference/typeAssertionToGenericFunctionType.types @@ -19,14 +19,14 @@ var x = { >x : T } x.a(1); // bug was that this caused 'Could not find symbol T' on return type T in the type assertion on x.a's definition ->x.a(1) : any +>x.a(1) : string >x.a : (x: T) => T >x : { a: (x: T) => T; b: (x: T) => void; } >a : (x: T) => T >1 : 1 x.b(); // error ->x.b() : any +>x.b() : void >x.b : (x: T) => void >x : { a: (x: T) => T; b: (x: T) => void; } >b : (x: T) => void diff --git a/tests/baselines/reference/typeInferenceConflictingCandidates.types b/tests/baselines/reference/typeInferenceConflictingCandidates.types index dea7c49732042..27044d6e1d8b1 100644 --- a/tests/baselines/reference/typeInferenceConflictingCandidates.types +++ b/tests/baselines/reference/typeInferenceConflictingCandidates.types @@ -7,11 +7,11 @@ declare function g(a: T, b: T, c: (t: T) => T): T; >t : T g("", 3, a => a); ->g("", 3, a => a) : any +>g("", 3, a => a) : "" >g : (a: T, b: T, c: (t: T) => T) => T >"" : "" >3 : 3 ->a => a : (a: any) => any ->a : any ->a : any +>a => a : (a: "") => "" +>a : "" +>a : "" diff --git a/tests/baselines/reference/typeOfOnTypeArg.types b/tests/baselines/reference/typeOfOnTypeArg.types index de3202e49724c..d2575b3164a96 100644 --- a/tests/baselines/reference/typeOfOnTypeArg.types +++ b/tests/baselines/reference/typeOfOnTypeArg.types @@ -13,7 +13,7 @@ function fill(f: B) { } fill(32); ->fill(32) : any +>fill(32) : void >fill : (f: B) => void >32 : 32 diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types index b93b43c454eb2..9dafa8925f0b1 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types @@ -9,13 +9,13 @@ function foo(x: T, y: U): U { return y; } // this is now an erro >y : U foo(1, ''); ->foo(1, '') : any +>foo(1, '') : number >foo : (x: T, y: U) => U >1 : 1 >'' : "" foo(1, {}); ->foo(1, {}) : any +>foo(1, {}) : number >foo : (x: T, y: U) => U >1 : 1 >{} : {} @@ -28,8 +28,8 @@ var n: NumberVariant; >n : NumberVariant var r3 = foo(1, n); ->r3 : any ->foo(1, n) : any +>r3 : number +>foo(1, n) : number >foo : (x: T, y: U) => U >1 : 1 >n : NumberVariant @@ -42,7 +42,7 @@ function foo2(x: T, y: U) { return y; } // this is n >y : U foo2(1, { length: '' }); ->foo2(1, { length: '' }) : any +>foo2(1, { length: '' }) : { length: number; } >foo2 : (x: T, y: U) => U >1 : 1 >{ length: '' } : { length: string; } @@ -50,7 +50,7 @@ foo2(1, { length: '' }); >'' : "" foo2(1, { length: {} }); ->foo2(1, { length: {} }) : any +>foo2(1, { length: {} }) : { length: number; } >foo2 : (x: T, y: U) => U >1 : 1 >{ length: {} } : { length: {}; } @@ -58,7 +58,7 @@ foo2(1, { length: {} }); >{} : {} foo2([], ['']); ->foo2([], ['']) : any +>foo2([], ['']) : { length: any[]; } >foo2 : (x: T, y: U) => U >[] : undefined[] >[''] : string[] diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types index 84269305da341..9e255a470574e 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types @@ -24,8 +24,8 @@ var a: A, b: B; >b : B var d = f(a, b, x => x, x => x); // A => A not assignable to A => B ->d : any ->f(a, b, x => x, x => x) : any +>d : [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 9b71839c4fcc8..1eaee8388807f 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types @@ -24,8 +24,8 @@ var a: A, b: B; >b : B var d = f(a, b, u2 => u2.b, t2 => t2); ->d : any ->f(a, b, u2 => u2.b, t2 => t2) : any +>d : [A, B] +>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/typesWithPublicConstructor.errors.txt b/tests/baselines/reference/typesWithPublicConstructor.errors.txt index 9aa44dea89da5..b62ccf63b9d45 100644 --- a/tests/baselines/reference/typesWithPublicConstructor.errors.txt +++ b/tests/baselines/reference/typesWithPublicConstructor.errors.txt @@ -1,9 +1,11 @@ tests/cases/conformance/types/members/typesWithPublicConstructor.ts(8,5): error TS2322: Type 'Function' is not assignable to type '() => void'. Type 'Function' provides no match for the signature '(): void'. tests/cases/conformance/types/members/typesWithPublicConstructor.ts(15,10): error TS2554: Expected 1 arguments, but got 0. +tests/cases/conformance/types/members/typesWithPublicConstructor.ts(16,5): error TS2322: Type 'Function' is not assignable to type '(x: number) => void'. + Type 'Function' provides no match for the signature '(x: number): void'. -==== tests/cases/conformance/types/members/typesWithPublicConstructor.ts (2 errors) ==== +==== tests/cases/conformance/types/members/typesWithPublicConstructor.ts (3 errors) ==== // public is allowed on a constructor but is not meaningful class C { @@ -25,4 +27,7 @@ tests/cases/conformance/types/members/typesWithPublicConstructor.ts(15,10): erro ~~~~~~~~ !!! error TS2554: Expected 1 arguments, but got 0. !!! related TS6210 tests/cases/conformance/types/members/typesWithPublicConstructor.ts:11:24: An argument for 'x' was not provided. - var r2: (x: number) => void = c2.constructor; \ No newline at end of file + var r2: (x: number) => void = c2.constructor; + ~~ +!!! error TS2322: Type 'Function' is not assignable to type '(x: number) => void'. +!!! error TS2322: Type 'Function' provides no match for the signature '(x: number): void'. \ No newline at end of file diff --git a/tests/baselines/reference/typesWithPublicConstructor.symbols b/tests/baselines/reference/typesWithPublicConstructor.symbols index eb284064f7b07..b429e86d1732a 100644 --- a/tests/baselines/reference/typesWithPublicConstructor.symbols +++ b/tests/baselines/reference/typesWithPublicConstructor.symbols @@ -34,5 +34,7 @@ var c2 = new C2(); var r2: (x: number) => void = c2.constructor; >r2 : Symbol(r2, Decl(typesWithPublicConstructor.ts, 15, 3)) >x : Symbol(x, Decl(typesWithPublicConstructor.ts, 15, 9)) +>c2.constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) >c2 : Symbol(c2, Decl(typesWithPublicConstructor.ts, 14, 3)) +>constructor : Symbol(Object.constructor, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/typesWithPublicConstructor.types b/tests/baselines/reference/typesWithPublicConstructor.types index 74a8e5065ad71..bb08dbdabace1 100644 --- a/tests/baselines/reference/typesWithPublicConstructor.types +++ b/tests/baselines/reference/typesWithPublicConstructor.types @@ -29,14 +29,14 @@ class C2 { } var c2 = new C2(); ->c2 : any ->new C2() : any +>c2 : C2 +>new C2() : C2 >C2 : typeof C2 var r2: (x: number) => void = c2.constructor; >r2 : (x: number) => void >x : number ->c2.constructor : any ->c2 : any ->constructor : any +>c2.constructor : Function +>c2 : C2 +>constructor : Function diff --git a/tests/baselines/reference/undeclaredModuleError.errors.txt b/tests/baselines/reference/undeclaredModuleError.errors.txt index 4a8248bfd6c96..4d18d7e78cd0e 100644 --- a/tests/baselines/reference/undeclaredModuleError.errors.txt +++ b/tests/baselines/reference/undeclaredModuleError.errors.txt @@ -1,10 +1,9 @@ tests/cases/compiler/undeclaredModuleError.ts(1,21): error TS2307: Cannot find module 'fs'. tests/cases/compiler/undeclaredModuleError.ts(8,29): error TS2345: Argument of type '() => void' is not assignable to parameter of type '(stat: any, name: string) => boolean'. Type 'void' is not assignable to type 'boolean'. -tests/cases/compiler/undeclaredModuleError.ts(11,41): error TS2304: Cannot find name 'IDoNotExist'. -==== tests/cases/compiler/undeclaredModuleError.ts (3 errors) ==== +==== tests/cases/compiler/undeclaredModuleError.ts (2 errors) ==== import fs = require('fs'); ~~~~ !!! error TS2307: Cannot find module 'fs'. @@ -21,8 +20,6 @@ tests/cases/compiler/undeclaredModuleError.ts(11,41): error TS2304: Cannot find } , (error: Error, files: {}[]) => { files.forEach((file) => { var fullPath = join(IDoNotExist); - ~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'IDoNotExist'. } ); } ); } ); diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index 5a210c8b2140b..27b7ed5cc19d3 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -231,11 +231,11 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >0 : 0 _.all([true, 1, null, 'yes'], _.identity); ->_.all([true, 1, null, 'yes'], _.identity) : any +>_.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 | boolean)[] +>[true, 1, null, 'yes'] : (string | number | true)[] >true : true >1 : 1 >null : null diff --git a/tests/baselines/reference/unionThisTypeInFunctions.types b/tests/baselines/reference/unionThisTypeInFunctions.types index af987759a55e9..04667259c2c0a 100644 --- a/tests/baselines/reference/unionThisTypeInFunctions.types +++ b/tests/baselines/reference/unionThisTypeInFunctions.types @@ -22,7 +22,7 @@ function test(r: Real | Fake) { >r : Real | Fake r.method(12); // error ->r.method(12) : any +>r.method(12) : void >r.method : ((this: Real, n: number) => void) | ((this: Fake, n: number) => void) >r : Real | Fake >method : ((this: Real, n: number) => void) | ((this: Fake, n: number) => void) diff --git a/tests/baselines/reference/unionTypeCallSignatures.errors.txt b/tests/baselines/reference/unionTypeCallSignatures.errors.txt index f9be92375c546..77ff1ae61ad2e 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.errors.txt +++ b/tests/baselines/reference/unionTypeCallSignatures.errors.txt @@ -1,3 +1,5 @@ +tests/cases/conformance/types/union/unionTypeCallSignatures.ts(9,1): error TS2322: Type 'number | Date' is not assignable to type 'string | boolean'. + Type 'number' is not assignable to type 'string | boolean'. tests/cases/conformance/types/union/unionTypeCallSignatures.ts(9,43): error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/union/unionTypeCallSignatures.ts(10,29): error TS2769: No overload matches this call. Overload 1 of 2, '(a: number): number | Date', gave the following error. @@ -35,7 +37,7 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(70,12): error TS2 tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2554: Expected 2 arguments, but got 1. -==== tests/cases/conformance/types/union/unionTypeCallSignatures.ts (27 errors) ==== +==== tests/cases/conformance/types/union/unionTypeCallSignatures.ts (28 errors) ==== var numOrDate: number | Date; var strOrBoolean: string | boolean; var strOrNum: string | number; @@ -45,6 +47,9 @@ tests/cases/conformance/types/union/unionTypeCallSignatures.ts(73,12): error TS2 var unionOfDifferentReturnType: { (a: number): number; } | { (a: number): Date; }; numOrDate = unionOfDifferentReturnType(10); strOrBoolean = unionOfDifferentReturnType("hello"); // error + ~~~~~~~~~~~~ +!!! error TS2322: Type 'number | Date' is not assignable to type 'string | boolean'. +!!! error TS2322: Type 'number' is not assignable to type 'string | boolean'. ~~~~~~~ !!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. unionOfDifferentReturnType1(true); // error in type of parameter diff --git a/tests/baselines/reference/unionTypeCallSignatures.types b/tests/baselines/reference/unionTypeCallSignatures.types index ef38b524afdc4..4e192bdf9bf30 100644 --- a/tests/baselines/reference/unionTypeCallSignatures.types +++ b/tests/baselines/reference/unionTypeCallSignatures.types @@ -23,14 +23,14 @@ numOrDate = unionOfDifferentReturnType(10); >10 : 10 strOrBoolean = unionOfDifferentReturnType("hello"); // error ->strOrBoolean = unionOfDifferentReturnType("hello") : any +>strOrBoolean = unionOfDifferentReturnType("hello") : number | Date >strOrBoolean : string | boolean ->unionOfDifferentReturnType("hello") : any +>unionOfDifferentReturnType("hello") : number | Date >unionOfDifferentReturnType : ((a: number) => number) | ((a: number) => Date) >"hello" : "hello" unionOfDifferentReturnType1(true); // error in type of parameter ->unionOfDifferentReturnType1(true) : any +>unionOfDifferentReturnType1(true) : (Date & string) | (Date & false) | (Date & true) >unionOfDifferentReturnType1 : { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; } >true : true @@ -56,12 +56,12 @@ strOrBoolean = unionOfDifferentReturnType1("hello"); >"hello" : "hello" unionOfDifferentReturnType1(true); // error in type of parameter ->unionOfDifferentReturnType1(true) : any +>unionOfDifferentReturnType1(true) : (Date & string) | (Date & false) | (Date & true) >unionOfDifferentReturnType1 : { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; } >true : true unionOfDifferentReturnType1(); // error missing parameter ->unionOfDifferentReturnType1() : any +>unionOfDifferentReturnType1() : (Date & string) | (Date & false) | (Date & true) >unionOfDifferentReturnType1 : { (a: number): number; (a: string): string; } | { (a: number): Date; (a: string): boolean; } var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Date; }; @@ -70,17 +70,17 @@ var unionOfDifferentParameterTypes: { (a: number): number; } | { (a: string): Da >a : string unionOfDifferentParameterTypes(10);// error - no call signatures ->unionOfDifferentParameterTypes(10) : any +>unionOfDifferentParameterTypes(10) : number | Date >unionOfDifferentParameterTypes : ((a: number) => number) | ((a: string) => Date) >10 : 10 unionOfDifferentParameterTypes("hello");// error - no call signatures ->unionOfDifferentParameterTypes("hello") : any +>unionOfDifferentParameterTypes("hello") : number | Date >unionOfDifferentParameterTypes : ((a: number) => number) | ((a: string) => Date) >"hello" : "hello" unionOfDifferentParameterTypes();// error - no call signatures ->unionOfDifferentParameterTypes() : any +>unionOfDifferentParameterTypes() : number | Date >unionOfDifferentParameterTypes : ((a: number) => number) | ((a: string) => Date) var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number): Date; (a: string): boolean; }; @@ -90,7 +90,7 @@ var unionOfDifferentNumberOfSignatures: { (a: number): number; } | { (a: number) >a : string unionOfDifferentNumberOfSignatures(); // error - no call signatures ->unionOfDifferentNumberOfSignatures() : any +>unionOfDifferentNumberOfSignatures() : number | Date >unionOfDifferentNumberOfSignatures : ((a: number) => number) | { (a: number): Date; (a: string): boolean; } unionOfDifferentNumberOfSignatures(10); // error - no call signatures @@ -99,7 +99,7 @@ unionOfDifferentNumberOfSignatures(10); // error - no call signatures >10 : 10 unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures ->unionOfDifferentNumberOfSignatures("hello") : any +>unionOfDifferentNumberOfSignatures("hello") : number | Date >unionOfDifferentNumberOfSignatures : ((a: number) => number) | { (a: number): Date; (a: string): boolean; } >"hello" : "hello" @@ -110,11 +110,11 @@ var unionWithDifferentParameterCount: { (a: string): string; } | { (a: string, b >b : number unionWithDifferentParameterCount();// needs more args ->unionWithDifferentParameterCount() : any +>unionWithDifferentParameterCount() : string | number >unionWithDifferentParameterCount : ((a: string) => string) | ((a: string, b: number) => number) unionWithDifferentParameterCount("hello");// needs more args ->unionWithDifferentParameterCount("hello") : any +>unionWithDifferentParameterCount("hello") : string | number >unionWithDifferentParameterCount : ((a: string) => string) | ((a: string, b: number) => number) >"hello" : "hello" @@ -147,17 +147,17 @@ strOrNum = unionWithOptionalParameter1('hello', 10); >10 : 10 strOrNum = unionWithOptionalParameter1('hello', "hello"); // error in parameter type ->strOrNum = unionWithOptionalParameter1('hello', "hello") : any +>strOrNum = unionWithOptionalParameter1('hello', "hello") : string | number >strOrNum : string | number ->unionWithOptionalParameter1('hello', "hello") : any +>unionWithOptionalParameter1('hello', "hello") : string | number >unionWithOptionalParameter1 : ((a: string, b?: number) => string) | ((a: string, b?: number) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = unionWithOptionalParameter1(); // error ->strOrNum = unionWithOptionalParameter1() : any +>strOrNum = unionWithOptionalParameter1() : string | number >strOrNum : string | number ->unionWithOptionalParameter1() : any +>unionWithOptionalParameter1() : string | number >unionWithOptionalParameter1 : ((a: string, b?: number) => string) | ((a: string, b?: number) => number) var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: string, b: number): number }; @@ -168,9 +168,9 @@ var unionWithOptionalParameter2: { (a: string, b?: number): string; } | { (a: st >b : number strOrNum = unionWithOptionalParameter2('hello'); // error no call signature ->strOrNum = unionWithOptionalParameter2('hello') : any +>strOrNum = unionWithOptionalParameter2('hello') : string | number >strOrNum : string | number ->unionWithOptionalParameter2('hello') : any +>unionWithOptionalParameter2('hello') : string | number >unionWithOptionalParameter2 : ((a: string, b?: number) => string) | ((a: string, b: number) => number) >'hello' : "hello" @@ -183,17 +183,17 @@ strOrNum = unionWithOptionalParameter2('hello', 10); // error no call signature >10 : 10 strOrNum = unionWithOptionalParameter2('hello', "hello"); // error no call signature ->strOrNum = unionWithOptionalParameter2('hello', "hello") : any +>strOrNum = unionWithOptionalParameter2('hello', "hello") : string | number >strOrNum : string | number ->unionWithOptionalParameter2('hello', "hello") : any +>unionWithOptionalParameter2('hello', "hello") : string | number >unionWithOptionalParameter2 : ((a: string, b?: number) => string) | ((a: string, b: number) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = unionWithOptionalParameter2(); // error no call signature ->strOrNum = unionWithOptionalParameter2() : any +>strOrNum = unionWithOptionalParameter2() : string | number >strOrNum : string | number ->unionWithOptionalParameter2() : any +>unionWithOptionalParameter2() : string | number >unionWithOptionalParameter2 : ((a: string, b?: number) => string) | ((a: string, b: number) => number) var unionWithOptionalParameter3: { (a: string, b?: number): string; } | { (a: string): number; }; @@ -218,17 +218,17 @@ strOrNum = unionWithOptionalParameter3('hello', 10); // ok >10 : 10 strOrNum = unionWithOptionalParameter3('hello', "hello"); // wrong argument type ->strOrNum = unionWithOptionalParameter3('hello', "hello") : any +>strOrNum = unionWithOptionalParameter3('hello', "hello") : string | number >strOrNum : string | number ->unionWithOptionalParameter3('hello', "hello") : any +>unionWithOptionalParameter3('hello', "hello") : string | number >unionWithOptionalParameter3 : ((a: string, b?: number) => string) | ((a: string) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = unionWithOptionalParameter3(); // needs more args ->strOrNum = unionWithOptionalParameter3() : any +>strOrNum = unionWithOptionalParameter3() : string | number >strOrNum : string | number ->unionWithOptionalParameter3() : any +>unionWithOptionalParameter3() : string | number >unionWithOptionalParameter3 : ((a: string, b?: number) => string) | ((a: string) => number) var unionWithRestParameter1: { (a: string, ...b: number[]): string; } | { (a: string, ...b: number[]): number }; @@ -263,17 +263,17 @@ strOrNum = unionWithRestParameter1('hello', 10, 11); >11 : 11 strOrNum = unionWithRestParameter1('hello', "hello"); // error in parameter type ->strOrNum = unionWithRestParameter1('hello', "hello") : any +>strOrNum = unionWithRestParameter1('hello', "hello") : string | number >strOrNum : string | number ->unionWithRestParameter1('hello', "hello") : any +>unionWithRestParameter1('hello', "hello") : string | number >unionWithRestParameter1 : ((a: string, ...b: number[]) => string) | ((a: string, ...b: number[]) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = unionWithRestParameter1(); // error ->strOrNum = unionWithRestParameter1() : any +>strOrNum = unionWithRestParameter1() : string | number >strOrNum : string | number ->unionWithRestParameter1() : any +>unionWithRestParameter1() : string | number >unionWithRestParameter1 : ((a: string, ...b: number[]) => string) | ((a: string, ...b: number[]) => number) var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: string, b: number): number }; @@ -284,9 +284,9 @@ var unionWithRestParameter2: { (a: string, ...b: number[]): string; } | { (a: st >b : number strOrNum = unionWithRestParameter2('hello'); // error no call signature ->strOrNum = unionWithRestParameter2('hello') : any +>strOrNum = unionWithRestParameter2('hello') : string | number >strOrNum : string | number ->unionWithRestParameter2('hello') : any +>unionWithRestParameter2('hello') : string | number >unionWithRestParameter2 : ((a: string, ...b: number[]) => string) | ((a: string, b: number) => number) >'hello' : "hello" @@ -299,26 +299,26 @@ strOrNum = unionWithRestParameter2('hello', 10); // error no call signature >10 : 10 strOrNum = unionWithRestParameter2('hello', 10, 11); // error no call signature ->strOrNum = unionWithRestParameter2('hello', 10, 11) : any +>strOrNum = unionWithRestParameter2('hello', 10, 11) : string | number >strOrNum : string | number ->unionWithRestParameter2('hello', 10, 11) : any +>unionWithRestParameter2('hello', 10, 11) : string | number >unionWithRestParameter2 : ((a: string, ...b: number[]) => string) | ((a: string, b: number) => number) >'hello' : "hello" >10 : 10 >11 : 11 strOrNum = unionWithRestParameter2('hello', "hello"); // error no call signature ->strOrNum = unionWithRestParameter2('hello', "hello") : any +>strOrNum = unionWithRestParameter2('hello', "hello") : string | number >strOrNum : string | number ->unionWithRestParameter2('hello', "hello") : any +>unionWithRestParameter2('hello', "hello") : string | number >unionWithRestParameter2 : ((a: string, ...b: number[]) => string) | ((a: string, b: number) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = unionWithRestParameter2(); // error no call signature ->strOrNum = unionWithRestParameter2() : any +>strOrNum = unionWithRestParameter2() : string | number >strOrNum : string | number ->unionWithRestParameter2() : any +>unionWithRestParameter2() : string | number >unionWithRestParameter2 : ((a: string, ...b: number[]) => string) | ((a: string, b: number) => number) var unionWithRestParameter3: { (a: string, ...b: number[]): string; } | { (a: string): number }; @@ -352,17 +352,17 @@ strOrNum = unionWithRestParameter3('hello', 10, 11); // error no call signature >11 : 11 strOrNum = unionWithRestParameter3('hello', "hello"); // wrong argument type ->strOrNum = unionWithRestParameter3('hello', "hello") : any +>strOrNum = unionWithRestParameter3('hello', "hello") : string | number >strOrNum : string | number ->unionWithRestParameter3('hello', "hello") : any +>unionWithRestParameter3('hello', "hello") : string | number >unionWithRestParameter3 : ((a: string, ...b: number[]) => string) | ((a: string) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = unionWithRestParameter3(); // error no call signature ->strOrNum = unionWithRestParameter3() : any +>strOrNum = unionWithRestParameter3() : string | number >strOrNum : string | number ->unionWithRestParameter3() : any +>unionWithRestParameter3() : string | number >unionWithRestParameter3 : ((a: string, ...b: number[]) => string) | ((a: string) => number) var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: string): number; }; @@ -372,9 +372,9 @@ var unionWithRestParameter4: { (...a: string[]): string; } | { (a: string, b: st >b : string strOrNum = unionWithRestParameter4("hello"); // error supplied parameters do not match any call signature ->strOrNum = unionWithRestParameter4("hello") : any +>strOrNum = unionWithRestParameter4("hello") : string | number >strOrNum : string | number ->unionWithRestParameter4("hello") : any +>unionWithRestParameter4("hello") : string | number >unionWithRestParameter4 : ((...a: string[]) => string) | ((a: string, b: string) => number) >"hello" : "hello" diff --git a/tests/baselines/reference/unionTypeCallSignatures4.types b/tests/baselines/reference/unionTypeCallSignatures4.types index a02ef1e8bfabe..a5628129dbe5c 100644 --- a/tests/baselines/reference/unionTypeCallSignatures4.types +++ b/tests/baselines/reference/unionTypeCallSignatures4.types @@ -93,7 +93,7 @@ var f12345: F1 | F2 | F3 | F4 | F5; >f12345 : F1 | F2 | F3 | F4 | F5 f12345("a"); // error ->f12345("a") : any +>f12345("a") : void >f12345 : F1 | F2 | F3 | F4 | F5 >"a" : "a" @@ -104,7 +104,7 @@ f12345("a", "b"); >"b" : "b" f12345("a", "b", "c"); // error ->f12345("a", "b", "c") : any +>f12345("a", "b", "c") : void >f12345 : F1 | F2 | F3 | F4 | F5 >"a" : "a" >"b" : "b" diff --git a/tests/baselines/reference/unionTypeCallSignatures5.types b/tests/baselines/reference/unionTypeCallSignatures5.types index b9b5a6fbc0db6..53ce4ea655086 100644 --- a/tests/baselines/reference/unionTypeCallSignatures5.types +++ b/tests/baselines/reference/unionTypeCallSignatures5.types @@ -18,7 +18,7 @@ declare const fn: A | B | C; >fn : A | B | C fn(0); ->fn(0) : any +>fn(0) : void >fn : A | B | C >0 : 0 diff --git a/tests/baselines/reference/unionTypeCallSignatures6.types b/tests/baselines/reference/unionTypeCallSignatures6.types index 930c91b110987..fbb6dda54fb9c 100644 --- a/tests/baselines/reference/unionTypeCallSignatures6.types +++ b/tests/baselines/reference/unionTypeCallSignatures6.types @@ -31,14 +31,14 @@ declare var f1: F1 | F2; >f1 : F1 | F2 f1(); // error ->f1() : any +>f1() : void >f1 : F1 | F2 declare var f2: F0 | F1; >f2 : F1 | F0 f2(); // error ->f2() : any +>f2() : void >f2 : F1 | F0 interface F3 { @@ -106,7 +106,7 @@ x1.f3(); // error >f3 : F3 | F4 x1.f4(); // error ->x1.f4() : any +>x1.f4() : void >x1.f4 : F3 | F5 >x1 : A & C & { f0: F0 | F3; f1: F1 | F3; f2: F1 | F4; f3: F3 | F4; f4: F3 | F5; } >f4 : F3 | F5 @@ -131,7 +131,7 @@ declare var f3: F1 | F6; >f3 : F1 | F6 f3(); // error ->f3() : any +>f3() : void >f3 : F1 | F6 interface F7 { @@ -145,6 +145,6 @@ declare var f4: F6 | F7; >f4 : F6 | F7 f4(); // error ->f4() : any +>f4() : void >f4 : F6 | F7 diff --git a/tests/baselines/reference/unionTypeConstructSignatures.errors.txt b/tests/baselines/reference/unionTypeConstructSignatures.errors.txt index 49e280f0312ad..686f95e9fd4d8 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.errors.txt +++ b/tests/baselines/reference/unionTypeConstructSignatures.errors.txt @@ -1,3 +1,5 @@ +tests/cases/conformance/types/union/unionTypeConstructSignatures.ts(9,1): error TS2322: Type 'number | Date' is not assignable to type 'string | boolean'. + Type 'number' is not assignable to type 'string | boolean'. tests/cases/conformance/types/union/unionTypeConstructSignatures.ts(9,47): error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. tests/cases/conformance/types/union/unionTypeConstructSignatures.ts(10,33): error TS2769: No overload matches this call. Overload 1 of 2, '(a: number): number | Date', gave the following error. @@ -34,7 +36,7 @@ tests/cases/conformance/types/union/unionTypeConstructSignatures.ts(69,49): erro tests/cases/conformance/types/union/unionTypeConstructSignatures.ts(70,12): error TS2555: Expected at least 1 arguments, but got 0. -==== tests/cases/conformance/types/union/unionTypeConstructSignatures.ts (26 errors) ==== +==== tests/cases/conformance/types/union/unionTypeConstructSignatures.ts (27 errors) ==== var numOrDate: number | Date; var strOrBoolean: string | boolean; var strOrNum: string | number; @@ -44,6 +46,9 @@ tests/cases/conformance/types/union/unionTypeConstructSignatures.ts(70,12): erro var unionOfDifferentReturnType: { new (a: number): number; } | { new (a: number): Date; }; numOrDate = new unionOfDifferentReturnType(10); strOrBoolean = new unionOfDifferentReturnType("hello"); // error + ~~~~~~~~~~~~ +!!! error TS2322: Type 'number | Date' is not assignable to type 'string | boolean'. +!!! error TS2322: Type 'number' is not assignable to type 'string | boolean'. ~~~~~~~ !!! error TS2345: Argument of type '"hello"' is not assignable to parameter of type 'number'. new unionOfDifferentReturnType1(true); // error in type of parameter diff --git a/tests/baselines/reference/unionTypeConstructSignatures.types b/tests/baselines/reference/unionTypeConstructSignatures.types index ca378be3cc3d4..27e1797588783 100644 --- a/tests/baselines/reference/unionTypeConstructSignatures.types +++ b/tests/baselines/reference/unionTypeConstructSignatures.types @@ -23,14 +23,14 @@ numOrDate = new unionOfDifferentReturnType(10); >10 : 10 strOrBoolean = new unionOfDifferentReturnType("hello"); // error ->strOrBoolean = new unionOfDifferentReturnType("hello") : any +>strOrBoolean = new unionOfDifferentReturnType("hello") : number | Date >strOrBoolean : string | boolean ->new unionOfDifferentReturnType("hello") : any +>new unionOfDifferentReturnType("hello") : number | Date >unionOfDifferentReturnType : (new (a: number) => number) | (new (a: number) => Date) >"hello" : "hello" new unionOfDifferentReturnType1(true); // error in type of parameter ->new unionOfDifferentReturnType1(true) : any +>new unionOfDifferentReturnType1(true) : (Date & string) | (Date & false) | (Date & true) >unionOfDifferentReturnType1 : { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; } >true : true @@ -56,12 +56,12 @@ strOrBoolean = new unionOfDifferentReturnType1("hello"); >"hello" : "hello" new unionOfDifferentReturnType1(true); // error in type of parameter ->new unionOfDifferentReturnType1(true) : any +>new unionOfDifferentReturnType1(true) : (Date & string) | (Date & false) | (Date & true) >unionOfDifferentReturnType1 : { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; } >true : true new unionOfDifferentReturnType1(); // error missing parameter ->new unionOfDifferentReturnType1() : any +>new unionOfDifferentReturnType1() : (Date & string) | (Date & false) | (Date & true) >unionOfDifferentReturnType1 : { new (a: number): number; new (a: string): string; } | { new (a: number): Date; new (a: string): boolean; } var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: string): Date; }; @@ -70,17 +70,17 @@ var unionOfDifferentParameterTypes: { new (a: number): number; } | { new (a: str >a : string new unionOfDifferentParameterTypes(10);// error - no call signatures ->new unionOfDifferentParameterTypes(10) : any +>new unionOfDifferentParameterTypes(10) : number | Date >unionOfDifferentParameterTypes : (new (a: number) => number) | (new (a: string) => Date) >10 : 10 new unionOfDifferentParameterTypes("hello");// error - no call signatures ->new unionOfDifferentParameterTypes("hello") : any +>new unionOfDifferentParameterTypes("hello") : number | Date >unionOfDifferentParameterTypes : (new (a: number) => number) | (new (a: string) => Date) >"hello" : "hello" new unionOfDifferentParameterTypes();// error - no call signatures ->new unionOfDifferentParameterTypes() : any +>new unionOfDifferentParameterTypes() : number | Date >unionOfDifferentParameterTypes : (new (a: number) => number) | (new (a: string) => Date) var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: number): Date; new (a: string): boolean; }; @@ -90,7 +90,7 @@ var unionOfDifferentNumberOfSignatures: { new (a: number): number; } | { new (a: >a : string new unionOfDifferentNumberOfSignatures(); // error - no call signatures ->new unionOfDifferentNumberOfSignatures() : any +>new unionOfDifferentNumberOfSignatures() : number | Date >unionOfDifferentNumberOfSignatures : (new (a: number) => number) | { new (a: number): Date; new (a: string): boolean; } new unionOfDifferentNumberOfSignatures(10); // error - no call signatures @@ -99,7 +99,7 @@ new unionOfDifferentNumberOfSignatures(10); // error - no call signatures >10 : 10 new unionOfDifferentNumberOfSignatures("hello"); // error - no call signatures ->new unionOfDifferentNumberOfSignatures("hello") : any +>new unionOfDifferentNumberOfSignatures("hello") : number | Date >unionOfDifferentNumberOfSignatures : (new (a: number) => number) | { new (a: number): Date; new (a: string): boolean; } >"hello" : "hello" @@ -110,11 +110,11 @@ var unionWithDifferentParameterCount: { new (a: string): string; } | { new (a: s >b : number new unionWithDifferentParameterCount();// needs more args ->new unionWithDifferentParameterCount() : any +>new unionWithDifferentParameterCount() : string | number >unionWithDifferentParameterCount : (new (a: string) => string) | (new (a: string, b: number) => number) new unionWithDifferentParameterCount("hello");// needs more args ->new unionWithDifferentParameterCount("hello") : any +>new unionWithDifferentParameterCount("hello") : string | number >unionWithDifferentParameterCount : (new (a: string) => string) | (new (a: string, b: number) => number) >"hello" : "hello" @@ -147,17 +147,17 @@ strOrNum = new unionWithOptionalParameter1('hello', 10); >10 : 10 strOrNum = new unionWithOptionalParameter1('hello', "hello"); // error in parameter type ->strOrNum = new unionWithOptionalParameter1('hello', "hello") : any +>strOrNum = new unionWithOptionalParameter1('hello', "hello") : string | number >strOrNum : string | number ->new unionWithOptionalParameter1('hello', "hello") : any +>new unionWithOptionalParameter1('hello', "hello") : string | number >unionWithOptionalParameter1 : (new (a: string, b?: number) => string) | (new (a: string, b?: number) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = new unionWithOptionalParameter1(); // error ->strOrNum = new unionWithOptionalParameter1() : any +>strOrNum = new unionWithOptionalParameter1() : string | number >strOrNum : string | number ->new unionWithOptionalParameter1() : any +>new unionWithOptionalParameter1() : string | number >unionWithOptionalParameter1 : (new (a: string, b?: number) => string) | (new (a: string, b?: number) => number) var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { new (a: string, b: number): number }; @@ -168,9 +168,9 @@ var unionWithOptionalParameter2: { new (a: string, b?: number): string; } | { ne >b : number strOrNum = new unionWithOptionalParameter2('hello'); // error no call signature ->strOrNum = new unionWithOptionalParameter2('hello') : any +>strOrNum = new unionWithOptionalParameter2('hello') : string | number >strOrNum : string | number ->new unionWithOptionalParameter2('hello') : any +>new unionWithOptionalParameter2('hello') : string | number >unionWithOptionalParameter2 : (new (a: string, b?: number) => string) | (new (a: string, b: number) => number) >'hello' : "hello" @@ -183,17 +183,17 @@ strOrNum = new unionWithOptionalParameter2('hello', 10); // error no call signat >10 : 10 strOrNum = new unionWithOptionalParameter2('hello', "hello"); // error no call signature ->strOrNum = new unionWithOptionalParameter2('hello', "hello") : any +>strOrNum = new unionWithOptionalParameter2('hello', "hello") : string | number >strOrNum : string | number ->new unionWithOptionalParameter2('hello', "hello") : any +>new unionWithOptionalParameter2('hello', "hello") : string | number >unionWithOptionalParameter2 : (new (a: string, b?: number) => string) | (new (a: string, b: number) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = new unionWithOptionalParameter2(); // error no call signature ->strOrNum = new unionWithOptionalParameter2() : any +>strOrNum = new unionWithOptionalParameter2() : string | number >strOrNum : string | number ->new unionWithOptionalParameter2() : any +>new unionWithOptionalParameter2() : string | number >unionWithOptionalParameter2 : (new (a: string, b?: number) => string) | (new (a: string, b: number) => number) var unionWithOptionalParameter3: { new (a: string, b?: number): string; } | { new (a: string): number; }; @@ -218,17 +218,17 @@ strOrNum = new unionWithOptionalParameter3('hello', 10); // ok >10 : 10 strOrNum = new unionWithOptionalParameter3('hello', "hello"); // wrong type ->strOrNum = new unionWithOptionalParameter3('hello', "hello") : any +>strOrNum = new unionWithOptionalParameter3('hello', "hello") : string | number >strOrNum : string | number ->new unionWithOptionalParameter3('hello', "hello") : any +>new unionWithOptionalParameter3('hello', "hello") : string | number >unionWithOptionalParameter3 : (new (a: string, b?: number) => string) | (new (a: string) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = new unionWithOptionalParameter3(); // error no call signature ->strOrNum = new unionWithOptionalParameter3() : any +>strOrNum = new unionWithOptionalParameter3() : string | number >strOrNum : string | number ->new unionWithOptionalParameter3() : any +>new unionWithOptionalParameter3() : string | number >unionWithOptionalParameter3 : (new (a: string, b?: number) => string) | (new (a: string) => number) var unionWithRestParameter1: { new (a: string, ...b: number[]): string; } | { new (a: string, ...b: number[]): number }; @@ -263,17 +263,17 @@ strOrNum = new unionWithRestParameter1('hello', 10, 11); >11 : 11 strOrNum = new unionWithRestParameter1('hello', "hello"); // error in parameter type ->strOrNum = new unionWithRestParameter1('hello', "hello") : any +>strOrNum = new unionWithRestParameter1('hello', "hello") : string | number >strOrNum : string | number ->new unionWithRestParameter1('hello', "hello") : any +>new unionWithRestParameter1('hello', "hello") : string | number >unionWithRestParameter1 : (new (a: string, ...b: number[]) => string) | (new (a: string, ...b: number[]) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = new unionWithRestParameter1(); // error ->strOrNum = new unionWithRestParameter1() : any +>strOrNum = new unionWithRestParameter1() : string | number >strOrNum : string | number ->new unionWithRestParameter1() : any +>new unionWithRestParameter1() : string | number >unionWithRestParameter1 : (new (a: string, ...b: number[]) => string) | (new (a: string, ...b: number[]) => number) var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { new (a: string, b: number): number }; @@ -284,9 +284,9 @@ var unionWithRestParameter2: { new (a: string, ...b: number[]): string; } | { ne >b : number strOrNum = new unionWithRestParameter2('hello'); // error no call signature ->strOrNum = new unionWithRestParameter2('hello') : any +>strOrNum = new unionWithRestParameter2('hello') : string | number >strOrNum : string | number ->new unionWithRestParameter2('hello') : any +>new unionWithRestParameter2('hello') : string | number >unionWithRestParameter2 : (new (a: string, ...b: number[]) => string) | (new (a: string, b: number) => number) >'hello' : "hello" @@ -299,26 +299,26 @@ strOrNum = new unionWithRestParameter2('hello', 10); // error no call signature >10 : 10 strOrNum = new unionWithRestParameter2('hello', 10, 11); // error no call signature ->strOrNum = new unionWithRestParameter2('hello', 10, 11) : any +>strOrNum = new unionWithRestParameter2('hello', 10, 11) : string | number >strOrNum : string | number ->new unionWithRestParameter2('hello', 10, 11) : any +>new unionWithRestParameter2('hello', 10, 11) : string | number >unionWithRestParameter2 : (new (a: string, ...b: number[]) => string) | (new (a: string, b: number) => number) >'hello' : "hello" >10 : 10 >11 : 11 strOrNum = new unionWithRestParameter2('hello', "hello"); // error no call signature ->strOrNum = new unionWithRestParameter2('hello', "hello") : any +>strOrNum = new unionWithRestParameter2('hello', "hello") : string | number >strOrNum : string | number ->new unionWithRestParameter2('hello', "hello") : any +>new unionWithRestParameter2('hello', "hello") : string | number >unionWithRestParameter2 : (new (a: string, ...b: number[]) => string) | (new (a: string, b: number) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = new unionWithRestParameter2(); // error no call signature ->strOrNum = new unionWithRestParameter2() : any +>strOrNum = new unionWithRestParameter2() : string | number >strOrNum : string | number ->new unionWithRestParameter2() : any +>new unionWithRestParameter2() : string | number >unionWithRestParameter2 : (new (a: string, ...b: number[]) => string) | (new (a: string, b: number) => number) var unionWithRestParameter3: { new (a: string, ...b: number[]): string; } | { new (a: string): number }; @@ -352,16 +352,16 @@ strOrNum = new unionWithRestParameter3('hello', 10, 11); // ok >11 : 11 strOrNum = new unionWithRestParameter3('hello', "hello"); // wrong type ->strOrNum = new unionWithRestParameter3('hello', "hello") : any +>strOrNum = new unionWithRestParameter3('hello', "hello") : string | number >strOrNum : string | number ->new unionWithRestParameter3('hello', "hello") : any +>new unionWithRestParameter3('hello', "hello") : string | number >unionWithRestParameter3 : (new (a: string, ...b: number[]) => string) | (new (a: string) => number) >'hello' : "hello" >"hello" : "hello" strOrNum = new unionWithRestParameter3(); // error no call signature ->strOrNum = new unionWithRestParameter3() : any +>strOrNum = new unionWithRestParameter3() : string | number >strOrNum : string | number ->new unionWithRestParameter3() : any +>new unionWithRestParameter3() : string | number >unionWithRestParameter3 : (new (a: string, ...b: number[]) => string) | (new (a: string) => number) diff --git a/tests/baselines/reference/unionTypeInference.types b/tests/baselines/reference/unionTypeInference.types index b8107f3c04d0a..268d4ed86ebfb 100644 --- a/tests/baselines/reference/unionTypeInference.types +++ b/tests/baselines/reference/unionTypeInference.types @@ -56,8 +56,8 @@ const a6 = f1(true, false); // boolean >false : false const a7 = f1("hello", 1); // Error ->a7 : any ->f1("hello", 1) : any +>a7 : "hello" +>f1("hello", 1) : "hello" >f1 : (x: T, y: string | T) => T >"hello" : "hello" >1 : 1 @@ -126,8 +126,8 @@ const d2 = f4(s); >s : string const d3 = f4(42); // Error ->d3 : any ->f4(42) : any +>d3 : 42 +>f4(42) : 42 >f4 : (x: string & T) => T >42 : 42 diff --git a/tests/baselines/reference/unionTypeMembers.types b/tests/baselines/reference/unionTypeMembers.types index e26d00c45f96a..56bab568db988 100644 --- a/tests/baselines/reference/unionTypeMembers.types +++ b/tests/baselines/reference/unionTypeMembers.types @@ -122,7 +122,7 @@ x.commonMethodDifferentParameterType; // No error - property exists >commonMethodDifferentParameterType : ((a: string) => string) | ((a: number) => number) x.commonMethodDifferentParameterType(strOrNum); // error - no call signatures because the type of this property is ((a: string) => string) | (a: number) => number ->x.commonMethodDifferentParameterType(strOrNum) : any +>x.commonMethodDifferentParameterType(strOrNum) : string | number >x.commonMethodDifferentParameterType : ((a: string) => string) | ((a: number) => number) >x : I1 | I2 >commonMethodDifferentParameterType : ((a: string) => string) | ((a: number) => number) diff --git a/tests/baselines/reference/user/adonis-framework.log b/tests/baselines/reference/user/adonis-framework.log index 443cfcb5ffde4..f3e1a0a59e894 100644 --- a/tests/baselines/reference/user/adonis-framework.log +++ b/tests/baselines/reference/user/adonis-framework.log @@ -24,6 +24,7 @@ node_modules/adonis-framework/src/Encryption/index.js(71,34): error TS2769: No o Argument of type 'string' is not assignable to parameter of type 'undefined'. Overload 2 of 4, '(data: string, input_encoding: "utf8" | "ascii" | "binary" | undefined, output_encoding: HexBase64BinaryEncoding): string', gave the following error. Argument of type 'string' is not assignable to parameter of type '"utf8" | "ascii" | "binary" | undefined'. +node_modules/adonis-framework/src/Encryption/index.js(77,27): error TS2322: Type 'string' is not assignable to type 'Buffer'. node_modules/adonis-framework/src/Encryption/index.js(77,50): error TS2345: Argument of type 'Buffer' is not assignable to parameter of type 'string'. node_modules/adonis-framework/src/Encryption/index.js(85,23): error TS8024: JSDoc '@param' tag has name 'value', but there is no parameter with that name. node_modules/adonis-framework/src/Encryption/index.js(87,15): error TS2304: Cannot find name 'Mixed'. @@ -32,6 +33,8 @@ node_modules/adonis-framework/src/Encryption/index.js(101,62): error TS2769: No Argument of type 'string' is not assignable to parameter of type 'Utf8AsciiBinaryEncoding'. Overload 2 of 4, '(data: string, input_encoding: "base64" | "binary" | "hex" | undefined, output_encoding: Utf8AsciiBinaryEncoding): string', gave the following error. Argument of type 'string' is not assignable to parameter of type 'Utf8AsciiBinaryEncoding'. +node_modules/adonis-framework/src/Encryption/index.js(102,5): error TS2322: Type 'string' is not assignable to type 'Buffer & string'. + Type 'string' is not assignable to type 'Buffer'. node_modules/adonis-framework/src/Encryption/index.js(114,15): error TS2304: Cannot find name 'Mixed'. node_modules/adonis-framework/src/Encryption/index.js(119,23): error TS2554: Expected 2 arguments, but got 1. node_modules/adonis-framework/src/Encryption/index.js(183,15): error TS2304: Cannot find name 'Mixed'. diff --git a/tests/baselines/reference/user/bcryptjs.log b/tests/baselines/reference/user/bcryptjs.log index 8de313b8b3fdf..b273ba0a12530 100644 --- a/tests/baselines/reference/user/bcryptjs.log +++ b/tests/baselines/reference/user/bcryptjs.log @@ -15,8 +15,6 @@ node_modules/bcryptjs/src/bcrypt/impl.js(658,23): error TS2345: Argument of type Type 'undefined' is not assignable to type 'number[]'. node_modules/bcryptjs/src/bcrypt/impl.js(664,31): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'. node_modules/bcryptjs/src/bcrypt/impl.js(666,26): error TS2345: Argument of type 'null' is not assignable to parameter of type 'Error'. -node_modules/bcryptjs/src/bcrypt/impl.js(666,39): error TS2345: Argument of type 'number[] | undefined' is not assignable to parameter of type 'number[]'. - Type 'undefined' is not assignable to type 'number[]'. node_modules/bcryptjs/src/bcrypt/prng/accum.js(51,74): error TS2339: Property 'attachEvent' does not exist on type 'Document'. node_modules/bcryptjs/src/bcrypt/prng/accum.js(52,22): error TS2339: Property 'attachEvent' does not exist on type 'Document'. node_modules/bcryptjs/src/bcrypt/prng/accum.js(53,22): error TS2339: Property 'attachEvent' does not exist on type 'Document'. diff --git a/tests/baselines/reference/user/bluebird.log b/tests/baselines/reference/user/bluebird.log index 7d9348c9d4096..cf772cb5b6ff3 100644 --- a/tests/baselines/reference/user/bluebird.log +++ b/tests/baselines/reference/user/bluebird.log @@ -6,8 +6,10 @@ node_modules/bluebird/js/release/bluebird.js(10,10): error TS2339: Property 'noC node_modules/bluebird/js/release/debuggability.js(225,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'event' must be of type 'CustomEvent', but here has type 'Event'. node_modules/bluebird/js/release/debuggability.js(232,26): error TS2339: Property 'detail' does not exist on type 'Event'. node_modules/bluebird/js/release/debuggability.js(258,48): error TS2345: Argument of type 'IArguments' is not assignable to parameter of type '["multipleResolves", MultipleResolveListener]'. -node_modules/bluebird/js/release/debuggability.js(301,56): error TS2345: Argument of type 'IArguments' is not assignable to parameter of type 'any[]'. - Type 'IArguments' is missing the following properties from type 'any[]': pop, push, concat, join, and 26 more. +node_modules/bluebird/js/release/debuggability.js(301,9): error TS2322: Type 'Process' is not assignable to type 'boolean'. +node_modules/bluebird/js/release/debuggability.js(301,28): error TS2684: The 'this' context of type '((...args: any[]) => Process) | ((name: any, ...args: any[]) => boolean)' is not assignable to method's 'this' of type '(this: null, name?: any, ...args: any[]) => Process'. + Type '(name: any, ...args: any[]) => boolean' is not assignable to type '(this: null, name?: any, ...args: any[]) => Process'. + Type 'boolean' is not assignable to type 'Process'. node_modules/bluebird/js/release/debuggability.js(562,19): error TS2350: Only a void function can be called with the 'new' keyword. node_modules/bluebird/js/release/debuggability.js(633,59): error TS2554: Expected 0 arguments, but got 1. node_modules/bluebird/js/release/debuggability.js(807,5): error TS2721: Cannot invoke an object which is possibly 'null'. diff --git a/tests/baselines/reference/user/chrome-devtools-frontend.log b/tests/baselines/reference/user/chrome-devtools-frontend.log index 10b7717b12d84..96d149c72dbd9 100644 --- a/tests/baselines/reference/user/chrome-devtools-frontend.log +++ b/tests/baselines/reference/user/chrome-devtools-frontend.log @@ -37,6 +37,7 @@ node_modules/chrome-devtools-frontend/front_end/Tests.js(440,10): error TS2554: node_modules/chrome-devtools-frontend/front_end/Tests.js(475,10): error TS2554: Expected 4 arguments, but got 3. node_modules/chrome-devtools-frontend/front_end/Tests.js(571,33): error TS2339: Property 'deprecatedRunAfterPendingDispatches' does not exist on type 'typeof InspectorBackend'. node_modules/chrome-devtools-frontend/front_end/Tests.js(590,57): error TS2554: Expected 0 arguments, but got 1. +node_modules/chrome-devtools-frontend/front_end/Tests.js(591,21): error TS2339: Property '_target' does not exist on type 'DeviceModeModel'. node_modules/chrome-devtools-frontend/front_end/Tests.js(619,44): error TS2339: Property 'emulationAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/Tests.js(666,38): error TS2339: Property 'inputAgent' does not exist on type 'Target'. node_modules/chrome-devtools-frontend/front_end/Tests.js(668,38): error TS2339: Property 'inputAgent' does not exist on type 'Target'. @@ -88,7 +89,6 @@ node_modules/chrome-devtools-frontend/front_end/Tests.js(1139,33): error TS2339: node_modules/chrome-devtools-frontend/front_end/Tests.js(1142,31): error TS2339: Property 'ConsoleView' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/Tests.js(1186,10): error TS2554: Expected 4 arguments, but got 3. node_modules/chrome-devtools-frontend/front_end/Tests.js(1199,14): error TS2554: Expected 4 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/Tests.js(1199,35): error TS2339: Property 'sources' does not exist on type 'any[]'. node_modules/chrome-devtools-frontend/front_end/Tests.js(1229,10): error TS2339: Property 'uiTests' does not exist on type 'Window & typeof globalThis'. node_modules/chrome-devtools-frontend/front_end/Tests.js(1229,41): error TS2339: Property 'domAutomationController' does not exist on type 'Window & typeof globalThis'. node_modules/chrome-devtools-frontend/front_end/accessibility/ARIAAttributesView.js(9,11): error TS2554: Expected 2 arguments, but got 1. @@ -503,6 +503,8 @@ node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(950,47): node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(952,19): error TS2304: Cannot find name 'DOM'. node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(954,32): error TS2304: Cannot find name 'CategoryRenderer'. node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(955,60): error TS2554: Expected 0 arguments, but got 2. +node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(962,14): error TS2339: Property 'setTemplateContext' does not exist on type 'ReportRenderer'. +node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(963,14): error TS2339: Property 'renderReport' does not exist on type 'ReportRenderer'. node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(967,41): error TS2304: Cannot find name 'DetailsRenderer'. node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(969,15): error TS2304: Cannot find name 'DOM'. node_modules/chrome-devtools-frontend/front_end/audits2/Audits2Panel.js(978,15): error TS2503: Cannot find namespace 'DetailsRenderer'. @@ -3058,6 +3060,7 @@ node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(60 Type 'T' is not assignable to type 'DebuggerModel'. node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(97,56): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(97,61): error TS2339: Property 'valuesArray' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(122,22): error TS2339: Property 'remove' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/bindings/BreakpointManager.js(153,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. @@ -3114,12 +3117,16 @@ node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js( 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(191,46): error TS2345: Argument of type 'CSSStyleSheetHeader' is not assignable to parameter of type 'K'. 'CSSStyleSheetHeader' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(192,16): error TS2339: Property 'update' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(204,16): error TS2339: Property '_header' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(205,27): error TS2345: Argument of type 'CSSStyleSheetHeader' is not assignable to parameter of type 'K'. 'CSSStyleSheetHeader' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(206,16): error TS2339: Property 'update' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(216,46): error TS2345: Argument of type 'CSSStyleSheetHeader' is not assignable to parameter of type 'K'. 'CSSStyleSheetHeader' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(217,16): error TS2339: Property '_header' does not exist on type 'V'. +node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(218,43): error TS2339: Property '_url' does not exist on type 'V'. +node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(219,16): error TS2339: Property 'update' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(221,31): error TS2345: Argument of type 'CSSStyleSheetHeader' is not assignable to parameter of type 'K'. 'CSSStyleSheetHeader' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/bindings/CSSWorkspaceBinding.js(261,14): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. @@ -3146,6 +3153,7 @@ node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBindin 'Script' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(292,46): error TS2345: Argument of type 'Script' is not assignable to parameter of type 'K'. 'Script' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(293,16): error TS2339: Property 'update' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(349,14): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(389,14): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. node_modules/chrome-devtools-frontend/front_end/bindings/DebuggerWorkspaceBinding.js(452,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. @@ -3202,6 +3210,7 @@ node_modules/chrome-devtools-frontend/front_end/bindings/TempFile.js(176,25): er node_modules/chrome-devtools-frontend/front_end/bindings_test_runner/AutomappingTestRunner.js(48,26): error TS2554: Expected 5 arguments, but got 4. node_modules/chrome-devtools-frontend/front_end/bindings_test_runner/AutomappingTestRunner.js(71,80): error TS2345: Argument of type 'Promise' is not assignable to parameter of type '() => Promise'. Type 'Promise' provides no match for the signature '(): Promise'. +node_modules/chrome-devtools-frontend/front_end/bindings_test_runner/AutomappingTestRunner.js(77,28): error TS2554: Expected 4 arguments, but got 3. node_modules/chrome-devtools-frontend/front_end/bindings_test_runner/AutomappingTestRunner.js(82,41): error TS2339: Property '_stabilizedCallback' does not exist on type 'AutomappingTest'. node_modules/chrome-devtools-frontend/front_end/bindings_test_runner/AutomappingTestRunner.js(108,15): error TS2339: Property '_stabilizedCallback' does not exist on type 'AutomappingTest'. node_modules/chrome-devtools-frontend/front_end/bindings_test_runner/AutomappingTestRunner.js(116,27): error TS2339: Property '_stabilizedCallback' does not exist on type 'AutomappingTest'. @@ -3449,10 +3458,7 @@ node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(11,43): node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(12,5): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(41,3): error TS2740: Type 'RegExp' is missing the following properties from type 'string[]': length, pop, push, concat, and 28 more. node_modules/chrome-devtools-frontend/front_end/cm_modes/coffeescript.js(282,24): error TS2339: Property 'exec' does not exist on type 'string[]'. -node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,17): error TS2307: Cannot find module '../../lib/codemirror'. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,42): error TS2554: Expected 0-1 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,50): error TS2307: Cannot find module '../xml/xml'. -node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(6,73): error TS2307: Cannot find module '../javascript/javascript'. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(7,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(7,43): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/jsx.js(8,5): error TS2304: Cannot find name 'define'. @@ -3460,10 +3466,7 @@ node_modules/chrome-devtools-frontend/front_end/cm_modes/livescript.js(11,17): e node_modules/chrome-devtools-frontend/front_end/cm_modes/livescript.js(12,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/livescript.js(12,43): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/livescript.js(13,5): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(6,17): error TS2307: Cannot find module '../../lib/codemirror'. node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(6,42): error TS2554: Expected 0-1 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(6,50): error TS2307: Cannot find module '../htmlmixed/htmlmixed'. -node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(6,85): error TS2307: Cannot find module '../clike/clike'. node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(7,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(7,43): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_modes/php.js(8,5): error TS2304: Cannot find name 'define'. @@ -3485,18 +3488,11 @@ node_modules/chrome-devtools-frontend/front_end/cm_web_modes/css.js(6,17): error node_modules/chrome-devtools-frontend/front_end/cm_web_modes/css.js(7,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/css.js(7,43): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/css.js(8,5): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(6,17): error TS2307: Cannot find module '../../lib/codemirror'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(6,42): error TS2554: Expected 0-1 arguments, but got 3. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(6,50): error TS2307: Cannot find module '../htmlmixed/htmlmixed'. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(7,17): error TS2307: Cannot find module '../../addon/mode/multiplex'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(8,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(8,43): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlembedded.js(9,5): error TS2304: Cannot find name 'define'. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(6,17): error TS2307: Cannot find module '../../lib/codemirror'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(6,42): error TS2554: Expected 0-1 arguments, but got 4. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(6,50): error TS2307: Cannot find module '../xml/xml'. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(6,73): error TS2307: Cannot find module '../javascript/javascript'. -node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(6,110): error TS2307: Cannot find module '../css/css'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(7,19): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(7,43): error TS2304: Cannot find name 'define'. node_modules/chrome-devtools-frontend/front_end/cm_web_modes/htmlmixed.js(8,5): error TS2304: Cannot find name 'define'. @@ -3768,10 +3764,6 @@ node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(504,31): node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(505,28): error TS2339: Property '_linkHandlerSettingInstance' does not exist on type 'typeof Linkifier'. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(506,67): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(508,33): error TS2339: Property '_linkHandlerSettingInstance' does not exist on type 'typeof Linkifier'. -node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(564,9): error TS2322: Type '({ section: string; title: any; handler: () => void; } | { section: string; title: string; handler: any; })[]' is not assignable to type '{ title: string; handler: () => any; }[]'. - Type '{ section: string; title: any; handler: () => void; } | { section: string; title: string; handler: any; }' is not assignable to type '{ title: string; handler: () => any; }'. - Type '{ section: string; title: any; handler: () => void; }' is not assignable to type '{ title: string; handler: () => any; }'. - Object literal may only specify known properties, and 'section' does not exist in type '{ title: string; handler: () => any; }'. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(565,23): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(572,23): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/components/Linkifier.js(580,23): error TS2555: Expected at least 2 arguments, but got 1. @@ -3851,7 +3843,6 @@ node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(31,68) node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(34,17): error TS2339: Property 'ConsoleSidebar' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(34,63): error TS2345: Argument of type '{ key: any; text: string; negative: boolean; }[]' is not assignable to parameter of type '{ key: string; text: string; regex: RegExp; negative: boolean; }[]'. Property 'regex' is missing in type '{ key: any; text: string; negative: boolean; }' but required in type '{ key: string; text: string; regex: RegExp; negative: boolean; }'. -node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(35,17): error TS2339: Property 'ConsoleFilter' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(38,17): error TS2339: Property 'ConsoleSidebar' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(38,70): error TS2339: Property 'ConsoleFilter' does not exist on type '{ new (): Console; prototype: Console; }'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleSidebar.js(41,17): error TS2339: Property 'ConsoleSidebar' does not exist on type '{ new (): Console; prototype: Console; }'. @@ -4044,12 +4035,14 @@ node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(21 node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(211,26): error TS2339: Property 'title' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(212,22): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(215,30): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(222,15): error TS2403: Subsequent variable declarations must have the same type. Variable 'args' must be of type 'any[]', but here has type 'any[]'. +node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(222,15): error TS2403: Subsequent variable declarations must have the same type. Variable 'args' must be of type 'string[]', but here has type 'any[]'. +node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(233,15): error TS2403: Subsequent variable declarations must have the same type. Variable 'args' must be of type 'string[]', but here has type 'any[]'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(241,26): error TS2339: Property 'createTextChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(244,28): error TS2339: Property 'createTextChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(244,60): error TS2339: Property 'localizedFailDescription' does not exist on type 'NetworkRequest'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(246,28): error TS2339: Property 'createTextChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(249,34): error TS2339: Property 'ConsoleViewMessage' does not exist on type '{ new (): Console; prototype: Console; }'. +node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(267,11): error TS2403: Subsequent variable declarations must have the same type. Variable 'args' must be of type 'string[]', but here has type 'any[]'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(304,62): error TS2345: Argument of type '{ maxLength: any; }' is not assignable to parameter of type '{ text: string; className: string; lineNumber: number; columnNumber: number; preventClick: boolean; maxLength: number; }'. Type '{ maxLength: any; }' is missing the following properties from type '{ text: string; className: string; lineNumber: number; columnNumber: number; preventClick: boolean; maxLength: number; }': text, className, lineNumber, columnNumber, preventClick node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(304,82): error TS2339: Property 'ConsoleViewMessage' does not exist on type '{ new (): Console; prototype: Console; }'. @@ -4119,7 +4112,6 @@ node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(13 node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(1380,35): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(1381,48): error TS2345: Argument of type 'TemplateStringsArray' is not assignable to parameter of type 'string | string[]'. Type 'TemplateStringsArray' is not assignable to type 'string[]'. -node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(1381,63): error TS2339: Property 'withThousandsSeparator' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(1388,33): error TS2339: Property 'createChild' does not exist on type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(1389,44): error TS2554: Expected 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/console/ConsoleViewMessage.js(1402,20): error TS2339: Property 'ConsoleViewMessage' does not exist on type '{ new (): Console; prototype: Console; }'. @@ -4314,6 +4306,8 @@ node_modules/chrome-devtools-frontend/front_end/cookie_table/CookiesTable.js(470 node_modules/chrome-devtools-frontend/front_end/cookie_table/CookiesTable.js(489,56): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageDecorationManager.js(50,72): error TS2345: Argument of type 'ContentProvider' is not assignable to parameter of type 'K'. 'ContentProvider' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/coverage/CoverageDecorationManager.js(51,22): error TS2339: Property 'removeDecorationsForType' does not exist on type 'V'. +node_modules/chrome-devtools-frontend/front_end/coverage/CoverageDecorationManager.js(52,22): error TS2339: Property 'addLineDecoration' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageDecorationManager.js(115,49): error TS2345: Argument of type 'ContentProvider' is not assignable to parameter of type 'K'. 'ContentProvider' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageDecorationManager.js(169,16): error TS2403: Subsequent variable declarations must have the same type. Variable 'location' must be of type 'Location', but here has type 'CSSLocation'. @@ -4330,9 +4324,9 @@ node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(18, node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(19,34): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(21,23): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(29,23): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(38,52): error TS2345: Argument of type '({ id: string; title: any; width: string; fixedWidth: boolean; sortable: boolean; align?: undefined; sort?: undefined; } | { id: string; title: any; width: string; fixedWidth: boolean; sortable: boolean; align: string; sort?: undefined; } | { ...; })[]' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }[]'. - Type '{ id: string; title: any; width: string; fixedWidth: boolean; sortable: boolean; align?: undefined; sort?: undefined; } | { id: string; title: any; width: string; fixedWidth: boolean; sortable: boolean; align: string; sort?: undefined; } | { ...; }' is not assignable to type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. - Type '{ id: string; title: any; width: string; fixedWidth: boolean; sortable: boolean; align?: undefined; sort?: undefined; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, editable, nonSelectable, longText, and 2 more. +node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(38,52): error TS2345: Argument of type '({ id: string; title: string; width: string; fixedWidth: boolean; sortable: boolean; align?: undefined; sort?: undefined; } | { id: string; title: string; width: string; fixedWidth: boolean; sortable: boolean; align: string; sort?: undefined; } | { ...; })[]' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }[]'. + Type '{ id: string; title: string; width: string; fixedWidth: boolean; sortable: boolean; align?: undefined; sort?: undefined; } | { id: string; title: string; width: string; fixedWidth: boolean; sortable: boolean; align: string; sort?: undefined; } | { ...; }' is not assignable to type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. + Type '{ id: string; title: string; width: string; fixedWidth: boolean; sortable: boolean; align?: undefined; sort?: undefined; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, editable, nonSelectable, longText, and 2 more. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(112,11): error TS2339: Property 'consume' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(206,25): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageListView.js(208,25): error TS2555: Expected at least 2 arguments, but got 1. @@ -4568,6 +4562,7 @@ node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1722,13): node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1736,37): error TS2339: Property 'children' does not exist on type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1741,33): error TS2339: Property 'children' does not exist on type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1756,24): error TS2339: Property 'revealed' does not exist on type 'NODE_TYPE'. +node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1764,7): error TS2322: Type 'NODE_TYPE' is not assignable to type 'this'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1764,43): error TS2345: Argument of type 'this' is not assignable to parameter of type 'NODE_TYPE'. 'this' is assignable to the constraint of type 'NODE_TYPE', but 'NODE_TYPE' could be instantiated with a different subtype of constraint '{}'. Type 'DataGridNode' is not assignable to type 'NODE_TYPE'. @@ -4576,6 +4571,7 @@ node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1779,26): node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1784,26): error TS2339: Property '_detach' does not exist on type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1792,19): error TS2339: Property 'revealed' does not exist on type 'NODE_TYPE'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1793,17): error TS2339: Property '_attach' does not exist on type 'NODE_TYPE'. +node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1810,7): error TS2322: Type 'NODE_TYPE' is not assignable to type 'this'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1810,43): error TS2345: Argument of type 'this' is not assignable to parameter of type 'NODE_TYPE'. 'this' is assignable to the constraint of type 'NODE_TYPE', but 'NODE_TYPE' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/data_grid/DataGrid.js(1818,48): error TS2339: Property '_isRoot' does not exist on type 'NODE_TYPE'. @@ -5062,6 +5058,7 @@ node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js( Types of parameters 'onfulfilled' and 'onfulfilled' are incompatible. Types of parameters 'value' and 'value' are incompatible. Property 'computedStyle' is missing in type 'CSSMatchedStyles' but required in type 'ComputedStyle'. +node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(91,34): error TS2339: Property 'spread' does not exist on type 'Promise<[any, any, any, any, any, any, any, any, any, any]>'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(147,52): error TS2339: Property 'keysArray' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(179,50): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(200,74): error TS2339: Property 'consume' does not exist on type 'Event'. @@ -5932,6 +5929,7 @@ node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(47 node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(542,14): error TS2339: Property '_extensionOrigin' does not exist on type 'MessagePort'. node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(570,9): error TS2345: Argument of type '{ key: any; code: any; keyCode: any; location: any; ctrlKey: any; altKey: any; shiftKey: any; metaKey: any; }' is not assignable to parameter of type 'KeyboardEventInit'. Object literal may only specify known properties, and 'keyCode' does not exist in type 'KeyboardEventInit'. +node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(577,13): error TS2551: Property '__keyCode' does not exist on type 'KeyboardEvent'. Did you mean 'keyCode'? node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(599,76): error TS2345: Argument of type 'symbol' is not assignable to parameter of type 'string'. node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(603,9): error TS2345: Argument of type 'symbol' is not assignable to parameter of type 'string'. node_modules/chrome-devtools-frontend/front_end/extensions/ExtensionServer.js(649,10): error TS2555: Expected at least 2 arguments, but got 1. @@ -6079,7 +6077,6 @@ node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormattedConten node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(43,13): error TS1345: An expression of type 'void' cannot be tested for truthiness node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(44,24): error TS2339: Property 'token' does not exist on type 'void'. node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(46,20): error TS2345: Argument of type 'void' is not assignable to parameter of type 'string'. -node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(46,69): error TS2339: Property 'length' does not exist on type 'void'. node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(58,26): error TS1110: Type expected. node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(96,3): error TS2554: Expected 2-3 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/formatter_worker/FormatterWorker.js(103,45): error TS2322: Type 'number' is not assignable to type 'boolean'. @@ -7067,56 +7064,56 @@ node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(531,31): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(645,19): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(646,22): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(651,5): error TS2322: Type '{ id: string; title: any; subtitle: any; visible: true; weight: number; hideable: false; nonSelectable: false; alwaysVisible: boolean; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is not assignable to type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }'. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(651,5): error TS2322: Type '{ id: string; title: string; subtitle: string; visible: true; weight: number; hideable: false; nonSelectable: false; alwaysVisible: boolean; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is not assignable to type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }'. Object literal may only specify known properties, and 'alwaysVisible' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }'. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(654,3): error TS2740: Type '{ id: string; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(654,3): error TS2740: Type '{ id: string; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(656,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(659,3): error TS2740: Type '{ id: string; title: any; visible: true; subtitle: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, weight, hideable, nonSelectable, and 4 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(659,3): error TS2740: Type '{ id: string; title: string; visible: true; subtitle: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, weight, hideable, nonSelectable, and 4 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(661,19): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(663,22): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(666,3): error TS2740: Type '{ id: string; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(666,3): error TS2740: Type '{ id: string; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(668,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(671,3): error TS2740: Type '{ id: string; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(671,3): error TS2740: Type '{ id: string; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(673,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(676,3): error TS2740: Type '{ id: string; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(676,3): error TS2740: Type '{ id: string; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(678,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(681,3): error TS2740: Type '{ id: string; title: any; weight: number; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, hideable, and 4 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(681,3): error TS2740: Type '{ id: string; title: string; weight: number; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, hideable, and 4 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(683,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(688,3): error TS2740: Type '{ id: string; title: any; visible: true; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, weight, hideable, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(688,3): error TS2740: Type '{ id: string; title: string; visible: true; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, weight, hideable, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(690,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(694,3): error TS2740: Type '{ id: string; title: any; visible: true; weight: number; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, hideable, nonSelectable, and 4 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(694,3): error TS2740: Type '{ id: string; title: string; visible: true; weight: number; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, hideable, nonSelectable, and 4 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(696,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(701,3): error TS2740: Type '{ id: string; title: any; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(701,3): error TS2740: Type '{ id: string; title: string; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(703,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(707,3): error TS2740: Type '{ id: string; title: any; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(707,3): error TS2740: Type '{ id: string; title: string; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(709,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(713,3): error TS2740: Type '{ id: string; title: any; visible: true; subtitle: any; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, weight, hideable, nonSelectable, and 3 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(713,3): error TS2740: Type '{ id: string; title: string; visible: true; subtitle: string; align: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, weight, hideable, nonSelectable, and 3 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(715,19): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(717,22): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(721,3): error TS2740: Type '{ id: string; title: any; visible: true; subtitle: any; align: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, weight, hideable, nonSelectable, and 3 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(721,3): error TS2740: Type '{ id: string; title: string; visible: true; subtitle: string; align: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, weight, hideable, nonSelectable, and 3 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(723,19): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(725,22): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(729,3): error TS2740: Type '{ id: string; title: any; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(729,3): error TS2740: Type '{ id: string; title: string; sortingFunction: (a: NetworkNode, b: NetworkNode) => number; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(731,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(734,3): error TS2740: Type '{ id: string; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(734,3): error TS2740: Type '{ id: string; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 6 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(736,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(739,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(739,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(742,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(745,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(745,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(748,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(751,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(751,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(754,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(757,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; align: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 4 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(757,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; align: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 4 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(760,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(764,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(764,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(767,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(770,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(770,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(773,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(776,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(776,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(779,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(782,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(782,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(785,19): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(788,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: any; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. +node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(788,3): error TS2740: Type '{ id: string; isResponseHeader: true; title: string; sortingFunction: any; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, visible, weight, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(791,19): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/NetworkLogViewColumns.js(795,3): error TS2740: Type '{ id: string; title: string; visible: false; hideable: false; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; subtitle: string; visible: boolean; weight: number; hideable: boolean; nonSelectable: boolean; sortable: boolean; align: string; isResponseHeader: boolean; sortingFunction: (arg0: NetworkNode, arg1: NetworkNode) => number; isCustomHeader: boolean; }': titleDOMFragment, subtitle, weight, nonSelectable, and 5 more. node_modules/chrome-devtools-frontend/front_end/network/NetworkManageCustomHeadersView.js(22,25): error TS2339: Property 'createChild' does not exist on type 'Element'. @@ -7289,11 +7286,11 @@ node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameVi node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(100,53): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(111,39): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(158,58): error TS2339: Property 'value' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(230,3): error TS2741: Property 'title' is missing in type '{ name: string; label: any; }' but required in type '{ name: string; label: string; title: string; }'. +node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(230,3): error TS2741: Property 'title' is missing in type '{ name: string; label: string; }' but required in type '{ name: string; label: string; title: string; }'. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(230,31): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(231,3): error TS2741: Property 'title' is missing in type '{ name: string; label: any; }' but required in type '{ name: string; label: string; title: string; }'. +node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(231,3): error TS2741: Property 'title' is missing in type '{ name: string; label: string; }' but required in type '{ name: string; label: string; title: string; }'. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(231,32): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(232,3): error TS2741: Property 'title' is missing in type '{ name: string; label: any; }' but required in type '{ name: string; label: string; title: string; }'. +node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(232,3): error TS2741: Property 'title' is missing in type '{ name: string; label: string; }' but required in type '{ name: string; label: string; title: string; }'. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(232,35): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(250,14): error TS2339: Property 'createTextChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/network/ResourceWebSocketFrameView.js(251,14): error TS2339: Property 'title' does not exist on type 'Element'. @@ -7750,6 +7747,8 @@ node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.j node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.js(267,17): error TS2304: Cannot find name 'FileEntry'. node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.js(278,17): error TS2304: Cannot find name 'FileError'. node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.js(317,14): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. +node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.js(344,16): error TS2345: Argument of type 'string | ArrayBuffer' is not assignable to parameter of type 'string'. + Type 'ArrayBuffer' is not assignable to type 'string'. node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.js(344,31): error TS2345: Argument of type 'string | ArrayBuffer' is not assignable to parameter of type 'string'. Type 'ArrayBuffer' is not assignable to type 'string'. node_modules/chrome-devtools-frontend/front_end/persistence/IsolatedFileSystem.js(357,14): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. @@ -7801,6 +7800,7 @@ node_modules/chrome-devtools-frontend/front_end/persistence/Persistence.js(341,5 'UISourceCode' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/persistence/Persistence.js(343,74): error TS2345: Argument of type 'UISourceCode' is not assignable to parameter of type 'K'. 'UISourceCode' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/persistence/Persistence.js(345,16): error TS2339: Property 'call' does not exist on type 'V'. node_modules/chrome-devtools-frontend/front_end/persistence/PersistenceActions.js(30,51): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/persistence/PersistenceActions.js(34,16): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/persistence/PersistenceActions.js(39,51): error TS2555: Expected at least 2 arguments, but got 1. @@ -8432,8 +8432,6 @@ node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(131, node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(133,15): error TS2339: Property '_populated' does not exist on type 'ProfileDataGridNode | ProfileDataGridTree'. Property '_populated' does not exist on type 'ProfileDataGridNode'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(135,15): error TS2339: Property 'populateChildren' does not exist on type 'ProfileDataGridNode | ProfileDataGridTree'. -node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(140,17): error TS2349: This expression is not callable. - Each member of the union type '((comparator: (arg0: T, arg1: T) => any, force: boolean) => any) | ((comparator: (arg0: T, arg1: T) => any, force: boolean) => void)' has signatures, but none of those signatures are compatible with each other. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(153,49): error TS2339: Property '_searchMatchedSelfColumn' does not exist on type 'ProfileDataGridNode'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(158,49): error TS2339: Property '_searchMatchedTotalColumn' does not exist on type 'ProfileDataGridNode'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileDataGrid.js(163,49): error TS2339: Property '_searchMatchedFunctionColumn' does not exist on type 'ProfileDataGridNode'. @@ -8489,8 +8487,8 @@ node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(20,7): e Object literal may only specify known properties, and 'width' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(25,67): error TS2345: Argument of type '{ id: string; title: string; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Object literal may only specify known properties, and 'width' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. -node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(26,18): error TS2345: Argument of type '{ id: string; title: any; disclosure: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. - Type '{ id: string; title: any; disclosure: true; sortable: true; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, sort, align, fixedWidth, and 4 more. +node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(26,18): error TS2345: Argument of type '{ id: string; title: string; disclosure: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. + Type '{ id: string; title: string; disclosure: true; sortable: true; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, sort, align, fixedWidth, and 4 more. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(26,49): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(35,52): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/profiler/ProfileView.js(39,54): error TS2555: Expected at least 2 arguments, but got 1. @@ -8814,7 +8812,7 @@ node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(125, node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(128,67): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(130,40): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(148,47): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(148,79): error TS2345: Argument of type '{ id: string; title: any; sortable: false; width: string; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. +node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(148,79): error TS2345: Argument of type '{ id: string; title: string; sortable: false; width: string; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Object literal may only specify known properties, and 'width' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(150,9): error TS2345: Argument of type '{ id: string; titleDOMFragment: DocumentFragment; sortable: false; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Type '{ id: string; titleDOMFragment: DocumentFragment; sortable: false; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': title, sort, align, fixedWidth, and 5 more. @@ -8822,8 +8820,8 @@ node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(150, node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(152,20): error TS2345: Argument of type '{ id: string; titleDOMFragment: DocumentFragment; sortable: false; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Type '{ id: string; titleDOMFragment: DocumentFragment; sortable: false; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': title, sort, align, fixedWidth, and 5 more. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(154,64): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(158,18): error TS2345: Argument of type '{ id: string; title: any; sortable: false; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. - Type '{ id: string; title: any; sortable: false; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, sort, align, fixedWidth, and 5 more. +node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(158,18): error TS2345: Argument of type '{ id: string; title: string; sortable: false; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. + Type '{ id: string; title: string; sortable: false; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, sort, align, fixedWidth, and 5 more. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(158,46): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(174,29): error TS2339: Property 'createTextChild' does not exist on type 'DocumentFragment'. node_modules/chrome-devtools-frontend/front_end/resources/IndexedDBViews.js(178,29): error TS2339: Property 'createTextChild' does not exist on type 'DocumentFragment'. @@ -8894,6 +8892,8 @@ node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js( node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(324,12): error TS2339: Property 'type' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(329,54): error TS2345: Argument of type '{ lineNumbers: boolean; lineWrapping: boolean; autoHeight: boolean; padBottom: boolean; mimeType: string; }' is not assignable to parameter of type '{ bracketMatchingSetting: Setting; lineNumbers: boolean; lineWrapping: boolean; mimeType: string; autoHeight: boolean; padBottom: boolean; maxHighlightLength: number; placeholder: string; }'. Type '{ lineNumbers: boolean; lineWrapping: boolean; autoHeight: boolean; padBottom: boolean; mimeType: string; }' is missing the following properties from type '{ bracketMatchingSetting: Setting; lineNumbers: boolean; lineWrapping: boolean; mimeType: string; autoHeight: boolean; padBottom: boolean; maxHighlightLength: number; placeholder: string; }': bracketMatchingSetting, maxHighlightLength, placeholder +node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(332,13): error TS2339: Property 'key' does not exist on type 'Event'. +node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(333,11): error TS2339: Property 'consume' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(343,66): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(344,21): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/resources/ServiceWorkersView.js(346,45): error TS2555: Expected at least 2 arguments, but got 1. @@ -9858,8 +9858,10 @@ node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(85,41): 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(86,46): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(86,63): error TS2339: Property 'valuesArray' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(87,51): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(87,68): error TS2339: Property 'valuesArray' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(141,49): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/sdk/SourceMapManager.js(146,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. @@ -10483,6 +10485,8 @@ node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(194,22) node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(212,22): error TS2339: Property 'updateTitle' does not exist on type 'NavigatorTreeNode'. node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(283,55): error TS2345: Argument of type 'UISourceCode' is not assignable to parameter of type 'K'. 'UISourceCode' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(283,88): error TS2339: Property 'frame' does not exist on type 'V'. +node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(284,34): error TS2345: Argument of type 'V' is not assignable to parameter of type 'NavigatorUISourceCodeTreeNode'. node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(336,33): error TS2345: Argument of type 'UISourceCode' is not assignable to parameter of type 'K'. 'UISourceCode' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/sources/NavigatorView.js(388,58): error TS2339: Property 'reverse' does not exist on type 'string'. @@ -10653,6 +10657,7 @@ node_modules/chrome-devtools-frontend/front_end/sources/SourcesSearchScope.js(16 node_modules/chrome-devtools-frontend/front_end/sources/SourcesSearchScope.js(183,14): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. node_modules/chrome-devtools-frontend/front_end/sources/SourcesSearchScope.js(257,29): error TS2339: Property 'mergeOrdered' does not exist on type 'any[]'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(38,50): error TS2339: Property 'createChild' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(83,7): error TS2322: Type 'string' is not assignable to type 'boolean'. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(83,34): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(101,56): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/sources/SourcesView.js(102,58): error TS2555: Expected at least 2 arguments, but got 1. @@ -10784,6 +10789,7 @@ node_modules/chrome-devtools-frontend/front_end/sources_test_runner/BreakpointMa node_modules/chrome-devtools-frontend/front_end/sources_test_runner/BreakpointManagerTestRunner.js(257,10): error TS2304: Cannot find name 'uiSourceCode'. node_modules/chrome-devtools-frontend/front_end/sources_test_runner/BreakpointManagerTestRunner.js(317,7): error TS2345: Argument of type '{ get: () => any; set: (breakpoints: any) => void; }' is not assignable to parameter of type 'Setting'. Type '{ get: () => any; set: (breakpoints: any) => void; }' is missing the following properties from type 'Setting': _settings, _name, _defaultValue, _eventSupport, and 15 more. +node_modules/chrome-devtools-frontend/front_end/sources_test_runner/BreakpointManagerTestRunner.js(318,21): error TS2339: Property 'defaultMapping' does not exist on type 'BreakpointManager'. node_modules/chrome-devtools-frontend/front_end/sources_test_runner/BreakpointManagerTestRunner.js(333,12): error TS2339: Property 'setBreakpointCallback' does not exist on type 'Window & typeof globalThis'. node_modules/chrome-devtools-frontend/front_end/sources_test_runner/DebuggerTestRunner.js(125,28): error TS2339: Property 'sprintf' does not exist on type 'StringConstructor'. node_modules/chrome-devtools-frontend/front_end/sources_test_runner/DebuggerTestRunner.js(170,17): error TS2339: Property 'sources' does not exist on type 'any[]'. @@ -11010,6 +11016,9 @@ node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(856,13): error TS2339: Property 'style' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(863,27): error TS2345: Argument of type 'number' is not assignable to parameter of type 'K'. 'number' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(863,47): error TS2345: Argument of type '(decoration: { element: Element; widget: LineWidget; update: () => any; }) => void' is not assignable to parameter of type '(value: V, value2: V, set: Set) => void'. + Types of parameters 'decoration' and 'value' are incompatible. + Type 'V' is not assignable to type '{ element: Element; widget: LineWidget; update: () => any; }'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(879,27): error TS2345: Argument of type 'number' is not assignable to parameter of type 'K'. 'number' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(889,32): error TS2345: Argument of type 'number' is not assignable to parameter of type 'K'. @@ -11127,7 +11136,7 @@ node_modules/chrome-devtools-frontend/front_end/timeline/CountersGraph.js(438,24 node_modules/chrome-devtools-frontend/front_end/timeline/CountersGraph.js(563,19): error TS2339: Property 'preciseMillisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/EventsTimelineTreeView.js(63,32): error TS2339: Property 'peekLast' does not exist on type 'IterableIterator[]'. node_modules/chrome-devtools-frontend/front_end/timeline/EventsTimelineTreeView.js(95,41): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/EventsTimelineTreeView.js(95,65): error TS2345: Argument of type '{ id: string; title: any; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/EventsTimelineTreeView.js(95,65): error TS2345: Argument of type '{ id: string; title: string; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Object literal may only specify known properties, and 'width' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. node_modules/chrome-devtools-frontend/front_end/timeline/EventsTimelineTreeView.js(97,54): error TS2339: Property 'width' does not exist on type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. node_modules/chrome-devtools-frontend/front_end/timeline/EventsTimelineTreeView.js(158,80): error TS2555: Expected at least 2 arguments, but got 1. @@ -11271,7 +11280,7 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetwo node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetworkDataProvider.js(309,87): error TS2339: Property 'millisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetworkDataProvider.js(313,69): error TS2694: Namespace 'Protocol' has no exported member 'Network'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetworkDataProvider.js(360,56): error TS2339: Property 'peekLast' does not exist on type 'number[]'. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetworkDataProvider.js(372,10): error TS2322: Type '{ startLevel: number; name: any; expanded: boolean; style: { padding: number; height: number; collapsible: boolean; color: string; font: string; backgroundColor: string; nestingLevel: number; useFirstLineForOverview: boolean; useDecoratorsForOverview: boolean; shareHeaderLine: boolean; }; }' is not assignable to type '{ name: string; startLevel: number; expanded: boolean; style: { height: number; padding: number; collapsible: boolean; font: string; color: string; backgroundColor: string; nestingLevel: number; itemsHeight: number; shareHeaderLine: boolean; useFirstLineForOverview: boolean; useDecoratorsForOverview: boolean; }; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetworkDataProvider.js(372,10): error TS2322: Type '{ startLevel: number; name: string; expanded: boolean; style: { padding: number; height: number; collapsible: boolean; color: string; font: string; backgroundColor: string; nestingLevel: number; useFirstLineForOverview: boolean; useDecoratorsForOverview: boolean; shareHeaderLine: boolean; }; }' is not assignable to type '{ name: string; startLevel: number; expanded: boolean; style: { height: number; padding: number; collapsible: boolean; font: string; color: string; backgroundColor: string; nestingLevel: number; itemsHeight: number; shareHeaderLine: boolean; useFirstLineForOverview: boolean; useDecoratorsForOverview: boolean; }; }'. Types of property 'style' are incompatible. Property 'itemsHeight' is missing in type '{ padding: number; height: number; collapsible: boolean; color: string; font: string; backgroundColor: string; nestingLevel: number; useFirstLineForOverview: boolean; useDecoratorsForOverview: boolean; shareHeaderLine: boolean; }' but required in type '{ height: number; padding: number; collapsible: boolean; font: string; color: string; backgroundColor: string; nestingLevel: number; itemsHeight: number; shareHeaderLine: boolean; useFirstLineForOverview: boolean; useDecoratorsForOverview: boolean; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineFlameChartNetworkDataProvider.js(391,64): error TS2339: Property 'constrain' does not exist on type 'NumberConstructor'. @@ -11302,6 +11311,7 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager. Type 'T' is not assignable to type 'PerformanceModel'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager.js(289,17): error TS7014: Function type, which lacks return-type annotation, implicitly has an 'any' return type. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager.js(319,48): error TS2339: Property 'boxInWindow' does not exist on type 'Element'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager.js(321,31): error TS2339: Property 'focus' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager.js(331,29): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager.js(342,23): error TS2339: Property 'enclosingNodeOrSelfWithClass' does not exist on type 'EventTarget'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineHistoryManager.js(351,19): error TS2339: Property 'key' does not exist on type 'Event'. @@ -11381,13 +11391,13 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(134 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(162,76): error TS2339: Property 'value' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(173,59): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(289,45): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(289,68): error TS2345: Argument of type '{ id: string; title: any; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(289,68): error TS2345: Argument of type '{ id: string; title: string; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Object literal may only specify known properties, and 'width' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(290,46): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(290,70): error TS2345: Argument of type '{ id: string; title: any; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(290,70): error TS2345: Argument of type '{ id: string; title: string; width: string; fixedWidth: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. Object literal may only specify known properties, and 'width' does not exist in type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(291,18): error TS2345: Argument of type '{ id: string; title: any; disclosure: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. - Type '{ id: string; title: any; disclosure: true; sortable: true; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, sort, align, fixedWidth, and 4 more. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(291,18): error TS2345: Argument of type '{ id: string; title: string; disclosure: true; sortable: true; }' is not assignable to parameter of type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }'. + Type '{ id: string; title: string; disclosure: true; sortable: true; }' is missing the following properties from type '{ id: string; title: string; titleDOMFragment: DocumentFragment; sortable: boolean; sort: string; align: string; fixedWidth: boolean; editable: boolean; nonSelectable: boolean; longText: boolean; disclosure: boolean; weight: number; }': titleDOMFragment, sort, align, fixedWidth, and 4 more. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(291,49): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(372,31): error TS2339: Property 'removeChildren' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(375,44): error TS2339: Property 'createChild' does not exist on type 'Element'. @@ -11402,8 +11412,7 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(712 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(717,9): error TS2741: Property 'icon' is missing in type '{ name: string; color: string; }' but required in type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(727,9): error TS2741: Property 'icon' is missing in type '{ name: string; color: string; }' but required in type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(731,20): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(733,9): error TS2741: Property 'icon' is missing in type '{ name: any; color: string; }' but required in type '{ name: string; color: string; icon: Element; }'. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(743,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'name' must be of type 'any', but here has type 'string'. +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(733,9): error TS2741: Property 'icon' is missing in type '{ name: string; color: string; }' but required in type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(753,98): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(754,9): error TS2741: Property 'icon' is missing in type '{ name: any; color: string; }' but required in type '{ name: string; color: string; icon: Element; }'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(759,5): error TS2741: Property 'icon' is missing in type '{ name: string; color: string; }' but required in type '{ name: string; color: string; icon: Element; }'. @@ -11415,8 +11424,8 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(774 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(775,22): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(776,22): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(777,22): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(779,61): error TS2345: Argument of type '{ label: any; value: string; }[]' is not assignable to parameter of type '{ value: string; label: string; title: string; default: boolean; }[]'. - Type '{ label: any; value: string; }' is missing the following properties from type '{ value: string; label: string; title: string; default: boolean; }': title, default +node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(779,61): error TS2345: Argument of type '{ label: string; value: string; }[]' is not assignable to parameter of type '{ value: string; label: string; title: string; default: boolean; }[]'. + Type '{ label: string; value: string; }' is missing the following properties from type '{ value: string; label: string; title: string; default: boolean; }': title, default node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(781,84): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(871,25): error TS2339: Property 'asParsedURL' does not exist on type 'string'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineTreeView.js(896,25): error TS2339: Property 'asParsedURL' does not exist on type 'string'. @@ -11725,7 +11734,6 @@ node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1860 node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1861,14): error TS2339: Property 'createTextChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1861,37): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1864,35): error TS2555: Expected at least 2 arguments, but got 1. -node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1866,20): error TS2339: Property 'millisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1869,70): error TS2339: Property 'millisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1872,80): error TS2339: Property 'millisToString' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/timeline/TimelineUIUtils.js(1876,79): error TS2555: Expected at least 2 arguments, but got 1. @@ -12230,10 +12238,13 @@ node_modules/chrome-devtools-frontend/front_end/ui/SettingsUI.js(119,27): error node_modules/chrome-devtools-frontend/front_end/ui/SettingsUI.js(133,24): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/ui/SettingsUI.js(155,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(26,83): error TS2339: Property 'valuesArray' does not exist on type 'Set'. +node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(34,5): error TS2322: Type 'Set' is not assignable to type 'Set'. + Type 'V' is not assignable to type 'string'. node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(34,42): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(42,46): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. +node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(42,56): error TS2339: Property 'valuesArray' does not exist on type 'Set'. node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(88,15): error TS2339: Property 'consume' does not exist on type 'KeyboardEvent'. node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(94,15): error TS2339: Property 'consume' does not exist on type 'KeyboardEvent'. node_modules/chrome-devtools-frontend/front_end/ui/ShortcutRegistry.js(147,39): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. @@ -12874,6 +12885,8 @@ node_modules/chrome-devtools-frontend/front_end/workspace/UISourceCode.js(557,33 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/workspace/UISourceCode.js(567,5): error TS2322: Type 'V[]' is not assignable to type 'LineMarker[]'. Type 'V' is not assignable to type 'LineMarker'. +node_modules/chrome-devtools-frontend/front_end/workspace/UISourceCode.js(584,5): error TS2322: Type 'Set' is not assignable to type 'Set'. + Type 'V' is not assignable to type 'LineMarker'. node_modules/chrome-devtools-frontend/front_end/workspace/UISourceCode.js(584,54): error TS2345: Argument of type 'string' is not assignable to parameter of type 'K'. 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint '{}'. node_modules/chrome-devtools-frontend/front_end/workspace/Workspace.js(37,15): error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value. diff --git a/tests/baselines/reference/user/create-react-app.log b/tests/baselines/reference/user/create-react-app.log index d2ccce82e6a10..3394f11fac602 100644 --- a/tests/baselines/reference/user/create-react-app.log +++ b/tests/baselines/reference/user/create-react-app.log @@ -4,6 +4,8 @@ test/fixtures/issue-5176-flow-class-properties/src/App.js(5,8): error TS8010: Ty test/fixtures/issue-5176-flow-class-properties/src/App.js(5,13): error TS1005: ';' expected. test/fixtures/webpack-message-formatting/src/AppBabel.js(6,8): error TS17008: JSX element 'div' has no corresponding closing tag. test/fixtures/webpack-message-formatting/src/AppBabel.js(8,7): error TS17002: Expected corresponding JSX closing tag for 'span'. +test/fixtures/webpack-message-formatting/src/AppBabel.js(10,3): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? +test/fixtures/webpack-message-formatting/src/AppBabel.js(11,1): error TS1381: Unexpected token. Did you mean `{'}'}` or `}`? test/fixtures/webpack-message-formatting/src/AppBabel.js(14,1): error TS1005: ' any'. -node_modules/lodash/_createHybrid.js(69,40): error TS2532: Object is possibly 'undefined'. node_modules/lodash/_createHybrid.js(73,38): error TS2538: Type 'Function' cannot be used as an index type. node_modules/lodash/_createHybrid.js(81,18): error TS2532: Object is possibly 'undefined'. node_modules/lodash/_createHybrid.js(82,7): error TS2322: Type 'number | undefined' is not assignable to type 'number'. @@ -232,6 +230,7 @@ node_modules/lodash/core.js(1566,57): error TS2554: Expected 1 arguments, but go node_modules/lodash/core.js(1709,41): error TS2532: Object is possibly 'undefined'. node_modules/lodash/core.js(1745,18): error TS2348: Value of type 'typeof lodash' is not callable. Did you mean to include 'new'? node_modules/lodash/core.js(2183,41): error TS8024: JSDoc '@param' tag has name 'iteratees', but there is no parameter with that name. +node_modules/lodash/core.js(2473,21): error TS1345: An expression of type 'void' cannot be tested for truthiness node_modules/lodash/core.js(2473,37): error TS2554: Expected 0 arguments, but got 1. node_modules/lodash/core.js(2644,12): error TS2554: Expected 3-5 arguments, but got 2. node_modules/lodash/core.js(3245,58): error TS2345: Argument of type 'string | any[]' is not assignable to parameter of type 'string | number | symbol'. @@ -351,7 +350,6 @@ node_modules/lodash/mapValues.js(38,34): error TS2722: Cannot invoke an object w node_modules/lodash/matches.js(36,40): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. node_modules/lodash/matchesProperty.js(34,30): error TS2345: Argument of type 'string | any[]' is not assignable to parameter of type 'string'. Type 'any[]' is not assignable to type 'string'. -node_modules/lodash/matchesProperty.js(34,56): error TS2345: Argument of type 'number' is not assignable to parameter of type 'boolean'. node_modules/lodash/maxBy.js(30,50): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/meanBy.js(28,49): error TS2554: Expected 0-1 arguments, but got 2. node_modules/lodash/minBy.js(30,50): error TS2554: Expected 0-1 arguments, but got 2. diff --git a/tests/baselines/reference/user/npm.log b/tests/baselines/reference/user/npm.log index bed14408b4e58..6f874acf9a6ba 100644 --- a/tests/baselines/reference/user/npm.log +++ b/tests/baselines/reference/user/npm.log @@ -106,6 +106,8 @@ node_modules/npm/lib/config.js(84,19): error TS2339: Property 'config' does not node_modules/npm/lib/config.js(85,15): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/config.js(87,7): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/config.js(93,25): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. +node_modules/npm/lib/config.js(118,31): error TS2345: Argument of type '(er: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any) => any' has no properties in common with type 'Options'. Did you mean to call it? node_modules/npm/lib/config.js(135,19): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/config.js(136,7): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/config.js(137,7): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. @@ -167,6 +169,8 @@ node_modules/npm/lib/config/core.js(208,24): error TS2339: Property 'list' does node_modules/npm/lib/config/core.js(237,21): error TS2339: Property 'sources' does not exist on type 'Conf'. node_modules/npm/lib/config/core.js(245,17): error TS2339: Property 'emit' does not exist on type 'Conf'. node_modules/npm/lib/config/core.js(279,8): error TS2339: Property '_saving' does not exist on type 'Conf'. +node_modules/npm/lib/config/core.js(288,39): error TS2345: Argument of type '(er: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any) => any' has no properties in common with type 'Options'. Did you mean to call it? node_modules/npm/lib/config/core.js(307,8): error TS2339: Property 'sources' does not exist on type 'Conf'. node_modules/npm/lib/config/core.js(308,8): error TS2339: Property 'push' does not exist on type 'Conf'. node_modules/npm/lib/config/core.js(309,8): error TS2339: Property '_await' does not exist on type 'Conf'. @@ -237,6 +241,8 @@ node_modules/npm/lib/config/pacote.js(84,31): error TS2339: Property 'config' do node_modules/npm/lib/config/pacote.js(89,19): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/config/pacote.js(90,38): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/config/pacote.js(110,60): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. +node_modules/npm/lib/config/set-user.js(22,18): error TS2345: Argument of type '(er: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any) => any' has no properties in common with type 'Options'. Did you mean to call it? node_modules/npm/lib/dedupe.js(35,32): error TS2339: Property 'dir' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/dedupe.js(37,11): error TS2339: Property 'command' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/dedupe.js(38,11): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. @@ -387,6 +393,8 @@ node_modules/npm/lib/install.js(948,8): error TS2454: Variable 'previousPath' is node_modules/npm/lib/install.js(985,53): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install.js(1007,53): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install/access-error.js(4,60): error TS2554: Expected 0-1 arguments, but got 2. +node_modules/npm/lib/install/access-error.js(5,12): error TS2339: Property 'code' does not exist on type 'Error'. +node_modules/npm/lib/install/access-error.js(6,12): error TS2339: Property 'path' does not exist on type 'Error'. node_modules/npm/lib/install/action/build.js(10,50): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install/action/extract.js(39,40): error TS2339: Property 'limit' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install/action/extract.js(81,9): error TS2322: Type 'string' is not assignable to type 'any[]'. @@ -397,6 +405,8 @@ node_modules/npm/lib/install/action/global-link.js(7,7): error TS2339: Property node_modules/npm/lib/install/action/refresh-package-json.js(31,43): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install/action/remove.js(25,37): error TS2339: Property 'prefix' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install/action/remove.js(25,51): error TS2339: Property 'prefix' does not exist on type 'typeof EventEmitter'. +node_modules/npm/lib/install/action/remove.js(55,49): error TS2345: Argument of type '(mkdirEr: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(mkdirEr: any) => void' has no properties in common with type 'Options'. node_modules/npm/lib/install/actions.js(126,24): error TS2339: Property 'limit' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/install/actions.js(168,16): error TS2769: No overload matches this call. The last overload gave the following error. @@ -720,6 +730,8 @@ node_modules/npm/lib/search/all-package-metadata.js(33,30): error TS2339: Proper node_modules/npm/lib/search/all-package-metadata.js(36,35): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/search/all-package-metadata.js(146,7): error TS2339: Property 'registry' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/search/all-package-metadata.js(239,20): error TS2339: Property 'cache' does not exist on type 'typeof EventEmitter'. +node_modules/npm/lib/search/all-package-metadata.js(241,22): error TS2345: Argument of type '(er: any, made: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any, made: any) => any' has no properties in common with type 'Options'. Did you mean to call it? node_modules/npm/lib/search/esearch.js(15,36): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/search/esearch.js(35,7): error TS2339: Property 'registry' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/search/format-package-stream.js(130,31): error TS2339: Property 'fd' does not exist on type 'WriteStream'. @@ -788,6 +800,8 @@ node_modules/npm/lib/unpublish.js(97,70): error TS2339: Property 'registry' does node_modules/npm/lib/update.js(10,41): error TS2339: Property 'commands' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/update.js(17,25): error TS2339: Property 'commands' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/update.js(25,11): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. +node_modules/npm/lib/utils/completion/file-completion.js(11,15): error TS2345: Argument of type '(er: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any) => any' has no properties in common with type 'Options'. Did you mean to call it? node_modules/npm/lib/utils/completion/installed-deep.js(9,19): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/utils/completion/installed-deep.js(12,11): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/utils/completion/installed-deep.js(16,23): error TS2339: Property 'prefix' does not exist on type 'typeof EventEmitter'. @@ -799,6 +813,12 @@ node_modules/npm/lib/utils/completion/installed-shallow.js(22,11): error TS2339: node_modules/npm/lib/utils/completion/installed-shallow.js(57,28): error TS2339: Property 'dir' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/utils/completion/installed-shallow.js(66,23): error TS2339: Property 'globalDir' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/utils/completion/installed-shallow.js(79,14): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. +node_modules/npm/lib/utils/correct-mkdir.js(74,25): error TS2345: Argument of type '(er: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any) => any' has no properties in common with type 'Options'. Did you mean to call it? +node_modules/npm/lib/utils/correct-mkdir.js(89,18): error TS2345: Argument of type '(er: any, made: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any, made: any) => any' has no properties in common with type 'Options'. Did you mean to call it? +node_modules/npm/lib/utils/correct-mkdir.js(103,20): error TS2345: Argument of type '(er: any, made: any) => any' is not assignable to parameter of type 'string | number | Options | undefined'. + Value of type '(er: any, made: any) => any' has no properties in common with type 'Options'. Did you mean to call it? node_modules/npm/lib/utils/error-handler.js(12,21): error TS2339: Property 'rollbacks' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/utils/error-handler.js(23,36): error TS2339: Property 'config' does not exist on type 'typeof EventEmitter'. node_modules/npm/lib/utils/error-handler.js(29,16): error TS2339: Property 'version' does not exist on type 'typeof EventEmitter'. @@ -1063,6 +1083,8 @@ node_modules/npm/test/tap/404-private-registry.js(1,20): error TS2307: Cannot fi node_modules/npm/test/tap/404-private-registry.js(6,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/access.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/access.js(7,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/access.js(19,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/add-named-update-protocol-port.js(3,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/add-named-update-protocol-port.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/add-remote-git-file.js(10,20): error TS2307: Cannot find module 'tap'. @@ -1084,6 +1106,8 @@ node_modules/npm/test/tap/adduser-always-auth.js(4,18): error TS2307: Cannot fin node_modules/npm/test/tap/adduser-always-auth.js(6,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/adduser-legacy-auth.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/adduser-legacy-auth.js(7,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/adduser-legacy-auth.js(45,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/adduser-oauth.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/adduser-oauth.js(7,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/adduser-saml.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. @@ -1174,6 +1198,7 @@ node_modules/npm/test/tap/config-builtin.js(61,13): error TS2531: Object is poss node_modules/npm/test/tap/config-certfile.js(5,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/config-credentials.js(1,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/config-edit.js(6,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/config-edit.js(27,25): error TS2554: Expected 1-2 arguments, but got 3. node_modules/npm/test/tap/config-envReplace.js(6,22): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/config-list.js(3,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/config-malformed.js(1,20): error TS2307: Cannot find module 'tap'. @@ -1208,6 +1233,8 @@ node_modules/npm/test/tap/deprecate.js(1,18): error TS2307: Cannot find module ' node_modules/npm/test/tap/deprecate.js(3,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/dist-tag.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/dist-tag.js(7,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/dist-tag.js(49,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/do-not-remove-other-bins.js(8,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/doctor.js(5,20): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/doctor.js(9,23): error TS2307: Cannot find module 'tacks'. @@ -1491,6 +1518,12 @@ node_modules/npm/test/tap/owner.js(2,20): error TS2307: Cannot find module 'tap' node_modules/npm/test/tap/pack-files-and-ignores.js(2,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/pack-files-and-ignores.js(12,21): error TS2307: Cannot find module 'tacks'. node_modules/npm/test/tap/pack-scoped.js(2,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/pack-scoped.js(24,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. +node_modules/npm/test/tap/pack-scoped.js(25,17): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. +node_modules/npm/test/tap/pack-scoped.js(26,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/pack.js(5,22): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/peer-deps.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/peer-deps.js(8,20): error TS2307: Cannot find module 'tap'. @@ -1514,10 +1547,22 @@ node_modules/npm/test/tap/pick-manifest-from-registry-metadata.js(137,11): error node_modules/npm/test/tap/ping.js(5,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/ping.js(7,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/prepare.js(3,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/prepare.js(16,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. +node_modules/npm/test/tap/prepare.js(17,17): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. +node_modules/npm/test/tap/prepare.js(18,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/prepublish-only.js(4,18): error TS2307: Cannot find module 'npm-registry-mock'. node_modules/npm/test/tap/prepublish-only.js(5,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/prepublish-only.js(6,21): error TS2307: Cannot find module 'tacks'. node_modules/npm/test/tap/prepublish.js(3,20): error TS2307: Cannot find module 'tap'. +node_modules/npm/test/tap/prepublish.js(16,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. +node_modules/npm/test/tap/prepublish.js(17,17): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. +node_modules/npm/test/tap/prepublish.js(18,15): error TS2345: Argument of type '(er: any) => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '(er: any) => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/process-logger.js(2,22): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/process-logger.js(7,61): error TS2554: Expected 1-3 arguments, but got 4. node_modules/npm/test/tap/process-logger.js(8,37): error TS2769: No overload matches this call. @@ -1543,9 +1588,13 @@ node_modules/npm/test/tap/prune.js(5,18): error TS2307: Cannot find module 'npm- node_modules/npm/test/tap/prune.js(8,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-access-scoped.js(4,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-access-scoped.js(7,18): error TS2307: Cannot find module 'npm-registry-mock'. +node_modules/npm/test/tap/publish-access-scoped.js(31,35): error TS2345: Argument of type '() => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '() => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/publish-access-unscoped-restricted-fails.js(4,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-access-unscoped.js(4,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-access-unscoped.js(7,18): error TS2307: Cannot find module 'npm-registry-mock'. +node_modules/npm/test/tap/publish-access-unscoped.js(31,35): error TS2345: Argument of type '() => void' is not assignable to parameter of type 'string | number | Options | undefined'. + Type '() => void' has no properties in common with type 'Options'. node_modules/npm/test/tap/publish-config.js(4,22): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-invalid-semver-tag.js(2,20): error TS2307: Cannot find module 'tap'. node_modules/npm/test/tap/publish-invalid-semver-tag.js(8,18): error TS2307: Cannot find module 'npm-registry-mock'. diff --git a/tests/baselines/reference/user/puppeteer.log b/tests/baselines/reference/user/puppeteer.log index 83f720a6fcc89..16eeeaa6d75de 100644 --- a/tests/baselines/reference/user/puppeteer.log +++ b/tests/baselines/reference/user/puppeteer.log @@ -53,6 +53,8 @@ lib/Page.js(93,33): error TS2345: Argument of type 'CDPSession' is not assignabl Type 'T' is not assignable to type 'symbol'. Type 'string | number | symbol' is not assignable to type 'symbol'. Type 'string' is not assignable to type 'symbol'. +lib/Page.js(94,42): error TS2345: Argument of type 'Worker' is not assignable to parameter of type 'Worker'. + Type 'Worker' is missing the following properties from type 'Worker': onmessage, postMessage, terminate, addEventListener, and 3 more. lib/Page.js(142,15): error TS2503: Cannot find namespace 'Protocol'. lib/Page.js(217,15): error TS2503: Cannot find namespace 'Protocol'. lib/Page.js(385,20): error TS2503: Cannot find namespace 'Protocol'. @@ -70,7 +72,7 @@ lib/Page.js(1352,15): error TS2503: Cannot find namespace 'Protocol'. lib/Target.js(23,15): error TS2503: Cannot find namespace 'Protocol'. lib/Target.js(87,7): error TS2322: Type 'Promise' is not assignable to type 'Promise'. Type 'Worker | Worker' is not assignable to type 'Worker'. - Type 'Worker' is missing the following properties from type 'Worker': onmessage, postMessage, terminate, addEventListener, and 3 more. + Type 'Worker' is not assignable to type 'Worker'. Two different types with this name exist, but they are unrelated. lib/Target.js(135,15): error TS2503: Cannot find namespace 'Protocol'. lib/WebSocketTransport.js(32,72): error TS2345: Argument of type 'import("/puppeteer/puppeteer/node_modules/@types/ws/index")' is not assignable to parameter of type 'WebSocket'. Property 'dispatchEvent' is missing in type 'import("/puppeteer/puppeteer/node_modules/@types/ws/index")' but required in type 'WebSocket'. diff --git a/tests/baselines/reference/user/uglify-js.log b/tests/baselines/reference/user/uglify-js.log index cee210e47b94c..d7aa7504f09a3 100644 --- a/tests/baselines/reference/user/uglify-js.log +++ b/tests/baselines/reference/user/uglify-js.log @@ -12,6 +12,11 @@ node_modules/uglify-js/lib/ast.js(988,29): error TS2339: Property 'parent' does node_modules/uglify-js/lib/compress.js(188,42): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/compress.js(536,41): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/compress.js(876,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(881,12): error TS2339: Property 'defun_ids' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/compress.js(882,12): error TS2339: Property 'defun_visited' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/compress.js(884,12): error TS2339: Property 'in_loop' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/compress.js(885,12): error TS2339: Property 'loop_ids' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/compress.js(890,12): error TS2339: Property 'safe_ids' does not exist on type 'TreeWalker'. node_modules/uglify-js/lib/compress.js(1141,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. node_modules/uglify-js/lib/compress.js(1156,51): error TS2349: This expression is not callable. Not all constituents of type 'true | ((node: any, tw: any) => any)' are callable. @@ -44,7 +49,6 @@ node_modules/uglify-js/lib/compress.js(3235,56): error TS2531: Object is possibl node_modules/uglify-js/lib/compress.js(3276,42): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/compress.js(3355,33): error TS2532: Object is possibly 'undefined'. node_modules/uglify-js/lib/compress.js(3762,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3788,29): error TS2322: Type '"f"' is not assignable to type 'boolean'. node_modules/uglify-js/lib/compress.js(3921,33): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/compress.js(3974,29): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/compress.js(3992,29): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. @@ -57,6 +61,8 @@ node_modules/uglify-js/lib/compress.js(4449,32): error TS2554: Expected 0 argume node_modules/uglify-js/lib/compress.js(4688,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. node_modules/uglify-js/lib/compress.js(4756,45): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/compress.js(4867,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4873,56): error TS2339: Property 'push' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/compress.js(4874,12): error TS2339: Property 'push' does not exist on type 'TreeWalker'. node_modules/uglify-js/lib/compress.js(4959,21): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. node_modules/uglify-js/lib/compress.js(4974,21): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. node_modules/uglify-js/lib/compress.js(5085,33): error TS2554: Expected 0 arguments, but got 1. @@ -82,6 +88,7 @@ node_modules/uglify-js/lib/compress.js(7722,34): error TS2554: Expected 0 argume node_modules/uglify-js/lib/minify.js(186,75): error TS2339: Property 'compress' does not exist on type 'Compressor'. node_modules/uglify-js/lib/mozilla-ast.js(566,33): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/output.js(459,37): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/output.js(475,16): error TS2339: Property 'push' does not exist on type 'TreeWalker'. node_modules/uglify-js/lib/output.js(749,38): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/output.js(1151,44): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/output.js(1433,58): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. diff --git a/tests/baselines/reference/wrappedAndRecursiveConstraints4.types b/tests/baselines/reference/wrappedAndRecursiveConstraints4.types index 7f129898206a7..38282d76645ae 100644 --- a/tests/baselines/reference/wrappedAndRecursiveConstraints4.types +++ b/tests/baselines/reference/wrappedAndRecursiveConstraints4.types @@ -39,8 +39,8 @@ var r = c.foo(''); >'' : "" var r2 = r({ length: 3, charAt: (x: number) => { '' } }); // error ->r2 : any ->r({ length: 3, charAt: (x: number) => { '' } }) : any +>r2 : string +>r({ length: 3, charAt: (x: number) => { '' } }) : string >r : (x: V) => V >{ length: 3, charAt: (x: number) => { '' } } : { length: number; charAt: (x: number) => void; } >length : number diff --git a/tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts b/tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts new file mode 100644 index 0000000000000..445431101b372 --- /dev/null +++ b/tests/cases/compiler/discriminableUnionWithIntersectedMembers.ts @@ -0,0 +1,14 @@ +// regression test for https://github.com/microsoft/TypeScript/issues/33243 +type X = + | { x: 'x', y: number } & { y: number } + | { x: 'y', y: number, z?: boolean } & { y: number } + +// error +const x: X = 4 as any as { x: 'x' | 'y', y: number }; + +type Y = + | { x: 'x', y: number } + | { x: 'y', y: number, z?: boolean } + +// no error +const y: Y = 4 as any as { x: 'x' | 'y', y: number }; \ No newline at end of file diff --git a/tests/cases/conformance/jsx/checkJsxChildrenProperty13.tsx b/tests/cases/conformance/jsx/checkJsxChildrenProperty13.tsx index 0c2d25078646a..e7918999465ec 100644 --- a/tests/cases/conformance/jsx/checkJsxChildrenProperty13.tsx +++ b/tests/cases/conformance/jsx/checkJsxChildrenProperty13.tsx @@ -3,6 +3,7 @@ // @noLib: true // @skipLibCheck: true // @libFiles: react.d.ts,lib.d.ts +// @strictNullChecks: true import React = require('react'); diff --git a/tests/cases/conformance/jsx/checkJsxChildrenProperty2.tsx b/tests/cases/conformance/jsx/checkJsxChildrenProperty2.tsx index 632b9d5d84908..2f452a0aaf629 100644 --- a/tests/cases/conformance/jsx/checkJsxChildrenProperty2.tsx +++ b/tests/cases/conformance/jsx/checkJsxChildrenProperty2.tsx @@ -3,6 +3,7 @@ // @noLib: true // @skipLibCheck: true // @libFiles: react.d.ts,lib.d.ts +// @strictNullChecks: true import React = require('react'); @@ -55,4 +56,4 @@ let k5 =
My Div
My Div
-
; \ No newline at end of file + ; diff --git a/tests/cases/conformance/jsx/jsxParsingError3.tsx b/tests/cases/conformance/jsx/jsxParsingError3.tsx new file mode 100644 index 0000000000000..2913dfc7daf6f --- /dev/null +++ b/tests/cases/conformance/jsx/jsxParsingError3.tsx @@ -0,0 +1,27 @@ +//@jsx: preserve + +//@filename: file.tsx +declare module JSX { + interface Element {} + interface IntrinsicElements { + [s: string]: any; + } +} + +// @filename: Error1.tsx +let x1 =
}
; + +// @filename: Error2.tsx +let x2 =
>
; + +// @filename: Error3.tsx +let x3 =
{"foo"}}
; + +// @filename: Error4.tsx +let x4 =
{"foo"}>
; + +// @filename: Error5.tsx +let x5 =
}{"foo"}
; + +// @filename: Error6.tsx +let x6 =
>{"foo"}
; diff --git a/tests/cases/conformance/types/spread/objectSpread.ts b/tests/cases/conformance/types/spread/objectSpread.ts index 5917bdf6dcf95..7d4ed52983e1f 100644 --- a/tests/cases/conformance/types/spread/objectSpread.ts +++ b/tests/cases/conformance/types/spread/objectSpread.ts @@ -8,23 +8,14 @@ let addAfter: { a: number, b: string, c: boolean } = { ...o, c: false } let addBefore: { a: number, b: string, c: boolean } = { c: false, ...o } -// Note: ignore still changes the order that properties are printed -let ignore: { a: number, b: string } = - { b: 'ignored', ...o } let override: { a: number, b: string } = { ...o, b: 'override' } let nested: { a: number, b: boolean, c: string } = { ...{ a: 3, ...{ b: false, c: 'overriden' } }, c: 'whatever' } let combined: { a: number, b: string, c: boolean } = { ...o, ...o2 } -let combinedBefore: { a: number, b: string, c: boolean } = - { b: 'ok', ...o, ...o2 } -let combinedMid: { a: number, b: string, c: boolean } = - { ...o, b: 'ok', ...o2 } let combinedAfter: { a: number, b: string, c: boolean } = { ...o, ...o2, b: 'ok' } -let combinedNested: { a: number, b: boolean, c: string, d: string } = - { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } let combinedNestedChangeType: { a: number, b: boolean, c: number } = { ...{ a: 1, ...{ b: false, c: 'overriden' } }, c: -1 } let propertyNested: { a: { a: number, b: string } } = @@ -92,8 +83,6 @@ cplus.plus(); // new field's type conflicting with existing field is OK let changeTypeAfter: { a: string, b: string } = { ...o, a: 'wrong type?' } -let changeTypeBefore: { a: number, b: string } = - { a: 'wrong type?', ...o }; let changeTypeBoth: { a: string, b: number } = { ...o, ...swap }; @@ -110,8 +99,6 @@ function container( // computed property let computedFirst: { a: number, b: string, "before everything": number } = { ['before everything']: 12, ...o, b: 'yes' } - let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = - { ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } let computedAfter: { a: number, b: string, "at the end": number } = { ...o, b: 'yeah', ['at the end']: 14 } } diff --git a/tests/cases/conformance/types/spread/objectSpreadNegative.ts b/tests/cases/conformance/types/spread/objectSpreadNegative.ts index f31d62e2faf19..00dfd440667b3 100644 --- a/tests/cases/conformance/types/spread/objectSpreadNegative.ts +++ b/tests/cases/conformance/types/spread/objectSpreadNegative.ts @@ -1,4 +1,5 @@ // @target: es5 +// @strictNullChecks: true let o = { a: 1, b: 'no' } /// private propagates @@ -8,12 +9,12 @@ class PrivateOptionalX { class PublicX { public x: number; } -let publicX: PublicX; -let privateOptionalX: PrivateOptionalX; +declare let publicX: PublicX; +declare let privateOptionalX: PrivateOptionalX; let o2 = { ...publicX, ...privateOptionalX }; let sn: number = o2.x; // error, x is private -let optionalString: { sn?: string }; -let optionalNumber: { sn?: number }; +declare let optionalString: { sn?: string }; +declare let optionalNumber: { sn?: number }; let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumber }; // error, 'sn' is optional in source, required in target @@ -28,6 +29,22 @@ spread = b; // error, missing 's' // literal repeats are not allowed, but spread repeats are fine let duplicated = { b: 'bad', ...o, b: 'bad', ...o2, b: 'bad' } let duplicatedSpread = { ...o, ...o } +// Note: ignore changes the order that properties are printed +let ignore: { a: number, b: string } = + { b: 'ignored', ...o } + +let o3 = { a: 1, b: 'no' } +let o4 = { b: 'yes', c: true } +let combinedBefore: { a: number, b: string, c: boolean } = + { b: 'ok', ...o3, ...o4 } +let combinedMid: { a: number, b: string, c: boolean } = + { ...o3, b: 'ok', ...o4 } +let combinedNested: { a: number, b: boolean, c: string, d: string } = + { ...{ a: 4, ...{ b: false, c: 'overriden' } }, d: 'actually new', ...{ a: 5, d: 'maybe new' } } +let changeTypeBefore: { a: number, b: string } = + { a: 'wrong type?', ...o3 }; +let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } = + { ...o3, ['in the middle']: 13, b: 'maybe?', ...o4 } // primitives are not allowed, except for falsy ones let spreadNum = { ...12 }; diff --git a/tests/cases/conformance/types/spread/spreadOverwritesProperty.ts b/tests/cases/conformance/types/spread/spreadOverwritesProperty.ts new file mode 100644 index 0000000000000..bfbb11348d93e --- /dev/null +++ b/tests/cases/conformance/types/spread/spreadOverwritesProperty.ts @@ -0,0 +1,13 @@ +// without strict null checks, none of these should be an error +declare var ab: { a: number, b: number }; +declare var abq: { a: number, b?: number }; +var unused1 = { b: 1, ...ab } +var unused2 = { ...ab, ...ab } +var unused3 = { b: 1, ...abq } + +function g(obj: { x: number | undefined }) { + return { x: 1, ...obj }; +} +function h(obj: { x: number }) { + return { x: 1, ...obj }; +} diff --git a/tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts b/tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts new file mode 100644 index 0000000000000..65d53dcd77533 --- /dev/null +++ b/tests/cases/conformance/types/spread/spreadOverwritesPropertyStrict.ts @@ -0,0 +1,17 @@ +// @strict: true +declare var ab: { a: number, b: number }; +declare var abq: { a: number, b?: number }; +var unused1 = { b: 1, ...ab } // error +var unused2 = { ...ab, ...ab } // ok, overwritten error doesn't apply to spreads +var unused3 = { b: 1, ...abq } // ok, abq might have b: undefined +var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten +var unused5 = { ...abq, b: 1 } // ok +function g(obj: { x: number | undefined }) { + return { x: 1, ...obj }; // ok, obj might have x: undefined +} +function f(obj: { x: number } | undefined) { + return { x: 1, ...obj }; // ok, obj might be undefined +} +function h(obj: { x: number } | { x: string }) { + return { x: 1, ...obj } // error +} diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceAutoImports.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceAutoImports.ts new file mode 100644 index 0000000000000..3a08ffa5e5a2a --- /dev/null +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceAutoImports.ts @@ -0,0 +1,40 @@ +/// + +// @Filename: types1.ts +////type A = {}; +////export default A; + +// @Filename: types2.ts +////export type B = {}; +////export type C = {}; +////export type D = {}; + +// @Filename: interface.ts +////import A from './types1'; +////import { B, C, D } from './types2'; +//// +////export interface Base { +//// a: A; +//// b(p1: C): D; +////} + +// @Filename: index.ts +////import { Base } from './interface'; +//// +////export class C implements Base {[| |]} + +goTo.file('index.ts'); +verify.codeFix({ + description: "Implement interface 'Base'", + newFileContent: +`import { Base } from './interface'; +import A from './types1'; +import { B, C, D } from './types2'; + +export class C implements Base { + a: A; + b(p1: C): D { + throw new Error("Method not implemented."); + } +}`, +}); diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceAutoImports_typeOnly.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceAutoImports_typeOnly.ts new file mode 100644 index 0000000000000..9f261a72c2aed --- /dev/null +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceAutoImports_typeOnly.ts @@ -0,0 +1,42 @@ +/// + +// @importsNotUsedAsValues: error + +// @Filename: types1.ts +////type A = {}; +////export default A; + +// @Filename: types2.ts +////export type B = {}; +////export type C = {}; +////export type D = {}; + +// @Filename: interface.ts +////import type A from './types1'; +////import type { B, C, D } from './types2'; +//// +////export interface Base { +//// a: A; +//// b(p1: C): D; +////} + +// @Filename: index.ts +////import type { Base } from './interface'; +//// +////export class C implements Base {[| |]} + +goTo.file('index.ts'); +verify.codeFix({ + description: "Implement interface 'Base'", + newFileContent: +`import type { Base } from './interface'; +import type A from './types1'; +import type { B, C, D } from './types2'; + +export class C implements Base { + a: A; + b(p1: C): D { + throw new Error("Method not implemented."); + } +}`, +}); diff --git a/tests/cases/fourslash/codeFixClassImplementInterface_typeInOtherFile.ts b/tests/cases/fourslash/codeFixClassImplementInterface_typeInOtherFile.ts index ed5d29cd767aa..f1fb7d5f7ca03 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterface_typeInOtherFile.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterface_typeInOtherFile.ts @@ -15,10 +15,10 @@ goTo.file("/C.ts"); verify.codeFix({ description: "Implement interface 'I'", newFileContent: -`import { I } from "./I"; +`import { I, J } from "./I"; export class C implements I { - x: import("./I").J; - m(): import("./I").J { + x: J; + m(): J { throw new Error("Method not implemented."); } }`, diff --git a/tests/cases/fourslash/codeFixInferFromUsageContextualImport4.ts b/tests/cases/fourslash/codeFixInferFromUsageContextualImport4.ts new file mode 100644 index 0000000000000..fbb6336a869b0 --- /dev/null +++ b/tests/cases/fourslash/codeFixInferFromUsageContextualImport4.ts @@ -0,0 +1,34 @@ +/// + +// @strict: true +// @noImplicitAny: true +// @noLib: true + +// @Filename: /getEmail.ts +////import { User, Settings } from './a'; +////export declare function getEmail(user: User, settings: Settings): string; + +// @Filename: /a.ts +////export interface User {} +////export interface Settings {} + +// @Filename: /b.ts +////import { getEmail } from './getEmail'; +//// +////export function f([|user|], settings) { +//// getEmail(user, settings); +////} + +goTo.file("/b.ts"); + +verify.codeFix({ + index: 0, + description: "Infer parameter types from usage", + newFileContent: +`import { getEmail } from './getEmail'; +import { User, Settings } from './a'; + +export function f(user: User, settings: Settings) { + getEmail(user, settings); +}` +}); diff --git a/tests/cases/fourslash/codeFixInvalidJsxCharacters1.ts b/tests/cases/fourslash/codeFixInvalidJsxCharacters1.ts new file mode 100644 index 0000000000000..60495c8b8142a --- /dev/null +++ b/tests/cases/fourslash/codeFixInvalidJsxCharacters1.ts @@ -0,0 +1,19 @@ +/// + +// @jsx: react +// @filename: main.tsx + +//// let x1 =
}
; + +verify.codeFix({ + description: "Wrap invalid character in an expression container", + newFileContent: +`let x1 =
{'}'}
;`, + index: 0, +}); +verify.codeFix({ + description: "Convert invalid character to its html entity code", + newFileContent: +`let x1 =
}
;`, + index: 1, +}); diff --git a/tests/cases/fourslash/codeFixInvalidJsxCharacters2.ts b/tests/cases/fourslash/codeFixInvalidJsxCharacters2.ts new file mode 100644 index 0000000000000..ef8747d48652d --- /dev/null +++ b/tests/cases/fourslash/codeFixInvalidJsxCharacters2.ts @@ -0,0 +1,19 @@ +/// + +// @jsx: react +// @filename: main.tsx + +//// let x2 =
>
; + +verify.codeFix({ + description: "Wrap invalid character in an expression container", + newFileContent: +`let x2 =
{'>'}
;`, + index: 0, +}); +verify.codeFix({ + description: "Convert invalid character to its html entity code", + newFileContent: +`let x2 =
>
;`, + index: 1, +}); diff --git a/tests/cases/fourslash/codeFixInvalidJsxCharacters3.ts b/tests/cases/fourslash/codeFixInvalidJsxCharacters3.ts new file mode 100644 index 0000000000000..d9d97c0bec282 --- /dev/null +++ b/tests/cases/fourslash/codeFixInvalidJsxCharacters3.ts @@ -0,0 +1,19 @@ +/// + +// @jsx: react +// @filename: main.tsx + +//// let x3 =
{"foo"}}
; + +verify.codeFix({ + description: "Wrap invalid character in an expression container", + newFileContent: +`let x3 =
{"foo"}{'}'}
;`, + index: 0, +}); +verify.codeFix({ + description: "Convert invalid character to its html entity code", + newFileContent: +`let x3 =
{"foo"}}
;`, + index: 1, +}); diff --git a/tests/cases/fourslash/codeFixInvalidJsxCharacters4.ts b/tests/cases/fourslash/codeFixInvalidJsxCharacters4.ts new file mode 100644 index 0000000000000..cbb0e01d29377 --- /dev/null +++ b/tests/cases/fourslash/codeFixInvalidJsxCharacters4.ts @@ -0,0 +1,19 @@ +/// + +// @jsx: react +// @filename: main.tsx + +//// let x4 =
{"foo"}>
; + +verify.codeFix({ + description: "Wrap invalid character in an expression container", + newFileContent: +`let x4 =
{"foo"}{'>'}
;`, + index: 0, +}); +verify.codeFix({ + description: "Convert invalid character to its html entity code", + newFileContent: +`let x4 =
{"foo"}>
;`, + index: 1, +}); diff --git a/tests/cases/fourslash/codeFixInvalidJsxCharacters5.ts b/tests/cases/fourslash/codeFixInvalidJsxCharacters5.ts new file mode 100644 index 0000000000000..abc3e7ba16e1c --- /dev/null +++ b/tests/cases/fourslash/codeFixInvalidJsxCharacters5.ts @@ -0,0 +1,19 @@ +/// + +// @jsx: react +// @filename: main.tsx + +//// let x5 =
}{"foo"}
; + +verify.codeFix({ + description: "Wrap invalid character in an expression container", + newFileContent: +`let x5 =
{'}'}{"foo"}
;`, + index: 0, +}); +verify.codeFix({ + description: "Convert invalid character to its html entity code", + newFileContent: +`let x5 =
}{"foo"}
;`, + index: 1, +}); diff --git a/tests/cases/fourslash/codeFixInvalidJsxCharacters6.ts b/tests/cases/fourslash/codeFixInvalidJsxCharacters6.ts new file mode 100644 index 0000000000000..f29e9ed2b8b2c --- /dev/null +++ b/tests/cases/fourslash/codeFixInvalidJsxCharacters6.ts @@ -0,0 +1,19 @@ +/// + +// @jsx: react +// @filename: main.tsx + +//// let x6 =
>{"foo"}
; + +verify.codeFix({ + description: "Wrap invalid character in an expression container", + newFileContent: +`let x6 =
{'>'}{"foo"}
;`, + index: 0, +}); +verify.codeFix({ + description: "Convert invalid character to its html entity code", + newFileContent: +`let x6 =
>{"foo"}
;`, + index: 1, +}); diff --git a/tests/cases/fourslash/docCommentTemplateClassDeclProperty01.ts b/tests/cases/fourslash/docCommentTemplateClassDeclProperty01.ts new file mode 100644 index 0000000000000..ee235f34cec3b --- /dev/null +++ b/tests/cases/fourslash/docCommentTemplateClassDeclProperty01.ts @@ -0,0 +1,39 @@ +/// + +const singleLineOffset = 3; +const multiLineOffset = 12; + + +////class C { +//// /** /*0*/ */ +//// foo = (p0) => { +//// return p0; +//// }; +//// /*1*/ +//// bar = (p1) => { +//// return p1; +//// } +//// /*2*/ +//// baz = function (p2, p3) { +//// return p2; +//// } +////} + +verify.docCommentTemplateAt("0", multiLineOffset, + `/** + * + * @param p0 + */`); +verify.docCommentTemplateAt("1", multiLineOffset, + `/** + * + * @param p1 + */`); +verify.docCommentTemplateAt("2", multiLineOffset, + `/** + * + * @param p2 + * @param p3 + */`); + + diff --git a/tests/cases/fourslash/importNameCodeFix_typeOnly.ts b/tests/cases/fourslash/importNameCodeFix_typeOnly.ts new file mode 100644 index 0000000000000..ad16ea4203229 --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFix_typeOnly.ts @@ -0,0 +1,16 @@ +/// + +// @importsNotUsedAsValues: error + +// @Filename: types.ts +////export class A {} + +// @Filename: index.ts +////const a: /**/A + +goTo.marker(""); +verify.importFixAtPosition([ +`import type { A } from "./types"; + +const a: A` +]); diff --git a/tests/cases/fourslash/importNameCodeFix_typeOnly2.ts b/tests/cases/fourslash/importNameCodeFix_typeOnly2.ts new file mode 100644 index 0000000000000..534275fd6e3c2 --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFix_typeOnly2.ts @@ -0,0 +1,19 @@ +/// + +// @importsNotUsedAsValues: error + +// @Filename: types.ts +////export class A {} + +// @Filename: index.ts +////const a: A = new A(); + +goTo.file("index.ts"); +verify.codeFixAll({ + fixAllDescription: ts.Diagnostics.Add_all_missing_imports.message, + fixId: "fixMissingImport", + newFileContent: +`import { A } from "./types"; + +const a: A = new A();` +}); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts b/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts index 58cc8159b926c..b330d87b22324 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts @@ -1,10 +1,11 @@ /// -////function /*1*/foo(/*2*/param: string, /*3*/optionalParam?: string, /*4*/paramWithInitializer = "hello", .../*5*/restParam: string[]) { -//// /*6*/param = "Hello"; -//// /*7*/optionalParam = "World"; -//// /*8*/paramWithInitializer = "Hello"; -//// /*9*/restParam[0] = "World"; -////} +//// /** @return *crunch* */ +//// function /*1*/foo(/*2*/param: string, /*3*/optionalParam?: string, /*4*/paramWithInitializer = "hello", .../*5*/restParam: string[]) { +//// /*6*/param = "Hello"; +//// /*7*/optionalParam = "World"; +//// /*8*/paramWithInitializer = "Hello"; +//// /*9*/restParam[0] = "World"; +//// } -verify.baselineQuickInfo(); \ No newline at end of file +verify.baselineQuickInfo(); diff --git a/tests/cases/fourslash/quickfixImplementInterfaceUnreachableTypeUsesRelativeImport.ts b/tests/cases/fourslash/quickfixImplementInterfaceUnreachableTypeUsesRelativeImport.ts index ba6cd702ea00f..5db9047035513 100644 --- a/tests/cases/fourslash/quickfixImplementInterfaceUnreachableTypeUsesRelativeImport.ts +++ b/tests/cases/fourslash/quickfixImplementInterfaceUnreachableTypeUsesRelativeImport.ts @@ -17,10 +17,12 @@ verify.codeFix({ index: 0, description: "Implement interface 'Foo'", newFileContent: { - "/tests/cases/fourslash/index.ts": `import { Foo } from './interface'; + "/tests/cases/fourslash/index.ts": +`import { Foo } from './interface'; +import { Class } from './class'; class X implements Foo { - x: import("./class").Class; + x: Class; }` } });