From 0c51f47eadfc366118e6a89fa53b1881a39ac4fa Mon Sep 17 00:00:00 2001 From: Danay Fernandez Alfonso Date: Thu, 9 Jun 2022 10:40:08 -0700 Subject: [PATCH 01/13] jsdocPropertyDescription --- tests/cases/compiler/jsdocPropertyDescription.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 tests/cases/compiler/jsdocPropertyDescription.ts diff --git a/tests/cases/compiler/jsdocPropertyDescription.ts b/tests/cases/compiler/jsdocPropertyDescription.ts new file mode 100644 index 0000000000000..2ea120931cd24 --- /dev/null +++ b/tests/cases/compiler/jsdocPropertyDescription.ts @@ -0,0 +1,11 @@ +interface Example { + /** Something generic */ + [p: string]: any; + /** Something specific */ + property: number; +} + +function example(e: Example) { + console.log(e.property); // works, shows type and description on hover + console.log(e.anything); // shows type of property but not description on hover +} \ No newline at end of file From 3add1f947617c40ae7f43fbc51272d84f9819357 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Alfonso Date: Fri, 10 Jun 2022 10:46:52 -0700 Subject: [PATCH 02/13] jsdocPropertyDescription --- tests/cases/compiler/jsdocPropertyDescription.ts | 7 +------ tests/cases/compiler/jsdocPropertyDescription1.ts | 6 ++++++ 2 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 tests/cases/compiler/jsdocPropertyDescription1.ts diff --git a/tests/cases/compiler/jsdocPropertyDescription.ts b/tests/cases/compiler/jsdocPropertyDescription.ts index 2ea120931cd24..b1ae68d98b0b9 100644 --- a/tests/cases/compiler/jsdocPropertyDescription.ts +++ b/tests/cases/compiler/jsdocPropertyDescription.ts @@ -1,9 +1,4 @@ -interface Example { - /** Something generic */ - [p: string]: any; - /** Something specific */ - property: number; -} +import { Example } from "./jsdocPropertyDescription1"; function example(e: Example) { console.log(e.property); // works, shows type and description on hover diff --git a/tests/cases/compiler/jsdocPropertyDescription1.ts b/tests/cases/compiler/jsdocPropertyDescription1.ts new file mode 100644 index 0000000000000..ac72e9b272cd2 --- /dev/null +++ b/tests/cases/compiler/jsdocPropertyDescription1.ts @@ -0,0 +1,6 @@ +export interface Example { + /** Something generic */ + [p: string]: any; + /** Something specific */ + property: number; +} \ No newline at end of file From c74367d73f1b60802f37f7b00e53b1c0036c4c0d Mon Sep 17 00:00:00 2001 From: Danay Fernandez Alfonso Date: Tue, 14 Jun 2022 12:28:00 -0700 Subject: [PATCH 03/13] jsdocPropertyDescription --- tests/cases/compiler/jsdocPropertyDescription.ts | 6 ------ tests/cases/compiler/jsdocPropertyDescription1.ts | 6 ------ tests/cases/fourslash/jsdocPropertyDescription.ts | 15 +++++++++++++++ 3 files changed, 15 insertions(+), 12 deletions(-) delete mode 100644 tests/cases/compiler/jsdocPropertyDescription.ts delete mode 100644 tests/cases/compiler/jsdocPropertyDescription1.ts create mode 100644 tests/cases/fourslash/jsdocPropertyDescription.ts diff --git a/tests/cases/compiler/jsdocPropertyDescription.ts b/tests/cases/compiler/jsdocPropertyDescription.ts deleted file mode 100644 index b1ae68d98b0b9..0000000000000 --- a/tests/cases/compiler/jsdocPropertyDescription.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Example } from "./jsdocPropertyDescription1"; - -function example(e: Example) { - console.log(e.property); // works, shows type and description on hover - console.log(e.anything); // shows type of property but not description on hover -} \ No newline at end of file diff --git a/tests/cases/compiler/jsdocPropertyDescription1.ts b/tests/cases/compiler/jsdocPropertyDescription1.ts deleted file mode 100644 index ac72e9b272cd2..0000000000000 --- a/tests/cases/compiler/jsdocPropertyDescription1.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface Example { - /** Something generic */ - [p: string]: any; - /** Something specific */ - property: number; -} \ No newline at end of file diff --git a/tests/cases/fourslash/jsdocPropertyDescription.ts b/tests/cases/fourslash/jsdocPropertyDescription.ts new file mode 100644 index 0000000000000..db2c24eaf486b --- /dev/null +++ b/tests/cases/fourslash/jsdocPropertyDescription.ts @@ -0,0 +1,15 @@ +/// + +//// export interface Example { + //// /** Something generic */ +//// [p: string]: any; + //// /** Something specific */ + //// property: number; +////} + +////function example(e: Example) { +//// console.log(e.property); // works, shows type and description on hover +//// console.log(e./*anything*/anything); // shows type of property but not description on hover +////} + +verify.quickInfoAt("anything", "Something generic") \ No newline at end of file From 84e4611146262eff73df15d9db56ab8f3f36054b Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Wed, 6 Jul 2022 15:50:59 -0700 Subject: [PATCH 04/13] Fixes #47933 --- src/compiler/checker.ts | 11 ++ src/compiler/types.ts | 1 + src/services/symbolDisplay.ts | 136 +++++++++++------- ...allowJscheckJsTypeParameterNoCrash.symbols | 1 + .../reference/api/tsserverlibrary.d.ts | 1 + tests/baselines/reference/api/typescript.d.ts | 1 + ...checkJsdocTypeTagOnObjectProperty1.symbols | 2 + .../reference/classExtendingAny.symbols | 2 + .../classExtendsInterface_not.symbols | 2 + ...computedPropertiesInDestructuring1.symbols | 2 + ...utedPropertiesInDestructuring1_ES6.symbols | 2 + .../reference/constEnumErrors.symbols | 2 + .../contextualTypingOfObjectLiterals2.symbols | 2 + ...tualTypingWithFixedTypeParameters1.symbols | 4 + .../controlFlowElementAccess2.symbols | 6 + .../reference/controlFlowStringIndex.symbols | 6 + ...ratorWithEnumTypeInvalidOperations.symbols | 4 + ...eedToChangeYourTargetLibraryES2015.symbols | 52 +++++++ ...oChangeYourTargetLibraryES2016Plus.symbols | 26 ++++ ...iteralExpressionInArrowFunctionES5.symbols | 2 + ...iteralExpressionInArrowFunctionES6.symbols | 2 + .../reference/exactSpellingSuggestion.symbols | 2 + .../baselines/reference/extendFromAny.symbols | 4 + .../reference/fixSignatureCaching.symbols | 2 + .../for-inStatementsArrayErrors.symbols | 2 + .../baselines/reference/genericReduce.symbols | 2 + .../globalThisPropertyAssignment.symbols | 2 + .../reference/globalThisUnknown.symbols | 2 + .../globalThisUnknownNoImplicitAny.symbols | 2 + .../globalThisVarDeclaration.symbols | 8 ++ .../incompleteDottedExpressionAtEOF.symbols | 2 + .../reference/indexAt(target=es2021).symbols | 28 ++++ .../reference/indexSignatures1.symbols | 2 + ...alizedDestructuringAssignmentTypes.symbols | 2 + .../interfaceAssignmentCompat.symbols | 2 + ...emberMergedWithModuleAugmentation2.symbols | 2 + .../reference/keyofAndIndexedAccess2.symbols | 14 ++ .../reference/lambdaParamTypes.symbols | 4 + tests/baselines/reference/libMembers.symbols | 2 + ...FromUsingES6FeaturesWithOnlyES5Lib.symbols | 2 + .../moduleExportAliasUnknown.symbols | 2 + ...oPropertyAccessFromIndexSignature1.symbols | 6 + .../noUncheckedIndexedAccess.symbols | 6 + ...ncheckedIndexedAccessDestructuring.symbols | 4 + ...LiteralFunctionArgContextualTyping.symbols | 2 + tests/baselines/reference/objectRest.symbols | 2 + .../objectSpreadIndexSignature.symbols | 2 + .../objectSpreadRepeatedNullCheckPerf.symbols | 104 ++++++++++++++ .../reference/overloadResolution.symbols | 2 + ...verloadResolutionClassConstructors.symbols | 4 + .../overloadResolutionConstructors.symbols | 2 + .../privateNameAndIndexSignature.symbols | 1 + ...ertyAccessOfReadonlyIndexSignature.symbols | 2 + ...propertyAccessStringIndexSignature.symbols | 6 + ...sStringIndexSignatureNoImplicitAny.symbols | 6 + ...oDisplayPartsTypeParameterInClass.baseline | 32 +++++ ...splayPartsTypeParameterInFunction.baseline | 16 +++ ...playPartsTypeParameterInInterface.baseline | 48 +++++++ .../reference/quickInfoInheritDoc2.baseline | 4 + .../reference/recursiveMappedTypes.symbols | 2 + ...tLiteralAssignableToIndexSignature.symbols | 12 ++ .../reference/staticIndexSignature1.symbols | 2 + .../reference/staticIndexSignature2.symbols | 2 + .../reference/staticIndexSignature4.symbols | 24 ++++ .../reference/staticIndexSignature6.symbols | 4 + ...lateStringsWithOverloadResolution3.symbols | 2 + ...StringsWithOverloadResolution3_ES6.symbols | 2 + .../reference/templateLiteralsInTypes.symbols | 2 + .../reference/thisTypeInFunctions2.symbols | 4 + .../reference/tsxAttributeResolution2.symbols | 2 + .../reference/tsxAttributeResolution4.symbols | 2 + .../tsxStatelessFunctionComponents2.symbols | 2 + ...ingInsideFunctionExpressionInArray.symbols | 3 + ...typeGuardOfFromPropNameInUnionType.symbols | 6 + .../reference/typeGuardsWithAny.symbols | 2 + ...nedSymbolReferencedInArrayLiteral1.symbols | 3 + .../reference/useRegexpGroups.symbols | 8 ++ .../fourslash/jsdocPropertyDescription.ts | 50 +++++-- 78 files changed, 679 insertions(+), 59 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index be2e6f9d8aba9..ff36735c4aba1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -450,6 +450,7 @@ namespace ts { getTypeOfPropertyOfType: (type, name) => getTypeOfPropertyOfType(type, escapeLeadingUnderscores(name)), getIndexInfoOfType: (type, kind) => getIndexInfoOfType(type, kind === IndexKind.String ? stringType : numberType), getIndexInfosOfType, + getIndexInfosOfIndexSymbol, getSignaturesOfType, getIndexTypeOfType: (type, kind) => getIndexTypeOfType(type, kind === IndexKind.String ? stringType : numberType), getIndexType: type => getIndexType(type), @@ -42214,6 +42215,16 @@ namespace ts { if (name.kind === SyntaxKind.PropertyAccessExpression) { checkPropertyAccessExpression(name, CheckMode.Normal); + if(!links.resolvedSymbol){ + const expressionType = checkExpressionCached(name.expression); + const infos = getApplicableIndexInfos(expressionType, checkExpressionCached(name.name)); + if (length(infos) ) { + const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); + copy.declarations = mapDefined(infos, i => i.declaration); + copy.parent = expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); + return copy; + } + } } else { checkQualifiedName(name, CheckMode.Normal); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 43fdebbf9e1e8..c34f69e62a48c 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -4200,6 +4200,7 @@ namespace ts { /* @internal */ getTypeOfPropertyOfType(type: Type, propertyName: string): Type | undefined; getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; getIndexInfosOfType(type: Type): readonly IndexInfo[]; + getIndexInfosOfIndexSymbol: (indexSymbol: Symbol) => IndexInfo[]; getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; /* @internal */ getIndexType(type: Type): Type; diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index 973e28476b6a5..0dd59f65ed213 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -64,6 +64,7 @@ namespace ts.SymbolDisplay { if (flags & SymbolFlags.SetAccessor) return ScriptElementKind.memberSetAccessorElement; if (flags & SymbolFlags.Method) return ScriptElementKind.memberFunctionElement; if (flags & SymbolFlags.Constructor) return ScriptElementKind.constructorImplementationElement; + if (flags & SymbolFlags.Signature) return ScriptElementKind.indexSignatureElement; if (flags & SymbolFlags.Property) { if (flags & SymbolFlags.Transient && (symbol as TransientSymbol).checkFlags & CheckFlags.Synthetic) { @@ -498,58 +499,67 @@ namespace ts.SymbolDisplay { } if (!hasAddedSymbolInfo) { if (symbolKind !== ScriptElementKind.unknown) { - if (type) { - if (isThisExpression) { - prefixNextMeaning(); - displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); - } - else { - addPrefixForAnyFunctionOrVar(symbol, symbolKind); - } - - // For properties, variables and local vars: show the type - if (symbolKind === ScriptElementKind.memberVariableElement || - symbolKind === ScriptElementKind.memberGetAccessorElement || - symbolKind === ScriptElementKind.memberSetAccessorElement || - symbolKind === ScriptElementKind.jsxAttribute || - symbolFlags & SymbolFlags.Variable || - symbolKind === ScriptElementKind.localVariableElement || - isThisExpression) { - displayParts.push(punctuationPart(SyntaxKind.ColonToken)); - displayParts.push(spacePart()); - // If the type is type parameter, format it specially - if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter) { - const typeParameterParts = mapToDisplayParts(writer => { - const param = typeChecker.typeParameterToDeclaration(type as TypeParameter, enclosingDeclaration, symbolDisplayNodeBuilderFlags)!; - getPrinter().writeNode(EmitHint.Unspecified, param, getSourceFileOfNode(getParseTreeNode(enclosingDeclaration)), writer); - }); - addRange(displayParts, typeParameterParts); + let indexInfos; + if(symbolKind === ScriptElementKind.indexSignatureElement) indexInfos = typeChecker.getIndexInfosOfIndexSymbol(symbol); + if (type) { + if (isThisExpression) { + prefixNextMeaning(); + displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); } else { - addRange(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration)); + addPrefixForAnyFunctionOrVar(symbol, symbolKind, indexInfos); } - if ((symbol as TransientSymbol).target && ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration) { - const labelDecl = ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration!; - Debug.assertNode(labelDecl.name, isIdentifier); + // For properties, variables and local vars: show the type + if (symbolKind === ScriptElementKind.memberVariableElement || + symbolKind === ScriptElementKind.memberGetAccessorElement || + symbolKind === ScriptElementKind.memberSetAccessorElement || + symbolKind === ScriptElementKind.jsxAttribute || + symbolFlags & SymbolFlags.Variable || + symbolKind === ScriptElementKind.localVariableElement || + symbolKind === ScriptElementKind.indexSignatureElement || + isThisExpression) { + displayParts.push(punctuationPart(SyntaxKind.ColonToken)); displayParts.push(spacePart()); - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textPart(idText(labelDecl.name))); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + // If the type is type parameter, format it specially + if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter && symbolKind !== ScriptElementKind.indexSignatureElement) { + const typeParameterParts = mapToDisplayParts(writer => { + const param = typeChecker.typeParameterToDeclaration(type as TypeParameter, enclosingDeclaration, symbolDisplayNodeBuilderFlags)!; + getPrinter().writeNode(EmitHint.Unspecified, param, getSourceFileOfNode(getParseTreeNode(enclosingDeclaration)), writer); + }); + addRange(displayParts, typeParameterParts); + } + //If the type is index signature, format it specially as well + if(symbolKind === ScriptElementKind.indexSignatureElement){ + if(indexInfos){ + const indexTypeParts = typeToDisplayParts(typeChecker, indexInfos[0].type); + addRange(displayParts, indexTypeParts); + } + } + else { + addRange(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration)); + } + if ((symbol as TransientSymbol).target && ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration) { + const labelDecl = ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration!; + Debug.assertNode(labelDecl.name, isIdentifier); + displayParts.push(spacePart()); + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(textPart(idText(labelDecl.name))); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + } } - } - else if (symbolFlags & SymbolFlags.Function || - symbolFlags & SymbolFlags.Method || - symbolFlags & SymbolFlags.Constructor || - symbolFlags & SymbolFlags.Signature || - symbolFlags & SymbolFlags.Accessor || - symbolKind === ScriptElementKind.memberFunctionElement) { - const allSignatures = type.getNonNullableType().getCallSignatures(); - if (allSignatures.length) { - addSignatureDisplayParts(allSignatures[0], allSignatures); - hasMultipleSignatures = allSignatures.length > 1; + else if (symbolFlags & SymbolFlags.Function || + symbolFlags & SymbolFlags.Method || + symbolFlags & SymbolFlags.Constructor || + symbolFlags & SymbolFlags.Signature || + symbolFlags & SymbolFlags.Accessor || + symbolKind === ScriptElementKind.memberFunctionElement) { + const allSignatures = type.getNonNullableType().getCallSignatures(); + if (allSignatures.length) { + addSignatureDisplayParts(allSignatures[0], allSignatures); + hasMultipleSignatures = allSignatures.length > 1; + } } } - } } else { symbolKind = getSymbolKind(typeChecker, symbol, location); @@ -638,26 +648,50 @@ namespace ts.SymbolDisplay { displayParts.push(spacePart()); } - function addFullSymbolName(symbolToDisplay: Symbol, enclosingDeclaration?: Node) { + function addFullSymbolName(symbolToDisplay: Symbol, enclosingDeclaration?: Node, indexInfos?:IndexInfo[]) { if (alias && symbolToDisplay === symbol) { symbolToDisplay = alias; } - const fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, - SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); + let fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, + SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); + if(symbolToDisplay.flags & SymbolFlags.Signature){ + if(indexInfos){ + let index = 1; + fullSymbolDisplayParts[index++] = punctuationPart(SyntaxKind.OpenBracketToken); + if(length(indexInfos)){ + //Needed to handle more than one type of index + for(let info=0; info isArrowFunction(d) || (isFunctionExpression(d) || isClassExpression(d)) && !d.name)) { displayParts.push(spacePart()); - addFullSymbolName(symbol); + addFullSymbolName(symbol, undefined, indexInfos); } } } diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols index 0926d38c1c457..e518c78bc8e71 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols @@ -40,6 +40,7 @@ export var a = vextend({ >val : Symbol(val, Decl(app.js, 4, 10)) this.data2 = 1; +>this.data2 : Symbol(__index) >this : Symbol(__type, Decl(lib.es5.d.ts, --, --)) >data2 : Symbol(data2, Decl(app.js, 4, 16), Decl(app.js, 6, 6)) diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 83d181787c6ef..6dacd237e7f2b 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -2287,6 +2287,7 @@ declare namespace ts { getPrivateIdentifierPropertyOfType(leftType: Type, name: string, location: Node): Symbol | undefined; getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; getIndexInfosOfType(type: Type): readonly IndexInfo[]; + getIndexInfosOfIndexSymbol: (indexSymbol: Symbol) => IndexInfo[]; getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; getBaseTypes(type: InterfaceType): BaseType[]; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 5d4ce61f17435..839bc622d7e67 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -2287,6 +2287,7 @@ declare namespace ts { getPrivateIdentifierPropertyOfType(leftType: Type, name: string, location: Node): Symbol | undefined; getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; getIndexInfosOfType(type: Type): readonly IndexInfo[]; + getIndexInfosOfIndexSymbol: (indexSymbol: Symbol) => IndexInfo[]; getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; getBaseTypes(type: InterfaceType): BaseType[]; diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols index b2e22ae924a95..b3264a2926ef8 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols @@ -61,7 +61,9 @@ var k = obj.method1(0); >method1 : Symbol(method1, Decl(0.js, 6, 12)) obj.bar1 = "42"; +>obj.bar1 : Symbol(__index) >obj : Symbol(obj, Decl(0.js, 2, 5), Decl(0.js, 17, 1), Decl(0.js, 19, 7), Decl(0.js, 21, 23)) +>bar1 : Symbol(__index) obj.arrowFunc(0); >obj.arrowFunc : Symbol(arrowFunc, Decl(0.js, 14, 20)) diff --git a/tests/baselines/reference/classExtendingAny.symbols b/tests/baselines/reference/classExtendingAny.symbols index 9c3db9ebe2bdc..3c71ceac8c590 100644 --- a/tests/baselines/reference/classExtendingAny.symbols +++ b/tests/baselines/reference/classExtendingAny.symbols @@ -54,7 +54,9 @@ class B extends Err { >wat : Symbol(B.wat, Decl(b.js, 2, 15)) this.wit +>this.wit : Symbol(B.__index) >this : Symbol(B, Decl(b.js, 0, 0)) +>wit : Symbol(B.__index) this['wot'] >this : Symbol(B, Decl(b.js, 0, 0)) diff --git a/tests/baselines/reference/classExtendsInterface_not.symbols b/tests/baselines/reference/classExtendsInterface_not.symbols index de4af3a5c16f9..8d3de20cbe86a 100644 --- a/tests/baselines/reference/classExtendsInterface_not.symbols +++ b/tests/baselines/reference/classExtendsInterface_not.symbols @@ -1,4 +1,6 @@ === tests/cases/compiler/classExtendsInterface_not.ts === class C extends "".bogus {} >C : Symbol(C, Decl(classExtendsInterface_not.ts, 0, 0)) +>"".bogus : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>bogus : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1.symbols b/tests/baselines/reference/computedPropertiesInDestructuring1.symbols index 6d5453ddcb1e2..f22e12c50b779 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1.symbols +++ b/tests/baselines/reference/computedPropertiesInDestructuring1.symbols @@ -68,7 +68,9 @@ let [{[foo()]: bar6}] = [{bar: "bar"}]; >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1.ts, 19, 26)) let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}]; +>foo.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(computedPropertiesInDestructuring1.ts, 1, 3)) +>toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >bar7 : Symbol(bar7, Decl(computedPropertiesInDestructuring1.ts, 20, 6)) >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1.ts, 20, 40)) diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols index 56e65995c03da..abbb3f7a7fb13 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols +++ b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols @@ -73,7 +73,9 @@ let [{[foo()]: bar6}] = [{bar: "bar"}]; >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1_ES6.ts, 20, 26)) let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}]; +>foo.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(computedPropertiesInDestructuring1_ES6.ts, 1, 3)) +>toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >bar7 : Symbol(bar7, Decl(computedPropertiesInDestructuring1_ES6.ts, 21, 6)) >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1_ES6.ts, 21, 40)) diff --git a/tests/baselines/reference/constEnumErrors.symbols b/tests/baselines/reference/constEnumErrors.symbols index d3d37e379ef5c..610fcc0397456 100644 --- a/tests/baselines/reference/constEnumErrors.symbols +++ b/tests/baselines/reference/constEnumErrors.symbols @@ -25,7 +25,9 @@ const enum E1 { // forward reference to the element of the same enum Y = E1.Z, >Y : Symbol(E1.Y, Decl(constEnumErrors.ts, 11, 10)) +>E1.Z : Symbol(E1.__index) >E1 : Symbol(E1, Decl(constEnumErrors.ts, 6, 1)) +>Z : Symbol(E1.__index) Y1 = E1["Z"] >Y1 : Symbol(E1.Y1, Decl(constEnumErrors.ts, 13, 13)) diff --git a/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols b/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols index 0e11ad7ffdaf7..d0905624d754b 100644 --- a/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols +++ b/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols @@ -15,5 +15,7 @@ f2({ foo: s => s.hmm }) // 's' should be 'string', so this should be an error >f2 : Symbol(f2, Decl(contextualTypingOfObjectLiterals2.ts, 2, 1)) >foo : Symbol(foo, Decl(contextualTypingOfObjectLiterals2.ts, 4, 4)) >s : Symbol(s, Decl(contextualTypingOfObjectLiterals2.ts, 4, 9)) +>s.hmm : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextualTypingOfObjectLiterals2.ts, 4, 9)) +>hmm : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols index 0e42c74d8bf61..d041f21e2d9fc 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols @@ -14,11 +14,15 @@ var f10: (x: T, b: () => (a: T) => void, y: T) => T; f10('', () => a => a.foo, ''); // a is "" >f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 1, 13)) +>a.foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 1, 13)) +>foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) var r9 = f10('', () => (a => a.foo), 1); // error >r9 : Symbol(r9, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 3)) >f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 24)) +>a.foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 24)) +>foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/controlFlowElementAccess2.symbols b/tests/baselines/reference/controlFlowElementAccess2.symbols index 5cdd890a75973..6768df75f0f3c 100644 --- a/tests/baselines/reference/controlFlowElementAccess2.symbols +++ b/tests/baselines/reference/controlFlowElementAccess2.symbols @@ -13,7 +13,9 @@ if (typeof config['works'] !== 'boolean') { config.works.prop = 'test'; // ok >config.works.prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) +>config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) +>works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string } @@ -22,7 +24,9 @@ if (typeof config['works'] !== 'boolean') { >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) } if (typeof config.works !== 'boolean') { +>config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) +>works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string } >config['works'].prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) @@ -31,7 +35,9 @@ if (typeof config.works !== 'boolean') { config.works.prop = 'test'; // ok >config.works.prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) +>config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) +>works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) } diff --git a/tests/baselines/reference/controlFlowStringIndex.symbols b/tests/baselines/reference/controlFlowStringIndex.symbols index 85eacfd0ede7b..a4f872be19695 100644 --- a/tests/baselines/reference/controlFlowStringIndex.symbols +++ b/tests/baselines/reference/controlFlowStringIndex.symbols @@ -14,11 +14,15 @@ declare const value: A; >A : Symbol(A, Decl(controlFlowStringIndex.ts, 0, 0)) if (value.foo !== null) { +>value.foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) +>foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) value.foo.toExponential() >value.foo.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) +>value.foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) +>foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) value.other // should still be number | null @@ -27,6 +31,8 @@ if (value.foo !== null) { >other : Symbol(other, Decl(controlFlowStringIndex.ts, 0, 10)) value.bar // should still be number | null +>value.bar : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) +>bar : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) } diff --git a/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols b/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols index ffa4eb37c0635..7e5ac754ee88b 100644 --- a/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols +++ b/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols @@ -31,11 +31,15 @@ var ResultIsNumber4 = ENUM1--; var ResultIsNumber5 = --(ENUM["A"] + ENUM.B); >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 13, 3)) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) +>ENUM.B : Symbol(ENUM.__index) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) +>B : Symbol(ENUM.__index) var ResultIsNumber6 = (ENUM.A + ENUM["B"])--; >ResultIsNumber6 : Symbol(ResultIsNumber6, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 14, 3)) +>ENUM.A : Symbol(ENUM.__index) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) +>A : Symbol(ENUM.__index) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) // miss assignment operator diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols index 8f6b82d568c0f..392a558a4b0f7 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols @@ -44,6 +44,8 @@ const testReflectSetPrototypeOf = Reflect.setPrototypeOf({}, {}); const testArrayFind = [""].find((val, idx, obj) => { >testArrayFind : Symbol(testArrayFind, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 5)) +>[""].find : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>find : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 33)) >idx : Symbol(idx, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 37)) >obj : Symbol(obj, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 42)) @@ -52,6 +54,8 @@ const testArrayFind = [""].find((val, idx, obj) => { }); const testArrayFindIndex = [""].findIndex((val, idx, obj) => { >testArrayFindIndex : Symbol(testArrayFindIndex, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 5)) +>[""].findIndex : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>findIndex : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 43)) >idx : Symbol(idx, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 47)) >obj : Symbol(obj, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 52)) @@ -60,18 +64,28 @@ const testArrayFindIndex = [""].findIndex((val, idx, obj) => { }); const testArrayFill = [""].fill("fill"); >testArrayFill : Symbol(testArrayFill, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 20, 5)) +>[""].fill : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>fill : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayCopyWithin = [""].copyWithin(0, 0); >testArrayCopyWithin : Symbol(testArrayCopyWithin, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 21, 5)) +>[""].copyWithin : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>copyWithin : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayEntries = [""].entries(); >testArrayEntries : Symbol(testArrayEntries, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 22, 5)) +>[""].entries : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>entries : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayKeys = [""].keys(); >testArrayKeys : Symbol(testArrayKeys, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 23, 5)) +>[""].keys : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>keys : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayValues = [""].values(); >testArrayValues : Symbol(testArrayValues, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 24, 5)) +>[""].values : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>values : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayConstructorFrom = Array.from([]); >testArrayConstructorFrom : Symbol(testArrayConstructorFrom, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 25, 5)) @@ -240,60 +254,98 @@ const testAsyncIterator: AsyncIterator = null as any; const testStringCodePointAt = "".codePointAt(0); >testStringCodePointAt : Symbol(testStringCodePointAt, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 67, 5)) +>"".codePointAt : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>codePointAt : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringIncludes = "".includes(""); >testStringIncludes : Symbol(testStringIncludes, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 68, 5)) +>"".includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringEndsWith = "".endsWith(""); >testStringEndsWith : Symbol(testStringEndsWith, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 69, 5)) +>"".endsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>endsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringNormalize = "".normalize(); >testStringNormalize : Symbol(testStringNormalize, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 70, 5)) +>"".normalize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>normalize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringRepeat = "".repeat(0); >testStringRepeat : Symbol(testStringRepeat, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 71, 5)) +>"".repeat : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>repeat : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringStartsWith = "".startsWith(""); >testStringStartsWith : Symbol(testStringStartsWith, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 72, 5)) +>"".startsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>startsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringAnchor = "".anchor(""); >testStringAnchor : Symbol(testStringAnchor, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 73, 5)) +>"".anchor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>anchor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringBig = "".big(); >testStringBig : Symbol(testStringBig, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 74, 5)) +>"".big : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>big : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringBlink = "".blink(); >testStringBlink : Symbol(testStringBlink, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 75, 5)) +>"".blink : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>blink : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringBold = "".bold(); >testStringBold : Symbol(testStringBold, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 76, 5)) +>"".bold : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>bold : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringFixed = "".fixed(); >testStringFixed : Symbol(testStringFixed, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 77, 5)) +>"".fixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>fixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringFontColor = "".fontcolor("blue"); >testStringFontColor : Symbol(testStringFontColor, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 78, 5)) +>"".fontcolor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>fontcolor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringFontSize = "".fontsize(0); >testStringFontSize : Symbol(testStringFontSize, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 79, 5)) +>"".fontsize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>fontsize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringItalics = "".italics(); >testStringItalics : Symbol(testStringItalics, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 80, 5)) +>"".italics : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>italics : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringLink = "".link(""); >testStringLink : Symbol(testStringLink, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 81, 5)) +>"".link : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>link : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringSmall = "".small(); >testStringSmall : Symbol(testStringSmall, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 82, 5)) +>"".small : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>small : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringStrike = "".strike(); >testStringStrike : Symbol(testStringStrike, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 83, 5)) +>"".strike : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>strike : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringSub = "".sub(); >testStringSub : Symbol(testStringSub, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 84, 5)) +>"".sub : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>sub : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringSup = "".sup(); >testStringSup : Symbol(testStringSup, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 85, 5)) +>"".sup : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>sup : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringConstructorFromCodePoint = String.fromCodePoint(); >testStringConstructorFromCodePoint : Symbol(testStringConstructorFromCodePoint, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 86, 5)) diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols index 03445f0e2b940..6b76fde7f9035 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols @@ -2,13 +2,19 @@ // es2016 const testIncludes = ["hello"].includes("world"); >testIncludes : Symbol(testIncludes, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 1, 5)) +>["hello"].includes : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>includes : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) // es2017 const testStringPadStart = "".padStart(2); >testStringPadStart : Symbol(testStringPadStart, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 4, 5)) +>"".padStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>padStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringPadEnd = "".padEnd(2); >testStringPadEnd : Symbol(testStringPadEnd, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 5, 5)) +>"".padEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>padEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testObjectConstructorValues = Object.values({}); >testObjectConstructorValues : Symbol(testObjectConstructorValues, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 6, 5)) @@ -42,13 +48,17 @@ const testPromiseFinally = new Promise(() => {}).finally(); const testRegExpMatchArrayGroups = "2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g).groups; >testRegExpMatchArrayGroups : Symbol(testRegExpMatchArrayGroups, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 15, 5)) +>"2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g).groups : Symbol(RegExpMatchArray.__index, Decl(lib.es5.d.ts, --, --)) >"2019-04-30".match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>groups : Symbol(RegExpMatchArray.__index, Decl(lib.es5.d.ts, --, --)) const testRegExpExecArrayGroups = /(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec("2019-04-30").groups; >testRegExpExecArrayGroups : Symbol(testRegExpExecArrayGroups, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 16, 5)) +>/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec("2019-04-30").groups : Symbol(RegExpExecArray.__index, Decl(lib.es5.d.ts, --, --)) >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec : Symbol(RegExp.exec, Decl(lib.es5.d.ts, --, --)) >exec : Symbol(RegExp.exec, Decl(lib.es5.d.ts, --, --)) +>groups : Symbol(RegExpExecArray.__index, Decl(lib.es5.d.ts, --, --)) const testRegExpDotAll = /foo/g.dotAll; >testRegExpDotAll : Symbol(testRegExpDotAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 17, 5)) @@ -82,9 +92,13 @@ const testNumberFormatFormatToParts = new Intl.NumberFormat("en-US").formatToPar // es2019 const testArrayFlat = [].flat(); >testArrayFlat : Symbol(testArrayFlat, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 26, 5)) +>[].flat : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>flat : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayFlatMap = [].flatMap(); >testArrayFlatMap : Symbol(testArrayFlatMap, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 27, 5)) +>[].flatMap : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>flatMap : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testObjectConstructorFromEntries = Object.fromEntries({}); >testObjectConstructorFromEntries : Symbol(testObjectConstructorFromEntries, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 28, 5)) @@ -92,15 +106,23 @@ const testObjectConstructorFromEntries = Object.fromEntries({}); const testStringTrimStart = "".trimStart(); >testStringTrimStart : Symbol(testStringTrimStart, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 29, 5)) +>"".trimStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>trimStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringTrimEnd = "".trimEnd(); >testStringTrimEnd : Symbol(testStringTrimEnd, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 30, 5)) +>"".trimEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>trimEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringTrimLeft = "".trimLeft(); >testStringTrimLeft : Symbol(testStringTrimLeft, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 31, 5)) +>"".trimLeft : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>trimLeft : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringTrimRight = "".trimRight(); >testStringTrimRight : Symbol(testStringTrimRight, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 32, 5)) +>"".trimRight : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>trimRight : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testSymbolDescription = Symbol("foo").description; >testSymbolDescription : Symbol(testSymbolDescription, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 33, 5)) @@ -113,6 +135,8 @@ const testPromiseAllSettled = Promise.allSettled([]); const testStringMatchAll = "".matchAll(); >testStringMatchAll : Symbol(testStringMatchAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 37, 5)) +>"".matchAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>matchAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testRegExpMatchAll = /matchAll/g[Symbol.matchAll]("matchAll"); >testRegExpMatchAll : Symbol(testRegExpMatchAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 38, 5)) @@ -128,6 +152,8 @@ const testPromiseAny = Promise.any([]); const testStringReplaceAll = "".replaceAll(); >testStringReplaceAll : Symbol(testStringReplaceAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 43, 5)) +>"".replaceAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>replaceAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) // esnext diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols index ae5c2b4d71c78..2dbc0d3122862 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols @@ -8,7 +8,9 @@ (x) => ({ "1": "one", "2": "two" } as { [key: string]: string }).x; >x : Symbol(x, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 1)) +>({ "1": "one", "2": "two" } as { [key: string]: string }).x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 39)) >"1" : Symbol("1", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 9)) >"2" : Symbol("2", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 21)) >key : Symbol(key, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 41)) +>x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 39)) diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols index 77ed54addd964..e3735b9987e79 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols @@ -8,7 +8,9 @@ (x) => ({ "1": "one", "2": "two" } as { [key: string]: string }).x; >x : Symbol(x, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 1)) +>({ "1": "one", "2": "two" } as { [key: string]: string }).x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 39)) >"1" : Symbol("1", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 9)) >"2" : Symbol("2", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 21)) >key : Symbol(key, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 41)) +>x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 39)) diff --git a/tests/baselines/reference/exactSpellingSuggestion.symbols b/tests/baselines/reference/exactSpellingSuggestion.symbols index 6bffed6a28545..75e82ed87f6c2 100644 --- a/tests/baselines/reference/exactSpellingSuggestion.symbols +++ b/tests/baselines/reference/exactSpellingSuggestion.symbols @@ -15,5 +15,7 @@ enum U8 { } U8.bit_2 +>U8.bit_2 : Symbol(U8.__index) >U8 : Symbol(U8, Decl(exactSpellingSuggestion.ts, 0, 0)) +>bit_2 : Symbol(U8.__index) diff --git a/tests/baselines/reference/extendFromAny.symbols b/tests/baselines/reference/extendFromAny.symbols index 3d6873fc26ce7..04f62311bd925 100644 --- a/tests/baselines/reference/extendFromAny.symbols +++ b/tests/baselines/reference/extendFromAny.symbols @@ -28,8 +28,12 @@ C.sknown.length; // error, 'sknown' has no 'length' property >sknown : Symbol(C.sknown, Decl(extendFromAny.ts, 2, 14)) c.unknown.length; // ok, unknown: any +>c.unknown : Symbol(C.__index) >c : Symbol(c, Decl(extendFromAny.ts, 6, 3)) +>unknown : Symbol(C.__index) C.sunknown.length; // ok: sunknown: any +>C.sunknown : Symbol(C.__index) >C : Symbol(C, Decl(extendFromAny.ts, 0, 22)) +>sunknown : Symbol(C.__index) diff --git a/tests/baselines/reference/fixSignatureCaching.symbols b/tests/baselines/reference/fixSignatureCaching.symbols index 0ec1d2c63aae8..fa7b2dc529b36 100644 --- a/tests/baselines/reference/fixSignatureCaching.symbols +++ b/tests/baselines/reference/fixSignatureCaching.symbols @@ -2103,7 +2103,9 @@ define(function () { return function (factory) { window.MobileDetect = factory(); }; >factory : Symbol(factory, Decl(fixSignatureCaching.ts, 982, 25)) +>window.MobileDetect : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>MobileDetect : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >factory : Symbol(factory, Decl(fixSignatureCaching.ts, 982, 25)) } else { diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.symbols b/tests/baselines/reference/for-inStatementsArrayErrors.symbols index 65799c37be9a4..d477221e64f27 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.symbols +++ b/tests/baselines/reference/for-inStatementsArrayErrors.symbols @@ -22,7 +22,9 @@ for (let x in a) { } let a3 = x.unknownProperty; >a3 : Symbol(a3, Decl(for-inStatementsArrayErrors.ts, 7, 7)) +>x.unknownProperty : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(for-inStatementsArrayErrors.ts, 2, 8)) +>unknownProperty : Symbol(__index, Decl(lib.es5.d.ts, --, --)) } var i: number; diff --git a/tests/baselines/reference/genericReduce.symbols b/tests/baselines/reference/genericReduce.symbols index 1ace07b9adf9a..bdb46ee6f025c 100644 --- a/tests/baselines/reference/genericReduce.symbols +++ b/tests/baselines/reference/genericReduce.symbols @@ -59,7 +59,9 @@ var n3 = b.reduce( (x, y) => x + y, ""); // Initial value is of type str >y : Symbol(y, Decl(genericReduce.ts, 10, 30)) n3.toExponential(2); // should error if 'n3' is correctly type 'string' +>n3.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n3 : Symbol(n3, Decl(genericReduce.ts, 10, 3)) +>toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) n3.charAt(0); // should not error if 'n3' is correctly type 'string' >n3.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/globalThisPropertyAssignment.symbols b/tests/baselines/reference/globalThisPropertyAssignment.symbols index 3bc852cbba175..6697de0a196ca 100644 --- a/tests/baselines/reference/globalThisPropertyAssignment.symbols +++ b/tests/baselines/reference/globalThisPropertyAssignment.symbols @@ -9,7 +9,9 @@ var y = 2 // should work in JS window.z = 3 +>window.z : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --), Decl(globalThisPropertyAssignment.js, 1, 9)) +>z : Symbol(__index, Decl(lib.dom.d.ts, --, --)) // should work in JS (even though it's a secondary declaration) globalThis.alpha = 4 diff --git a/tests/baselines/reference/globalThisUnknown.symbols b/tests/baselines/reference/globalThisUnknown.symbols index 4f8437bf244fd..33a04691cf02f 100644 --- a/tests/baselines/reference/globalThisUnknown.symbols +++ b/tests/baselines/reference/globalThisUnknown.symbols @@ -6,7 +6,9 @@ declare let win: Window & typeof globalThis; // this access should be an error win.hi +>win.hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >win : Symbol(win, Decl(globalThisUnknown.ts, 0, 11)) +>hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) // these two should be fine, with type any this.hi diff --git a/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols b/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols index 6aee6d6051c61..357c35d1c19be 100644 --- a/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols +++ b/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols @@ -6,7 +6,9 @@ declare let win: Window & typeof globalThis; // all accesses should be errors win.hi +>win.hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >win : Symbol(win, Decl(globalThisUnknownNoImplicitAny.ts, 0, 11)) +>hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) this.hi >this : Symbol(globalThis) diff --git a/tests/baselines/reference/globalThisVarDeclaration.symbols b/tests/baselines/reference/globalThisVarDeclaration.symbols index 67d0204bfb762..881829e9d2644 100644 --- a/tests/baselines/reference/globalThisVarDeclaration.symbols +++ b/tests/baselines/reference/globalThisVarDeclaration.symbols @@ -44,10 +44,14 @@ window.b; >b : Symbol(b, Decl(actual.ts, 0, 3)) top.a; +>top.a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) +>a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) top.b; +>top.b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) +>b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) === tests/cases/conformance/es2019/actual.ts === var b = 10; @@ -95,9 +99,13 @@ window.b; >b : Symbol(b, Decl(actual.ts, 0, 3)) top.a; +>top.a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) +>a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) top.b; +>top.b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) +>b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols b/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols index 0d1fa05081707..dc93318ee4f73 100644 --- a/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols +++ b/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols @@ -2,5 +2,7 @@ // used to leak __missing into error message var p2 = window. >p2 : Symbol(p2, Decl(incompleteDottedExpressionAtEOF.ts, 1, 3)) +>window. : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +> : Symbol(__index, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/indexAt(target=es2021).symbols b/tests/baselines/reference/indexAt(target=es2021).symbols index 383f372fadd3e..898b6d55bc66d 100644 --- a/tests/baselines/reference/indexAt(target=es2021).symbols +++ b/tests/baselines/reference/indexAt(target=es2021).symbols @@ -1,36 +1,64 @@ === tests/cases/compiler/indexAt.ts === [0].at(0); +>[0].at : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>at : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) + "foo".at(0); +>"foo".at : Symbol(__index, Decl(lib.es5.d.ts, --, --)) +>at : Symbol(__index, Decl(lib.es5.d.ts, --, --)) + new Int8Array().at(0); +>new Int8Array().at : Symbol(Int8Array.__index, Decl(lib.es5.d.ts, --, --)) >Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Int8Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint8Array().at(0); +>new Uint8Array().at : Symbol(Uint8Array.__index, Decl(lib.es5.d.ts, --, --)) >Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Uint8Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint8ClampedArray().at(0); +>new Uint8ClampedArray().at : Symbol(Uint8ClampedArray.__index, Decl(lib.es5.d.ts, --, --)) >Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Uint8ClampedArray.__index, Decl(lib.es5.d.ts, --, --)) new Int16Array().at(0); +>new Int16Array().at : Symbol(Int16Array.__index, Decl(lib.es5.d.ts, --, --)) >Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Int16Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint16Array().at(0); +>new Uint16Array().at : Symbol(Uint16Array.__index, Decl(lib.es5.d.ts, --, --)) >Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Uint16Array.__index, Decl(lib.es5.d.ts, --, --)) new Int32Array().at(0); +>new Int32Array().at : Symbol(Int32Array.__index, Decl(lib.es5.d.ts, --, --)) >Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Int32Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint32Array().at(0); +>new Uint32Array().at : Symbol(Uint32Array.__index, Decl(lib.es5.d.ts, --, --)) >Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Uint32Array.__index, Decl(lib.es5.d.ts, --, --)) new Float32Array().at(0); +>new Float32Array().at : Symbol(Float32Array.__index, Decl(lib.es5.d.ts, --, --)) >Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Float32Array.__index, Decl(lib.es5.d.ts, --, --)) new Float64Array().at(0); +>new Float64Array().at : Symbol(Float64Array.__index, Decl(lib.es5.d.ts, --, --)) >Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) +>at : Symbol(Float64Array.__index, Decl(lib.es5.d.ts, --, --)) new BigInt64Array().at(0); +>new BigInt64Array().at : Symbol(BigInt64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) >BigInt64Array : Symbol(BigInt64Array, Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --)) +>at : Symbol(BigInt64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) new BigUint64Array().at(0); +>new BigUint64Array().at : Symbol(BigUint64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) >BigUint64Array : Symbol(BigUint64Array, Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --)) +>at : Symbol(BigUint64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) diff --git a/tests/baselines/reference/indexSignatures1.symbols b/tests/baselines/reference/indexSignatures1.symbols index 40d8740b1b7b2..dab1d380df72b 100644 --- a/tests/baselines/reference/indexSignatures1.symbols +++ b/tests/baselines/reference/indexSignatures1.symbols @@ -133,7 +133,9 @@ const y1 = dom['data123']; const y2 = dom.data123; >y2 : Symbol(y2, Decl(indexSignatures1.ts, 47, 5)) +>dom.data123 : Symbol(__index, Decl(indexSignatures1.ts, 45, 18)) >dom : Symbol(dom, Decl(indexSignatures1.ts, 45, 11)) +>data123 : Symbol(__index, Decl(indexSignatures1.ts, 45, 18)) // Excess property checking for template pattern index signature diff --git a/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols b/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols index d1965ff300b19..cf3cafadc73bc 100644 --- a/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols +++ b/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols @@ -5,5 +5,7 @@ const [, a = ''] = ''.match('') || []; >match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) a.toFixed() +>a.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(initializedDestructuringAssignmentTypes.ts, 0, 8)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/interfaceAssignmentCompat.symbols b/tests/baselines/reference/interfaceAssignmentCompat.symbols index 6f65abdd15154..4992b95bccac2 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.symbols +++ b/tests/baselines/reference/interfaceAssignmentCompat.symbols @@ -119,7 +119,9 @@ module M { result+=((Color._map[z[i].color])+"\r\n"); >result : Symbol(result, Decl(interfaceAssignmentCompat.ts, 25, 11)) +>Color._map : Symbol(Color.__index) >Color : Symbol(Color, Decl(interfaceAssignmentCompat.ts, 0, 10)) +>_map : Symbol(Color.__index) >z[i].color : Symbol(IEye.color, Decl(interfaceAssignmentCompat.ts, 7, 27)) >z : Symbol(z, Decl(interfaceAssignmentCompat.ts, 33, 11)) >i : Symbol(i, Decl(interfaceAssignmentCompat.ts, 35, 16)) diff --git a/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols b/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols index 6acf6ed809528..d098b05ce4de9 100644 --- a/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols +++ b/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols @@ -21,5 +21,7 @@ declare module "./test" { } a.toFixed(); +>a.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(index.ts, 0, 8)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.symbols b/tests/baselines/reference/keyofAndIndexedAccess2.symbols index a17aafe571aa5..ca42690ebe6dc 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess2.symbols @@ -90,10 +90,14 @@ function f2(a: { x: number, y: number }, b: >x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 12, 53)) b.x; +>b.x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) >b : Symbol(b, Decl(keyofAndIndexedAccess2.ts, 12, 77)) +>x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) c.x; +>c.x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) +>x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) c[k]; >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) @@ -105,10 +109,14 @@ function f2(a: { x: number, y: number }, b: >x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 12, 53)) b.x = 1; +>b.x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) >b : Symbol(b, Decl(keyofAndIndexedAccess2.ts, 12, 77)) +>x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) c.x = 1; // Error, cannot write to index signature through constraint +>c.x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) +>x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) c[k] = 1; // Error, cannot write to index signature through constraint >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) @@ -234,7 +242,9 @@ function f11(obj: Dict, k1: keyof Dict, k2: K) { >K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 57, 13)) obj.foo = 123; +>obj.foo : Symbol(__index) >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 57, 35)) +>foo : Symbol(__index) obj[k1] = 123; >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 57, 35)) @@ -262,7 +272,9 @@ function f12, K extends keyof T>(obj: T, k1: keyof Dict >K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 63, 38)) obj.foo = 123; // Error +>obj.foo : Symbol(T.__index) >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 63, 58)) +>foo : Symbol(T.__index) obj[k1] = 123; // Error >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 63, 58)) @@ -513,7 +525,9 @@ export class c { constructor() { this.a = "b"; +>this.a : Symbol(c.__index, Decl(keyofAndIndexedAccess2.ts, 140, 16)) >this : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 136, 1)) +>a : Symbol(c.__index, Decl(keyofAndIndexedAccess2.ts, 140, 16)) this["a"] = "b"; >this : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 136, 1)) diff --git a/tests/baselines/reference/lambdaParamTypes.symbols b/tests/baselines/reference/lambdaParamTypes.symbols index 98669658f4053..8575657005afc 100644 --- a/tests/baselines/reference/lambdaParamTypes.symbols +++ b/tests/baselines/reference/lambdaParamTypes.symbols @@ -115,9 +115,11 @@ thing.doSomething((x, y) => x.name.toExponential(0)); // x.name should be string >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 19, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 19, 21)) +>x.name.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x.name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 19, 19)) >name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) +>toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) thing.doSomething((x, y) => y.id.charAt(0)); >thing.doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) @@ -135,7 +137,9 @@ thing.doSomething((x, y) => y.name.toExponential(0)); >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 21, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 21, 21)) +>y.name.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >y.name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 21, 21)) >name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) +>toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/libMembers.symbols b/tests/baselines/reference/libMembers.symbols index ae0caea88407e..416a3b62ceae9 100644 --- a/tests/baselines/reference/libMembers.symbols +++ b/tests/baselines/reference/libMembers.symbols @@ -13,7 +13,9 @@ s.substring(3,4); >substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) s.subby(12); // error unresolved +>s.subby : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(libMembers.ts, 0, 3)) +>subby : Symbol(__index, Decl(lib.es5.d.ts, --, --)) String.fromCharCode(12); >String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols index 74d9fafa49925..c103906ff7cd1 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols @@ -80,7 +80,9 @@ var str = "Hello world"; >str : Symbol(str, Decl(modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts, 42, 3)) str.includes("hello", 0); +>str.includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >str : Symbol(str, Decl(modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts, 42, 3)) +>includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) // Using ES6 symbol var s = Symbol(); diff --git a/tests/baselines/reference/moduleExportAliasUnknown.symbols b/tests/baselines/reference/moduleExportAliasUnknown.symbols index a20f90a24a88c..84f4d371a5b9f 100644 --- a/tests/baselines/reference/moduleExportAliasUnknown.symbols +++ b/tests/baselines/reference/moduleExportAliasUnknown.symbols @@ -3,7 +3,9 @@ module.exports = window.nonprop; >module.exports : Symbol(module.exports, Decl(bug27025.js, 0, 0)) >module : Symbol(export=, Decl(bug27025.js, 0, 0)) >exports : Symbol(export=, Decl(bug27025.js, 0, 0)) +>window.nonprop : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>nonprop : Symbol(__index, Decl(lib.dom.d.ts, --, --)) exports.foo = bar; >exports : Symbol(foo, Decl(bug27025.js, 0, 32)) diff --git a/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols b/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols index 993a7082251a1..3a9c347dfd419 100644 --- a/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols +++ b/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols @@ -51,7 +51,9 @@ a["foo"] // access index signature b.foo; +>b.foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13)) >b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13)) +>foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13)) b["foo"]; >b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13)) @@ -68,7 +70,9 @@ c["foo"] // access index signature c.bar; +>c.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) >c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13)) +>bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) c["bar"]; >c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13)) @@ -85,7 +89,9 @@ d?.["foo"] // optional access index signature d?.bar; +>d?.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) >d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13)) +>bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) d?.["bar"]; >d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13)) diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.symbols b/tests/baselines/reference/noUncheckedIndexedAccess.symbols index 1b0eb6f4d5b63..e04c216d7fa1e 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.symbols +++ b/tests/baselines/reference/noUncheckedIndexedAccess.symbols @@ -36,7 +36,9 @@ const e1: boolean = strMap["foo"]; const e2: boolean = strMap.bar; >e2 : Symbol(e2, Decl(noUncheckedIndexedAccess.ts, 12, 5)) +>strMap.bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) +>bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) const e3: boolean = strMap[0]; >e3 : Symbol(e3, Decl(noUncheckedIndexedAccess.ts, 13, 5)) @@ -114,7 +116,9 @@ const ok1: boolean | undefined = strMap["foo"]; const ok2: boolean | undefined = strMap.bar; >ok2 : Symbol(ok2, Decl(noUncheckedIndexedAccess.ts, 28, 5)) +>strMap.bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) +>bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) type T_OK1 = CheckBooleanOnly<(typeof strMap)[string]>; >T_OK1 : Symbol(T_OK1, Decl(noUncheckedIndexedAccess.ts, 28, 44)) @@ -147,7 +151,9 @@ strMap["baz"] = undefined; >undefined : Symbol(undefined) strMap.qua = undefined; +>strMap.qua : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) +>qua : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >undefined : Symbol(undefined) strMap[0] = undefined; diff --git a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols index fb168915d7bd4..d540f82285d24 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols +++ b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols @@ -60,7 +60,9 @@ const { ...t2 } = strMap; t2.z.toString(); // Should error >t2.z.toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) +>t2.z : Symbol(t2.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 19, 23)) >t2 : Symbol(t2, Decl(noUncheckedIndexedAccessDestructuring.ts, 24, 7)) +>z : Symbol(t2.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 19, 23)) >toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) // Test intersections with declared properties @@ -112,7 +114,9 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; q.z.toFixed(); // Should error >q.z.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) +>q.z : Symbol(q.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 28, 54)) >q : Symbol(q, Decl(noUncheckedIndexedAccessDestructuring.ts, 37, 14)) +>z : Symbol(q.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 28, 54)) >toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols index eb27eb7c47489..e174672752cbe 100644 --- a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols +++ b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols @@ -45,5 +45,7 @@ f2({ value: '', toString: (s) => s.uhhh }) // error >value : Symbol(value, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 4)) >toString : Symbol(toString, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 15)) >s : Symbol(s, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 27)) +>s.uhhh : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 27)) +>uhhh : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectRest.symbols b/tests/baselines/reference/objectRest.symbols index 3f3b54e93df91..1f2e47e4304d9 100644 --- a/tests/baselines/reference/objectRest.symbols +++ b/tests/baselines/reference/objectRest.symbols @@ -198,5 +198,7 @@ var noContextualType = ({ aNumber = 12, ...notEmptyObject }) => aNumber + notEmp >aNumber : Symbol(aNumber, Decl(objectRest.ts, 45, 25)) >notEmptyObject : Symbol(notEmptyObject, Decl(objectRest.ts, 45, 39)) >aNumber : Symbol(aNumber, Decl(objectRest.ts, 45, 25)) +>notEmptyObject.anythingGoes : Symbol(notEmptyObject.__index) >notEmptyObject : Symbol(notEmptyObject, Decl(objectRest.ts, 45, 39)) +>anythingGoes : Symbol(notEmptyObject.__index) diff --git a/tests/baselines/reference/objectSpreadIndexSignature.symbols b/tests/baselines/reference/objectSpreadIndexSignature.symbols index 439463c41316a..b58062deadd3c 100644 --- a/tests/baselines/reference/objectSpreadIndexSignature.symbols +++ b/tests/baselines/reference/objectSpreadIndexSignature.symbols @@ -49,5 +49,7 @@ var writable = { ...roindex }; >roindex : Symbol(roindex, Decl(objectSpreadIndexSignature.ts, 13, 11)) writable.a = 0; // should be ok. +>writable.a : Symbol(__index) >writable : Symbol(writable, Decl(objectSpreadIndexSignature.ts, 14, 3)) +>a : Symbol(__index) diff --git a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols index 7683b145a8ad5..dce4747ef79af 100644 --- a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols +++ b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols @@ -89,211 +89,315 @@ function parseWithSpread(config: Record): Props { return { ...config.a !== undefined && { a: config.a.toString() }, +>config.a : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>a : Symbol(__index) >undefined : Symbol(undefined) >a : Symbol(a, Decl(objectSpreadRepeatedNullCheckPerf.ts, 31, 38)) >config.a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.a : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>a : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.b !== undefined && { b: config.b.toString() }, +>config.b : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>b : Symbol(__index) >undefined : Symbol(undefined) >b : Symbol(b, Decl(objectSpreadRepeatedNullCheckPerf.ts, 32, 38)) >config.b.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.b : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>b : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.c !== undefined && { c: config.c.toString() }, +>config.c : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>c : Symbol(__index) >undefined : Symbol(undefined) >c : Symbol(c, Decl(objectSpreadRepeatedNullCheckPerf.ts, 33, 38)) >config.c.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.c : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>c : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.d !== undefined && { d: config.d.toString() }, +>config.d : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>d : Symbol(__index) >undefined : Symbol(undefined) >d : Symbol(d, Decl(objectSpreadRepeatedNullCheckPerf.ts, 34, 38)) >config.d.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.d : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>d : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.e !== undefined && { e: config.e.toString() }, +>config.e : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>e : Symbol(__index) >undefined : Symbol(undefined) >e : Symbol(e, Decl(objectSpreadRepeatedNullCheckPerf.ts, 35, 38)) >config.e.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.e : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>e : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.f !== undefined && { f: config.f.toString() }, +>config.f : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>f : Symbol(__index) >undefined : Symbol(undefined) >f : Symbol(f, Decl(objectSpreadRepeatedNullCheckPerf.ts, 36, 38)) >config.f.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.f : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>f : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.g !== undefined && { g: config.g.toString() }, +>config.g : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>g : Symbol(__index) >undefined : Symbol(undefined) >g : Symbol(g, Decl(objectSpreadRepeatedNullCheckPerf.ts, 37, 38)) >config.g.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.g : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>g : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.h !== undefined && { h: config.h.toString() }, +>config.h : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>h : Symbol(__index) >undefined : Symbol(undefined) >h : Symbol(h, Decl(objectSpreadRepeatedNullCheckPerf.ts, 38, 38)) >config.h.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.h : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>h : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.i !== undefined && { i: config.i.toString() }, +>config.i : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>i : Symbol(__index) >undefined : Symbol(undefined) >i : Symbol(i, Decl(objectSpreadRepeatedNullCheckPerf.ts, 39, 38)) >config.i.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.i : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>i : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.j !== undefined && { j: config.j.toString() }, +>config.j : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>j : Symbol(__index) >undefined : Symbol(undefined) >j : Symbol(j, Decl(objectSpreadRepeatedNullCheckPerf.ts, 40, 38)) >config.j.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.j : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>j : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.k !== undefined && { k: config.k.toString() }, +>config.k : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>k : Symbol(__index) >undefined : Symbol(undefined) >k : Symbol(k, Decl(objectSpreadRepeatedNullCheckPerf.ts, 41, 38)) >config.k.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.k : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>k : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.l !== undefined && { l: config.l.toString() }, +>config.l : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>l : Symbol(__index) >undefined : Symbol(undefined) >l : Symbol(l, Decl(objectSpreadRepeatedNullCheckPerf.ts, 42, 38)) >config.l.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.l : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>l : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.m !== undefined && { m: config.m.toString() }, +>config.m : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>m : Symbol(__index) >undefined : Symbol(undefined) >m : Symbol(m, Decl(objectSpreadRepeatedNullCheckPerf.ts, 43, 38)) >config.m.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.m : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>m : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.n !== undefined && { n: config.n.toString() }, +>config.n : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>n : Symbol(__index) >undefined : Symbol(undefined) >n : Symbol(n, Decl(objectSpreadRepeatedNullCheckPerf.ts, 44, 38)) >config.n.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.n : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>n : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.o !== undefined && { o: config.o.toString() }, +>config.o : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>o : Symbol(__index) >undefined : Symbol(undefined) >o : Symbol(o, Decl(objectSpreadRepeatedNullCheckPerf.ts, 45, 38)) >config.o.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.o : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>o : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.p !== undefined && { p: config.p.toString() }, +>config.p : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>p : Symbol(__index) >undefined : Symbol(undefined) >p : Symbol(p, Decl(objectSpreadRepeatedNullCheckPerf.ts, 46, 38)) >config.p.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.p : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>p : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.q !== undefined && { q: config.q.toString() }, +>config.q : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>q : Symbol(__index) >undefined : Symbol(undefined) >q : Symbol(q, Decl(objectSpreadRepeatedNullCheckPerf.ts, 47, 38)) >config.q.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.q : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>q : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.r !== undefined && { r: config.r.toString() }, +>config.r : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>r : Symbol(__index) >undefined : Symbol(undefined) >r : Symbol(r, Decl(objectSpreadRepeatedNullCheckPerf.ts, 48, 38)) >config.r.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.r : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>r : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.s !== undefined && { s: config.s.toString() }, +>config.s : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>s : Symbol(__index) >undefined : Symbol(undefined) >s : Symbol(s, Decl(objectSpreadRepeatedNullCheckPerf.ts, 49, 38)) >config.s.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.s : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>s : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.t !== undefined && { t: config.t.toString() }, +>config.t : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>t : Symbol(__index) >undefined : Symbol(undefined) >t : Symbol(t, Decl(objectSpreadRepeatedNullCheckPerf.ts, 50, 38)) >config.t.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.t : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>t : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.u !== undefined && { u: config.u.toString() }, +>config.u : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>u : Symbol(__index) >undefined : Symbol(undefined) >u : Symbol(u, Decl(objectSpreadRepeatedNullCheckPerf.ts, 51, 38)) >config.u.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.u : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>u : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.v !== undefined && { v: config.v.toString() }, +>config.v : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>v : Symbol(__index) >undefined : Symbol(undefined) >v : Symbol(v, Decl(objectSpreadRepeatedNullCheckPerf.ts, 52, 38)) >config.v.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.v : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>v : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.w !== undefined && { w: config.w.toString() }, +>config.w : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>w : Symbol(__index) >undefined : Symbol(undefined) >w : Symbol(w, Decl(objectSpreadRepeatedNullCheckPerf.ts, 53, 38)) >config.w.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.w : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>w : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.x !== undefined && { x: config.x.toString() }, +>config.x : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>x : Symbol(__index) >undefined : Symbol(undefined) >x : Symbol(x, Decl(objectSpreadRepeatedNullCheckPerf.ts, 54, 38)) >config.x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.x : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>x : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.y !== undefined && { y: config.y.toString() }, +>config.y : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>y : Symbol(__index) >undefined : Symbol(undefined) >y : Symbol(y, Decl(objectSpreadRepeatedNullCheckPerf.ts, 55, 38)) >config.y.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.y : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>y : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.z !== undefined && { z: config.z.toString() } +>config.z : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>z : Symbol(__index) >undefined : Symbol(undefined) >z : Symbol(z, Decl(objectSpreadRepeatedNullCheckPerf.ts, 56, 38)) >config.z.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) +>config.z : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) +>z : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/overloadResolution.symbols b/tests/baselines/reference/overloadResolution.symbols index 164e7fe3e64f8..4c77dcbcbdcf7 100644 --- a/tests/baselines/reference/overloadResolution.symbols +++ b/tests/baselines/reference/overloadResolution.symbols @@ -242,7 +242,9 @@ var n = fn5((n) => n.toFixed()); >n : Symbol(n, Decl(overloadResolution.ts, 53, 3), Decl(overloadResolution.ts, 54, 3), Decl(overloadResolution.ts, 59, 3), Decl(overloadResolution.ts, 90, 3)) >fn5 : Symbol(fn5, Decl(overloadResolution.ts, 84, 16), Decl(overloadResolution.ts, 87, 45), Decl(overloadResolution.ts, 88, 45)) >n : Symbol(n, Decl(overloadResolution.ts, 90, 13)) +>n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolution.ts, 90, 13)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) var s = fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolution.ts, 21, 3), Decl(overloadResolution.ts, 22, 3), Decl(overloadResolution.ts, 37, 3), Decl(overloadResolution.ts, 51, 3), Decl(overloadResolution.ts, 52, 3) ... and 3 more) diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.symbols b/tests/baselines/reference/overloadResolutionClassConstructors.symbols index 5b69ee79ff1b0..08c10ccb8538d 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionClassConstructors.symbols @@ -211,7 +211,9 @@ class fn5 { new fn5((n) => n.toFixed()); >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 95, 9)) +>n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 95, 9)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) new fn5((n) => n.substr(0)); >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) @@ -223,7 +225,9 @@ new fn5((n) => n.substr(0)); new fn5((n) => n.blah); // Error >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 97, 9)) +>n.blah : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 97, 9)) +>blah : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/overloadResolutionConstructors.symbols b/tests/baselines/reference/overloadResolutionConstructors.symbols index 025068be5569e..fde936da4f6d0 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionConstructors.symbols @@ -247,7 +247,9 @@ var n = new fn5((n) => n.toFixed()); >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 57, 3), Decl(overloadResolutionConstructors.ts, 58, 3), Decl(overloadResolutionConstructors.ts, 63, 3), Decl(overloadResolutionConstructors.ts, 99, 3)) >fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 99, 17)) +>n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 99, 17)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) var s = new fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) diff --git a/tests/baselines/reference/privateNameAndIndexSignature.symbols b/tests/baselines/reference/privateNameAndIndexSignature.symbols index c1677a01d5dd8..1263c43c3c545 100644 --- a/tests/baselines/reference/privateNameAndIndexSignature.symbols +++ b/tests/baselines/reference/privateNameAndIndexSignature.symbols @@ -18,6 +18,7 @@ class A { >message : Symbol(message, Decl(privateNameAndIndexSignature.ts, 4, 16)) this.#f = 3 // Error (index signatures do not implicitly declare private names) +>this.#f : Symbol(A.__index, Decl(privateNameAndIndexSignature.ts, 0, 9)) >this : Symbol(A, Decl(privateNameAndIndexSignature.ts, 0, 0)) this["#foo"] = 3; // Okay (type has index signature and "#foo" does not collide with private identifier #foo) diff --git a/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols b/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols index fdb108c736227..ab8649993c04d 100644 --- a/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols @@ -11,5 +11,7 @@ declare var a: Test; >Test : Symbol(Test, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 0)) a.foo = 'baz'; +>a.foo : Symbol(Test.__index, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 16)) >a : Symbol(a, Decl(propertyAccessOfReadonlyIndexSignature.ts, 4, 11)) +>foo : Symbol(Test.__index, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 16)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols b/tests/baselines/reference/propertyAccessStringIndexSignature.symbols index 8258ecb65d829..24f93a01ebae4 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignature.symbols @@ -8,13 +8,19 @@ let flags: Flags; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) flags.b; +>flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.f; +>flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; +>flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags['this is fine']; >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols index 338f0650cce4c..98f95b4c1ea14 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols @@ -8,13 +8,19 @@ let flags: Flags; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 0)) flags.b; +>flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) +>b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags.f; +>flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) +>f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; +>flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) +>isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags['this is fine']; >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline index 915c865086b50..e17c4f93353c0 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline @@ -239,6 +239,10 @@ "text": " ", "kind": "space" }, + { + "text": "T", + "kind": "typeParameterName" + }, { "text": "T", "kind": "typeParameterName" @@ -631,6 +635,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -827,6 +835,10 @@ "text": " ", "kind": "space" }, + { + "text": "T", + "kind": "typeParameterName" + }, { "text": "T", "kind": "typeParameterName" @@ -943,6 +955,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -1768,6 +1784,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" } ], "documentation": [] @@ -2370,6 +2390,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] @@ -2650,6 +2674,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" } ], "documentation": [] @@ -2822,6 +2850,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline index b7f9cb4a03ec6..fba86008067cc 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline @@ -221,6 +221,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -373,6 +377,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -732,6 +740,10 @@ { "text": "string", "kind": "keyword" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] @@ -916,6 +928,10 @@ { "text": "string", "kind": "keyword" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline index 8f9afb4f54c07..d5f22b76af70e 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline @@ -279,6 +279,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -459,6 +463,10 @@ "text": " ", "kind": "space" }, + { + "text": "T", + "kind": "typeParameterName" + }, { "text": "T", "kind": "typeParameterName" @@ -827,6 +835,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -999,6 +1011,10 @@ "text": " ", "kind": "space" }, + { + "text": "T", + "kind": "typeParameterName" + }, { "text": "T", "kind": "typeParameterName" @@ -1513,6 +1529,10 @@ "text": " ", "kind": "space" }, + { + "text": "U", + "kind": "typeParameterName" + }, { "text": "U", "kind": "typeParameterName" @@ -1709,6 +1729,10 @@ "text": " ", "kind": "space" }, + { + "text": "T", + "kind": "typeParameterName" + }, { "text": "T", "kind": "typeParameterName" @@ -2940,6 +2964,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] @@ -3176,6 +3204,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" } ], "documentation": [] @@ -3698,6 +3730,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] @@ -3926,6 +3962,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" } ], "documentation": [] @@ -4678,6 +4718,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "U", + "kind": "typeParameterName" } ], "documentation": [] @@ -4958,6 +5002,10 @@ { "text": ">", "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" } ], "documentation": [] diff --git a/tests/baselines/reference/quickInfoInheritDoc2.baseline b/tests/baselines/reference/quickInfoInheritDoc2.baseline index 40dc3368efd21..074dd136bbbf7 100644 --- a/tests/baselines/reference/quickInfoInheritDoc2.baseline +++ b/tests/baselines/reference/quickInfoInheritDoc2.baseline @@ -61,6 +61,10 @@ "text": " ", "kind": "space" }, + { + "text": "T", + "kind": "typeParameterName" + }, { "text": "T", "kind": "typeParameterName" diff --git a/tests/baselines/reference/recursiveMappedTypes.symbols b/tests/baselines/reference/recursiveMappedTypes.symbols index 62f9987c995cf..ae127d2ced0ce 100644 --- a/tests/baselines/reference/recursiveMappedTypes.symbols +++ b/tests/baselines/reference/recursiveMappedTypes.symbols @@ -217,7 +217,9 @@ declare let x: ListChild; >ListChild : Symbol(ListChild, Decl(recursiveMappedTypes.ts, 73, 1)) x.type; +>x.type : Symbol(__index) >x : Symbol(x, Decl(recursiveMappedTypes.ts, 77, 11)) +>type : Symbol(__index) // Repros from #41790 diff --git a/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols b/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols index 64881726d1496..44ecf9a319888 100644 --- a/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols +++ b/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols @@ -13,18 +13,24 @@ const recordOfRecords: RecordOfRecords = {} >RecordOfRecords : Symbol(RecordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 36)) recordOfRecords.propA = {...(foo !== undefined ? {foo} : {})} // OK +>recordOfRecords.propA : Symbol(RecordOfRecords.__index) >recordOfRecords : Symbol(recordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 3, 5)) +>propA : Symbol(RecordOfRecords.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 4, 50)) recordOfRecords.propB = {...(foo && {foo})} // OK +>recordOfRecords.propB : Symbol(RecordOfRecords.__index) >recordOfRecords : Symbol(recordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 3, 5)) +>propB : Symbol(RecordOfRecords.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 5, 37)) recordOfRecords.propC = {...(foo !== undefined && {foo})} // error'd in 3.7 beta, should be OK +>recordOfRecords.propC : Symbol(RecordOfRecords.__index) >recordOfRecords : Symbol(recordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 3, 5)) +>propC : Symbol(RecordOfRecords.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 6, 51)) @@ -39,18 +45,24 @@ const recordsOfRecordsOrEmpty: RecordOfRecordsOrEmpty = {} >RecordOfRecordsOrEmpty : Symbol(RecordOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 6, 57)) recordsOfRecordsOrEmpty.propA = {...(foo !== undefined ? {foo} : {})} // OK +>recordsOfRecordsOrEmpty.propA : Symbol(RecordOfRecordsOrEmpty.__index) >recordsOfRecordsOrEmpty : Symbol(recordsOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 9, 5)) +>propA : Symbol(RecordOfRecordsOrEmpty.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 10, 58)) recordsOfRecordsOrEmpty.propB = {...(foo && {foo})} // OK +>recordsOfRecordsOrEmpty.propB : Symbol(RecordOfRecordsOrEmpty.__index) >recordsOfRecordsOrEmpty : Symbol(recordsOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 9, 5)) +>propB : Symbol(RecordOfRecordsOrEmpty.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 11, 45)) recordsOfRecordsOrEmpty.propC = {...(foo !== undefined && {foo})} // OK +>recordsOfRecordsOrEmpty.propC : Symbol(RecordOfRecordsOrEmpty.__index) >recordsOfRecordsOrEmpty : Symbol(recordsOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 9, 5)) +>propC : Symbol(RecordOfRecordsOrEmpty.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 12, 59)) diff --git a/tests/baselines/reference/staticIndexSignature1.symbols b/tests/baselines/reference/staticIndexSignature1.symbols index b672f4e22a7e2..b763cfe36403b 100644 --- a/tests/baselines/reference/staticIndexSignature1.symbols +++ b/tests/baselines/reference/staticIndexSignature1.symbols @@ -13,7 +13,9 @@ C["foo"] = 1 >C : Symbol(C, Decl(staticIndexSignature1.ts, 0, 0)) C.bar = 2; +>C.bar : Symbol(C.__index, Decl(staticIndexSignature1.ts, 0, 9), Decl(staticIndexSignature1.ts, 1, 31)) >C : Symbol(C, Decl(staticIndexSignature1.ts, 0, 0)) +>bar : Symbol(C.__index, Decl(staticIndexSignature1.ts, 0, 9), Decl(staticIndexSignature1.ts, 1, 31)) const foo = C["foo"] >foo : Symbol(foo, Decl(staticIndexSignature1.ts, 7, 5)) diff --git a/tests/baselines/reference/staticIndexSignature2.symbols b/tests/baselines/reference/staticIndexSignature2.symbols index abbf36f9733b4..552207247aa75 100644 --- a/tests/baselines/reference/staticIndexSignature2.symbols +++ b/tests/baselines/reference/staticIndexSignature2.symbols @@ -13,7 +13,9 @@ C["foo"] = 1 >C : Symbol(C, Decl(staticIndexSignature2.ts, 0, 0)) C.bar = 2; +>C.bar : Symbol(C.__index, Decl(staticIndexSignature2.ts, 0, 9), Decl(staticIndexSignature2.ts, 1, 40)) >C : Symbol(C, Decl(staticIndexSignature2.ts, 0, 0)) +>bar : Symbol(C.__index, Decl(staticIndexSignature2.ts, 0, 9), Decl(staticIndexSignature2.ts, 1, 40)) const foo = C["foo"] >foo : Symbol(foo, Decl(staticIndexSignature2.ts, 7, 5)) diff --git a/tests/baselines/reference/staticIndexSignature4.symbols b/tests/baselines/reference/staticIndexSignature4.symbols index 198b01bc80288..5fa5ed8e8d8aa 100644 --- a/tests/baselines/reference/staticIndexSignature4.symbols +++ b/tests/baselines/reference/staticIndexSignature4.symbols @@ -40,8 +40,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) B.a = D.a +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) B[2] = D[2] >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) @@ -51,8 +55,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) D.a = B.a +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) D[2] = B[2] >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) @@ -62,16 +70,24 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) B.a = i.a +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) B[2] = i[2] >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) D.a = i.a +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) D[2] = i [2] >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) @@ -81,8 +97,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) i.a = B.a +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) i[2] = B[2] >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) @@ -92,8 +112,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) i.a = D.a +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) i[2] = B[2] >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) diff --git a/tests/baselines/reference/staticIndexSignature6.symbols b/tests/baselines/reference/staticIndexSignature6.symbols index f5905cad067db..9774096faff7c 100644 --- a/tests/baselines/reference/staticIndexSignature6.symbols +++ b/tests/baselines/reference/staticIndexSignature6.symbols @@ -24,10 +24,14 @@ const C = foo() >foo : Symbol(foo, Decl(staticIndexSignature6.ts, 0, 0)) C.a; +>C.a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) +>a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) C.a = 1; +>C.a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) +>a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) C[2]; >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols index 3ae8ba82c53da..95c1beaa4a8a6 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols @@ -219,7 +219,9 @@ function fn5() { return undefined; } fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 68, 9)) +>n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 68, 9)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) fn5 `${ (n) => n.substr(0) }`; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols index c8c0e6c655182..19dd4817c8a23 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols @@ -219,7 +219,9 @@ function fn5() { return undefined; } fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 68, 9)) +>n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 68, 9)) +>toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) fn5 `${ (n) => n.substr(0) }`; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) diff --git a/tests/baselines/reference/templateLiteralsInTypes.symbols b/tests/baselines/reference/templateLiteralsInTypes.symbols index 2c5b48922287d..cc71682a881b6 100644 --- a/tests/baselines/reference/templateLiteralsInTypes.symbols +++ b/tests/baselines/reference/templateLiteralsInTypes.symbols @@ -7,5 +7,7 @@ const f = (hdr: string, val: number) => `${hdr}:\t${val}\r\n` as `${string}:\t${ >val : Symbol(val, Decl(templateLiteralsInTypes.ts, 0, 23)) f("x").foo; +>f("x").foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(templateLiteralsInTypes.ts, 0, 5)) +>foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/thisTypeInFunctions2.symbols b/tests/baselines/reference/thisTypeInFunctions2.symbols index 82ddc46903ccc..45c72c808159c 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.symbols +++ b/tests/baselines/reference/thisTypeInFunctions2.symbols @@ -93,7 +93,9 @@ extend2({ >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) this.mine +>this.mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) +>mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) }, mine: 13, @@ -106,7 +108,9 @@ extend2({ >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) this.mine +>this.mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) +>mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) } }); diff --git a/tests/baselines/reference/tsxAttributeResolution2.symbols b/tests/baselines/reference/tsxAttributeResolution2.symbols index fb7ac3aed88e6..b6b7fd27ead68 100644 --- a/tests/baselines/reference/tsxAttributeResolution2.symbols +++ b/tests/baselines/reference/tsxAttributeResolution2.symbols @@ -42,5 +42,7 @@ interface Attribs1 { >test1 : Symbol(JSX.IntrinsicElements.test1, Decl(file.tsx, 2, 30)) >c1 : Symbol(c1, Decl(file.tsx, 16, 6)) >x : Symbol(x, Decl(file.tsx, 16, 12)) +>x.leng : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file.tsx, 16, 12)) +>leng : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/tsxAttributeResolution4.symbols b/tests/baselines/reference/tsxAttributeResolution4.symbols index 50e603371c45e..ff357f974172e 100644 --- a/tests/baselines/reference/tsxAttributeResolution4.symbols +++ b/tests/baselines/reference/tsxAttributeResolution4.symbols @@ -32,5 +32,7 @@ interface Attribs1 { >test1 : Symbol(JSX.IntrinsicElements.test1, Decl(file.tsx, 2, 30)) >x : Symbol(x, Decl(file.tsx, 14, 13)) >n : Symbol(n, Decl(file.tsx, 14, 17)) +>n.len : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(file.tsx, 14, 17)) +>len : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols b/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols index 97bb22526091d..a8f6958064320 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols +++ b/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols @@ -67,9 +67,11 @@ let e = x.greeting.subtr(10)} />; >BigGreeter : Symbol(BigGreeter, Decl(file.tsx, 4, 1)) >ref : Symbol(ref, Decl(file.tsx, 24, 19)) >x : Symbol(x, Decl(file.tsx, 24, 25)) +>x.greeting.subtr : Symbol(__index, Decl(lib.d.ts, --, --)) >x.greeting : Symbol(BigGreeter.greeting, Decl(file.tsx, 9, 2)) >x : Symbol(x, Decl(file.tsx, 24, 25)) >greeting : Symbol(BigGreeter.greeting, Decl(file.tsx, 9, 2)) +>subtr : Symbol(__index, Decl(lib.d.ts, --, --)) // Error (ref callback is contextually typed) let f = x.notARealProperty} />; diff --git a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols index b91a3941ae3e2..47e9ed1f478c8 100644 --- a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols +++ b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols @@ -10,6 +10,9 @@ var functions = [function () { >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [1, 2, 3].NonexistantMethod(); +>[1, 2, 3].NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) + derp(); }]; diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols index 06912f9d59b7a..845fdcf69d697 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols @@ -306,16 +306,22 @@ function f(i: Indexed) { >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) return i.a; +>i.a : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>a : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } else if ("b" in i) { >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) return i.b; +>i.b : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>b : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } return "c" in i && i.c; >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>i.c : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>c : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } diff --git a/tests/baselines/reference/typeGuardsWithAny.symbols b/tests/baselines/reference/typeGuardsWithAny.symbols index b4ce8fb4a1162..cd7b1325b6085 100644 --- a/tests/baselines/reference/typeGuardsWithAny.symbols +++ b/tests/baselines/reference/typeGuardsWithAny.symbols @@ -19,7 +19,9 @@ if (typeof x === "string") { >x : Symbol(x, Decl(typeGuardsWithAny.ts, 0, 3)) x.p; // Error, type any narrowed by primitive type check +>x.p : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsWithAny.ts, 0, 3)) +>p : Symbol(__index, Decl(lib.es5.d.ts, --, --)) } else { x.p; // No error, type unaffected in this branch diff --git a/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols b/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols index 19786426ab8c8..3783c03766a0f 100644 --- a/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols +++ b/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols @@ -7,6 +7,9 @@ var functions = [function() { >functions : Symbol(functions, Decl(undefinedSymbolReferencedInArrayLiteral1.ts, 2, 3)) [1, 2, 3].NonexistantMethod(); +>[1, 2, 3].NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) +>NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) + anotherNonExistingMethod(); }]; diff --git a/tests/baselines/reference/useRegexpGroups.symbols b/tests/baselines/reference/useRegexpGroups.symbols index ebfa86f6c2cee..1ff3c983e203e 100644 --- a/tests/baselines/reference/useRegexpGroups.symbols +++ b/tests/baselines/reference/useRegexpGroups.symbols @@ -14,9 +14,11 @@ let date = result[0]; let year1 = result.groups.year; >year1 : Symbol(year1, Decl(useRegexpGroups.ts, 5, 3)) +>result.groups.year : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >result.groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >result : Symbol(result, Decl(useRegexpGroups.ts, 1, 3)) >groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) +>year : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) let year2 = result[1]; >year2 : Symbol(year2, Decl(useRegexpGroups.ts, 6, 3)) @@ -24,9 +26,11 @@ let year2 = result[1]; let month1 = result.groups.month; >month1 : Symbol(month1, Decl(useRegexpGroups.ts, 8, 3)) +>result.groups.month : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >result.groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >result : Symbol(result, Decl(useRegexpGroups.ts, 1, 3)) >groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) +>month : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) let month2 = result[2]; >month2 : Symbol(month2, Decl(useRegexpGroups.ts, 9, 3)) @@ -34,9 +38,11 @@ let month2 = result[2]; let day1 = result.groups.day; >day1 : Symbol(day1, Decl(useRegexpGroups.ts, 11, 3)) +>result.groups.day : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >result.groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >result : Symbol(result, Decl(useRegexpGroups.ts, 1, 3)) >groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) +>day : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) let day2 = result[3]; >day2 : Symbol(day2, Decl(useRegexpGroups.ts, 12, 3)) @@ -44,8 +50,10 @@ let day2 = result[3]; let foo = "foo".match(/(?foo)/)!.groups.foo; >foo : Symbol(foo, Decl(useRegexpGroups.ts, 14, 3)) +>"foo".match(/(?foo)/)!.groups.foo : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >"foo".match(/(?foo)/)!.groups : Symbol(RegExpMatchArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >"foo".match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >groups : Symbol(RegExpMatchArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) +>foo : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) diff --git a/tests/cases/fourslash/jsdocPropertyDescription.ts b/tests/cases/fourslash/jsdocPropertyDescription.ts index db2c24eaf486b..0cb43124bca7d 100644 --- a/tests/cases/fourslash/jsdocPropertyDescription.ts +++ b/tests/cases/fourslash/jsdocPropertyDescription.ts @@ -1,15 +1,49 @@ /// -//// export interface Example { - //// /** Something generic */ +//// export interface StringExample { +//// /** Something generic */ //// [p: string]: any; - //// /** Something specific */ - //// property: number; +//// /** Something specific */ +//// property: number; +//// } + +//// function stringExample(e: StringExample) { +//// console.log(e./*property*/property); // works, shows type and description on hover +//// console.log(e./*string*/anything); // shows type of property but not description on hover +//// } + +verify.quickInfoAt("property", "(property) StringExample.property: number",'Something specific') +verify.quickInfoAt("string", "(index) StringExample[string]: any","Something generic") + +////export interface SymbolExample { +//// /** Something generic */ +//// [key: symbol]: string; +////} + +//// function symbolExample(e: SymbolExample) { +//// console.log(e./*symbol*/anything); +//// } + +verify.quickInfoAt("symbol", "(index) SymbolExample[symbol]: string","Something generic") + +////export interface LiteralExample { +//// /** Something generic */ +//// [key: `data-${string}`]: string; ////} -////function example(e: Example) { -//// console.log(e.property); // works, shows type and description on hover -//// console.log(e./*anything*/anything); // shows type of property but not description on hover +//// function literalExample(e: LiteralExample) { +//// console.log(e./*literal*/anything); +//// } + +verify.quickInfoAt("literal", "(index) LiteralExample[`data-${string}`]: string","Something generic") + +////export interface MultipleExample { +//// /** Something generic */ +//// [key: string | number | symbol]: string; ////} -verify.quickInfoAt("anything", "Something generic") \ No newline at end of file +//// function multipleExample(e: MultipleExample) { +//// console.log(e./*multiple*/anything); +//// } + +verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string","Something generic") \ No newline at end of file From 8ba9d2c98bed038e94f41591bec451f36928fad0 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Thu, 7 Jul 2022 11:58:01 -0700 Subject: [PATCH 05/13] added additional test --- tests/cases/fourslash/jsdocPropertyDescription.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/cases/fourslash/jsdocPropertyDescription.ts b/tests/cases/fourslash/jsdocPropertyDescription.ts index 0cb43124bca7d..855a3f97277aa 100644 --- a/tests/cases/fourslash/jsdocPropertyDescription.ts +++ b/tests/cases/fourslash/jsdocPropertyDescription.ts @@ -46,4 +46,15 @@ verify.quickInfoAt("literal", "(index) LiteralExample[`data-${string}`]: string" //// console.log(e./*multiple*/anything); //// } -verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string","Something generic") \ No newline at end of file +verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string","Something generic") + +////export interface Multiple1Example { +//// /** Something generic */ +//// [key: number | symbol | `data-${string}` | `data-${number}`]: string; +////} + +//// function multiple1Example(e: Multiple1Example) { +//// console.log(e./*multiple1*/anything); +//// } + +verify.quickInfoAt("multiple1", "(index) Multiple1Example[number | symbol | `data-${string}` | `data-${number}`]: string","Something generic") \ No newline at end of file From 6af103b5c805deeb5f4eb06d250d0617518872ce Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Fri, 8 Jul 2022 13:29:05 -0700 Subject: [PATCH 06/13] added additional example --- tests/cases/fourslash/jsdocPropertyDescription.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/tests/cases/fourslash/jsdocPropertyDescription.ts b/tests/cases/fourslash/jsdocPropertyDescription.ts index 855a3f97277aa..f1d6c6d73ba30 100644 --- a/tests/cases/fourslash/jsdocPropertyDescription.ts +++ b/tests/cases/fourslash/jsdocPropertyDescription.ts @@ -12,9 +12,6 @@ //// console.log(e./*string*/anything); // shows type of property but not description on hover //// } -verify.quickInfoAt("property", "(property) StringExample.property: number",'Something specific') -verify.quickInfoAt("string", "(index) StringExample[string]: any","Something generic") - ////export interface SymbolExample { //// /** Something generic */ //// [key: symbol]: string; @@ -24,8 +21,6 @@ verify.quickInfoAt("string", "(index) StringExample[string]: any","Something gen //// console.log(e./*symbol*/anything); //// } -verify.quickInfoAt("symbol", "(index) SymbolExample[symbol]: string","Something generic") - ////export interface LiteralExample { //// /** Something generic */ //// [key: `data-${string}`]: string; @@ -35,8 +30,6 @@ verify.quickInfoAt("symbol", "(index) SymbolExample[symbol]: string","Something //// console.log(e./*literal*/anything); //// } -verify.quickInfoAt("literal", "(index) LiteralExample[`data-${string}`]: string","Something generic") - ////export interface MultipleExample { //// /** Something generic */ //// [key: string | number | symbol]: string; @@ -46,8 +39,6 @@ verify.quickInfoAt("literal", "(index) LiteralExample[`data-${string}`]: string" //// console.log(e./*multiple*/anything); //// } -verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string","Something generic") - ////export interface Multiple1Example { //// /** Something generic */ //// [key: number | symbol | `data-${string}` | `data-${number}`]: string; @@ -57,4 +48,9 @@ verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol //// console.log(e./*multiple1*/anything); //// } +verify.quickInfoAt("property", "(property) StringExample.property: number",'Something specific') +verify.quickInfoAt("string", "(index) StringExample[string]: any","Something generic") +verify.quickInfoAt("literal", "(index) LiteralExample[`data-${string}`]: string","Something generic") +verify.quickInfoAt("symbol", "(index) SymbolExample[symbol]: string","Something generic") +verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string","Something generic") verify.quickInfoAt("multiple1", "(index) Multiple1Example[number | symbol | `data-${string}` | `data-${number}`]: string","Something generic") \ No newline at end of file From f404c80cdafcf42bdfcd72e2abbecf6b57c4d4ee Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Fri, 8 Jul 2022 17:06:36 -0700 Subject: [PATCH 07/13] fixed bug --- src/compiler/checker.ts | 2 +- src/services/symbolDisplay.ts | 2 +- ...allowJscheckJsTypeParameterNoCrash.symbols | 1 - ...checkJsdocTypeTagOnObjectProperty1.symbols | 2 - .../reference/classExtendingAny.symbols | 2 - .../classExtendsInterface_not.symbols | 2 - ...computedPropertiesInDestructuring1.symbols | 2 - ...utedPropertiesInDestructuring1_ES6.symbols | 2 - .../reference/constEnumErrors.symbols | 2 - .../contextualTypingOfObjectLiterals2.symbols | 2 - ...tualTypingWithFixedTypeParameters1.symbols | 4 - .../controlFlowElementAccess2.symbols | 6 - .../reference/controlFlowStringIndex.symbols | 6 - ...ratorWithEnumTypeInvalidOperations.symbols | 4 - ...eedToChangeYourTargetLibraryES2015.symbols | 52 --------- ...oChangeYourTargetLibraryES2016Plus.symbols | 26 ----- ...iteralExpressionInArrowFunctionES5.symbols | 2 - ...iteralExpressionInArrowFunctionES6.symbols | 2 - .../reference/exactSpellingSuggestion.symbols | 2 - .../baselines/reference/extendFromAny.symbols | 4 - .../reference/fixSignatureCaching.symbols | 2 - .../for-inStatementsArrayErrors.symbols | 2 - .../baselines/reference/genericReduce.symbols | 2 - .../globalThisPropertyAssignment.symbols | 2 - .../reference/globalThisUnknown.symbols | 2 - .../globalThisUnknownNoImplicitAny.symbols | 2 - .../globalThisVarDeclaration.symbols | 8 -- .../incompleteDottedExpressionAtEOF.symbols | 2 - .../reference/indexAt(target=es2021).symbols | 28 ----- .../reference/indexSignatures1.symbols | 2 - ...alizedDestructuringAssignmentTypes.symbols | 2 - .../interfaceAssignmentCompat.symbols | 2 - ...emberMergedWithModuleAugmentation2.symbols | 2 - .../reference/keyofAndIndexedAccess2.symbols | 14 --- .../reference/lambdaParamTypes.symbols | 4 - tests/baselines/reference/libMembers.symbols | 2 - ...FromUsingES6FeaturesWithOnlyES5Lib.symbols | 2 - .../moduleExportAliasUnknown.symbols | 2 - ...oPropertyAccessFromIndexSignature1.symbols | 6 - .../noUncheckedIndexedAccess.symbols | 6 - ...ncheckedIndexedAccessDestructuring.symbols | 4 - ...LiteralFunctionArgContextualTyping.symbols | 2 - tests/baselines/reference/objectRest.symbols | 2 - .../objectSpreadIndexSignature.symbols | 2 - .../objectSpreadRepeatedNullCheckPerf.symbols | 104 ------------------ .../reference/overloadResolution.symbols | 2 - ...verloadResolutionClassConstructors.symbols | 4 - .../overloadResolutionConstructors.symbols | 2 - .../privateNameAndIndexSignature.symbols | 1 - ...ertyAccessOfReadonlyIndexSignature.symbols | 2 - ...propertyAccessStringIndexSignature.symbols | 6 - ...sStringIndexSignatureNoImplicitAny.symbols | 6 - ...oDisplayPartsTypeParameterInClass.baseline | 32 ------ ...splayPartsTypeParameterInFunction.baseline | 16 --- ...playPartsTypeParameterInInterface.baseline | 48 -------- .../reference/quickInfoInheritDoc2.baseline | 4 - .../reference/recursiveMappedTypes.symbols | 2 - ...tLiteralAssignableToIndexSignature.symbols | 12 -- .../reference/staticIndexSignature1.symbols | 2 - .../reference/staticIndexSignature2.symbols | 2 - .../reference/staticIndexSignature4.symbols | 24 ---- .../reference/staticIndexSignature6.symbols | 4 - ...lateStringsWithOverloadResolution3.symbols | 2 - ...StringsWithOverloadResolution3_ES6.symbols | 2 - .../reference/templateLiteralsInTypes.symbols | 2 - .../reference/thisTypeInFunctions2.symbols | 4 - .../reference/tsxAttributeResolution2.symbols | 2 - .../reference/tsxAttributeResolution4.symbols | 2 - .../tsxStatelessFunctionComponents2.symbols | 2 - ...ingInsideFunctionExpressionInArray.symbols | 3 - ...typeGuardOfFromPropNameInUnionType.symbols | 6 - .../reference/typeGuardsWithAny.symbols | 2 - ...nedSymbolReferencedInArrayLiteral1.symbols | 3 - .../reference/useRegexpGroups.symbols | 8 -- 74 files changed, 2 insertions(+), 540 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ff36735c4aba1..58b9473e4f93d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -42218,7 +42218,7 @@ namespace ts { if(!links.resolvedSymbol){ const expressionType = checkExpressionCached(name.expression); const infos = getApplicableIndexInfos(expressionType, checkExpressionCached(name.name)); - if (length(infos) ) { + if (length(infos) && infos[0].declaration && infos[0].declaration?.symbol.flags & SymbolFlags.Signature && infos[0].declaration?.jsDoc) { const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); copy.declarations = mapDefined(infos, i => i.declaration); copy.parent = expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index 0dd59f65ed213..12e65efbae8ea 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -529,7 +529,7 @@ namespace ts.SymbolDisplay { addRange(displayParts, typeParameterParts); } //If the type is index signature, format it specially as well - if(symbolKind === ScriptElementKind.indexSignatureElement){ + else if(symbolKind === ScriptElementKind.indexSignatureElement){ if(indexInfos){ const indexTypeParts = typeToDisplayParts(typeChecker, indexInfos[0].type); addRange(displayParts, indexTypeParts); diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols index e518c78bc8e71..0926d38c1c457 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.symbols @@ -40,7 +40,6 @@ export var a = vextend({ >val : Symbol(val, Decl(app.js, 4, 10)) this.data2 = 1; ->this.data2 : Symbol(__index) >this : Symbol(__type, Decl(lib.es5.d.ts, --, --)) >data2 : Symbol(data2, Decl(app.js, 4, 16), Decl(app.js, 6, 6)) diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols index b3264a2926ef8..b2e22ae924a95 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.symbols @@ -61,9 +61,7 @@ var k = obj.method1(0); >method1 : Symbol(method1, Decl(0.js, 6, 12)) obj.bar1 = "42"; ->obj.bar1 : Symbol(__index) >obj : Symbol(obj, Decl(0.js, 2, 5), Decl(0.js, 17, 1), Decl(0.js, 19, 7), Decl(0.js, 21, 23)) ->bar1 : Symbol(__index) obj.arrowFunc(0); >obj.arrowFunc : Symbol(arrowFunc, Decl(0.js, 14, 20)) diff --git a/tests/baselines/reference/classExtendingAny.symbols b/tests/baselines/reference/classExtendingAny.symbols index 3c71ceac8c590..9c3db9ebe2bdc 100644 --- a/tests/baselines/reference/classExtendingAny.symbols +++ b/tests/baselines/reference/classExtendingAny.symbols @@ -54,9 +54,7 @@ class B extends Err { >wat : Symbol(B.wat, Decl(b.js, 2, 15)) this.wit ->this.wit : Symbol(B.__index) >this : Symbol(B, Decl(b.js, 0, 0)) ->wit : Symbol(B.__index) this['wot'] >this : Symbol(B, Decl(b.js, 0, 0)) diff --git a/tests/baselines/reference/classExtendsInterface_not.symbols b/tests/baselines/reference/classExtendsInterface_not.symbols index 8d3de20cbe86a..de4af3a5c16f9 100644 --- a/tests/baselines/reference/classExtendsInterface_not.symbols +++ b/tests/baselines/reference/classExtendsInterface_not.symbols @@ -1,6 +1,4 @@ === tests/cases/compiler/classExtendsInterface_not.ts === class C extends "".bogus {} >C : Symbol(C, Decl(classExtendsInterface_not.ts, 0, 0)) ->"".bogus : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->bogus : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1.symbols b/tests/baselines/reference/computedPropertiesInDestructuring1.symbols index f22e12c50b779..6d5453ddcb1e2 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1.symbols +++ b/tests/baselines/reference/computedPropertiesInDestructuring1.symbols @@ -68,9 +68,7 @@ let [{[foo()]: bar6}] = [{bar: "bar"}]; >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1.ts, 19, 26)) let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}]; ->foo.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(computedPropertiesInDestructuring1.ts, 1, 3)) ->toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >bar7 : Symbol(bar7, Decl(computedPropertiesInDestructuring1.ts, 20, 6)) >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1.ts, 20, 40)) diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols index abbb3f7a7fb13..56e65995c03da 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols +++ b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.symbols @@ -73,9 +73,7 @@ let [{[foo()]: bar6}] = [{bar: "bar"}]; >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1_ES6.ts, 20, 26)) let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}]; ->foo.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >foo : Symbol(foo, Decl(computedPropertiesInDestructuring1_ES6.ts, 1, 3)) ->toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >bar7 : Symbol(bar7, Decl(computedPropertiesInDestructuring1_ES6.ts, 21, 6)) >bar : Symbol(bar, Decl(computedPropertiesInDestructuring1_ES6.ts, 21, 40)) diff --git a/tests/baselines/reference/constEnumErrors.symbols b/tests/baselines/reference/constEnumErrors.symbols index 610fcc0397456..d3d37e379ef5c 100644 --- a/tests/baselines/reference/constEnumErrors.symbols +++ b/tests/baselines/reference/constEnumErrors.symbols @@ -25,9 +25,7 @@ const enum E1 { // forward reference to the element of the same enum Y = E1.Z, >Y : Symbol(E1.Y, Decl(constEnumErrors.ts, 11, 10)) ->E1.Z : Symbol(E1.__index) >E1 : Symbol(E1, Decl(constEnumErrors.ts, 6, 1)) ->Z : Symbol(E1.__index) Y1 = E1["Z"] >Y1 : Symbol(E1.Y1, Decl(constEnumErrors.ts, 13, 13)) diff --git a/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols b/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols index d0905624d754b..0e11ad7ffdaf7 100644 --- a/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols +++ b/tests/baselines/reference/contextualTypingOfObjectLiterals2.symbols @@ -15,7 +15,5 @@ f2({ foo: s => s.hmm }) // 's' should be 'string', so this should be an error >f2 : Symbol(f2, Decl(contextualTypingOfObjectLiterals2.ts, 2, 1)) >foo : Symbol(foo, Decl(contextualTypingOfObjectLiterals2.ts, 4, 4)) >s : Symbol(s, Decl(contextualTypingOfObjectLiterals2.ts, 4, 9)) ->s.hmm : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(contextualTypingOfObjectLiterals2.ts, 4, 9)) ->hmm : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols index d041f21e2d9fc..0e42c74d8bf61 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.symbols @@ -14,15 +14,11 @@ var f10: (x: T, b: () => (a: T) => void, y: T) => T; f10('', () => a => a.foo, ''); // a is "" >f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 1, 13)) ->a.foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 1, 13)) ->foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) var r9 = f10('', () => (a => a.foo), 1); // error >r9 : Symbol(r9, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 3)) >f10 : Symbol(f10, Decl(contextualTypingWithFixedTypeParameters1.ts, 0, 3)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 24)) ->a.foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(contextualTypingWithFixedTypeParameters1.ts, 2, 24)) ->foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/controlFlowElementAccess2.symbols b/tests/baselines/reference/controlFlowElementAccess2.symbols index 6768df75f0f3c..5cdd890a75973 100644 --- a/tests/baselines/reference/controlFlowElementAccess2.symbols +++ b/tests/baselines/reference/controlFlowElementAccess2.symbols @@ -13,9 +13,7 @@ if (typeof config['works'] !== 'boolean') { config.works.prop = 'test'; // ok >config.works.prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) ->config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) ->works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string } @@ -24,9 +22,7 @@ if (typeof config['works'] !== 'boolean') { >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) } if (typeof config.works !== 'boolean') { ->config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) ->works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string } >config['works'].prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) @@ -35,9 +31,7 @@ if (typeof config.works !== 'boolean') { config.works.prop = 'test'; // ok >config.works.prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) ->config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) ->works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) } diff --git a/tests/baselines/reference/controlFlowStringIndex.symbols b/tests/baselines/reference/controlFlowStringIndex.symbols index a4f872be19695..85eacfd0ede7b 100644 --- a/tests/baselines/reference/controlFlowStringIndex.symbols +++ b/tests/baselines/reference/controlFlowStringIndex.symbols @@ -14,15 +14,11 @@ declare const value: A; >A : Symbol(A, Decl(controlFlowStringIndex.ts, 0, 0)) if (value.foo !== null) { ->value.foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) ->foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) value.foo.toExponential() >value.foo.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) ->value.foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) ->foo : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) value.other // should still be number | null @@ -31,8 +27,6 @@ if (value.foo !== null) { >other : Symbol(other, Decl(controlFlowStringIndex.ts, 0, 10)) value.bar // should still be number | null ->value.bar : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) ->bar : Symbol(__index, Decl(controlFlowStringIndex.ts, 1, 25)) } diff --git a/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols b/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols index 7e5ac754ee88b..ffa4eb37c0635 100644 --- a/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols +++ b/tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.symbols @@ -31,15 +31,11 @@ var ResultIsNumber4 = ENUM1--; var ResultIsNumber5 = --(ENUM["A"] + ENUM.B); >ResultIsNumber5 : Symbol(ResultIsNumber5, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 13, 3)) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) ->ENUM.B : Symbol(ENUM.__index) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) ->B : Symbol(ENUM.__index) var ResultIsNumber6 = (ENUM.A + ENUM["B"])--; >ResultIsNumber6 : Symbol(ResultIsNumber6, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 14, 3)) ->ENUM.A : Symbol(ENUM.__index) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) ->A : Symbol(ENUM.__index) >ENUM : Symbol(ENUM, Decl(decrementOperatorWithEnumTypeInvalidOperations.ts, 0, 0)) // miss assignment operator diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols index 392a558a4b0f7..8f6b82d568c0f 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.symbols @@ -44,8 +44,6 @@ const testReflectSetPrototypeOf = Reflect.setPrototypeOf({}, {}); const testArrayFind = [""].find((val, idx, obj) => { >testArrayFind : Symbol(testArrayFind, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 5)) ->[""].find : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->find : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 33)) >idx : Symbol(idx, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 37)) >obj : Symbol(obj, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 14, 42)) @@ -54,8 +52,6 @@ const testArrayFind = [""].find((val, idx, obj) => { }); const testArrayFindIndex = [""].findIndex((val, idx, obj) => { >testArrayFindIndex : Symbol(testArrayFindIndex, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 5)) ->[""].findIndex : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->findIndex : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) >val : Symbol(val, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 43)) >idx : Symbol(idx, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 47)) >obj : Symbol(obj, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 17, 52)) @@ -64,28 +60,18 @@ const testArrayFindIndex = [""].findIndex((val, idx, obj) => { }); const testArrayFill = [""].fill("fill"); >testArrayFill : Symbol(testArrayFill, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 20, 5)) ->[""].fill : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->fill : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayCopyWithin = [""].copyWithin(0, 0); >testArrayCopyWithin : Symbol(testArrayCopyWithin, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 21, 5)) ->[""].copyWithin : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->copyWithin : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayEntries = [""].entries(); >testArrayEntries : Symbol(testArrayEntries, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 22, 5)) ->[""].entries : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->entries : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayKeys = [""].keys(); >testArrayKeys : Symbol(testArrayKeys, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 23, 5)) ->[""].keys : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->keys : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayValues = [""].values(); >testArrayValues : Symbol(testArrayValues, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 24, 5)) ->[""].values : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->values : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayConstructorFrom = Array.from([]); >testArrayConstructorFrom : Symbol(testArrayConstructorFrom, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 25, 5)) @@ -254,98 +240,60 @@ const testAsyncIterator: AsyncIterator = null as any; const testStringCodePointAt = "".codePointAt(0); >testStringCodePointAt : Symbol(testStringCodePointAt, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 67, 5)) ->"".codePointAt : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->codePointAt : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringIncludes = "".includes(""); >testStringIncludes : Symbol(testStringIncludes, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 68, 5)) ->"".includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringEndsWith = "".endsWith(""); >testStringEndsWith : Symbol(testStringEndsWith, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 69, 5)) ->"".endsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->endsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringNormalize = "".normalize(); >testStringNormalize : Symbol(testStringNormalize, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 70, 5)) ->"".normalize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->normalize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringRepeat = "".repeat(0); >testStringRepeat : Symbol(testStringRepeat, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 71, 5)) ->"".repeat : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->repeat : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringStartsWith = "".startsWith(""); >testStringStartsWith : Symbol(testStringStartsWith, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 72, 5)) ->"".startsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->startsWith : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringAnchor = "".anchor(""); >testStringAnchor : Symbol(testStringAnchor, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 73, 5)) ->"".anchor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->anchor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringBig = "".big(); >testStringBig : Symbol(testStringBig, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 74, 5)) ->"".big : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->big : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringBlink = "".blink(); >testStringBlink : Symbol(testStringBlink, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 75, 5)) ->"".blink : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->blink : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringBold = "".bold(); >testStringBold : Symbol(testStringBold, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 76, 5)) ->"".bold : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->bold : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringFixed = "".fixed(); >testStringFixed : Symbol(testStringFixed, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 77, 5)) ->"".fixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->fixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringFontColor = "".fontcolor("blue"); >testStringFontColor : Symbol(testStringFontColor, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 78, 5)) ->"".fontcolor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->fontcolor : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringFontSize = "".fontsize(0); >testStringFontSize : Symbol(testStringFontSize, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 79, 5)) ->"".fontsize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->fontsize : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringItalics = "".italics(); >testStringItalics : Symbol(testStringItalics, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 80, 5)) ->"".italics : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->italics : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringLink = "".link(""); >testStringLink : Symbol(testStringLink, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 81, 5)) ->"".link : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->link : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringSmall = "".small(); >testStringSmall : Symbol(testStringSmall, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 82, 5)) ->"".small : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->small : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringStrike = "".strike(); >testStringStrike : Symbol(testStringStrike, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 83, 5)) ->"".strike : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->strike : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringSub = "".sub(); >testStringSub : Symbol(testStringSub, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 84, 5)) ->"".sub : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->sub : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringSup = "".sup(); >testStringSup : Symbol(testStringSup, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 85, 5)) ->"".sup : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->sup : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringConstructorFromCodePoint = String.fromCodePoint(); >testStringConstructorFromCodePoint : Symbol(testStringConstructorFromCodePoint, Decl(doYouNeedToChangeYourTargetLibraryES2015.ts, 86, 5)) diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols index 6b76fde7f9035..03445f0e2b940 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.symbols @@ -2,19 +2,13 @@ // es2016 const testIncludes = ["hello"].includes("world"); >testIncludes : Symbol(testIncludes, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 1, 5)) ->["hello"].includes : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->includes : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) // es2017 const testStringPadStart = "".padStart(2); >testStringPadStart : Symbol(testStringPadStart, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 4, 5)) ->"".padStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->padStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringPadEnd = "".padEnd(2); >testStringPadEnd : Symbol(testStringPadEnd, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 5, 5)) ->"".padEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->padEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testObjectConstructorValues = Object.values({}); >testObjectConstructorValues : Symbol(testObjectConstructorValues, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 6, 5)) @@ -48,17 +42,13 @@ const testPromiseFinally = new Promise(() => {}).finally(); const testRegExpMatchArrayGroups = "2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g).groups; >testRegExpMatchArrayGroups : Symbol(testRegExpMatchArrayGroups, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 15, 5)) ->"2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g).groups : Symbol(RegExpMatchArray.__index, Decl(lib.es5.d.ts, --, --)) >"2019-04-30".match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->groups : Symbol(RegExpMatchArray.__index, Decl(lib.es5.d.ts, --, --)) const testRegExpExecArrayGroups = /(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec("2019-04-30").groups; >testRegExpExecArrayGroups : Symbol(testRegExpExecArrayGroups, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 16, 5)) ->/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec("2019-04-30").groups : Symbol(RegExpExecArray.__index, Decl(lib.es5.d.ts, --, --)) >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec : Symbol(RegExp.exec, Decl(lib.es5.d.ts, --, --)) >exec : Symbol(RegExp.exec, Decl(lib.es5.d.ts, --, --)) ->groups : Symbol(RegExpExecArray.__index, Decl(lib.es5.d.ts, --, --)) const testRegExpDotAll = /foo/g.dotAll; >testRegExpDotAll : Symbol(testRegExpDotAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 17, 5)) @@ -92,13 +82,9 @@ const testNumberFormatFormatToParts = new Intl.NumberFormat("en-US").formatToPar // es2019 const testArrayFlat = [].flat(); >testArrayFlat : Symbol(testArrayFlat, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 26, 5)) ->[].flat : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->flat : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testArrayFlatMap = [].flatMap(); >testArrayFlatMap : Symbol(testArrayFlatMap, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 27, 5)) ->[].flatMap : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->flatMap : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) const testObjectConstructorFromEntries = Object.fromEntries({}); >testObjectConstructorFromEntries : Symbol(testObjectConstructorFromEntries, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 28, 5)) @@ -106,23 +92,15 @@ const testObjectConstructorFromEntries = Object.fromEntries({}); const testStringTrimStart = "".trimStart(); >testStringTrimStart : Symbol(testStringTrimStart, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 29, 5)) ->"".trimStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->trimStart : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringTrimEnd = "".trimEnd(); >testStringTrimEnd : Symbol(testStringTrimEnd, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 30, 5)) ->"".trimEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->trimEnd : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringTrimLeft = "".trimLeft(); >testStringTrimLeft : Symbol(testStringTrimLeft, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 31, 5)) ->"".trimLeft : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->trimLeft : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testStringTrimRight = "".trimRight(); >testStringTrimRight : Symbol(testStringTrimRight, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 32, 5)) ->"".trimRight : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->trimRight : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testSymbolDescription = Symbol("foo").description; >testSymbolDescription : Symbol(testSymbolDescription, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 33, 5)) @@ -135,8 +113,6 @@ const testPromiseAllSettled = Promise.allSettled([]); const testStringMatchAll = "".matchAll(); >testStringMatchAll : Symbol(testStringMatchAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 37, 5)) ->"".matchAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->matchAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) const testRegExpMatchAll = /matchAll/g[Symbol.matchAll]("matchAll"); >testRegExpMatchAll : Symbol(testRegExpMatchAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 38, 5)) @@ -152,8 +128,6 @@ const testPromiseAny = Promise.any([]); const testStringReplaceAll = "".replaceAll(); >testStringReplaceAll : Symbol(testStringReplaceAll, Decl(doYouNeedToChangeYourTargetLibraryES2016Plus.ts, 43, 5)) ->"".replaceAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->replaceAll : Symbol(__index, Decl(lib.es5.d.ts, --, --)) // esnext diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols index 2dbc0d3122862..ae5c2b4d71c78 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols @@ -8,9 +8,7 @@ (x) => ({ "1": "one", "2": "two" } as { [key: string]: string }).x; >x : Symbol(x, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 1)) ->({ "1": "one", "2": "two" } as { [key: string]: string }).x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 39)) >"1" : Symbol("1", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 9)) >"2" : Symbol("2", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 21)) >key : Symbol(key, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 41)) ->x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 39)) diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols index e3735b9987e79..77ed54addd964 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols @@ -8,9 +8,7 @@ (x) => ({ "1": "one", "2": "two" } as { [key: string]: string }).x; >x : Symbol(x, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 1)) ->({ "1": "one", "2": "two" } as { [key: string]: string }).x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 39)) >"1" : Symbol("1", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 9)) >"2" : Symbol("2", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 21)) >key : Symbol(key, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 41)) ->x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 39)) diff --git a/tests/baselines/reference/exactSpellingSuggestion.symbols b/tests/baselines/reference/exactSpellingSuggestion.symbols index 75e82ed87f6c2..6bffed6a28545 100644 --- a/tests/baselines/reference/exactSpellingSuggestion.symbols +++ b/tests/baselines/reference/exactSpellingSuggestion.symbols @@ -15,7 +15,5 @@ enum U8 { } U8.bit_2 ->U8.bit_2 : Symbol(U8.__index) >U8 : Symbol(U8, Decl(exactSpellingSuggestion.ts, 0, 0)) ->bit_2 : Symbol(U8.__index) diff --git a/tests/baselines/reference/extendFromAny.symbols b/tests/baselines/reference/extendFromAny.symbols index 04f62311bd925..3d6873fc26ce7 100644 --- a/tests/baselines/reference/extendFromAny.symbols +++ b/tests/baselines/reference/extendFromAny.symbols @@ -28,12 +28,8 @@ C.sknown.length; // error, 'sknown' has no 'length' property >sknown : Symbol(C.sknown, Decl(extendFromAny.ts, 2, 14)) c.unknown.length; // ok, unknown: any ->c.unknown : Symbol(C.__index) >c : Symbol(c, Decl(extendFromAny.ts, 6, 3)) ->unknown : Symbol(C.__index) C.sunknown.length; // ok: sunknown: any ->C.sunknown : Symbol(C.__index) >C : Symbol(C, Decl(extendFromAny.ts, 0, 22)) ->sunknown : Symbol(C.__index) diff --git a/tests/baselines/reference/fixSignatureCaching.symbols b/tests/baselines/reference/fixSignatureCaching.symbols index fa7b2dc529b36..0ec1d2c63aae8 100644 --- a/tests/baselines/reference/fixSignatureCaching.symbols +++ b/tests/baselines/reference/fixSignatureCaching.symbols @@ -2103,9 +2103,7 @@ define(function () { return function (factory) { window.MobileDetect = factory(); }; >factory : Symbol(factory, Decl(fixSignatureCaching.ts, 982, 25)) ->window.MobileDetect : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) ->MobileDetect : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >factory : Symbol(factory, Decl(fixSignatureCaching.ts, 982, 25)) } else { diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.symbols b/tests/baselines/reference/for-inStatementsArrayErrors.symbols index d477221e64f27..65799c37be9a4 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.symbols +++ b/tests/baselines/reference/for-inStatementsArrayErrors.symbols @@ -22,9 +22,7 @@ for (let x in a) { } let a3 = x.unknownProperty; >a3 : Symbol(a3, Decl(for-inStatementsArrayErrors.ts, 7, 7)) ->x.unknownProperty : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(for-inStatementsArrayErrors.ts, 2, 8)) ->unknownProperty : Symbol(__index, Decl(lib.es5.d.ts, --, --)) } var i: number; diff --git a/tests/baselines/reference/genericReduce.symbols b/tests/baselines/reference/genericReduce.symbols index bdb46ee6f025c..1ace07b9adf9a 100644 --- a/tests/baselines/reference/genericReduce.symbols +++ b/tests/baselines/reference/genericReduce.symbols @@ -59,9 +59,7 @@ var n3 = b.reduce( (x, y) => x + y, ""); // Initial value is of type str >y : Symbol(y, Decl(genericReduce.ts, 10, 30)) n3.toExponential(2); // should error if 'n3' is correctly type 'string' ->n3.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n3 : Symbol(n3, Decl(genericReduce.ts, 10, 3)) ->toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) n3.charAt(0); // should not error if 'n3' is correctly type 'string' >n3.charAt : Symbol(String.charAt, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/globalThisPropertyAssignment.symbols b/tests/baselines/reference/globalThisPropertyAssignment.symbols index 6697de0a196ca..3bc852cbba175 100644 --- a/tests/baselines/reference/globalThisPropertyAssignment.symbols +++ b/tests/baselines/reference/globalThisPropertyAssignment.symbols @@ -9,9 +9,7 @@ var y = 2 // should work in JS window.z = 3 ->window.z : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --), Decl(globalThisPropertyAssignment.js, 1, 9)) ->z : Symbol(__index, Decl(lib.dom.d.ts, --, --)) // should work in JS (even though it's a secondary declaration) globalThis.alpha = 4 diff --git a/tests/baselines/reference/globalThisUnknown.symbols b/tests/baselines/reference/globalThisUnknown.symbols index 33a04691cf02f..4f8437bf244fd 100644 --- a/tests/baselines/reference/globalThisUnknown.symbols +++ b/tests/baselines/reference/globalThisUnknown.symbols @@ -6,9 +6,7 @@ declare let win: Window & typeof globalThis; // this access should be an error win.hi ->win.hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >win : Symbol(win, Decl(globalThisUnknown.ts, 0, 11)) ->hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) // these two should be fine, with type any this.hi diff --git a/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols b/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols index 357c35d1c19be..6aee6d6051c61 100644 --- a/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols +++ b/tests/baselines/reference/globalThisUnknownNoImplicitAny.symbols @@ -6,9 +6,7 @@ declare let win: Window & typeof globalThis; // all accesses should be errors win.hi ->win.hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >win : Symbol(win, Decl(globalThisUnknownNoImplicitAny.ts, 0, 11)) ->hi : Symbol(__index, Decl(lib.dom.d.ts, --, --)) this.hi >this : Symbol(globalThis) diff --git a/tests/baselines/reference/globalThisVarDeclaration.symbols b/tests/baselines/reference/globalThisVarDeclaration.symbols index 881829e9d2644..67d0204bfb762 100644 --- a/tests/baselines/reference/globalThisVarDeclaration.symbols +++ b/tests/baselines/reference/globalThisVarDeclaration.symbols @@ -44,14 +44,10 @@ window.b; >b : Symbol(b, Decl(actual.ts, 0, 3)) top.a; ->top.a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) ->a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) top.b; ->top.b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) ->b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) === tests/cases/conformance/es2019/actual.ts === var b = 10; @@ -99,13 +95,9 @@ window.b; >b : Symbol(b, Decl(actual.ts, 0, 3)) top.a; ->top.a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) ->a : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) top.b; ->top.b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) >top : Symbol(top, Decl(lib.dom.d.ts, --, --)) ->b : Symbol(Window.__index, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols b/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols index dc93318ee4f73..0d1fa05081707 100644 --- a/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols +++ b/tests/baselines/reference/incompleteDottedExpressionAtEOF.symbols @@ -2,7 +2,5 @@ // used to leak __missing into error message var p2 = window. >p2 : Symbol(p2, Decl(incompleteDottedExpressionAtEOF.ts, 1, 3)) ->window. : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) -> : Symbol(__index, Decl(lib.dom.d.ts, --, --)) diff --git a/tests/baselines/reference/indexAt(target=es2021).symbols b/tests/baselines/reference/indexAt(target=es2021).symbols index 898b6d55bc66d..383f372fadd3e 100644 --- a/tests/baselines/reference/indexAt(target=es2021).symbols +++ b/tests/baselines/reference/indexAt(target=es2021).symbols @@ -1,64 +1,36 @@ === tests/cases/compiler/indexAt.ts === [0].at(0); ->[0].at : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->at : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) - "foo".at(0); ->"foo".at : Symbol(__index, Decl(lib.es5.d.ts, --, --)) ->at : Symbol(__index, Decl(lib.es5.d.ts, --, --)) - new Int8Array().at(0); ->new Int8Array().at : Symbol(Int8Array.__index, Decl(lib.es5.d.ts, --, --)) >Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Int8Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint8Array().at(0); ->new Uint8Array().at : Symbol(Uint8Array.__index, Decl(lib.es5.d.ts, --, --)) >Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Uint8Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint8ClampedArray().at(0); ->new Uint8ClampedArray().at : Symbol(Uint8ClampedArray.__index, Decl(lib.es5.d.ts, --, --)) >Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Uint8ClampedArray.__index, Decl(lib.es5.d.ts, --, --)) new Int16Array().at(0); ->new Int16Array().at : Symbol(Int16Array.__index, Decl(lib.es5.d.ts, --, --)) >Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Int16Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint16Array().at(0); ->new Uint16Array().at : Symbol(Uint16Array.__index, Decl(lib.es5.d.ts, --, --)) >Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Uint16Array.__index, Decl(lib.es5.d.ts, --, --)) new Int32Array().at(0); ->new Int32Array().at : Symbol(Int32Array.__index, Decl(lib.es5.d.ts, --, --)) >Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Int32Array.__index, Decl(lib.es5.d.ts, --, --)) new Uint32Array().at(0); ->new Uint32Array().at : Symbol(Uint32Array.__index, Decl(lib.es5.d.ts, --, --)) >Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Uint32Array.__index, Decl(lib.es5.d.ts, --, --)) new Float32Array().at(0); ->new Float32Array().at : Symbol(Float32Array.__index, Decl(lib.es5.d.ts, --, --)) >Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Float32Array.__index, Decl(lib.es5.d.ts, --, --)) new Float64Array().at(0); ->new Float64Array().at : Symbol(Float64Array.__index, Decl(lib.es5.d.ts, --, --)) >Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --)) ->at : Symbol(Float64Array.__index, Decl(lib.es5.d.ts, --, --)) new BigInt64Array().at(0); ->new BigInt64Array().at : Symbol(BigInt64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) >BigInt64Array : Symbol(BigInt64Array, Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --)) ->at : Symbol(BigInt64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) new BigUint64Array().at(0); ->new BigUint64Array().at : Symbol(BigUint64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) >BigUint64Array : Symbol(BigUint64Array, Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --)) ->at : Symbol(BigUint64Array.__index, Decl(lib.es2020.bigint.d.ts, --, --)) diff --git a/tests/baselines/reference/indexSignatures1.symbols b/tests/baselines/reference/indexSignatures1.symbols index dab1d380df72b..40d8740b1b7b2 100644 --- a/tests/baselines/reference/indexSignatures1.symbols +++ b/tests/baselines/reference/indexSignatures1.symbols @@ -133,9 +133,7 @@ const y1 = dom['data123']; const y2 = dom.data123; >y2 : Symbol(y2, Decl(indexSignatures1.ts, 47, 5)) ->dom.data123 : Symbol(__index, Decl(indexSignatures1.ts, 45, 18)) >dom : Symbol(dom, Decl(indexSignatures1.ts, 45, 11)) ->data123 : Symbol(__index, Decl(indexSignatures1.ts, 45, 18)) // Excess property checking for template pattern index signature diff --git a/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols b/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols index cf3cafadc73bc..d1965ff300b19 100644 --- a/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols +++ b/tests/baselines/reference/initializedDestructuringAssignmentTypes.symbols @@ -5,7 +5,5 @@ const [, a = ''] = ''.match('') || []; >match : Symbol(String.match, Decl(lib.es5.d.ts, --, --)) a.toFixed() ->a.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(initializedDestructuringAssignmentTypes.ts, 0, 8)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/interfaceAssignmentCompat.symbols b/tests/baselines/reference/interfaceAssignmentCompat.symbols index 4992b95bccac2..6f65abdd15154 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.symbols +++ b/tests/baselines/reference/interfaceAssignmentCompat.symbols @@ -119,9 +119,7 @@ module M { result+=((Color._map[z[i].color])+"\r\n"); >result : Symbol(result, Decl(interfaceAssignmentCompat.ts, 25, 11)) ->Color._map : Symbol(Color.__index) >Color : Symbol(Color, Decl(interfaceAssignmentCompat.ts, 0, 10)) ->_map : Symbol(Color.__index) >z[i].color : Symbol(IEye.color, Decl(interfaceAssignmentCompat.ts, 7, 27)) >z : Symbol(z, Decl(interfaceAssignmentCompat.ts, 33, 11)) >i : Symbol(i, Decl(interfaceAssignmentCompat.ts, 35, 16)) diff --git a/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols b/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols index d098b05ce4de9..6acf6ed809528 100644 --- a/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols +++ b/tests/baselines/reference/jsExportMemberMergedWithModuleAugmentation2.symbols @@ -21,7 +21,5 @@ declare module "./test" { } a.toFixed(); ->a.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >a : Symbol(a, Decl(index.ts, 0, 8)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.symbols b/tests/baselines/reference/keyofAndIndexedAccess2.symbols index ca42690ebe6dc..a17aafe571aa5 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess2.symbols @@ -90,14 +90,10 @@ function f2(a: { x: number, y: number }, b: >x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 12, 53)) b.x; ->b.x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) >b : Symbol(b, Decl(keyofAndIndexedAccess2.ts, 12, 77)) ->x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) c.x; ->c.x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) ->x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) c[k]; >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) @@ -109,14 +105,10 @@ function f2(a: { x: number, y: number }, b: >x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 12, 53)) b.x = 1; ->b.x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) >b : Symbol(b, Decl(keyofAndIndexedAccess2.ts, 12, 77)) ->x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) c.x = 1; // Error, cannot write to index signature through constraint ->c.x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) ->x : Symbol(T.__index, Decl(keyofAndIndexedAccess2.ts, 12, 23)) c[k] = 1; // Error, cannot write to index signature through constraint >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) @@ -242,9 +234,7 @@ function f11(obj: Dict, k1: keyof Dict, k2: K) { >K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 57, 13)) obj.foo = 123; ->obj.foo : Symbol(__index) >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 57, 35)) ->foo : Symbol(__index) obj[k1] = 123; >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 57, 35)) @@ -272,9 +262,7 @@ function f12, K extends keyof T>(obj: T, k1: keyof Dict >K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 63, 38)) obj.foo = 123; // Error ->obj.foo : Symbol(T.__index) >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 63, 58)) ->foo : Symbol(T.__index) obj[k1] = 123; // Error >obj : Symbol(obj, Decl(keyofAndIndexedAccess2.ts, 63, 58)) @@ -525,9 +513,7 @@ export class c { constructor() { this.a = "b"; ->this.a : Symbol(c.__index, Decl(keyofAndIndexedAccess2.ts, 140, 16)) >this : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 136, 1)) ->a : Symbol(c.__index, Decl(keyofAndIndexedAccess2.ts, 140, 16)) this["a"] = "b"; >this : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 136, 1)) diff --git a/tests/baselines/reference/lambdaParamTypes.symbols b/tests/baselines/reference/lambdaParamTypes.symbols index 8575657005afc..98669658f4053 100644 --- a/tests/baselines/reference/lambdaParamTypes.symbols +++ b/tests/baselines/reference/lambdaParamTypes.symbols @@ -115,11 +115,9 @@ thing.doSomething((x, y) => x.name.toExponential(0)); // x.name should be string >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 19, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 19, 21)) ->x.name.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x.name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 19, 19)) >name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) ->toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) thing.doSomething((x, y) => y.id.charAt(0)); >thing.doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) @@ -137,9 +135,7 @@ thing.doSomething((x, y) => y.name.toExponential(0)); >doSomething : Symbol(MyArrayWrapper.doSomething, Decl(lambdaParamTypes.ts, 1, 36)) >x : Symbol(x, Decl(lambdaParamTypes.ts, 21, 19)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 21, 21)) ->y.name.toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >y.name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) >y : Symbol(y, Decl(lambdaParamTypes.ts, 21, 21)) >name : Symbol(name, Decl(lambdaParamTypes.ts, 7, 21)) ->toExponential : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/libMembers.symbols b/tests/baselines/reference/libMembers.symbols index 416a3b62ceae9..ae0caea88407e 100644 --- a/tests/baselines/reference/libMembers.symbols +++ b/tests/baselines/reference/libMembers.symbols @@ -13,9 +13,7 @@ s.substring(3,4); >substring : Symbol(String.substring, Decl(lib.es5.d.ts, --, --)) s.subby(12); // error unresolved ->s.subby : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(libMembers.ts, 0, 3)) ->subby : Symbol(__index, Decl(lib.es5.d.ts, --, --)) String.fromCharCode(12); >String.fromCharCode : Symbol(StringConstructor.fromCharCode, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols index c103906ff7cd1..74d9fafa49925 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.symbols @@ -80,9 +80,7 @@ var str = "Hello world"; >str : Symbol(str, Decl(modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts, 42, 3)) str.includes("hello", 0); ->str.includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >str : Symbol(str, Decl(modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts, 42, 3)) ->includes : Symbol(__index, Decl(lib.es5.d.ts, --, --)) // Using ES6 symbol var s = Symbol(); diff --git a/tests/baselines/reference/moduleExportAliasUnknown.symbols b/tests/baselines/reference/moduleExportAliasUnknown.symbols index 84f4d371a5b9f..a20f90a24a88c 100644 --- a/tests/baselines/reference/moduleExportAliasUnknown.symbols +++ b/tests/baselines/reference/moduleExportAliasUnknown.symbols @@ -3,9 +3,7 @@ module.exports = window.nonprop; >module.exports : Symbol(module.exports, Decl(bug27025.js, 0, 0)) >module : Symbol(export=, Decl(bug27025.js, 0, 0)) >exports : Symbol(export=, Decl(bug27025.js, 0, 0)) ->window.nonprop : Symbol(__index, Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) ->nonprop : Symbol(__index, Decl(lib.dom.d.ts, --, --)) exports.foo = bar; >exports : Symbol(foo, Decl(bug27025.js, 0, 32)) diff --git a/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols b/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols index 3a9c347dfd419..993a7082251a1 100644 --- a/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols +++ b/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols @@ -51,9 +51,7 @@ a["foo"] // access index signature b.foo; ->b.foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13)) >b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13)) ->foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13)) b["foo"]; >b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13)) @@ -70,9 +68,7 @@ c["foo"] // access index signature c.bar; ->c.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) >c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13)) ->bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) c["bar"]; >c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13)) @@ -89,9 +85,7 @@ d?.["foo"] // optional access index signature d?.bar; ->d?.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) >d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13)) ->bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) d?.["bar"]; >d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13)) diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.symbols b/tests/baselines/reference/noUncheckedIndexedAccess.symbols index e04c216d7fa1e..1b0eb6f4d5b63 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.symbols +++ b/tests/baselines/reference/noUncheckedIndexedAccess.symbols @@ -36,9 +36,7 @@ const e1: boolean = strMap["foo"]; const e2: boolean = strMap.bar; >e2 : Symbol(e2, Decl(noUncheckedIndexedAccess.ts, 12, 5)) ->strMap.bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) ->bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) const e3: boolean = strMap[0]; >e3 : Symbol(e3, Decl(noUncheckedIndexedAccess.ts, 13, 5)) @@ -116,9 +114,7 @@ const ok1: boolean | undefined = strMap["foo"]; const ok2: boolean | undefined = strMap.bar; >ok2 : Symbol(ok2, Decl(noUncheckedIndexedAccess.ts, 28, 5)) ->strMap.bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) ->bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) type T_OK1 = CheckBooleanOnly<(typeof strMap)[string]>; >T_OK1 : Symbol(T_OK1, Decl(noUncheckedIndexedAccess.ts, 28, 44)) @@ -151,9 +147,7 @@ strMap["baz"] = undefined; >undefined : Symbol(undefined) strMap.qua = undefined; ->strMap.qua : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) ->qua : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >undefined : Symbol(undefined) strMap[0] = undefined; diff --git a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols index d540f82285d24..fb168915d7bd4 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols +++ b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.symbols @@ -60,9 +60,7 @@ const { ...t2 } = strMap; t2.z.toString(); // Should error >t2.z.toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) ->t2.z : Symbol(t2.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 19, 23)) >t2 : Symbol(t2, Decl(noUncheckedIndexedAccessDestructuring.ts, 24, 7)) ->z : Symbol(t2.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 19, 23)) >toString : Symbol(String.toString, Decl(lib.es5.d.ts, --, --)) // Test intersections with declared properties @@ -114,9 +112,7 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; q.z.toFixed(); // Should error >q.z.toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) ->q.z : Symbol(q.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 28, 54)) >q : Symbol(q, Decl(noUncheckedIndexedAccessDestructuring.ts, 37, 14)) ->z : Symbol(q.__index, Decl(noUncheckedIndexedAccessDestructuring.ts, 28, 54)) >toFixed : Symbol(Number.toFixed, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols index e174672752cbe..eb27eb7c47489 100644 --- a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols +++ b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.symbols @@ -45,7 +45,5 @@ f2({ value: '', toString: (s) => s.uhhh }) // error >value : Symbol(value, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 4)) >toString : Symbol(toString, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 15)) >s : Symbol(s, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 27)) ->s.uhhh : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >s : Symbol(s, Decl(objectLiteralFunctionArgContextualTyping.ts, 12, 27)) ->uhhh : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/objectRest.symbols b/tests/baselines/reference/objectRest.symbols index 1f2e47e4304d9..3f3b54e93df91 100644 --- a/tests/baselines/reference/objectRest.symbols +++ b/tests/baselines/reference/objectRest.symbols @@ -198,7 +198,5 @@ var noContextualType = ({ aNumber = 12, ...notEmptyObject }) => aNumber + notEmp >aNumber : Symbol(aNumber, Decl(objectRest.ts, 45, 25)) >notEmptyObject : Symbol(notEmptyObject, Decl(objectRest.ts, 45, 39)) >aNumber : Symbol(aNumber, Decl(objectRest.ts, 45, 25)) ->notEmptyObject.anythingGoes : Symbol(notEmptyObject.__index) >notEmptyObject : Symbol(notEmptyObject, Decl(objectRest.ts, 45, 39)) ->anythingGoes : Symbol(notEmptyObject.__index) diff --git a/tests/baselines/reference/objectSpreadIndexSignature.symbols b/tests/baselines/reference/objectSpreadIndexSignature.symbols index b58062deadd3c..439463c41316a 100644 --- a/tests/baselines/reference/objectSpreadIndexSignature.symbols +++ b/tests/baselines/reference/objectSpreadIndexSignature.symbols @@ -49,7 +49,5 @@ var writable = { ...roindex }; >roindex : Symbol(roindex, Decl(objectSpreadIndexSignature.ts, 13, 11)) writable.a = 0; // should be ok. ->writable.a : Symbol(__index) >writable : Symbol(writable, Decl(objectSpreadIndexSignature.ts, 14, 3)) ->a : Symbol(__index) diff --git a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols index dce4747ef79af..7683b145a8ad5 100644 --- a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols +++ b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.symbols @@ -89,315 +89,211 @@ function parseWithSpread(config: Record): Props { return { ...config.a !== undefined && { a: config.a.toString() }, ->config.a : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->a : Symbol(__index) >undefined : Symbol(undefined) >a : Symbol(a, Decl(objectSpreadRepeatedNullCheckPerf.ts, 31, 38)) >config.a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.a : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->a : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.b !== undefined && { b: config.b.toString() }, ->config.b : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->b : Symbol(__index) >undefined : Symbol(undefined) >b : Symbol(b, Decl(objectSpreadRepeatedNullCheckPerf.ts, 32, 38)) >config.b.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.b : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->b : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.c !== undefined && { c: config.c.toString() }, ->config.c : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->c : Symbol(__index) >undefined : Symbol(undefined) >c : Symbol(c, Decl(objectSpreadRepeatedNullCheckPerf.ts, 33, 38)) >config.c.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.c : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->c : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.d !== undefined && { d: config.d.toString() }, ->config.d : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->d : Symbol(__index) >undefined : Symbol(undefined) >d : Symbol(d, Decl(objectSpreadRepeatedNullCheckPerf.ts, 34, 38)) >config.d.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.d : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->d : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.e !== undefined && { e: config.e.toString() }, ->config.e : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->e : Symbol(__index) >undefined : Symbol(undefined) >e : Symbol(e, Decl(objectSpreadRepeatedNullCheckPerf.ts, 35, 38)) >config.e.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.e : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->e : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.f !== undefined && { f: config.f.toString() }, ->config.f : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->f : Symbol(__index) >undefined : Symbol(undefined) >f : Symbol(f, Decl(objectSpreadRepeatedNullCheckPerf.ts, 36, 38)) >config.f.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.f : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->f : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.g !== undefined && { g: config.g.toString() }, ->config.g : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->g : Symbol(__index) >undefined : Symbol(undefined) >g : Symbol(g, Decl(objectSpreadRepeatedNullCheckPerf.ts, 37, 38)) >config.g.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.g : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->g : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.h !== undefined && { h: config.h.toString() }, ->config.h : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->h : Symbol(__index) >undefined : Symbol(undefined) >h : Symbol(h, Decl(objectSpreadRepeatedNullCheckPerf.ts, 38, 38)) >config.h.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.h : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->h : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.i !== undefined && { i: config.i.toString() }, ->config.i : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->i : Symbol(__index) >undefined : Symbol(undefined) >i : Symbol(i, Decl(objectSpreadRepeatedNullCheckPerf.ts, 39, 38)) >config.i.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.i : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->i : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.j !== undefined && { j: config.j.toString() }, ->config.j : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->j : Symbol(__index) >undefined : Symbol(undefined) >j : Symbol(j, Decl(objectSpreadRepeatedNullCheckPerf.ts, 40, 38)) >config.j.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.j : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->j : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.k !== undefined && { k: config.k.toString() }, ->config.k : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->k : Symbol(__index) >undefined : Symbol(undefined) >k : Symbol(k, Decl(objectSpreadRepeatedNullCheckPerf.ts, 41, 38)) >config.k.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.k : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->k : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.l !== undefined && { l: config.l.toString() }, ->config.l : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->l : Symbol(__index) >undefined : Symbol(undefined) >l : Symbol(l, Decl(objectSpreadRepeatedNullCheckPerf.ts, 42, 38)) >config.l.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.l : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->l : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.m !== undefined && { m: config.m.toString() }, ->config.m : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->m : Symbol(__index) >undefined : Symbol(undefined) >m : Symbol(m, Decl(objectSpreadRepeatedNullCheckPerf.ts, 43, 38)) >config.m.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.m : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->m : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.n !== undefined && { n: config.n.toString() }, ->config.n : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->n : Symbol(__index) >undefined : Symbol(undefined) >n : Symbol(n, Decl(objectSpreadRepeatedNullCheckPerf.ts, 44, 38)) >config.n.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.n : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->n : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.o !== undefined && { o: config.o.toString() }, ->config.o : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->o : Symbol(__index) >undefined : Symbol(undefined) >o : Symbol(o, Decl(objectSpreadRepeatedNullCheckPerf.ts, 45, 38)) >config.o.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.o : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->o : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.p !== undefined && { p: config.p.toString() }, ->config.p : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->p : Symbol(__index) >undefined : Symbol(undefined) >p : Symbol(p, Decl(objectSpreadRepeatedNullCheckPerf.ts, 46, 38)) >config.p.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.p : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->p : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.q !== undefined && { q: config.q.toString() }, ->config.q : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->q : Symbol(__index) >undefined : Symbol(undefined) >q : Symbol(q, Decl(objectSpreadRepeatedNullCheckPerf.ts, 47, 38)) >config.q.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.q : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->q : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.r !== undefined && { r: config.r.toString() }, ->config.r : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->r : Symbol(__index) >undefined : Symbol(undefined) >r : Symbol(r, Decl(objectSpreadRepeatedNullCheckPerf.ts, 48, 38)) >config.r.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.r : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->r : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.s !== undefined && { s: config.s.toString() }, ->config.s : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->s : Symbol(__index) >undefined : Symbol(undefined) >s : Symbol(s, Decl(objectSpreadRepeatedNullCheckPerf.ts, 49, 38)) >config.s.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.s : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->s : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.t !== undefined && { t: config.t.toString() }, ->config.t : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->t : Symbol(__index) >undefined : Symbol(undefined) >t : Symbol(t, Decl(objectSpreadRepeatedNullCheckPerf.ts, 50, 38)) >config.t.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.t : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->t : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.u !== undefined && { u: config.u.toString() }, ->config.u : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->u : Symbol(__index) >undefined : Symbol(undefined) >u : Symbol(u, Decl(objectSpreadRepeatedNullCheckPerf.ts, 51, 38)) >config.u.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.u : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->u : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.v !== undefined && { v: config.v.toString() }, ->config.v : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->v : Symbol(__index) >undefined : Symbol(undefined) >v : Symbol(v, Decl(objectSpreadRepeatedNullCheckPerf.ts, 52, 38)) >config.v.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.v : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->v : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.w !== undefined && { w: config.w.toString() }, ->config.w : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->w : Symbol(__index) >undefined : Symbol(undefined) >w : Symbol(w, Decl(objectSpreadRepeatedNullCheckPerf.ts, 53, 38)) >config.w.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.w : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->w : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.x !== undefined && { x: config.x.toString() }, ->config.x : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->x : Symbol(__index) >undefined : Symbol(undefined) >x : Symbol(x, Decl(objectSpreadRepeatedNullCheckPerf.ts, 54, 38)) >config.x.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.x : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->x : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.y !== undefined && { y: config.y.toString() }, ->config.y : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->y : Symbol(__index) >undefined : Symbol(undefined) >y : Symbol(y, Decl(objectSpreadRepeatedNullCheckPerf.ts, 55, 38)) >config.y.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.y : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->y : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ...config.z !== undefined && { z: config.z.toString() } ->config.z : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->z : Symbol(__index) >undefined : Symbol(undefined) >z : Symbol(z, Decl(objectSpreadRepeatedNullCheckPerf.ts, 56, 38)) >config.z.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) ->config.z : Symbol(__index) >config : Symbol(config, Decl(objectSpreadRepeatedNullCheckPerf.ts, 29, 25)) ->z : Symbol(__index) >toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --)) } } diff --git a/tests/baselines/reference/overloadResolution.symbols b/tests/baselines/reference/overloadResolution.symbols index 4c77dcbcbdcf7..164e7fe3e64f8 100644 --- a/tests/baselines/reference/overloadResolution.symbols +++ b/tests/baselines/reference/overloadResolution.symbols @@ -242,9 +242,7 @@ var n = fn5((n) => n.toFixed()); >n : Symbol(n, Decl(overloadResolution.ts, 53, 3), Decl(overloadResolution.ts, 54, 3), Decl(overloadResolution.ts, 59, 3), Decl(overloadResolution.ts, 90, 3)) >fn5 : Symbol(fn5, Decl(overloadResolution.ts, 84, 16), Decl(overloadResolution.ts, 87, 45), Decl(overloadResolution.ts, 88, 45)) >n : Symbol(n, Decl(overloadResolution.ts, 90, 13)) ->n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolution.ts, 90, 13)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) var s = fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolution.ts, 21, 3), Decl(overloadResolution.ts, 22, 3), Decl(overloadResolution.ts, 37, 3), Decl(overloadResolution.ts, 51, 3), Decl(overloadResolution.ts, 52, 3) ... and 3 more) diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.symbols b/tests/baselines/reference/overloadResolutionClassConstructors.symbols index 08c10ccb8538d..5b69ee79ff1b0 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionClassConstructors.symbols @@ -211,9 +211,7 @@ class fn5 { new fn5((n) => n.toFixed()); >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 95, 9)) ->n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 95, 9)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) new fn5((n) => n.substr(0)); >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) @@ -225,9 +223,7 @@ new fn5((n) => n.substr(0)); new fn5((n) => n.blah); // Error >fn5 : Symbol(fn5, Decl(overloadResolutionClassConstructors.ts, 87, 20)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 97, 9)) ->n.blah : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionClassConstructors.ts, 97, 9)) ->blah : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/overloadResolutionConstructors.symbols b/tests/baselines/reference/overloadResolutionConstructors.symbols index fde936da4f6d0..025068be5569e 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.symbols +++ b/tests/baselines/reference/overloadResolutionConstructors.symbols @@ -247,9 +247,7 @@ var n = new fn5((n) => n.toFixed()); >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 57, 3), Decl(overloadResolutionConstructors.ts, 58, 3), Decl(overloadResolutionConstructors.ts, 63, 3), Decl(overloadResolutionConstructors.ts, 99, 3)) >fn5 : Symbol(fn5, Decl(overloadResolutionConstructors.ts, 91, 20), Decl(overloadResolutionConstructors.ts, 98, 3)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 99, 17)) ->n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(overloadResolutionConstructors.ts, 99, 17)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) var s = new fn5((n) => n.substr(0)); >s : Symbol(s, Decl(overloadResolutionConstructors.ts, 22, 3), Decl(overloadResolutionConstructors.ts, 23, 3), Decl(overloadResolutionConstructors.ts, 39, 3), Decl(overloadResolutionConstructors.ts, 55, 3), Decl(overloadResolutionConstructors.ts, 56, 3) ... and 3 more) diff --git a/tests/baselines/reference/privateNameAndIndexSignature.symbols b/tests/baselines/reference/privateNameAndIndexSignature.symbols index 1263c43c3c545..c1677a01d5dd8 100644 --- a/tests/baselines/reference/privateNameAndIndexSignature.symbols +++ b/tests/baselines/reference/privateNameAndIndexSignature.symbols @@ -18,7 +18,6 @@ class A { >message : Symbol(message, Decl(privateNameAndIndexSignature.ts, 4, 16)) this.#f = 3 // Error (index signatures do not implicitly declare private names) ->this.#f : Symbol(A.__index, Decl(privateNameAndIndexSignature.ts, 0, 9)) >this : Symbol(A, Decl(privateNameAndIndexSignature.ts, 0, 0)) this["#foo"] = 3; // Okay (type has index signature and "#foo" does not collide with private identifier #foo) diff --git a/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols b/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols index ab8649993c04d..fdb108c736227 100644 --- a/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols @@ -11,7 +11,5 @@ declare var a: Test; >Test : Symbol(Test, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 0)) a.foo = 'baz'; ->a.foo : Symbol(Test.__index, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 16)) >a : Symbol(a, Decl(propertyAccessOfReadonlyIndexSignature.ts, 4, 11)) ->foo : Symbol(Test.__index, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 16)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols b/tests/baselines/reference/propertyAccessStringIndexSignature.symbols index 24f93a01ebae4..8258ecb65d829 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignature.symbols @@ -8,19 +8,13 @@ let flags: Flags; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) flags.b; ->flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) ->b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.f; ->flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) ->f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; ->flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) ->isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags['this is fine']; >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols index 98f95b4c1ea14..338f0650cce4c 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols @@ -8,19 +8,13 @@ let flags: Flags; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 0)) flags.b; ->flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags.f; ->flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; ->flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) ->isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags['this is fine']; >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline index e17c4f93353c0..915c865086b50 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInClass.baseline @@ -239,10 +239,6 @@ "text": " ", "kind": "space" }, - { - "text": "T", - "kind": "typeParameterName" - }, { "text": "T", "kind": "typeParameterName" @@ -635,10 +631,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -835,10 +827,6 @@ "text": " ", "kind": "space" }, - { - "text": "T", - "kind": "typeParameterName" - }, { "text": "T", "kind": "typeParameterName" @@ -955,10 +943,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -1784,10 +1768,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "T", - "kind": "typeParameterName" } ], "documentation": [] @@ -2390,10 +2370,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] @@ -2674,10 +2650,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "T", - "kind": "typeParameterName" } ], "documentation": [] @@ -2850,10 +2822,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline index fba86008067cc..b7f9cb4a03ec6 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInFunction.baseline @@ -221,10 +221,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -377,10 +373,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -740,10 +732,6 @@ { "text": "string", "kind": "keyword" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] @@ -928,10 +916,6 @@ { "text": "string", "kind": "keyword" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] diff --git a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline index d5f22b76af70e..8f9afb4f54c07 100644 --- a/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline +++ b/tests/baselines/reference/quickInfoDisplayPartsTypeParameterInInterface.baseline @@ -279,10 +279,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -463,10 +459,6 @@ "text": " ", "kind": "space" }, - { - "text": "T", - "kind": "typeParameterName" - }, { "text": "T", "kind": "typeParameterName" @@ -835,10 +827,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -1011,10 +999,6 @@ "text": " ", "kind": "space" }, - { - "text": "T", - "kind": "typeParameterName" - }, { "text": "T", "kind": "typeParameterName" @@ -1529,10 +1513,6 @@ "text": " ", "kind": "space" }, - { - "text": "U", - "kind": "typeParameterName" - }, { "text": "U", "kind": "typeParameterName" @@ -1729,10 +1709,6 @@ "text": " ", "kind": "space" }, - { - "text": "T", - "kind": "typeParameterName" - }, { "text": "T", "kind": "typeParameterName" @@ -2964,10 +2940,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] @@ -3204,10 +3176,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "T", - "kind": "typeParameterName" } ], "documentation": [] @@ -3730,10 +3698,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] @@ -3962,10 +3926,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "T", - "kind": "typeParameterName" } ], "documentation": [] @@ -4718,10 +4678,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "U", - "kind": "typeParameterName" } ], "documentation": [] @@ -5002,10 +4958,6 @@ { "text": ">", "kind": "punctuation" - }, - { - "text": "T", - "kind": "typeParameterName" } ], "documentation": [] diff --git a/tests/baselines/reference/quickInfoInheritDoc2.baseline b/tests/baselines/reference/quickInfoInheritDoc2.baseline index 074dd136bbbf7..40dc3368efd21 100644 --- a/tests/baselines/reference/quickInfoInheritDoc2.baseline +++ b/tests/baselines/reference/quickInfoInheritDoc2.baseline @@ -61,10 +61,6 @@ "text": " ", "kind": "space" }, - { - "text": "T", - "kind": "typeParameterName" - }, { "text": "T", "kind": "typeParameterName" diff --git a/tests/baselines/reference/recursiveMappedTypes.symbols b/tests/baselines/reference/recursiveMappedTypes.symbols index ae127d2ced0ce..62f9987c995cf 100644 --- a/tests/baselines/reference/recursiveMappedTypes.symbols +++ b/tests/baselines/reference/recursiveMappedTypes.symbols @@ -217,9 +217,7 @@ declare let x: ListChild; >ListChild : Symbol(ListChild, Decl(recursiveMappedTypes.ts, 73, 1)) x.type; ->x.type : Symbol(__index) >x : Symbol(x, Decl(recursiveMappedTypes.ts, 77, 11)) ->type : Symbol(__index) // Repros from #41790 diff --git a/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols b/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols index 44ecf9a319888..64881726d1496 100644 --- a/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols +++ b/tests/baselines/reference/spreadOfObjectLiteralAssignableToIndexSignature.symbols @@ -13,24 +13,18 @@ const recordOfRecords: RecordOfRecords = {} >RecordOfRecords : Symbol(RecordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 36)) recordOfRecords.propA = {...(foo !== undefined ? {foo} : {})} // OK ->recordOfRecords.propA : Symbol(RecordOfRecords.__index) >recordOfRecords : Symbol(recordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 3, 5)) ->propA : Symbol(RecordOfRecords.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 4, 50)) recordOfRecords.propB = {...(foo && {foo})} // OK ->recordOfRecords.propB : Symbol(RecordOfRecords.__index) >recordOfRecords : Symbol(recordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 3, 5)) ->propB : Symbol(RecordOfRecords.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 5, 37)) recordOfRecords.propC = {...(foo !== undefined && {foo})} // error'd in 3.7 beta, should be OK ->recordOfRecords.propC : Symbol(RecordOfRecords.__index) >recordOfRecords : Symbol(recordOfRecords, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 3, 5)) ->propC : Symbol(RecordOfRecords.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 6, 51)) @@ -45,24 +39,18 @@ const recordsOfRecordsOrEmpty: RecordOfRecordsOrEmpty = {} >RecordOfRecordsOrEmpty : Symbol(RecordOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 6, 57)) recordsOfRecordsOrEmpty.propA = {...(foo !== undefined ? {foo} : {})} // OK ->recordsOfRecordsOrEmpty.propA : Symbol(RecordOfRecordsOrEmpty.__index) >recordsOfRecordsOrEmpty : Symbol(recordsOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 9, 5)) ->propA : Symbol(RecordOfRecordsOrEmpty.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 10, 58)) recordsOfRecordsOrEmpty.propB = {...(foo && {foo})} // OK ->recordsOfRecordsOrEmpty.propB : Symbol(RecordOfRecordsOrEmpty.__index) >recordsOfRecordsOrEmpty : Symbol(recordsOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 9, 5)) ->propB : Symbol(RecordOfRecordsOrEmpty.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 11, 45)) recordsOfRecordsOrEmpty.propC = {...(foo !== undefined && {foo})} // OK ->recordsOfRecordsOrEmpty.propC : Symbol(RecordOfRecordsOrEmpty.__index) >recordsOfRecordsOrEmpty : Symbol(recordsOfRecordsOrEmpty, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 9, 5)) ->propC : Symbol(RecordOfRecordsOrEmpty.__index) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 0, 5)) >undefined : Symbol(undefined) >foo : Symbol(foo, Decl(spreadOfObjectLiteralAssignableToIndexSignature.ts, 12, 59)) diff --git a/tests/baselines/reference/staticIndexSignature1.symbols b/tests/baselines/reference/staticIndexSignature1.symbols index b763cfe36403b..b672f4e22a7e2 100644 --- a/tests/baselines/reference/staticIndexSignature1.symbols +++ b/tests/baselines/reference/staticIndexSignature1.symbols @@ -13,9 +13,7 @@ C["foo"] = 1 >C : Symbol(C, Decl(staticIndexSignature1.ts, 0, 0)) C.bar = 2; ->C.bar : Symbol(C.__index, Decl(staticIndexSignature1.ts, 0, 9), Decl(staticIndexSignature1.ts, 1, 31)) >C : Symbol(C, Decl(staticIndexSignature1.ts, 0, 0)) ->bar : Symbol(C.__index, Decl(staticIndexSignature1.ts, 0, 9), Decl(staticIndexSignature1.ts, 1, 31)) const foo = C["foo"] >foo : Symbol(foo, Decl(staticIndexSignature1.ts, 7, 5)) diff --git a/tests/baselines/reference/staticIndexSignature2.symbols b/tests/baselines/reference/staticIndexSignature2.symbols index 552207247aa75..abbf36f9733b4 100644 --- a/tests/baselines/reference/staticIndexSignature2.symbols +++ b/tests/baselines/reference/staticIndexSignature2.symbols @@ -13,9 +13,7 @@ C["foo"] = 1 >C : Symbol(C, Decl(staticIndexSignature2.ts, 0, 0)) C.bar = 2; ->C.bar : Symbol(C.__index, Decl(staticIndexSignature2.ts, 0, 9), Decl(staticIndexSignature2.ts, 1, 40)) >C : Symbol(C, Decl(staticIndexSignature2.ts, 0, 0)) ->bar : Symbol(C.__index, Decl(staticIndexSignature2.ts, 0, 9), Decl(staticIndexSignature2.ts, 1, 40)) const foo = C["foo"] >foo : Symbol(foo, Decl(staticIndexSignature2.ts, 7, 5)) diff --git a/tests/baselines/reference/staticIndexSignature4.symbols b/tests/baselines/reference/staticIndexSignature4.symbols index 5fa5ed8e8d8aa..198b01bc80288 100644 --- a/tests/baselines/reference/staticIndexSignature4.symbols +++ b/tests/baselines/reference/staticIndexSignature4.symbols @@ -40,12 +40,8 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) B.a = D.a ->B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) ->a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) ->D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) ->a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) B[2] = D[2] >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) @@ -55,12 +51,8 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) D.a = B.a ->D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) ->a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) ->B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) ->a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) D[2] = B[2] >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) @@ -70,24 +62,16 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) B.a = i.a ->B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) ->a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) ->i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) ->a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) B[2] = i[2] >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) D.a = i.a ->D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) ->a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) ->i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) ->a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) D[2] = i [2] >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) @@ -97,12 +81,8 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) i.a = B.a ->i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) ->a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) ->B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) ->a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9), Decl(staticIndexSignature4.ts, 1, 40)) i[2] = B[2] >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) @@ -112,12 +92,8 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) i.a = D.a ->i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) ->a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14), Decl(staticIndexSignature4.ts, 11, 31)) ->D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) ->a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9), Decl(staticIndexSignature4.ts, 6, 31)) i[2] = B[2] >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) diff --git a/tests/baselines/reference/staticIndexSignature6.symbols b/tests/baselines/reference/staticIndexSignature6.symbols index 9774096faff7c..f5905cad067db 100644 --- a/tests/baselines/reference/staticIndexSignature6.symbols +++ b/tests/baselines/reference/staticIndexSignature6.symbols @@ -24,14 +24,10 @@ const C = foo() >foo : Symbol(foo, Decl(staticIndexSignature6.ts, 0, 0)) C.a; ->C.a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) ->a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) C.a = 1; ->C.a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) ->a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21), Decl(staticIndexSignature6.ts, 2, 34)) C[2]; >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols index 95c1beaa4a8a6..3ae8ba82c53da 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.symbols @@ -219,9 +219,7 @@ function fn5() { return undefined; } fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 68, 9)) ->n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 68, 9)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) fn5 `${ (n) => n.substr(0) }`; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3.ts, 66, 73)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols index 19dd4817c8a23..c8c0e6c655182 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.symbols @@ -219,9 +219,7 @@ function fn5() { return undefined; } fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 68, 9)) ->n.toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 68, 9)) ->toFixed : Symbol(__index, Decl(lib.es5.d.ts, --, --)) fn5 `${ (n) => n.substr(0) }`; >fn5 : Symbol(fn5, Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 62, 25), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 65, 73), Decl(taggedTemplateStringsWithOverloadResolution3_ES6.ts, 66, 73)) diff --git a/tests/baselines/reference/templateLiteralsInTypes.symbols b/tests/baselines/reference/templateLiteralsInTypes.symbols index cc71682a881b6..2c5b48922287d 100644 --- a/tests/baselines/reference/templateLiteralsInTypes.symbols +++ b/tests/baselines/reference/templateLiteralsInTypes.symbols @@ -7,7 +7,5 @@ const f = (hdr: string, val: number) => `${hdr}:\t${val}\r\n` as `${string}:\t${ >val : Symbol(val, Decl(templateLiteralsInTypes.ts, 0, 23)) f("x").foo; ->f("x").foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >f : Symbol(f, Decl(templateLiteralsInTypes.ts, 0, 5)) ->foo : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/thisTypeInFunctions2.symbols b/tests/baselines/reference/thisTypeInFunctions2.symbols index 45c72c808159c..82ddc46903ccc 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.symbols +++ b/tests/baselines/reference/thisTypeInFunctions2.symbols @@ -93,9 +93,7 @@ extend2({ >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) this.mine ->this.mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) ->mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) }, mine: 13, @@ -108,9 +106,7 @@ extend2({ >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) this.mine ->this.mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) ->mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) } }); diff --git a/tests/baselines/reference/tsxAttributeResolution2.symbols b/tests/baselines/reference/tsxAttributeResolution2.symbols index b6b7fd27ead68..fb7ac3aed88e6 100644 --- a/tests/baselines/reference/tsxAttributeResolution2.symbols +++ b/tests/baselines/reference/tsxAttributeResolution2.symbols @@ -42,7 +42,5 @@ interface Attribs1 { >test1 : Symbol(JSX.IntrinsicElements.test1, Decl(file.tsx, 2, 30)) >c1 : Symbol(c1, Decl(file.tsx, 16, 6)) >x : Symbol(x, Decl(file.tsx, 16, 12)) ->x.leng : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(file.tsx, 16, 12)) ->leng : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/tsxAttributeResolution4.symbols b/tests/baselines/reference/tsxAttributeResolution4.symbols index ff357f974172e..50e603371c45e 100644 --- a/tests/baselines/reference/tsxAttributeResolution4.symbols +++ b/tests/baselines/reference/tsxAttributeResolution4.symbols @@ -32,7 +32,5 @@ interface Attribs1 { >test1 : Symbol(JSX.IntrinsicElements.test1, Decl(file.tsx, 2, 30)) >x : Symbol(x, Decl(file.tsx, 14, 13)) >n : Symbol(n, Decl(file.tsx, 14, 17)) ->n.len : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >n : Symbol(n, Decl(file.tsx, 14, 17)) ->len : Symbol(__index, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols b/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols index a8f6958064320..97bb22526091d 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols +++ b/tests/baselines/reference/tsxStatelessFunctionComponents2.symbols @@ -67,11 +67,9 @@ let e = x.greeting.subtr(10)} />; >BigGreeter : Symbol(BigGreeter, Decl(file.tsx, 4, 1)) >ref : Symbol(ref, Decl(file.tsx, 24, 19)) >x : Symbol(x, Decl(file.tsx, 24, 25)) ->x.greeting.subtr : Symbol(__index, Decl(lib.d.ts, --, --)) >x.greeting : Symbol(BigGreeter.greeting, Decl(file.tsx, 9, 2)) >x : Symbol(x, Decl(file.tsx, 24, 25)) >greeting : Symbol(BigGreeter.greeting, Decl(file.tsx, 9, 2)) ->subtr : Symbol(__index, Decl(lib.d.ts, --, --)) // Error (ref callback is contextually typed) let f = x.notARealProperty} />; diff --git a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols index 47e9ed1f478c8..b91a3941ae3e2 100644 --- a/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols +++ b/tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.symbols @@ -10,9 +10,6 @@ var functions = [function () { >Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) [1, 2, 3].NonexistantMethod(); ->[1, 2, 3].NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) - derp(); }]; diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols index 845fdcf69d697..06912f9d59b7a 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols @@ -306,22 +306,16 @@ function f(i: Indexed) { >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) return i.a; ->i.a : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) ->a : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } else if ("b" in i) { >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) return i.b; ->i.b : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) ->b : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } return "c" in i && i.c; >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) ->i.c : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) ->c : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } diff --git a/tests/baselines/reference/typeGuardsWithAny.symbols b/tests/baselines/reference/typeGuardsWithAny.symbols index cd7b1325b6085..b4ce8fb4a1162 100644 --- a/tests/baselines/reference/typeGuardsWithAny.symbols +++ b/tests/baselines/reference/typeGuardsWithAny.symbols @@ -19,9 +19,7 @@ if (typeof x === "string") { >x : Symbol(x, Decl(typeGuardsWithAny.ts, 0, 3)) x.p; // Error, type any narrowed by primitive type check ->x.p : Symbol(__index, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(typeGuardsWithAny.ts, 0, 3)) ->p : Symbol(__index, Decl(lib.es5.d.ts, --, --)) } else { x.p; // No error, type unaffected in this branch diff --git a/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols b/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols index 3783c03766a0f..19786426ab8c8 100644 --- a/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols +++ b/tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.symbols @@ -7,9 +7,6 @@ var functions = [function() { >functions : Symbol(functions, Decl(undefinedSymbolReferencedInArrayLiteral1.ts, 2, 3)) [1, 2, 3].NonexistantMethod(); ->[1, 2, 3].NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) ->NonexistantMethod : Symbol(Array.__index, Decl(lib.es5.d.ts, --, --)) - anotherNonExistingMethod(); }]; diff --git a/tests/baselines/reference/useRegexpGroups.symbols b/tests/baselines/reference/useRegexpGroups.symbols index 1ff3c983e203e..ebfa86f6c2cee 100644 --- a/tests/baselines/reference/useRegexpGroups.symbols +++ b/tests/baselines/reference/useRegexpGroups.symbols @@ -14,11 +14,9 @@ let date = result[0]; let year1 = result.groups.year; >year1 : Symbol(year1, Decl(useRegexpGroups.ts, 5, 3)) ->result.groups.year : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >result.groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >result : Symbol(result, Decl(useRegexpGroups.ts, 1, 3)) >groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) ->year : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) let year2 = result[1]; >year2 : Symbol(year2, Decl(useRegexpGroups.ts, 6, 3)) @@ -26,11 +24,9 @@ let year2 = result[1]; let month1 = result.groups.month; >month1 : Symbol(month1, Decl(useRegexpGroups.ts, 8, 3)) ->result.groups.month : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >result.groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >result : Symbol(result, Decl(useRegexpGroups.ts, 1, 3)) >groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) ->month : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) let month2 = result[2]; >month2 : Symbol(month2, Decl(useRegexpGroups.ts, 9, 3)) @@ -38,11 +34,9 @@ let month2 = result[2]; let day1 = result.groups.day; >day1 : Symbol(day1, Decl(useRegexpGroups.ts, 11, 3)) ->result.groups.day : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >result.groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >result : Symbol(result, Decl(useRegexpGroups.ts, 1, 3)) >groups : Symbol(RegExpExecArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) ->day : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) let day2 = result[3]; >day2 : Symbol(day2, Decl(useRegexpGroups.ts, 12, 3)) @@ -50,10 +44,8 @@ let day2 = result[3]; let foo = "foo".match(/(?foo)/)!.groups.foo; >foo : Symbol(foo, Decl(useRegexpGroups.ts, 14, 3)) ->"foo".match(/(?foo)/)!.groups.foo : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) >"foo".match(/(?foo)/)!.groups : Symbol(RegExpMatchArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) >"foo".match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >match : Symbol(String.match, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >groups : Symbol(RegExpMatchArray.groups, Decl(lib.es2018.regexp.d.ts, --, --)) ->foo : Symbol(__index, Decl(lib.es2018.regexp.d.ts, --, --)) From 50372d91aa588298feb82941f53cb83b82b33153 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Mon, 11 Jul 2022 15:23:30 -0700 Subject: [PATCH 08/13] changed function to only grab the literal type --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 58b9473e4f93d..94317c33d545b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -42217,7 +42217,7 @@ namespace ts { checkPropertyAccessExpression(name, CheckMode.Normal); if(!links.resolvedSymbol){ const expressionType = checkExpressionCached(name.expression); - const infos = getApplicableIndexInfos(expressionType, checkExpressionCached(name.name)); + const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); if (length(infos) && infos[0].declaration && infos[0].declaration?.symbol.flags & SymbolFlags.Signature && infos[0].declaration?.jsDoc) { const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); copy.declarations = mapDefined(infos, i => i.declaration); From 868ef271f1c8c45b5b1c30f242d05498b598e2d4 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Tue, 12 Jul 2022 10:53:26 -0700 Subject: [PATCH 09/13] added additional condition for literals and symbols --- src/compiler/checker.ts | 5 ++++- src/services/symbolDisplay.ts | 15 +++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 94317c33d545b..62f1d6ee51e27 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -42217,7 +42217,10 @@ namespace ts { checkPropertyAccessExpression(name, CheckMode.Normal); if(!links.resolvedSymbol){ const expressionType = checkExpressionCached(name.expression); - const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); + let infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); + if(infos.length === 0 && getIndexInfosOfType(expressionType).filter(type => type.keyType.flags & TypeFlags.TemplateLiteral || type.keyType.flags & TypeFlags.ESSymbol).length > 0){ + infos = getApplicableIndexInfos(expressionType, checkExpressionCached(name.name)); + } if (length(infos) && infos[0].declaration && infos[0].declaration?.symbol.flags & SymbolFlags.Signature && infos[0].declaration?.jsDoc) { const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); copy.declarations = mapDefined(infos, i => i.declaration); diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index 12e65efbae8ea..b46a42d85f3e4 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -648,11 +648,11 @@ namespace ts.SymbolDisplay { displayParts.push(spacePart()); } - function addFullSymbolName(symbolToDisplay: Symbol, enclosingDeclaration?: Node, indexInfos?:IndexInfo[]) { + function addFullSymbolName(symbolToDisplay: Symbol, enclosingDeclaration?: Node, indexInfos?: IndexInfo[]) { if (alias && symbolToDisplay === symbol) { symbolToDisplay = alias; } - let fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, + const fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); if(symbolToDisplay.flags & SymbolFlags.Signature){ if(indexInfos){ @@ -661,11 +661,9 @@ namespace ts.SymbolDisplay { if(length(indexInfos)){ //Needed to handle more than one type of index for(let info=0; info isArrowFunction(d) || (isFunctionExpression(d) || isClassExpression(d)) && !d.name)) { displayParts.push(spacePart()); - addFullSymbolName(symbol, undefined, indexInfos); + const enclosingDeclaration = undefined; + addFullSymbolName(symbol, enclosingDeclaration, indexInfos); } } } From ecfbf8bb6ae1de994c856d91a681c6f4c2c50617 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Wed, 10 Aug 2022 17:35:00 -0700 Subject: [PATCH 10/13] added additional test cases --- package-lock.json | 8853 ++++++++++++++++- src/compiler/checker.ts | 10 +- src/services/symbolDisplay.ts | 16 +- .../fourslash/jsDocPropertyDescription1.ts | 15 + .../fourslash/jsDocPropertyDescription10.ts | 11 + .../fourslash/jsDocPropertyDescription11.ts | 12 + .../fourslash/jsDocPropertyDescription12.ts | 11 + .../fourslash/jsDocPropertyDescription2.ts | 11 + .../fourslash/jsDocPropertyDescription3.ts | 13 + .../fourslash/jsDocPropertyDescription4.ts | 11 + .../fourslash/jsDocPropertyDescription5.ts | 11 + .../fourslash/jsDocPropertyDescription6.ts | 17 + .../fourslash/jsDocPropertyDescription7.ts | 11 + .../fourslash/jsDocPropertyDescription8.ts | 11 + .../fourslash/jsDocPropertyDescription9.ts | 17 + .../fourslash/jsdocPropertyDescription.ts | 56 - 16 files changed, 9003 insertions(+), 83 deletions(-) create mode 100644 tests/cases/fourslash/jsDocPropertyDescription1.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription10.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription11.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription12.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription2.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription3.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription4.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription5.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription6.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription7.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription8.ts create mode 100644 tests/cases/fourslash/jsDocPropertyDescription9.ts delete mode 100644 tests/cases/fourslash/jsdocPropertyDescription.ts diff --git a/package-lock.json b/package-lock.json index 4263d5ce79072..846d8cff2eec0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,8832 @@ { "name": "typescript", "version": "4.8.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "typescript", + "version": "4.8.0", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "devDependencies": { + "@octokit/rest": "latest", + "@types/chai": "latest", + "@types/convert-source-map": "latest", + "@types/glob": "latest", + "@types/gulp": "^4.0.9", + "@types/gulp-concat": "latest", + "@types/gulp-newer": "latest", + "@types/gulp-rename": "0.0.33", + "@types/gulp-sourcemaps": "0.0.32", + "@types/merge2": "latest", + "@types/microsoft__typescript-etw": "latest", + "@types/minimatch": "latest", + "@types/minimist": "latest", + "@types/mkdirp": "latest", + "@types/mocha": "latest", + "@types/ms": "latest", + "@types/node": "latest", + "@types/node-fetch": "^2.3.4", + "@types/q": "latest", + "@types/source-map-support": "latest", + "@types/xml2js": "^0.4.0", + "@typescript-eslint/eslint-plugin": "^4.28.0", + "@typescript-eslint/experimental-utils": "^4.28.0", + "@typescript-eslint/parser": "^4.28.0", + "async": "latest", + "azure-devops-node-api": "^11.0.1", + "chai": "latest", + "chalk": "^4.1.2", + "convert-source-map": "latest", + "del": "5.1.0", + "diff": "^4.0.2", + "eslint": "7.12.1", + "eslint-formatter-autolinkable-stylish": "1.1.4", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-jsdoc": "30.7.6", + "eslint-plugin-no-null": "1.0.2", + "fancy-log": "latest", + "fs-extra": "^9.0.0", + "glob": "latest", + "gulp": "^4.0.0", + "gulp-concat": "latest", + "gulp-insert": "latest", + "gulp-newer": "latest", + "gulp-rename": "latest", + "gulp-sourcemaps": "latest", + "merge2": "latest", + "minimist": "latest", + "mkdirp": "latest", + "mocha": "latest", + "mocha-fivemat-progress-reporter": "latest", + "ms": "^2.1.3", + "node-fetch": "^2.6.1", + "prex": "^0.4.3", + "q": "latest", + "source-map-support": "latest", + "typescript": "^4.5.5", + "vinyl": "latest", + "vinyl-sourcemaps-apply": "latest", + "xml2js": "^0.4.19" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@esfx/cancelable": { + "version": "1.0.0-pre.13", + "resolved": "https://registry.npmjs.org/@esfx/cancelable/-/cancelable-1.0.0-pre.13.tgz", + "integrity": "sha512-JpcXOrEPh/AMaZ8OGWrjYq+o65/emqxZFnW7NRRS6x8nrHbbZTUHEJnQmjahXkjvliPBgsFqueaLphXP52ACug==", + "dev": true, + "dependencies": { + "@esfx/disposable": "^1.0.0-pre.13", + "@esfx/internal-deprecate": "^1.0.0-pre.13", + "@esfx/internal-guards": "^1.0.0-pre.11", + "@esfx/internal-tag": "^1.0.0-pre.6", + "tslib": "^1.9.3" + } + }, + "node_modules/@esfx/disposable": { + "version": "1.0.0-pre.13", + "resolved": "https://registry.npmjs.org/@esfx/disposable/-/disposable-1.0.0-pre.13.tgz", + "integrity": "sha512-rTypmtVgC8nx3gfxHIX96By2UNub0ewRthxUiWE1x/+NTSfzGOHVpVu0H8DF+VQJND04E6srcwwbO+Hpek16GA==", + "dev": true, + "dependencies": { + "@esfx/internal-deprecate": "^1.0.0-pre.13", + "@esfx/internal-guards": "^1.0.0-pre.11", + "@esfx/internal-tag": "^1.0.0-pre.6", + "tslib": "^1.9.3" + } + }, + "node_modules/@esfx/internal-deprecate": { + "version": "1.0.0-pre.13", + "resolved": "https://registry.npmjs.org/@esfx/internal-deprecate/-/internal-deprecate-1.0.0-pre.13.tgz", + "integrity": "sha512-uF4EhrILmUJdcDkSQNsr+33XEKaMj92/8804VIHswytdbwaQjQ85dbj1bSB9TFsXG2zkZtJo09NKNQ9p7NvTPQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.3" + } + }, + "node_modules/@esfx/internal-guards": { + "version": "1.0.0-pre.11", + "resolved": "https://registry.npmjs.org/@esfx/internal-guards/-/internal-guards-1.0.0-pre.11.tgz", + "integrity": "sha512-DnRXkwwSrqIaml+sAm/zzpfDOCBnZkzflmGB833AqVYbgopO7xPBobngxqGBhYjutgTmVuXV3GKP0g08h4mQEw==", + "dev": true, + "dependencies": { + "@esfx/type-model": "^1.0.0-pre.11", + "tslib": "^1.9.3" + } + }, + "node_modules/@esfx/internal-tag": { + "version": "1.0.0-pre.6", + "resolved": "https://registry.npmjs.org/@esfx/internal-tag/-/internal-tag-1.0.0-pre.6.tgz", + "integrity": "sha512-nODidP9/RBLqX39HL12IhFLgaoBHrC5nrm6D/BwquCGNoPQI9EXNPau+IdmGqeUcaMoVOFLFOkYtnHU52RVngw==", + "dev": true + }, + "node_modules/@esfx/type-model": { + "version": "1.0.0-pre.11", + "resolved": "https://registry.npmjs.org/@esfx/type-model/-/type-model-1.0.0-pre.11.tgz", + "integrity": "sha512-ImM8fj0HFE2GRPRq+q1xnW3kNaIbZscpJfWjGyeo9KdMxKoI75bJebsA3XK6AH9zbEWba+521V+m6NDvDhcnSw==", + "dev": true, + "dependencies": { + "tslib": "^1.9.3" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", + "integrity": "sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@gulp-sourcemaps/identity-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", + "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", + "dev": true, + "dependencies": { + "acorn": "^6.4.1", + "normalize-path": "^3.0.0", + "postcss": "^7.0.16", + "source-map": "^0.6.0", + "through2": "^3.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==", + "dev": true, + "dependencies": { + "normalize-path": "^2.0.1", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dev": true, + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.34.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "dev": true, + "dependencies": { + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "node_modules/@types/chai": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", + "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", + "dev": true + }, + "node_modules/@types/convert-source-map": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-1.5.2.tgz", + "integrity": "sha512-tHs++ZeXer40kCF2JpE51Hg7t4HPa18B1b1Dzy96S0eCw8QKECNMYMfwa1edK/x8yCN0r4e6ewvLcc5CsVGkdg==", + "dev": true + }, + "node_modules/@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "dev": true + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/glob-stream": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.1.tgz", + "integrity": "sha512-AGOUTsTdbPkRS0qDeyeS+6KypmfVpbT5j23SN8UPG63qjKXNKjXn6V9wZUr8Fin0m9l8oGYaPK8b2WUMF8xI1A==", + "dev": true, + "dependencies": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "node_modules/@types/gulp": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.9.tgz", + "integrity": "sha512-zzT+wfQ8uwoXjDhRK9Zkmmk09/fbLLmN/yDHFizJiEKIve85qutOnXcP/TM2sKPBTU+Jc16vfPbOMkORMUBN7Q==", + "dev": true, + "dependencies": { + "@types/undertaker": "*", + "@types/vinyl-fs": "*", + "chokidar": "^3.3.1" + } + }, + "node_modules/@types/gulp-concat": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/gulp-concat/-/gulp-concat-0.0.33.tgz", + "integrity": "sha512-8On3yjnwXFKmGWm+P9GKBLzuYW9kGnhd3+sTj6cdIPFchYAEdqhc7Q3egTLK/Oqr083w1Q3SyRPAWEHAuxj4DQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/gulp-newer": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/gulp-newer/-/gulp-newer-0.0.32.tgz", + "integrity": "sha512-H9KRWsNr4Z/HfUU82yuDT9Vshps8BsUWjOBqUImIsk9iBU2a19d/FIl6yUqCx1juSwzmKx8jbZ45S7zP49aWQw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/gulp-rename": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/gulp-rename/-/gulp-rename-0.0.33.tgz", + "integrity": "sha512-FIZQvbZJj6V1gHPTzO+g/BCWpDur7fJrroae4gwV3LaoHBQ+MrR9sB+2HssK8fHv4WdY6hVNxkcft9bYatuPIA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/gulp-sourcemaps": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/gulp-sourcemaps/-/gulp-sourcemaps-0.0.32.tgz", + "integrity": "sha512-+7BAmptW2bxyJnJcCEuie7vLoop3FwWgCdBMzyv7MYXED/HeNMeQuX7uPCkp4vfU1TTu4CYFH0IckNPvo0VePA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/gulp/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/gulp/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/gulp/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/gulp/node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@types/gulp/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/gulp/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@types/gulp/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/gulp/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/gulp/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@types/gulp/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/@types/gulp/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "node_modules/@types/merge2": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/merge2/-/merge2-1.3.1.tgz", + "integrity": "sha512-aDA8WfZHU/J1OeQmrP+DfGrl1tb0cwNIuiiIqK3+S21gQ+aWg2n4OIvmFHpd2A4yQdZfjikC4XIYVNtX+b9qgg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/microsoft__typescript-etw": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@types/microsoft__typescript-etw/-/microsoft__typescript-etw-0.1.1.tgz", + "integrity": "sha512-zdgHyZJEwbFKI6zhOqWPsNMhlrAk6qMrn9VMA6VQtRt/F+jNJKeaHIMysuO9oTLv0fWcli0gwUrMv8MeFyb3Sw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/mkdirp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.2.tgz", + "integrity": "sha512-o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mocha": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "dev": true + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==", + "dev": true + }, + "node_modules/@types/node-fetch": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", + "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "node_modules/@types/source-map-support": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.4.tgz", + "integrity": "sha512-9zGujX1sOPg32XLyfgEB/0G9ZnrjthL/Iv1ZfuAjj8LEilHZEpQSQs1scpRXPhHzGYgWiLz9ldF1cI8JhL+yMw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.0" + } + }, + "node_modules/@types/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/undertaker": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/undertaker/-/undertaker-1.2.7.tgz", + "integrity": "sha512-xuY7nBwo1zSRoY2aitp/HArHfTulFAKql2Fr4b4mWbBBP+F50n7Jm6nwISTTMaDk2xvl92O10TTejVF0Q9mInw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/undertaker-registry": "*", + "async-done": "~1.3.2" + } + }, + "node_modules/@types/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==", + "dev": true + }, + "node_modules/@types/vinyl": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.5.tgz", + "integrity": "sha512-1m6uReH8R/RuLVQGvTT/4LlWq67jZEUxp+FBHt0hYv2BT7TUwFbKI0wa7JZVEU/XtlcnX1QcTuZ36es4rGj7jg==", + "dev": true, + "dependencies": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "node_modules/@types/vinyl-fs": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-2.4.12.tgz", + "integrity": "sha512-LgBpYIWuuGsihnlF+OOWWz4ovwCYlT03gd3DuLwex50cYZLmX3yrW+sFF9ndtmh7zcZpS6Ri47PrIu+fV+sbXw==", + "dev": true, + "dependencies": { + "@types/glob-stream": "*", + "@types/node": "*", + "@types/vinyl": "*" + } + }, + "node_modules/@types/xml2js": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.5.tgz", + "integrity": "sha512-yohU3zMn0fkhlape1nxXG2bLEGZRc1FeqF80RoHaYXJN7uibaauXfhzhOJr1Xh36sn+/tx21QAOf07b/xYVk1w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.0.tgz", + "integrity": "sha512-KcF6p3zWhf1f8xO84tuBailV5cN92vhS+VT7UJsPzGBm9VnQqfI9AsiMUFUCYHTYPg1uCCo+HyiDnpDuvkAMfQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.28.0", + "@typescript-eslint/scope-manager": "4.28.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.0.tgz", + "integrity": "sha512-9XD9s7mt3QWMk82GoyUpc/Ji03vz4T5AYlHF9DcoFNfJ/y3UAclRsfGiE2gLfXtyC+JRA3trR7cR296TEb1oiQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.0", + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/typescript-estree": "4.28.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.0.tgz", + "integrity": "sha512-7x4D22oPY8fDaOCvkuXtYYTQ6mTMmkivwEzS+7iml9F9VkHGbbZ3x4fHRwxAb5KeuSkLqfnYjs46tGx2Nour4A==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.28.0", + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/typescript-estree": "4.28.0", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.0.tgz", + "integrity": "sha512-eCALCeScs5P/EYjwo6se9bdjtrh8ByWjtHzOkC4Tia6QQWtQr3PHovxh3TdYTuFcurkYI4rmFsRFpucADIkseg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/visitor-keys": "4.28.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.0.tgz", + "integrity": "sha512-p16xMNKKoiJCVZY5PW/AfILw2xe1LfruTcfAKBj3a+wgNYP5I9ZEKNDOItoRt53p4EiPV6iRSICy8EPanG9ZVA==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.0.tgz", + "integrity": "sha512-m19UQTRtxMzKAm8QxfKpvh6OwQSXaW1CdZPoCaQuLwAq7VZMNuhJmZR4g5281s2ECt658sldnJfdpSZZaxUGMQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.0", + "@typescript-eslint/visitor-keys": "4.28.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.0.tgz", + "integrity": "sha512-PjJyTWwrlrvM5jazxYF5ZPs/nl0kHDZMVbuIcbpawVXaDPelp3+S9zpOz5RmVUfS/fD5l5+ZXNKnWhNYjPzCvw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/azure-devops-node-api": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.0.1.tgz", + "integrity": "sha512-YMdjAw9l5p/6leiyIloxj3k7VIvYThKjvqgiQn88r3nhT93ENwsoDS3A83CyJ4uTWzCZ5f5jCi6c27rTU5Pz+A==", + "dev": true, + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chai": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", + "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comment-parser": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", + "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/concat-with-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "dependencies": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css/node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debug-fabulous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", + "dev": true, + "dependencies": { + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" + } + }, + "node_modules/debug-fabulous/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-compare/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, + "dependencies": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/enquirer/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/object.assign/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.12.1.tgz", + "integrity": "sha512-HlMTEdr/LicJfN08LB3nM1rRYliDXOmfoO4vj39xN6BLpFzF00hbwBoqHk8UcJ2M/3nlARZWy/mslvGEuZFvsg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-formatter-autolinkable-stylish": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/eslint-formatter-autolinkable-stylish/-/eslint-formatter-autolinkable-stylish-1.1.4.tgz", + "integrity": "sha512-aw8TKZLTiSMMstbfWNQiFZ0Em0sBW32NP8O8RUVPiF9kPjoYWg6M1lXcBr6MGijt39tmSFrdibgWQ2S6HYVsMA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "plur": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": "^7.12.1" + } + }, + "node_modules/eslint-formatter-autolinkable-stylish/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "30.7.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz", + "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==", + "dev": true, + "dependencies": { + "comment-parser": "^0.7.6", + "debug": "^4.2.0", + "jsdoctypeparser": "^9.0.0", + "lodash": "^4.17.20", + "regextras": "^0.7.1", + "semver": "^7.3.2", + "spdx-expression-parse": "^3.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint-plugin-no-null": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz", + "integrity": "sha1-EjaoEjkTkKGHetQAfCbnRTQclR8=", + "dev": true, + "engines": { + "node": ">=5.0.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", + "dev": true, + "dependencies": { + "color-support": "^1.1.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-glob/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flat-cache/node_modules/rimraf/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs-mkdirp-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-stream/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-insert": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/gulp-insert/-/gulp-insert-0.5.0.tgz", + "integrity": "sha512-SDKCWmjomAo0N0Bzj9qEKIfURORJR/72p6AbDBIK9yKZw794ROTrQHliBem+NJzS2GsTWSm8dGWJ5L7KtjnMRA==", + "dev": true, + "dependencies": { + "readable-stream": "^1.0.26-4", + "streamqueue": "0.0.6" + } + }, + "node_modules/gulp-insert/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/gulp-insert/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/gulp-insert/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "node_modules/gulp-newer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-newer/-/gulp-newer-1.4.0.tgz", + "integrity": "sha512-h79fGO55S/P9eAADbLAP9aTtVYpLSR1ONj08VPaSdVVNVYhTS8p1CO1TW7kEMu+hC+sytmCqcUr5LesvZEtDoQ==", + "dev": true, + "dependencies": { + "glob": "^7.0.3", + "kew": "^0.7.0", + "plugin-error": "^0.1.2" + } + }, + "node_modules/gulp-newer/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gulp-newer/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/gulp-rename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", + "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sourcemaps": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", + "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", + "dev": true, + "dependencies": { + "@gulp-sourcemaps/identity-map": "^2.0.1", + "@gulp-sourcemaps/map-sources": "^1.0.0", + "acorn": "^6.4.1", + "convert-source-map": "^1.0.0", + "css": "^3.0.0", + "debug-fabulous": "^1.0.0", + "detect-newline": "^2.0.0", + "graceful-fs": "^4.0.0", + "source-map": "^0.6.0", + "strip-bom-string": "^1.0.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gulp-sourcemaps/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/gulp-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp/node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp/node_modules/gulp-cli/node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", + "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/irregular-plurals": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.2.0.tgz", + "integrity": "sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", + "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdoctypeparser": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", + "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", + "dev": true, + "bin": { + "jsdoctypeparser": "bin/jsdoctypeparser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "dependencies": { + "universalify": "^1.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "dev": true + }, + "node_modules/kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha512-IG6nm0+QtAMdXt9KvbgbGdvY50RSrw+U4sGZg+KlrSKPJEwVE5JVoI3d7RWfSMdBQneRheeAOj3lIjX5VL/9RQ==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "dependencies": { + "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loupe": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", + "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dev": true, + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "dependencies": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "node_modules/memoizee/node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", + "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "dev": true, + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha-fivemat-progress-reporter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/mocha-fivemat-progress-reporter/-/mocha-fivemat-progress-reporter-0.1.0.tgz", + "integrity": "sha512-nCf6dmCEHObJ8BBrcjW+UHYvVtHEL+FliYR/Mfc/v7dKenNmBQ0ZSuvlICgsyQy9Tt581ldvh+SReS4qp4LrQw==", + "dev": true + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/mocha/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/mocha/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/mocha/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/mocha/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/normalize-package-data/node_modules/resolve/node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "dependencies": { + "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==", + "dev": true, + "dependencies": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==", + "dev": true, + "dependencies": { + "kind-of": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plur": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", + "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", + "dev": true, + "dependencies": { + "irregular-plurals": "^3.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/prex": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/prex/-/prex-0.4.7.tgz", + "integrity": "sha512-ulhl3iyjmAW/GroRQJN4CG+pC6KJ+W+deNRBkEShQwe16wLP9k92+x6RmLJuLiVSGkbxhnAqHpGdJJCh3bRpUQ==", + "dev": true, + "dependencies": { + "@esfx/cancelable": "^1.0.0-pre.13", + "@esfx/disposable": "^1.0.0-pre.13" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regextras": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", + "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==", + "dev": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "dependencies": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-bom-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "dependencies": { + "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "dependencies": { + "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel/node_modules/object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/streamqueue": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/streamqueue/-/streamqueue-0.0.6.tgz", + "integrity": "sha1-ZvX17JTpuK8knkrsLdH3Qb/pTeM=", + "dev": true, + "dependencies": { + "readable-stream": "^1.0.26-2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/streamqueue/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/streamqueue/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/streamqueue/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "dependencies": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/through2-filter/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "dependencies": { + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/to-through/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "node_modules/tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typed-rest-client": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.5.tgz", + "integrity": "sha512-952/Aegu3lTqUAI1anbDLbewojnF/gh8at9iy1CIrfS1h/+MtNjB1Y9z6ZF5n2kZd+97em56lZ9uu7Zz3y/pwg==", + "deprecated": "1.8.5 contains changes that are not compatible with Node 6", + "dev": true, + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/underscore": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", + "dev": true + }, + "node_modules/undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker/node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "dev": true + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, + "node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "dependencies": { + "source-map": "^0.5.1" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", + "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "5.0.0-security.0" + } + }, + "node_modules/yargs-parser": { + "version": "5.0.0-security.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", + "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -333,7 +9157,8 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true + "dev": true, + "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { "version": "5.13.0", @@ -915,7 +9740,8 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true + "dev": true, + "requires": {} }, "aggregate-error": { "version": "3.0.1", @@ -2491,7 +11317,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz", "integrity": "sha1-EjaoEjkTkKGHetQAfCbnRTQclR8=", - "dev": true + "dev": true, + "requires": {} }, "eslint-scope": { "version": "5.1.1", @@ -5983,6 +14810,15 @@ } } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -6099,15 +14935,6 @@ } } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 62f1d6ee51e27..8e81e824631aa 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -42215,16 +42215,14 @@ namespace ts { if (name.kind === SyntaxKind.PropertyAccessExpression) { checkPropertyAccessExpression(name, CheckMode.Normal); - if(!links.resolvedSymbol){ + if (!links.resolvedSymbol) { const expressionType = checkExpressionCached(name.expression); - let infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); - if(infos.length === 0 && getIndexInfosOfType(expressionType).filter(type => type.keyType.flags & TypeFlags.TemplateLiteral || type.keyType.flags & TypeFlags.ESSymbol).length > 0){ - infos = getApplicableIndexInfos(expressionType, checkExpressionCached(name.name)); - } + const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); if (length(infos) && infos[0].declaration && infos[0].declaration?.symbol.flags & SymbolFlags.Signature && infos[0].declaration?.jsDoc) { const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); copy.declarations = mapDefined(infos, i => i.declaration); - copy.parent = expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); + copy.parent = expressionType.aliasSymbol ? expressionType.aliasSymbol : expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); + links.resolvedSymbol = copy; return copy; } } diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index b46a42d85f3e4..c5e2418028419 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -653,18 +653,18 @@ namespace ts.SymbolDisplay { symbolToDisplay = alias; } const fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, - SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); - if(symbolToDisplay.flags & SymbolFlags.Signature){ - if(indexInfos){ + SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); + if (symbolToDisplay.flags & SymbolFlags.Signature) { + if (indexInfos) { let index = 1; fullSymbolDisplayParts[index++] = punctuationPart(SyntaxKind.OpenBracketToken); - if(length(indexInfos)){ + if (length(indexInfos)) { //Needed to handle more than one type of index - for(let info=0; info + +//// interface StringExample { +//// /** Something generic */ +//// [p: string]: any; +//// /** Something specific */ +//// property: number; +//// } +//// function stringExample(e: StringExample) { +//// console.log(e./*property*/property); +//// console.log(e./*string*/anything); +//// } + +verify.quickInfoAt("property", "(property) StringExample.property: number", 'Something specific'); +verify.quickInfoAt("string", "(index) StringExample[string]: any", "Something generic"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription10.ts b/tests/cases/fourslash/jsDocPropertyDescription10.ts new file mode 100644 index 0000000000000..d8e63f754f439 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription10.ts @@ -0,0 +1,11 @@ +/// + +//// class MultipleClass { +//// /** Something generic */ +//// [key: number | symbol | `data-${string}` | `data-${number}`]: string; +//// } +//// function multipleClass(e: typeof MultipleClass) { +//// console.log(e./*multipleClass*/anything); +//// } + +verify.quickInfoAt("multipleClass", "any"); diff --git a/tests/cases/fourslash/jsDocPropertyDescription11.ts b/tests/cases/fourslash/jsDocPropertyDescription11.ts new file mode 100644 index 0000000000000..1a8c7c89bd564 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription11.ts @@ -0,0 +1,12 @@ +/// + +//// type AliasExample = { +//// /** Something generic */ +//// [p: string]: string; +//// [key: `any${string}`]: string; //TODOFIX add JSDoc here +//// } +//// function aliasExample(e: AliasExample) { +//// console.log(e./*alias*/anything); +//// } + +verify.quickInfoAt("alias", "(index) AliasExample[string | `any${string}`]: string", "Something generic"); diff --git a/tests/cases/fourslash/jsDocPropertyDescription12.ts b/tests/cases/fourslash/jsDocPropertyDescription12.ts new file mode 100644 index 0000000000000..48d4b89cc803f --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription12.ts @@ -0,0 +1,11 @@ +/// + +//// type SymbolAlias = { +//// /** Something generic */ +//// [p: symbol]: string; +//// } +//// function symbolAlias(e: SymbolAlias) { +//// console.log(e./*symbolAlias*/anything); +//// } + +verify.quickInfoAt("symbolAlias", "any"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription2.ts b/tests/cases/fourslash/jsDocPropertyDescription2.ts new file mode 100644 index 0000000000000..bcf8703351cba --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription2.ts @@ -0,0 +1,11 @@ +/// + +//// interface SymbolExample { +//// /** Something generic */ +//// [key: symbol]: string; +//// } +//// function symbolExample(e: SymbolExample) { +//// console.log(e./*symbol*/anything); +//// } + +verify.quickInfoAt("symbol", "any") diff --git a/tests/cases/fourslash/jsDocPropertyDescription3.ts b/tests/cases/fourslash/jsDocPropertyDescription3.ts new file mode 100644 index 0000000000000..bd92fa324acd2 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription3.ts @@ -0,0 +1,13 @@ +/// + +//// interface LiteralExample { +//// /** Something generic */ +//// [key: `data-${string}`]: string; +//// /** Something else */ +//// [key: `prefix${number}`]: number; +//// } +//// function literalExample(e: LiteralExample) { +//// console.log(e./*literal*/anything); +//// } + +verify.quickInfoAt("literal", "any"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription4.ts b/tests/cases/fourslash/jsDocPropertyDescription4.ts new file mode 100644 index 0000000000000..f3d973d9c6b91 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription4.ts @@ -0,0 +1,11 @@ +/// + +//// interface MultipleExample { +//// /** Something generic */ +//// [key: string | number | symbol]: string; +//// } +//// function multipleExample(e: MultipleExample) { +//// console.log(e./*multiple*/anything); +//// } + +verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string", "Something generic"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription5.ts b/tests/cases/fourslash/jsDocPropertyDescription5.ts new file mode 100644 index 0000000000000..1e58e1a4ebf3c --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription5.ts @@ -0,0 +1,11 @@ +/// + +//// interface Multiple1Example { +//// /** Something generic */ +//// [key: number | symbol | `data-${string}` | `data-${number}`]: string; +//// } +//// function multiple1Example(e: Multiple1Example) { +//// console.log(e./*multiple1*/anything); +//// } + +verify.quickInfoAt("multiple1", "any"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription6.ts b/tests/cases/fourslash/jsDocPropertyDescription6.ts new file mode 100644 index 0000000000000..97a08d0945af4 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription6.ts @@ -0,0 +1,17 @@ +/// + +//// interface Literal1Example { +//// /** Something generic */ +//// [key: `prefix${string}`]: number | string; +//// /** Something else */ +//// [key: `prefix${number}`]: number; +//// } +//// function literal1Example(e: Literal1Example) { +//// console.log(e./*literal1*/prefixMember); +//// console.log(e./*literal2*/anything); +//// console.log(e./*literal3*/prefix0); +//// } + +verify.quickInfoAt("literal1", "(index) Literal1Example[`prefix${string}`]: string | number", "Something generic"); +verify.quickInfoAt("literal2", "any"); +verify.quickInfoAt("literal3", "(index) Literal1Example[`prefix${string}` | `prefix${number}`]: string | number", "Something generic\nSomething else"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription7.ts b/tests/cases/fourslash/jsDocPropertyDescription7.ts new file mode 100644 index 0000000000000..aa11c0a8c5417 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription7.ts @@ -0,0 +1,11 @@ +/// + +//// class StringClass { +//// /** Something generic */ +//// static [p: string]: any; +//// } +//// function stringClass(e: typeof StringClass) { +//// console.log(e./*stringClass*/anything); +//// } + +verify.quickInfoAt("stringClass", "(index) StringClass[string]: any", "Something generic"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription8.ts b/tests/cases/fourslash/jsDocPropertyDescription8.ts new file mode 100644 index 0000000000000..553f81c42f368 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription8.ts @@ -0,0 +1,11 @@ +/// + +//// class SymbolClass { +//// /** Something generic */ +//// static [p: symbol]: any; +//// } +//// function symbolClass(e: typeof SymbolClass) { +//// console.log(e./*symbolClass*/anything); +//// } + +verify.quickInfoAt("symbolClass", "any"); \ No newline at end of file diff --git a/tests/cases/fourslash/jsDocPropertyDescription9.ts b/tests/cases/fourslash/jsDocPropertyDescription9.ts new file mode 100644 index 0000000000000..fe94af996d1b0 --- /dev/null +++ b/tests/cases/fourslash/jsDocPropertyDescription9.ts @@ -0,0 +1,17 @@ +/// + +//// class LiteralClass { +//// /** Something generic */ +//// static [key: `prefix${string}`]: any; +//// /** Something else */ +//// static [key: `prefix${number}`]: number; +//// } +//// function literalClass(e: typeof LiteralClass) { +//// console.log(e./*literal1Class*/prefixMember); +//// console.log(e./*literal2Class*/anything); +//// console.log(e./*literal3Class*/prefix0); +//// } + +verify.quickInfoAt("literal1Class", "(index) LiteralClass[`prefix${string}`]: any", "Something generic"); +verify.quickInfoAt("literal2Class", "any"); +verify.quickInfoAt("literal3Class", "(index) LiteralClass[`prefix${string}` | `prefix${number}`]: any", "Something generic\nSomething else") \ No newline at end of file diff --git a/tests/cases/fourslash/jsdocPropertyDescription.ts b/tests/cases/fourslash/jsdocPropertyDescription.ts deleted file mode 100644 index f1d6c6d73ba30..0000000000000 --- a/tests/cases/fourslash/jsdocPropertyDescription.ts +++ /dev/null @@ -1,56 +0,0 @@ -/// - -//// export interface StringExample { -//// /** Something generic */ -//// [p: string]: any; -//// /** Something specific */ -//// property: number; -//// } - -//// function stringExample(e: StringExample) { -//// console.log(e./*property*/property); // works, shows type and description on hover -//// console.log(e./*string*/anything); // shows type of property but not description on hover -//// } - -////export interface SymbolExample { -//// /** Something generic */ -//// [key: symbol]: string; -////} - -//// function symbolExample(e: SymbolExample) { -//// console.log(e./*symbol*/anything); -//// } - -////export interface LiteralExample { -//// /** Something generic */ -//// [key: `data-${string}`]: string; -////} - -//// function literalExample(e: LiteralExample) { -//// console.log(e./*literal*/anything); -//// } - -////export interface MultipleExample { -//// /** Something generic */ -//// [key: string | number | symbol]: string; -////} - -//// function multipleExample(e: MultipleExample) { -//// console.log(e./*multiple*/anything); -//// } - -////export interface Multiple1Example { -//// /** Something generic */ -//// [key: number | symbol | `data-${string}` | `data-${number}`]: string; -////} - -//// function multiple1Example(e: Multiple1Example) { -//// console.log(e./*multiple1*/anything); -//// } - -verify.quickInfoAt("property", "(property) StringExample.property: number",'Something specific') -verify.quickInfoAt("string", "(index) StringExample[string]: any","Something generic") -verify.quickInfoAt("literal", "(index) LiteralExample[`data-${string}`]: string","Something generic") -verify.quickInfoAt("symbol", "(index) SymbolExample[symbol]: string","Something generic") -verify.quickInfoAt("multiple", "(index) MultipleExample[string | number | symbol]: string","Something generic") -verify.quickInfoAt("multiple1", "(index) Multiple1Example[number | symbol | `data-${string}` | `data-${number}`]: string","Something generic") \ No newline at end of file From bef80c2304e7cff51e4852c9fab80bab5ff6dafc Mon Sep 17 00:00:00 2001 From: Danay <60160912+danay1999@users.noreply.github.com> Date: Fri, 19 Aug 2022 12:48:10 -0700 Subject: [PATCH 11/13] Update src/services/symbolDisplay.ts Co-authored-by: Andrew Branch --- src/services/symbolDisplay.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index c5e2418028419..2b3a4ba64ac4e 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -689,8 +689,7 @@ namespace ts.SymbolDisplay { pushSymbolKind(symbolKind); if (symbol && !some(symbol.declarations, d => isArrowFunction(d) || (isFunctionExpression(d) || isClassExpression(d)) && !d.name)) { displayParts.push(spacePart()); - const enclosingDeclaration = undefined; - addFullSymbolName(symbol, enclosingDeclaration, indexInfos); + addFullSymbolName(symbol, /*enclosingDeclaration*/ undefined, indexInfos); } } } From 38e27cc353dc238f4d67f194f7cc004d39dccd89 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Mon, 22 Aug 2022 23:34:04 -0700 Subject: [PATCH 12/13] addressed PR review --- src/compiler/checker.ts | 30 +++- src/compiler/types.ts | 1 + src/services/symbolDisplay.ts | 155 +++++++++--------- .../controlFlowElementAccess2.symbols | 6 + .../reference/controlFlowStringIndex.symbols | 6 + ...essionMustBeOptional(strict=false).symbols | 4 + ...ressionMustBeOptional(strict=true).symbols | 4 + ...(exactoptionalpropertytypes=false).symbols | 4 + ...s(exactoptionalpropertytypes=true).symbols | 4 + ...iteralExpressionInArrowFunctionES5.symbols | 2 + ...iteralExpressionInArrowFunctionES6.symbols | 2 + .../reference/indexSignatures1.symbols | 2 + .../reference/keyofAndIndexedAccess2.symbols | 4 + ...oPropertyAccessFromIndexSignature1.symbols | 6 + .../noUncheckedIndexedAccess.symbols | 6 + ...ertyAccessOfReadonlyIndexSignature.symbols | 2 + ...propertyAccessStringIndexSignature.symbols | 6 + ...sStringIndexSignatureNoImplicitAny.symbols | 6 + .../reference/staticIndexSignature1.symbols | 2 + .../reference/staticIndexSignature2.symbols | 2 + .../reference/staticIndexSignature4.symbols | 24 +++ .../reference/staticIndexSignature6.symbols | 4 + .../reference/thisTypeInFunctions2.symbols | 4 + ...typeGuardOfFromPropNameInUnionType.symbols | 6 + .../fourslash/jsDocPropertyDescription10.ts | 2 + .../fourslash/jsDocPropertyDescription11.ts | 5 +- .../fourslash/jsDocPropertyDescription6.ts | 7 +- 27 files changed, 213 insertions(+), 93 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index cada6b88b1845..f302ef85c89e7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -42558,12 +42558,30 @@ namespace ts { if (!links.resolvedSymbol) { const expressionType = checkExpressionCached(name.expression); const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); - if (length(infos) && infos[0].declaration && infos[0].declaration?.symbol.flags & SymbolFlags.Signature && infos[0].declaration?.jsDoc) { - const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); - copy.declarations = mapDefined(infos, i => i.declaration); - copy.parent = expressionType.aliasSymbol ? expressionType.aliasSymbol : expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); - links.resolvedSymbol = copy; - return copy; + if (infos.length && (expressionType as any).members && (expressionType as any).members.get(InternalSymbolName.Index)) { + const resolved = resolveStructuredTypeMembers(expressionType as ObjectType); + const symbol = resolved.members.get(InternalSymbolName.Index); + if (infos === getIndexInfosOfType(expressionType)) { + links.resolvedSymbol = symbol; + } + else if (symbol) { + const symbolLinks = getSymbolLinks(symbol); + const declarationList = mapDefined(infos, i => i.declaration); + const nodeListId = map(declarationList, getNodeId).join(","); + if (!symbolLinks.filteredIndexSymbolCache) { + symbolLinks.filteredIndexSymbolCache = new Map(); + } + if (symbolLinks.filteredIndexSymbolCache.has(nodeListId)) { + links.resolvedSymbol = symbolLinks.filteredIndexSymbolCache.get(nodeListId)!; + } + else { + const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index); + copy.declarations = mapDefined(infos, i => i.declaration); + copy.parent = expressionType.aliasSymbol ? expressionType.aliasSymbol : expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); + symbolLinks.filteredIndexSymbolCache.set(nodeListId, copy); + links.resolvedSymbol = symbolLinks.filteredIndexSymbolCache.get(nodeListId)!; + } + } } } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index d319ff8b0aae6..7466604ca75b0 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5318,6 +5318,7 @@ namespace ts { isConstructorDeclaredProperty?: boolean; // Property declared through 'this.x = ...' assignment in constructor tupleLabelDeclaration?: NamedTupleMember | ParameterDeclaration; // Declaration associated with the tuple's label accessibleChainCache?: ESMap; + filteredIndexSymbolCache?: ESMap //Symbol with applicable declarations } /* @internal */ diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index c5e2418028419..44113d901572e 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -499,67 +499,58 @@ namespace ts.SymbolDisplay { } if (!hasAddedSymbolInfo) { if (symbolKind !== ScriptElementKind.unknown) { - let indexInfos; - if(symbolKind === ScriptElementKind.indexSignatureElement) indexInfos = typeChecker.getIndexInfosOfIndexSymbol(symbol); - if (type) { - if (isThisExpression) { - prefixNextMeaning(); - displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); + if (type) { + if (isThisExpression) { + prefixNextMeaning(); + displayParts.push(keywordPart(SyntaxKind.ThisKeyword)); + } + else { + addPrefixForAnyFunctionOrVar(symbol, symbolKind); + } + // For properties, variables and local vars: show the type + if (symbolKind === ScriptElementKind.memberVariableElement || + symbolKind === ScriptElementKind.memberGetAccessorElement || + symbolKind === ScriptElementKind.memberSetAccessorElement || + symbolKind === ScriptElementKind.jsxAttribute || + symbolFlags & SymbolFlags.Variable || + symbolKind === ScriptElementKind.localVariableElement || + symbolKind === ScriptElementKind.indexSignatureElement || + isThisExpression) { + displayParts.push(punctuationPart(SyntaxKind.ColonToken)); + displayParts.push(spacePart()); + // If the type is type parameter, format it specially + if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter && symbolKind !== ScriptElementKind.indexSignatureElement) { + const typeParameterParts = mapToDisplayParts(writer => { + const param = typeChecker.typeParameterToDeclaration(type as TypeParameter, enclosingDeclaration, symbolDisplayNodeBuilderFlags)!; + getPrinter().writeNode(EmitHint.Unspecified, param, getSourceFileOfNode(getParseTreeNode(enclosingDeclaration)), writer); + }); + addRange(displayParts, typeParameterParts); } else { - addPrefixForAnyFunctionOrVar(symbol, symbolKind, indexInfos); + addRange(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration)); } - // For properties, variables and local vars: show the type - if (symbolKind === ScriptElementKind.memberVariableElement || - symbolKind === ScriptElementKind.memberGetAccessorElement || - symbolKind === ScriptElementKind.memberSetAccessorElement || - symbolKind === ScriptElementKind.jsxAttribute || - symbolFlags & SymbolFlags.Variable || - symbolKind === ScriptElementKind.localVariableElement || - symbolKind === ScriptElementKind.indexSignatureElement || - isThisExpression) { - displayParts.push(punctuationPart(SyntaxKind.ColonToken)); + if ((symbol as TransientSymbol).target && ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration) { + const labelDecl = ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration!; + Debug.assertNode(labelDecl.name, isIdentifier); displayParts.push(spacePart()); - // If the type is type parameter, format it specially - if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter && symbolKind !== ScriptElementKind.indexSignatureElement) { - const typeParameterParts = mapToDisplayParts(writer => { - const param = typeChecker.typeParameterToDeclaration(type as TypeParameter, enclosingDeclaration, symbolDisplayNodeBuilderFlags)!; - getPrinter().writeNode(EmitHint.Unspecified, param, getSourceFileOfNode(getParseTreeNode(enclosingDeclaration)), writer); - }); - addRange(displayParts, typeParameterParts); - } - //If the type is index signature, format it specially as well - else if(symbolKind === ScriptElementKind.indexSignatureElement){ - if(indexInfos){ - const indexTypeParts = typeToDisplayParts(typeChecker, indexInfos[0].type); - addRange(displayParts, indexTypeParts); - } - } - else { - addRange(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration)); - } - if ((symbol as TransientSymbol).target && ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration) { - const labelDecl = ((symbol as TransientSymbol).target as TransientSymbol).tupleLabelDeclaration!; - Debug.assertNode(labelDecl.name, isIdentifier); - displayParts.push(spacePart()); - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textPart(idText(labelDecl.name))); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); - } + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(textPart(idText(labelDecl.name))); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); } - else if (symbolFlags & SymbolFlags.Function || - symbolFlags & SymbolFlags.Method || - symbolFlags & SymbolFlags.Constructor || - symbolFlags & SymbolFlags.Signature || - symbolFlags & SymbolFlags.Accessor || - symbolKind === ScriptElementKind.memberFunctionElement) { - const allSignatures = type.getNonNullableType().getCallSignatures(); - if (allSignatures.length) { - addSignatureDisplayParts(allSignatures[0], allSignatures); - hasMultipleSignatures = allSignatures.length > 1; - } + } + else if (symbolFlags & SymbolFlags.Function || + symbolFlags & SymbolFlags.Method || + symbolFlags & SymbolFlags.Constructor || + symbolFlags & SymbolFlags.Signature || + symbolFlags & SymbolFlags.Accessor || + symbolKind === ScriptElementKind.memberFunctionElement) { + const allSignatures = type.getNonNullableType().getCallSignatures(); + if (allSignatures.length) { + addSignatureDisplayParts(allSignatures[0], allSignatures); + hasMultipleSignatures = allSignatures.length > 1; } } + } } else { symbolKind = getSymbolKind(typeChecker, symbol, location); @@ -648,34 +639,37 @@ namespace ts.SymbolDisplay { displayParts.push(spacePart()); } - function addFullSymbolName(symbolToDisplay: Symbol, enclosingDeclaration?: Node, indexInfos?: IndexInfo[]) { + function addFullSymbolName(symbolToDisplay: Symbol, enclosingDeclaration?: Node) { + let indexInfos; + if (alias && symbolToDisplay === symbol) { symbolToDisplay = alias; } - const fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, - SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); - if (symbolToDisplay.flags & SymbolFlags.Signature) { - if (indexInfos) { - let index = 1; - fullSymbolDisplayParts[index++] = punctuationPart(SyntaxKind.OpenBracketToken); - if (length(indexInfos)) { - //Needed to handle more than one type of index - for (let info = 0; info < indexInfos.length; info++) { - const indexTypeDisplayParts = typeToDisplayParts(typeChecker, indexInfos[info].keyType); - //Needed to handle template literals - for (const part of indexTypeDisplayParts) fullSymbolDisplayParts[index++] = part; - if (info !== indexInfos.length - 1) { - fullSymbolDisplayParts[index++] = spacePart(); - fullSymbolDisplayParts[index++] = punctuationPart(SyntaxKind.BarToken); - fullSymbolDisplayParts[index++] = spacePart(); - } - } - fullSymbolDisplayParts[index] = punctuationPart(SyntaxKind.CloseBracketToken); - } - } - else { - fullSymbolDisplayParts[2] = textOrKeywordPart("Any"); //This is the fallback in case else fails + if (symbolKind === ScriptElementKind.indexSignatureElement) { + indexInfos = typeChecker.getIndexInfosOfIndexSymbol(symbolToDisplay); + } + + let fullSymbolDisplayParts: SymbolDisplayPart[] = []; + if (symbolToDisplay.flags & SymbolFlags.Signature && indexInfos) { + if (symbolToDisplay.parent) { + fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay.parent); } + fullSymbolDisplayParts.push(punctuationPart(SyntaxKind.OpenBracketToken)); + //Needed to handle more than one type of index + indexInfos.forEach((info, i) => { + //Needed to handle template literals + fullSymbolDisplayParts.push(...typeToDisplayParts(typeChecker, info.keyType)); + if (i !== indexInfos.length - 1) { + fullSymbolDisplayParts.push(spacePart()); + fullSymbolDisplayParts.push(punctuationPart(SyntaxKind.BarToken)); + fullSymbolDisplayParts.push(spacePart()); + } + }); + fullSymbolDisplayParts.push(punctuationPart(SyntaxKind.CloseBracketToken)); + } + else { + fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, + SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing | SymbolFormatFlags.AllowAnyNodeKind); } addRange(displayParts, fullSymbolDisplayParts); if (symbol.flags & SymbolFlags.Optional) { @@ -683,14 +677,13 @@ namespace ts.SymbolDisplay { } } - function addPrefixForAnyFunctionOrVar(symbol: Symbol, symbolKind: string, indexInfos?: IndexInfo[]) { + function addPrefixForAnyFunctionOrVar(symbol: Symbol, symbolKind: string) { prefixNextMeaning(); if (symbolKind) { pushSymbolKind(symbolKind); if (symbol && !some(symbol.declarations, d => isArrowFunction(d) || (isFunctionExpression(d) || isClassExpression(d)) && !d.name)) { displayParts.push(spacePart()); - const enclosingDeclaration = undefined; - addFullSymbolName(symbol, enclosingDeclaration, indexInfos); + addFullSymbolName(symbol); } } } diff --git a/tests/baselines/reference/controlFlowElementAccess2.symbols b/tests/baselines/reference/controlFlowElementAccess2.symbols index 5cdd890a75973..6768df75f0f3c 100644 --- a/tests/baselines/reference/controlFlowElementAccess2.symbols +++ b/tests/baselines/reference/controlFlowElementAccess2.symbols @@ -13,7 +13,9 @@ if (typeof config['works'] !== 'boolean') { config.works.prop = 'test'; // ok >config.works.prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) +>config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) +>works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string } @@ -22,7 +24,9 @@ if (typeof config['works'] !== 'boolean') { >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) } if (typeof config.works !== 'boolean') { +>config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) +>works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) config['works'].prop = 'test'; // error, config['works']: boolean | { 'prop': string } >config['works'].prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) @@ -31,7 +35,9 @@ if (typeof config.works !== 'boolean') { config.works.prop = 'test'; // ok >config.works.prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) +>config.works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >config : Symbol(config, Decl(controlFlowElementAccess2.ts, 0, 13)) +>works : Symbol(__index, Decl(controlFlowElementAccess2.ts, 0, 23)) >prop : Symbol(prop, Decl(controlFlowElementAccess2.ts, 1, 30)) } diff --git a/tests/baselines/reference/controlFlowStringIndex.symbols b/tests/baselines/reference/controlFlowStringIndex.symbols index 85eacfd0ede7b..caeadd01d0e3e 100644 --- a/tests/baselines/reference/controlFlowStringIndex.symbols +++ b/tests/baselines/reference/controlFlowStringIndex.symbols @@ -14,11 +14,15 @@ declare const value: A; >A : Symbol(A, Decl(controlFlowStringIndex.ts, 0, 0)) if (value.foo !== null) { +>value.foo : Symbol(A.__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) +>foo : Symbol(A.__index, Decl(controlFlowStringIndex.ts, 1, 25)) value.foo.toExponential() >value.foo.toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) +>value.foo : Symbol(A.__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) +>foo : Symbol(A.__index, Decl(controlFlowStringIndex.ts, 1, 25)) >toExponential : Symbol(Number.toExponential, Decl(lib.es5.d.ts, --, --)) value.other // should still be number | null @@ -27,6 +31,8 @@ if (value.foo !== null) { >other : Symbol(other, Decl(controlFlowStringIndex.ts, 0, 10)) value.bar // should still be number | null +>value.bar : Symbol(A.__index, Decl(controlFlowStringIndex.ts, 1, 25)) >value : Symbol(value, Decl(controlFlowStringIndex.ts, 4, 13)) +>bar : Symbol(A.__index, Decl(controlFlowStringIndex.ts, 1, 25)) } diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).symbols b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).symbols index aad7423a133ad..0fdd656cdbde5 100644 --- a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).symbols +++ b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=false).symbols @@ -105,10 +105,14 @@ delete f.j >f : Symbol(f, Decl(deleteExpressionMustBeOptional.ts, 20, 13)) delete a.a +>a.a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional.ts, 21, 13)) +>a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) delete a.b +>a.b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional.ts, 21, 13)) +>b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) delete b.a >b : Symbol(b, Decl(deleteExpressionMustBeOptional.ts, 22, 13)) diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).symbols b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).symbols index aad7423a133ad..0fdd656cdbde5 100644 --- a/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).symbols +++ b/tests/baselines/reference/deleteExpressionMustBeOptional(strict=true).symbols @@ -105,10 +105,14 @@ delete f.j >f : Symbol(f, Decl(deleteExpressionMustBeOptional.ts, 20, 13)) delete a.a +>a.a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional.ts, 21, 13)) +>a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) delete a.b +>a.b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional.ts, 21, 13)) +>b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional.ts, 12, 14)) delete b.a >b : Symbol(b, Decl(deleteExpressionMustBeOptional.ts, 22, 13)) diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).symbols b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).symbols index 86df5a00f1fa0..175c6caf9e271 100644 --- a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).symbols +++ b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=false).symbols @@ -158,10 +158,14 @@ delete g.j >g : Symbol(g, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 21, 13)) delete a.a +>a.a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 22, 13)) +>a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) delete a.b +>a.b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 22, 13)) +>b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) delete b.a >b : Symbol(b, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 23, 13)) diff --git a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).symbols b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).symbols index 86df5a00f1fa0..175c6caf9e271 100644 --- a/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).symbols +++ b/tests/baselines/reference/deleteExpressionMustBeOptional_exactOptionalPropertyTypes(exactoptionalpropertytypes=true).symbols @@ -158,10 +158,14 @@ delete g.j >g : Symbol(g, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 21, 13)) delete a.a +>a.a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 22, 13)) +>a : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) delete a.b +>a.b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) >a : Symbol(a, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 22, 13)) +>b : Symbol(AA.__index, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 12, 14)) delete b.a >b : Symbol(b, Decl(deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts, 23, 13)) diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols index ae5c2b4d71c78..2dbc0d3122862 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.symbols @@ -8,7 +8,9 @@ (x) => ({ "1": "one", "2": "two" } as { [key: string]: string }).x; >x : Symbol(x, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 1)) +>({ "1": "one", "2": "two" } as { [key: string]: string }).x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 39)) >"1" : Symbol("1", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 9)) >"2" : Symbol("2", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 21)) >key : Symbol(key, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 41)) +>x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.ts, 1, 39)) diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols index 77ed54addd964..e3735b9987e79 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.symbols @@ -8,7 +8,9 @@ (x) => ({ "1": "one", "2": "two" } as { [key: string]: string }).x; >x : Symbol(x, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 1)) +>({ "1": "one", "2": "two" } as { [key: string]: string }).x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 39)) >"1" : Symbol("1", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 9)) >"2" : Symbol("2", Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 21)) >key : Symbol(key, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 41)) +>x : Symbol(__index, Decl(emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.ts, 1, 39)) diff --git a/tests/baselines/reference/indexSignatures1.symbols b/tests/baselines/reference/indexSignatures1.symbols index 40d8740b1b7b2..dab1d380df72b 100644 --- a/tests/baselines/reference/indexSignatures1.symbols +++ b/tests/baselines/reference/indexSignatures1.symbols @@ -133,7 +133,9 @@ const y1 = dom['data123']; const y2 = dom.data123; >y2 : Symbol(y2, Decl(indexSignatures1.ts, 47, 5)) +>dom.data123 : Symbol(__index, Decl(indexSignatures1.ts, 45, 18)) >dom : Symbol(dom, Decl(indexSignatures1.ts, 45, 11)) +>data123 : Symbol(__index, Decl(indexSignatures1.ts, 45, 18)) // Excess property checking for template pattern index signature diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.symbols b/tests/baselines/reference/keyofAndIndexedAccess2.symbols index a17aafe571aa5..b773011935e1a 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess2.symbols @@ -90,7 +90,9 @@ function f2(a: { x: number, y: number }, b: >x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 12, 53)) b.x; +>b.x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) >b : Symbol(b, Decl(keyofAndIndexedAccess2.ts, 12, 77)) +>x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) c.x; >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) @@ -105,7 +107,9 @@ function f2(a: { x: number, y: number }, b: >x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 12, 53)) b.x = 1; +>b.x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) >b : Symbol(b, Decl(keyofAndIndexedAccess2.ts, 12, 77)) +>x : Symbol(__index, Decl(keyofAndIndexedAccess2.ts, 12, 82)) c.x = 1; // Error, cannot write to index signature through constraint >c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 12, 107)) diff --git a/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols b/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols index 993a7082251a1..3a9c347dfd419 100644 --- a/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols +++ b/tests/baselines/reference/noPropertyAccessFromIndexSignature1.symbols @@ -51,7 +51,9 @@ a["foo"] // access index signature b.foo; +>b.foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13)) >b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13)) +>foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13)) b["foo"]; >b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13)) @@ -68,7 +70,9 @@ c["foo"] // access index signature c.bar; +>c.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) >c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13)) +>bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) c["bar"]; >c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13)) @@ -85,7 +89,9 @@ d?.["foo"] // optional access index signature d?.bar; +>d?.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) >d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13)) +>bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15)) d?.["bar"]; >d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13)) diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.symbols b/tests/baselines/reference/noUncheckedIndexedAccess.symbols index 1b0eb6f4d5b63..e04c216d7fa1e 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.symbols +++ b/tests/baselines/reference/noUncheckedIndexedAccess.symbols @@ -36,7 +36,9 @@ const e1: boolean = strMap["foo"]; const e2: boolean = strMap.bar; >e2 : Symbol(e2, Decl(noUncheckedIndexedAccess.ts, 12, 5)) +>strMap.bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) +>bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) const e3: boolean = strMap[0]; >e3 : Symbol(e3, Decl(noUncheckedIndexedAccess.ts, 13, 5)) @@ -114,7 +116,9 @@ const ok1: boolean | undefined = strMap["foo"]; const ok2: boolean | undefined = strMap.bar; >ok2 : Symbol(ok2, Decl(noUncheckedIndexedAccess.ts, 28, 5)) +>strMap.bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) +>bar : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) type T_OK1 = CheckBooleanOnly<(typeof strMap)[string]>; >T_OK1 : Symbol(T_OK1, Decl(noUncheckedIndexedAccess.ts, 28, 44)) @@ -147,7 +151,9 @@ strMap["baz"] = undefined; >undefined : Symbol(undefined) strMap.qua = undefined; +>strMap.qua : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >strMap : Symbol(strMap, Decl(noUncheckedIndexedAccess.ts, 8, 13)) +>qua : Symbol(__index, Decl(noUncheckedIndexedAccess.ts, 8, 23)) >undefined : Symbol(undefined) strMap[0] = undefined; diff --git a/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols b/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols index fdb108c736227..ab8649993c04d 100644 --- a/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessOfReadonlyIndexSignature.symbols @@ -11,5 +11,7 @@ declare var a: Test; >Test : Symbol(Test, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 0)) a.foo = 'baz'; +>a.foo : Symbol(Test.__index, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 16)) >a : Symbol(a, Decl(propertyAccessOfReadonlyIndexSignature.ts, 4, 11)) +>foo : Symbol(Test.__index, Decl(propertyAccessOfReadonlyIndexSignature.ts, 0, 16)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols b/tests/baselines/reference/propertyAccessStringIndexSignature.symbols index 8258ecb65d829..24f93a01ebae4 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignature.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignature.symbols @@ -8,13 +8,19 @@ let flags: Flags; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignature.ts, 0, 0)) flags.b; +>flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.f; +>flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; +>flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) +>isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignature.ts, 0, 17)) flags['this is fine']; >flags : Symbol(flags, Decl(propertyAccessStringIndexSignature.ts, 1, 3)) diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols index 338f0650cce4c..98f95b4c1ea14 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols +++ b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.symbols @@ -8,13 +8,19 @@ let flags: Flags; >Flags : Symbol(Flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 0)) flags.b; +>flags.b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) +>b : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags.f; +>flags.f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) +>f : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags.isNotNecessarilyNeverFalse; +>flags.isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) +>isNotNecessarilyNeverFalse : Symbol(Flags.__index, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 0, 17)) flags['this is fine']; >flags : Symbol(flags, Decl(propertyAccessStringIndexSignatureNoImplicitAny.ts, 1, 3)) diff --git a/tests/baselines/reference/staticIndexSignature1.symbols b/tests/baselines/reference/staticIndexSignature1.symbols index b672f4e22a7e2..a12c00ccb056a 100644 --- a/tests/baselines/reference/staticIndexSignature1.symbols +++ b/tests/baselines/reference/staticIndexSignature1.symbols @@ -13,7 +13,9 @@ C["foo"] = 1 >C : Symbol(C, Decl(staticIndexSignature1.ts, 0, 0)) C.bar = 2; +>C.bar : Symbol(C.__index, Decl(staticIndexSignature1.ts, 0, 9)) >C : Symbol(C, Decl(staticIndexSignature1.ts, 0, 0)) +>bar : Symbol(C.__index, Decl(staticIndexSignature1.ts, 0, 9)) const foo = C["foo"] >foo : Symbol(foo, Decl(staticIndexSignature1.ts, 7, 5)) diff --git a/tests/baselines/reference/staticIndexSignature2.symbols b/tests/baselines/reference/staticIndexSignature2.symbols index abbf36f9733b4..8adb9e8785024 100644 --- a/tests/baselines/reference/staticIndexSignature2.symbols +++ b/tests/baselines/reference/staticIndexSignature2.symbols @@ -13,7 +13,9 @@ C["foo"] = 1 >C : Symbol(C, Decl(staticIndexSignature2.ts, 0, 0)) C.bar = 2; +>C.bar : Symbol(C.__index, Decl(staticIndexSignature2.ts, 0, 9)) >C : Symbol(C, Decl(staticIndexSignature2.ts, 0, 0)) +>bar : Symbol(C.__index, Decl(staticIndexSignature2.ts, 0, 9)) const foo = C["foo"] >foo : Symbol(foo, Decl(staticIndexSignature2.ts, 7, 5)) diff --git a/tests/baselines/reference/staticIndexSignature4.symbols b/tests/baselines/reference/staticIndexSignature4.symbols index 198b01bc80288..3257d2e3c2fe0 100644 --- a/tests/baselines/reference/staticIndexSignature4.symbols +++ b/tests/baselines/reference/staticIndexSignature4.symbols @@ -40,8 +40,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) B.a = D.a +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) B[2] = D[2] >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) @@ -51,8 +55,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) D.a = B.a +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) D[2] = B[2] >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) @@ -62,16 +70,24 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) B.a = i.a +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) B[2] = i[2] >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) D.a = i.a +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) D[2] = i [2] >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) @@ -81,8 +97,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) i.a = B.a +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) +>B.a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) >B : Symbol(B, Decl(staticIndexSignature4.ts, 0, 0)) +>a : Symbol(B.__index, Decl(staticIndexSignature4.ts, 0, 9)) i[2] = B[2] >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) @@ -92,8 +112,12 @@ if (v === 0) { >v : Symbol(v, Decl(staticIndexSignature4.ts, 15, 13)) i.a = D.a +>i.a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) +>a : Symbol(IB.__index, Decl(staticIndexSignature4.ts, 10, 14)) +>D.a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) >D : Symbol(D, Decl(staticIndexSignature4.ts, 3, 1)) +>a : Symbol(D.__index, Decl(staticIndexSignature4.ts, 5, 9)) i[2] = B[2] >i : Symbol(i, Decl(staticIndexSignature4.ts, 16, 13)) diff --git a/tests/baselines/reference/staticIndexSignature6.symbols b/tests/baselines/reference/staticIndexSignature6.symbols index f5905cad067db..7204af7e18d04 100644 --- a/tests/baselines/reference/staticIndexSignature6.symbols +++ b/tests/baselines/reference/staticIndexSignature6.symbols @@ -24,10 +24,14 @@ const C = foo() >foo : Symbol(foo, Decl(staticIndexSignature6.ts, 0, 0)) C.a; +>C.a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21)) >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) +>a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21)) C.a = 1; +>C.a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21)) >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) +>a : Symbol((Anonymous class).__index, Decl(staticIndexSignature6.ts, 1, 21)) C[2]; >C : Symbol(C, Decl(staticIndexSignature6.ts, 9, 5)) diff --git a/tests/baselines/reference/thisTypeInFunctions2.symbols b/tests/baselines/reference/thisTypeInFunctions2.symbols index 82ddc46903ccc..45c72c808159c 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.symbols +++ b/tests/baselines/reference/thisTypeInFunctions2.symbols @@ -93,7 +93,9 @@ extend2({ >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) this.mine +>this.mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) +>mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) }, mine: 13, @@ -106,7 +108,9 @@ extend2({ >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) this.mine +>this.mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) >this : Symbol(IndexedWithoutThis, Decl(thisTypeInFunctions2.ts, 5, 1)) +>mine : Symbol(IndexedWithoutThis.__index, Decl(thisTypeInFunctions2.ts, 9, 29)) } }); diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols index 06912f9d59b7a..845fdcf69d697 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.symbols @@ -306,16 +306,22 @@ function f(i: Indexed) { >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) return i.a; +>i.a : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>a : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } else if ("b" in i) { >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) return i.b; +>i.b : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>b : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } return "c" in i && i.c; >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>i.c : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) >i : Symbol(i, Decl(typeGuardOfFromPropNameInUnionType.ts, 96, 11)) +>c : Symbol(Indexed.__index, Decl(typeGuardOfFromPropNameInUnionType.ts, 92, 19)) } diff --git a/tests/cases/fourslash/jsDocPropertyDescription10.ts b/tests/cases/fourslash/jsDocPropertyDescription10.ts index d8e63f754f439..e60727f7669b4 100644 --- a/tests/cases/fourslash/jsDocPropertyDescription10.ts +++ b/tests/cases/fourslash/jsDocPropertyDescription10.ts @@ -3,9 +3,11 @@ //// class MultipleClass { //// /** Something generic */ //// [key: number | symbol | `data-${string}` | `data-${number}`]: string; +//// [key: string]: string; //// } //// function multipleClass(e: typeof MultipleClass) { //// console.log(e./*multipleClass*/anything); +//// console.log(e./*multipleClass1*/something); //// } verify.quickInfoAt("multipleClass", "any"); diff --git a/tests/cases/fourslash/jsDocPropertyDescription11.ts b/tests/cases/fourslash/jsDocPropertyDescription11.ts index 1a8c7c89bd564..4c0b1269ced88 100644 --- a/tests/cases/fourslash/jsDocPropertyDescription11.ts +++ b/tests/cases/fourslash/jsDocPropertyDescription11.ts @@ -3,10 +3,11 @@ //// type AliasExample = { //// /** Something generic */ //// [p: string]: string; -//// [key: `any${string}`]: string; //TODOFIX add JSDoc here +//// /** Something else */ +//// [key: `any${string}`]: string; //// } //// function aliasExample(e: AliasExample) { //// console.log(e./*alias*/anything); //// } -verify.quickInfoAt("alias", "(index) AliasExample[string | `any${string}`]: string", "Something generic"); +verify.quickInfoAt("alias", "(index) AliasExample[string | `any${string}`]: string", "Something generic\nSomething else"); diff --git a/tests/cases/fourslash/jsDocPropertyDescription6.ts b/tests/cases/fourslash/jsDocPropertyDescription6.ts index 97a08d0945af4..8fda4a9f927d9 100644 --- a/tests/cases/fourslash/jsDocPropertyDescription6.ts +++ b/tests/cases/fourslash/jsDocPropertyDescription6.ts @@ -1,7 +1,6 @@ -/// +// / //// interface Literal1Example { -//// /** Something generic */ //// [key: `prefix${string}`]: number | string; //// /** Something else */ //// [key: `prefix${number}`]: number; @@ -12,6 +11,6 @@ //// console.log(e./*literal3*/prefix0); //// } -verify.quickInfoAt("literal1", "(index) Literal1Example[`prefix${string}`]: string | number", "Something generic"); +verify.quickInfoAt("literal1", "(index) Literal1Example[`prefix${string}`]: string | number"); verify.quickInfoAt("literal2", "any"); -verify.quickInfoAt("literal3", "(index) Literal1Example[`prefix${string}` | `prefix${number}`]: string | number", "Something generic\nSomething else"); \ No newline at end of file +verify.quickInfoAt("literal3", "(index) Literal1Example[`prefix${string}` | `prefix${number}`]: number", "Something else"); \ No newline at end of file From 64408984761d0cf22dad0ec63a6d3f8822d13ab5 Mon Sep 17 00:00:00 2001 From: Danay Fernandez Date: Wed, 24 Aug 2022 13:30:43 -0700 Subject: [PATCH 13/13] addressed new PR review --- src/compiler/checker.ts | 2 +- tests/cases/fourslash/jsDocPropertyDescription10.ts | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f302ef85c89e7..8567872ddc02b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -42558,7 +42558,7 @@ namespace ts { if (!links.resolvedSymbol) { const expressionType = checkExpressionCached(name.expression); const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); - if (infos.length && (expressionType as any).members && (expressionType as any).members.get(InternalSymbolName.Index)) { + if (infos.length && (expressionType as ObjectType).members) { const resolved = resolveStructuredTypeMembers(expressionType as ObjectType); const symbol = resolved.members.get(InternalSymbolName.Index); if (infos === getIndexInfosOfType(expressionType)) { diff --git a/tests/cases/fourslash/jsDocPropertyDescription10.ts b/tests/cases/fourslash/jsDocPropertyDescription10.ts index e60727f7669b4..d8e63f754f439 100644 --- a/tests/cases/fourslash/jsDocPropertyDescription10.ts +++ b/tests/cases/fourslash/jsDocPropertyDescription10.ts @@ -3,11 +3,9 @@ //// class MultipleClass { //// /** Something generic */ //// [key: number | symbol | `data-${string}` | `data-${number}`]: string; -//// [key: string]: string; //// } //// function multipleClass(e: typeof MultipleClass) { //// console.log(e./*multipleClass*/anything); -//// console.log(e./*multipleClass1*/something); //// } verify.quickInfoAt("multipleClass", "any");