diff --git a/Herebyfile.mjs b/Herebyfile.mjs index 031ffd5df3d..a06ea216ee7 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -17,6 +17,10 @@ import pc from "picocolors"; import tmp from "tmp"; import which from "which"; +if (process.platform === "win32") { + process.chdir(fs.realpathSync.native(process.cwd())); +} + const __filename = url.fileURLToPath(new URL(import.meta.url)); const __dirname = path.dirname(__filename); diff --git a/_packages/api/src/node/encoder.generated.ts b/_packages/api/src/node/encoder.generated.ts index d8086d13689..f3ee5ba6e00 100644 --- a/_packages/api/src/node/encoder.generated.ts +++ b/_packages/api/src/node/encoder.generated.ts @@ -63,7 +63,6 @@ export function getNodeCommonData(node: Node): number { case SyntaxKind.HeritageClause: return ((node as HeritageClause).token === SyntaxKind.ImplementsKeyword ? 1 : 0) << 24; case SyntaxKind.ExportAssignment: - case SyntaxKind.JSExportAssignment: return ((node as ExportAssignment).isExportEquals ? 1 : 0) << 24; case SyntaxKind.ExportSpecifier: return ((node as ExportSpecifier).isTypeOnly ? 1 : 0) << 24; diff --git a/_packages/api/src/node/protocol.generated.ts b/_packages/api/src/node/protocol.generated.ts index 1abfddf12a3..5c01515c20b 100644 --- a/_packages/api/src/node/protocol.generated.ts +++ b/_packages/api/src/node/protocol.generated.ts @@ -50,8 +50,6 @@ export const childProperties: Readonly = { visitNodes(cbNode, cbNodes, data.modifiers) || visitNode(cbNode, data.type) || visitNode(cbNode, data.expression), - [SyntaxKind.JSExportAssignment]: (data, cbNode, cbNodes) => - visitNodes(cbNode, cbNodes, data.modifiers) || - visitNode(cbNode, data.type) || - visitNode(cbNode, data.expression), - [SyntaxKind.CommonJSExport]: (data, cbNode, cbNodes) => - visitNodes(cbNode, cbNodes, data.modifiers) || - visitNode(cbNode, data.name) || - visitNode(cbNode, data.type) || - visitNode(cbNode, data.initializer), [SyntaxKind.NamespaceExportDeclaration]: (data, cbNode, cbNodes) => visitNodes(cbNode, cbNodes, data.modifiers) || visitNode(cbNode, data.name), @@ -1962,15 +1949,6 @@ export function createExportAssignment(modifiers: readonly ModifierLike[] | unde }) as unknown as ExportAssignment; } -export function createCommonJSExport(modifiers: readonly ModifierLike[] | undefined, name: Identifier, type: TypeNode, initializer: Expression): CommonJSExport { - return new NodeObject(SyntaxKind.CommonJSExport, { - modifiers, - name, - type, - initializer, - }) as unknown as CommonJSExport; -} - export function createNamespaceExportDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier): NamespaceExportDeclaration { return new NodeObject(SyntaxKind.NamespaceExportDeclaration, { modifiers, @@ -3249,10 +3227,6 @@ export function updateExportAssignment(node: ExportAssignment, modifiers: readon return node.modifiers !== modifiers || node.type !== type || node.expression !== expression ? createExportAssignment(modifiers, node.isExportEquals, type, expression) : node; } -export function updateCommonJSExport(node: CommonJSExport, modifiers: readonly ModifierLike[] | undefined, name: Identifier, type: TypeNode, initializer: Expression): CommonJSExport { - return node.modifiers !== modifiers || node.name !== name || node.type !== type || node.initializer !== initializer ? createCommonJSExport(modifiers, name, type, initializer) : node; -} - export function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier): NamespaceExportDeclaration { return node.modifiers !== modifiers || node.name !== name ? createNamespaceExportDeclaration(modifiers, name) : node; } diff --git a/_packages/ast/src/is.generated.ts b/_packages/ast/src/is.generated.ts index b68a2e8cf9d..d29ab4d5a06 100644 --- a/_packages/ast/src/is.generated.ts +++ b/_packages/ast/src/is.generated.ts @@ -51,7 +51,6 @@ import type { ClassLikeDeclaration, ClassStaticBlockDeclaration, ColonToken, - CommonJSExport, CompoundAssignmentOperator, ComputedPropertyName, ConditionalExpression, @@ -519,17 +518,7 @@ export function isNamedImports(node: Node): node is NamedImports { } export function isExportAssignment(node: Node): node is ExportAssignment { - switch (node.kind) { - case SyntaxKind.ExportAssignment: - case SyntaxKind.JSExportAssignment: - return true; - default: - return false; - } -} - -export function isCommonJSExport(node: Node): node is CommonJSExport { - return node.kind === SyntaxKind.CommonJSExport; + return node.kind === SyntaxKind.ExportAssignment; } export function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration { diff --git a/_packages/ast/src/visitor.generated.ts b/_packages/ast/src/visitor.generated.ts index a3da2d52c3c..792dd10cf12 100644 --- a/_packages/ast/src/visitor.generated.ts +++ b/_packages/ast/src/visitor.generated.ts @@ -20,7 +20,6 @@ import type { ClassDeclaration, ClassExpression, ClassStaticBlockDeclaration, - CommonJSExport, ComputedPropertyName, ConditionalExpression, ConditionalTypeNode, @@ -197,7 +196,6 @@ import { updateClassDeclaration, updateClassExpression, updateClassStaticBlockDeclaration, - updateCommonJSExport, updateComputedPropertyName, updateConditionalExpression, updateConditionalTypeNode, @@ -725,13 +723,6 @@ const visitEachChildTable: Record = { const _expression = visitNode(node.expression, visitor, isExpression); return updateExportAssignment(node, _modifiers, _type, _expression); }, - [SyntaxKind.CommonJSExport]: (node: CommonJSExport, visitor: Visitor): CommonJSExport => { - const _modifiers = visitNodes(node.modifiers, visitor); - const _name = visitNode(node.name, visitor, isIdentifier); - const _type = visitNode(node.type, visitor, isTypeNode); - const _initializer = visitNode(node.initializer, visitor, isExpression); - return updateCommonJSExport(node, _modifiers, _name, _type, _initializer); - }, [SyntaxKind.NamespaceExportDeclaration]: (node: NamespaceExportDeclaration, visitor: Visitor): NamespaceExportDeclaration => { const _modifiers = visitNodes(node.modifiers, visitor); const _name = visitNode(node.name, visitor, isIdentifier); diff --git a/_scripts/ast.json b/_scripts/ast.json index dea020f187f..77bd4daa008 100644 --- a/_scripts/ast.json +++ b/_scripts/ast.json @@ -438,8 +438,6 @@ "comment": "Reparsed JS nodes" }, "JSTypeAliasDeclaration", - "JSExportAssignment", - "CommonJSExport", "JSImportDeclaration", { "comment": "Transformation nodes" @@ -2175,10 +2173,6 @@ ] }, "ExportAssignment": { - "kind": [ - "ExportAssignment", - "JSExportAssignment" - ], "extends": [ "DeclarationBase", "StatementBase", @@ -2204,33 +2198,6 @@ } ] }, - "CommonJSExport": { - "extends": [ - "StatementBase", - "DeclarationBase", - "ExportableBase", - "ModifiersBase" - ], - "members": [ - { - "name": "modifiers", - "inherited": true - }, - { - "name": "name", - "type": "Identifier", - "private": true - }, - { - "name": "Type", - "type": "TypeNode" - }, - { - "name": "Initializer", - "type": "Expression" - } - ] - }, "NamespaceExportDeclaration": { "extends": [ "DeclarationBase", diff --git a/internal/api/encoder/decoder_generated.go b/internal/api/encoder/decoder_generated.go index 464b52adb8b..362146b70be 100644 --- a/internal/api/encoder/decoder_generated.go +++ b/internal/api/encoder/decoder_generated.go @@ -426,23 +426,13 @@ func (d *astDecoder) createChildrenNode(kind ast.Kind, data uint32, childIndices return d.factory.NewNamespaceImport(d.singleChild(childIndices)), nil case ast.KindNamedImports: return d.factory.NewNamedImports(d.singleNodeListChild(childIndices)), nil - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: isExportEquals := commonData&1 != 0 it := newChildIter(childIndices) modifiers := d.modifierListAt(it.nextIf(mask, 0)) typeNode := d.nodeAt(it.nextIf(mask, 1)) expression := d.nodeAt(it.nextIf(mask, 2)) - if kind == ast.KindJSExportAssignment { - return d.factory.NewJSExportAssignment(modifiers, isExportEquals, typeNode, expression), nil - } return d.factory.NewExportAssignment(modifiers, isExportEquals, typeNode, expression), nil - case ast.KindCommonJSExport: - it := newChildIter(childIndices) - modifiers := d.modifierListAt(it.nextIf(mask, 0)) - name := d.nodeAt(it.nextIf(mask, 1)) - typeNode := d.nodeAt(it.nextIf(mask, 2)) - initializer := d.nodeAt(it.nextIf(mask, 3)) - return d.factory.NewCommonJSExport(modifiers, name, typeNode, initializer), nil case ast.KindNamespaceExportDeclaration: it := newChildIter(childIndices) modifiers := d.modifierListAt(it.nextIf(mask, 0)) diff --git a/internal/api/encoder/encoder_generated.go b/internal/api/encoder/encoder_generated.go index f58b8f15e0d..abd8e9ec5e5 100644 --- a/internal/api/encoder/encoder_generated.go +++ b/internal/api/encoder/encoder_generated.go @@ -158,12 +158,9 @@ func getChildrenPropertyMask(node *ast.Node) uint8 { case ast.KindNamedImports: n := node.AsNamedImports() return (boolToByte(n.Elements != nil) << 0) - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: n := node.AsExportAssignment() return (boolToByte(hasModifiers(n.Modifiers())) << 0) | (boolToByte(n.Type != nil) << 1) | (boolToByte(n.Expression != nil) << 2) - case ast.KindCommonJSExport: - n := node.AsCommonJSExport() - return (boolToByte(hasModifiers(n.Modifiers())) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.Type != nil) << 2) | (boolToByte(n.Initializer != nil) << 3) case ast.KindNamespaceExportDeclaration: n := node.AsNamespaceExportDeclaration() return (boolToByte(hasModifiers(n.Modifiers())) << 0) | (boolToByte(n.Name() != nil) << 1) @@ -554,7 +551,7 @@ func getNodeCommonData(node *ast.Node) uint32 { tokenIdx = 1 } return tokenIdx << 24 - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: n := node.AsExportAssignment() return uint32(boolToByte(n.IsExportEquals)) << 24 case ast.KindExportSpecifier: diff --git a/internal/ast/ast.go b/internal/ast/ast.go index bf294df30f7..92fb4cd8110 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -360,7 +360,7 @@ func (n *Node) Expression() *Node { return n.AsThrowStatement().Expression case KindExternalModuleReference: return n.AsExternalModuleReference().Expression - case KindExportAssignment, KindJSExportAssignment: + case KindExportAssignment: return n.AsExportAssignment().Expression case KindDecorator: return n.AsDecorator().Expression @@ -449,7 +449,7 @@ func (m *MutableNode) SetExpression(expr *Node) { n.AsThrowStatement().Expression = expr case KindExternalModuleReference: n.AsExternalModuleReference().Expression = expr - case KindExportAssignment, KindJSExportAssignment: + case KindExportAssignment: n.AsExportAssignment().Expression = expr case KindDecorator: n.AsDecorator().Expression = expr @@ -662,10 +662,8 @@ func (n *Node) Type() *Node { return n.AsJSDocNonNullableType().Type case KindJSDocOptionalType: return n.AsJSDocOptionalType().Type - case KindExportAssignment, KindJSExportAssignment: + case KindExportAssignment: return n.AsExportAssignment().Type - case KindCommonJSExport: - return n.AsCommonJSExport().Type case KindBinaryExpression: return n.AsBinaryExpression().Type default: @@ -725,10 +723,8 @@ func (m *MutableNode) SetType(t *Node) { n.AsJSDocNonNullableType().Type = t case KindJSDocOptionalType: n.AsJSDocOptionalType().Type = t - case KindExportAssignment, KindJSExportAssignment: + case KindExportAssignment: n.AsExportAssignment().Type = t - case KindCommonJSExport: - n.AsCommonJSExport().Type = t case KindBinaryExpression: n.AsBinaryExpression().Type = t default: @@ -762,8 +758,6 @@ func (n *Node) Initializer() *Node { return n.AsForInOrOfStatement().Initializer case KindJsxAttribute: return n.AsJsxAttribute().Initializer - case KindCommonJSExport: - return n.AsCommonJSExport().Initializer } panic("Unhandled case in Node.Initializer") } @@ -791,8 +785,6 @@ func (m *MutableNode) SetInitializer(initializer *Node) { n.AsForInOrOfStatement().Initializer = initializer case KindJsxAttribute: n.AsJsxAttribute().Initializer = initializer - case KindCommonJSExport: - n.AsCommonJSExport().Initializer = initializer default: panic("Unhandled case in mutableNode.SetInitializer") } @@ -1905,7 +1897,7 @@ func (node *ExportAssignment) computeSubtreeFacts() SubtreeFacts { } func IsAnyExportAssignment(node *Node) bool { - return node.Kind == KindExportAssignment || node.Kind == KindJSExportAssignment + return node.Kind == KindExportAssignment } func (node *ExportDeclaration) computeSubtreeFacts() SubtreeFacts { @@ -2845,7 +2837,7 @@ func (node *SourceFile) computeDeclarationMap() map[string][]*Node { break } fallthrough - case KindVariableDeclaration, KindBindingElement, KindCommonJSExport: + case KindVariableDeclaration, KindBindingElement: name := node.Name() if name != nil { if IsBindingPattern(name) { @@ -2896,7 +2888,7 @@ func (node *SourceFile) computeDeclarationMap() map[string][]*Node { } case KindBinaryExpression: switch GetAssignmentDeclarationKind(node) { - case JSDeclarationKindThisProperty, JSDeclarationKindProperty: + case JSDeclarationKindExportsProperty, JSDeclarationKindThisProperty, JSDeclarationKindProperty: addDeclaration(node) } node.ForEachChild(visit) diff --git a/internal/ast/ast_generated.go b/internal/ast/ast_generated.go index 1af56946d91..170cb457af0 100644 --- a/internal/ast/ast_generated.go +++ b/internal/ast/ast_generated.go @@ -299,7 +299,6 @@ type ( NamespaceImportNode = Node NamedImportsNode = Node ExportAssignmentNode = Node - CommonJSExportNode = Node NamespaceExportDeclarationNode = Node NamespaceExportNode = Node NamedExportsNode = Node @@ -2909,25 +2908,9 @@ func (f *NodeFactory) NewExportAssignment(modifiers *ModifierList, isExportEqual return f.newNode(KindExportAssignment, data) } -func (f *NodeFactory) NewJSExportAssignment(modifiers *ModifierList, isExportEquals bool, typeNode *TypeNode, expression *Expression) *Node { - data := &ExportAssignment{} - data.modifiers = modifiers - data.IsExportEquals = isExportEquals - data.Type = typeNode - data.Expression = expression - return f.newNode(KindJSExportAssignment, data) -} - func (f *NodeFactory) UpdateExportAssignment(node *ExportAssignment, modifiers *ModifierList, isExportEquals bool, typeNode *TypeNode, expression *Expression) *Node { if modifiers != node.modifiers || isExportEquals != node.IsExportEquals || typeNode != node.Type || expression != node.Expression { - switch node.Kind { - case KindExportAssignment: - return updateNode(f.NewExportAssignment(modifiers, isExportEquals, typeNode, expression), node.AsNode(), f.hooks) - case KindJSExportAssignment: - return updateNode(f.NewJSExportAssignment(modifiers, isExportEquals, typeNode, expression), node.AsNode(), f.hooks) - default: - panic("unexpected kind in UpdateExportAssignment: " + node.Kind.String()) - } + return updateNode(f.NewExportAssignment(modifiers, isExportEquals, typeNode, expression), node.AsNode(), f.hooks) } return node.AsNode() } @@ -2941,77 +2924,13 @@ func (node *ExportAssignment) VisitEachChild(v *NodeVisitor) *Node { } func (node *ExportAssignment) Clone(f NodeFactoryCoercible) *Node { - switch node.Kind { - case KindExportAssignment: - return cloneNode(f.AsNodeFactory().NewExportAssignment(node.Modifiers(), node.IsExportEquals, node.Type, node.Expression), node.AsNode(), f.AsNodeFactory().hooks) - case KindJSExportAssignment: - return cloneNode(f.AsNodeFactory().NewJSExportAssignment(node.Modifiers(), node.IsExportEquals, node.Type, node.Expression), node.AsNode(), f.AsNodeFactory().hooks) - default: - panic("unexpected kind in ExportAssignment.Clone: " + node.Kind.String()) - } + return cloneNode(f.AsNodeFactory().NewExportAssignment(node.Modifiers(), node.IsExportEquals, node.Type, node.Expression), node.AsNode(), f.AsNodeFactory().hooks) } func IsExportAssignment(node *Node) bool { return node.Kind == KindExportAssignment } -func IsJSExportAssignment(node *Node) bool { - return node.Kind == KindJSExportAssignment -} - -// ────────────────────────────────────────────────────────────────────── -// CommonJSExport -// ────────────────────────────────────────────────────────────────────── - -type CommonJSExport struct { - StatementBase - DeclarationBase - ExportableBase - ModifiersBase - name *IdentifierNode - Type *TypeNode - Initializer *Expression -} - -func (f *NodeFactory) NewCommonJSExport(modifiers *ModifierList, name *IdentifierNode, typeNode *TypeNode, initializer *Expression) *Node { - data := &CommonJSExport{} - data.modifiers = modifiers - data.name = name - data.Type = typeNode - data.Initializer = initializer - return f.newNode(KindCommonJSExport, data) -} - -func (f *NodeFactory) UpdateCommonJSExport(node *CommonJSExport, modifiers *ModifierList, name *IdentifierNode, typeNode *TypeNode, initializer *Expression) *Node { - if modifiers != node.modifiers || name != node.name || typeNode != node.Type || initializer != node.Initializer { - return updateNode(f.NewCommonJSExport(modifiers, name, typeNode, initializer), node.AsNode(), f.hooks) - } - return node.AsNode() -} - -func (node *CommonJSExport) ForEachChild(v Visitor) bool { - return visitModifiers(v, node.modifiers) || - visit(v, node.name) || - visit(v, node.Type) || - visit(v, node.Initializer) -} - -func (node *CommonJSExport) VisitEachChild(v *NodeVisitor) *Node { - return v.Factory.UpdateCommonJSExport(node, v.visitModifiers(node.modifiers), v.visitNode(node.name), v.visitNode(node.Type), v.visitNode(node.Initializer)) -} - -func (node *CommonJSExport) Clone(f NodeFactoryCoercible) *Node { - return cloneNode(f.AsNodeFactory().NewCommonJSExport(node.Modifiers(), node.name, node.Type, node.Initializer), node.AsNode(), f.AsNodeFactory().hooks) -} - -func (node *CommonJSExport) Name() *DeclarationName { - return node.name -} - -func IsCommonJSExport(node *Node) bool { - return node.Kind == KindCommonJSExport -} - // ────────────────────────────────────────────────────────────────────── // NamespaceExportDeclaration // ────────────────────────────────────────────────────────────────────── @@ -9131,10 +9050,6 @@ func (n *Node) AsExportAssignment() *ExportAssignment { return n.data.(*ExportAssignment) } -func (n *Node) AsCommonJSExport() *CommonJSExport { - return n.data.(*CommonJSExport) -} - func (n *Node) AsNamespaceExportDeclaration() *NamespaceExportDeclaration { return n.data.(*NamespaceExportDeclaration) } diff --git a/internal/ast/kind_generated.go b/internal/ast/kind_generated.go index 3b2c14dff2e..f3568448110 100644 --- a/internal/ast/kind_generated.go +++ b/internal/ast/kind_generated.go @@ -382,8 +382,6 @@ const ( KindSyntaxList // Reparsed JS nodes KindJSTypeAliasDeclaration - KindJSExportAssignment - KindCommonJSExport KindJSImportDeclaration // Transformation nodes KindNotEmittedStatement diff --git a/internal/ast/kind_stringer_generated.go b/internal/ast/kind_stringer_generated.go index 90cf01216c8..b80f1ba5319 100644 --- a/internal/ast/kind_stringer_generated.go +++ b/internal/ast/kind_stringer_generated.go @@ -354,19 +354,17 @@ func _() { _ = x[KindJSDocImportTag-343] _ = x[KindSyntaxList-344] _ = x[KindJSTypeAliasDeclaration-345] - _ = x[KindJSExportAssignment-346] - _ = x[KindCommonJSExport-347] - _ = x[KindJSImportDeclaration-348] - _ = x[KindNotEmittedStatement-349] - _ = x[KindPartiallyEmittedExpression-350] - _ = x[KindSyntheticReferenceExpression-351] - _ = x[KindNotEmittedTypeElement-352] - _ = x[KindCount-353] + _ = x[KindJSImportDeclaration-346] + _ = x[KindNotEmittedStatement-347] + _ = x[KindPartiallyEmittedExpression-348] + _ = x[KindSyntheticReferenceExpression-349] + _ = x[KindNotEmittedTypeElement-350] + _ = x[KindCount-351] } -const _Kind_name = "KindUnknownKindEndOfFileKindSingleLineCommentTriviaKindMultiLineCommentTriviaKindNewLineTriviaKindWhitespaceTriviaKindConflictMarkerTriviaKindNonTextFileMarkerTriviaKindNumericLiteralKindBigIntLiteralKindStringLiteralKindJsxTextKindJsxTextAllWhiteSpacesKindRegularExpressionLiteralKindNoSubstitutionTemplateLiteralKindTemplateHeadKindTemplateMiddleKindTemplateTailKindOpenBraceTokenKindCloseBraceTokenKindOpenParenTokenKindCloseParenTokenKindOpenBracketTokenKindCloseBracketTokenKindDotTokenKindDotDotDotTokenKindSemicolonTokenKindCommaTokenKindQuestionDotTokenKindLessThanTokenKindLessThanSlashTokenKindGreaterThanTokenKindLessThanEqualsTokenKindGreaterThanEqualsTokenKindEqualsEqualsTokenKindExclamationEqualsTokenKindEqualsEqualsEqualsTokenKindExclamationEqualsEqualsTokenKindEqualsGreaterThanTokenKindPlusTokenKindMinusTokenKindAsteriskTokenKindAsteriskAsteriskTokenKindSlashTokenKindPercentTokenKindPlusPlusTokenKindMinusMinusTokenKindLessThanLessThanTokenKindGreaterThanGreaterThanTokenKindGreaterThanGreaterThanGreaterThanTokenKindAmpersandTokenKindBarTokenKindCaretTokenKindExclamationTokenKindTildeTokenKindAmpersandAmpersandTokenKindBarBarTokenKindQuestionTokenKindColonTokenKindAtTokenKindQuestionQuestionTokenKindBacktickTokenKindHashTokenKindEqualsTokenKindPlusEqualsTokenKindMinusEqualsTokenKindAsteriskEqualsTokenKindAsteriskAsteriskEqualsTokenKindSlashEqualsTokenKindPercentEqualsTokenKindLessThanLessThanEqualsTokenKindGreaterThanGreaterThanEqualsTokenKindGreaterThanGreaterThanGreaterThanEqualsTokenKindAmpersandEqualsTokenKindBarEqualsTokenKindBarBarEqualsTokenKindAmpersandAmpersandEqualsTokenKindQuestionQuestionEqualsTokenKindCaretEqualsTokenKindIdentifierKindPrivateIdentifierKindJSDocCommentTextTokenKindBreakKeywordKindCaseKeywordKindCatchKeywordKindClassKeywordKindConstKeywordKindContinueKeywordKindDebuggerKeywordKindDefaultKeywordKindDeleteKeywordKindDoKeywordKindElseKeywordKindEnumKeywordKindExportKeywordKindExtendsKeywordKindFalseKeywordKindFinallyKeywordKindForKeywordKindFunctionKeywordKindIfKeywordKindImportKeywordKindInKeywordKindInstanceOfKeywordKindNewKeywordKindNullKeywordKindReturnKeywordKindSuperKeywordKindSwitchKeywordKindThisKeywordKindThrowKeywordKindTrueKeywordKindTryKeywordKindTypeOfKeywordKindVarKeywordKindVoidKeywordKindWhileKeywordKindWithKeywordKindImplementsKeywordKindInterfaceKeywordKindLetKeywordKindPackageKeywordKindPrivateKeywordKindProtectedKeywordKindPublicKeywordKindStaticKeywordKindYieldKeywordKindAbstractKeywordKindAccessorKeywordKindAsKeywordKindAssertsKeywordKindAssertKeywordKindAnyKeywordKindAsyncKeywordKindAwaitKeywordKindBooleanKeywordKindConstructorKeywordKindDeclareKeywordKindGetKeywordKindImmediateKeywordKindInferKeywordKindIntrinsicKeywordKindIsKeywordKindKeyOfKeywordKindModuleKeywordKindNamespaceKeywordKindNeverKeywordKindOutKeywordKindReadonlyKeywordKindRequireKeywordKindNumberKeywordKindObjectKeywordKindSatisfiesKeywordKindSetKeywordKindStringKeywordKindSymbolKeywordKindTypeKeywordKindUndefinedKeywordKindUniqueKeywordKindUnknownKeywordKindUsingKeywordKindFromKeywordKindGlobalKeywordKindBigIntKeywordKindOverrideKeywordKindOfKeywordKindDeferKeywordKindQualifiedNameKindComputedPropertyNameKindTypeParameterKindParameterKindDecoratorKindPropertySignatureKindPropertyDeclarationKindMethodSignatureKindMethodDeclarationKindClassStaticBlockDeclarationKindConstructorKindGetAccessorKindSetAccessorKindCallSignatureKindConstructSignatureKindIndexSignatureKindTypePredicateKindTypeReferenceKindFunctionTypeKindConstructorTypeKindTypeQueryKindTypeLiteralKindArrayTypeKindTupleTypeKindOptionalTypeKindRestTypeKindUnionTypeKindIntersectionTypeKindConditionalTypeKindInferTypeKindParenthesizedTypeKindThisTypeKindTypeOperatorKindIndexedAccessTypeKindMappedTypeKindLiteralTypeKindNamedTupleMemberKindTemplateLiteralTypeKindTemplateLiteralTypeSpanKindImportTypeKindObjectBindingPatternKindArrayBindingPatternKindBindingElementKindArrayLiteralExpressionKindObjectLiteralExpressionKindPropertyAccessExpressionKindElementAccessExpressionKindCallExpressionKindNewExpressionKindTaggedTemplateExpressionKindTypeAssertionExpressionKindParenthesizedExpressionKindFunctionExpressionKindArrowFunctionKindDeleteExpressionKindTypeOfExpressionKindVoidExpressionKindAwaitExpressionKindPrefixUnaryExpressionKindPostfixUnaryExpressionKindBinaryExpressionKindConditionalExpressionKindTemplateExpressionKindYieldExpressionKindSpreadElementKindClassExpressionKindOmittedExpressionKindExpressionWithTypeArgumentsKindAsExpressionKindNonNullExpressionKindMetaPropertyKindSyntheticExpressionKindSatisfiesExpressionKindTemplateSpanKindSemicolonClassElementKindBlockKindEmptyStatementKindVariableStatementKindExpressionStatementKindIfStatementKindDoStatementKindWhileStatementKindForStatementKindForInStatementKindForOfStatementKindContinueStatementKindBreakStatementKindReturnStatementKindWithStatementKindSwitchStatementKindLabeledStatementKindThrowStatementKindTryStatementKindDebuggerStatementKindVariableDeclarationKindVariableDeclarationListKindFunctionDeclarationKindClassDeclarationKindInterfaceDeclarationKindTypeAliasDeclarationKindEnumDeclarationKindModuleDeclarationKindModuleBlockKindCaseBlockKindNamespaceExportDeclarationKindImportEqualsDeclarationKindImportDeclarationKindImportClauseKindNamespaceImportKindNamedImportsKindImportSpecifierKindExportAssignmentKindExportDeclarationKindNamedExportsKindNamespaceExportKindExportSpecifierKindMissingDeclarationKindExternalModuleReferenceKindJsxElementKindJsxSelfClosingElementKindJsxOpeningElementKindJsxClosingElementKindJsxFragmentKindJsxOpeningFragmentKindJsxClosingFragmentKindJsxAttributeKindJsxAttributesKindJsxSpreadAttributeKindJsxExpressionKindJsxNamespacedNameKindCaseClauseKindDefaultClauseKindHeritageClauseKindCatchClauseKindImportAttributesKindImportAttributeKindPropertyAssignmentKindShorthandPropertyAssignmentKindSpreadAssignmentKindEnumMemberKindSourceFileKindJSDocTypeExpressionKindJSDocNameReferenceKindJSDocAllTypeKindJSDocNullableTypeKindJSDocNonNullableTypeKindJSDocOptionalTypeKindJSDocVariadicTypeKindJSDocKindJSDocTextKindJSDocTypeLiteralKindJSDocSignatureKindJSDocLinkKindJSDocLinkCodeKindJSDocLinkPlainKindJSDocUnknownTagKindJSDocAugmentsTagKindJSDocImplementsTagKindJSDocDeprecatedTagKindJSDocPublicTagKindJSDocPrivateTagKindJSDocProtectedTagKindJSDocReadonlyTagKindJSDocOverrideTagKindJSDocCallbackTagKindJSDocOverloadTagKindJSDocParameterTagKindJSDocReturnTagKindJSDocThisTagKindJSDocTypeTagKindJSDocTemplateTagKindJSDocTypedefTagKindJSDocSeeTagKindJSDocPropertyTagKindJSDocThrowsTagKindJSDocSatisfiesTagKindJSDocImportTagKindSyntaxListKindJSTypeAliasDeclarationKindJSExportAssignmentKindCommonJSExportKindJSImportDeclarationKindNotEmittedStatementKindPartiallyEmittedExpressionKindSyntheticReferenceExpressionKindNotEmittedTypeElementKindCount" +const _Kind_name = "KindUnknownKindEndOfFileKindSingleLineCommentTriviaKindMultiLineCommentTriviaKindNewLineTriviaKindWhitespaceTriviaKindConflictMarkerTriviaKindNonTextFileMarkerTriviaKindNumericLiteralKindBigIntLiteralKindStringLiteralKindJsxTextKindJsxTextAllWhiteSpacesKindRegularExpressionLiteralKindNoSubstitutionTemplateLiteralKindTemplateHeadKindTemplateMiddleKindTemplateTailKindOpenBraceTokenKindCloseBraceTokenKindOpenParenTokenKindCloseParenTokenKindOpenBracketTokenKindCloseBracketTokenKindDotTokenKindDotDotDotTokenKindSemicolonTokenKindCommaTokenKindQuestionDotTokenKindLessThanTokenKindLessThanSlashTokenKindGreaterThanTokenKindLessThanEqualsTokenKindGreaterThanEqualsTokenKindEqualsEqualsTokenKindExclamationEqualsTokenKindEqualsEqualsEqualsTokenKindExclamationEqualsEqualsTokenKindEqualsGreaterThanTokenKindPlusTokenKindMinusTokenKindAsteriskTokenKindAsteriskAsteriskTokenKindSlashTokenKindPercentTokenKindPlusPlusTokenKindMinusMinusTokenKindLessThanLessThanTokenKindGreaterThanGreaterThanTokenKindGreaterThanGreaterThanGreaterThanTokenKindAmpersandTokenKindBarTokenKindCaretTokenKindExclamationTokenKindTildeTokenKindAmpersandAmpersandTokenKindBarBarTokenKindQuestionTokenKindColonTokenKindAtTokenKindQuestionQuestionTokenKindBacktickTokenKindHashTokenKindEqualsTokenKindPlusEqualsTokenKindMinusEqualsTokenKindAsteriskEqualsTokenKindAsteriskAsteriskEqualsTokenKindSlashEqualsTokenKindPercentEqualsTokenKindLessThanLessThanEqualsTokenKindGreaterThanGreaterThanEqualsTokenKindGreaterThanGreaterThanGreaterThanEqualsTokenKindAmpersandEqualsTokenKindBarEqualsTokenKindBarBarEqualsTokenKindAmpersandAmpersandEqualsTokenKindQuestionQuestionEqualsTokenKindCaretEqualsTokenKindIdentifierKindPrivateIdentifierKindJSDocCommentTextTokenKindBreakKeywordKindCaseKeywordKindCatchKeywordKindClassKeywordKindConstKeywordKindContinueKeywordKindDebuggerKeywordKindDefaultKeywordKindDeleteKeywordKindDoKeywordKindElseKeywordKindEnumKeywordKindExportKeywordKindExtendsKeywordKindFalseKeywordKindFinallyKeywordKindForKeywordKindFunctionKeywordKindIfKeywordKindImportKeywordKindInKeywordKindInstanceOfKeywordKindNewKeywordKindNullKeywordKindReturnKeywordKindSuperKeywordKindSwitchKeywordKindThisKeywordKindThrowKeywordKindTrueKeywordKindTryKeywordKindTypeOfKeywordKindVarKeywordKindVoidKeywordKindWhileKeywordKindWithKeywordKindImplementsKeywordKindInterfaceKeywordKindLetKeywordKindPackageKeywordKindPrivateKeywordKindProtectedKeywordKindPublicKeywordKindStaticKeywordKindYieldKeywordKindAbstractKeywordKindAccessorKeywordKindAsKeywordKindAssertsKeywordKindAssertKeywordKindAnyKeywordKindAsyncKeywordKindAwaitKeywordKindBooleanKeywordKindConstructorKeywordKindDeclareKeywordKindGetKeywordKindImmediateKeywordKindInferKeywordKindIntrinsicKeywordKindIsKeywordKindKeyOfKeywordKindModuleKeywordKindNamespaceKeywordKindNeverKeywordKindOutKeywordKindReadonlyKeywordKindRequireKeywordKindNumberKeywordKindObjectKeywordKindSatisfiesKeywordKindSetKeywordKindStringKeywordKindSymbolKeywordKindTypeKeywordKindUndefinedKeywordKindUniqueKeywordKindUnknownKeywordKindUsingKeywordKindFromKeywordKindGlobalKeywordKindBigIntKeywordKindOverrideKeywordKindOfKeywordKindDeferKeywordKindQualifiedNameKindComputedPropertyNameKindTypeParameterKindParameterKindDecoratorKindPropertySignatureKindPropertyDeclarationKindMethodSignatureKindMethodDeclarationKindClassStaticBlockDeclarationKindConstructorKindGetAccessorKindSetAccessorKindCallSignatureKindConstructSignatureKindIndexSignatureKindTypePredicateKindTypeReferenceKindFunctionTypeKindConstructorTypeKindTypeQueryKindTypeLiteralKindArrayTypeKindTupleTypeKindOptionalTypeKindRestTypeKindUnionTypeKindIntersectionTypeKindConditionalTypeKindInferTypeKindParenthesizedTypeKindThisTypeKindTypeOperatorKindIndexedAccessTypeKindMappedTypeKindLiteralTypeKindNamedTupleMemberKindTemplateLiteralTypeKindTemplateLiteralTypeSpanKindImportTypeKindObjectBindingPatternKindArrayBindingPatternKindBindingElementKindArrayLiteralExpressionKindObjectLiteralExpressionKindPropertyAccessExpressionKindElementAccessExpressionKindCallExpressionKindNewExpressionKindTaggedTemplateExpressionKindTypeAssertionExpressionKindParenthesizedExpressionKindFunctionExpressionKindArrowFunctionKindDeleteExpressionKindTypeOfExpressionKindVoidExpressionKindAwaitExpressionKindPrefixUnaryExpressionKindPostfixUnaryExpressionKindBinaryExpressionKindConditionalExpressionKindTemplateExpressionKindYieldExpressionKindSpreadElementKindClassExpressionKindOmittedExpressionKindExpressionWithTypeArgumentsKindAsExpressionKindNonNullExpressionKindMetaPropertyKindSyntheticExpressionKindSatisfiesExpressionKindTemplateSpanKindSemicolonClassElementKindBlockKindEmptyStatementKindVariableStatementKindExpressionStatementKindIfStatementKindDoStatementKindWhileStatementKindForStatementKindForInStatementKindForOfStatementKindContinueStatementKindBreakStatementKindReturnStatementKindWithStatementKindSwitchStatementKindLabeledStatementKindThrowStatementKindTryStatementKindDebuggerStatementKindVariableDeclarationKindVariableDeclarationListKindFunctionDeclarationKindClassDeclarationKindInterfaceDeclarationKindTypeAliasDeclarationKindEnumDeclarationKindModuleDeclarationKindModuleBlockKindCaseBlockKindNamespaceExportDeclarationKindImportEqualsDeclarationKindImportDeclarationKindImportClauseKindNamespaceImportKindNamedImportsKindImportSpecifierKindExportAssignmentKindExportDeclarationKindNamedExportsKindNamespaceExportKindExportSpecifierKindMissingDeclarationKindExternalModuleReferenceKindJsxElementKindJsxSelfClosingElementKindJsxOpeningElementKindJsxClosingElementKindJsxFragmentKindJsxOpeningFragmentKindJsxClosingFragmentKindJsxAttributeKindJsxAttributesKindJsxSpreadAttributeKindJsxExpressionKindJsxNamespacedNameKindCaseClauseKindDefaultClauseKindHeritageClauseKindCatchClauseKindImportAttributesKindImportAttributeKindPropertyAssignmentKindShorthandPropertyAssignmentKindSpreadAssignmentKindEnumMemberKindSourceFileKindJSDocTypeExpressionKindJSDocNameReferenceKindJSDocAllTypeKindJSDocNullableTypeKindJSDocNonNullableTypeKindJSDocOptionalTypeKindJSDocVariadicTypeKindJSDocKindJSDocTextKindJSDocTypeLiteralKindJSDocSignatureKindJSDocLinkKindJSDocLinkCodeKindJSDocLinkPlainKindJSDocUnknownTagKindJSDocAugmentsTagKindJSDocImplementsTagKindJSDocDeprecatedTagKindJSDocPublicTagKindJSDocPrivateTagKindJSDocProtectedTagKindJSDocReadonlyTagKindJSDocOverrideTagKindJSDocCallbackTagKindJSDocOverloadTagKindJSDocParameterTagKindJSDocReturnTagKindJSDocThisTagKindJSDocTypeTagKindJSDocTemplateTagKindJSDocTypedefTagKindJSDocSeeTagKindJSDocPropertyTagKindJSDocThrowsTagKindJSDocSatisfiesTagKindJSDocImportTagKindSyntaxListKindJSTypeAliasDeclarationKindJSImportDeclarationKindNotEmittedStatementKindPartiallyEmittedExpressionKindSyntheticReferenceExpressionKindNotEmittedTypeElementKindCount" -var _Kind_index = [...]uint16{0, 11, 24, 51, 77, 94, 114, 138, 165, 183, 200, 217, 228, 253, 281, 314, 330, 348, 364, 382, 401, 419, 438, 458, 479, 491, 509, 527, 541, 561, 578, 600, 620, 643, 669, 690, 716, 743, 775, 801, 814, 828, 845, 870, 884, 900, 917, 936, 961, 992, 1034, 1052, 1064, 1078, 1098, 1112, 1139, 1154, 1171, 1185, 1196, 1221, 1238, 1251, 1266, 1285, 1305, 1328, 1359, 1379, 1401, 1432, 1469, 1517, 1541, 1559, 1580, 1613, 1644, 1664, 1678, 1699, 1724, 1740, 1755, 1771, 1787, 1803, 1822, 1841, 1859, 1876, 1889, 1904, 1919, 1936, 1954, 1970, 1988, 2002, 2021, 2034, 2051, 2064, 2085, 2099, 2114, 2131, 2147, 2164, 2179, 2195, 2210, 2224, 2241, 2255, 2270, 2286, 2301, 2322, 2342, 2356, 2374, 2392, 2412, 2429, 2446, 2462, 2481, 2500, 2513, 2531, 2548, 2562, 2578, 2594, 2612, 2634, 2652, 2666, 2686, 2702, 2722, 2735, 2751, 2768, 2788, 2804, 2818, 2837, 2855, 2872, 2889, 2909, 2923, 2940, 2957, 2972, 2992, 3009, 3027, 3043, 3058, 3075, 3092, 3111, 3124, 3140, 3157, 3181, 3198, 3211, 3224, 3245, 3268, 3287, 3308, 3339, 3354, 3369, 3384, 3401, 3423, 3441, 3458, 3475, 3491, 3510, 3523, 3538, 3551, 3564, 3580, 3592, 3605, 3625, 3644, 3657, 3678, 3690, 3706, 3727, 3741, 3756, 3776, 3799, 3826, 3840, 3864, 3887, 3905, 3931, 3958, 3986, 4013, 4031, 4048, 4076, 4103, 4130, 4152, 4169, 4189, 4209, 4227, 4246, 4271, 4297, 4317, 4342, 4364, 4383, 4400, 4419, 4440, 4471, 4487, 4508, 4524, 4547, 4570, 4586, 4611, 4620, 4638, 4659, 4682, 4697, 4712, 4730, 4746, 4764, 4782, 4803, 4821, 4840, 4857, 4876, 4896, 4914, 4930, 4951, 4974, 5001, 5024, 5044, 5068, 5092, 5111, 5132, 5147, 5160, 5190, 5217, 5238, 5254, 5273, 5289, 5308, 5328, 5349, 5365, 5384, 5403, 5425, 5452, 5466, 5491, 5512, 5533, 5548, 5570, 5592, 5608, 5625, 5647, 5664, 5685, 5699, 5716, 5734, 5749, 5769, 5788, 5810, 5841, 5861, 5875, 5889, 5912, 5934, 5950, 5971, 5995, 6016, 6037, 6046, 6059, 6079, 6097, 6110, 6127, 6145, 6164, 6184, 6206, 6228, 6246, 6265, 6286, 6306, 6326, 6346, 6366, 6387, 6405, 6421, 6437, 6457, 6476, 6491, 6511, 6529, 6550, 6568, 6582, 6608, 6630, 6648, 6671, 6694, 6724, 6756, 6781, 6790} +var _Kind_index = [...]uint16{0, 11, 24, 51, 77, 94, 114, 138, 165, 183, 200, 217, 228, 253, 281, 314, 330, 348, 364, 382, 401, 419, 438, 458, 479, 491, 509, 527, 541, 561, 578, 600, 620, 643, 669, 690, 716, 743, 775, 801, 814, 828, 845, 870, 884, 900, 917, 936, 961, 992, 1034, 1052, 1064, 1078, 1098, 1112, 1139, 1154, 1171, 1185, 1196, 1221, 1238, 1251, 1266, 1285, 1305, 1328, 1359, 1379, 1401, 1432, 1469, 1517, 1541, 1559, 1580, 1613, 1644, 1664, 1678, 1699, 1724, 1740, 1755, 1771, 1787, 1803, 1822, 1841, 1859, 1876, 1889, 1904, 1919, 1936, 1954, 1970, 1988, 2002, 2021, 2034, 2051, 2064, 2085, 2099, 2114, 2131, 2147, 2164, 2179, 2195, 2210, 2224, 2241, 2255, 2270, 2286, 2301, 2322, 2342, 2356, 2374, 2392, 2412, 2429, 2446, 2462, 2481, 2500, 2513, 2531, 2548, 2562, 2578, 2594, 2612, 2634, 2652, 2666, 2686, 2702, 2722, 2735, 2751, 2768, 2788, 2804, 2818, 2837, 2855, 2872, 2889, 2909, 2923, 2940, 2957, 2972, 2992, 3009, 3027, 3043, 3058, 3075, 3092, 3111, 3124, 3140, 3157, 3181, 3198, 3211, 3224, 3245, 3268, 3287, 3308, 3339, 3354, 3369, 3384, 3401, 3423, 3441, 3458, 3475, 3491, 3510, 3523, 3538, 3551, 3564, 3580, 3592, 3605, 3625, 3644, 3657, 3678, 3690, 3706, 3727, 3741, 3756, 3776, 3799, 3826, 3840, 3864, 3887, 3905, 3931, 3958, 3986, 4013, 4031, 4048, 4076, 4103, 4130, 4152, 4169, 4189, 4209, 4227, 4246, 4271, 4297, 4317, 4342, 4364, 4383, 4400, 4419, 4440, 4471, 4487, 4508, 4524, 4547, 4570, 4586, 4611, 4620, 4638, 4659, 4682, 4697, 4712, 4730, 4746, 4764, 4782, 4803, 4821, 4840, 4857, 4876, 4896, 4914, 4930, 4951, 4974, 5001, 5024, 5044, 5068, 5092, 5111, 5132, 5147, 5160, 5190, 5217, 5238, 5254, 5273, 5289, 5308, 5328, 5349, 5365, 5384, 5403, 5425, 5452, 5466, 5491, 5512, 5533, 5548, 5570, 5592, 5608, 5625, 5647, 5664, 5685, 5699, 5716, 5734, 5749, 5769, 5788, 5810, 5841, 5861, 5875, 5889, 5912, 5934, 5950, 5971, 5995, 6016, 6037, 6046, 6059, 6079, 6097, 6110, 6127, 6145, 6164, 6184, 6206, 6228, 6246, 6265, 6286, 6306, 6326, 6346, 6366, 6387, 6405, 6421, 6437, 6457, 6476, 6491, 6511, 6529, 6550, 6568, 6582, 6608, 6631, 6654, 6684, 6716, 6741, 6750} func (i Kind) String() string { idx := int(i) - 0 diff --git a/internal/ast/utilities.go b/internal/ast/utilities.go index 85d5dfab8ff..44b5275767e 100644 --- a/internal/ast/utilities.go +++ b/internal/ast/utilities.go @@ -640,8 +640,6 @@ func isDeclarationStatementKind(kind Kind) bool { KindImportEqualsDeclaration, KindExportDeclaration, KindExportAssignment, - KindJSExportAssignment, - KindCommonJSExport, KindNamespaceExportDeclaration: return true } @@ -1025,7 +1023,7 @@ func CanHaveSymbol(node *Node) bool { KindConstructSignature, KindElementAccessExpression, KindEnumDeclaration, KindEnumMember, KindExportAssignment, KindExportDeclaration, KindExportSpecifier, KindFunctionDeclaration, KindFunctionExpression, KindFunctionType, KindGetAccessor, KindImportClause, KindImportEqualsDeclaration, KindImportSpecifier, KindIndexSignature, - KindInterfaceDeclaration, KindJSExportAssignment, KindJSTypeAliasDeclaration, KindCommonJSExport, + KindInterfaceDeclaration, KindJSTypeAliasDeclaration, KindJsxAttribute, KindJsxAttributes, KindJsxSpreadAttribute, KindMappedType, KindMethodDeclaration, KindMethodSignature, KindModuleDeclaration, KindNamedTupleMember, KindNamespaceExport, KindNamespaceExportDeclaration, KindNamespaceImport, KindNewExpression, KindNoSubstitutionTemplateLiteral, KindNumericLiteral, KindObjectLiteralExpression, @@ -1441,7 +1439,7 @@ func GetNonAssignedNameOfDeclaration(declaration *Node) *Node { return declaration.Arguments()[1] } return nil - case KindExportAssignment, KindJSExportAssignment: + case KindExportAssignment: expr := declaration.Expression() if IsIdentifier(expr) { return expr @@ -1474,8 +1472,6 @@ func GetAssignedName(node *Node) *Node { } } } - case KindCommonJSExport: - return parent.AsCommonJSExport().Name() case KindVariableDeclaration: name := parent.AsVariableDeclaration().Name() if IsIdentifier(name) { @@ -1835,9 +1831,8 @@ func IsEnumConst(node *Node) bool { return GetCombinedModifierFlags(node)&ModifierFlagsConst != 0 } -func ExportAssignmentIsAlias(node *Node) bool { - e := node.Expression() - return IsEntityNameExpression(e) || IsClassExpression(e) +func ExpressionIsAlias(node *Node) bool { + return IsEntityNameExpression(node) || IsClassExpression(node) } func IsInstanceOfExpression(node *Node) bool { @@ -2212,7 +2207,6 @@ func GetMeaningFromDeclaration(node *Node) SemanticMeaning { KindImportDeclaration, KindJSImportDeclaration, KindExportAssignment, - KindJSExportAssignment, KindExportDeclaration: return SemanticMeaningAll @@ -2601,10 +2595,12 @@ func IsAliasSymbolDeclaration(node *Node) bool { return true case KindImportClause: return node.AsImportClause().Name() != nil - case KindExportAssignment, KindJSExportAssignment: - return ExportAssignmentIsAlias(node) + case KindExportAssignment: + return ExpressionIsAlias(node.Expression()) case KindVariableDeclaration, KindBindingElement: return IsVariableDeclarationInitializedToRequire(node) + case KindBinaryExpression: + return GetAssignmentDeclarationKind(node) == JSDeclarationKindModuleExports && ExpressionIsAlias(node.AsBinaryExpression().Right) } return false } @@ -2628,7 +2624,7 @@ func GetNodeAtPosition(file *SourceFile, position int, includeJSDoc bool) *Node } if child == nil { current.ForEachChild(func(node *Node) bool { - if nodeContainsPosition(node, position) && node.Kind != KindJSExportAssignment && node.Kind != KindCommonJSExport { + if nodeContainsPosition(node, position) { child = node return true } @@ -4017,12 +4013,10 @@ func HasInferredType(node *Node) bool { KindCallExpression, KindVariableDeclaration, KindExportAssignment, - KindJSExportAssignment, KindPropertyAssignment, KindShorthandPropertyAssignment, KindJSDocParameterTag, - KindJSDocPropertyTag, - KindCommonJSExport: + KindJSDocPropertyTag: return true default: // assertType(node); // !!! diff --git a/internal/binder/binder.go b/internal/binder/binder.go index b77a131f2ab..d5cedc2378f 100644 --- a/internal/binder/binder.go +++ b/internal/binder/binder.go @@ -308,8 +308,6 @@ func (b *Binder) declareSymbolEx(symbolTable ast.SymbolTable, parent *ast.Symbol func (b *Binder) getDeclarationName(node *ast.Node) string { if ast.IsExportAssignment(node) { return core.IfElse(node.AsExportAssignment().IsExportEquals, ast.InternalSymbolNameExportEquals, ast.InternalSymbolNameDefault) - } else if ast.IsJSExportAssignment(node) { - return ast.InternalSymbolNameExportEquals } name := ast.GetNameOfDeclaration(node) if name != nil { @@ -357,7 +355,7 @@ func (b *Binder) getDeclarationName(node *ast.Node) string { return ast.InternalSymbolNameIndex case ast.KindExportDeclaration: return ast.InternalSymbolNameExportStar - case ast.KindSourceFile: + case ast.KindSourceFile, ast.KindBinaryExpression: return ast.InternalSymbolNameExportEquals } return ast.InternalSymbolNameMissing @@ -381,10 +379,6 @@ func GetSymbolNameForPrivateIdentifier(containingClassSymbol *ast.Symbol, descri func (b *Binder) declareModuleMember(node *ast.Node, symbolFlags ast.SymbolFlags, symbolExcludes ast.SymbolFlags) *ast.Symbol { container := b.container - isCommonJSExport := ast.IsCommonJSExport(node) || ast.IsCallExpression(node) - if isCommonJSExport { - container = b.file.AsNode() - } hasExportModifier := ast.GetCombinedModifierFlags(node)&ast.ModifierFlagsExport != 0 || ast.IsImplicitlyExportedJSTypeAlias(node) if symbolFlags&ast.SymbolFlagsAlias != 0 { if node.Kind == ast.KindExportSpecifier || (node.Kind == ast.KindImportEqualsDeclaration && hasExportModifier) { @@ -407,8 +401,8 @@ func (b *Binder) declareModuleMember(node *ast.Node, symbolFlags ast.SymbolFlags // during global merging in the checker. Why? The only case when ambient module is permitted inside another module is module augmentation // and this case is specially handled. Module augmentations should only be merged with original module definition // and should never be merged directly with other augmentation, and the latter case would be possible if automatic merge is allowed. - if !ast.IsAmbientModule(node) && (hasExportModifier || isCommonJSExport || container.Flags&ast.NodeFlagsExportContext != 0) { - if !ast.IsLocalsContainer(container) || (ast.HasSyntacticModifier(node, ast.ModifierFlagsDefault) && b.getDeclarationName(node) == ast.InternalSymbolNameMissing) || isCommonJSExport { + if !ast.IsAmbientModule(node) && (hasExportModifier || container.Flags&ast.NodeFlagsExportContext != 0) { + if !ast.IsLocalsContainer(container) || (ast.HasSyntacticModifier(node, ast.ModifierFlagsDefault) && b.getDeclarationName(node) == ast.InternalSymbolNameMissing) { return b.declareSymbol(ast.GetExports(container.Symbol()), container.Symbol(), node, symbolFlags, symbolExcludes) // No local symbol for an unnamed default! } @@ -629,6 +623,10 @@ func (b *Binder) bind(node *ast.Node) bool { } case ast.KindBinaryExpression: switch ast.GetAssignmentDeclarationKind(node) { + case ast.JSDeclarationKindModuleExports: + b.bindModuleExportsAssignment(node) + case ast.JSDeclarationKindExportsProperty: + b.bindExportsOrObjectDefineProperty(node) case ast.JSDeclarationKindProperty: b.bindExpandoPropertyAssignment(node) case ast.JSDeclarationKindThisProperty: @@ -658,9 +656,6 @@ func (b *Binder) bind(node *ast.Node) bool { case ast.KindBindingElement: node.AsBindingElement().FlowNode = b.currentFlow b.bindVariableDeclarationOrBindingElement(node) - case ast.KindCommonJSExport: - b.trackNestedCJSExport(node) - b.declareModuleMember(node, ast.SymbolFlagsFunctionScopedVariable, ast.SymbolFlagsFunctionScopedVariableExcludes) case ast.KindPropertyDeclaration, ast.KindPropertySignature: b.bindPropertyWorker(node) case ast.KindPropertyAssignment, ast.KindShorthandPropertyAssignment: @@ -696,13 +691,18 @@ func (b *Binder) bind(node *ast.Node) bool { case ast.JSDeclarationKindObjectDefinePropertyValue: b.bindExpandoPropertyAssignment(node) case ast.JSDeclarationKindObjectDefinePropertyExports: - b.bindObjectDefinePropertyExport(node) + b.bindExportsOrObjectDefineProperty(node) } if ast.IsInJSFile(node) { b.bindCallExpression(node) } - case ast.KindTypeAliasDeclaration, ast.KindJSTypeAliasDeclaration: + case ast.KindTypeAliasDeclaration: b.bindBlockScopedDeclaration(node, ast.SymbolFlagsTypeAlias, ast.SymbolFlagsTypeAliasExcludes) + case ast.KindJSTypeAliasDeclaration: + // Top-level JSTypeAliasDeclaration nodes are processed in bindContainer + if !ast.IsSourceFile(b.blockScopeContainer) { + b.bindBlockScopedDeclaration(node, ast.SymbolFlagsTypeAlias, ast.SymbolFlagsTypeAliasExcludes) + } case ast.KindEnumDeclaration: b.bindEnumDeclaration(node) case ast.KindModuleDeclaration: @@ -715,7 +715,7 @@ func (b *Binder) bind(node *ast.Node) bool { b.bindImportClause(node) case ast.KindExportDeclaration: b.bindExportDeclaration(node) - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: b.bindExportAssignment(node) case ast.KindSourceFile: b.bindSourceFileIfExternalModule() @@ -861,22 +861,18 @@ func (b *Binder) bindExportDeclaration(node *ast.Node) { func (b *Binder) bindExportAssignment(node *ast.Node) { container := b.container - if ast.IsJSExportAssignment(node) { - container = b.file.AsNode() - b.trackNestedCJSExport(node) - } if container.Symbol() == nil && ast.IsExportAssignment(node) { // Incorrect export assignment in some sort of block construct b.bindAnonymousDeclaration(node, ast.SymbolFlagsValue, b.getDeclarationName(node)) } else { flags := ast.SymbolFlagsProperty - if ast.ExportAssignmentIsAlias(node) { + if ast.ExpressionIsAlias(node.Expression()) { flags = ast.SymbolFlagsAlias } // If there is an `export default x;` alias declaration, can't `export default` anything else. // (In contrast, you can still have `export default function f() {}` and `export default interface I {}`.) - symbol := b.declareSymbol(ast.GetExports(container.Symbol()), container.Symbol(), node, flags, core.IfElse(ast.IsJSExportAssignment(node), 0, ast.SymbolFlagsAll)) - if ast.IsJSExportAssignment(node) || node.AsExportAssignment().IsExportEquals { + symbol := b.declareSymbol(ast.GetExports(container.Symbol()), container.Symbol(), node, flags, ast.SymbolFlagsAll) + if node.AsExportAssignment().IsExportEquals { // Ensure export assignments have a ValueDeclaration set. SetValueDeclaration(symbol, node) } @@ -919,7 +915,7 @@ func (b *Binder) hasExportDeclarations(node *ast.Node) bool { } } return core.Some(statements, func(s *ast.Node) bool { - return ast.IsExportDeclaration(s) || ast.IsExportAssignment(s) || ast.IsJSExportAssignment(s) + return ast.IsExportDeclaration(s) || ast.IsExportAssignment(s) }) } @@ -1022,6 +1018,16 @@ func (b *Binder) addLateBoundAssignmentDeclarationToSymbol(node *ast.Node, symbo assignmentSymbol.Declarations = append(assignmentSymbol.Declarations, node) } +func (b *Binder) bindModuleExportsAssignment(node *ast.Node) { + if b.setCommonJSModuleIndicator(node) { + b.trackNestedCJSExport(node) + container := b.file.AsNode() + flags := core.IfElse(ast.ExpressionIsAlias(node.AsBinaryExpression().Right), ast.SymbolFlagsAlias, ast.SymbolFlagsProperty) + symbol := b.declareSymbol(ast.GetExports(container.Symbol()), container.Symbol(), node, flags, 0) + SetValueDeclaration(symbol, node) + } +} + func (b *Binder) bindExpandoPropertyAssignment(node *ast.Node) { b.expandoAssignments = append(b.expandoAssignments, ExpandoAssignmentInfo{ node: node, @@ -1083,10 +1089,11 @@ func getParentOfPropertyAssignment(node *ast.Node) *ast.Node { panic("Unhandled case in getParentOfPropertyAssignment") } -func (b *Binder) bindObjectDefinePropertyExport(node *ast.Node) { +func (b *Binder) bindExportsOrObjectDefineProperty(node *ast.Node) { if b.setCommonJSModuleIndicator(node) { b.trackNestedCJSExport(node) - b.declareModuleMember(node, ast.SymbolFlagsFunctionScopedVariable, ast.SymbolFlagsFunctionScopedVariableExcludes) + container := b.file.AsNode() + b.declareSymbol(ast.GetExports(container.Symbol()), container.Symbol(), node, ast.SymbolFlagsFunctionScopedVariable, ast.SymbolFlagsFunctionScopedVariableExcludes) } } @@ -1599,6 +1606,15 @@ func (b *Binder) bindContainer(node *ast.Node, containerFlags ContainerFlags) { } else { b.bindChildren(node) } + if ast.IsSourceFile(node) && ast.IsInJSFile(node) { + // Binding of top-level JSTypeAliasDeclaration nodes is deferred to ensure CommonJS module + // indicators, if any, are processed first. + for _, statement := range node.Statements() { + if ast.IsJSTypeAliasDeclaration(statement) { + b.bindBlockScopedDeclaration(statement, ast.SymbolFlagsTypeAlias, ast.SymbolFlagsTypeAliasExcludes) + } + } + } if ast.IsSourceFile(node) && ast.IsExternalOrCommonJSModule(node.AsSourceFile()) || ast.IsAmbientModule(node) { b.bindCommonJSTypeExports(node.Symbol()) } diff --git a/internal/checker/checker.go b/internal/checker/checker.go index 05272edcfa9..e618f3d9b5b 100644 --- a/internal/checker/checker.go +++ b/internal/checker/checker.go @@ -5432,7 +5432,7 @@ func (c *Checker) checkExportSpecifier(node *ast.Node) { } func (c *Checker) checkExportAssignment(node *ast.Node) { - isExportEquals := ast.IsJSExportAssignment(node) || node.AsExportAssignment().IsExportEquals + isExportEquals := node.AsExportAssignment().IsExportEquals illegalContextMessage := core.IfElse(isExportEquals, diagnostics.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration, diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration) @@ -5576,7 +5576,9 @@ func (c *Checker) checkExternalModuleExports(node *ast.Node) { // so count should be either 1 (just type alias) or 2 (type alias + merged value) continue } - if exportedDeclarationsCount > 1 && !core.Every(symbol.Declarations, ast.IsCommonJSExport) { + if exportedDeclarationsCount > 1 && !core.Every(symbol.Declarations, func(node *ast.Node) bool { + return ast.GetAssignmentDeclarationKind(node) == ast.JSDeclarationKindExportsProperty + }) { for _, declaration := range symbol.Declarations { if isNotOverload(declaration) { c.error(declaration, diagnostics.Cannot_redeclare_exported_variable_0, id) @@ -6791,9 +6793,9 @@ func (c *Checker) getDeclarationSpaces(node *ast.Declaration) DeclarationSpaces return DeclarationSpacesExportType | DeclarationSpacesExportValue case ast.KindSourceFile: return DeclarationSpacesExportType | DeclarationSpacesExportValue | DeclarationSpacesExportNamespace - case ast.KindExportAssignment, ast.KindJSExportAssignment, ast.KindBinaryExpression: + case ast.KindExportAssignment, ast.KindBinaryExpression: var expression *ast.Node - if ast.IsExportAssignment(node) || ast.IsJSExportAssignment(node) { + if ast.IsExportAssignment(node) { expression = node.Expression() } else { expression = node.AsBinaryExpression().Right @@ -6812,8 +6814,6 @@ func (c *Checker) getDeclarationSpaces(node *ast.Declaration) DeclarationSpaces result |= c.getDeclarationSpaces(d) } return result - case ast.KindCommonJSExport: - return DeclarationSpacesExportValue case ast.KindVariableDeclaration, ast.KindBindingElement, ast.KindFunctionDeclaration, ast.KindImportSpecifier: return DeclarationSpacesExportValue case ast.KindMethodSignature, ast.KindPropertySignature: @@ -10688,7 +10688,7 @@ func (c *Checker) checkIdentifier(node *ast.Node, checkMode CheckMode) *Type { t := c.getNarrowedTypeOfSymbol(localOrExportSymbol, node) assignmentKind := getAssignmentTargetKind(node) if assignmentKind != AssignmentKindNone { - if localOrExportSymbol.Flags&ast.SymbolFlagsVariable == 0 { + if localOrExportSymbol.Flags&ast.SymbolFlagsVariable == 0 && !(ast.IsInJSFile(node) && localOrExportSymbol.Flags&ast.SymbolFlagsValueModule != 0) { var assignmentError *diagnostics.Message switch { case localOrExportSymbol.Flags&ast.SymbolFlagsEnum != 0: @@ -12344,7 +12344,9 @@ func (c *Checker) checkAssignmentOperator(left *ast.Node, operator ast.Kind, rig if ast.IsAssignmentOperator(operator) { // We ignore assignments of undefined to CommonJS exports when there are multiple assignment declarations if ast.IsAccessExpression(left) { - if symbol := c.symbolNodeLinks.Get(left).resolvedSymbol; symbol != nil && symbol.ValueDeclaration != nil && ast.IsCommonJSExport(symbol.ValueDeclaration) && len(symbol.Declarations) > 1 && rightType.flags&TypeFlagsUndefined != 0 { + if symbol := c.symbolNodeLinks.Get(left).resolvedSymbol; symbol != nil && symbol.ValueDeclaration != nil && + ast.GetAssignmentDeclarationKind(symbol.ValueDeclaration) == ast.JSDeclarationKindExportsProperty && + len(symbol.Declarations) > 1 && rightType.flags&TypeFlagsUndefined != 0 { return } } @@ -15261,7 +15263,7 @@ func (c *Checker) getTargetOfAliasDeclaration(node *ast.Node) *ast.Symbol { return c.getTargetOfImportSpecifier(node) case ast.KindExportSpecifier: return c.getTargetOfExportSpecifier(node, ast.SymbolFlagsValue|ast.SymbolFlagsType|ast.SymbolFlagsNamespace, true /*dontRecursivelyResolve*/) - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: return c.getTargetOfExportAssignment(node) case ast.KindBinaryExpression: return c.getTargetOfBinaryExpression(node) @@ -15325,9 +15327,7 @@ func (c *Checker) resolveEntityName(name *ast.Node, meaning ast.SymbolFlags, ign } if symbol != nil && symbol != c.unknownSymbol { if !ast.NodeIsSynthesized(name) && ast.IsEntityName(name) && - (symbol.Flags&ast.SymbolFlagsAlias != 0 || - name.Parent != nil && name.Parent.Kind == ast.KindExportAssignment || - name.Parent != nil && name.Parent.Kind == ast.KindJSExportAssignment) { + (symbol.Flags&ast.SymbolFlagsAlias != 0 || name.Parent != nil && name.Parent.Kind == ast.KindExportAssignment) { c.markSymbolOfAliasDeclarationIfTypeOnly(getAliasDeclarationFromName(name), nil) } if symbol.Flags&meaning == 0 && !dontResolveAlias && symbol.Flags&ast.SymbolFlagsAlias != 0 { @@ -16113,7 +16113,7 @@ func (c *Checker) getTypeOfVariableOrParameterOrPropertyWorker(symbol *ast.Symbo } else { result = c.widenTypeForVariableLikeDeclaration(c.checkExpressionCached(declaration.Expression()), declaration, false /*reportErrors*/) } - case ast.KindBinaryExpression, ast.KindCallExpression, ast.KindJSExportAssignment, ast.KindCommonJSExport: + case ast.KindBinaryExpression, ast.KindCallExpression: result = c.getWidenedTypeForAssignmentDeclaration(symbol) case ast.KindJsxAttribute: result = c.checkJsxAttribute(declaration, CheckModeNormal) @@ -16405,6 +16405,12 @@ func (c *Checker) getTypeOfFuncClassEnumModule(symbol *ast.Symbol) *Type { func (c *Checker) getTypeOfFuncClassEnumModuleWorker(symbol *ast.Symbol) *Type { if symbol.Flags&ast.SymbolFlagsModule != 0 && isShorthandAmbientModuleSymbol(symbol) { return c.anyType + } else if symbol.Flags&ast.SymbolFlagsValueModule != 0 && symbol.ValueDeclaration != nil && + ast.IsSourceFile(symbol.ValueDeclaration) && symbol.ValueDeclaration.AsSourceFile().CommonJSModuleIndicator != nil { + resolvedModule := c.resolveExternalModuleSymbol(symbol, false /*dontResolveAlias*/) + if resolvedModule != symbol { + return c.getTypeOfSymbol(resolvedModule) + } } t := c.newObjectType(ObjectFlagsAnonymous, symbol) if symbol.Flags&ast.SymbolFlagsClass != 0 { @@ -17567,13 +17573,13 @@ func (c *Checker) getWidenedTypeForAssignmentDeclaration(symbol *ast.Symbol) *Ty if t == nil { var types []*Type for i, declaration := range symbol.Declarations { - if (ast.IsBinaryExpression(declaration) || ast.IsJSExportAssignment(declaration)) && declaration.Type() != nil { + if ast.IsBinaryExpression(declaration) && declaration.Type() != nil { t = c.getTypeFromTypeNode(declaration.Type()) break } assignedType := c.getAssignmentDeclarationInitializerType(declaration) // We ignore initial assignments of undefined to CommonJS exports when there are multiple assignment declarations - if !ast.IsCommonJSExport(declaration) || i != 0 || len(symbol.Declarations) == 1 || assignedType.flags&TypeFlagsUndefined == 0 { + if ast.GetAssignmentDeclarationKind(declaration) != ast.JSDeclarationKindExportsProperty || i != 0 || len(symbol.Declarations) == 1 || assignedType.flags&TypeFlagsUndefined == 0 { types = core.AppendIfUnique(types, assignedType) } } @@ -17597,17 +17603,15 @@ func (c *Checker) getWidenedTypeForAssignmentDeclaration(symbol *ast.Symbol) *Ty func (c *Checker) getAssignmentDeclarationInitializerType(node *ast.Node) *Type { if ast.IsBinaryExpression(node) { + switch ast.GetAssignmentDeclarationKind(node) { + case ast.JSDeclarationKindModuleExports, ast.JSDeclarationKindExportsProperty: + return c.getRegularTypeOfLiteralType(c.checkExpressionCached(node.AsBinaryExpression().Right)) + } return c.checkExpressionForMutableLocation(node.AsBinaryExpression().Right, CheckModeNormal) } if ast.IsCallExpression(node) { return c.getTypeFromPropertyDescriptor(node.Arguments()[2]) } - if ast.IsJSExportAssignment(node) { - return c.getRegularTypeOfLiteralType(c.checkExpressionCached(node.Expression())) - } - if ast.IsCommonJSExport(node) { - return c.getRegularTypeOfLiteralType(c.checkExpressionCached(node.Initializer())) - } return c.neverType } @@ -23988,8 +23992,11 @@ func (c *Checker) getTypeFromImportTypeNode(node *ast.Node) *Type { symbolFromModule = c.getSymbol(c.getExportsOfSymbol(mergedResolvedSymbol), current.Text(), meaning) if symbolFromModule == nil { // a CommonJS module might have typedefs exported alongside an export= + // !!! immediateModuleSymbol := c.resolveExternalModuleSymbol(innerModuleSymbol, true /*dontResolveAlias*/) - if immediateModuleSymbol != nil && core.Some(immediateModuleSymbol.Declarations, func(d *ast.Node) bool { return d.Kind == ast.KindJSExportAssignment }) { + if immediateModuleSymbol != nil && core.Some(immediateModuleSymbol.Declarations, func(d *ast.Node) bool { + return ast.GetAssignmentDeclarationKind(d) == ast.JSDeclarationKindModuleExports + }) { symbolFromModule = c.getSymbol(c.getExportsOfSymbol(immediateModuleSymbol.Parent), current.Text(), meaning) } } @@ -28436,7 +28443,7 @@ func (c *Checker) getContextualType(node *ast.Node, contextFlags ContextFlags) * return c.getContextualType(parent, contextFlags) case ast.KindSatisfiesExpression: return c.getTypeFromTypeNode(parent.Type()) - case ast.KindExportAssignment, ast.KindJSExportAssignment, ast.KindCommonJSExport: + case ast.KindExportAssignment: return c.tryGetTypeFromTypeNode(parent) case ast.KindJsxExpression: return c.getContextualTypeForJsxExpression(parent, contextFlags) @@ -28854,7 +28861,7 @@ func (c *Checker) getContextualTypeForBinaryOperand(node *ast.Node, contextFlags // In an assignment expression, the right operand is contextually typed by the type of the left operand // unless it's an assignment declaration. kind := ast.GetAssignmentDeclarationKind(binary.AsNode()) - if node == binary.Right && kind != ast.JSDeclarationKindModuleExports && kind != ast.JSDeclarationKindExportsProperty { + if node == binary.Right && !((kind == ast.JSDeclarationKindModuleExports || kind == ast.JSDeclarationKindExportsProperty) && binary.Symbol != nil) { return c.getContextualTypeForAssignmentExpression(binary) } case ast.KindBarBarToken, ast.KindQuestionQuestionToken: @@ -30816,8 +30823,15 @@ func (c *Checker) getSymbolOfNameOrPropertyAccessExpression(name *ast.Node) *ast if ast.IsDeclarationName(name) { return c.getSymbolOfNode(name.Parent) } - - if (name.Parent.Kind == ast.KindExportAssignment || name.Parent.Kind == ast.KindJSExportAssignment) && ast.IsEntityNameExpression(name) { + if ast.IsInJSFile(name) && ast.IsPropertyAccessExpression(name.Parent) && ast.IsBinaryExpression(name.Parent.Parent) && + name == name.Parent.Name() && name.Parent == name.Parent.Parent.AsBinaryExpression().Left && + ast.GetAssignmentDeclarationKind(name.Parent.Parent) == ast.JSDeclarationKindModuleExports { + // For a reference to `exports` in `module.exports = ...` we obtain the `export=` symbol + if symbol := c.getSymbolOfNode(name.Parent.Parent); symbol != nil { + return symbol + } + } + if name.Parent.Kind == ast.KindExportAssignment && ast.IsEntityNameExpression(name) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression success := c.resolveEntityName( name, diff --git a/internal/checker/emitresolver.go b/internal/checker/emitresolver.go index d6dc813ea41..f9a4ee3d910 100644 --- a/internal/checker/emitresolver.go +++ b/internal/checker/emitresolver.go @@ -216,7 +216,7 @@ func (r *EmitResolver) determineIfDeclarationIsVisible(node *ast.Node) bool { return true // Export assignments do not create name bindings outside the module - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: return false default: @@ -237,9 +237,19 @@ func (r *EmitResolver) PrecalculateDeclarationEmitVisibility(file *ast.SourceFil file.AsNode().ForEachChild(r.aliasMarkingVisitor) } +func isCommonJSModuleExports(node *ast.Node) bool { + return ast.IsBinaryExpression(node) && ast.IsExpressionStatement(node.Parent) && ast.IsSourceFile(node.Parent.Parent) && + node.Parent.Parent.AsSourceFile().CommonJSModuleIndicator != nil && + ast.GetAssignmentDeclarationKind(node) == ast.JSDeclarationKindModuleExports +} + func (r *EmitResolver) aliasMarkingVisitorWorker(node *ast.Node) bool { switch node.Kind { - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindBinaryExpression: + if isCommonJSModuleExports(node) && ast.IsIdentifier(node.AsBinaryExpression().Right) { + r.markLinkedAliases(node.AsBinaryExpression().Right) + } + case ast.KindExportAssignment: if node.Expression().Kind == ast.KindIdentifier { r.markLinkedAliases(node.Expression()) } @@ -253,7 +263,7 @@ func (r *EmitResolver) aliasMarkingVisitorWorker(node *ast.Node) bool { // Follows chains of import d = a.b.c func (r *EmitResolver) markLinkedAliases(node *ast.Node) { var exportSymbol *ast.Symbol - if node.Kind != ast.KindStringLiteral && node.Parent != nil && (ast.IsExportAssignment(node.Parent) || ast.IsJSExportAssignment(node.Parent)) { + if node.Kind != ast.KindStringLiteral && node.Parent != nil && (ast.IsExportAssignment(node.Parent) || isCommonJSModuleExports(node.Parent)) { exportSymbol = r.checker.resolveName(node, node.Text(), ast.SymbolFlagsValue|ast.SymbolFlagsType|ast.SymbolFlagsNamespace|ast.SymbolFlagsAlias /*nameNotFoundMessage*/, nil /*isUse*/, false, false) } else if node.Parent.Kind == ast.KindExportSpecifier { exportSymbol = r.checker.getTargetOfExportSpecifier(node.Parent, ast.SymbolFlagsValue|ast.SymbolFlagsType|ast.SymbolFlagsNamespace|ast.SymbolFlagsAlias, false) @@ -716,11 +726,15 @@ func (r *EmitResolver) isValueAliasDeclarationWorker(node *ast.Node) bool { exportClause := node.AsExportDeclaration().ExportClause return exportClause != nil && (ast.IsNamespaceExport(exportClause) || core.Some(exportClause.Elements(), r.isValueAliasDeclaration)) - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: if node.Expression() != nil && node.Expression().Kind == ast.KindIdentifier { return r.isAliasResolvedToValue(c.getSymbolOfDeclaration(node), true /*excludeTypeOnlyValues*/) } return true + case ast.KindBinaryExpression: + if isCommonJSModuleExports(node) && ast.IsIdentifier(node.AsBinaryExpression().Right) { + return r.isAliasResolvedToValue(c.getSymbolOfDeclaration(node), true /*excludeTypeOnlyValues*/) + } } return false } @@ -779,9 +793,6 @@ func (r *EmitResolver) MarkLinkedReferencesRecursively(file *ast.SourceFile) { if ast.IsImportEqualsDeclaration(n) && n.ModifierFlags()&ast.ModifierFlagsExport == 0 { return false // These are deferred and marked in a chain when referenced } - if ast.IsJSExportAssignment(n) { - return false - } if ast.IsImportDeclaration(n) { return false // likewise, these are ultimately what get marked by calls on other nodes - we want to skip them } diff --git a/internal/checker/grammarchecks.go b/internal/checker/grammarchecks.go index a40444de1f1..f63bdc63278 100644 --- a/internal/checker/grammarchecks.go +++ b/internal/checker/grammarchecks.go @@ -599,7 +599,6 @@ func (c *Checker) findFirstIllegalModifier(node *ast.Node) *ast.Node { ast.KindImportEqualsDeclaration, ast.KindExportDeclaration, ast.KindExportAssignment, - ast.KindJSExportAssignment, ast.KindFunctionExpression, ast.KindArrowFunction, ast.KindParameter, @@ -2028,7 +2027,7 @@ func (c *Checker) checkGrammarTopLevelElementForRequiredDeclareModifier(node *as // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if node.Kind == ast.KindInterfaceDeclaration || node.Kind == ast.KindTypeAliasDeclaration || node.Kind == ast.KindImportDeclaration || node.Kind == ast.KindJSImportDeclaration || node.Kind == ast.KindImportEqualsDeclaration || node.Kind == ast.KindExportDeclaration || node.Kind == ast.KindExportAssignment || node.Kind == ast.KindJSExportAssignment || node.Kind == ast.KindNamespaceExportDeclaration || ast.HasSyntacticModifier(node, ast.ModifierFlagsAmbient|ast.ModifierFlagsExport|ast.ModifierFlagsDefault) { + if node.Kind == ast.KindInterfaceDeclaration || node.Kind == ast.KindTypeAliasDeclaration || node.Kind == ast.KindImportDeclaration || node.Kind == ast.KindJSImportDeclaration || node.Kind == ast.KindImportEqualsDeclaration || node.Kind == ast.KindExportDeclaration || node.Kind == ast.KindExportAssignment || node.Kind == ast.KindNamespaceExportDeclaration || ast.HasSyntacticModifier(node, ast.ModifierFlagsAmbient|ast.ModifierFlagsExport|ast.ModifierFlagsDefault) { return false } diff --git a/internal/checker/utilities.go b/internal/checker/utilities.go index d7d592cb448..5581a50456b 100644 --- a/internal/checker/utilities.go +++ b/internal/checker/utilities.go @@ -183,7 +183,7 @@ func isShorthandAmbientModule(node *ast.Node) bool { func getAliasDeclarationFromName(node *ast.Node) *ast.Node { switch node.Parent.Kind { - case ast.KindImportClause, ast.KindImportSpecifier, ast.KindNamespaceImport, ast.KindExportSpecifier, ast.KindExportAssignment, ast.KindJSExportAssignment, + case ast.KindImportClause, ast.KindImportSpecifier, ast.KindNamespaceImport, ast.KindExportSpecifier, ast.KindExportAssignment, ast.KindImportEqualsDeclaration, ast.KindNamespaceExport: return node.Parent case ast.KindQualifiedName: @@ -1072,7 +1072,7 @@ func isInRightSideOfImportOrExportAssignment(node *ast.EntityName) bool { } return node.Parent.Kind == ast.KindImportEqualsDeclaration && node.Parent.AsImportEqualsDeclaration().ModuleReference == node || - (node.Parent.Kind == ast.KindExportAssignment || node.Parent.Kind == ast.KindJSExportAssignment) && node.Parent.Expression() == node + node.Parent.Kind == ast.KindExportAssignment && node.Parent.Expression() == node } func isJsxIntrinsicTagName(tagName *ast.Node) bool { diff --git a/internal/execute/incremental/programtosnapshot.go b/internal/execute/incremental/programtosnapshot.go index cb5c1efd741..49ffb300361 100644 --- a/internal/execute/incremental/programtosnapshot.go +++ b/internal/execute/incremental/programtosnapshot.go @@ -4,6 +4,7 @@ import ( "context" "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/binder" "github.com/microsoft/typescript-go/internal/checker" "github.com/microsoft/typescript-go/internal/collections" "github.com/microsoft/typescript-go/internal/compiler" @@ -203,6 +204,7 @@ func (t *toProgramSnapshot) handlePendingCheck() { } func fileAffectsGlobalScope(file *ast.SourceFile) bool { + binder.BindSourceFile(file) // if file contains anything that augments to global scope we need to build them as if // they are global files as well as module if core.Some(file.ModuleAugmentations, func(augmentation *ast.ModuleName) bool { diff --git a/internal/ls/autoimport/extract.go b/internal/ls/autoimport/extract.go index 8d2a402fa1c..f668000c754 100644 --- a/internal/ls/autoimport/extract.go +++ b/internal/ls/autoimport/extract.go @@ -226,7 +226,7 @@ func (e *symbolExtractor) extractFromSymbol(name string, symbol *ast.Symbol, mod } } } else if syntax == ExportSyntaxCommonJSModuleExports { - expression := symbol.Declarations[0].AsExportAssignment().Expression + expression := symbol.Declarations[0].AsBinaryExpression().Right if expression.Kind == ast.KindObjectLiteralExpression { // what is actually desirable here? I think it would be reasonable to only treat these as exports // if *every* property is a shorthand property or identifier: identifier @@ -416,10 +416,13 @@ func getSyntax(symbol *ast.Symbol) ExportSyntax { ) case ast.KindNamespaceExportDeclaration: return ExportSyntaxUMD - case ast.KindJSExportAssignment: - return ExportSyntaxCommonJSModuleExports - case ast.KindCommonJSExport: - return ExportSyntaxCommonJSExportsProperty + case ast.KindBinaryExpression: + switch ast.GetAssignmentDeclarationKind(decl) { + case ast.JSDeclarationKindModuleExports: + return ExportSyntaxCommonJSModuleExports + case ast.JSDeclarationKindExportsProperty: + return ExportSyntaxCommonJSExportsProperty + } default: if ast.GetCombinedModifierFlags(decl)&ast.ModifierFlagsDefault != 0 { return ExportSyntaxDefaultModifier diff --git a/internal/ls/findallreferences.go b/internal/ls/findallreferences.go index d8e1c3d54a4..82fef2362bb 100644 --- a/internal/ls/findallreferences.go +++ b/internal/ls/findallreferences.go @@ -178,15 +178,16 @@ func getContextNodeForNodeEntry(node *ast.Node) *ast.Node { return nil } - if !ast.IsDeclaration(node.Parent) && node.Parent.Kind != ast.KindExportAssignment && node.Parent.Kind != ast.KindJSExportAssignment { + if !ast.IsDeclaration(node.Parent) && !ast.IsExportAssignment(node.Parent) { // Special property assignment in javascript if ast.IsInJSFile(node) { // !!! jsdoc: check if branch still needed - binaryExpression := core.IfElse(node.Parent.Kind == ast.KindBinaryExpression, - node.Parent, - core.IfElse(ast.IsAccessExpression(node.Parent) && node.Parent.Parent.Kind == ast.KindBinaryExpression && node.Parent.Parent.AsBinaryExpression().Left == node.Parent, - node.Parent.Parent, - nil)) + var binaryExpression *ast.Node + if ast.IsBinaryExpression(node.Parent) { + binaryExpression = node.Parent + } else if ast.IsAccessExpression(node.Parent) && ast.IsBinaryExpression(node.Parent.Parent) && node.Parent.Parent.AsBinaryExpression().Left == node.Parent { + binaryExpression = node.Parent.Parent + } if binaryExpression != nil && ast.GetAssignmentDeclarationKind(binaryExpression) != ast.JSDeclarationKindNone { return getContextNode(binaryExpression) } @@ -221,7 +222,6 @@ func getContextNodeForNodeEntry(node *ast.Node) *ast.Node { if node.Parent.Name() == node || // node is name of declaration, use parent node.Parent.Kind == ast.KindConstructor || node.Parent.Kind == ast.KindExportAssignment || - node.Parent.Kind == ast.KindJSExportAssignment || // Property name of the import export specifier or binding pattern, use parent ((ast.IsImportOrExportSpecifier(node.Parent) || node.Parent.Kind == ast.KindBindingElement) && node.Parent.PropertyName() == node) || // Is default export diff --git a/internal/ls/sourcedefinition.go b/internal/ls/sourcedefinition.go index 48503ebc276..023e6da1a59 100644 --- a/internal/ls/sourcedefinition.go +++ b/internal/ls/sourcedefinition.go @@ -653,7 +653,7 @@ func hasConcreteSourceDeclarations(declarations []*ast.Node) bool { } func isConcreteSourceDeclaration(node *ast.Node) bool { - if !ast.IsDeclaration(node) || node.Kind == ast.KindExportAssignment || node.Kind == ast.KindJSExportAssignment { + if !ast.IsDeclaration(node) || node.Kind == ast.KindExportAssignment { return false } if (ast.IsBinaryExpression(node) || ast.IsCallExpression(node)) && ast.GetAssignmentDeclarationKind(node) != ast.JSDeclarationKindNone { @@ -668,8 +668,7 @@ func isConcreteSourceDeclaration(node *ast.Node) bool { ast.KindNamespaceImport, ast.KindExportSpecifier, ast.KindPropertyAccessExpression, - ast.KindElementAccessExpression, - ast.KindCommonJSExport: + ast.KindElementAccessExpression: return false default: return true diff --git a/internal/ls/symbols.go b/internal/ls/symbols.go index 43e00691f64..b7e0a102052 100644 --- a/internal/ls/symbols.go +++ b/internal/ls/symbols.go @@ -73,7 +73,7 @@ func (l *LanguageService) getDocumentSymbolsForChildren(ctx context.Context, nod var symbols []*lsproto.DocumentSymbol expandoTargets := collections.Set[string]{} addSymbolForNode := func(node *ast.Node, name *ast.Node, children []*lsproto.DocumentSymbol) { - if node.Flags&ast.NodeFlagsReparsed == 0 || node.Kind == ast.KindJSExportAssignment { + if node.Flags&ast.NodeFlagsReparsed == 0 { symbol := l.newDocumentSymbol(node, name, children) if symbol != nil { symbols = append(symbols, symbol) @@ -241,7 +241,7 @@ func (l *LanguageService) getDocumentSymbolsForChildren(ctx context.Context, nod node.ForEachChild(visit) } } - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: if node.AsExportAssignment().IsExportEquals { addSymbolForNode(node, nil /*name*/, getSymbolsForNode(node.Expression())) } else { diff --git a/internal/ls/utilities.go b/internal/ls/utilities.go index 38fd4169965..c42fa556bf8 100644 --- a/internal/ls/utilities.go +++ b/internal/ls/utilities.go @@ -838,7 +838,7 @@ func getMeaningFromLocation(node *ast.Node) ast.SemanticMeaning { func getMeaningFromDeclaration(node *ast.Node) ast.SemanticMeaning { switch node.Kind { - case ast.KindVariableDeclaration, ast.KindCommonJSExport, ast.KindParameter, ast.KindBindingElement, + case ast.KindVariableDeclaration, ast.KindParameter, ast.KindBindingElement, ast.KindPropertyDeclaration, ast.KindPropertySignature, ast.KindPropertyAssignment, ast.KindShorthandPropertyAssignment, ast.KindMethodDeclaration, ast.KindMethodSignature, ast.KindConstructor, ast.KindGetAccessor, ast.KindSetAccessor, ast.KindFunctionDeclaration, ast.KindFunctionExpression, ast.KindArrowFunction, ast.KindCatchClause, ast.KindJsxAttribute: @@ -860,7 +860,7 @@ func getMeaningFromDeclaration(node *ast.Node) ast.SemanticMeaning { } case ast.KindEnumDeclaration, ast.KindNamedImports, ast.KindImportSpecifier, ast.KindImportEqualsDeclaration, ast.KindImportDeclaration, - ast.KindJSImportDeclaration, ast.KindExportAssignment, ast.KindJSExportAssignment, ast.KindExportDeclaration: + ast.KindJSImportDeclaration, ast.KindExportAssignment, ast.KindExportDeclaration: return ast.SemanticMeaningAll // An external module can be a Value diff --git a/internal/parser/parser.go b/internal/parser/parser.go index 7fc9a1865f2..f6bf7c74ec1 100644 --- a/internal/parser/parser.go +++ b/internal/parser/parser.go @@ -1534,8 +1534,7 @@ func (p *Parser) parseExpressionOrLabeledStatement() *ast.Statement { if hasParen { jsdoc &^= jsdocScannerInfoHasJSDoc } - jsdocs := p.withJSDoc(result, jsdoc) - p.reparseCommonJS(result, jsdocs) + p.withJSDoc(result, jsdoc) return result } diff --git a/internal/parser/reparser.go b/internal/parser/reparser.go index bf43e98a365..9c700609c31 100644 --- a/internal/parser/reparser.go +++ b/internal/parser/reparser.go @@ -26,36 +26,6 @@ func (p *Parser) addDeepCloneReparse(node *ast.Node) *ast.Node { return clone } -func (p *Parser) reparseCommonJS(node *ast.Node, jsdoc []*ast.Node) { - if !p.isJavaScript() || node.Kind != ast.KindExpressionStatement { - return - } - // Loop here to support chained assignments, e.g. exports.a = exports.b = exports.c = 42 - expr := node.Expression() - for { - var export *ast.Node - switch ast.GetAssignmentDeclarationKind(expr) { - case ast.JSDeclarationKindModuleExports: - export = p.factory.NewJSExportAssignment(nil, true, nil, p.factory.DeepCloneReparse(expr.AsBinaryExpression().Right)) - case ast.JSDeclarationKindExportsProperty: - // TODO: Name can sometimes be a string literal, so downstream code needs to handle this - export = p.factory.NewCommonJSExport( - nil, - p.factory.DeepCloneReparse(ast.GetElementOrPropertyAccessName(expr.AsBinaryExpression().Left)), - nil, /*typeNode*/ - p.factory.DeepCloneReparse(expr.AsBinaryExpression().Right)) - } - if export == nil { - break - } - p.reparseList = append(p.reparseList, export) - p.commonJSModuleIndicator = export - p.reparseTags(export, jsdoc) - p.finishReparsedNode(export, expr) - expr = expr.AsBinaryExpression().Right - } -} - // Hosted tags find a host and add their children to the correct location under the host. // Unhosted tags add synthetic nodes to the reparse list. func (p *Parser) reparseTags(parent *ast.Node, jsDoc []*ast.Node) { @@ -66,9 +36,7 @@ func (p *Parser) reparseTags(parent *ast.Node, jsDoc []*ast.Node) { continue } for _, tag := range tags.Nodes { - if parent.Kind != ast.KindCommonJSExport && parent.Kind != ast.KindJSExportAssignment { - p.reparseUnhosted(tag, parent, j) - } + p.reparseUnhosted(tag, parent, j) if isLast { p.reparseHosted(tag, parent, j) } @@ -319,9 +287,8 @@ func (p *Parser) reparseHosted(tag *ast.Node, parent *ast.Node, jsDoc *ast.Node) } } } - case ast.KindVariableDeclaration, - ast.KindCommonJSExport, ast.KindExportAssignment, ast.KindJSExportAssignment, - ast.KindPropertyDeclaration, ast.KindPropertyAssignment, ast.KindShorthandPropertyAssignment: + case ast.KindVariableDeclaration, ast.KindExportAssignment, ast.KindPropertyDeclaration, ast.KindPropertyAssignment, + ast.KindShorthandPropertyAssignment: if parent.Type() == nil && tag.TypeExpression() != nil { parent.AsMutable().SetType(p.addDeepCloneReparse(tag.TypeExpression().Type())) p.finishMutatedNode(parent) @@ -374,9 +341,7 @@ func (p *Parser) reparseHosted(tag *ast.Node, parent *ast.Node, jsDoc *ast.Node) } } } - case ast.KindVariableDeclaration, - ast.KindCommonJSExport, - ast.KindPropertyDeclaration, ast.KindPropertyAssignment: + case ast.KindVariableDeclaration, ast.KindPropertyDeclaration, ast.KindPropertyAssignment: if parent.Initializer() != nil && tag.TypeExpression() != nil { parent.AsMutable().SetInitializer(p.makeNewCast( p.addDeepCloneReparse(tag.TypeExpression().Type()), @@ -393,8 +358,7 @@ func (p *Parser) reparseHosted(tag *ast.Node, parent *ast.Node, jsDoc *ast.Node) false /*isAssertion*/) p.finishMutatedNode(parent) } - case ast.KindReturnStatement, ast.KindParenthesizedExpression, - ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindReturnStatement, ast.KindParenthesizedExpression, ast.KindExportAssignment: if parent.Expression() != nil && tag.TypeExpression() != nil { parent.AsMutable().SetExpression(p.makeNewCast( p.addDeepCloneReparse(tag.TypeExpression().Type()), @@ -619,8 +583,6 @@ func getFunctionLikeHost(host *ast.Node) *ast.Node { fun = host.Expression() } else if host.Kind == ast.KindExpressionStatement { fun = ast.GetRightMostAssignedExpression(host.Expression()) - } else if host.Kind == ast.KindCommonJSExport { - fun = ast.GetRightMostAssignedExpression(host.Initializer()) } if ast.IsFunctionLike(fun) { return fun diff --git a/internal/printer/printer.go b/internal/printer/printer.go index 8e436b023b2..8de6ac24077 100644 --- a/internal/printer/printer.go +++ b/internal/printer/printer.go @@ -4168,12 +4168,10 @@ func (p *Printer) emitStatement(node *ast.Statement) { p.emitImportEqualsDeclaration(node.AsImportEqualsDeclaration()) case ast.KindImportDeclaration: p.emitImportDeclaration(node.AsImportDeclaration()) - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: p.emitExportAssignment(node.AsExportAssignment()) case ast.KindExportDeclaration: p.emitExportDeclaration(node.AsExportDeclaration()) - case ast.KindCommonJSExport: - break default: panic(fmt.Sprintf("unhandled statement: %v", node.Kind)) diff --git a/internal/pseudochecker/lookup.go b/internal/pseudochecker/lookup.go index 61b11558098..5012fee0580 100644 --- a/internal/pseudochecker/lookup.go +++ b/internal/pseudochecker/lookup.go @@ -45,18 +45,12 @@ func (ch *PseudoChecker) GetTypeOfDeclaration(node *ast.Node) *PseudoType { return ch.typeFromProperty(node) case ast.KindBindingElement: return NewPseudoTypeNoResult(node) - case ast.KindExportAssignment, ast.KindJSExportAssignment: + case ast.KindExportAssignment: return ch.typeFromExpression(node.AsExportAssignment().Expression) case ast.KindPropertyAccessExpression, ast.KindElementAccessExpression, ast.KindBinaryExpression: return ch.typeFromExpandoProperty(node) case ast.KindPropertyAssignment, ast.KindShorthandPropertyAssignment: return ch.typeFromPropertyAssignment(node) - case ast.KindCommonJSExport: - t := node.AsCommonJSExport().Type - if t != nil { - return NewPseudoTypeDirect(t) - } - return ch.typeFromExpression(node.AsCommonJSExport().Initializer) case ast.KindCallExpression: switch ast.GetAssignmentDeclarationKind(node) { // TODO: How much of the checker's getTypeFromPropertyDescriptor is worth trying to emulate over ASTs? diff --git a/internal/transformers/declarations/transform.go b/internal/transformers/declarations/transform.go index 59271ada5f4..f7938eab82b 100644 --- a/internal/transformers/declarations/transform.go +++ b/internal/transformers/declarations/transform.go @@ -201,9 +201,7 @@ func (tx *DeclarationTransformer) visit(node *ast.Node) *ast.Node { ast.KindImportDeclaration, ast.KindJSImportDeclaration, ast.KindExportDeclaration, - ast.KindJSExportAssignment, - ast.KindExportAssignment, - ast.KindCommonJSExport: + ast.KindExportAssignment: return tx.visitDeclarationStatements(node) // statements we elide case ast.KindBreakStatement, @@ -227,7 +225,7 @@ func (tx *DeclarationTransformer) visit(node *ast.Node) *ast.Node { ast.KindMissingDeclaration: return nil case ast.KindExpressionStatement: - return tx.visitExpressionStatement(node.AsExpressionStatement()) + return tx.visitExpressionStatement(node) // parts of things, things we just visit children of default: return tx.visitDeclarationSubtree(node) @@ -1018,44 +1016,8 @@ func (tx *DeclarationTransformer) visitDeclarationStatements(input *ast.Node) *a tx.rewriteModuleSpecifier(input, input.ModuleSpecifier()), tx.tryGetResolutionModeOverride(input.AsExportDeclaration().Attributes), ) - case ast.KindCommonJSExport: - if ast.IsSourceFile(input.Parent) { - return tx.transformCommonJSExport(input, input.Name()) - } - return nil - case ast.KindExportAssignment, ast.KindJSExportAssignment: - if ast.IsSourceFile(input.Parent) { - tx.resultHasExternalModuleIndicator = true - } - tx.resultHasScopeMarker = true - if input.Expression().Kind == ast.KindIdentifier { - return input - } - // expression is non-identifier, create _default typed variable to reference - newId := tx.Factory().NewUniqueNameEx("_default", printer.AutoGenerateOptions{Flags: printer.GeneratedIdentifierFlagsOptimistic}) - tx.state.getSymbolAccessibilityDiagnostic = func(_ printer.SymbolAccessibilityResult) *SymbolAccessibilityDiagnostic { - return &SymbolAccessibilityDiagnostic{ - diagnosticMessage: diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0, - errorNode: input, - } - } - tx.tracker.PushErrorFallbackNode(input) - type_ := tx.ensureType(input, false) - varDecl := tx.Factory().NewVariableDeclaration(newId, nil, type_, nil) - tx.tracker.PopErrorFallbackNode() - var modList *ast.ModifierList - if tx.needsDeclare { - modList = tx.Factory().NewModifierList([]*ast.Node{tx.Factory().NewModifier(ast.KindDeclareKeyword)}) - } else { - modList = tx.Factory().NewModifierList([]*ast.Node{}) - } - statement := tx.Factory().NewVariableStatement(modList, tx.Factory().NewVariableDeclarationList(tx.Factory().NewNodeList([]*ast.Node{varDecl}), ast.NodeFlagsConst)) - - assignment := tx.Factory().UpdateExportAssignment(input.AsExportAssignment(), input.Modifiers(), input.AsExportAssignment().IsExportEquals, input.Type(), newId) - // Remove comments from the export declaration and copy them onto the synthetic _default declaration - tx.preserveJsDoc(statement, input) - tx.removeAllComments(assignment) - return tx.Factory().NewSyntaxList([]*ast.Node{statement, assignment}) + case ast.KindExportAssignment: + return tx.transformExportAssignment(input, input, input.Expression(), input.AsExportAssignment().IsExportEquals) default: id := ast.GetNodeId(tx.EmitContext().MostOriginal(input)) if tx.lateStatementReplacementMap[id] == nil { @@ -1066,6 +1028,41 @@ func (tx *DeclarationTransformer) visitDeclarationStatements(input *ast.Node) *a } } +func (tx *DeclarationTransformer) transformExportAssignment(input *ast.Node, assignment *ast.Node, expression *ast.Node, isExportEquals bool) *ast.Node { + if ast.IsSourceFile(input.Parent) { + tx.resultHasExternalModuleIndicator = true + } + tx.resultHasScopeMarker = true + if ast.IsIdentifier(expression) { + exportAssignment := tx.Factory().NewExportAssignment(nil, isExportEquals, nil, expression) + tx.preserveJsDoc(exportAssignment, input) + return exportAssignment + } + // expression is non-identifier, create _default typed variable to reference + newId := tx.Factory().NewUniqueNameEx("_default", printer.AutoGenerateOptions{Flags: printer.GeneratedIdentifierFlagsOptimistic}) + tx.state.getSymbolAccessibilityDiagnostic = func(_ printer.SymbolAccessibilityResult) *SymbolAccessibilityDiagnostic { + return &SymbolAccessibilityDiagnostic{ + diagnosticMessage: diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0, + errorNode: input, + } + } + tx.tracker.PushErrorFallbackNode(assignment) + type_ := tx.ensureType(assignment, false) + varDecl := tx.Factory().NewVariableDeclaration(newId, nil, type_, nil) + tx.tracker.PopErrorFallbackNode() + var modList *ast.ModifierList + if tx.needsDeclare { + modList = tx.Factory().NewModifierList([]*ast.Node{tx.Factory().NewModifier(ast.KindDeclareKeyword)}) + } else { + modList = tx.Factory().NewModifierList([]*ast.Node{}) + } + statement := tx.Factory().NewVariableStatement(modList, tx.Factory().NewVariableDeclarationList(tx.Factory().NewNodeList([]*ast.Node{varDecl}), ast.NodeFlagsConst)) + exportAssignment := tx.Factory().NewExportAssignment(nil, isExportEquals, nil, newId) + // Remove comments from the export declaration and copy them onto the synthetic _default declaration + tx.preserveJsDoc(statement, input) + return tx.Factory().NewSyntaxList([]*ast.Node{statement, exportAssignment}) +} + func (tx *DeclarationTransformer) transformCommonJSExport(input *ast.Node, name *ast.Node) *ast.Node { tx.resultHasExternalModuleIndicator = true tx.resultHasScopeMarker = true @@ -1999,17 +1996,23 @@ func (tx *DeclarationTransformer) transformJSDocOptionalType(input *ast.JSDocOpt return replacement } -func (tx *DeclarationTransformer) visitExpressionStatement(node *ast.ExpressionStatement) *ast.Node { - expression := node.Expression - if expression == nil { - return nil - } - switch ast.GetAssignmentDeclarationKind(expression) { - case ast.JSDeclarationKindProperty: - return tx.transformExpandoAssignment(expression.AsBinaryExpression()) - case ast.JSDeclarationKindObjectDefinePropertyExports: - if ast.IsSourceFile(node.Parent) { - return tx.transformCommonJSExport(expression, expression.Arguments()[1]) +func (tx *DeclarationTransformer) visitExpressionStatement(node *ast.Node) *ast.Node { + if expression := node.Expression(); expression != nil { + switch ast.GetAssignmentDeclarationKind(expression) { + case ast.JSDeclarationKindModuleExports: + if ast.IsSourceFile(node.Parent) && node.Parent.AsSourceFile().CommonJSModuleIndicator != nil { + return tx.transformExportAssignment(node, expression, expression.AsBinaryExpression().Right, true /*isExportEquals*/) + } + case ast.JSDeclarationKindExportsProperty: + if ast.IsSourceFile(node.Parent) && node.Parent.AsSourceFile().CommonJSModuleIndicator != nil { + return tx.transformCommonJSExport(expression, ast.GetElementOrPropertyAccessName(expression.AsBinaryExpression().Left)) + } + case ast.JSDeclarationKindProperty: + return tx.transformExpandoAssignment(expression.AsBinaryExpression()) + case ast.JSDeclarationKindObjectDefinePropertyExports: + if ast.IsSourceFile(node.Parent) && node.Parent.AsSourceFile().CommonJSModuleIndicator != nil { + return tx.transformCommonJSExport(expression, expression.Arguments()[1]) + } } } return nil diff --git a/internal/transformers/declarations/util.go b/internal/transformers/declarations/util.go index f19f6912d4d..103bbad7cb1 100644 --- a/internal/transformers/declarations/util.go +++ b/internal/transformers/declarations/util.go @@ -66,7 +66,6 @@ func isDeclarationAndNotVisible(emitContext *printer.EmitContext, resolver print ast.KindImportDeclaration, ast.KindJSImportDeclaration, ast.KindExportDeclaration, - ast.KindJSExportAssignment, ast.KindExportAssignment: return false case ast.KindClassStaticBlockDeclaration: diff --git a/internal/transformers/tstransforms/typeeraser.go b/internal/transformers/tstransforms/typeeraser.go index e48cb60eed8..443e74ac259 100644 --- a/internal/transformers/tstransforms/typeeraser.go +++ b/internal/transformers/tstransforms/typeeraser.go @@ -96,7 +96,7 @@ func (tx *TypeEraserTransformer) visit(node *ast.Node) *ast.Node { ast.KindIndexSignature: return nil - case ast.KindJSExportAssignment, ast.KindJSImportDeclaration: + case ast.KindJSImportDeclaration: // reparsed commonjs are elided return nil case ast.KindTypeAliasDeclaration, diff --git a/internal/transformers/utilities.go b/internal/transformers/utilities.go index 2f54ee9c1a3..9158ea50c41 100644 --- a/internal/transformers/utilities.go +++ b/internal/transformers/utilities.go @@ -63,7 +63,6 @@ func IsIdentifierReference(name *ast.IdentifierNode, parent *ast.Node) bool { ast.KindThrowStatement, ast.KindExpressionStatement, ast.KindExportAssignment, - ast.KindJSExportAssignment, ast.KindPropertyAccessExpression, ast.KindTemplateSpan: // only an `Expression()` child that can be `Identifier` would be an instance of `IdentifierReference` diff --git a/testdata/baselines/reference/compiler/erasableSyntaxOnlyJS.symbols b/testdata/baselines/reference/compiler/erasableSyntaxOnlyJS.symbols index 7047ea55f47..44355d6e752 100644 --- a/testdata/baselines/reference/compiler/erasableSyntaxOnlyJS.symbols +++ b/testdata/baselines/reference/compiler/erasableSyntaxOnlyJS.symbols @@ -12,7 +12,7 @@ import foo = require("./foo.js"); module.exports = { >module.exports : Symbol(exports, Decl(bar.cjs, 0, 0)) >module : Symbol(module, Decl(bar.cjs, 0, 0)) ->exports : Symbol(exports, Decl(bar.cjs, 0, 0)) +>exports : Symbol(export=, Decl(bar.cjs, 0, 0)) a: 1, >a : Symbol(a, Decl(bar.cjs, 0, 18)) @@ -22,7 +22,7 @@ module.exports = { module.exports = { >module.exports : Symbol(exports, Decl(foo.js, 0, 0)) >module : Symbol(module, Decl(foo.js, 0, 0)) ->exports : Symbol(exports, Decl(foo.js, 0, 0)) +>exports : Symbol(export=, Decl(foo.js, 0, 0)) b: 2, >b : Symbol(b, Decl(foo.js, 0, 18)) diff --git a/testdata/baselines/reference/compiler/exportAssignmentMerging5.symbols b/testdata/baselines/reference/compiler/exportAssignmentMerging5.symbols index 33438fe0224..f0557725c28 100644 --- a/testdata/baselines/reference/compiler/exportAssignmentMerging5.symbols +++ b/testdata/baselines/reference/compiler/exportAssignmentMerging5.symbols @@ -30,7 +30,7 @@ let v1 = { x: "test" }; module.exports = { a: 1, b: "hello" }; >module.exports : Symbol(exports, Decl(a.js, 0, 0)) >module : Symbol(module, Decl(a.js, 0, 0)) ->exports : Symbol(exports, Decl(a.js, 0, 0)) +>exports : Symbol(export=, Decl(a.js, 0, 0)) >a : Symbol(a, Decl(a.js, 3, 18)) >b : Symbol(b, Decl(a.js, 3, 24)) diff --git a/testdata/baselines/reference/compiler/exportAssignmentMerging6.errors.txt b/testdata/baselines/reference/compiler/exportAssignmentMerging6.errors.txt index 8862bdceab9..f49580ff1f0 100644 --- a/testdata/baselines/reference/compiler/exportAssignmentMerging6.errors.txt +++ b/testdata/baselines/reference/compiler/exportAssignmentMerging6.errors.txt @@ -1,10 +1,16 @@ -a.js(5,1): error TS2309: An export assignment cannot be used in a module with other exported elements. +a.js(5,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. +b.js(2,14): error TS2339: Property 'a' does not exist on type 'typeof import("a")'. +b.js(3,14): error TS2339: Property 'b' does not exist on type 'typeof import("a")'. -==== b.js (0 errors) ==== +==== b.js (2 errors) ==== const a = require("./a"); const c1 = a.a; + ~ +!!! error TS2339: Property 'a' does not exist on type 'typeof import("a")'. const c2 = a.b; + ~ +!!! error TS2339: Property 'b' does not exist on type 'typeof import("a")'. /** @type {a.Foo} */ let v1 = { x: "test" }; @@ -14,5 +20,5 @@ a.js(5,1): error TS2309: An export assignment cannot be used in a module with ot */ export const x = 1; // Causes error module.exports = { a: 1, b: "hello" }; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2309: An export assignment cannot be used in a module with other exported elements. \ No newline at end of file + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. \ No newline at end of file diff --git a/testdata/baselines/reference/compiler/exportAssignmentMerging6.js b/testdata/baselines/reference/compiler/exportAssignmentMerging6.js index 5d8a1625ea3..40f8911c5ff 100644 --- a/testdata/baselines/reference/compiler/exportAssignmentMerging6.js +++ b/testdata/baselines/reference/compiler/exportAssignmentMerging6.js @@ -40,10 +40,5 @@ export type Foo = { * @typedef {{x: string}} Foo */ export declare const x = 1; -declare const _default: { - a: number; - b: string; -}; -export = _default; //// [b.d.ts] export {}; diff --git a/testdata/baselines/reference/compiler/exportAssignmentMerging6.symbols b/testdata/baselines/reference/compiler/exportAssignmentMerging6.symbols index 7395ff1b4d0..5ff3ce043cc 100644 --- a/testdata/baselines/reference/compiler/exportAssignmentMerging6.symbols +++ b/testdata/baselines/reference/compiler/exportAssignmentMerging6.symbols @@ -4,19 +4,15 @@ const a = require("./a"); >a : Symbol(a, Decl(b.js, 0, 5)) >require : Symbol(require) ->"./a" : Symbol("./a", Decl(a.js, 0, 0)) +>"./a" : Symbol(a, Decl(a.js, 0, 0)) const c1 = a.a; >c1 : Symbol(c1, Decl(b.js, 1, 5)) ->a.a : Symbol(a, Decl(a.js, 4, 18)) >a : Symbol(a, Decl(b.js, 0, 5)) ->a : Symbol(a, Decl(a.js, 4, 18)) const c2 = a.b; >c2 : Symbol(c2, Decl(b.js, 2, 5)) ->a.b : Symbol(b, Decl(a.js, 4, 24)) >a : Symbol(a, Decl(b.js, 0, 5)) ->b : Symbol(b, Decl(a.js, 4, 24)) /** @type {a.Foo} */ let v1 = { x: "test" }; @@ -31,9 +27,6 @@ export const x = 1; // Causes error >x : Symbol(x, Decl(a.js, 3, 12)) module.exports = { a: 1, b: "hello" }; ->module.exports : Symbol(exports, Decl(a.js, 0, 0)) ->module : Symbol(module, Decl(a.js, 0, 0)) ->exports : Symbol(exports, Decl(a.js, 0, 0)) >a : Symbol(a, Decl(a.js, 4, 18)) >b : Symbol(b, Decl(a.js, 4, 24)) diff --git a/testdata/baselines/reference/compiler/exportAssignmentMerging6.types b/testdata/baselines/reference/compiler/exportAssignmentMerging6.types index ff9f0070cc0..24014ef0297 100644 --- a/testdata/baselines/reference/compiler/exportAssignmentMerging6.types +++ b/testdata/baselines/reference/compiler/exportAssignmentMerging6.types @@ -2,22 +2,22 @@ === b.js === const a = require("./a"); ->a : { a: number; b: string; } ->require("./a") : { a: number; b: string; } +>a : typeof a +>require("./a") : typeof a >require : any >"./a" : "./a" const c1 = a.a; ->c1 : number ->a.a : number ->a : { a: number; b: string; } ->a : number +>c1 : any +>a.a : any +>a : typeof a +>a : any const c2 = a.b; ->c2 : string ->a.b : string ->a : { a: number; b: string; } ->b : string +>c2 : any +>a.b : any +>a : typeof a +>b : any /** @type {a.Foo} */ let v1 = { x: "test" }; @@ -36,9 +36,9 @@ export const x = 1; // Causes error module.exports = { a: 1, b: "hello" }; >module.exports = { a: 1, b: "hello" } : { a: number; b: string; } ->module.exports : { a: number; b: string; } ->module : { exports: { a: number; b: string; }; } ->exports : { a: number; b: string; } +>module.exports : any +>module : any +>exports : any >{ a: 1, b: "hello" } : { a: number; b: string; } >a : number >1 : 1 diff --git a/testdata/baselines/reference/compiler/multipleModuleExportsAssignments.symbols b/testdata/baselines/reference/compiler/multipleModuleExportsAssignments.symbols index cfe1aca527c..c4784ed3927 100644 --- a/testdata/baselines/reference/compiler/multipleModuleExportsAssignments.symbols +++ b/testdata/baselines/reference/compiler/multipleModuleExportsAssignments.symbols @@ -23,13 +23,13 @@ if (!!true) { module.exports = { a: 1 }; >module.exports : Symbol(exports, Decl(x.js, 0, 0)) >module : Symbol(module, Decl(x.js, 0, 0)) ->exports : Symbol(exports, Decl(x.js, 0, 0)) +>exports : Symbol(export=, Decl(x.js, 0, 13), Decl(x.js, 3, 6)) >a : Symbol(a, Decl(x.js, 1, 22)) } else { module.exports = { b: "hello" }; >module.exports : Symbol(exports, Decl(x.js, 0, 0)) >module : Symbol(module, Decl(x.js, 0, 0)) ->exports : Symbol(exports, Decl(x.js, 0, 0)) +>exports : Symbol(export=, Decl(x.js, 0, 13), Decl(x.js, 3, 6)) >b : Symbol(b, Decl(x.js, 4, 22)) } diff --git a/testdata/baselines/reference/compiler/panicSatisfiesOnExportEqualsDeclaration.symbols b/testdata/baselines/reference/compiler/panicSatisfiesOnExportEqualsDeclaration.symbols index 479530eefc5..f9791632e60 100644 --- a/testdata/baselines/reference/compiler/panicSatisfiesOnExportEqualsDeclaration.symbols +++ b/testdata/baselines/reference/compiler/panicSatisfiesOnExportEqualsDeclaration.symbols @@ -7,5 +7,5 @@ module.exports = {}; >module.exports : Symbol(exports, Decl(panicSatisfiesOnExportEqualsDeclaration.js, 0, 0)) >module : Symbol(module, Decl(panicSatisfiesOnExportEqualsDeclaration.js, 0, 0)) ->exports : Symbol(exports, Decl(panicSatisfiesOnExportEqualsDeclaration.js, 0, 0)) +>exports : Symbol(export=, Decl(panicSatisfiesOnExportEqualsDeclaration.js, 0, 0)) diff --git a/testdata/baselines/reference/conformance/typedefModuleExportsIndirect1.symbols b/testdata/baselines/reference/conformance/typedefModuleExportsIndirect1.symbols index 42d64c312e3..f1f7b13c75a 100644 --- a/testdata/baselines/reference/conformance/typedefModuleExportsIndirect1.symbols +++ b/testdata/baselines/reference/conformance/typedefModuleExportsIndirect1.symbols @@ -8,7 +8,7 @@ const dummy = 0; module.exports = dummy; >module.exports : Symbol(exports, Decl(typedefModuleExportsIndirect1.js, 0, 0)) >module : Symbol(module, Decl(typedefModuleExportsIndirect1.js, 0, 0)) ->exports : Symbol(exports, Decl(typedefModuleExportsIndirect1.js, 0, 0)) +>exports : Symbol(export=, Decl(typedefModuleExportsIndirect1.js, 1, 16)) >dummy : Symbol(dummy, Decl(typedefModuleExportsIndirect1.js, 1, 5)) === use.js === diff --git a/testdata/baselines/reference/conformance/typedefModuleExportsIndirect2.symbols b/testdata/baselines/reference/conformance/typedefModuleExportsIndirect2.symbols index f10d873022f..8f916f1db4e 100644 --- a/testdata/baselines/reference/conformance/typedefModuleExportsIndirect2.symbols +++ b/testdata/baselines/reference/conformance/typedefModuleExportsIndirect2.symbols @@ -8,7 +8,7 @@ const f = function() {}; module.exports = f; >module.exports : Symbol(exports, Decl(typedefModuleExportsIndirect2.js, 0, 0)) >module : Symbol(module, Decl(typedefModuleExportsIndirect2.js, 0, 0)) ->exports : Symbol(exports, Decl(typedefModuleExportsIndirect2.js, 0, 0)) +>exports : Symbol(export=, Decl(typedefModuleExportsIndirect2.js, 1, 24)) >f : Symbol(f, Decl(typedefModuleExportsIndirect2.js, 1, 5)) === use.js === diff --git a/testdata/baselines/reference/conformance/typedefModuleExportsIndirect3.symbols b/testdata/baselines/reference/conformance/typedefModuleExportsIndirect3.symbols index 26cc1b1da2e..6b8cf2ed35a 100644 --- a/testdata/baselines/reference/conformance/typedefModuleExportsIndirect3.symbols +++ b/testdata/baselines/reference/conformance/typedefModuleExportsIndirect3.symbols @@ -8,7 +8,7 @@ const o = {}; module.exports = o; >module.exports : Symbol(exports, Decl(typedefModuleExportsIndirect3.js, 0, 0)) >module : Symbol(module, Decl(typedefModuleExportsIndirect3.js, 0, 0)) ->exports : Symbol(exports, Decl(typedefModuleExportsIndirect3.js, 0, 0)) +>exports : Symbol(export=, Decl(typedefModuleExportsIndirect3.js, 1, 13)) >o : Symbol(o, Decl(typedefModuleExportsIndirect3.js, 1, 5)) === use.js === diff --git a/testdata/baselines/reference/fourslash/goToSourceDefinition/goToSourceAliasedImportExport.baseline.jsonc b/testdata/baselines/reference/fourslash/goToSourceDefinition/goToSourceAliasedImportExport.baseline.jsonc index 2a795cd6b84..e925ba34fce 100644 --- a/testdata/baselines/reference/fourslash/goToSourceDefinition/goToSourceAliasedImportExport.baseline.jsonc +++ b/testdata/baselines/reference/fourslash/goToSourceDefinition/goToSourceAliasedImportExport.baseline.jsonc @@ -1,6 +1,6 @@ // === goToSourceDefinition === // === /home/src/workspaces/project/node_modules/pkg/index.js === -// <|exports.[|foo|] = 1|>; +// <|exports.[|foo|] = 1;|> // === /home/src/workspaces/project/index.ts === // import { foo as /*GOTO SOURCE DEF*/bar } from "pkg"; @@ -10,7 +10,7 @@ // === goToSourceDefinition === // === /home/src/workspaces/project/node_modules/pkg/index.js === -// <|exports.[|foo|] = 1|>; +// <|exports.[|foo|] = 1;|> // === /home/src/workspaces/project/reexport.ts === // export { foo as /*GOTO SOURCE DEF*/bar } from "pkg"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.symbols b/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.symbols index 0dff24a11ac..23c454793ac 100644 --- a/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.symbols +++ b/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.symbols @@ -59,6 +59,7 @@ define("lib/ExtendedClass", ["deps/BaseClass"], module.exports = ExtendedClass >module : Symbol(module, Decl(ExtendedClass.js, 15, 9)) +>exports : Symbol(export=, Decl(ExtendedClass.js, 15, 22)) >ExtendedClass : Symbol(ExtendedClass, Decl(ExtendedClass.js, 8, 9)) return module.exports; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols b/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols index 99a8b19803d..ca2990bd8e2 100644 --- a/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols +++ b/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols @@ -26,5 +26,5 @@ export = Foo; module.exports = /** @type {FooFun} */(void 0); >module.exports : Symbol(exports, Decl(something.js, 0, 0)) >module : Symbol(module, Decl(something.js, 0, 0)) ->exports : Symbol(exports, Decl(something.js, 0, 0)) +>exports : Symbol(export=, Decl(something.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols.diff b/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols.diff index ad9485d72ed..624f57c77cf 100644 --- a/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/checkJsTypeDefNoUnusedLocalMarked.symbols.diff @@ -6,7 +6,6 @@ module.exports = /** @type {FooFun} */(void 0); ->module.exports : Symbol(module.exports, Decl(something.js, 0, 0)) ->module : Symbol(export=, Decl(something.js, 0, 0)) -->exports : Symbol(export=, Decl(something.js, 0, 0)) +>module.exports : Symbol(exports, Decl(something.js, 0, 0)) +>module : Symbol(module, Decl(something.js, 0, 0)) -+>exports : Symbol(exports, Decl(something.js, 0, 0)) + >exports : Symbol(export=, Decl(something.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols b/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols index 0587ea90fa3..656867413cb 100644 --- a/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols @@ -4,7 +4,7 @@ module.exports = { >module.exports : Symbol(exports, Decl(test.js, 0, 0)) >module : Symbol(module, Decl(test.js, 0, 0)) ->exports : Symbol(exports, Decl(test.js, 0, 0)) +>exports : Symbol(export=, Decl(test.js, 0, 0)) message: "" >message : Symbol(message, Decl(test.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.symbols b/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.symbols index cb35a877a51..03bdb212540 100644 --- a/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.symbols +++ b/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.symbols @@ -4,7 +4,7 @@ module.exports = {} >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 0)) var x = 1 >x : Symbol(x, Decl(index.js, 1, 3)) diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js index 657b0542143..7f888c7d20c 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js @@ -65,7 +65,7 @@ export declare class C { set x(v: P); } declare const _default: P; -export default /** @type {P} */ _default; +export default _default; /** * * @param {P} x diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff index 38d278df28f..6054696f862 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff @@ -40,11 +40,10 @@ + set x(v: P); } declare const _default: P; --export default _default; + export default _default; -export type P = {} & { - name?: string; -}; -+export default /** @type {P} */ _default; +/** + * + * @param {P} x diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js index b389ea8b3a9..c2ea3828da0 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js @@ -65,7 +65,7 @@ export declare class C { set x(v: P); } declare const _default: P; -export default /** @type {P} */ _default; +export default _default; /** * * @param {P} x diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff index 9349858a3a8..847d19bb9ef 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff @@ -40,11 +40,10 @@ + set x(v: P); } declare const _default: P; --export default _default; + export default _default; -export type P = {} & { - name?: string; -}; -+export default /** @type {P} */ _default; +/** + * + * @param {P} x diff --git a/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map b/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map index 764cdd3330a..e3d01306112 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map +++ b/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map @@ -1,3 +1,3 @@ //// [declarationMaps.d.ts.map] -{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,kBAAU,EAAE,CAAC,CAAC;IACV,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,SAAS,EAAE,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBuYW1lc3BhY2UgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQVUsRUFBRSxDQUFDLENBQUM7SUFDVixVQUFpQixhQUFhO1FBQzFCLENBQUMsR0FBRyxLQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxLQUFBLEdBQUcsSUFBSSxDQUFDO0tBQzFCO0lBQ0QsVUFBaUIsYUFBYTtRQUMxQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztLQUNsQztDQUVKO0FBRUQsUUFBQSxJQUFJLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNyQixLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixLQUFLLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUM3QixDQUFDO0FBRUYsU0FBUyxFQUFFLENBQUMifQ==,bmFtZXNwYWNlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs= +{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,kBAAU,EAAE,CAAC,CAAC;IACV,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;SAEO,EAAE"} +//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBuYW1lc3BhY2UgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQVUsRUFBRSxDQUFDLENBQUM7SUFDVixVQUFpQixhQUFhO1FBQzFCLENBQUMsR0FBRyxLQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxLQUFBLEdBQUcsSUFBSSxDQUFDO0tBQzFCO0lBQ0QsVUFBaUIsYUFBYTtRQUMxQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztLQUNsQztDQUVKO0FBRUQsUUFBQSxJQUFJLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNyQixLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixLQUFLLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUM3QixDQUFDO1NBRU8sRUFBRSJ9,bmFtZXNwYWNlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs= diff --git a/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map.diff b/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map.diff index f355cf82c09..42dbdeb65b3 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map.diff +++ b/testdata/baselines/reference/submodule/compiler/declarationMaps.js.map.diff @@ -4,5 +4,5 @@ //// [declarationMaps.d.ts.map] -{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,kBAAU,EAAE,CAAC;IACT,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,SAAS,EAAE,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBuYW1lc3BhY2UgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQVUsRUFBRSxDQUFDO0lBQ1QsVUFBaUIsYUFBYTtRQUMxQixDQUFDLEdBQUcsS0FBQSxFQUFFLEdBQUcsS0FBQSxFQUFFLElBQUksS0FBQSxHQUFHLElBQUksQ0FBQztLQUMxQjtJQUNELFVBQWlCLGFBQWE7UUFDMUIsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLGFBQWEsS0FBSyxhQUFhLENBQUM7UUFDM0MsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUM7S0FDbEM7Q0FFSjtBQUVELFFBQUEsSUFBSSxFQUFFLEVBQUU7SUFDSixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDckIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsS0FBSyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7Q0FDN0IsQ0FBQztBQUVGLFNBQVMsRUFBRSxDQUFDIn0=,bmFtZXNwYWNlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs= -+{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,kBAAU,EAAE,CAAC,CAAC;IACV,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,SAAS,EAAE,CAAC"} -+//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBuYW1lc3BhY2UgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQVUsRUFBRSxDQUFDLENBQUM7SUFDVixVQUFpQixhQUFhO1FBQzFCLENBQUMsR0FBRyxLQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxLQUFBLEdBQUcsSUFBSSxDQUFDO0tBQzFCO0lBQ0QsVUFBaUIsYUFBYTtRQUMxQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztLQUNsQztDQUVKO0FBRUQsUUFBQSxJQUFJLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNyQixLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixLQUFLLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUM3QixDQUFDO0FBRUYsU0FBUyxFQUFFLENBQUMifQ==,bmFtZXNwYWNlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs= \ No newline at end of file ++{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,kBAAU,EAAE,CAAC,CAAC;IACV,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;SAEO,EAAE"} ++//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBuYW1lc3BhY2UgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQVUsRUFBRSxDQUFDLENBQUM7SUFDVixVQUFpQixhQUFhO1FBQzFCLENBQUMsR0FBRyxLQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxLQUFBLEdBQUcsSUFBSSxDQUFDO0tBQzFCO0lBQ0QsVUFBaUIsYUFBYTtRQUMxQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztLQUNsQztDQUVKO0FBRUQsUUFBQSxJQUFJLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNyQixLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixLQUFLLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUM3QixDQUFDO1NBRU8sRUFBRSJ9,bmFtZXNwYWNlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs= \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt b/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt index b30a3b68e0b..390b013c8d4 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt +++ b/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt @@ -283,20 +283,14 @@ sourceFile:declarationMaps.ts 2 >Emitted(14, 3) Source(16, 3) + SourceIndex(0) --- >>>export = m2; -1-> -2 >^^^^^^^^^ -3 > ^^ -4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1->^^^^^^^^^ +2 > ^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > - > -2 >export = -3 > m2 -4 > ; -1->Emitted(15, 1) Source(18, 1) + SourceIndex(0) -2 >Emitted(15, 10) Source(18, 10) + SourceIndex(0) -3 >Emitted(15, 12) Source(18, 12) + SourceIndex(0) -4 >Emitted(15, 13) Source(18, 13) + SourceIndex(0) + >export = +2 > m2 +1->Emitted(15, 10) Source(18, 10) + SourceIndex(0) +2 >Emitted(15, 12) Source(18, 12) + SourceIndex(0) --- >>>//# sourceMappingURL=declarationMaps.d.ts.map \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt.diff b/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt.diff index ad1b5a71327..a7d2a4eb5a1 100644 --- a/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/declarationMaps.sourcemap.txt.diff @@ -27,4 +27,34 @@ +1-> > 2 > export interface - 3 > connectModule \ No newline at end of file + 3 > connectModule +@@= skipped -267, +270 lines =@@ + 2 >Emitted(14, 3) Source(16, 3) + SourceIndex(0) + --- + >>>export = m2; +-1-> +-2 >^^^^^^^^^ +-3 > ^^ +-4 > ^ +-5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +-1-> +- > +- > +-2 >export = +-3 > m2 +-4 > ; +-1->Emitted(15, 1) Source(18, 1) + SourceIndex(0) +-2 >Emitted(15, 10) Source(18, 10) + SourceIndex(0) +-3 >Emitted(15, 12) Source(18, 12) + SourceIndex(0) +-4 >Emitted(15, 13) Source(18, 13) + SourceIndex(0) ++1->^^^^^^^^^ ++2 > ^^ ++3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> ++1-> ++ > ++ >export = ++2 > m2 ++1->Emitted(15, 10) Source(18, 10) + SourceIndex(0) ++2 >Emitted(15, 12) Source(18, 12) + SourceIndex(0) + --- + >>>//# sourceMappingURL=declarationMaps.d.ts.map \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols b/testdata/baselines/reference/submodule/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols index aabec005228..5b1ec7258cd 100644 --- a/testdata/baselines/reference/submodule/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols +++ b/testdata/baselines/reference/submodule/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols @@ -9,7 +9,7 @@ const _item = require("./namespacer"); module.exports = 12; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 38)) Object.defineProperty(module, "exports", { value: "oh no" }); >Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) @@ -31,7 +31,7 @@ A.bar = class Q {} module.exports = A; >module.exports : Symbol(exports, Decl(namespacey.js, 0, 0)) >module : Symbol(module, Decl(namespacey.js, 0, 0)) ->exports : Symbol(exports, Decl(namespacey.js, 0, 0)) +>exports : Symbol(export=, Decl(namespacey.js, 1, 18)) >A : Symbol(A, Decl(namespacey.js, 0, 5)) === namespacer.js === @@ -56,6 +56,6 @@ Object.defineProperty(B, "NS", { value: "why though", writable: true }); module.exports = B; >module.exports : Symbol(exports, Decl(namespacer.js, 0, 0)) >module : Symbol(module, Decl(namespacer.js, 0, 0)) ->exports : Symbol(exports, Decl(namespacer.js, 0, 0)) +>exports : Symbol(export=, Decl(namespacer.js, 2, 72)) >B : Symbol(B, Decl(namespacer.js, 0, 5)) diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionContextualTypesJs.symbols b/testdata/baselines/reference/submodule/compiler/expandoFunctionContextualTypesJs.symbols index e3e65a7f1bb..69ee84b3640 100644 --- a/testdata/baselines/reference/submodule/compiler/expandoFunctionContextualTypesJs.symbols +++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionContextualTypesJs.symbols @@ -72,7 +72,7 @@ function foo() { module.exports = { >module.exports : Symbol(exports, Decl(input.js, 0, 0)) >module : Symbol(module, Decl(input.js, 0, 0)) ->exports : Symbol(exports, Decl(input.js, 0, 0)) +>exports : Symbol(export=, Decl(input.js, 42, 1)) color: "red" >color : Symbol(color, Decl(input.js, 47, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols index bdb8c95d67a..358e4fb2664 100644 --- a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols @@ -19,6 +19,6 @@ class Bar extends Foo {} module.exports = Bar; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 2, 24)) >Bar : Symbol(Bar, Decl(index.js, 0, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols.diff b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols.diff index f1f70fea369..4d60c6e0ab2 100644 --- a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols.diff @@ -15,8 +15,7 @@ module.exports = Bar; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 2, 24)) -->exports : Symbol(export=, Decl(index.js, 2, 24)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 2, 24)) >Bar : Symbol(Bar, Decl(index.js, 0, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols index bdb8c95d67a..358e4fb2664 100644 --- a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols @@ -19,6 +19,6 @@ class Bar extends Foo {} module.exports = Bar; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 2, 24)) >Bar : Symbol(Bar, Decl(index.js, 0, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols.diff b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols.diff index c8b1d514eb6..73ef03bd678 100644 --- a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols.diff @@ -15,8 +15,7 @@ module.exports = Bar; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 2, 24)) -->exports : Symbol(export=, Decl(index.js, 2, 24)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 2, 24)) >Bar : Symbol(Bar, Decl(index.js, 0, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols b/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols index f8aab550ce0..b4388073c09 100644 --- a/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols +++ b/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols @@ -4,7 +4,7 @@ module.exports = 1; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 0)) === /a.js === export const A = require("foo"); diff --git a/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols.diff b/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols.diff index 377ec9909b0..5b2e34cfbbb 100644 --- a/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/importNonExportedMember12.symbols.diff @@ -6,10 +6,9 @@ module.exports = 1; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 0)) -->exports : Symbol(export=, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 0)) === /a.js === export const A = require("foo"); diff --git a/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols index afee74d75bc..be99a5c3971 100644 --- a/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols +++ b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols @@ -11,6 +11,6 @@ class Bar extends Foo {} module.exports = Bar; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 2, 24)) >Bar : Symbol(Bar, Decl(index.js, 0, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols.diff b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols.diff index 3a6235fccf6..80683d47bbf 100644 --- a/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.symbols.diff @@ -6,8 +6,7 @@ module.exports = Bar; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 2, 24)) -->exports : Symbol(export=, Decl(index.js, 2, 24)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 2, 24)) >Bar : Symbol(Bar, Decl(index.js, 0, 12)) diff --git a/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols b/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols index b98311090d5..58de6c9b8fd 100644 --- a/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols +++ b/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols @@ -7,7 +7,7 @@ const alias = {}; module.exports = alias; >module.exports : Symbol(exports, Decl(a.js, 0, 0)) >module : Symbol(module, Decl(a.js, 0, 0)) ->exports : Symbol(exports, Decl(a.js, 0, 0)) +>exports : Symbol(export=, Decl(a.js, 0, 17)) >alias : Symbol(alias, Decl(a.js, 0, 5)) === /b.js === diff --git a/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols.diff b/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols.diff index ecbcac67bef..b76144182ac 100644 --- a/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/javascriptImportDefaultBadExport.symbols.diff @@ -6,10 +6,7 @@ module.exports = alias; ->module.exports : Symbol(module.exports, Decl(a.js, 0, 0)) ->module : Symbol(export=, Decl(a.js, 0, 17)) -->exports : Symbol(export=, Decl(a.js, 0, 17)) +>module.exports : Symbol(exports, Decl(a.js, 0, 0)) +>module : Symbol(module, Decl(a.js, 0, 0)) -+>exports : Symbol(exports, Decl(a.js, 0, 0)) + >exports : Symbol(export=, Decl(a.js, 0, 17)) >alias : Symbol(alias, Decl(a.js, 0, 5)) - - === /b.js === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols index ad21ea73768..893ff8245fb 100644 --- a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols @@ -4,7 +4,7 @@ module.exports = [{ name: 'other', displayName: 'Other', defaultEnabled: true }]; >module.exports : Symbol(exports, Decl(file.js, 0, 0)) >module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) +>exports : Symbol(export=, Decl(file.js, 0, 0)) >name : Symbol(name, Decl(file.js, 0, 19)) >displayName : Symbol(displayName, Decl(file.js, 0, 34)) >defaultEnabled : Symbol(defaultEnabled, Decl(file.js, 0, 56)) diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols.diff index f1cde8090d5..679b2c1e7ab 100644 --- a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.symbols.diff @@ -6,10 +6,8 @@ module.exports = [{ name: 'other', displayName: 'Other', defaultEnabled: true }]; ->module.exports : Symbol(module.exports, Decl(file.js, 0, 0)) ->module : Symbol(export=, Decl(file.js, 0, 0)) -->exports : Symbol(export=, Decl(file.js, 0, 0)) +>module.exports : Symbol(exports, Decl(file.js, 0, 0)) +>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) + >exports : Symbol(export=, Decl(file.js, 0, 0)) >name : Symbol(name, Decl(file.js, 0, 19)) - >displayName : Symbol(displayName, Decl(file.js, 0, 34)) - >defaultEnabled : Symbol(defaultEnabled, Decl(file.js, 0, 56)) \ No newline at end of file + >displayName : Symbol(displayName, Decl(file.js, 0, 34)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols index 07d61e04ded..7b155361ea2 100644 --- a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols @@ -12,7 +12,7 @@ module.exports = function loader(options) {} >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 0)) >loader : Symbol(loader, Decl(index.js, 8, 16)) >options : Symbol(options, Decl(index.js, 8, 33)) diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols.diff index 4dcf1d8a06c..9e6fe58ccb7 100644 --- a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.symbols.diff @@ -6,9 +6,8 @@ module.exports = function loader(options) {} ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 0)) -->exports : Symbol(export=, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 0)) >loader : Symbol(loader, Decl(index.js, 8, 16)) - >options : Symbol(options, Decl(index.js, 8, 33)) + >options : Symbol(options, Decl(index.js, 8, 33)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt index 8a5ba320eed..b11fb87ac2e 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt @@ -1,5 +1,5 @@ file.js(4,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -file.js(8,9): error TS2339: Property 'customSymbol2' does not exist on type 'typeof import("file")'. +file.js(8,9): error TS2551: Property 'customSymbol2' does not exist on type '{ customSymbol: symbol; }'. Did you mean 'customSymbol'? ==== file.js (2 errors) ==== @@ -16,4 +16,5 @@ file.js(8,9): error TS2339: Property 'customSymbol2' does not exist on type 'typ exports.customSymbol2 = Symbol("custom"); ~~~~~~~~~~~~~ -!!! error TS2339: Property 'customSymbol2' does not exist on type 'typeof import("file")'. \ No newline at end of file +!!! error TS2551: Property 'customSymbol2' does not exist on type '{ customSymbol: symbol; }'. Did you mean 'customSymbol'? +!!! related TS2728 file.js:5:5: 'customSymbol' is declared here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt.diff index e08d3cffc50..6fb8acd7b60 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.errors.txt.diff @@ -3,7 +3,7 @@ @@= skipped -0, +0 lines =@@ - +file.js(4,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -+file.js(8,9): error TS2339: Property 'customSymbol2' does not exist on type 'typeof import("file")'. ++file.js(8,9): error TS2551: Property 'customSymbol2' does not exist on type '{ customSymbol: symbol; }'. Did you mean 'customSymbol'? + + +==== file.js (2 errors) ==== @@ -20,4 +20,5 @@ + + exports.customSymbol2 = Symbol("custom"); + ~~~~~~~~~~~~~ -+!!! error TS2339: Property 'customSymbol2' does not exist on type 'typeof import("file")'. \ No newline at end of file ++!!! error TS2551: Property 'customSymbol2' does not exist on type '{ customSymbol: symbol; }'. Did you mean 'customSymbol'? ++!!! related TS2728 file.js:5:5: 'customSymbol' is declared here. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols index dc7138c0444..269f607fb91 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols @@ -9,7 +9,7 @@ const customSymbol = Symbol("custom"); module.exports = { >module.exports : Symbol(exports, Decl(file.js, 0, 0)) >module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) +>exports : Symbol(export=, Decl(file.js, 0, 38)) customSymbol, >customSymbol : Symbol(customSymbol, Decl(file.js, 3, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols.diff index 4d9ec0065a5..d5a29d2e84c 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol(module.exports, Decl(file.js, 0, 0)) +>module.exports : Symbol(exports, Decl(file.js, 0, 0)) +>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) ++>exports : Symbol(export=, Decl(file.js, 0, 38)) customSymbol, >customSymbol : Symbol(customSymbol, Decl(file.js, 3, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types index 52ec0555e2c..90d096abf3b 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types @@ -23,7 +23,7 @@ module.exports = { exports.customSymbol2 = Symbol("custom"); >exports.customSymbol2 = Symbol("custom") : symbol >exports.customSymbol2 : any ->exports : typeof import("./file") +>exports : { customSymbol: symbol; } >customSymbol2 : any >Symbol("custom") : symbol >Symbol : SymbolConstructor diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types.diff b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types.diff index 0819064e8e1..7c427c37ef9 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types.diff +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.types.diff @@ -21,11 +21,12 @@ exports.customSymbol2 = Symbol("custom"); ->exports.customSymbol2 = Symbol("custom") : unique symbol ->exports.customSymbol2 : unique symbol -+>exports.customSymbol2 = Symbol("custom") : symbol -+>exports.customSymbol2 : any - >exports : typeof import("./file") +->exports : typeof import("./file") ->customSymbol2 : unique symbol ->Symbol("custom") : unique symbol ++>exports.customSymbol2 = Symbol("custom") : symbol ++>exports.customSymbol2 : any ++>exports : { customSymbol: symbol; } +>customSymbol2 : any +>Symbol("custom") : symbol >Symbol : SymbolConstructor diff --git a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols index ff2510a49d7..35f520776ef 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols @@ -12,7 +12,7 @@ class Abcde { module.exports = { >module.exports : Symbol(exports, Decl(test.js, 0, 0)) >module : Symbol(module, Decl(test.js, 0, 0)) ->exports : Symbol(exports, Decl(test.js, 0, 0)) +>exports : Symbol(export=, Decl(test.js, 3, 1)) Abcde >Abcde : Symbol(Abcde, Decl(test.js, 5, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols.diff index dd3511977ad..9e118ee572c 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation.symbols.diff @@ -18,7 +18,7 @@ ->exports : Symbol("./test", Decl(test.js, 0, 0), Decl(index.ts, 0, 31)) +>module.exports : Symbol(exports, Decl(test.js, 0, 0)) +>module : Symbol(module, Decl(test.js, 0, 0)) -+>exports : Symbol(exports, Decl(test.js, 0, 0)) ++>exports : Symbol(export=, Decl(test.js, 3, 1)) Abcde >Abcde : Symbol(Abcde, Decl(test.js, 5, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols index 3ed6994e5fc..03fbf68a823 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols @@ -4,7 +4,7 @@ module.exports = { >module.exports : Symbol(exports, Decl(test.js, 0, 0)) >module : Symbol(module, Decl(test.js, 0, 0)) ->exports : Symbol(exports, Decl(test.js, 0, 0)) +>exports : Symbol(export=, Decl(test.js, 0, 0)) a: "ok" >a : Symbol(a, Decl(test.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols.diff index af23a9a56f4..786a22e0774 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation2.symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol("./test", Decl(test.js, 0, 0), Decl(index.ts, 0, 27)) +>module.exports : Symbol(exports, Decl(test.js, 0, 0)) +>module : Symbol(module, Decl(test.js, 0, 0)) -+>exports : Symbol(exports, Decl(test.js, 0, 0)) ++>exports : Symbol(export=, Decl(test.js, 0, 0)) a: "ok" >a : Symbol(a, Decl(test.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols index 6e77d597553..a89eae84274 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols @@ -9,7 +9,7 @@ module.exports.x = 1; module.exports = require("./y.js"); >module.exports : Symbol(exports, Decl(x.js, 0, 0)) >module : Symbol(module, Decl(x.js, 0, 0)) ->exports : Symbol(exports, Decl(x.js, 0, 0)) +>exports : Symbol(export=, Decl(x.js, 0, 21)) >require : Symbol(require) === /y.d.ts === diff --git a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols.diff index a1d7b5082f6..9f615e030c6 100644 --- a/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsExportMemberMergedWithModuleAugmentation3.symbols.diff @@ -15,10 +15,9 @@ module.exports = require("./y.js"); ->module.exports : Symbol(module.exports, Decl(x.js, 0, 0)) ->module : Symbol(export=, Decl(x.js, 0, 21)) -->exports : Symbol(export=, Decl(x.js, 0, 21)) +>module.exports : Symbol(exports, Decl(x.js, 0, 0)) +>module : Symbol(module, Decl(x.js, 0, 0)) -+>exports : Symbol(exports, Decl(x.js, 0, 0)) + >exports : Symbol(export=, Decl(x.js, 0, 21)) >require : Symbol(require) ->"./y.js" : Symbol("./y.js", Decl(y.d.ts, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols b/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols index ebe503de513..629452fdb64 100644 --- a/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols +++ b/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols @@ -4,7 +4,7 @@ module.exports = function () { >module.exports : Symbol(exports, Decl(foo.js, 0, 0)) >module : Symbol(module, Decl(foo.js, 0, 0)) ->exports : Symbol(exports, Decl(foo.js, 0, 0)) +>exports : Symbol(export=, Decl(foo.js, 0, 0)) class A { } >A : Symbol(A, Decl(foo.js, 0, 30)) diff --git a/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols.diff b/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols.diff index 5566960d0e1..1ef81e98766 100644 --- a/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/jsFileClassPropertyInitalizationInObjectLiteral.symbols.diff @@ -6,10 +6,8 @@ module.exports = function () { ->module.exports : Symbol(module.exports, Decl(foo.js, 0, 0)) ->module : Symbol(export=, Decl(foo.js, 0, 0)) -->exports : Symbol(export=, Decl(foo.js, 0, 0)) +>module.exports : Symbol(exports, Decl(foo.js, 0, 0)) +>module : Symbol(module, Decl(foo.js, 0, 0)) -+>exports : Symbol(exports, Decl(foo.js, 0, 0)) + >exports : Symbol(export=, Decl(foo.js, 0, 0)) - class A { } - >A : Symbol(A, Decl(foo.js, 0, 30)) \ No newline at end of file + class A { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols b/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols index 3f4ddf452c5..617b7e2d81a 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols +++ b/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols @@ -35,7 +35,7 @@ const allRules = { module.exports = { >module.exports : Symbol(exports, Decl(eslint-plugin-react.js, 0, 0)) >module : Symbol(module, Decl(eslint-plugin-react.js, 0, 0)) ->exports : Symbol(exports, Decl(eslint-plugin-react.js, 0, 0)) +>exports : Symbol(export=, Decl(eslint-plugin-react.js, 6, 1)) plugins: { >plugins : Symbol(plugins, Decl(eslint-plugin-react.js, 8, 18)) @@ -73,6 +73,6 @@ function config(...configs) { } module.exports = { config }; >module.exports : Symbol(exports, Decl(typescript-eslint.js, 0, 0)) >module : Symbol(module, Decl(typescript-eslint.js, 0, 0)) ->exports : Symbol(exports, Decl(typescript-eslint.js, 0, 0)) +>exports : Symbol(export=, Decl(typescript-eslint.js, 11, 31)) >config : Symbol(config, Decl(typescript-eslint.js, 13, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols.diff b/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols.diff index 680003c6dd4..7c2cbbc0ccf 100644 --- a/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.symbols.diff @@ -22,13 +22,11 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(eslint-plugin-react.js, 0, 0)) ->module : Symbol(export=, Decl(eslint-plugin-react.js, 6, 1)) -->exports : Symbol(export=, Decl(eslint-plugin-react.js, 6, 1)) +>module.exports : Symbol(exports, Decl(eslint-plugin-react.js, 0, 0)) +>module : Symbol(module, Decl(eslint-plugin-react.js, 0, 0)) -+>exports : Symbol(exports, Decl(eslint-plugin-react.js, 0, 0)) + >exports : Symbol(export=, Decl(eslint-plugin-react.js, 6, 1)) plugins: { - >plugins : Symbol(plugins, Decl(eslint-plugin-react.js, 8, 18)) @@= skipped -38, +38 lines =@@ >configs : Symbol(configs, Decl(typescript-eslint.js, 11, 16)) @@ -38,5 +36,5 @@ ->exports : Symbol(module.exports, Decl(typescript-eslint.js, 0, 0)) +>module.exports : Symbol(exports, Decl(typescript-eslint.js, 0, 0)) +>module : Symbol(module, Decl(typescript-eslint.js, 0, 0)) -+>exports : Symbol(exports, Decl(typescript-eslint.js, 0, 0)) ++>exports : Symbol(export=, Decl(typescript-eslint.js, 11, 31)) >config : Symbol(config, Decl(typescript-eslint.js, 13, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt index 36ac9d5916d..d1c198c7b43 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt @@ -1,12 +1,15 @@ +/a.js(2,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. /f.cts(1,1): error TS1286: ECMAScript imports and exports cannot be written in a CommonJS file under 'verbatimModuleSyntax'. +/main1.ts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. /main1.ts(3,12): error TS2591: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. /main1.ts(19,4): error TS2339: Property 'default' does not exist on type '() => void'. /main1.ts(23,8): error TS1192: Module '"/e"' has no default export. +/main2.mts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. /main2.mts(4,4): error TS2339: Property 'default' does not exist on type 'typeof import("/a")'. /main2.mts(5,12): error TS2591: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. /main2.mts(14,8): error TS1192: Module '"/e"' has no default export. /main3.cjs(1,10): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. -/main3.cjs(1,13): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +/main3.cjs(1,13): error TS2305: Module '"./a"' has no exported member 'y'. /main3.cjs(2,1): error TS8002: 'import ... =' can only be used in TypeScript files. /main3.cjs(5,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. /main3.cjs(8,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. @@ -16,9 +19,11 @@ /main3.cjs(17,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. -==== /a.js (0 errors) ==== +==== /a.js (1 errors) ==== export const x = 0; module.exports.y = 0; // Error + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== /b.ts (0 errors) ==== export default 0; @@ -42,8 +47,10 @@ ==== /g.js (0 errors) ==== exports.default = 0; -==== /main1.ts (3 errors) ==== +==== /main1.ts (4 errors) ==== import { x, y } from "./a"; // No y + ~ +!!! error TS2305: Module '"./a"' has no exported member 'y'. import a1 = require("./a"); // { x: 0 } const a2 = require("./a"); // Error in TS ~~~~~~~ @@ -82,8 +89,10 @@ import g2 = require("./g"); // { default: 0 } g2.default; -==== /main2.mts (3 errors) ==== +==== /main2.mts (4 errors) ==== import { x, y } from "./a"; // No y + ~ +!!! error TS2305: Module '"./a"' has no exported member 'y'. import a1 = require("./a"); // { x: 0 } a1.x; a1.default.x; // Arguably should exist but doesn't @@ -115,7 +124,7 @@ ~ !!! error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. ~ -!!! error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +!!! error TS2305: Module '"./a"' has no exported member 'y'. import a1 = require("./a"); // Error in JS ~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS8002: 'import ... =' can only be used in TypeScript files. diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff deleted file mode 100644 index e00ac3e8454..00000000000 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.errors.txt.diff +++ /dev/null @@ -1,65 +0,0 @@ ---- old.modulePreserve4.errors.txt -+++ new.modulePreserve4.errors.txt -@@= skipped -0, +0 lines =@@ --/a.js(2,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - /f.cts(1,1): error TS1286: ECMAScript imports and exports cannot be written in a CommonJS file under 'verbatimModuleSyntax'. --/main1.ts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. - /main1.ts(3,12): error TS2591: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - /main1.ts(19,4): error TS2339: Property 'default' does not exist on type '() => void'. - /main1.ts(23,8): error TS1192: Module '"/e"' has no default export. --/main2.mts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. - /main2.mts(4,4): error TS2339: Property 'default' does not exist on type 'typeof import("/a")'. - /main2.mts(5,12): error TS2591: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - /main2.mts(14,8): error TS1192: Module '"/e"' has no default export. - /main3.cjs(1,10): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. --/main3.cjs(1,13): error TS2305: Module '"./a"' has no exported member 'y'. -+/main3.cjs(1,13): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. - /main3.cjs(2,1): error TS8002: 'import ... =' can only be used in TypeScript files. - /main3.cjs(5,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. - /main3.cjs(8,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. -@@= skipped -18, +15 lines =@@ - /main3.cjs(17,8): error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. - - --==== /a.js (1 errors) ==== -+==== /a.js (0 errors) ==== - export const x = 0; - module.exports.y = 0; // Error -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - - ==== /b.ts (0 errors) ==== - export default 0; -@@= skipped -28, +26 lines =@@ - ==== /g.js (0 errors) ==== - exports.default = 0; - --==== /main1.ts (4 errors) ==== -+==== /main1.ts (3 errors) ==== - import { x, y } from "./a"; // No y -- ~ --!!! error TS2305: Module '"./a"' has no exported member 'y'. - import a1 = require("./a"); // { x: 0 } - const a2 = require("./a"); // Error in TS - ~~~~~~~ -@@= skipped -42, +40 lines =@@ - import g2 = require("./g"); // { default: 0 } - g2.default; - --==== /main2.mts (4 errors) ==== -+==== /main2.mts (3 errors) ==== - import { x, y } from "./a"; // No y -- ~ --!!! error TS2305: Module '"./a"' has no exported member 'y'. - import a1 = require("./a"); // { x: 0 } - a1.x; - a1.default.x; // Arguably should exist but doesn't -@@= skipped -35, +33 lines =@@ - ~ - !!! error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. - ~ --!!! error TS2305: Module '"./a"' has no exported member 'y'. -+!!! error TS1293: ECMAScript module syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. - import a1 = require("./a"); // Error in JS - ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS8002: 'import ... =' can only be used in TypeScript files. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.js b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js index 0035a537050..fe933c93700 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.js +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js @@ -196,7 +196,6 @@ export {}; // Silly test harness //// [a.d.ts] export declare const x = 0; -export declare var y: 0; //// [b.d.ts] declare const _default: number; export default _default; diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff index 797a40ad7e3..46f2b6e603c 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff @@ -6,14 +6,13 @@ //// [a.d.ts] -export const x: 0; +export declare const x = 0; -+export declare var y: 0; //// [b.d.ts] -declare const _default: 0; +declare const _default: number; export default _default; //// [c.d.ts] declare const _default: { -@@= skipped -13, +14 lines =@@ +@@= skipped -13, +13 lines =@@ declare const _default: () => void; export = _default; //// [e.d.mts] diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols index b4076df3479..807924fb15d 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols @@ -5,11 +5,6 @@ export const x = 0; >x : Symbol(x, Decl(a.js, 0, 12)) module.exports.y = 0; // Error ->module.exports.y : Symbol(y, Decl(a.js, 0, 19)) ->module.exports : Symbol(exports, Decl(a.js, 0, 0)) ->module : Symbol(module, Decl(a.js, 0, 0)) ->exports : Symbol(exports, Decl(a.js, 0, 0)) ->y : Symbol(y, Decl(a.js, 0, 19)) === /b.ts === diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff index e536c28614c..4bfaa2eac1a 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.symbols.diff @@ -1,18 +1,6 @@ --- old.modulePreserve4.symbols +++ new.modulePreserve4.symbols -@@= skipped -4, +4 lines =@@ - >x : Symbol(x, Decl(a.js, 0, 12)) - - module.exports.y = 0; // Error -+>module.exports.y : Symbol(y, Decl(a.js, 0, 19)) -+>module.exports : Symbol(exports, Decl(a.js, 0, 0)) -+>module : Symbol(module, Decl(a.js, 0, 0)) -+>exports : Symbol(exports, Decl(a.js, 0, 0)) -+>y : Symbol(y, Decl(a.js, 0, 19)) - - === /b.ts === - -@@= skipped -27, +32 lines =@@ +@@= skipped -31, +31 lines =@@ === /g.js === exports.default = 0; >exports.default : Symbol(default, Decl(g.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types index 27cd4e85dfb..1402ee7c130 100644 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types @@ -7,11 +7,11 @@ export const x = 0; module.exports.y = 0; // Error >module.exports.y = 0 : 0 ->module.exports.y : 0 ->module.exports : typeof import("./a") ->module : { exports: typeof import("./a"); } ->exports : typeof import("./a") ->y : 0 +>module.exports.y : any +>module.exports : any +>module : any +>exports : any +>y : any >0 : 0 === /b.ts === @@ -51,7 +51,7 @@ exports.default = 0; === /main1.ts === import { x, y } from "./a"; // No y >x : 0 ->y : 0 +>y : any import a1 = require("./a"); // { x: 0 } >a1 : typeof a1 @@ -170,7 +170,7 @@ g2.default; === /main2.mts === import { x, y } from "./a"; // No y >x : 0 ->y : 0 +>y : any import a1 = require("./a"); // { x: 0 } >a1 : typeof a1 @@ -232,7 +232,7 @@ import g2 = require("./g"); // { default: 0 } === /main3.cjs === import { x, y } from "./a"; // No y >x : 0 ->y : 0 +>y : any import a1 = require("./a"); // Error in JS >a1 : typeof a1 diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff deleted file mode 100644 index 261d2e88eac..00000000000 --- a/testdata/baselines/reference/submodule/compiler/modulePreserve4.types.diff +++ /dev/null @@ -1,46 +0,0 @@ ---- old.modulePreserve4.types -+++ new.modulePreserve4.types -@@= skipped -6, +6 lines =@@ - - module.exports.y = 0; // Error - >module.exports.y = 0 : 0 -->module.exports.y : any -->module.exports : any -->module : any -->exports : any -->y : any -+>module.exports.y : 0 -+>module.exports : typeof import("./a") -+>module : { exports: typeof import("./a"); } -+>exports : typeof import("./a") -+>y : 0 - >0 : 0 - - === /b.ts === -@@= skipped -44, +44 lines =@@ - === /main1.ts === - import { x, y } from "./a"; // No y - >x : 0 -->y : any -+>y : 0 - - import a1 = require("./a"); // { x: 0 } - >a1 : typeof a1 -@@= skipped -119, +119 lines =@@ - === /main2.mts === - import { x, y } from "./a"; // No y - >x : 0 -->y : any -+>y : 0 - - import a1 = require("./a"); // { x: 0 } - >a1 : typeof a1 -@@= skipped -62, +62 lines =@@ - === /main3.cjs === - import { x, y } from "./a"; // No y - >x : 0 -->y : any -+>y : 0 - - import a1 = require("./a"); // Error in JS - >a1 : typeof a1 \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt index 6f9d8230e41..1d3fb019194 100644 --- a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt +++ b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt @@ -1,6 +1,6 @@ bar.js(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -bar.js(2,9): error TS2339: Property 'blah' does not exist on type 'typeof import("bar")'. -bar.js(2,24): error TS2339: Property 'someProp' does not exist on type 'typeof import("bar")'. +bar.js(2,9): error TS2339: Property 'blah' does not exist on type '() => void'. +bar.js(2,24): error TS2339: Property 'someProp' does not exist on type '() => void'. ==== bar.js (3 errors) ==== @@ -9,6 +9,6 @@ bar.js(2,24): error TS2339: Property 'someProp' does not exist on type 'typeof i !!! error TS2309: An export assignment cannot be used in a module with other exported elements. exports.blah = exports.someProp; ~~~~ -!!! error TS2339: Property 'blah' does not exist on type 'typeof import("bar")'. +!!! error TS2339: Property 'blah' does not exist on type '() => void'. ~~~~~~~~ -!!! error TS2339: Property 'someProp' does not exist on type 'typeof import("bar")'. \ No newline at end of file +!!! error TS2339: Property 'someProp' does not exist on type '() => void'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt.diff index 482670b5fb0..f51d8447971 100644 --- a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt.diff +++ b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.errors.txt.diff @@ -7,8 +7,8 @@ - -==== bar.js (2 errors) ==== +bar.js(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -+bar.js(2,9): error TS2339: Property 'blah' does not exist on type 'typeof import("bar")'. -+bar.js(2,24): error TS2339: Property 'someProp' does not exist on type 'typeof import("bar")'. ++bar.js(2,9): error TS2339: Property 'blah' does not exist on type '() => void'. ++bar.js(2,24): error TS2339: Property 'someProp' does not exist on type '() => void'. + + +==== bar.js (3 errors) ==== @@ -19,7 +19,7 @@ - ~~~~~~~~~~~~ -!!! error TS2303: Circular definition of import alias 'blah'. + ~~~~ -+!!! error TS2339: Property 'blah' does not exist on type 'typeof import("bar")'. ++!!! error TS2339: Property 'blah' does not exist on type '() => void'. ~~~~~~~~ -!!! error TS2339: Property 'someProp' does not exist on type '{ (): void; blah: any; }'. -+!!! error TS2339: Property 'someProp' does not exist on type 'typeof import("bar")'. \ No newline at end of file ++!!! error TS2339: Property 'someProp' does not exist on type '() => void'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols index b80fd373292..675c982d987 100644 --- a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols +++ b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols @@ -4,7 +4,7 @@ module.exports = function () {}; >module.exports : Symbol(exports, Decl(bar.js, 0, 0)) >module : Symbol(module, Decl(bar.js, 0, 0)) ->exports : Symbol(exports, Decl(bar.js, 0, 0)) +>exports : Symbol(export=, Decl(bar.js, 0, 0)) exports.blah = exports.someProp; >exports : Symbol("./bar", Decl(bar.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols.diff b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols.diff index 07504c5d1db..0271b821ce4 100644 --- a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.symbols.diff @@ -6,10 +6,9 @@ module.exports = function () {}; ->module.exports : Symbol(module.exports, Decl(bar.js, 0, 0)) ->module : Symbol(export=, Decl(bar.js, 0, 0)) -->exports : Symbol(export=, Decl(bar.js, 0, 0)) +>module.exports : Symbol(exports, Decl(bar.js, 0, 0)) +>module : Symbol(module, Decl(bar.js, 0, 0)) -+>exports : Symbol(exports, Decl(bar.js, 0, 0)) + >exports : Symbol(export=, Decl(bar.js, 0, 0)) exports.blah = exports.someProp; ->exports.blah : Symbol(blah, Decl(bar.js, 0, 32)) diff --git a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types index 0eed836819a..0cf119311b8 100644 --- a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types +++ b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types @@ -11,9 +11,9 @@ module.exports = function () {}; exports.blah = exports.someProp; >exports.blah = exports.someProp : any >exports.blah : any ->exports : typeof import("./bar") +>exports : () => void >blah : any >exports.someProp : any ->exports : typeof import("./bar") +>exports : () => void >someProp : any diff --git a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types.diff b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types.diff index 45a60ad0e1b..4e6dd988caf 100644 --- a/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types.diff +++ b/testdata/baselines/reference/submodule/compiler/pushTypeGetTypeOfAlias.types.diff @@ -18,9 +18,9 @@ >exports.blah = exports.someProp : any >exports.blah : any ->exports : { (): void; blah: any; } -+>exports : typeof import("./bar") ++>exports : () => void >blah : any >exports.someProp : any ->exports : { (): void; blah: any; } -+>exports : typeof import("./bar") ++>exports : () => void >someProp : any diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols index ced814752cd..68d31f2175a 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols @@ -45,6 +45,6 @@ js1.b; module.exports = { a: 0 }; >module.exports : Symbol(exports, Decl(js.js, 0, 0)) >module : Symbol(module, Decl(js.js, 0, 0)) ->exports : Symbol(exports, Decl(js.js, 0, 0)) +>exports : Symbol(export=, Decl(js.js, 0, 0)) >a : Symbol(a, Decl(js.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols.diff index c3dbe440a24..1accc2a5cf4 100644 --- a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileInJsFile.symbols.diff @@ -22,8 +22,7 @@ module.exports = { a: 0 }; ->module.exports : Symbol(module.exports, Decl(js.js, 0, 0)) ->module : Symbol(export=, Decl(js.js, 0, 0)) -->exports : Symbol(export=, Decl(js.js, 0, 0)) +>module.exports : Symbol(exports, Decl(js.js, 0, 0)) +>module : Symbol(module, Decl(js.js, 0, 0)) -+>exports : Symbol(exports, Decl(js.js, 0, 0)) + >exports : Symbol(export=, Decl(js.js, 0, 0)) >a : Symbol(a, Decl(js.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols b/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols index 547b191759e..7e537ade73b 100644 --- a/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols +++ b/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols @@ -13,7 +13,7 @@ if (typeof module === 'object' && module.exports) { module.exports = fn; >module.exports : Symbol(exports, Decl(a.js, 0, 0)) >module : Symbol(module, Decl(a.js, 0, 0)) ->exports : Symbol(exports, Decl(a.js, 0, 0)) +>exports : Symbol(export=, Decl(a.js, 2, 51)) >fn : Symbol(fn, Decl(a.js, 0, 0)) } diff --git a/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols.diff b/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols.diff index b836bceea5c..a69dab1ec81 100644 --- a/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols.diff +++ b/testdata/baselines/reference/submodule/compiler/truthinessCallExpressionCoercion4.symbols.diff @@ -16,9 +16,8 @@ module.exports = fn; ->module.exports : Symbol(module.exports, Decl(a.js, 0, 0)) ->module : Symbol(export=, Decl(a.js, 2, 51)) -->exports : Symbol(export=, Decl(a.js, 2, 51)) +>module.exports : Symbol(exports, Decl(a.js, 0, 0)) +>module : Symbol(module, Decl(a.js, 0, 0)) -+>exports : Symbol(exports, Decl(a.js, 0, 0)) + >exports : Symbol(export=, Decl(a.js, 2, 51)) >fn : Symbol(fn, Decl(a.js, 0, 0)) - } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.errors.txt b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.errors.txt new file mode 100644 index 00000000000..79d12e13002 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.errors.txt @@ -0,0 +1,11 @@ +assignmentToVoidZero1.js(2,13): error TS6425: Nested CommonJS export constructs cannot be serialized for declaration emit. + + +==== assignmentToVoidZero1.js (1 errors) ==== + // #38552 + exports.y = exports.x = void 0; + ~~~~~~~~~~~~~~~~~~ +!!! error TS6425: Nested CommonJS export constructs cannot be serialized for declaration emit. + exports.x = 1; + exports.y = 2; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js index c9bcaa2fd67..a7d02f302be 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js @@ -18,30 +18,4 @@ exports.y = 2; //// [assignmentToVoidZero1.d.ts] export declare var y: 2; export declare var x: 1; -export declare var x: 1; export declare var y: 2; - - -//// [DtsFileErrors] - - -auss/assignmentToVoidZero1.d.ts(1,20): error TS2323: Cannot redeclare exported variable 'y'. -auss/assignmentToVoidZero1.d.ts(2,20): error TS2323: Cannot redeclare exported variable 'x'. -auss/assignmentToVoidZero1.d.ts(3,20): error TS2323: Cannot redeclare exported variable 'x'. -auss/assignmentToVoidZero1.d.ts(4,20): error TS2323: Cannot redeclare exported variable 'y'. - - -==== auss/assignmentToVoidZero1.d.ts (4 errors) ==== - export declare var y: 2; - ~ -!!! error TS2323: Cannot redeclare exported variable 'y'. - export declare var x: 1; - ~ -!!! error TS2323: Cannot redeclare exported variable 'x'. - export declare var x: 1; - ~ -!!! error TS2323: Cannot redeclare exported variable 'x'. - export declare var y: 2; - ~ -!!! error TS2323: Cannot redeclare exported variable 'y'. - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff index 1ec051ae305..52897138cf5 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff @@ -8,30 +8,4 @@ -export const y: 2; +export declare var y: 2; +export declare var x: 1; -+export declare var x: 1; -+export declare var y: 2; -+ -+ -+//// [DtsFileErrors] -+ -+ -+auss/assignmentToVoidZero1.d.ts(1,20): error TS2323: Cannot redeclare exported variable 'y'. -+auss/assignmentToVoidZero1.d.ts(2,20): error TS2323: Cannot redeclare exported variable 'x'. -+auss/assignmentToVoidZero1.d.ts(3,20): error TS2323: Cannot redeclare exported variable 'x'. -+auss/assignmentToVoidZero1.d.ts(4,20): error TS2323: Cannot redeclare exported variable 'y'. -+ -+ -+==== auss/assignmentToVoidZero1.d.ts (4 errors) ==== -+ export declare var y: 2; -+ ~ -+!!! error TS2323: Cannot redeclare exported variable 'y'. -+ export declare var x: 1; -+ ~ -+!!! error TS2323: Cannot redeclare exported variable 'x'. -+ export declare var x: 1; -+ ~ -+!!! error TS2323: Cannot redeclare exported variable 'x'. -+ export declare var y: 2; -+ ~ -+!!! error TS2323: Cannot redeclare exported variable 'y'. -+ \ No newline at end of file ++export declare var y: 2; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt index d25a590e16a..cb8eceb2e51 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt @@ -1,4 +1,4 @@ -assignmentToVoidZero2.js(2,1): error TS7005: Variable 'k' implicitly has an 'any' type. +assignmentToVoidZero2.js(2,1): error TS7008: Member 'k' implicitly has an 'any' type. assignmentToVoidZero2.js(5,1): error TS7008: Member 'y' implicitly has an 'any' type. assignmentToVoidZero2.js(9,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. assignmentToVoidZero2.js(10,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. @@ -9,7 +9,7 @@ assignmentToVoidZero2.js(12,9): error TS7009: 'new' expression, whose target lac exports.j = 1; exports.k = void 0; ~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'k' implicitly has an 'any' type. +!!! error TS7008: Member 'k' implicitly has an 'any' type. var o = {} o.x = 1 o.y = void 0 diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt.diff index 6b80273f686..56568d17c89 100644 --- a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.errors.txt.diff @@ -7,7 +7,7 @@ -assignmentToVoidZero2.js(10,10): error TS2339: Property 'q' does not exist on type 'C'. -assignmentToVoidZero2.js(13,9): error TS2339: Property 'q' does not exist on type 'C'. -importer.js(1,13): error TS2305: Module '"./assignmentToVoidZero2"' has no exported member 'k'. -+assignmentToVoidZero2.js(2,1): error TS7005: Variable 'k' implicitly has an 'any' type. ++assignmentToVoidZero2.js(2,1): error TS7008: Member 'k' implicitly has an 'any' type. +assignmentToVoidZero2.js(5,1): error TS7008: Member 'y' implicitly has an 'any' type. +assignmentToVoidZero2.js(9,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. +assignmentToVoidZero2.js(10,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. @@ -20,7 +20,7 @@ - ~ -!!! error TS2339: Property 'k' does not exist on type 'typeof import("assignmentToVoidZero2")'. + ~~~~~~~~~~~~~~~~~~ -+!!! error TS7005: Variable 'k' implicitly has an 'any' type. ++!!! error TS7008: Member 'k' implicitly has an 'any' type. var o = {} o.x = 1 o.y = void 0 diff --git a/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols b/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols index 23e6b36ecfe..c4f878303a8 100644 --- a/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols +++ b/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols @@ -12,6 +12,6 @@ var loop2 = loop1; module.exports = loop2; >module.exports : Symbol(exports, Decl(loop.js, 0, 0)) >module : Symbol(module, Decl(loop.js, 0, 0)) ->exports : Symbol(exports, Decl(loop.js, 0, 0)) +>exports : Symbol(export=, Decl(loop.js, 1, 18)) >loop2 : Symbol(loop2, Decl(loop.js, 1, 3)) diff --git a/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols.diff b/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols.diff index 7f71aca0904..1fde1bd504a 100644 --- a/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/binderUninitializedModuleExportsAssignment.symbols.diff @@ -6,8 +6,7 @@ module.exports = loop2; ->module.exports : Symbol(module.exports, Decl(loop.js, 0, 0)) ->module : Symbol(export=, Decl(loop.js, 1, 18)) -->exports : Symbol(export=, Decl(loop.js, 1, 18)) +>module.exports : Symbol(exports, Decl(loop.js, 0, 0)) +>module : Symbol(module, Decl(loop.js, 0, 0)) -+>exports : Symbol(exports, Decl(loop.js, 0, 0)) + >exports : Symbol(export=, Decl(loop.js, 1, 18)) >loop2 : Symbol(loop2, Decl(loop.js, 1, 3)) diff --git a/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols b/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols index 782abb3030e..24b0e906e88 100644 --- a/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols +++ b/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols @@ -8,7 +8,7 @@ module.exports = C >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 0, 0)) >C : Symbol(C, Decl(mod1.js, 4, 18)) function C() { diff --git a/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols.diff b/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols.diff index 5f4b301a2ee..7f006e13fa0 100644 --- a/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/callbackCrossModule.symbols.diff @@ -6,13 +6,12 @@ module.exports = C ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 0, 0)) -->exports : Symbol(export=, Decl(mod1.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 0, 0)) >C : Symbol(C, Decl(mod1.js, 4, 18)) - function C() { +@@= skipped -9, +9 lines =@@ >C : Symbol(C, Decl(mod1.js, 4, 18)) this.p = 1 diff --git a/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols b/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols index 5acaf58902a..21047ffdd74 100644 --- a/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols +++ b/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols @@ -132,6 +132,6 @@ Object.defineProperty(Person.prototype, "setonlyAccessor", { module.exports = Person; >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 19, 3)) >Person : Symbol(Person, Decl(mod1.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols.diff b/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols.diff index c2393be9b4c..980f70dedc6 100644 --- a/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/checkExportsObjectAssignPrototypeProperty.symbols.diff @@ -150,8 +150,7 @@ module.exports = Person; ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 19, 3)) -->exports : Symbol(export=, Decl(mod1.js, 19, 3)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 19, 3)) >Person : Symbol(Person, Decl(mod1.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols b/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols index f3623bf25a4..cb7bfe710e1 100644 --- a/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols +++ b/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols @@ -199,6 +199,6 @@ match(() => expected, (x = expected) => void 0); module.exports = x; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 41, 48)) >x : Symbol(x, Decl(index.js, 0, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols.diff b/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols.diff index 6eb6f39493c..afaf26b52f3 100644 --- a/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/checkObjectDefineProperty.symbols.diff @@ -221,9 +221,8 @@ module.exports = x; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 41, 48)) -->exports : Symbol(export=, Decl(index.js, 41, 48)) -->x : Symbol(x, Decl(index.js, 0, 5), Decl(index.js, 1, 22), Decl(index.js, 2, 22), Decl(index.js, 3, 22), Decl(index.js, 4, 22) ... and 2 more) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 41, 48)) +->x : Symbol(x, Decl(index.js, 0, 5), Decl(index.js, 1, 22), Decl(index.js, 2, 22), Decl(index.js, 3, 22), Decl(index.js, 4, 22) ... and 2 more) +>x : Symbol(x, Decl(index.js, 0, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols index 70c03b29482..04348c05c03 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols @@ -30,7 +30,7 @@ function funky(declaration) { module.exports = donkey; >module.exports : Symbol(exports, Decl(commonJSAliasedExport.js, 0, 0)) >module : Symbol(module, Decl(commonJSAliasedExport.js, 0, 0)) ->exports : Symbol(exports, Decl(commonJSAliasedExport.js, 0, 0)) +>exports : Symbol(export=, Decl(commonJSAliasedExport.js, 4, 1)) >donkey : Symbol(donkey, Decl(commonJSAliasedExport.js, 0, 5)) module.exports.funky = funky; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols.diff b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols.diff index e061ad27ec9..63de593f616 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.symbols.diff @@ -6,10 +6,9 @@ module.exports = donkey; ->module.exports : Symbol(module.exports, Decl(commonJSAliasedExport.js, 0, 0)) ->module : Symbol(export=, Decl(commonJSAliasedExport.js, 4, 1)) -->exports : Symbol(export=, Decl(commonJSAliasedExport.js, 4, 1)) +>module.exports : Symbol(exports, Decl(commonJSAliasedExport.js, 0, 0)) +>module : Symbol(module, Decl(commonJSAliasedExport.js, 0, 0)) -+>exports : Symbol(exports, Decl(commonJSAliasedExport.js, 0, 0)) + >exports : Symbol(export=, Decl(commonJSAliasedExport.js, 4, 1)) >donkey : Symbol(donkey, Decl(commonJSAliasedExport.js, 0, 5)) module.exports.funky = funky; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols b/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols index d8ce170701f..785c7347080 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols +++ b/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols @@ -18,7 +18,7 @@ const hardline = { type: "hard" } module.exports = { >module.exports : Symbol(exports, Decl(first.js, 0, 0)) >module : Symbol(module, Decl(first.js, 0, 0)) ->exports : Symbol(exports, Decl(first.js, 0, 0)) +>exports : Symbol(export=, Decl(first.js, 0, 33)) hardline >hardline : Symbol(hardline, Decl(first.js, 1, 18)) @@ -29,7 +29,7 @@ module.exports = { module.exports = { >module.exports : Symbol(exports, Decl(second.js, 0, 0)) >module : Symbol(module, Decl(second.js, 0, 0)) ->exports : Symbol(exports, Decl(second.js, 0, 0)) +>exports : Symbol(export=, Decl(second.js, 0, 0)) nested: require('./first') >nested : Symbol(nested, Decl(second.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols.diff b/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols.diff index 1960be18d32..45a9fbad22d 100644 --- a/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/commonJSReexport.symbols.diff @@ -17,7 +17,7 @@ ->exports : Symbol(module.exports, Decl(first.js, 0, 0)) +>module.exports : Symbol(exports, Decl(first.js, 0, 0)) +>module : Symbol(module, Decl(first.js, 0, 0)) -+>exports : Symbol(exports, Decl(first.js, 0, 0)) ++>exports : Symbol(export=, Decl(first.js, 0, 33)) hardline >hardline : Symbol(hardline, Decl(first.js, 1, 18)) @@ -27,10 +27,9 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(second.js, 0, 0)) ->module : Symbol(export=, Decl(second.js, 0, 0)) -->exports : Symbol(export=, Decl(second.js, 0, 0)) +>module.exports : Symbol(exports, Decl(second.js, 0, 0)) +>module : Symbol(module, Decl(second.js, 0, 0)) -+>exports : Symbol(exports, Decl(second.js, 0, 0)) + >exports : Symbol(export=, Decl(second.js, 0, 0)) nested: require('./first') >nested : Symbol(nested, Decl(second.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt index c01a40ff2fb..4918b0d860a 100644 --- a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt @@ -1,11 +1,11 @@ -bug24934.js(2,1): error TS2309: An export assignment cannot be used in a module with other exported elements. +bug24934.js(2,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== bug24934.js (1 errors) ==== export function abc(a, b, c) { return 5; } module.exports = { abc }; - ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== use.js (0 errors) ==== import { abc } from './bug24934'; abc(1, 2, 3); diff --git a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt.diff deleted file mode 100644 index 169fd8126e5..00000000000 --- a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.errors.txt.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- old.conflictingCommonJSES2015Exports.errors.txt -+++ new.conflictingCommonJSES2015Exports.errors.txt -@@= skipped -0, +0 lines =@@ --bug24934.js(2,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. -+bug24934.js(2,1): error TS2309: An export assignment cannot be used in a module with other exported elements. - - - ==== bug24934.js (1 errors) ==== - export function abc(a, b, c) { return 5; } - module.exports = { abc }; -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. -+ ~~~~~~~~~~~~~~~~~~~~~~~~ -+!!! error TS2309: An export assignment cannot be used in a module with other exported elements. - ==== use.js (0 errors) ==== - import { abc } from './bug24934'; - abc(1, 2, 3); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols index 6f6b1df84a0..3bb19fc6973 100644 --- a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols +++ b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols @@ -8,9 +8,6 @@ export function abc(a, b, c) { return 5; } >c : Symbol(c, Decl(bug24934.js, 0, 25)) module.exports = { abc }; ->module.exports : Symbol(exports, Decl(bug24934.js, 0, 0)) ->module : Symbol(module, Decl(bug24934.js, 0, 0)) ->exports : Symbol(exports, Decl(bug24934.js, 0, 0)) >abc : Symbol(abc, Decl(bug24934.js, 1, 18)) === use.js === diff --git a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols.diff b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols.diff deleted file mode 100644 index 4c32f43dd75..00000000000 --- a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.symbols.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.conflictingCommonJSES2015Exports.symbols -+++ new.conflictingCommonJSES2015Exports.symbols -@@= skipped -7, +7 lines =@@ - >c : Symbol(c, Decl(bug24934.js, 0, 25)) - - module.exports = { abc }; -+>module.exports : Symbol(exports, Decl(bug24934.js, 0, 0)) -+>module : Symbol(module, Decl(bug24934.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug24934.js, 0, 0)) - >abc : Symbol(abc, Decl(bug24934.js, 1, 18)) - - === use.js === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types index dc6be206591..e598ff40c90 100644 --- a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types +++ b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types @@ -10,9 +10,9 @@ export function abc(a, b, c) { return 5; } module.exports = { abc }; >module.exports = { abc } : { abc: (a: any, b: any, c: any) => number; } ->module.exports : { abc: (a: any, b: any, c: any) => number; } ->module : { exports: { abc: (a: any, b: any, c: any) => number; }; } ->exports : { abc: (a: any, b: any, c: any) => number; } +>module.exports : any +>module : any +>exports : any >{ abc } : { abc: (a: any, b: any, c: any) => number; } >abc : (a: any, b: any, c: any) => number diff --git a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types.diff b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types.diff index 40f6891e2ad..76ef47eb862 100644 --- a/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types.diff +++ b/testdata/baselines/reference/submodule/conformance/conflictingCommonJSES2015Exports.types.diff @@ -5,12 +5,7 @@ module.exports = { abc }; ->module.exports = { abc } : any -->module.exports : any -->module : any -->exports : any +>module.exports = { abc } : { abc: (a: any, b: any, c: any) => number; } -+>module.exports : { abc: (a: any, b: any, c: any) => number; } -+>module : { exports: { abc: (a: any, b: any, c: any) => number; }; } -+>exports : { abc: (a: any, b: any, c: any) => number; } - >{ abc } : { abc: (a: any, b: any, c: any) => number; } - >abc : (a: any, b: any, c: any) => number + >module.exports : any + >module : any + >exports : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols b/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols index 1aceda349c1..b59b95b2814 100644 --- a/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols +++ b/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols @@ -44,6 +44,6 @@ function A() { this.id = 1; } module.exports = A; >module.exports : Symbol(exports, Decl(other.js, 0, 0)) >module : Symbol(module, Decl(other.js, 0, 0)) ->exports : Symbol(exports, Decl(other.js, 0, 0)) +>exports : Symbol(export=, Decl(other.js, 0, 29)) >A : Symbol(A, Decl(other.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols.diff b/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols.diff index d83f92e5a96..e2d8ecd71a1 100644 --- a/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/constructorFunctions2.symbols.diff @@ -48,8 +48,7 @@ module.exports = A; ->module.exports : Symbol(module.exports, Decl(other.js, 0, 0)) ->module : Symbol(export=, Decl(other.js, 0, 29)) -->exports : Symbol(export=, Decl(other.js, 0, 29)) +>module.exports : Symbol(exports, Decl(other.js, 0, 0)) +>module : Symbol(module, Decl(other.js, 0, 0)) -+>exports : Symbol(exports, Decl(other.js, 0, 0)) + >exports : Symbol(export=, Decl(other.js, 0, 29)) >A : Symbol(A, Decl(other.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols index 3b845a6e1ae..7188cac7001 100644 --- a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols +++ b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols @@ -165,7 +165,7 @@ F.prototype = { module.exports = { >module.exports : Symbol(exports, Decl(mod.js, 0, 0)) >module : Symbol(module, Decl(mod.js, 0, 0)) ->exports : Symbol(exports, Decl(mod.js, 0, 0)) +>exports : Symbol(export=, Decl(mod.js, 0, 0)) status: "done", >status : Symbol(status, Decl(mod.js, 2, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols.diff b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols.diff index 905c29cc17d..aceb574ce3c 100644 --- a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.symbols.diff @@ -119,10 +119,8 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(mod.js, 0, 0)) ->module : Symbol(export=, Decl(mod.js, 0, 0)) -->exports : Symbol(export=, Decl(mod.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod.js, 0, 0)) +>module : Symbol(module, Decl(mod.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod.js, 0, 0)) + >exports : Symbol(export=, Decl(mod.js, 0, 0)) - status: "done", - >status : Symbol(status, Decl(mod.js, 2, 18)) \ No newline at end of file + status: "done", \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types index fd256173964..77b2e81957c 100644 --- a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types +++ b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types @@ -98,9 +98,9 @@ class Thing { /** @type {DoneStatus} */ exports.x = { >exports.x = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } ->exports.x : { status: "done"; m(n: number): void; } +>exports.x : DoneStatus >exports : typeof import("./test") ->x : { status: "done"; m(n: number): void; } +>x : DoneStatus >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } status: "done", @@ -112,18 +112,18 @@ exports.x = { >n : number } exports.x ->exports.x : { status: "done"; m(n: number): void; } +>exports.x : DoneStatus >exports : typeof import("./test") ->x : { status: "done"; m(n: number): void; } +>x : DoneStatus /** @type {DoneStatus} */ module.exports.y = { >module.exports.y = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } ->module.exports.y : { status: "done"; m(n: number): void; } +>module.exports.y : DoneStatus >module.exports : typeof import("./test") >module : { exports: typeof import("./test"); } >exports : typeof import("./test") ->y : { status: "done"; m(n: number): void; } +>y : DoneStatus >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } status: "done", @@ -135,11 +135,11 @@ module.exports.y = { >n : number } module.exports.y ->module.exports.y : { status: "done"; m(n: number): void; } +>module.exports.y : DoneStatus >module.exports : typeof import("./test") >module : { exports: typeof import("./test"); } >exports : typeof import("./test") ->y : { status: "done"; m(n: number): void; } +>y : DoneStatus // prototype-property assignment /** @type {DoneStatus} */ diff --git a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types.diff b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types.diff index d815c468119..e5e8da4dbf6 100644 --- a/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types.diff +++ b/testdata/baselines/reference/submodule/conformance/contextualTypedSpecialAssignment.types.diff @@ -49,58 +49,30 @@ >x : DoneStatus -@@= skipped -69, +69 lines =@@ - /** @type {DoneStatus} */ - exports.x = { - >exports.x = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } -->exports.x : DoneStatus -+>exports.x : { status: "done"; m(n: number): void; } - >exports : typeof import("./test") -->x : DoneStatus -+>x : { status: "done"; m(n: number): void; } - >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } - - status: "done", -@@= skipped -14, +14 lines =@@ - >n : number - } - exports.x -->exports.x : DoneStatus -+>exports.x : { status: "done"; m(n: number): void; } - >exports : typeof import("./test") -->x : DoneStatus -+>x : { status: "done"; m(n: number): void; } - - /** @type {DoneStatus} */ +@@= skipped -91, +91 lines =@@ module.exports.y = { >module.exports.y = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } -->module.exports.y : DoneStatus + >module.exports.y : DoneStatus ->module.exports : typeof module.exports ->module : { exports: typeof module.exports; } ->exports : typeof module.exports -->y : DoneStatus -+>module.exports.y : { status: "done"; m(n: number): void; } +>module.exports : typeof import("./test") +>module : { exports: typeof import("./test"); } +>exports : typeof import("./test") -+>y : { status: "done"; m(n: number): void; } + >y : DoneStatus >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } - status: "done", -@@= skipped -23, +23 lines =@@ - >n : number +@@= skipped -16, +16 lines =@@ } module.exports.y -->module.exports.y : DoneStatus + >module.exports.y : DoneStatus ->module.exports : typeof module.exports ->module : { exports: typeof module.exports; } ->exports : typeof module.exports -->y : DoneStatus -+>module.exports.y : { status: "done"; m(n: number): void; } +>module.exports : typeof import("./test") +>module : { exports: typeof import("./test"); } +>exports : typeof import("./test") -+>y : { status: "done"; m(n: number): void; } + >y : DoneStatus // prototype-property assignment /** @type {DoneStatus} */ @@ -116,7 +88,7 @@ >{ status: 'done', m(n) { }} : { status: "done"; m(n: number): void; } status: 'done', -@@= skipped -26, +26 lines =@@ +@@= skipped -25, +25 lines =@@ >n : number } Thing.prototype.x diff --git a/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols b/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols index b1d577dcba4..64f717f3781 100644 --- a/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols +++ b/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols @@ -5,5 +5,5 @@ module.exports = {}; >module.exports : Symbol(exports, Decl(enumTagOnExports.js, 0, 0)) >module : Symbol(module, Decl(enumTagOnExports.js, 0, 0)) ->exports : Symbol(exports, Decl(enumTagOnExports.js, 0, 0)) +>exports : Symbol(export=, Decl(enumTagOnExports.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols.diff b/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols.diff index bdbab5bd36a..16cb613c9e7 100644 --- a/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/enumTagOnExports2.symbols.diff @@ -8,4 +8,4 @@ +>module.exports : Symbol(exports, Decl(enumTagOnExports.js, 0, 0)) >module : Symbol(module, Decl(enumTagOnExports.js, 0, 0)) ->exports : Symbol(module.exports, Decl(enumTagOnExports.js, 0, 0)) -+>exports : Symbol(exports, Decl(enumTagOnExports.js, 0, 0)) ++>exports : Symbol(export=, Decl(enumTagOnExports.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt b/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt index fc1092d2a74..10742460ca4 100644 --- a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt @@ -1,25 +1,19 @@ -first.js(1,1): error TS2631: Cannot assign to '"first"' because it is a namespace. first.js(2,9): error TS2339: Property 'formatters' does not exist on type 'typeof import("first")'. -second.js(1,1): error TS2631: Cannot assign to '"second"' because it is a namespace. second.js(2,9): error TS2339: Property 'formatters' does not exist on type 'typeof import("second")'. ==== mod.js (0 errors) ==== // Based on a pattern from adonis exports.formatters = {} -==== first.js (2 errors) ==== +==== first.js (1 errors) ==== exports = require('./mod') - ~~~~~~~ -!!! error TS2631: Cannot assign to '"first"' because it is a namespace. exports.formatters.j = function (v) { ~~~~~~~~~~ !!! error TS2339: Property 'formatters' does not exist on type 'typeof import("first")'. return v } -==== second.js (2 errors) ==== +==== second.js (1 errors) ==== exports = require('./mod') - ~~~~~~~ -!!! error TS2631: Cannot assign to '"second"' because it is a namespace. exports.formatters.o = function (v) { ~~~~~~~~~~ !!! error TS2339: Property 'formatters' does not exist on type 'typeof import("second")'. diff --git a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt.diff deleted file mode 100644 index d4c5b494085..00000000000 --- a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.errors.txt.diff +++ /dev/null @@ -1,30 +0,0 @@ ---- old.exportNestedNamespaces2.errors.txt -+++ new.exportNestedNamespaces2.errors.txt -@@= skipped -0, +0 lines =@@ -+first.js(1,1): error TS2631: Cannot assign to '"first"' because it is a namespace. - first.js(2,9): error TS2339: Property 'formatters' does not exist on type 'typeof import("first")'. -+second.js(1,1): error TS2631: Cannot assign to '"second"' because it is a namespace. - second.js(2,9): error TS2339: Property 'formatters' does not exist on type 'typeof import("second")'. - - - ==== mod.js (0 errors) ==== - // Based on a pattern from adonis - exports.formatters = {} --==== first.js (1 errors) ==== -+==== first.js (2 errors) ==== - exports = require('./mod') -+ ~~~~~~~ -+!!! error TS2631: Cannot assign to '"first"' because it is a namespace. - exports.formatters.j = function (v) { - ~~~~~~~~~~ - !!! error TS2339: Property 'formatters' does not exist on type 'typeof import("first")'. - return v - } --==== second.js (1 errors) ==== -+==== second.js (2 errors) ==== - exports = require('./mod') -+ ~~~~~~~ -+!!! error TS2631: Cannot assign to '"second"' because it is a namespace. - exports.formatters.o = function (v) { - ~~~~~~~~~~ - !!! error TS2339: Property 'formatters' does not exist on type 'typeof import("second")'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types b/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types index e6d6329f2ec..c0dfe7164eb 100644 --- a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types +++ b/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types @@ -12,7 +12,7 @@ exports.formatters = {} === first.js === exports = require('./mod') >exports = require('./mod') : typeof import("./mod") ->exports : any +>exports : typeof import("./first") >require('./mod') : typeof import("./mod") >require : any >'./mod' : "./mod" @@ -33,7 +33,7 @@ exports.formatters.j = function (v) { === second.js === exports = require('./mod') >exports = require('./mod') : typeof import("./mod") ->exports : any +>exports : typeof import("./second") >require('./mod') : typeof import("./mod") >require : any >'./mod' : "./mod" diff --git a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types.diff b/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types.diff deleted file mode 100644 index f90f51a7a4e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/exportNestedNamespaces2.types.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- old.exportNestedNamespaces2.types -+++ new.exportNestedNamespaces2.types -@@= skipped -11, +11 lines =@@ - === first.js === - exports = require('./mod') - >exports = require('./mod') : typeof import("./mod") -->exports : typeof import("./first") -+>exports : any - >require('./mod') : typeof import("./mod") - >require : any - >'./mod' : "./mod" -@@= skipped -21, +21 lines =@@ - === second.js === - exports = require('./mod') - >exports = require('./mod') : typeof import("./mod") -->exports : typeof import("./second") -+>exports : any - >require('./mod') : typeof import("./mod") - >require : any - >'./mod' : "./mod" \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols index 33b8acc0dee..3bfc3217ce7 100644 --- a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols +++ b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols @@ -3,6 +3,9 @@ === exportedAliasedEnumTag.js === var middlewarify = module.exports = {}; >middlewarify : Symbol(middlewarify, Decl(exportedAliasedEnumTag.js, 0, 3)) +>module.exports : Symbol(exports, Decl(exportedAliasedEnumTag.js, 0, 0)) +>module : Symbol(module, Decl(exportedAliasedEnumTag.js, 0, 0)) +>exports : Symbol(middlewarify, Decl(exportedAliasedEnumTag.js, 0, 18)) /** @enum */ middlewarify.Type = { diff --git a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols.diff b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols.diff index 809238f8cd1..069da1a9f29 100644 --- a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.symbols.diff @@ -7,6 +7,9 @@ ->module.exports : Symbol(module.exports, Decl(exportedAliasedEnumTag.js, 0, 0)) ->module : Symbol(module, Decl(exportedAliasedEnumTag.js, 0, 18)) ->exports : Symbol(module.exports, Decl(exportedAliasedEnumTag.js, 0, 0)) ++>module.exports : Symbol(exports, Decl(exportedAliasedEnumTag.js, 0, 0)) ++>module : Symbol(module, Decl(exportedAliasedEnumTag.js, 0, 0)) ++>exports : Symbol(middlewarify, Decl(exportedAliasedEnumTag.js, 0, 18)) /** @enum */ middlewarify.Type = { diff --git a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types index ccc6f44b561..ed26a0ade0e 100644 --- a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types +++ b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types @@ -4,9 +4,9 @@ var middlewarify = module.exports = {}; >middlewarify : {} >module.exports = {} : {} ->module.exports : error ->module : any ->exports : any +>module.exports : {} +>module : { exports: {}; } +>exports : {} >{} : {} /** @enum */ diff --git a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types.diff b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types.diff index 00052d39229..1f723e3b014 100644 --- a/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types.diff +++ b/testdata/baselines/reference/submodule/conformance/exportedAliasedEnumTag.types.diff @@ -11,9 +11,9 @@ ->exports : typeof module.exports +>middlewarify : {} +>module.exports = {} : {} -+>module.exports : error -+>module : any -+>exports : any ++>module.exports : {} ++>module : { exports: {}; } ++>exports : {} >{} : {} /** @enum */ diff --git a/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols b/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols index f070782cc5d..ba3d1318309 100644 --- a/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols +++ b/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols @@ -14,6 +14,6 @@ window.console; // should not have error: Property 'console' does not exist on t module.exports = 'anything'; >module.exports : Symbol(exports, Decl(bug27099.js, 0, 0)) >module : Symbol(module, Decl(bug27099.js, 0, 0)) ->exports : Symbol(exports, Decl(bug27099.js, 0, 0)) +>exports : Symbol(export=, Decl(bug27099.js, 1, 15)) diff --git a/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols.diff b/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols.diff index 8f2a665aa17..fd4b5a984c5 100644 --- a/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/globalMergeWithCommonJSAssignmentDeclaration.symbols.diff @@ -17,8 +17,7 @@ module.exports = 'anything'; ->module.exports : Symbol(module.exports, Decl(bug27099.js, 0, 0)) ->module : Symbol(export=, Decl(bug27099.js, 1, 15)) -->exports : Symbol(export=, Decl(bug27099.js, 1, 15)) +>module.exports : Symbol(exports, Decl(bug27099.js, 0, 0)) +>module : Symbol(module, Decl(bug27099.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug27099.js, 0, 0)) + >exports : Symbol(export=, Decl(bug27099.js, 1, 15)) diff --git a/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols b/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols index 1fd6876b7d1..dd5d95341a7 100644 --- a/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols +++ b/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols @@ -10,7 +10,7 @@ class Alias { module.exports = Alias; >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 2, 1)) >Alias : Symbol(Alias, Decl(mod1.js, 0, 0)) === main.js === diff --git a/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols.diff b/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols.diff index f0ba70f9431..2d2cea43631 100644 --- a/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/importAliasModuleExports.symbols.diff @@ -6,10 +6,7 @@ module.exports = Alias; ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 2, 1)) -->exports : Symbol(export=, Decl(mod1.js, 2, 1)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 2, 1)) >Alias : Symbol(Alias, Decl(mod1.js, 0, 0)) - - === main.js === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols b/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols index e3d5cf7c067..a27e054aaf4 100644 --- a/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols +++ b/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols @@ -28,10 +28,10 @@ import { writeFile, WriteFileOptions, WriteFileOptions as OtherName } from "fs"; /** @typedef {{ x: any }} JSDocType */ export { JSDocType }; ->JSDocType : Symbol(JSDocType, Decl(index.js, 2, 4), Decl(index.js, 4, 8)) +>JSDocType : Symbol(JSDocType, Decl(index.js, 4, 8), Decl(index.js, 2, 4)) export { JSDocType as ThisIsFine }; ->JSDocType : Symbol(JSDocType, Decl(index.js, 2, 4), Decl(index.js, 4, 8)) +>JSDocType : Symbol(JSDocType, Decl(index.js, 4, 8), Decl(index.js, 2, 4)) >ThisIsFine : Symbol(ThisIsFine, Decl(index.js, 5, 8)) export { WriteFileOptions }; diff --git a/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols.diff b/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols.diff deleted file mode 100644 index cac0a7e1fb7..00000000000 --- a/testdata/baselines/reference/submodule/conformance/importingExportingTypes.symbols.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- old.importingExportingTypes.symbols -+++ new.importingExportingTypes.symbols -@@= skipped -27, +27 lines =@@ - /** @typedef {{ x: any }} JSDocType */ - - export { JSDocType }; -->JSDocType : Symbol(JSDocType, Decl(index.js, 4, 8), Decl(index.js, 2, 4)) -+>JSDocType : Symbol(JSDocType, Decl(index.js, 2, 4), Decl(index.js, 4, 8)) - - export { JSDocType as ThisIsFine }; -->JSDocType : Symbol(JSDocType, Decl(index.js, 4, 8), Decl(index.js, 2, 4)) -+>JSDocType : Symbol(JSDocType, Decl(index.js, 2, 4), Decl(index.js, 4, 8)) - >ThisIsFine : Symbol(ThisIsFine, Decl(index.js, 5, 8)) - - export { WriteFileOptions }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols index c608dea80bb..db8be4ae2a9 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols @@ -23,7 +23,7 @@ class Foo extends Bar {} module.exports = Foo; >module.exports : Symbol(exports, Decl(cls.js, 0, 0)) >module : Symbol(module, Decl(cls.js, 0, 0)) ->exports : Symbol(exports, Decl(cls.js, 0, 0)) +>exports : Symbol(export=, Decl(cls.js, 5, 24)) >Foo : Symbol(Foo, Decl(cls.js, 4, 2)) module.exports.Strings = Strings; @@ -39,6 +39,6 @@ class Bar {} module.exports = Bar; >module.exports : Symbol(exports, Decl(bar.js, 0, 0)) >module : Symbol(module, Decl(bar.js, 0, 0)) ->exports : Symbol(exports, Decl(bar.js, 0, 0)) +>exports : Symbol(export=, Decl(bar.js, 0, 12)) >Bar : Symbol(Bar, Decl(bar.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols.diff index b8c848b63ab..437890cb5c8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility(target=es2015).symbols.diff @@ -6,10 +6,9 @@ module.exports = Foo; ->module.exports : Symbol(module.exports, Decl(cls.js, 0, 0)) ->module : Symbol(export=, Decl(cls.js, 5, 24)) -->exports : Symbol(export=, Decl(cls.js, 5, 24)) +>module.exports : Symbol(exports, Decl(cls.js, 0, 0)) +>module : Symbol(module, Decl(cls.js, 0, 0)) -+>exports : Symbol(exports, Decl(cls.js, 0, 0)) + >exports : Symbol(export=, Decl(cls.js, 5, 24)) >Foo : Symbol(Foo, Decl(cls.js, 4, 2)) module.exports.Strings = Strings; @@ -30,8 +29,7 @@ module.exports = Bar; ->module.exports : Symbol(module.exports, Decl(bar.js, 0, 0)) ->module : Symbol(export=, Decl(bar.js, 0, 12)) -->exports : Symbol(export=, Decl(bar.js, 0, 12)) +>module.exports : Symbol(exports, Decl(bar.js, 0, 0)) +>module : Symbol(module, Decl(bar.js, 0, 0)) -+>exports : Symbol(exports, Decl(bar.js, 0, 0)) + >exports : Symbol(export=, Decl(bar.js, 0, 12)) >Bar : Symbol(Bar, Decl(bar.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols index cbb54a7b5ea..be85a09582c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols @@ -32,7 +32,7 @@ const Strings = { module.exports = Handler; >module.exports : Symbol(exports, Decl(source.js, 0, 0)) >module : Symbol(module, Decl(source.js, 0, 0)) ->exports : Symbol(exports, Decl(source.js, 0, 0)) +>exports : Symbol(export=, Decl(source.js, 12, 1)) >Handler : Symbol(Handler, Decl(source.js, 0, 0)) module.exports.Strings = Strings diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols.diff index 16fdfc1d86d..056bf10aabc 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic(target=es2015).symbols.diff @@ -24,11 +24,10 @@ module.exports = Handler; ->module.exports : Symbol(module.exports, Decl(source.js, 0, 0)) ->module : Symbol(export=, Decl(source.js, 12, 1)) -->exports : Symbol(export=, Decl(source.js, 12, 1)) -->Handler : Symbol(Handler, Decl(source.js, 0, 0), Decl(source.js, 7, 1)) +>module.exports : Symbol(exports, Decl(source.js, 0, 0)) +>module : Symbol(module, Decl(source.js, 0, 0)) -+>exports : Symbol(exports, Decl(source.js, 0, 0)) + >exports : Symbol(export=, Decl(source.js, 12, 1)) +->Handler : Symbol(Handler, Decl(source.js, 0, 0), Decl(source.js, 7, 1)) +>Handler : Symbol(Handler, Decl(source.js, 0, 0)) module.exports.Strings = Strings diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols index c05462644f2..8cd5c60d335 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols @@ -11,7 +11,7 @@ const Thing = require('./thing').Thing module.exports = { Thing } >module.exports : Symbol(exports, Decl(reexport.js, 0, 0)) >module : Symbol(module, Decl(reexport.js, 0, 0)) ->exports : Symbol(exports, Decl(reexport.js, 0, 0)) +>exports : Symbol(export=, Decl(reexport.js, 1, 38)) >Thing : Symbol(Thing, Decl(reexport.js, 2, 18)) === thing.js === @@ -22,6 +22,6 @@ class Thing {} module.exports = { Thing } >module.exports : Symbol(exports, Decl(thing.js, 0, 0)) >module : Symbol(module, Decl(thing.js, 0, 0)) ->exports : Symbol(exports, Decl(thing.js, 0, 0)) +>exports : Symbol(export=, Decl(thing.js, 1, 14)) >Thing : Symbol(Thing, Decl(thing.js, 2, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols.diff index 5467a708d2d..f8a26eb12cf 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.symbols.diff @@ -13,7 +13,7 @@ ->exports : Symbol(module.exports, Decl(reexport.js, 0, 0)) +>module.exports : Symbol(exports, Decl(reexport.js, 0, 0)) +>module : Symbol(module, Decl(reexport.js, 0, 0)) -+>exports : Symbol(exports, Decl(reexport.js, 0, 0)) ++>exports : Symbol(export=, Decl(reexport.js, 1, 38)) >Thing : Symbol(Thing, Decl(reexport.js, 2, 18)) === thing.js === @@ -26,5 +26,5 @@ ->exports : Symbol(module.exports, Decl(thing.js, 0, 0)) +>module.exports : Symbol(exports, Decl(thing.js, 0, 0)) +>module : Symbol(module, Decl(thing.js, 0, 0)) -+>exports : Symbol(exports, Decl(thing.js, 0, 0)) ++>exports : Symbol(export=, Decl(thing.js, 1, 14)) >Thing : Symbol(Thing, Decl(thing.js, 2, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols index 4046906d45c..068349bf3b7 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols @@ -12,7 +12,7 @@ const InnerSym = Symbol(); module.exports = { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 1, 26)) [TopLevelSym](x = 12) { >[TopLevelSym] : Symbol([TopLevelSym], Decl(index.js, 2, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols.diff index cba32507896..e318ca64b9e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames(target=es2015).symbols.diff @@ -6,10 +6,8 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 1, 26)) -->exports : Symbol(export=, Decl(index.js, 1, 26)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 1, 26)) - [TopLevelSym](x = 12) { - >[TopLevelSym] : Symbol([TopLevelSym], Decl(index.js, 2, 18)) \ No newline at end of file + [TopLevelSym](x = 12) { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols index 8c511d2e319..5a91ac3d5b9 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols @@ -9,7 +9,7 @@ const m = require("./exporter"); module.exports = m.default; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 32)) >m.default : Symbol(m.default, Decl(exporter.js, 0, 22)) >m : Symbol(m, Decl(index.js, 0, 5)) >default : Symbol(m.default, Decl(exporter.js, 0, 22)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols.diff index 7d4fda9edea..1467537e59b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge(target=es2015).symbols.diff @@ -6,10 +6,9 @@ module.exports = m.default; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 32)) -->exports : Symbol(export=, Decl(index.js, 0, 32)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 32)) >m.default : Symbol(m.default, Decl(exporter.js, 0, 22)) >m : Symbol(m, Decl(index.js, 0, 5)) >default : Symbol(m.default, Decl(exporter.js, 0, 22)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols index 345a6235cf5..23e5a9b142a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols @@ -23,7 +23,7 @@ function b() { module.exports = {x, b} >module.exports : Symbol(exports, Decl(index1.js, 0, 0)) >module : Symbol(module, Decl(index1.js, 0, 0)) ->exports : Symbol(exports, Decl(index1.js, 0, 0)) +>exports : Symbol(export=, Decl(index1.js, 12, 1)) >x : Symbol(x, Decl(index1.js, 14, 18)) >b : Symbol(b, Decl(index1.js, 14, 20)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols.diff index 2032be7c44d..d3632555ebe 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts(target=es2015).symbols.diff @@ -9,6 +9,6 @@ ->exports : Symbol(module.exports, Decl(index1.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index1.js, 0, 0)) +>module : Symbol(module, Decl(index1.js, 0, 0)) -+>exports : Symbol(exports, Decl(index1.js, 0, 0)) ++>exports : Symbol(export=, Decl(index1.js, 12, 1)) >x : Symbol(x, Decl(index1.js, 14, 18)) >b : Symbol(b, Decl(index1.js, 14, 20)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js index 5b47efd58b4..65aee0cfdc3 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js @@ -24,8 +24,22 @@ module.exports = class Thing { //// [index.d.ts] declare const _default: { - new (p: number): { - t: number; - }; + new (p: number): import("."); }; export = _default; + + +//// [DtsFileErrors] + + +out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + + +==== out/index.d.ts (1 errors) ==== + declare const _default: { + new (p: number): import("."); + ~~~~~~~~~~~ +!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + }; + export = _default; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js.diff index 91d9410c4b7..f72d77aec6e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).js.diff @@ -13,8 +13,22 @@ - t: number; -} +declare const _default: { -+ new (p: number): { -+ t: number; -+ }; ++ new (p: number): import("."); +}; -+export = _default; \ No newline at end of file ++export = _default; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ declare const _default: { ++ new (p: number): import("."); ++ ~~~~~~~~~~~ ++!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ }; ++ export = _default; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols index 158717c4b72..f6a479ecabb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols @@ -4,7 +4,7 @@ module.exports = class Thing { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 0)) >Thing : Symbol(Thing, Decl(index.js, 0, 16)) /** diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols.diff index 255eb2de1ec..17ef112ea21 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).symbols.diff @@ -6,10 +6,7 @@ module.exports = class Thing { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 0)) -->exports : Symbol(export=, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 0)) >Thing : Symbol(Thing, Decl(index.js, 0, 16)) - - /** \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types index 6b0213815d9..30698a1aa32 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types @@ -2,12 +2,12 @@ === index.js === module.exports = class Thing { ->module.exports = class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof Thing ->module.exports : typeof Thing ->module : { exports: typeof Thing; } ->exports : typeof Thing ->class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof Thing ->Thing : typeof Thing +>module.exports = class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") +>class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") +>Thing : typeof import(".") /** * @param {number} p diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types.diff deleted file mode 100644 index 302f7dc3ae5..00000000000 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression(target=es2015).types.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.jsDeclarationsExportAssignedClassExpression(target=es2015).types -+++ new.jsDeclarationsExportAssignedClassExpression(target=es2015).types -@@= skipped -1, +1 lines =@@ - - === index.js === - module.exports = class Thing { -->module.exports = class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -->class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") -->Thing : typeof import(".") -+>module.exports = class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof Thing -+>module.exports : typeof Thing -+>module : { exports: typeof Thing; } -+>exports : typeof Thing -+>class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof Thing -+>Thing : typeof Thing - - /** - * @param {number} p \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js index 58b73fe07f1..9332c14297d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js @@ -24,8 +24,22 @@ module.exports = class { //// [index.d.ts] declare const _default: { - new (p: number): { - t: number; - }; + new (p: number): import("."); }; export = _default; + + +//// [DtsFileErrors] + + +out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + + +==== out/index.d.ts (1 errors) ==== + declare const _default: { + new (p: number): import("."); + ~~~~~~~~~~~ +!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + }; + export = _default; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js.diff index 7b4d040aa2d..74a799f397e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).js.diff @@ -13,8 +13,22 @@ - t: number; -} +declare const _default: { -+ new (p: number): { -+ t: number; -+ }; ++ new (p: number): import("."); +}; -+export = _default; \ No newline at end of file ++export = _default; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ declare const _default: { ++ new (p: number): import("."); ++ ~~~~~~~~~~~ ++!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ }; ++ export = _default; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols index b2f50fa2ba3..a877f36f146 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols @@ -4,7 +4,7 @@ module.exports = class { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 0)) /** * @param {number} p diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols.diff index 1e5ff94d3cc..a28819b0a83 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).symbols.diff @@ -6,10 +6,8 @@ module.exports = class { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 0)) -->exports : Symbol(export=, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 0)) - /** - * @param {number} p \ No newline at end of file + /** \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types index db9af965315..8b6e13eda28 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types @@ -2,11 +2,11 @@ === index.js === module.exports = class { ->module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports ->module.exports : typeof (Anonymous class) ->module : { exports: typeof (Anonymous class); } ->exports : typeof (Anonymous class) ->class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports +>module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") +>class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") /** * @param {number} p diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types.diff deleted file mode 100644 index b183d0577fe..00000000000 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types.diff +++ /dev/null @@ -1,19 +0,0 @@ ---- old.jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types -+++ new.jsDeclarationsExportAssignedClassExpressionAnonymous(target=es2015).types -@@= skipped -1, +1 lines =@@ - - === index.js === - module.exports = class { -->module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -->class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") -+>module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports -+>module.exports : typeof (Anonymous class) -+>module : { exports: typeof (Anonymous class); } -+>exports : typeof (Anonymous class) -+>class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports - - /** - * @param {number} p \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt index f3dcd0a4a24..22d27100d3a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt @@ -1,5 +1,5 @@ index.js(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -index.js(9,16): error TS2339: Property 'Sub' does not exist on type 'typeof (Anonymous class)'. +index.js(9,16): error TS2339: Property 'Sub' does not exist on type 'typeof exports'. ==== index.js (2 errors) ==== @@ -22,7 +22,7 @@ index.js(9,16): error TS2339: Property 'Sub' does not exist on type 'typeof (Ano !!! error TS2309: An export assignment cannot be used in a module with other exported elements. module.exports.Sub = class { ~~~ -!!! error TS2339: Property 'Sub' does not exist on type 'typeof (Anonymous class)'. +!!! error TS2339: Property 'Sub' does not exist on type 'typeof exports'. constructor() { this.instance = new module.exports(10); } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt.diff index 5bc77e92d91..03fc9daabfe 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).errors.txt.diff @@ -3,7 +3,7 @@ @@= skipped -0, +0 lines =@@ - +index.js(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -+index.js(9,16): error TS2339: Property 'Sub' does not exist on type 'typeof (Anonymous class)'. ++index.js(9,16): error TS2339: Property 'Sub' does not exist on type 'typeof exports'. + + +==== index.js (2 errors) ==== @@ -26,7 +26,7 @@ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + module.exports.Sub = class { + ~~~ -+!!! error TS2339: Property 'Sub' does not exist on type 'typeof (Anonymous class)'. ++!!! error TS2339: Property 'Sub' does not exist on type 'typeof exports'. + constructor() { + this.instance = new module.exports(10); + } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js index 60d94532894..ab1ab0a48f1 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js @@ -35,15 +35,11 @@ module.exports.Sub = class { //// [index.d.ts] declare const _default: { - new (p: number): { - t: number; - }; + new (p: number): import("."); }; export = _default; export declare var Sub: { new (): { - instance: { - t: number; - }; + instance: import("."); }; }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js.diff index 1fd87b32bca..6a1c9a1f095 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).js.diff @@ -19,15 +19,11 @@ - instance: import("."); -} +declare const _default: { -+ new (p: number): { -+ t: number; -+ }; ++ new (p: number): import("."); +}; +export = _default; +export declare var Sub: { + new (): { -+ instance: { -+ t: number; -+ }; ++ instance: import("."); + }; +}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols index 597a665a6ac..a9b61fd4a98 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols @@ -4,7 +4,7 @@ module.exports = class { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 0)) /** * @param {number} p diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols.diff index da5086a9344..56f756c779b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).symbols.diff @@ -6,13 +6,11 @@ module.exports = class { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 0)) -->exports : Symbol(export=, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 0)) /** - * @param {number} p @@= skipped -18, +18 lines =@@ } } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types index 03553a97f27..102019b45eb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types @@ -2,11 +2,11 @@ === index.js === module.exports = class { ->module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports ->module.exports : typeof (Anonymous class) ->module : { exports: typeof (Anonymous class); } ->exports : typeof (Anonymous class) ->class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports +>module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") +>class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") /** * @param {number} p @@ -27,22 +27,22 @@ module.exports = class { module.exports.Sub = class { >module.exports.Sub = class { constructor() { this.instance = new module.exports(10); }} : typeof Sub >module.exports.Sub : any ->module.exports : typeof (Anonymous class) ->module : { exports: typeof (Anonymous class); } ->exports : typeof (Anonymous class) +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") >Sub : any >class { constructor() { this.instance = new module.exports(10); }} : typeof Sub constructor() { this.instance = new module.exports(10); ->this.instance = new module.exports(10) : (Anonymous class) +>this.instance = new module.exports(10) : import(".") >this.instance : any >this : this >instance : any ->new module.exports(10) : (Anonymous class) ->module.exports : typeof (Anonymous class) ->module : { exports: typeof (Anonymous class); } ->exports : typeof (Anonymous class) +>new module.exports(10) : import(".") +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") >10 : 10 } } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types.diff index afa8c406d7c..54d50cbe28a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types.diff @@ -1,53 +1,16 @@ --- old.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types +++ new.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub(target=es2015).types -@@= skipped -1, +1 lines =@@ - - === index.js === - module.exports = class { -->module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -->class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import(".") -+>module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports -+>module.exports : typeof (Anonymous class) -+>module : { exports: typeof (Anonymous class); } -+>exports : typeof (Anonymous class) -+>class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof exports - - /** - * @param {number} p -@@= skipped -24, +24 lines =@@ +@@= skipped -25, +25 lines =@@ } module.exports.Sub = class { >module.exports.Sub = class { constructor() { this.instance = new module.exports(10); }} : typeof Sub ->module.exports.Sub : typeof Sub -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -->Sub : typeof Sub +>module.exports.Sub : any -+>module.exports : typeof (Anonymous class) -+>module : { exports: typeof (Anonymous class); } -+>exports : typeof (Anonymous class) + >module.exports : typeof import(".") + >module : { exports: typeof import("."); } + >exports : typeof import(".") +->Sub : typeof Sub +>Sub : any >class { constructor() { this.instance = new module.exports(10); }} : typeof Sub - constructor() { - this.instance = new module.exports(10); -->this.instance = new module.exports(10) : import(".") -+>this.instance = new module.exports(10) : (Anonymous class) - >this.instance : any - >this : this - >instance : any -->new module.exports(10) : import(".") -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -+>new module.exports(10) : (Anonymous class) -+>module.exports : typeof (Anonymous class) -+>module : { exports: typeof (Anonymous class); } -+>exports : typeof (Anonymous class) - >10 : 10 - } - } \ No newline at end of file + constructor() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js index 1d27c81c3ec..51a407fb642 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js @@ -36,16 +36,11 @@ module.exports.Another = Q; //// [index.d.ts] -declare class A { - member: Q; -} declare class Q { x: number; } declare const _default: { - new (): { - x: A; - }; + new (): import("."); }; export = _default; export declare var Another: typeof Q; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js.diff index 8735dcae685..f32d447b070 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).js.diff @@ -5,23 +5,20 @@ //// [index.d.ts] -export = Q; --declare class Q { + declare class Q { - x: A; -} -declare namespace Q { - export { Q_1 as Another }; -} - declare class A { - member: Q; - } +-declare class A { +- member: Q; +-} -declare class Q_1 { -+declare class Q { x: number; } +declare const _default: { -+ new (): { -+ x: A; -+ }; ++ new (): import("."); +}; +export = _default; +export declare var Another: typeof Q; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols index b1cb5602387..92a3044f587 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols @@ -17,7 +17,7 @@ class Q { module.exports = class Q { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 5, 1)) >Q : Symbol(Q, Decl(index.js, 6, 16)) constructor() { diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols.diff index a6915ced350..ddc0a730d10 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).symbols.diff @@ -6,13 +6,11 @@ module.exports = class Q { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 5, 1)) -->exports : Symbol(export=, Decl(index.js, 5, 1)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 5, 1)) >Q : Symbol(Q, Decl(index.js, 6, 16)) - constructor() { @@= skipped -14, +14 lines =@@ } } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types index 11773076b05..b14ab1a2b97 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types @@ -17,12 +17,12 @@ class Q { >42 : 42 } module.exports = class Q { ->module.exports = class Q { constructor() { this.x = new A(); }} : typeof Q ->module.exports : typeof Q ->module : { exports: typeof Q; } ->exports : typeof Q ->class Q { constructor() { this.x = new A(); }} : typeof Q ->Q : typeof Q +>module.exports = class Q { constructor() { this.x = new A(); }} : typeof import(".") +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") +>class Q { constructor() { this.x = new A(); }} : typeof import(".") +>Q : typeof import(".") constructor() { this.x = new A(); @@ -37,9 +37,9 @@ module.exports = class Q { module.exports.Another = Q; >module.exports.Another = Q : typeof Q >module.exports.Another : any ->module.exports : typeof Q ->module : { exports: typeof Q; } ->exports : typeof Q +>module.exports : typeof import(".") +>module : { exports: typeof import("."); } +>exports : typeof import(".") >Another : any >Q : typeof Q diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types.diff index 82d86cb0f16..190b8d7be20 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types.diff @@ -1,36 +1,14 @@ --- old.jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types +++ new.jsDeclarationsExportAssignedClassExpressionShadowing(target=es2015).types -@@= skipped -16, +16 lines =@@ - >42 : 42 - } - module.exports = class Q { -->module.exports = class Q { constructor() { this.x = new A(); }} : typeof import(".") -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -->class Q { constructor() { this.x = new A(); }} : typeof import(".") -->Q : typeof import(".") -+>module.exports = class Q { constructor() { this.x = new A(); }} : typeof Q -+>module.exports : typeof Q -+>module : { exports: typeof Q; } -+>exports : typeof Q -+>class Q { constructor() { this.x = new A(); }} : typeof Q -+>Q : typeof Q - - constructor() { - this.x = new A(); -@@= skipped -19, +19 lines =@@ +@@= skipped -35, +35 lines =@@ } module.exports.Another = Q; >module.exports.Another = Q : typeof Q ->module.exports.Another : typeof Q -->module.exports : typeof import(".") -->module : { exports: typeof import("."); } -->exports : typeof import(".") -->Another : typeof Q +>module.exports.Another : any -+>module.exports : typeof Q -+>module : { exports: typeof Q; } -+>exports : typeof Q + >module.exports : typeof import(".") + >module : { exports: typeof import("."); } + >exports : typeof import(".") +->Another : typeof Q +>Another : any >Q : typeof Q diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols index b088094fb8b..590d5c0d8c2 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols @@ -7,6 +7,6 @@ class Foo {} module.exports = new Foo(); >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 12)) >Foo : Symbol(Foo, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols.diff index 594acb31fea..a033147855d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1(target=es2015).symbols.diff @@ -6,8 +6,7 @@ module.exports = new Foo(); ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 12)) -->exports : Symbol(export=, Decl(index.js, 0, 12)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 12)) >Foo : Symbol(Foo, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols index d7513e4a688..7e136757958 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols @@ -14,6 +14,6 @@ class Foo { module.exports = new Foo(); >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 3, 1)) >Foo : Symbol(Foo, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols.diff index 8c8282ddd51..d3d57fe1766 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2(target=es2015).symbols.diff @@ -6,8 +6,7 @@ module.exports = new Foo(); ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 3, 1)) -->exports : Symbol(export=, Decl(index.js, 3, 1)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 3, 1)) >Foo : Symbol(Foo, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols index ad0a516bfd4..88cd3b919e6 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols @@ -14,7 +14,7 @@ class Foo { module.exports = new Foo(); >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 3, 1)) >Foo : Symbol(Foo, Decl(index.js, 0, 0)) module.exports.additional = 20; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols.diff index 2c74ff00d29..322a9356b4b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3(target=es2015).symbols.diff @@ -6,10 +6,9 @@ module.exports = new Foo(); ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 3, 1)) -->exports : Symbol(export=, Decl(index.js, 3, 1)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 3, 1)) >Foo : Symbol(Foo, Decl(index.js, 0, 0)) module.exports.additional = 20; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt index 09c2d7526e5..0f9da8b0709 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt @@ -1,13 +1,10 @@ -jsDeclarationsExportAssignedConstructorFunction.js(3,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. jsDeclarationsExportAssignedConstructorFunction.js(3,10): error TS2339: Property 'x' does not exist on type 'typeof import("jsDeclarationsExportAssignedConstructorFunction")'. -==== jsDeclarationsExportAssignedConstructorFunction.js (2 errors) ==== +==== jsDeclarationsExportAssignedConstructorFunction.js (1 errors) ==== /** @constructor */ module.exports.MyClass = function() { this.x = 1 - ~~~~ -!!! error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. ~ !!! error TS2339: Property 'x' does not exist on type 'typeof import("jsDeclarationsExportAssignedConstructorFunction")'. } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt.diff index fa6210341d6..75c04968975 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt.diff @@ -2,16 +2,13 @@ +++ new.jsDeclarationsExportAssignedConstructorFunction(target=es2015).errors.txt @@= skipped -0, +0 lines =@@ - -+jsDeclarationsExportAssignedConstructorFunction.js(3,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. +jsDeclarationsExportAssignedConstructorFunction.js(3,10): error TS2339: Property 'x' does not exist on type 'typeof import("jsDeclarationsExportAssignedConstructorFunction")'. + + -+==== jsDeclarationsExportAssignedConstructorFunction.js (2 errors) ==== ++==== jsDeclarationsExportAssignedConstructorFunction.js (1 errors) ==== + /** @constructor */ + module.exports.MyClass = function() { + this.x = 1 -+ ~~~~ -+!!! error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. + ~ +!!! error TS2339: Property 'x' does not exist on type 'typeof import("jsDeclarationsExportAssignedConstructorFunction")'. + } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt index 45dba7402e3..ef0b3633b83 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt @@ -1,5 +1,4 @@ jsDeclarationsExportAssignedConstructorFunctionWithSub.js(4,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -jsDeclarationsExportAssignedConstructorFunctionWithSub.js(5,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. jsDeclarationsExportAssignedConstructorFunctionWithSub.js(5,10): error TS2339: Property 't' does not exist on type '{ exports: (p: number) => void; }'. jsDeclarationsExportAssignedConstructorFunctionWithSub.js(7,16): error TS2339: Property 'Sub' does not exist on type '(p: number) => void'. jsDeclarationsExportAssignedConstructorFunctionWithSub.js(8,10): error TS2339: Property 'instance' does not exist on type '(p: number) => void'. @@ -7,7 +6,7 @@ jsDeclarationsExportAssignedConstructorFunctionWithSub.js(8,21): error TS7009: ' jsDeclarationsExportAssignedConstructorFunctionWithSub.js(10,16): error TS2339: Property 'Sub' does not exist on type '(p: number) => void'. -==== jsDeclarationsExportAssignedConstructorFunctionWithSub.js (7 errors) ==== +==== jsDeclarationsExportAssignedConstructorFunctionWithSub.js (6 errors) ==== /** * @param {number} p */ @@ -15,8 +14,6 @@ jsDeclarationsExportAssignedConstructorFunctionWithSub.js(10,16): error TS2339: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ this.t = 12 + p; ~~~~~~~~~~~~~~~~~~~~ - ~~~~ -!!! error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. ~ !!! error TS2339: Property 't' does not exist on type '{ exports: (p: number) => void; }'. } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt.diff index 818f99d44c5..3f2860f83a2 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).errors.txt.diff @@ -7,7 +7,6 @@ - -==== jsDeclarationsExportAssignedConstructorFunctionWithSub.js (2 errors) ==== +jsDeclarationsExportAssignedConstructorFunctionWithSub.js(4,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -+jsDeclarationsExportAssignedConstructorFunctionWithSub.js(5,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. +jsDeclarationsExportAssignedConstructorFunctionWithSub.js(5,10): error TS2339: Property 't' does not exist on type '{ exports: (p: number) => void; }'. +jsDeclarationsExportAssignedConstructorFunctionWithSub.js(7,16): error TS2339: Property 'Sub' does not exist on type '(p: number) => void'. +jsDeclarationsExportAssignedConstructorFunctionWithSub.js(8,10): error TS2339: Property 'instance' does not exist on type '(p: number) => void'. @@ -15,7 +14,7 @@ +jsDeclarationsExportAssignedConstructorFunctionWithSub.js(10,16): error TS2339: Property 'Sub' does not exist on type '(p: number) => void'. + + -+==== jsDeclarationsExportAssignedConstructorFunctionWithSub.js (7 errors) ==== ++==== jsDeclarationsExportAssignedConstructorFunctionWithSub.js (6 errors) ==== /** * @param {number} p */ @@ -27,8 +26,6 @@ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ this.t = 12 + p; + ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~ -+!!! error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. + ~ +!!! error TS2339: Property 't' does not exist on type '{ exports: (p: number) => void; }'. } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols index 0f1a96a5ddd..b02f59e09ae 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols @@ -7,7 +7,7 @@ module.exports = function (p) { >module.exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) >module : Symbol(module, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) ->exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) +>exports : Symbol(export=, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) >p : Symbol(p, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 3, 27)) this.t = 12 + p; @@ -20,7 +20,7 @@ module.exports.Sub = function() { >exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) this.instance = new module.exports(10); ->this : Symbol((Anonymous function), Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 3, 16)) +>this : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 3, 16)) >module.exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) >module : Symbol(module, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) >exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols.diff index fc41a9f2eb6..fb1959f9f0c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub(target=es2015).symbols.diff @@ -6,10 +6,9 @@ module.exports = function (p) { ->module.exports : Symbol(module.exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) ->module : Symbol(export=, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) -->exports : Symbol(export=, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) +>module.exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) +>module : Symbol(module, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) -+>exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) + >exports : Symbol(export=, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) >p : Symbol(p, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 3, 27)) this.t = 12 + p; @@ -36,7 +35,7 @@ ->module.exports : Symbol(module.exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) ->module : Symbol(module, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0), Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 7, 23)) ->exports : Symbol(module.exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) -+>this : Symbol((Anonymous function), Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 3, 16)) ++>this : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 3, 16)) +>module.exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) +>module : Symbol(module, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) +>exports : Symbol(exports, Decl(jsDeclarationsExportAssignedConstructorFunctionWithSub.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js index d967e77d220..24aae5755f4 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js @@ -37,9 +37,7 @@ module.exports = Container; //// [obj.d.ts] declare const _default: { - new (): { - x: number; - }; + new (): import("./obj"); }; export = _default; //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js.diff index 8754060226c..e93aca8b9fc 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).js.diff @@ -9,9 +9,7 @@ - x: number; -} +declare const _default: { -+ new (): { -+ x: number; -+ }; ++ new (): import("./obj"); +}; +export = _default; //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols index 608a0e59657..22cc0aed685 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols @@ -21,14 +21,14 @@ class Container { module.exports = Container; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 6, 1)) >Container : Symbol(Container, Decl(index.js, 0, 29)) === obj.js === module.exports = class Obj { >module.exports : Symbol(exports, Decl(obj.js, 0, 0)) >module : Symbol(module, Decl(obj.js, 0, 0)) ->exports : Symbol(exports, Decl(obj.js, 0, 0)) +>exports : Symbol(export=, Decl(obj.js, 0, 0)) >Obj : Symbol(Obj, Decl(obj.js, 0, 16)) constructor() { diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols.diff index bc7b6a85b3f..90e559c431c 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).symbols.diff @@ -6,20 +6,16 @@ module.exports = Container; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 6, 1)) -->exports : Symbol(export=, Decl(index.js, 6, 1)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 6, 1)) >Container : Symbol(Container, Decl(index.js, 0, 29)) === obj.js === module.exports = class Obj { ->module.exports : Symbol(module.exports, Decl(obj.js, 0, 0)) ->module : Symbol(export=, Decl(obj.js, 0, 0)) -->exports : Symbol(export=, Decl(obj.js, 0, 0)) +>module.exports : Symbol(exports, Decl(obj.js, 0, 0)) +>module : Symbol(module, Decl(obj.js, 0, 0)) -+>exports : Symbol(exports, Decl(obj.js, 0, 0)) + >exports : Symbol(export=, Decl(obj.js, 0, 0)) >Obj : Symbol(Obj, Decl(obj.js, 0, 16)) - - constructor() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types index 3707641b184..465fa8c37ec 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types @@ -30,12 +30,12 @@ module.exports = Container; === obj.js === module.exports = class Obj { ->module.exports = class Obj { constructor() { this.x = 12; }} : typeof Obj ->module.exports : typeof Obj ->module : { exports: typeof Obj; } ->exports : typeof Obj ->class Obj { constructor() { this.x = 12; }} : typeof Obj ->Obj : typeof Obj +>module.exports = class Obj { constructor() { this.x = 12; }} : typeof import("./obj") +>module.exports : typeof import("./obj") +>module : { exports: typeof import("./obj"); } +>exports : typeof import("./obj") +>class Obj { constructor() { this.x = 12; }} : typeof import("./obj") +>Obj : typeof import("./obj") constructor() { this.x = 12; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types.diff deleted file mode 100644 index 21321fd20b8..00000000000 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility(target=es2015).types.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.jsDeclarationsExportAssignedVisibility(target=es2015).types -+++ new.jsDeclarationsExportAssignedVisibility(target=es2015).types -@@= skipped -29, +29 lines =@@ - - === obj.js === - module.exports = class Obj { -->module.exports = class Obj { constructor() { this.x = 12; }} : typeof import("./obj") -->module.exports : typeof import("./obj") -->module : { exports: typeof import("./obj"); } -->exports : typeof import("./obj") -->class Obj { constructor() { this.x = 12; }} : typeof import("./obj") -->Obj : typeof import("./obj") -+>module.exports = class Obj { constructor() { this.x = 12; }} : typeof Obj -+>module.exports : typeof Obj -+>module : { exports: typeof Obj; } -+>exports : typeof Obj -+>class Obj { constructor() { this.x = 12; }} : typeof Obj -+>Obj : typeof Obj - - constructor() { - this.x = 12; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols index 715a2bddd37..f5396d52c68 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols @@ -14,7 +14,7 @@ const Strings = { module.exports = { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 3, 2)) thing: "ok", >thing : Symbol(thing, Decl(index.js, 4, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols.diff index c8c0b8debc7..f891ef3e2ac 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary(target=es2015).symbols.diff @@ -6,13 +6,11 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 3, 2)) -->exports : Symbol(export=, Decl(index.js, 3, 2)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 3, 2)) thing: "ok", - >thing : Symbol(thing, Decl(index.js, 4, 18)) @@= skipped -18, +18 lines =@@ } }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols index 377c6aa6f4e..678939da54a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols @@ -7,7 +7,7 @@ var x = 12; module.exports = { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 11)) extends: 'base', >extends : Symbol(extends, Decl(index.js, 1, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols.diff index 1224c9140f9..bcd41279bbc 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName(target=es2015).symbols.diff @@ -6,10 +6,8 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 11)) -->exports : Symbol(export=, Decl(index.js, 0, 11)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 11)) - extends: 'base', - >extends : Symbol(extends, Decl(index.js, 1, 18)) \ No newline at end of file + extends: 'base', \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols index 15203d8e4b8..e4c10a9f753 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols @@ -8,7 +8,7 @@ function foo() { module.exports = exports = function (o) { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 1, 16)) >exports : Symbol(".", Decl(index.js, 0, 0)) >o : Symbol(o, Decl(index.js, 2, 41)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols.diff index 8e02b92f14c..d56c599f093 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.symbols.diff @@ -6,13 +6,11 @@ module.exports = exports = function (o) { ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 1, 16)) -->exports : Symbol(export=, Decl(index.js, 1, 16)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 1, 16)) >exports : Symbol(".", Decl(index.js, 0, 0)) >o : Symbol(o, Decl(index.js, 2, 41)) - @@= skipped -18, +18 lines =@@ // I have no idea what to put here } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types index aba46e21ffa..acf587094c2 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types @@ -7,9 +7,9 @@ function foo() { module.exports = exports = function (o) { >module.exports = exports = function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any ->module.exports : (o: any) => any ->module : { exports: (o: any) => any; } ->exports : (o: any) => any +>module.exports : any +>module : { exports: any; } +>exports : any >exports = function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any >exports : any >function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any @@ -40,7 +40,7 @@ function foo() { exports.methods = m; >exports.methods = m : () => void >exports.methods : any ->exports : typeof import(".") +>exports : any >methods : any >m : () => void } diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types.diff index 803deadcde2..f75e6a46d29 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.types.diff @@ -9,9 +9,9 @@ ->module : { exports: { (o: any): any; methods: () => void; }; } ->exports : { (o: any): any; methods: () => void; } +>module.exports = exports = function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any -+>module.exports : (o: any) => any -+>module : { exports: (o: any) => any; } -+>exports : (o: any) => any ++>module.exports : any ++>module : { exports: any; } ++>exports : any >exports = function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any >exports : any >function (o) { return (o == null) ? create(base) : defineProperties(Object(o), descriptors); } : (o: any) => any @@ -40,13 +40,4 @@ +>descriptors : any }; - const m = function () { -@@= skipped -34, +34 lines =@@ - exports.methods = m; - >exports.methods = m : () => void - >exports.methods : any -->exports : any -+>exports : typeof import(".") - >methods : any - >m : () => void - } \ No newline at end of file + const m = function () { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols index 04f62ffd3af..08a2bc28858 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols @@ -55,7 +55,7 @@ const ns = require("./cls"); module.exports = { ns }; >module.exports : Symbol(exports, Decl(cjs.js, 0, 0)) >module : Symbol(module, Decl(cjs.js, 0, 0)) ->exports : Symbol(exports, Decl(cjs.js, 0, 0)) +>exports : Symbol(export=, Decl(cjs.js, 0, 28)) >ns : Symbol(ns, Decl(cjs.js, 1, 18)) === cjs2.js === @@ -67,7 +67,7 @@ const ns = require("./cls"); module.exports = ns; >module.exports : Symbol(exports, Decl(cjs2.js, 0, 0)) >module : Symbol(module, Decl(cjs2.js, 0, 0)) ->exports : Symbol(exports, Decl(cjs2.js, 0, 0)) +>exports : Symbol(export=, Decl(cjs2.js, 0, 28)) >ns : Symbol(ns, Decl(cjs2.js, 0, 5)) === cjs3.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols.diff index 770c4703711..2e3ead4e511 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms(target=es2015).symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol(module.exports, Decl(cjs.js, 0, 0)) +>module.exports : Symbol(exports, Decl(cjs.js, 0, 0)) +>module : Symbol(module, Decl(cjs.js, 0, 0)) -+>exports : Symbol(exports, Decl(cjs.js, 0, 0)) ++>exports : Symbol(export=, Decl(cjs.js, 0, 28)) >ns : Symbol(ns, Decl(cjs.js, 1, 18)) === cjs2.js === @@ -19,13 +19,11 @@ module.exports = ns; ->module.exports : Symbol(module.exports, Decl(cjs2.js, 0, 0)) ->module : Symbol(export=, Decl(cjs2.js, 0, 28)) -->exports : Symbol(export=, Decl(cjs2.js, 0, 28)) +>module.exports : Symbol(exports, Decl(cjs2.js, 0, 0)) +>module : Symbol(module, Decl(cjs2.js, 0, 0)) -+>exports : Symbol(exports, Decl(cjs2.js, 0, 0)) + >exports : Symbol(export=, Decl(cjs2.js, 0, 28)) >ns : Symbol(ns, Decl(cjs2.js, 0, 5)) - === cjs3.js === @@= skipped -13, +13 lines =@@ module.exports.ns = ns; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt index b62dd98da9a..91a0799f077 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt @@ -1,5 +1,6 @@ bar.js(1,1): error TS8002: 'import ... =' can only be used in TypeScript files. bar.js(2,1): error TS8003: 'export =' can only be used in TypeScript files. +bin.js(2,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. globalNs.js(2,1): error TS1315: Global module exports may only appear in declaration files. @@ -14,9 +15,11 @@ globalNs.js(2,1): error TS1315: Global module exports may only appear in declara ~~~~~~~~~~~~ !!! error TS8003: 'export =' can only be used in TypeScript files. -==== bin.js (0 errors) ==== +==== bin.js (1 errors) ==== import * as ns from "./cls"; module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== globalNs.js (1 errors) ==== export * from "./cls"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt.diff deleted file mode 100644 index d5cb094a4b3..00000000000 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).errors.txt.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- old.jsDeclarationsExportFormsErr(target=es2015).errors.txt -+++ new.jsDeclarationsExportFormsErr(target=es2015).errors.txt -@@= skipped -0, +0 lines =@@ - bar.js(1,1): error TS8002: 'import ... =' can only be used in TypeScript files. - bar.js(2,1): error TS8003: 'export =' can only be used in TypeScript files. --bin.js(2,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - globalNs.js(2,1): error TS1315: Global module exports may only appear in declaration files. - - -@@= skipped -14, +13 lines =@@ - ~~~~~~~~~~~~ - !!! error TS8003: 'export =' can only be used in TypeScript files. - --==== bin.js (1 errors) ==== -+==== bin.js (0 errors) ==== - import * as ns from "./cls"; - module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - - ==== globalNs.js (1 errors) ==== - export * from "./cls"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js index 3c06441da39..87f0b0da7af 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js @@ -103,8 +103,7 @@ export declare class Foo { import ns = require("./cls"); export = ns; //// [bin.d.ts] -import * as ns from "./cls"; -export = ns; +export {}; //// [globalNs.d.ts] export * from "./cls"; export as namespace GLO; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js.diff index 50e1448e07e..4e90568d504 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).js.diff @@ -12,9 +12,7 @@ import ns = require("./cls"); +export = ns; //// [bin.d.ts] --export {}; -+import * as ns from "./cls"; -+export = ns; + export {}; //// [globalNs.d.ts] export * from "./cls"; +export as namespace GLO; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols index 0fe75d65aad..a737c018ce1 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols @@ -16,9 +16,6 @@ import * as ns from "./cls"; >ns : Symbol(ns, Decl(bin.js, 0, 6)) module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in ->module.exports : Symbol(exports, Decl(bin.js, 0, 0)) ->module : Symbol(module, Decl(bin.js, 0, 0)) ->exports : Symbol(exports, Decl(bin.js, 0, 0)) >ns : Symbol(ns, Decl(bin.js, 0, 6)) === globalNs.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols.diff deleted file mode 100644 index 89152fd7e34..00000000000 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).symbols.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.jsDeclarationsExportFormsErr(target=es2015).symbols -+++ new.jsDeclarationsExportFormsErr(target=es2015).symbols -@@= skipped -15, +15 lines =@@ - >ns : Symbol(ns, Decl(bin.js, 0, 6)) - - module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in -+>module.exports : Symbol(exports, Decl(bin.js, 0, 0)) -+>module : Symbol(module, Decl(bin.js, 0, 0)) -+>exports : Symbol(exports, Decl(bin.js, 0, 0)) - >ns : Symbol(ns, Decl(bin.js, 0, 6)) - - === globalNs.js === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types index 5867caa780a..ac2bb5e65a0 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types @@ -17,9 +17,9 @@ import * as ns from "./cls"; module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in >module.exports = ns : typeof ns ->module.exports : typeof ns ->module : { exports: typeof ns; } ->exports : typeof ns +>module.exports : any +>module : any +>exports : any >ns : typeof ns === globalNs.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types.diff index 1c37206c446..d5de1bffd41 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr(target=es2015).types.diff @@ -5,13 +5,7 @@ module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in ->module.exports = ns : any -->module.exports : any -->module : any -->exports : any +>module.exports = ns : typeof ns -+>module.exports : typeof ns -+>module : { exports: typeof ns; } -+>exports : typeof ns - >ns : typeof ns - - === globalNs.js === \ No newline at end of file + >module.exports : any + >module : any + >exports : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols index f02e7c336b3..65f99b7fae0 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols @@ -17,7 +17,7 @@ class Foo {} module.exports = Foo; >module.exports : Symbol(exports, Decl(cls.js, 0, 0)) >module : Symbol(module, Decl(cls.js, 0, 0)) ->exports : Symbol(exports, Decl(cls.js, 0, 0)) +>exports : Symbol(export=, Decl(cls.js, 4, 12)) >Foo : Symbol(Foo, Decl(cls.js, 3, 2)) module.exports.Strings = Strings; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols.diff index 34c0b510d5d..4337351b5e4 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments(target=es2015).symbols.diff @@ -6,10 +6,9 @@ module.exports = Foo; ->module.exports : Symbol(module.exports, Decl(cls.js, 0, 0)) ->module : Symbol(export=, Decl(cls.js, 4, 12)) -->exports : Symbol(export=, Decl(cls.js, 4, 12)) +>module.exports : Symbol(exports, Decl(cls.js, 0, 0)) +>module : Symbol(module, Decl(cls.js, 0, 0)) -+>exports : Symbol(exports, Decl(cls.js, 0, 0)) + >exports : Symbol(export=, Decl(cls.js, 4, 12)) >Foo : Symbol(Foo, Decl(cls.js, 3, 2)) module.exports.Strings = Strings; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols index c822bc448b3..1e1beae34fc 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols @@ -10,7 +10,7 @@ const errors = require("./errors"); module.exports = { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 1, 35)) errors >errors : Symbol(errors, Decl(index.js, 3, 18)) @@ -33,7 +33,7 @@ class FancyError extends Error { module.exports = { >module.exports : Symbol(exports, Decl(errors.js, 0, 0)) >module : Symbol(module, Decl(errors.js, 0, 0)) ->exports : Symbol(exports, Decl(errors.js, 0, 0)) +>exports : Symbol(export=, Decl(errors.js, 4, 1)) FancyError >FancyError : Symbol(FancyError, Decl(errors.js, 6, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols.diff index d203e2c7325..8e585b86ce7 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.symbols.diff @@ -13,7 +13,7 @@ ->exports : Symbol(module.exports, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) ++>exports : Symbol(export=, Decl(index.js, 1, 35)) errors >errors : Symbol(errors, Decl(index.js, 3, 18)) @@ -26,7 +26,7 @@ ->exports : Symbol(module.exports, Decl(errors.js, 0, 0)) +>module.exports : Symbol(exports, Decl(errors.js, 0, 0)) +>module : Symbol(module, Decl(errors.js, 0, 0)) -+>exports : Symbol(exports, Decl(errors.js, 0, 0)) ++>exports : Symbol(export=, Decl(errors.js, 4, 1)) FancyError >FancyError : Symbol(FancyError, Decl(errors.js, 6, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols index 5146eeab1ea..66c4acea0f8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols @@ -14,7 +14,7 @@ function Timer(timeout) { module.exports = Timer; >module.exports : Symbol(exports, Decl(timer.js, 0, 0)) >module : Symbol(module, Decl(timer.js, 0, 0)) ->exports : Symbol(exports, Decl(timer.js, 0, 0)) +>exports : Symbol(export=, Decl(timer.js, 5, 1)) >Timer : Symbol(Timer, Decl(timer.js, 0, 0)) === hook.js === @@ -34,7 +34,7 @@ function Hook(handle) { module.exports = Hook; >module.exports : Symbol(exports, Decl(hook.js, 0, 0)) >module : Symbol(module, Decl(hook.js, 0, 0)) ->exports : Symbol(exports, Decl(hook.js, 0, 0)) +>exports : Symbol(export=, Decl(hook.js, 8, 1)) >Hook : Symbol(Hook, Decl(hook.js, 0, 0)) === context.js === @@ -105,6 +105,6 @@ Context.prototype = { module.exports = Context; >module.exports : Symbol(exports, Decl(context.js, 0, 0)) >module : Symbol(module, Decl(context.js, 0, 0)) ->exports : Symbol(exports, Decl(context.js, 0, 0)) +>exports : Symbol(export=, Decl(context.js, 46, 1)) >Context : Symbol(Context, Decl(context.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols.diff index 83b857f3ba4..90afb4f9869 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment(target=es2015).symbols.diff @@ -12,13 +12,11 @@ module.exports = Timer; ->module.exports : Symbol(module.exports, Decl(timer.js, 0, 0)) ->module : Symbol(export=, Decl(timer.js, 5, 1)) -->exports : Symbol(export=, Decl(timer.js, 5, 1)) +>module.exports : Symbol(exports, Decl(timer.js, 0, 0)) +>module : Symbol(module, Decl(timer.js, 0, 0)) -+>exports : Symbol(exports, Decl(timer.js, 0, 0)) + >exports : Symbol(export=, Decl(timer.js, 5, 1)) >Timer : Symbol(Timer, Decl(timer.js, 0, 0)) - === hook.js === @@= skipped -23, +20 lines =@@ >handle : Symbol(handle, Decl(hook.js, 6, 14)) @@ -31,13 +29,11 @@ module.exports = Hook; ->module.exports : Symbol(module.exports, Decl(hook.js, 0, 0)) ->module : Symbol(export=, Decl(hook.js, 8, 1)) -->exports : Symbol(export=, Decl(hook.js, 8, 1)) +>module.exports : Symbol(exports, Decl(hook.js, 0, 0)) +>module : Symbol(module, Decl(hook.js, 0, 0)) -+>exports : Symbol(exports, Decl(hook.js, 0, 0)) + >exports : Symbol(export=, Decl(hook.js, 8, 1)) >Hook : Symbol(Hook, Decl(hook.js, 0, 0)) - === context.js === @@= skipped -44, +41 lines =@@ */ @@ -76,9 +72,8 @@ module.exports = Context; ->module.exports : Symbol(module.exports, Decl(context.js, 0, 0)) ->module : Symbol(export=, Decl(context.js, 46, 1)) -->exports : Symbol(export=, Decl(context.js, 46, 1)) -->Context : Symbol(Context, Decl(context.js, 0, 0), Decl(context.js, 36, 1)) +>module.exports : Symbol(exports, Decl(context.js, 0, 0)) +>module : Symbol(module, Decl(context.js, 0, 0)) -+>exports : Symbol(exports, Decl(context.js, 0, 0)) + >exports : Symbol(export=, Decl(context.js, 46, 1)) +->Context : Symbol(Context, Decl(context.js, 0, 0), Decl(context.js, 36, 1)) +>Context : Symbol(Context, Decl(context.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols index 0a266fddd5f..0d58753e344 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols @@ -4,7 +4,7 @@ module.exports = MyClass; >module.exports : Symbol(exports, Decl(source.js, 0, 0)) >module : Symbol(module, Decl(source.js, 0, 0)) ->exports : Symbol(exports, Decl(source.js, 0, 0)) +>exports : Symbol(export=, Decl(source.js, 0, 0)) >MyClass : Symbol(MyClass, Decl(source.js, 0, 25)) function MyClass() {} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols.diff index 9f5a2501814..ede4e9e26db 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic(target=es2015).symbols.diff @@ -6,11 +6,10 @@ module.exports = MyClass; ->module.exports : Symbol(module.exports, Decl(source.js, 0, 0)) ->module : Symbol(export=, Decl(source.js, 0, 0)) -->exports : Symbol(export=, Decl(source.js, 0, 0)) -->MyClass : Symbol(MyClass, Decl(source.js, 0, 25), Decl(source.js, 2, 21), Decl(source.js, 4, 40)) +>module.exports : Symbol(exports, Decl(source.js, 0, 0)) +>module : Symbol(module, Decl(source.js, 0, 0)) -+>exports : Symbol(exports, Decl(source.js, 0, 0)) + >exports : Symbol(export=, Decl(source.js, 0, 0)) +->MyClass : Symbol(MyClass, Decl(source.js, 0, 25), Decl(source.js, 2, 21), Decl(source.js, 4, 40)) +>MyClass : Symbol(MyClass, Decl(source.js, 0, 25)) function MyClass() {} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols index 279543feb7d..4b05072abb0 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols @@ -19,6 +19,6 @@ foo.default = foo; module.exports = foo; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 3, 18)) >foo : Symbol(foo, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols.diff index d918cab35fc..3d3689966e5 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.symbols.diff @@ -26,9 +26,8 @@ module.exports = foo; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 3, 18)) -->exports : Symbol(export=, Decl(index.js, 3, 18)) -->foo : Symbol(foo, Decl(index.js, 0, 0), Decl(index.js, 0, 17), Decl(index.js, 2, 14)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 3, 18)) +->foo : Symbol(foo, Decl(index.js, 0, 0), Decl(index.js, 0, 17), Decl(index.js, 2, 14)) +>foo : Symbol(foo, Decl(index.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt index 4fca94994d6..d0e41763a98 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt @@ -4,12 +4,13 @@ file.js(13,13): error TS2300: Duplicate identifier 'myTypes'. file.js(14,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. file.js(18,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. file.js(18,39): error TS2300: Duplicate identifier 'myTypes'. +file.js(20,9): error TS2300: Duplicate identifier 'myTypes'. file2.js(6,11): error TS2315: Type 'Object' is not generic. file2.js(12,23): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being used as a namespace here. -==== file.js (6 errors) ==== +==== file.js (7 errors) ==== /** * @namespace myTypes * @global @@ -42,6 +43,8 @@ file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being !!! error TS2300: Duplicate identifier 'myTypes'. export {myTypes}; + ~~~~~~~ +!!! error TS2300: Duplicate identifier 'myTypes'. ==== file2.js (3 errors) ==== import {myTypes} from './file.js'; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt.diff index 44269de68f7..6207fba2abf 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.errors.txt.diff @@ -11,12 +11,13 @@ +file.js(14,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. +file.js(18,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. +file.js(18,39): error TS2300: Duplicate identifier 'myTypes'. ++file.js(20,9): error TS2300: Duplicate identifier 'myTypes'. +file2.js(6,11): error TS2315: Type 'Object' is not generic. +file2.js(12,23): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. +file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being used as a namespace here. + + -+==== file.js (6 errors) ==== ++==== file.js (7 errors) ==== /** * @namespace myTypes * @global @@ -50,10 +51,12 @@ export {myTypes}; -==== file2.js (1 errors) ==== -+==== file2.js (3 errors) ==== - import {myTypes} from './file.js'; -- ~~~~~~~ +- import {myTypes} from './file.js'; + ~~~~~~~ -!!! error TS18042: 'myTypes' is a type and cannot be imported in JavaScript files. Use 'import("./file.js").myTypes' in a JSDoc type annotation. ++!!! error TS2300: Duplicate identifier 'myTypes'. ++==== file2.js (3 errors) ==== ++ import {myTypes} from './file.js'; /** * @namespace testFnTypes diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols index 0c301bfa5c3..a5c956f0fbb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols @@ -23,7 +23,7 @@ const myTypes = { /** @typedef {myTypes.typeB|Function} myTypes.typeC */ export {myTypes}; ->myTypes : Symbol(myTypes, Decl(file.js, 9, 4), Decl(file.js, 19, 8)) +>myTypes : Symbol(myTypes, Decl(file.js, 19, 8), Decl(file.js, 9, 4)) === file2.js === import {myTypes} from './file.js'; @@ -65,5 +65,5 @@ function testFn(input) { export {testFn, testFnTypes}; >testFn : Symbol(testFn, Decl(file2.js, 27, 8)) ->testFnTypes : Symbol(testFnTypes, Decl(file2.js, 11, 4), Decl(file2.js, 27, 15)) +>testFnTypes : Symbol(testFnTypes, Decl(file2.js, 27, 15), Decl(file2.js, 11, 4)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols.diff index c81e410c7eb..10d8b008faa 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.symbols.diff @@ -14,7 +14,7 @@ export {myTypes}; ->myTypes : Symbol(myTypes, Decl(file.js, 19, 8), Decl(file.js, 9, 50), Decl(file.js, 12, 12), Decl(file.js, 17, 38)) -+>myTypes : Symbol(myTypes, Decl(file.js, 9, 4), Decl(file.js, 19, 8)) ++>myTypes : Symbol(myTypes, Decl(file.js, 19, 8), Decl(file.js, 9, 4)) === file2.js === import {myTypes} from './file.js'; @@ -32,4 +32,4 @@ export {testFn, testFnTypes}; >testFn : Symbol(testFn, Decl(file2.js, 27, 8)) ->testFnTypes : Symbol(testFnTypes, Decl(file2.js, 27, 15), Decl(file2.js, 11, 37)) -+>testFnTypes : Symbol(testFnTypes, Decl(file2.js, 11, 4), Decl(file2.js, 27, 15)) ++>testFnTypes : Symbol(testFnTypes, Decl(file2.js, 27, 15), Decl(file2.js, 11, 4)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt index 927cd65fb63..2007c58d1a1 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt @@ -4,6 +4,7 @@ file.js(13,13): error TS2300: Duplicate identifier 'myTypes'. file.js(14,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. file.js(18,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. file.js(18,39): error TS2300: Duplicate identifier 'myTypes'. +file.js(20,9): error TS2300: Duplicate identifier 'myTypes'. file2.js(6,11): error TS2315: Type 'Object' is not generic. file2.js(12,23): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being used as a namespace here. @@ -44,7 +45,7 @@ file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being } module.exports = {testFn, testFnTypes}; -==== file.js (6 errors) ==== +==== file.js (7 errors) ==== /** * @namespace myTypes * @global @@ -76,4 +77,6 @@ file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being ~~~~~~~ !!! error TS2300: Duplicate identifier 'myTypes'. - exports.myTypes = myTypes; \ No newline at end of file + exports.myTypes = myTypes; + ~~~~~~~ +!!! error TS2300: Duplicate identifier 'myTypes'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt.diff index e1c0b8a4c9d..b6046d87641 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.errors.txt.diff @@ -8,6 +8,7 @@ +file.js(14,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. +file.js(18,15): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. +file.js(18,39): error TS2300: Duplicate identifier 'myTypes'. ++file.js(20,9): error TS2300: Duplicate identifier 'myTypes'. +file2.js(6,11): error TS2315: Type 'Object' is not generic. +file2.js(12,23): error TS2702: 'myTypes' only refers to a type, but is being used as a namespace here. +file2.js(17,12): error TS2702: 'testFnTypes' only refers to a type, but is being used as a namespace here. @@ -48,7 +49,7 @@ + } + + module.exports = {testFn, testFnTypes}; -+==== file.js (6 errors) ==== ++==== file.js (7 errors) ==== + /** + * @namespace myTypes + * @global @@ -80,4 +81,6 @@ + ~~~~~~~ +!!! error TS2300: Duplicate identifier 'myTypes'. + -+ exports.myTypes = myTypes; \ No newline at end of file ++ exports.myTypes = myTypes; ++ ~~~~~~~ ++!!! error TS2300: Duplicate identifier 'myTypes'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols index 28cffb14cf0..270979f486e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols @@ -43,7 +43,7 @@ function testFn(input) { module.exports = {testFn, testFnTypes}; >module.exports : Symbol(exports, Decl(file2.js, 0, 0)) >module : Symbol(module, Decl(file2.js, 0, 0)) ->exports : Symbol(exports, Decl(file2.js, 0, 0)) +>exports : Symbol(export=, Decl(file2.js, 25, 1)) >testFn : Symbol(testFn, Decl(file2.js, 27, 18)) >testFnTypes : Symbol(testFnTypes, Decl(file2.js, 27, 25)) @@ -70,8 +70,8 @@ const myTypes = { /** @typedef {myTypes.typeB|Function} myTypes.typeC */ exports.myTypes = myTypes; ->exports.myTypes : Symbol(myTypes, Decl(file.js, 9, 4), Decl(file.js, 7, 2)) +>exports.myTypes : Symbol(myTypes, Decl(file.js, 7, 2), Decl(file.js, 9, 4)) >exports : Symbol("./file", Decl(file.js, 0, 0)) ->myTypes : Symbol(myTypes, Decl(file.js, 9, 4), Decl(file.js, 7, 2)) +>myTypes : Symbol(myTypes, Decl(file.js, 7, 2), Decl(file.js, 9, 4)) >myTypes : Symbol(myTypes, Decl(file.js, 5, 5), Decl(file.js, 9, 4), Decl(file.js, 12, 3), Decl(file.js, 17, 4)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols.diff index 571059e6671..213707b992e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.symbols.diff @@ -18,7 +18,7 @@ ->exports : Symbol(module.exports, Decl(file2.js, 0, 0)) +>module.exports : Symbol(exports, Decl(file2.js, 0, 0)) +>module : Symbol(module, Decl(file2.js, 0, 0)) -+>exports : Symbol(exports, Decl(file2.js, 0, 0)) ++>exports : Symbol(export=, Decl(file2.js, 25, 1)) >testFn : Symbol(testFn, Decl(file2.js, 27, 18)) >testFnTypes : Symbol(testFnTypes, Decl(file2.js, 27, 25)) @@ -39,7 +39,7 @@ ->exports : Symbol(myTypes, Decl(file.js, 7, 2)) ->myTypes : Symbol(myTypes, Decl(file.js, 7, 2)) ->myTypes : Symbol(myTypes, Decl(file.js, 5, 5), Decl(file.js, 9, 50), Decl(file.js, 12, 12), Decl(file.js, 17, 38)) -+>exports.myTypes : Symbol(myTypes, Decl(file.js, 9, 4), Decl(file.js, 7, 2)) ++>exports.myTypes : Symbol(myTypes, Decl(file.js, 7, 2), Decl(file.js, 9, 4)) +>exports : Symbol("./file", Decl(file.js, 0, 0)) -+>myTypes : Symbol(myTypes, Decl(file.js, 9, 4), Decl(file.js, 7, 2)) ++>myTypes : Symbol(myTypes, Decl(file.js, 7, 2), Decl(file.js, 9, 4)) +>myTypes : Symbol(myTypes, Decl(file.js, 5, 5), Decl(file.js, 9, 4), Decl(file.js, 12, 3), Decl(file.js, 17, 4)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols index 2fb64b8fbb9..08bb63ae68e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols @@ -9,7 +9,7 @@ const j = require("./obj.json"); module.exports = j; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 32)) >j : Symbol(j, Decl(index.js, 0, 5)) === obj.json === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols.diff index 8eed94caf5e..9f15051d626 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson(target=es2015).symbols.diff @@ -6,10 +6,7 @@ module.exports = j; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 32)) -->exports : Symbol(export=, Decl(index.js, 0, 32)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 32)) >j : Symbol(j, Decl(index.js, 0, 5)) - - === obj.json === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols index fcde2827cbb..dba86172e06 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols @@ -9,7 +9,7 @@ const j = require("./package.json"); module.exports = j; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 36)) >j : Symbol(j, Decl(index.js, 0, 5)) === package.json === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols.diff index fb04c8e7255..7898351fd02 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson(target=es2015).symbols.diff @@ -6,10 +6,7 @@ module.exports = j; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 36)) -->exports : Symbol(export=, Decl(index.js, 0, 36)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 36)) >j : Symbol(j, Decl(index.js, 0, 5)) - - === package.json === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols index b14cdc9d53b..4b5d28fb00e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols @@ -24,7 +24,7 @@ BaseFactory.Base = Base; module.exports = BaseFactory; >module.exports : Symbol(exports, Decl(base.js, 0, 0)) >module : Symbol(module, Decl(base.js, 0, 0)) ->exports : Symbol(exports, Decl(base.js, 0, 0)) +>exports : Symbol(export=, Decl(base.js, 8, 24)) >BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5)) === file.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols.diff index b49ba31d796..27e5f599f5d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.symbols.diff @@ -21,11 +21,10 @@ module.exports = BaseFactory; ->module.exports : Symbol(module.exports, Decl(base.js, 0, 0)) ->module : Symbol(export=, Decl(base.js, 8, 24)) -->exports : Symbol(export=, Decl(base.js, 8, 24)) -->BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5), Decl(base.js, 6, 2)) +>module.exports : Symbol(exports, Decl(base.js, 0, 0)) +>module : Symbol(module, Decl(base.js, 0, 0)) -+>exports : Symbol(exports, Decl(base.js, 0, 0)) + >exports : Symbol(export=, Decl(base.js, 8, 24)) +->BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5), Decl(base.js, 6, 2)) +>BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5)) === file.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols index 1b29e9392b7..4c68996f142 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols @@ -24,7 +24,7 @@ BaseFactory.Base = Base; module.exports = BaseFactory; >module.exports : Symbol(exports, Decl(base.js, 0, 0)) >module : Symbol(module, Decl(base.js, 0, 0)) ->exports : Symbol(exports, Decl(base.js, 0, 0)) +>exports : Symbol(export=, Decl(base.js, 8, 24)) >BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5)) === file.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols.diff index 2bebd3ac9bd..bc9690e6bd2 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.symbols.diff @@ -21,11 +21,10 @@ module.exports = BaseFactory; ->module.exports : Symbol(module.exports, Decl(base.js, 0, 0)) ->module : Symbol(export=, Decl(base.js, 8, 24)) -->exports : Symbol(export=, Decl(base.js, 8, 24)) -->BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5), Decl(base.js, 6, 2)) +>module.exports : Symbol(exports, Decl(base.js, 0, 0)) +>module : Symbol(module, Decl(base.js, 0, 0)) -+>exports : Symbol(exports, Decl(base.js, 0, 0)) + >exports : Symbol(export=, Decl(base.js, 8, 24)) +->BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5), Decl(base.js, 6, 2)) +>BaseFactory : Symbol(BaseFactory, Decl(base.js, 4, 5)) === file.js === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols index 5355289969c..f40a19b5064 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols @@ -7,12 +7,12 @@ class Foo {} module.exports = Foo; >module.exports : Symbol(exports, Decl(cls.js, 0, 0)) >module : Symbol(module, Decl(cls.js, 0, 0)) ->exports : Symbol(exports, Decl(cls.js, 0, 0)) +>exports : Symbol(export=, Decl(cls.js, 0, 12)) >Foo : Symbol(Foo, Decl(cls.js, 0, 0)) === usage.js === import {default as Fooa} from "./cls"; ->default : Symbol(Foo, Decl(cls.js, 0, 12)) +>default : Symbol(export=, Decl(cls.js, 0, 12)) >Fooa : Symbol(Fooa, Decl(usage.js, 0, 8)) export const x = new Fooa(); @@ -20,6 +20,6 @@ export const x = new Fooa(); >Fooa : Symbol(Fooa, Decl(usage.js, 0, 8)) export {default as Foob} from "./cls"; ->default : Symbol(Foo, Decl(cls.js, 0, 12)) +>default : Symbol(export=, Decl(cls.js, 0, 12)) >Foob : Symbol(Foob, Decl(usage.js, 4, 8)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols.diff index 1d485010180..0929c0c3718 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliasesEsModuleInterop(target=es2015).symbols.diff @@ -6,23 +6,7 @@ module.exports = Foo; ->module.exports : Symbol(module.exports, Decl(cls.js, 0, 0)) ->module : Symbol(export=, Decl(cls.js, 0, 12)) -->exports : Symbol(export=, Decl(cls.js, 0, 12)) +>module.exports : Symbol(exports, Decl(cls.js, 0, 0)) +>module : Symbol(module, Decl(cls.js, 0, 0)) -+>exports : Symbol(exports, Decl(cls.js, 0, 0)) + >exports : Symbol(export=, Decl(cls.js, 0, 12)) >Foo : Symbol(Foo, Decl(cls.js, 0, 0)) - - === usage.js === - import {default as Fooa} from "./cls"; -->default : Symbol(export=, Decl(cls.js, 0, 12)) -+>default : Symbol(Foo, Decl(cls.js, 0, 12)) - >Fooa : Symbol(Fooa, Decl(usage.js, 0, 8)) - - export const x = new Fooa(); -@@= skipped -15, +15 lines =@@ - >Fooa : Symbol(Fooa, Decl(usage.js, 0, 8)) - - export {default as Foob} from "./cls"; -->default : Symbol(export=, Decl(cls.js, 0, 12)) -+>default : Symbol(Foo, Decl(cls.js, 0, 12)) - >Foob : Symbol(Foob, Decl(usage.js, 4, 8)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols index 0eede1b16eb..62475b5728b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols @@ -11,7 +11,7 @@ const { SomeClass, SomeClass: Another } = require('./lib'); module.exports = { >module.exports : Symbol(exports, Decl(main.js, 0, 0)) >module : Symbol(module, Decl(main.js, 0, 0)) ->exports : Symbol(exports, Decl(main.js, 0, 0)) +>exports : Symbol(export=, Decl(main.js, 0, 59)) SomeClass, >SomeClass : Symbol(SomeClass, Decl(main.js, 2, 18)) @@ -45,7 +45,7 @@ class SomeClass { module.exports = { >module.exports : Symbol(exports, Decl(lib.js, 0, 0)) >module : Symbol(module, Decl(lib.js, 0, 0)) ->exports : Symbol(exports, Decl(lib.js, 0, 0)) +>exports : Symbol(export=, Decl(lib.js, 11, 1)) bar, >bar : Symbol(bar, Decl(lib.js, 13, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols.diff index 5e63430c458..44aedae3921 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias(target=es2015).symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol(module.exports, Decl(main.js, 0, 0)) +>module.exports : Symbol(exports, Decl(main.js, 0, 0)) +>module : Symbol(module, Decl(main.js, 0, 0)) -+>exports : Symbol(exports, Decl(main.js, 0, 0)) ++>exports : Symbol(export=, Decl(main.js, 0, 59)) SomeClass, >SomeClass : Symbol(SomeClass, Decl(main.js, 2, 18)) @@ -22,7 +22,7 @@ ->exports : Symbol(module.exports, Decl(lib.js, 0, 0)) +>module.exports : Symbol(exports, Decl(lib.js, 0, 0)) +>module : Symbol(module, Decl(lib.js, 0, 0)) -+>exports : Symbol(exports, Decl(lib.js, 0, 0)) ++>exports : Symbol(export=, Decl(lib.js, 11, 1)) bar, >bar : Symbol(bar, Decl(lib.js, 13, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols index 5a33457da94..771ac074cfb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols @@ -38,7 +38,7 @@ class Rectangle { module.exports = { Rectangle }; >module.exports : Symbol(exports, Decl(rectangle.js, 0, 0)) >module : Symbol(module, Decl(rectangle.js, 0, 0)) ->exports : Symbol(exports, Decl(rectangle.js, 0, 0)) +>exports : Symbol(export=, Decl(rectangle.js, 4, 1)) >Rectangle : Symbol(Rectangle, Decl(rectangle.js, 6, 18)) === index.js === @@ -88,6 +88,6 @@ class Render { module.exports = { Render }; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 20, 1)) >Render : Symbol(Render, Decl(index.js, 22, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols.diff index 434486d4705..63d97e273fd 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol(module.exports, Decl(rectangle.js, 0, 0)) +>module.exports : Symbol(exports, Decl(rectangle.js, 0, 0)) +>module : Symbol(module, Decl(rectangle.js, 0, 0)) -+>exports : Symbol(exports, Decl(rectangle.js, 0, 0)) ++>exports : Symbol(export=, Decl(rectangle.js, 4, 1)) >Rectangle : Symbol(Rectangle, Decl(rectangle.js, 6, 18)) === index.js === @@ -22,5 +22,5 @@ ->exports : Symbol(module.exports, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) ++>exports : Symbol(export=, Decl(index.js, 20, 1)) >Render : Symbol(Render, Decl(index.js, 22, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols index 2843742b4cf..1d57bbf5d6b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols @@ -54,7 +54,7 @@ class ExportedThing { module.exports = { >module.exports : Symbol(exports, Decl(mixed.js, 0, 0)) >module : Symbol(module, Decl(mixed.js, 0, 0)) ->exports : Symbol(exports, Decl(mixed.js, 0, 0)) +>exports : Symbol(export=, Decl(mixed.js, 12, 1)) doTheThing, >doTheThing : Symbol(doTheThing, Decl(mixed.js, 13, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols.diff index 61d5e3e2fd5..f5dca45ef26 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol(module.exports, Decl(mixed.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mixed.js, 0, 0)) +>module : Symbol(module, Decl(mixed.js, 0, 0)) -+>exports : Symbol(exports, Decl(mixed.js, 0, 0)) ++>exports : Symbol(export=, Decl(mixed.js, 12, 1)) doTheThing, >doTheThing : Symbol(doTheThing, Decl(mixed.js, 13, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols index bb8a866c760..1e9ea1420ef 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols @@ -22,6 +22,6 @@ const items = []; module.exports = items; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 1, 17)) >items : Symbol(items, Decl(index.js, 1, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols.diff index c20914a397c..62028bbf208 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.symbols.diff @@ -6,8 +6,7 @@ module.exports = items; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 1, 17)) -->exports : Symbol(export=, Decl(index.js, 1, 17)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 1, 17)) >items : Symbol(items, Decl(index.js, 1, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols index 7ee22d19cc3..123e4030dcb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols @@ -8,7 +8,7 @@ const items = require("./some-mod")(); module.exports = items; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 0, 38)) >items : Symbol(items, Decl(index.js, 0, 5)) === some-mod.d.ts === diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols.diff index 606f46b04de..c50e88ff7af 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.symbols.diff @@ -9,10 +9,7 @@ module.exports = items; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 38)) -->exports : Symbol(export=, Decl(index.js, 0, 38)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 38)) >items : Symbol(items, Decl(index.js, 0, 5)) - - === some-mod.d.ts === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols index bfad93c2ba9..5ee68d1e5e8 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols @@ -16,7 +16,7 @@ const thing = new Something(); module.exports = { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 4, 30)) thing >thing : Symbol(thing, Decl(index.js, 6, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols.diff index f1e336171d8..c44c2efa5ae 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences(target=es2015).symbols.diff @@ -17,7 +17,7 @@ ->exports : Symbol(module.exports, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) ++>exports : Symbol(export=, Decl(index.js, 4, 30)) thing >thing : Symbol(thing, Decl(index.js, 6, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols index 6fe8d1df31d..8017a68117b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols @@ -16,7 +16,7 @@ const thing = a + m module.exports = { >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 2, 19)) thing >thing : Symbol(thing, Decl(index.js, 4, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols.diff index 780da46aa4b..37f16af9e5d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2(target=es2015).symbols.diff @@ -17,7 +17,7 @@ ->exports : Symbol(module.exports, Decl(index.js, 0, 0)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) ++>exports : Symbol(export=, Decl(index.js, 2, 19)) thing >thing : Symbol(thing, Decl(index.js, 4, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols index c6a3cd9a499..cc5d153d4b3 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols @@ -19,7 +19,7 @@ class Conn { module.exports = Conn; >module.exports : Symbol(exports, Decl(conn.js, 0, 0)) >module : Symbol(module, Decl(conn.js, 0, 0)) ->exports : Symbol(exports, Decl(conn.js, 0, 0)) +>exports : Symbol(export=, Decl(conn.js, 8, 1)) >Conn : Symbol(Conn, Decl(conn.js, 0, 0)) === usage.js === @@ -55,7 +55,7 @@ class Wrap { module.exports = { >module.exports : Symbol(exports, Decl(usage.js, 0, 0)) >module : Symbol(module, Decl(usage.js, 0, 0)) ->exports : Symbol(exports, Decl(usage.js, 0, 0)) +>exports : Symbol(export=, Decl(usage.js, 13, 1)) Wrap >Wrap : Symbol(Wrap, Decl(usage.js, 15, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols.diff index 9adff682185..821e8c6410e 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.symbols.diff @@ -6,13 +6,11 @@ module.exports = Conn; ->module.exports : Symbol(module.exports, Decl(conn.js, 0, 0)) ->module : Symbol(export=, Decl(conn.js, 8, 1)) -->exports : Symbol(export=, Decl(conn.js, 8, 1)) +>module.exports : Symbol(exports, Decl(conn.js, 0, 0)) +>module : Symbol(module, Decl(conn.js, 0, 0)) -+>exports : Symbol(exports, Decl(conn.js, 0, 0)) + >exports : Symbol(export=, Decl(conn.js, 8, 1)) >Conn : Symbol(Conn, Decl(conn.js, 0, 0)) - === usage.js === @@= skipped -36, +36 lines =@@ } @@ -22,7 +20,7 @@ ->exports : Symbol(module.exports, Decl(usage.js, 0, 0)) +>module.exports : Symbol(exports, Decl(usage.js, 0, 0)) +>module : Symbol(module, Decl(usage.js, 0, 0)) -+>exports : Symbol(exports, Decl(usage.js, 0, 0)) ++>exports : Symbol(export=, Decl(usage.js, 13, 1)) Wrap >Wrap : Symbol(Wrap, Decl(usage.js, 15, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols index eeb156ab09f..9277f345f20 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols @@ -43,6 +43,6 @@ class LazySet { module.exports = LazySet; >module.exports : Symbol(exports, Decl(LazySet.js, 0, 0)) >module : Symbol(module, Decl(LazySet.js, 0, 0)) ->exports : Symbol(exports, Decl(LazySet.js, 0, 0)) +>exports : Symbol(export=, Decl(LazySet.js, 10, 1)) >LazySet : Symbol(LazySet, Decl(LazySet.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols.diff index 1e2216e2397..e67b6176240 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndLatebound.symbols.diff @@ -6,8 +6,7 @@ module.exports = LazySet; ->module.exports : Symbol(module.exports, Decl(LazySet.js, 0, 0)) ->module : Symbol(export=, Decl(LazySet.js, 10, 1)) -->exports : Symbol(export=, Decl(LazySet.js, 10, 1)) +>module.exports : Symbol(exports, Decl(LazySet.js, 0, 0)) +>module : Symbol(module, Decl(LazySet.js, 0, 0)) -+>exports : Symbol(exports, Decl(LazySet.js, 0, 0)) + >exports : Symbol(export=, Decl(LazySet.js, 10, 1)) >LazySet : Symbol(LazySet, Decl(LazySet.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols index 570d5857e0c..e4ec8c47173 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols @@ -32,7 +32,7 @@ class MainThreadTasks { module.exports = MainThreadTasks; >module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(exports, Decl(index.js, 0, 0)) +>exports : Symbol(export=, Decl(index.js, 18, 1)) >MainThreadTasks : Symbol(MainThreadTasks, Decl(index.js, 0, 61)) === module.js === @@ -80,7 +80,7 @@ const taskNameToGroup = {}; module.exports = { >module.exports : Symbol(exports, Decl(module.js, 0, 0)) >module : Symbol(module, Decl(module.js, 0, 0)) ->exports : Symbol(exports, Decl(module.js, 0, 0)) +>exports : Symbol(export=, Decl(module.js, 24, 27)) taskGroups, >taskGroups : Symbol(taskGroups, Decl(module.js, 26, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols.diff index a8c7bf3f5a0..23dd8bcf944 100644 --- a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.symbols.diff @@ -6,13 +6,11 @@ module.exports = MainThreadTasks; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 18, 1)) -->exports : Symbol(export=, Decl(index.js, 18, 1)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 18, 1)) >MainThreadTasks : Symbol(MainThreadTasks, Decl(index.js, 0, 61)) - === module.js === @@= skipped -48, +48 lines =@@ >taskNameToGroup : Symbol(taskNameToGroup, Decl(module.js, 24, 5)) @@ -22,7 +20,7 @@ ->exports : Symbol(module.exports, Decl(module.js, 0, 0)) +>module.exports : Symbol(exports, Decl(module.js, 0, 0)) +>module : Symbol(module, Decl(module.js, 0, 0)) -+>exports : Symbol(exports, Decl(module.js, 0, 0)) ++>exports : Symbol(export=, Decl(module.js, 24, 27)) taskGroups, >taskGroups : Symbol(taskGroups, Decl(module.js, 26, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols b/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols index 449964545fd..3983ea85e73 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols @@ -53,6 +53,6 @@ class Chunk { module.exports = Chunk; >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 5, 1)) >Chunk : Symbol(Chunk, Decl(mod1.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols.diff index ef658b7ccb6..27a7ee247fa 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsdocImportType.symbols.diff @@ -6,8 +6,7 @@ module.exports = Chunk; ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 5, 1)) -->exports : Symbol(export=, Decl(mod1.js, 5, 1)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 5, 1)) >Chunk : Symbol(Chunk, Decl(mod1.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols index 0112729955b..4e53b6e08e5 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols @@ -43,7 +43,7 @@ declare var module: { exports: any }; module.exports = class Chunk { >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 0, 0)) >Chunk : Symbol(Chunk, Decl(mod1.js, 1, 16)) constructor() { diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols.diff index dd7a49c2d99..ccfc8c40eb9 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.symbols.diff @@ -6,10 +6,7 @@ module.exports = class Chunk { ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 0, 0)) -->exports : Symbol(export=, Decl(mod1.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 0, 0)) >Chunk : Symbol(Chunk, Decl(mod1.js, 1, 16)) - - constructor() { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types index b7c622a4517..1885de6fa5b 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types +++ b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types @@ -42,12 +42,12 @@ declare var module: { exports: any }; === mod1.js === /// module.exports = class Chunk { ->module.exports = class Chunk { constructor() { this.chunk = 1; }} : typeof Chunk ->module.exports : typeof Chunk ->module : { exports: typeof Chunk; } ->exports : typeof Chunk ->class Chunk { constructor() { this.chunk = 1; }} : typeof Chunk ->Chunk : typeof Chunk +>module.exports = class Chunk { constructor() { this.chunk = 1; }} : typeof import("./mod1") +>module.exports : typeof import("./mod1") +>module : { exports: typeof import("./mod1"); } +>exports : typeof import("./mod1") +>class Chunk { constructor() { this.chunk = 1; }} : typeof import("./mod1") +>Chunk : typeof import("./mod1") constructor() { this.chunk = 1; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types.diff b/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types.diff deleted file mode 100644 index 50ca0f51083..00000000000 --- a/testdata/baselines/reference/submodule/conformance/jsdocImportType2.types.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- old.jsdocImportType2.types -+++ new.jsdocImportType2.types -@@= skipped -41, +41 lines =@@ - === mod1.js === - /// - module.exports = class Chunk { -->module.exports = class Chunk { constructor() { this.chunk = 1; }} : typeof import("./mod1") -->module.exports : typeof import("./mod1") -->module : { exports: typeof import("./mod1"); } -->exports : typeof import("./mod1") -->class Chunk { constructor() { this.chunk = 1; }} : typeof import("./mod1") -->Chunk : typeof import("./mod1") -+>module.exports = class Chunk { constructor() { this.chunk = 1; }} : typeof Chunk -+>module.exports : typeof Chunk -+>module : { exports: typeof Chunk; } -+>exports : typeof Chunk -+>class Chunk { constructor() { this.chunk = 1; }} : typeof Chunk -+>Chunk : typeof Chunk - - constructor() { - this.chunk = 1; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt b/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt index a8010a1ca7d..ae59adbbdbf 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt @@ -1,301 +1,301 @@ -a.js(1,1): error TS7005: Variable 'wrapSync' implicitly has an 'any' type. -a.js(1,20): error TS7005: Variable 'selectSeries' implicitly has an 'any' type. -a.js(1,43): error TS7005: Variable 'selectLimit' implicitly has an 'any' type. -a.js(1,65): error TS7005: Variable 'select' implicitly has an 'any' type. -a.js(1,82): error TS7005: Variable 'foldr' implicitly has an 'any' type. -a.js(1,98): error TS7005: Variable 'foldl' implicitly has an 'any' type. -a.js(1,114): error TS7005: Variable 'inject' implicitly has an 'any' type. -a.js(1,131): error TS7005: Variable 'forEachOfLimit' implicitly has an 'any' type. -a.js(1,156): error TS7005: Variable 'forEachOfSeries' implicitly has an 'any' type. -a.js(1,182): error TS7005: Variable 'forEachOf' implicitly has an 'any' type. -a.js(1,202): error TS7005: Variable 'forEachLimit' implicitly has an 'any' type. -a.js(1,225): error TS7005: Variable 'forEachSeries' implicitly has an 'any' type. -a.js(1,249): error TS7005: Variable 'forEach' implicitly has an 'any' type. -a.js(1,267): error TS7005: Variable 'findSeries' implicitly has an 'any' type. -a.js(1,288): error TS7005: Variable 'findLimit' implicitly has an 'any' type. -a.js(1,308): error TS7005: Variable 'find' implicitly has an 'any' type. -a.js(1,323): error TS7005: Variable 'anySeries' implicitly has an 'any' type. -a.js(1,343): error TS7005: Variable 'anyLimit' implicitly has an 'any' type. -a.js(1,362): error TS7005: Variable 'any' implicitly has an 'any' type. -a.js(1,376): error TS7005: Variable 'allSeries' implicitly has an 'any' type. -a.js(1,396): error TS7005: Variable 'allLimit' implicitly has an 'any' type. -a.js(1,415): error TS7005: Variable 'all' implicitly has an 'any' type. -a.js(1,429): error TS7005: Variable 'whilst' implicitly has an 'any' type. -a.js(1,446): error TS7005: Variable 'waterfall' implicitly has an 'any' type. -a.js(1,466): error TS7005: Variable 'until' implicitly has an 'any' type. -a.js(1,482): error TS7005: Variable 'unmemoize' implicitly has an 'any' type. -a.js(1,502): error TS7005: Variable 'tryEach' implicitly has an 'any' type. -a.js(1,520): error TS7005: Variable 'transform' implicitly has an 'any' type. -a.js(1,540): error TS7005: Variable 'timesSeries' implicitly has an 'any' type. -a.js(1,562): error TS7005: Variable 'timesLimit' implicitly has an 'any' type. -a.js(1,583): error TS7005: Variable 'times' implicitly has an 'any' type. -a.js(1,599): error TS7005: Variable 'timeout' implicitly has an 'any' type. -a.js(1,617): error TS7005: Variable 'sortBy' implicitly has an 'any' type. -a.js(1,634): error TS7005: Variable 'someSeries' implicitly has an 'any' type. -a.js(1,655): error TS7005: Variable 'someLimit' implicitly has an 'any' type. -a.js(1,675): error TS7005: Variable 'some' implicitly has an 'any' type. -a.js(1,690): error TS7005: Variable 'setImmediate' implicitly has an 'any' type. -a.js(1,713): error TS7005: Variable 'series' implicitly has an 'any' type. -a.js(1,730): error TS7005: Variable 'seq' implicitly has an 'any' type. -a.js(1,744): error TS7005: Variable 'retryable' implicitly has an 'any' type. -a.js(1,764): error TS7005: Variable 'retry' implicitly has an 'any' type. -a.js(1,780): error TS7005: Variable 'rejectSeries' implicitly has an 'any' type. -a.js(1,803): error TS7005: Variable 'rejectLimit' implicitly has an 'any' type. -a.js(1,825): error TS7005: Variable 'reject' implicitly has an 'any' type. -a.js(1,842): error TS7005: Variable 'reflectAll' implicitly has an 'any' type. -a.js(1,863): error TS7005: Variable 'reflect' implicitly has an 'any' type. -a.js(1,881): error TS7005: Variable 'reduceRight' implicitly has an 'any' type. -a.js(1,903): error TS7005: Variable 'reduce' implicitly has an 'any' type. -a.js(1,920): error TS7005: Variable 'race' implicitly has an 'any' type. -a.js(1,935): error TS7005: Variable 'queue' implicitly has an 'any' type. -a.js(1,951): error TS7005: Variable 'priorityQueue' implicitly has an 'any' type. -a.js(1,975): error TS7005: Variable 'parallelLimit' implicitly has an 'any' type. -a.js(1,999): error TS7005: Variable 'parallel' implicitly has an 'any' type. -a.js(1,1018): error TS7005: Variable 'nextTick' implicitly has an 'any' type. -a.js(1,1037): error TS7005: Variable 'memoize' implicitly has an 'any' type. -a.js(1,1055): error TS7005: Variable 'mapValuesSeries' implicitly has an 'any' type. -a.js(1,1081): error TS7005: Variable 'mapValuesLimit' implicitly has an 'any' type. -a.js(1,1106): error TS7005: Variable 'mapValues' implicitly has an 'any' type. -a.js(1,1126): error TS7005: Variable 'mapSeries' implicitly has an 'any' type. -a.js(1,1146): error TS7005: Variable 'mapLimit' implicitly has an 'any' type. -a.js(1,1165): error TS7005: Variable 'map' implicitly has an 'any' type. -a.js(1,1179): error TS7005: Variable 'log' implicitly has an 'any' type. -a.js(1,1193): error TS7005: Variable 'groupBySeries' implicitly has an 'any' type. -a.js(1,1217): error TS7005: Variable 'groupByLimit' implicitly has an 'any' type. -a.js(1,1240): error TS7005: Variable 'groupBy' implicitly has an 'any' type. -a.js(1,1258): error TS7005: Variable 'forever' implicitly has an 'any' type. -a.js(1,1276): error TS7005: Variable 'filterSeries' implicitly has an 'any' type. -a.js(1,1299): error TS7005: Variable 'filterLimit' implicitly has an 'any' type. -a.js(1,1321): error TS7005: Variable 'filter' implicitly has an 'any' type. -a.js(1,1338): error TS7005: Variable 'everySeries' implicitly has an 'any' type. -a.js(1,1360): error TS7005: Variable 'everyLimit' implicitly has an 'any' type. -a.js(1,1381): error TS7005: Variable 'every' implicitly has an 'any' type. -a.js(1,1397): error TS7005: Variable 'ensureAsync' implicitly has an 'any' type. -a.js(1,1419): error TS7005: Variable 'eachSeries' implicitly has an 'any' type. -a.js(1,1440): error TS7005: Variable 'eachOfSeries' implicitly has an 'any' type. -a.js(1,1463): error TS7005: Variable 'eachOfLimit' implicitly has an 'any' type. -a.js(1,1485): error TS7005: Variable 'eachOf' implicitly has an 'any' type. -a.js(1,1502): error TS7005: Variable 'eachLimit' implicitly has an 'any' type. -a.js(1,1522): error TS7005: Variable 'each' implicitly has an 'any' type. -a.js(1,1537): error TS7005: Variable 'during' implicitly has an 'any' type. -a.js(1,1554): error TS7005: Variable 'doWhilst' implicitly has an 'any' type. -a.js(1,1573): error TS7005: Variable 'doUntil' implicitly has an 'any' type. -a.js(1,1591): error TS7005: Variable 'doDuring' implicitly has an 'any' type. -a.js(1,1610): error TS7005: Variable 'dir' implicitly has an 'any' type. -a.js(1,1624): error TS7005: Variable 'detectSeries' implicitly has an 'any' type. -a.js(1,1647): error TS7005: Variable 'detectLimit' implicitly has an 'any' type. -a.js(1,1669): error TS7005: Variable 'detect' implicitly has an 'any' type. -a.js(1,1686): error TS7005: Variable 'constant' implicitly has an 'any' type. -a.js(1,1705): error TS7005: Variable 'concatSeries' implicitly has an 'any' type. -a.js(1,1728): error TS7005: Variable 'concatLimit' implicitly has an 'any' type. -a.js(1,1750): error TS7005: Variable 'concat' implicitly has an 'any' type. -a.js(1,1767): error TS7005: Variable 'compose' implicitly has an 'any' type. -a.js(1,1785): error TS7005: Variable 'cargo' implicitly has an 'any' type. -a.js(1,1801): error TS7005: Variable 'autoInject' implicitly has an 'any' type. -a.js(1,1822): error TS7005: Variable 'auto' implicitly has an 'any' type. -a.js(1,1837): error TS7005: Variable 'asyncify' implicitly has an 'any' type. -a.js(1,1856): error TS7005: Variable 'applyEachSeries' implicitly has an 'any' type. -a.js(1,1882): error TS7005: Variable 'applyEach' implicitly has an 'any' type. -a.js(1,1902): error TS7005: Variable 'apply' implicitly has an 'any' type. +a.js(1,1): error TS7008: Member 'wrapSync' implicitly has an 'any' type. +a.js(1,20): error TS7008: Member 'selectSeries' implicitly has an 'any' type. +a.js(1,43): error TS7008: Member 'selectLimit' implicitly has an 'any' type. +a.js(1,65): error TS7008: Member 'select' implicitly has an 'any' type. +a.js(1,82): error TS7008: Member 'foldr' implicitly has an 'any' type. +a.js(1,98): error TS7008: Member 'foldl' implicitly has an 'any' type. +a.js(1,114): error TS7008: Member 'inject' implicitly has an 'any' type. +a.js(1,131): error TS7008: Member 'forEachOfLimit' implicitly has an 'any' type. +a.js(1,156): error TS7008: Member 'forEachOfSeries' implicitly has an 'any' type. +a.js(1,182): error TS7008: Member 'forEachOf' implicitly has an 'any' type. +a.js(1,202): error TS7008: Member 'forEachLimit' implicitly has an 'any' type. +a.js(1,225): error TS7008: Member 'forEachSeries' implicitly has an 'any' type. +a.js(1,249): error TS7008: Member 'forEach' implicitly has an 'any' type. +a.js(1,267): error TS7008: Member 'findSeries' implicitly has an 'any' type. +a.js(1,288): error TS7008: Member 'findLimit' implicitly has an 'any' type. +a.js(1,308): error TS7008: Member 'find' implicitly has an 'any' type. +a.js(1,323): error TS7008: Member 'anySeries' implicitly has an 'any' type. +a.js(1,343): error TS7008: Member 'anyLimit' implicitly has an 'any' type. +a.js(1,362): error TS7008: Member 'any' implicitly has an 'any' type. +a.js(1,376): error TS7008: Member 'allSeries' implicitly has an 'any' type. +a.js(1,396): error TS7008: Member 'allLimit' implicitly has an 'any' type. +a.js(1,415): error TS7008: Member 'all' implicitly has an 'any' type. +a.js(1,429): error TS7008: Member 'whilst' implicitly has an 'any' type. +a.js(1,446): error TS7008: Member 'waterfall' implicitly has an 'any' type. +a.js(1,466): error TS7008: Member 'until' implicitly has an 'any' type. +a.js(1,482): error TS7008: Member 'unmemoize' implicitly has an 'any' type. +a.js(1,502): error TS7008: Member 'tryEach' implicitly has an 'any' type. +a.js(1,520): error TS7008: Member 'transform' implicitly has an 'any' type. +a.js(1,540): error TS7008: Member 'timesSeries' implicitly has an 'any' type. +a.js(1,562): error TS7008: Member 'timesLimit' implicitly has an 'any' type. +a.js(1,583): error TS7008: Member 'times' implicitly has an 'any' type. +a.js(1,599): error TS7008: Member 'timeout' implicitly has an 'any' type. +a.js(1,617): error TS7008: Member 'sortBy' implicitly has an 'any' type. +a.js(1,634): error TS7008: Member 'someSeries' implicitly has an 'any' type. +a.js(1,655): error TS7008: Member 'someLimit' implicitly has an 'any' type. +a.js(1,675): error TS7008: Member 'some' implicitly has an 'any' type. +a.js(1,690): error TS7008: Member 'setImmediate' implicitly has an 'any' type. +a.js(1,713): error TS7008: Member 'series' implicitly has an 'any' type. +a.js(1,730): error TS7008: Member 'seq' implicitly has an 'any' type. +a.js(1,744): error TS7008: Member 'retryable' implicitly has an 'any' type. +a.js(1,764): error TS7008: Member 'retry' implicitly has an 'any' type. +a.js(1,780): error TS7008: Member 'rejectSeries' implicitly has an 'any' type. +a.js(1,803): error TS7008: Member 'rejectLimit' implicitly has an 'any' type. +a.js(1,825): error TS7008: Member 'reject' implicitly has an 'any' type. +a.js(1,842): error TS7008: Member 'reflectAll' implicitly has an 'any' type. +a.js(1,863): error TS7008: Member 'reflect' implicitly has an 'any' type. +a.js(1,881): error TS7008: Member 'reduceRight' implicitly has an 'any' type. +a.js(1,903): error TS7008: Member 'reduce' implicitly has an 'any' type. +a.js(1,920): error TS7008: Member 'race' implicitly has an 'any' type. +a.js(1,935): error TS7008: Member 'queue' implicitly has an 'any' type. +a.js(1,951): error TS7008: Member 'priorityQueue' implicitly has an 'any' type. +a.js(1,975): error TS7008: Member 'parallelLimit' implicitly has an 'any' type. +a.js(1,999): error TS7008: Member 'parallel' implicitly has an 'any' type. +a.js(1,1018): error TS7008: Member 'nextTick' implicitly has an 'any' type. +a.js(1,1037): error TS7008: Member 'memoize' implicitly has an 'any' type. +a.js(1,1055): error TS7008: Member 'mapValuesSeries' implicitly has an 'any' type. +a.js(1,1081): error TS7008: Member 'mapValuesLimit' implicitly has an 'any' type. +a.js(1,1106): error TS7008: Member 'mapValues' implicitly has an 'any' type. +a.js(1,1126): error TS7008: Member 'mapSeries' implicitly has an 'any' type. +a.js(1,1146): error TS7008: Member 'mapLimit' implicitly has an 'any' type. +a.js(1,1165): error TS7008: Member 'map' implicitly has an 'any' type. +a.js(1,1179): error TS7008: Member 'log' implicitly has an 'any' type. +a.js(1,1193): error TS7008: Member 'groupBySeries' implicitly has an 'any' type. +a.js(1,1217): error TS7008: Member 'groupByLimit' implicitly has an 'any' type. +a.js(1,1240): error TS7008: Member 'groupBy' implicitly has an 'any' type. +a.js(1,1258): error TS7008: Member 'forever' implicitly has an 'any' type. +a.js(1,1276): error TS7008: Member 'filterSeries' implicitly has an 'any' type. +a.js(1,1299): error TS7008: Member 'filterLimit' implicitly has an 'any' type. +a.js(1,1321): error TS7008: Member 'filter' implicitly has an 'any' type. +a.js(1,1338): error TS7008: Member 'everySeries' implicitly has an 'any' type. +a.js(1,1360): error TS7008: Member 'everyLimit' implicitly has an 'any' type. +a.js(1,1381): error TS7008: Member 'every' implicitly has an 'any' type. +a.js(1,1397): error TS7008: Member 'ensureAsync' implicitly has an 'any' type. +a.js(1,1419): error TS7008: Member 'eachSeries' implicitly has an 'any' type. +a.js(1,1440): error TS7008: Member 'eachOfSeries' implicitly has an 'any' type. +a.js(1,1463): error TS7008: Member 'eachOfLimit' implicitly has an 'any' type. +a.js(1,1485): error TS7008: Member 'eachOf' implicitly has an 'any' type. +a.js(1,1502): error TS7008: Member 'eachLimit' implicitly has an 'any' type. +a.js(1,1522): error TS7008: Member 'each' implicitly has an 'any' type. +a.js(1,1537): error TS7008: Member 'during' implicitly has an 'any' type. +a.js(1,1554): error TS7008: Member 'doWhilst' implicitly has an 'any' type. +a.js(1,1573): error TS7008: Member 'doUntil' implicitly has an 'any' type. +a.js(1,1591): error TS7008: Member 'doDuring' implicitly has an 'any' type. +a.js(1,1610): error TS7008: Member 'dir' implicitly has an 'any' type. +a.js(1,1624): error TS7008: Member 'detectSeries' implicitly has an 'any' type. +a.js(1,1647): error TS7008: Member 'detectLimit' implicitly has an 'any' type. +a.js(1,1669): error TS7008: Member 'detect' implicitly has an 'any' type. +a.js(1,1686): error TS7008: Member 'constant' implicitly has an 'any' type. +a.js(1,1705): error TS7008: Member 'concatSeries' implicitly has an 'any' type. +a.js(1,1728): error TS7008: Member 'concatLimit' implicitly has an 'any' type. +a.js(1,1750): error TS7008: Member 'concat' implicitly has an 'any' type. +a.js(1,1767): error TS7008: Member 'compose' implicitly has an 'any' type. +a.js(1,1785): error TS7008: Member 'cargo' implicitly has an 'any' type. +a.js(1,1801): error TS7008: Member 'autoInject' implicitly has an 'any' type. +a.js(1,1822): error TS7008: Member 'auto' implicitly has an 'any' type. +a.js(1,1837): error TS7008: Member 'asyncify' implicitly has an 'any' type. +a.js(1,1856): error TS7008: Member 'applyEachSeries' implicitly has an 'any' type. +a.js(1,1882): error TS7008: Member 'applyEach' implicitly has an 'any' type. +a.js(1,1902): error TS7008: Member 'apply' implicitly has an 'any' type. ==== a.js (99 errors) ==== exports.wrapSync = exports.selectSeries = exports.selectLimit = exports.select = exports.foldr = exports.foldl = exports.inject = exports.forEachOfLimit = exports.forEachOfSeries = exports.forEachOf = exports.forEachLimit = exports.forEachSeries = exports.forEach = exports.findSeries = exports.findLimit = exports.find = exports.anySeries = exports.anyLimit = exports.any = exports.allSeries = exports.allLimit = exports.all = exports.whilst = exports.waterfall = exports.until = exports.unmemoize = exports.tryEach = exports.transform = exports.timesSeries = exports.timesLimit = exports.times = exports.timeout = exports.sortBy = exports.someSeries = exports.someLimit = exports.some = exports.setImmediate = exports.series = exports.seq = exports.retryable = exports.retry = exports.rejectSeries = exports.rejectLimit = exports.reject = exports.reflectAll = exports.reflect = exports.reduceRight = exports.reduce = exports.race = exports.queue = exports.priorityQueue = exports.parallelLimit = exports.parallel = exports.nextTick = exports.memoize = exports.mapValuesSeries = exports.mapValuesLimit = exports.mapValues = exports.mapSeries = exports.mapLimit = exports.map = exports.log = exports.groupBySeries = exports.groupByLimit = exports.groupBy = exports.forever = exports.filterSeries = exports.filterLimit = exports.filter = exports.everySeries = exports.everyLimit = exports.every = exports.ensureAsync = exports.eachSeries = exports.eachOfSeries = exports.eachOfLimit = exports.eachOf = exports.eachLimit = exports.each = exports.during = exports.doWhilst = exports.doUntil = exports.doDuring = exports.dir = exports.detectSeries = exports.detectLimit = exports.detect = exports.constant = exports.concatSeries = exports.concatLimit = exports.concat = exports.compose = exports.cargo = exports.autoInject = exports.auto = exports.asyncify = exports.applyEachSeries = exports.applyEach = exports.apply = undefined; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'wrapSync' implicitly has an 'any' type. +!!! error TS7008: Member 'wrapSync' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'selectSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'selectSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'selectLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'selectLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'select' implicitly has an 'any' type. +!!! error TS7008: Member 'select' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'foldr' implicitly has an 'any' type. +!!! error TS7008: Member 'foldr' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'foldl' implicitly has an 'any' type. +!!! error TS7008: Member 'foldl' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'inject' implicitly has an 'any' type. +!!! error TS7008: Member 'inject' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forEachOfLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'forEachOfLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forEachOfSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'forEachOfSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forEachOf' implicitly has an 'any' type. +!!! error TS7008: Member 'forEachOf' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forEachLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'forEachLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forEachSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'forEachSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forEach' implicitly has an 'any' type. +!!! error TS7008: Member 'forEach' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'findSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'findSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'findLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'findLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'find' implicitly has an 'any' type. +!!! error TS7008: Member 'find' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'anySeries' implicitly has an 'any' type. +!!! error TS7008: Member 'anySeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'anyLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'anyLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'any' implicitly has an 'any' type. +!!! error TS7008: Member 'any' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'allSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'allSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'allLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'allLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'all' implicitly has an 'any' type. +!!! error TS7008: Member 'all' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'whilst' implicitly has an 'any' type. +!!! error TS7008: Member 'whilst' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'waterfall' implicitly has an 'any' type. +!!! error TS7008: Member 'waterfall' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'until' implicitly has an 'any' type. +!!! error TS7008: Member 'until' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'unmemoize' implicitly has an 'any' type. +!!! error TS7008: Member 'unmemoize' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'tryEach' implicitly has an 'any' type. +!!! error TS7008: Member 'tryEach' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'transform' implicitly has an 'any' type. +!!! error TS7008: Member 'transform' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'timesSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'timesSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'timesLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'timesLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'times' implicitly has an 'any' type. +!!! error TS7008: Member 'times' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'timeout' implicitly has an 'any' type. +!!! error TS7008: Member 'timeout' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'sortBy' implicitly has an 'any' type. +!!! error TS7008: Member 'sortBy' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'someSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'someSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'someLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'someLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'some' implicitly has an 'any' type. +!!! error TS7008: Member 'some' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'setImmediate' implicitly has an 'any' type. +!!! error TS7008: Member 'setImmediate' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'series' implicitly has an 'any' type. +!!! error TS7008: Member 'series' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'seq' implicitly has an 'any' type. +!!! error TS7008: Member 'seq' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'retryable' implicitly has an 'any' type. +!!! error TS7008: Member 'retryable' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'retry' implicitly has an 'any' type. +!!! error TS7008: Member 'retry' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'rejectSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'rejectSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'rejectLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'rejectLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'reject' implicitly has an 'any' type. +!!! error TS7008: Member 'reject' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'reflectAll' implicitly has an 'any' type. +!!! error TS7008: Member 'reflectAll' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'reflect' implicitly has an 'any' type. +!!! error TS7008: Member 'reflect' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'reduceRight' implicitly has an 'any' type. +!!! error TS7008: Member 'reduceRight' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'reduce' implicitly has an 'any' type. +!!! error TS7008: Member 'reduce' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'race' implicitly has an 'any' type. +!!! error TS7008: Member 'race' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'queue' implicitly has an 'any' type. +!!! error TS7008: Member 'queue' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'priorityQueue' implicitly has an 'any' type. +!!! error TS7008: Member 'priorityQueue' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'parallelLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'parallelLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'parallel' implicitly has an 'any' type. +!!! error TS7008: Member 'parallel' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'nextTick' implicitly has an 'any' type. +!!! error TS7008: Member 'nextTick' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'memoize' implicitly has an 'any' type. +!!! error TS7008: Member 'memoize' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'mapValuesSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'mapValuesSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'mapValuesLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'mapValuesLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'mapValues' implicitly has an 'any' type. +!!! error TS7008: Member 'mapValues' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'mapSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'mapSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'mapLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'mapLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'map' implicitly has an 'any' type. +!!! error TS7008: Member 'map' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'log' implicitly has an 'any' type. +!!! error TS7008: Member 'log' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'groupBySeries' implicitly has an 'any' type. +!!! error TS7008: Member 'groupBySeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'groupByLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'groupByLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'groupBy' implicitly has an 'any' type. +!!! error TS7008: Member 'groupBy' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'forever' implicitly has an 'any' type. +!!! error TS7008: Member 'forever' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'filterSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'filterSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'filterLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'filterLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'filter' implicitly has an 'any' type. +!!! error TS7008: Member 'filter' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'everySeries' implicitly has an 'any' type. +!!! error TS7008: Member 'everySeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'everyLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'everyLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'every' implicitly has an 'any' type. +!!! error TS7008: Member 'every' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'ensureAsync' implicitly has an 'any' type. +!!! error TS7008: Member 'ensureAsync' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'eachSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'eachSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'eachOfSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'eachOfSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'eachOfLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'eachOfLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'eachOf' implicitly has an 'any' type. +!!! error TS7008: Member 'eachOf' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'eachLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'eachLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'each' implicitly has an 'any' type. +!!! error TS7008: Member 'each' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'during' implicitly has an 'any' type. +!!! error TS7008: Member 'during' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'doWhilst' implicitly has an 'any' type. +!!! error TS7008: Member 'doWhilst' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'doUntil' implicitly has an 'any' type. +!!! error TS7008: Member 'doUntil' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'doDuring' implicitly has an 'any' type. +!!! error TS7008: Member 'doDuring' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'dir' implicitly has an 'any' type. +!!! error TS7008: Member 'dir' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'detectSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'detectSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'detectLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'detectLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'detect' implicitly has an 'any' type. +!!! error TS7008: Member 'detect' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'constant' implicitly has an 'any' type. +!!! error TS7008: Member 'constant' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'concatSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'concatSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'concatLimit' implicitly has an 'any' type. +!!! error TS7008: Member 'concatLimit' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'concat' implicitly has an 'any' type. +!!! error TS7008: Member 'concat' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'compose' implicitly has an 'any' type. +!!! error TS7008: Member 'compose' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'cargo' implicitly has an 'any' type. +!!! error TS7008: Member 'cargo' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'autoInject' implicitly has an 'any' type. +!!! error TS7008: Member 'autoInject' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'auto' implicitly has an 'any' type. +!!! error TS7008: Member 'auto' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'asyncify' implicitly has an 'any' type. +!!! error TS7008: Member 'asyncify' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'applyEachSeries' implicitly has an 'any' type. +!!! error TS7008: Member 'applyEachSeries' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'applyEach' implicitly has an 'any' type. +!!! error TS7008: Member 'applyEach' implicitly has an 'any' type. ~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7005: Variable 'apply' implicitly has an 'any' type. \ No newline at end of file +!!! error TS7008: Member 'apply' implicitly has an 'any' type. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt.diff index 8d1571f5ea6..b7dc0e0b9c0 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeFromChainedAssignment3.errors.txt.diff @@ -1,310 +1,601 @@ --- old.jsdocTypeFromChainedAssignment3.errors.txt +++ new.jsdocTypeFromChainedAssignment3.errors.txt -@@= skipped -95, +95 lines =@@ - a.js(1,1837): error TS7005: Variable 'asyncify' implicitly has an 'any' type. - a.js(1,1856): error TS7005: Variable 'applyEachSeries' implicitly has an 'any' type. - a.js(1,1882): error TS7005: Variable 'applyEach' implicitly has an 'any' type. +@@= skipped -0, +0 lines =@@ +-a.js(1,1): error TS7005: Variable 'wrapSync' implicitly has an 'any' type. +-a.js(1,20): error TS7005: Variable 'selectSeries' implicitly has an 'any' type. +-a.js(1,43): error TS7005: Variable 'selectLimit' implicitly has an 'any' type. +-a.js(1,65): error TS7005: Variable 'select' implicitly has an 'any' type. +-a.js(1,82): error TS7005: Variable 'foldr' implicitly has an 'any' type. +-a.js(1,98): error TS7005: Variable 'foldl' implicitly has an 'any' type. +-a.js(1,114): error TS7005: Variable 'inject' implicitly has an 'any' type. +-a.js(1,131): error TS7005: Variable 'forEachOfLimit' implicitly has an 'any' type. +-a.js(1,156): error TS7005: Variable 'forEachOfSeries' implicitly has an 'any' type. +-a.js(1,182): error TS7005: Variable 'forEachOf' implicitly has an 'any' type. +-a.js(1,202): error TS7005: Variable 'forEachLimit' implicitly has an 'any' type. +-a.js(1,225): error TS7005: Variable 'forEachSeries' implicitly has an 'any' type. +-a.js(1,249): error TS7005: Variable 'forEach' implicitly has an 'any' type. +-a.js(1,267): error TS7005: Variable 'findSeries' implicitly has an 'any' type. +-a.js(1,288): error TS7005: Variable 'findLimit' implicitly has an 'any' type. +-a.js(1,308): error TS7005: Variable 'find' implicitly has an 'any' type. +-a.js(1,323): error TS7005: Variable 'anySeries' implicitly has an 'any' type. +-a.js(1,343): error TS7005: Variable 'anyLimit' implicitly has an 'any' type. +-a.js(1,362): error TS7005: Variable 'any' implicitly has an 'any' type. +-a.js(1,376): error TS7005: Variable 'allSeries' implicitly has an 'any' type. +-a.js(1,396): error TS7005: Variable 'allLimit' implicitly has an 'any' type. +-a.js(1,415): error TS7005: Variable 'all' implicitly has an 'any' type. +-a.js(1,429): error TS7005: Variable 'whilst' implicitly has an 'any' type. +-a.js(1,446): error TS7005: Variable 'waterfall' implicitly has an 'any' type. +-a.js(1,466): error TS7005: Variable 'until' implicitly has an 'any' type. +-a.js(1,482): error TS7005: Variable 'unmemoize' implicitly has an 'any' type. +-a.js(1,502): error TS7005: Variable 'tryEach' implicitly has an 'any' type. +-a.js(1,520): error TS7005: Variable 'transform' implicitly has an 'any' type. +-a.js(1,540): error TS7005: Variable 'timesSeries' implicitly has an 'any' type. +-a.js(1,562): error TS7005: Variable 'timesLimit' implicitly has an 'any' type. +-a.js(1,583): error TS7005: Variable 'times' implicitly has an 'any' type. +-a.js(1,599): error TS7005: Variable 'timeout' implicitly has an 'any' type. +-a.js(1,617): error TS7005: Variable 'sortBy' implicitly has an 'any' type. +-a.js(1,634): error TS7005: Variable 'someSeries' implicitly has an 'any' type. +-a.js(1,655): error TS7005: Variable 'someLimit' implicitly has an 'any' type. +-a.js(1,675): error TS7005: Variable 'some' implicitly has an 'any' type. +-a.js(1,690): error TS7005: Variable 'setImmediate' implicitly has an 'any' type. +-a.js(1,713): error TS7005: Variable 'series' implicitly has an 'any' type. +-a.js(1,730): error TS7005: Variable 'seq' implicitly has an 'any' type. +-a.js(1,744): error TS7005: Variable 'retryable' implicitly has an 'any' type. +-a.js(1,764): error TS7005: Variable 'retry' implicitly has an 'any' type. +-a.js(1,780): error TS7005: Variable 'rejectSeries' implicitly has an 'any' type. +-a.js(1,803): error TS7005: Variable 'rejectLimit' implicitly has an 'any' type. +-a.js(1,825): error TS7005: Variable 'reject' implicitly has an 'any' type. +-a.js(1,842): error TS7005: Variable 'reflectAll' implicitly has an 'any' type. +-a.js(1,863): error TS7005: Variable 'reflect' implicitly has an 'any' type. +-a.js(1,881): error TS7005: Variable 'reduceRight' implicitly has an 'any' type. +-a.js(1,903): error TS7005: Variable 'reduce' implicitly has an 'any' type. +-a.js(1,920): error TS7005: Variable 'race' implicitly has an 'any' type. +-a.js(1,935): error TS7005: Variable 'queue' implicitly has an 'any' type. +-a.js(1,951): error TS7005: Variable 'priorityQueue' implicitly has an 'any' type. +-a.js(1,975): error TS7005: Variable 'parallelLimit' implicitly has an 'any' type. +-a.js(1,999): error TS7005: Variable 'parallel' implicitly has an 'any' type. +-a.js(1,1018): error TS7005: Variable 'nextTick' implicitly has an 'any' type. +-a.js(1,1037): error TS7005: Variable 'memoize' implicitly has an 'any' type. +-a.js(1,1055): error TS7005: Variable 'mapValuesSeries' implicitly has an 'any' type. +-a.js(1,1081): error TS7005: Variable 'mapValuesLimit' implicitly has an 'any' type. +-a.js(1,1106): error TS7005: Variable 'mapValues' implicitly has an 'any' type. +-a.js(1,1126): error TS7005: Variable 'mapSeries' implicitly has an 'any' type. +-a.js(1,1146): error TS7005: Variable 'mapLimit' implicitly has an 'any' type. +-a.js(1,1165): error TS7005: Variable 'map' implicitly has an 'any' type. +-a.js(1,1179): error TS7005: Variable 'log' implicitly has an 'any' type. +-a.js(1,1193): error TS7005: Variable 'groupBySeries' implicitly has an 'any' type. +-a.js(1,1217): error TS7005: Variable 'groupByLimit' implicitly has an 'any' type. +-a.js(1,1240): error TS7005: Variable 'groupBy' implicitly has an 'any' type. +-a.js(1,1258): error TS7005: Variable 'forever' implicitly has an 'any' type. +-a.js(1,1276): error TS7005: Variable 'filterSeries' implicitly has an 'any' type. +-a.js(1,1299): error TS7005: Variable 'filterLimit' implicitly has an 'any' type. +-a.js(1,1321): error TS7005: Variable 'filter' implicitly has an 'any' type. +-a.js(1,1338): error TS7005: Variable 'everySeries' implicitly has an 'any' type. +-a.js(1,1360): error TS7005: Variable 'everyLimit' implicitly has an 'any' type. +-a.js(1,1381): error TS7005: Variable 'every' implicitly has an 'any' type. +-a.js(1,1397): error TS7005: Variable 'ensureAsync' implicitly has an 'any' type. +-a.js(1,1419): error TS7005: Variable 'eachSeries' implicitly has an 'any' type. +-a.js(1,1440): error TS7005: Variable 'eachOfSeries' implicitly has an 'any' type. +-a.js(1,1463): error TS7005: Variable 'eachOfLimit' implicitly has an 'any' type. +-a.js(1,1485): error TS7005: Variable 'eachOf' implicitly has an 'any' type. +-a.js(1,1502): error TS7005: Variable 'eachLimit' implicitly has an 'any' type. +-a.js(1,1522): error TS7005: Variable 'each' implicitly has an 'any' type. +-a.js(1,1537): error TS7005: Variable 'during' implicitly has an 'any' type. +-a.js(1,1554): error TS7005: Variable 'doWhilst' implicitly has an 'any' type. +-a.js(1,1573): error TS7005: Variable 'doUntil' implicitly has an 'any' type. +-a.js(1,1591): error TS7005: Variable 'doDuring' implicitly has an 'any' type. +-a.js(1,1610): error TS7005: Variable 'dir' implicitly has an 'any' type. +-a.js(1,1624): error TS7005: Variable 'detectSeries' implicitly has an 'any' type. +-a.js(1,1647): error TS7005: Variable 'detectLimit' implicitly has an 'any' type. +-a.js(1,1669): error TS7005: Variable 'detect' implicitly has an 'any' type. +-a.js(1,1686): error TS7005: Variable 'constant' implicitly has an 'any' type. +-a.js(1,1705): error TS7005: Variable 'concatSeries' implicitly has an 'any' type. +-a.js(1,1728): error TS7005: Variable 'concatLimit' implicitly has an 'any' type. +-a.js(1,1750): error TS7005: Variable 'concat' implicitly has an 'any' type. +-a.js(1,1767): error TS7005: Variable 'compose' implicitly has an 'any' type. +-a.js(1,1785): error TS7005: Variable 'cargo' implicitly has an 'any' type. +-a.js(1,1801): error TS7005: Variable 'autoInject' implicitly has an 'any' type. +-a.js(1,1822): error TS7005: Variable 'auto' implicitly has an 'any' type. +-a.js(1,1837): error TS7005: Variable 'asyncify' implicitly has an 'any' type. +-a.js(1,1856): error TS7005: Variable 'applyEachSeries' implicitly has an 'any' type. +-a.js(1,1882): error TS7005: Variable 'applyEach' implicitly has an 'any' type. - - -==== a.js (98 errors) ==== -+a.js(1,1902): error TS7005: Variable 'apply' implicitly has an 'any' type. ++a.js(1,1): error TS7008: Member 'wrapSync' implicitly has an 'any' type. ++a.js(1,20): error TS7008: Member 'selectSeries' implicitly has an 'any' type. ++a.js(1,43): error TS7008: Member 'selectLimit' implicitly has an 'any' type. ++a.js(1,65): error TS7008: Member 'select' implicitly has an 'any' type. ++a.js(1,82): error TS7008: Member 'foldr' implicitly has an 'any' type. ++a.js(1,98): error TS7008: Member 'foldl' implicitly has an 'any' type. ++a.js(1,114): error TS7008: Member 'inject' implicitly has an 'any' type. ++a.js(1,131): error TS7008: Member 'forEachOfLimit' implicitly has an 'any' type. ++a.js(1,156): error TS7008: Member 'forEachOfSeries' implicitly has an 'any' type. ++a.js(1,182): error TS7008: Member 'forEachOf' implicitly has an 'any' type. ++a.js(1,202): error TS7008: Member 'forEachLimit' implicitly has an 'any' type. ++a.js(1,225): error TS7008: Member 'forEachSeries' implicitly has an 'any' type. ++a.js(1,249): error TS7008: Member 'forEach' implicitly has an 'any' type. ++a.js(1,267): error TS7008: Member 'findSeries' implicitly has an 'any' type. ++a.js(1,288): error TS7008: Member 'findLimit' implicitly has an 'any' type. ++a.js(1,308): error TS7008: Member 'find' implicitly has an 'any' type. ++a.js(1,323): error TS7008: Member 'anySeries' implicitly has an 'any' type. ++a.js(1,343): error TS7008: Member 'anyLimit' implicitly has an 'any' type. ++a.js(1,362): error TS7008: Member 'any' implicitly has an 'any' type. ++a.js(1,376): error TS7008: Member 'allSeries' implicitly has an 'any' type. ++a.js(1,396): error TS7008: Member 'allLimit' implicitly has an 'any' type. ++a.js(1,415): error TS7008: Member 'all' implicitly has an 'any' type. ++a.js(1,429): error TS7008: Member 'whilst' implicitly has an 'any' type. ++a.js(1,446): error TS7008: Member 'waterfall' implicitly has an 'any' type. ++a.js(1,466): error TS7008: Member 'until' implicitly has an 'any' type. ++a.js(1,482): error TS7008: Member 'unmemoize' implicitly has an 'any' type. ++a.js(1,502): error TS7008: Member 'tryEach' implicitly has an 'any' type. ++a.js(1,520): error TS7008: Member 'transform' implicitly has an 'any' type. ++a.js(1,540): error TS7008: Member 'timesSeries' implicitly has an 'any' type. ++a.js(1,562): error TS7008: Member 'timesLimit' implicitly has an 'any' type. ++a.js(1,583): error TS7008: Member 'times' implicitly has an 'any' type. ++a.js(1,599): error TS7008: Member 'timeout' implicitly has an 'any' type. ++a.js(1,617): error TS7008: Member 'sortBy' implicitly has an 'any' type. ++a.js(1,634): error TS7008: Member 'someSeries' implicitly has an 'any' type. ++a.js(1,655): error TS7008: Member 'someLimit' implicitly has an 'any' type. ++a.js(1,675): error TS7008: Member 'some' implicitly has an 'any' type. ++a.js(1,690): error TS7008: Member 'setImmediate' implicitly has an 'any' type. ++a.js(1,713): error TS7008: Member 'series' implicitly has an 'any' type. ++a.js(1,730): error TS7008: Member 'seq' implicitly has an 'any' type. ++a.js(1,744): error TS7008: Member 'retryable' implicitly has an 'any' type. ++a.js(1,764): error TS7008: Member 'retry' implicitly has an 'any' type. ++a.js(1,780): error TS7008: Member 'rejectSeries' implicitly has an 'any' type. ++a.js(1,803): error TS7008: Member 'rejectLimit' implicitly has an 'any' type. ++a.js(1,825): error TS7008: Member 'reject' implicitly has an 'any' type. ++a.js(1,842): error TS7008: Member 'reflectAll' implicitly has an 'any' type. ++a.js(1,863): error TS7008: Member 'reflect' implicitly has an 'any' type. ++a.js(1,881): error TS7008: Member 'reduceRight' implicitly has an 'any' type. ++a.js(1,903): error TS7008: Member 'reduce' implicitly has an 'any' type. ++a.js(1,920): error TS7008: Member 'race' implicitly has an 'any' type. ++a.js(1,935): error TS7008: Member 'queue' implicitly has an 'any' type. ++a.js(1,951): error TS7008: Member 'priorityQueue' implicitly has an 'any' type. ++a.js(1,975): error TS7008: Member 'parallelLimit' implicitly has an 'any' type. ++a.js(1,999): error TS7008: Member 'parallel' implicitly has an 'any' type. ++a.js(1,1018): error TS7008: Member 'nextTick' implicitly has an 'any' type. ++a.js(1,1037): error TS7008: Member 'memoize' implicitly has an 'any' type. ++a.js(1,1055): error TS7008: Member 'mapValuesSeries' implicitly has an 'any' type. ++a.js(1,1081): error TS7008: Member 'mapValuesLimit' implicitly has an 'any' type. ++a.js(1,1106): error TS7008: Member 'mapValues' implicitly has an 'any' type. ++a.js(1,1126): error TS7008: Member 'mapSeries' implicitly has an 'any' type. ++a.js(1,1146): error TS7008: Member 'mapLimit' implicitly has an 'any' type. ++a.js(1,1165): error TS7008: Member 'map' implicitly has an 'any' type. ++a.js(1,1179): error TS7008: Member 'log' implicitly has an 'any' type. ++a.js(1,1193): error TS7008: Member 'groupBySeries' implicitly has an 'any' type. ++a.js(1,1217): error TS7008: Member 'groupByLimit' implicitly has an 'any' type. ++a.js(1,1240): error TS7008: Member 'groupBy' implicitly has an 'any' type. ++a.js(1,1258): error TS7008: Member 'forever' implicitly has an 'any' type. ++a.js(1,1276): error TS7008: Member 'filterSeries' implicitly has an 'any' type. ++a.js(1,1299): error TS7008: Member 'filterLimit' implicitly has an 'any' type. ++a.js(1,1321): error TS7008: Member 'filter' implicitly has an 'any' type. ++a.js(1,1338): error TS7008: Member 'everySeries' implicitly has an 'any' type. ++a.js(1,1360): error TS7008: Member 'everyLimit' implicitly has an 'any' type. ++a.js(1,1381): error TS7008: Member 'every' implicitly has an 'any' type. ++a.js(1,1397): error TS7008: Member 'ensureAsync' implicitly has an 'any' type. ++a.js(1,1419): error TS7008: Member 'eachSeries' implicitly has an 'any' type. ++a.js(1,1440): error TS7008: Member 'eachOfSeries' implicitly has an 'any' type. ++a.js(1,1463): error TS7008: Member 'eachOfLimit' implicitly has an 'any' type. ++a.js(1,1485): error TS7008: Member 'eachOf' implicitly has an 'any' type. ++a.js(1,1502): error TS7008: Member 'eachLimit' implicitly has an 'any' type. ++a.js(1,1522): error TS7008: Member 'each' implicitly has an 'any' type. ++a.js(1,1537): error TS7008: Member 'during' implicitly has an 'any' type. ++a.js(1,1554): error TS7008: Member 'doWhilst' implicitly has an 'any' type. ++a.js(1,1573): error TS7008: Member 'doUntil' implicitly has an 'any' type. ++a.js(1,1591): error TS7008: Member 'doDuring' implicitly has an 'any' type. ++a.js(1,1610): error TS7008: Member 'dir' implicitly has an 'any' type. ++a.js(1,1624): error TS7008: Member 'detectSeries' implicitly has an 'any' type. ++a.js(1,1647): error TS7008: Member 'detectLimit' implicitly has an 'any' type. ++a.js(1,1669): error TS7008: Member 'detect' implicitly has an 'any' type. ++a.js(1,1686): error TS7008: Member 'constant' implicitly has an 'any' type. ++a.js(1,1705): error TS7008: Member 'concatSeries' implicitly has an 'any' type. ++a.js(1,1728): error TS7008: Member 'concatLimit' implicitly has an 'any' type. ++a.js(1,1750): error TS7008: Member 'concat' implicitly has an 'any' type. ++a.js(1,1767): error TS7008: Member 'compose' implicitly has an 'any' type. ++a.js(1,1785): error TS7008: Member 'cargo' implicitly has an 'any' type. ++a.js(1,1801): error TS7008: Member 'autoInject' implicitly has an 'any' type. ++a.js(1,1822): error TS7008: Member 'auto' implicitly has an 'any' type. ++a.js(1,1837): error TS7008: Member 'asyncify' implicitly has an 'any' type. ++a.js(1,1856): error TS7008: Member 'applyEachSeries' implicitly has an 'any' type. ++a.js(1,1882): error TS7008: Member 'applyEach' implicitly has an 'any' type. ++a.js(1,1902): error TS7008: Member 'apply' implicitly has an 'any' type. + + +==== a.js (99 errors) ==== exports.wrapSync = exports.selectSeries = exports.selectLimit = exports.select = exports.foldr = exports.foldl = exports.inject = exports.forEachOfLimit = exports.forEachOfSeries = exports.forEachOf = exports.forEachLimit = exports.forEachSeries = exports.forEach = exports.findSeries = exports.findLimit = exports.find = exports.anySeries = exports.anyLimit = exports.any = exports.allSeries = exports.allLimit = exports.all = exports.whilst = exports.waterfall = exports.until = exports.unmemoize = exports.tryEach = exports.transform = exports.timesSeries = exports.timesLimit = exports.times = exports.timeout = exports.sortBy = exports.someSeries = exports.someLimit = exports.some = exports.setImmediate = exports.series = exports.seq = exports.retryable = exports.retry = exports.rejectSeries = exports.rejectLimit = exports.reject = exports.reflectAll = exports.reflect = exports.reduceRight = exports.reduce = exports.race = exports.queue = exports.priorityQueue = exports.parallelLimit = exports.parallel = exports.nextTick = exports.memoize = exports.mapValuesSeries = exports.mapValuesLimit = exports.mapValues = exports.mapSeries = exports.mapLimit = exports.map = exports.log = exports.groupBySeries = exports.groupByLimit = exports.groupBy = exports.forever = exports.filterSeries = exports.filterLimit = exports.filter = exports.everySeries = exports.everyLimit = exports.every = exports.ensureAsync = exports.eachSeries = exports.eachOfSeries = exports.eachOfLimit = exports.eachOf = exports.eachLimit = exports.each = exports.during = exports.doWhilst = exports.doUntil = exports.doDuring = exports.dir = exports.detectSeries = exports.detectLimit = exports.detect = exports.constant = exports.concatSeries = exports.concatLimit = exports.concat = exports.compose = exports.cargo = exports.autoInject = exports.auto = exports.asyncify = exports.applyEachSeries = exports.applyEach = exports.apply = undefined; - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'wrapSync' implicitly has an 'any' type. +-!!! error TS7005: Variable 'wrapSync' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'selectSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'selectSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'selectLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'selectLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'select' implicitly has an 'any' type. +-!!! error TS7005: Variable 'select' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'foldr' implicitly has an 'any' type. +-!!! error TS7005: Variable 'foldr' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'foldl' implicitly has an 'any' type. +-!!! error TS7005: Variable 'foldl' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'inject' implicitly has an 'any' type. +-!!! error TS7005: Variable 'inject' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forEachOfLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forEachOfLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forEachOfSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forEachOfSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forEachOf' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forEachOf' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forEachLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forEachLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forEachSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forEachSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forEach' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forEach' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'findSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'findSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'findLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'findLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'find' implicitly has an 'any' type. +-!!! error TS7005: Variable 'find' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'anySeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'anySeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'anyLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'anyLimit' implicitly has an 'any' type. - ~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'any' implicitly has an 'any' type. +-!!! error TS7005: Variable 'any' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'allSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'allSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'allLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'allLimit' implicitly has an 'any' type. - ~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'all' implicitly has an 'any' type. +-!!! error TS7005: Variable 'all' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'whilst' implicitly has an 'any' type. +-!!! error TS7005: Variable 'whilst' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'waterfall' implicitly has an 'any' type. +-!!! error TS7005: Variable 'waterfall' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'until' implicitly has an 'any' type. +-!!! error TS7005: Variable 'until' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'unmemoize' implicitly has an 'any' type. +-!!! error TS7005: Variable 'unmemoize' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'tryEach' implicitly has an 'any' type. +-!!! error TS7005: Variable 'tryEach' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'transform' implicitly has an 'any' type. +-!!! error TS7005: Variable 'transform' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'timesSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'timesSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'timesLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'timesLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'times' implicitly has an 'any' type. +-!!! error TS7005: Variable 'times' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'timeout' implicitly has an 'any' type. +-!!! error TS7005: Variable 'timeout' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'sortBy' implicitly has an 'any' type. +-!!! error TS7005: Variable 'sortBy' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'someSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'someSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'someLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'someLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'some' implicitly has an 'any' type. +-!!! error TS7005: Variable 'some' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'setImmediate' implicitly has an 'any' type. +-!!! error TS7005: Variable 'setImmediate' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'series' implicitly has an 'any' type. +-!!! error TS7005: Variable 'series' implicitly has an 'any' type. - ~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'seq' implicitly has an 'any' type. +-!!! error TS7005: Variable 'seq' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'retryable' implicitly has an 'any' type. +-!!! error TS7005: Variable 'retryable' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'retry' implicitly has an 'any' type. +-!!! error TS7005: Variable 'retry' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'rejectSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'rejectSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'rejectLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'rejectLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'reject' implicitly has an 'any' type. +-!!! error TS7005: Variable 'reject' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'reflectAll' implicitly has an 'any' type. +-!!! error TS7005: Variable 'reflectAll' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'reflect' implicitly has an 'any' type. +-!!! error TS7005: Variable 'reflect' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'reduceRight' implicitly has an 'any' type. +-!!! error TS7005: Variable 'reduceRight' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'reduce' implicitly has an 'any' type. +-!!! error TS7005: Variable 'reduce' implicitly has an 'any' type. - ~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'race' implicitly has an 'any' type. +-!!! error TS7005: Variable 'race' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'queue' implicitly has an 'any' type. +-!!! error TS7005: Variable 'queue' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'priorityQueue' implicitly has an 'any' type. +-!!! error TS7005: Variable 'priorityQueue' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'parallelLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'parallelLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'parallel' implicitly has an 'any' type. +-!!! error TS7005: Variable 'parallel' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'nextTick' implicitly has an 'any' type. +-!!! error TS7005: Variable 'nextTick' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'memoize' implicitly has an 'any' type. +-!!! error TS7005: Variable 'memoize' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'mapValuesSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'mapValuesSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'mapValuesLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'mapValuesLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'mapValues' implicitly has an 'any' type. +-!!! error TS7005: Variable 'mapValues' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'mapSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'mapSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'mapLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'mapLimit' implicitly has an 'any' type. - ~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'map' implicitly has an 'any' type. +-!!! error TS7005: Variable 'map' implicitly has an 'any' type. - ~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'log' implicitly has an 'any' type. +-!!! error TS7005: Variable 'log' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'groupBySeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'groupBySeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'groupByLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'groupByLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'groupBy' implicitly has an 'any' type. +-!!! error TS7005: Variable 'groupBy' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'forever' implicitly has an 'any' type. +-!!! error TS7005: Variable 'forever' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'filterSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'filterSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'filterLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'filterLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'filter' implicitly has an 'any' type. +-!!! error TS7005: Variable 'filter' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'everySeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'everySeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'everyLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'everyLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'every' implicitly has an 'any' type. +-!!! error TS7005: Variable 'every' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'ensureAsync' implicitly has an 'any' type. +-!!! error TS7005: Variable 'ensureAsync' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'eachSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'eachSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'eachOfSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'eachOfSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'eachOfLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'eachOfLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'eachOf' implicitly has an 'any' type. +-!!! error TS7005: Variable 'eachOf' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'eachLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'eachLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'each' implicitly has an 'any' type. +-!!! error TS7005: Variable 'each' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'during' implicitly has an 'any' type. +-!!! error TS7005: Variable 'during' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'doWhilst' implicitly has an 'any' type. +-!!! error TS7005: Variable 'doWhilst' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'doUntil' implicitly has an 'any' type. +-!!! error TS7005: Variable 'doUntil' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'doDuring' implicitly has an 'any' type. +-!!! error TS7005: Variable 'doDuring' implicitly has an 'any' type. - ~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'dir' implicitly has an 'any' type. +-!!! error TS7005: Variable 'dir' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'detectSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'detectSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'detectLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'detectLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'detect' implicitly has an 'any' type. +-!!! error TS7005: Variable 'detect' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'constant' implicitly has an 'any' type. +-!!! error TS7005: Variable 'constant' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'concatSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'concatSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'concatLimit' implicitly has an 'any' type. +-!!! error TS7005: Variable 'concatLimit' implicitly has an 'any' type. - ~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'concat' implicitly has an 'any' type. +-!!! error TS7005: Variable 'concat' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'compose' implicitly has an 'any' type. +-!!! error TS7005: Variable 'compose' implicitly has an 'any' type. - ~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'cargo' implicitly has an 'any' type. +-!!! error TS7005: Variable 'cargo' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'autoInject' implicitly has an 'any' type. +-!!! error TS7005: Variable 'autoInject' implicitly has an 'any' type. - ~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'auto' implicitly has an 'any' type. +-!!! error TS7005: Variable 'auto' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'asyncify' implicitly has an 'any' type. +-!!! error TS7005: Variable 'asyncify' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~~~~~~~ -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'applyEachSeries' implicitly has an 'any' type. +-!!! error TS7005: Variable 'applyEachSeries' implicitly has an 'any' type. - ~~~~~~~~~~~~~~~~~ +-!!! error TS7005: Variable 'applyEach' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'wrapSync' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'selectSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'selectLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'select' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'foldr' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'foldl' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'inject' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forEachOfLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forEachOfSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forEachOf' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forEachLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forEachSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forEach' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'findSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'findLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'find' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'anySeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'anyLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'any' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'allSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'allLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'all' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'whilst' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'waterfall' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'until' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'unmemoize' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'tryEach' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'transform' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'timesSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'timesLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'times' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'timeout' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'sortBy' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'someSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'someLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'some' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'setImmediate' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'series' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'seq' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'retryable' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'retry' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'rejectSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'rejectLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'reject' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'reflectAll' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'reflect' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'reduceRight' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'reduce' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'race' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'queue' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'priorityQueue' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'parallelLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'parallel' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'nextTick' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'memoize' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'mapValuesSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'mapValuesLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'mapValues' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'mapSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'mapLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'map' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'log' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'groupBySeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'groupByLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'groupBy' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'forever' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'filterSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'filterLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'filter' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'everySeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'everyLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'every' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'ensureAsync' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'eachSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'eachOfSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'eachOfLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'eachOf' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'eachLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'each' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'during' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'doWhilst' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'doUntil' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'doDuring' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'dir' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'detectSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'detectLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'detect' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'constant' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'concatSeries' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'concatLimit' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'concat' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'compose' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'cargo' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'autoInject' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'auto' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'asyncify' implicitly has an 'any' type. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS7008: Member 'applyEachSeries' implicitly has an 'any' type. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - !!! error TS7005: Variable 'applyEach' implicitly has an 'any' type. ++!!! error TS7008: Member 'applyEach' implicitly has an 'any' type. + ~~~~~~~~~~~~~~~~~~~~~~~~~ -+!!! error TS7005: Variable 'apply' implicitly has an 'any' type. \ No newline at end of file ++!!! error TS7008: Member 'apply' implicitly has an 'any' type. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols index bc590adc1f0..23be6ce060d 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols @@ -4,7 +4,7 @@ module.exports = {} >module.exports : Symbol(exports, Decl(bug27342.js, 0, 0)) >module : Symbol(module, Decl(bug27342.js, 0, 0)) ->exports : Symbol(exports, Decl(bug27342.js, 0, 0)) +>exports : Symbol(export=, Decl(bug27342.js, 0, 0)) /** * @type {exports} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols.diff index b86bbc16024..e0b38f23cf4 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceExports.symbols.diff @@ -8,7 +8,7 @@ +>module.exports : Symbol(exports, Decl(bug27342.js, 0, 0)) >module : Symbol(module, Decl(bug27342.js, 0, 0)) ->exports : Symbol(module.exports, Decl(bug27342.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug27342.js, 0, 0)) ++>exports : Symbol(export=, Decl(bug27342.js, 0, 0)) /** * @type {exports} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols index 868245f6856..4fc1b20ebfb 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols @@ -11,7 +11,7 @@ const MW = require("./MW"); module.exports = class MC { >module.exports : Symbol(exports, Decl(MC.js, 0, 0)) >module : Symbol(module, Decl(MC.js, 0, 0)) ->exports : Symbol(exports, Decl(MC.js, 0, 0)) +>exports : Symbol(export=, Decl(MC.js, 0, 27)) >MC : Symbol(MC, Decl(MC.js, 4, 16)) watch() { @@ -46,6 +46,6 @@ class MW { module.exports = MW; >module.exports : Symbol(exports, Decl(MW.js, 0, 0)) >module : Symbol(module, Decl(MW.js, 0, 0)) ->exports : Symbol(exports, Decl(MW.js, 0, 0)) +>exports : Symbol(export=, Decl(MW.js, 9, 1)) >MW : Symbol(MW, Decl(MW.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols.diff index 51de2231b11..9aaa4d77c32 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfClassExpression.symbols.diff @@ -6,21 +6,18 @@ module.exports = class MC { ->module.exports : Symbol(module.exports, Decl(MC.js, 0, 0)) ->module : Symbol(export=, Decl(MC.js, 0, 27)) -->exports : Symbol(export=, Decl(MC.js, 0, 27)) +>module.exports : Symbol(exports, Decl(MC.js, 0, 0)) +>module : Symbol(module, Decl(MC.js, 0, 0)) -+>exports : Symbol(exports, Decl(MC.js, 0, 0)) + >exports : Symbol(export=, Decl(MC.js, 0, 27)) >MC : Symbol(MC, Decl(MC.js, 4, 16)) - watch() { @@= skipped -35, +35 lines =@@ } module.exports = MW; ->module.exports : Symbol(module.exports, Decl(MW.js, 0, 0)) ->module : Symbol(export=, Decl(MW.js, 9, 1)) -->exports : Symbol(export=, Decl(MW.js, 9, 1)) +>module.exports : Symbol(exports, Decl(MW.js, 0, 0)) +>module : Symbol(module, Decl(MW.js, 0, 0)) -+>exports : Symbol(exports, Decl(MW.js, 0, 0)) + >exports : Symbol(export=, Decl(MW.js, 9, 1)) >MW : Symbol(MW, Decl(MW.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols index f979f85db74..c8b56cf784a 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols @@ -12,7 +12,7 @@ const MW = require("./MW"); module.exports = function MC() { >module.exports : Symbol(exports, Decl(MC.js, 0, 0)) >module : Symbol(module, Decl(MC.js, 0, 0)) ->exports : Symbol(exports, Decl(MC.js, 0, 0)) +>exports : Symbol(export=, Decl(MC.js, 0, 27)) >MC : Symbol(MC, Decl(MC.js, 5, 16)) /** @type {any} */ @@ -48,6 +48,6 @@ class MW { module.exports = MW; >module.exports : Symbol(exports, Decl(MW.js, 0, 0)) >module : Symbol(module, Decl(MW.js, 0, 0)) ->exports : Symbol(exports, Decl(MW.js, 0, 0)) +>exports : Symbol(export=, Decl(MW.js, 9, 1)) >MW : Symbol(MW, Decl(MW.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols.diff b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols.diff index 9c3c8486791..7ac0d582344 100644 --- a/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeReferenceToImportOfFunctionExpression.symbols.diff @@ -6,21 +6,18 @@ module.exports = function MC() { ->module.exports : Symbol(module.exports, Decl(MC.js, 0, 0)) ->module : Symbol(export=, Decl(MC.js, 0, 27)) -->exports : Symbol(export=, Decl(MC.js, 0, 27)) +>module.exports : Symbol(exports, Decl(MC.js, 0, 0)) +>module : Symbol(module, Decl(MC.js, 0, 0)) -+>exports : Symbol(exports, Decl(MC.js, 0, 0)) + >exports : Symbol(export=, Decl(MC.js, 0, 27)) >MC : Symbol(MC, Decl(MC.js, 5, 16)) - /** @type {any} */ @@= skipped -36, +36 lines =@@ } module.exports = MW; ->module.exports : Symbol(module.exports, Decl(MW.js, 0, 0)) ->module : Symbol(export=, Decl(MW.js, 9, 1)) -->exports : Symbol(export=, Decl(MW.js, 9, 1)) +>module.exports : Symbol(exports, Decl(MW.js, 0, 0)) +>module : Symbol(module, Decl(MW.js, 0, 0)) -+>exports : Symbol(exports, Decl(MW.js, 0, 0)) + >exports : Symbol(export=, Decl(MW.js, 9, 1)) >MW : Symbol(MW, Decl(MW.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.errors.txt deleted file mode 100644 index 1c155b88b64..00000000000 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.errors.txt +++ /dev/null @@ -1,139 +0,0 @@ -a.ts(2,3): error TS2339: Property 'func1' does not exist on type '{}'. -a.ts(3,3): error TS2339: Property 'func2' does not exist on type '{}'. -a.ts(4,3): error TS2339: Property 'func3' does not exist on type '{}'. -a.ts(5,3): error TS2339: Property 'func4' does not exist on type '{}'. -a.ts(6,3): error TS2339: Property 'func5' does not exist on type '{}'. -a.ts(7,3): error TS2339: Property 'func6' does not exist on type '{}'. -a.ts(8,3): error TS2339: Property 'func7' does not exist on type '{}'. -a.ts(9,3): error TS2339: Property 'func8' does not exist on type '{}'. -a.ts(10,3): error TS2339: Property 'func9' does not exist on type '{}'. -a.ts(11,3): error TS2339: Property 'func10' does not exist on type '{}'. -a.ts(12,3): error TS2339: Property 'func11' does not exist on type '{}'. -a.ts(13,3): error TS2339: Property 'func12' does not exist on type '{}'. -a.ts(14,3): error TS2339: Property 'func13' does not exist on type '{}'. -a.ts(15,3): error TS2339: Property 'func14' does not exist on type '{}'. -a.ts(16,3): error TS2339: Property 'func15' does not exist on type '{}'. -a.ts(17,3): error TS2339: Property 'func16' does not exist on type '{}'. -a.ts(18,3): error TS2339: Property 'func17' does not exist on type '{}'. -a.ts(19,3): error TS2339: Property 'func18' does not exist on type '{}'. -a.ts(20,3): error TS2339: Property 'func19' does not exist on type '{}'. -a.ts(21,3): error TS2339: Property 'func20' does not exist on type '{}'. - - -==== a.ts (20 errors) ==== - import b = require("./b.js"); - b.func1; - ~~~~~ -!!! error TS2339: Property 'func1' does not exist on type '{}'. - b.func2; - ~~~~~ -!!! error TS2339: Property 'func2' does not exist on type '{}'. - b.func3; - ~~~~~ -!!! error TS2339: Property 'func3' does not exist on type '{}'. - b.func4; - ~~~~~ -!!! error TS2339: Property 'func4' does not exist on type '{}'. - b.func5; - ~~~~~ -!!! error TS2339: Property 'func5' does not exist on type '{}'. - b.func6; - ~~~~~ -!!! error TS2339: Property 'func6' does not exist on type '{}'. - b.func7; - ~~~~~ -!!! error TS2339: Property 'func7' does not exist on type '{}'. - b.func8; - ~~~~~ -!!! error TS2339: Property 'func8' does not exist on type '{}'. - b.func9; - ~~~~~ -!!! error TS2339: Property 'func9' does not exist on type '{}'. - b.func10; - ~~~~~~ -!!! error TS2339: Property 'func10' does not exist on type '{}'. - b.func11; - ~~~~~~ -!!! error TS2339: Property 'func11' does not exist on type '{}'. - b.func12; - ~~~~~~ -!!! error TS2339: Property 'func12' does not exist on type '{}'. - b.func13; - ~~~~~~ -!!! error TS2339: Property 'func13' does not exist on type '{}'. - b.func14; - ~~~~~~ -!!! error TS2339: Property 'func14' does not exist on type '{}'. - b.func15; - ~~~~~~ -!!! error TS2339: Property 'func15' does not exist on type '{}'. - b.func16; - ~~~~~~ -!!! error TS2339: Property 'func16' does not exist on type '{}'. - b.func17; - ~~~~~~ -!!! error TS2339: Property 'func17' does not exist on type '{}'. - b.func18; - ~~~~~~ -!!! error TS2339: Property 'func18' does not exist on type '{}'. - b.func19; - ~~~~~~ -!!! error TS2339: Property 'func19' does not exist on type '{}'. - b.func20; - ~~~~~~ -!!! error TS2339: Property 'func20' does not exist on type '{}'. - - -==== b.js (0 errors) ==== - var exportsAlias = exports; - exportsAlias.func1 = function () { }; - exports.func2 = function () { }; - - var moduleExportsAlias = module.exports; - moduleExportsAlias.func3 = function () { }; - module.exports.func4 = function () { }; - - var multipleDeclarationAlias1 = exports = module.exports; - multipleDeclarationAlias1.func5 = function () { }; - - var multipleDeclarationAlias2 = module.exports = exports; - multipleDeclarationAlias2.func6 = function () { }; - - var someOtherVariable; - var multipleDeclarationAlias3 = someOtherVariable = exports; - multipleDeclarationAlias3.func7 = function () { }; - - var multipleDeclarationAlias4 = someOtherVariable = module.exports; - multipleDeclarationAlias4.func8 = function () { }; - - var multipleDeclarationAlias5 = module.exports = exports = {}; - multipleDeclarationAlias5.func9 = function () { }; - - var multipleDeclarationAlias6 = exports = module.exports = {}; - multipleDeclarationAlias6.func10 = function () { }; - - exports = module.exports = someOtherVariable = {}; - exports.func11 = function () { }; - module.exports.func12 = function () { }; - - exports = module.exports = someOtherVariable = {}; - exports.func11 = function () { }; - module.exports.func12 = function () { }; - - exports = module.exports = {}; - exports.func13 = function () { }; - module.exports.func14 = function () { }; - - exports = module.exports = {}; - exports.func15 = function () { }; - module.exports.func16 = function () { }; - - module.exports = exports = {}; - exports.func17 = function () { }; - module.exports.func18 = function () { }; - - module.exports = {}; - exports.func19 = function () { }; - module.exports.func20 = function () { }; - - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.errors.txt.diff deleted file mode 100644 index fe5f4f689c2..00000000000 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.errors.txt.diff +++ /dev/null @@ -1,143 +0,0 @@ ---- old.moduleExportAlias.errors.txt -+++ new.moduleExportAlias.errors.txt -@@= skipped -0, +0 lines =@@ -- -+a.ts(2,3): error TS2339: Property 'func1' does not exist on type '{}'. -+a.ts(3,3): error TS2339: Property 'func2' does not exist on type '{}'. -+a.ts(4,3): error TS2339: Property 'func3' does not exist on type '{}'. -+a.ts(5,3): error TS2339: Property 'func4' does not exist on type '{}'. -+a.ts(6,3): error TS2339: Property 'func5' does not exist on type '{}'. -+a.ts(7,3): error TS2339: Property 'func6' does not exist on type '{}'. -+a.ts(8,3): error TS2339: Property 'func7' does not exist on type '{}'. -+a.ts(9,3): error TS2339: Property 'func8' does not exist on type '{}'. -+a.ts(10,3): error TS2339: Property 'func9' does not exist on type '{}'. -+a.ts(11,3): error TS2339: Property 'func10' does not exist on type '{}'. -+a.ts(12,3): error TS2339: Property 'func11' does not exist on type '{}'. -+a.ts(13,3): error TS2339: Property 'func12' does not exist on type '{}'. -+a.ts(14,3): error TS2339: Property 'func13' does not exist on type '{}'. -+a.ts(15,3): error TS2339: Property 'func14' does not exist on type '{}'. -+a.ts(16,3): error TS2339: Property 'func15' does not exist on type '{}'. -+a.ts(17,3): error TS2339: Property 'func16' does not exist on type '{}'. -+a.ts(18,3): error TS2339: Property 'func17' does not exist on type '{}'. -+a.ts(19,3): error TS2339: Property 'func18' does not exist on type '{}'. -+a.ts(20,3): error TS2339: Property 'func19' does not exist on type '{}'. -+a.ts(21,3): error TS2339: Property 'func20' does not exist on type '{}'. -+ -+ -+==== a.ts (20 errors) ==== -+ import b = require("./b.js"); -+ b.func1; -+ ~~~~~ -+!!! error TS2339: Property 'func1' does not exist on type '{}'. -+ b.func2; -+ ~~~~~ -+!!! error TS2339: Property 'func2' does not exist on type '{}'. -+ b.func3; -+ ~~~~~ -+!!! error TS2339: Property 'func3' does not exist on type '{}'. -+ b.func4; -+ ~~~~~ -+!!! error TS2339: Property 'func4' does not exist on type '{}'. -+ b.func5; -+ ~~~~~ -+!!! error TS2339: Property 'func5' does not exist on type '{}'. -+ b.func6; -+ ~~~~~ -+!!! error TS2339: Property 'func6' does not exist on type '{}'. -+ b.func7; -+ ~~~~~ -+!!! error TS2339: Property 'func7' does not exist on type '{}'. -+ b.func8; -+ ~~~~~ -+!!! error TS2339: Property 'func8' does not exist on type '{}'. -+ b.func9; -+ ~~~~~ -+!!! error TS2339: Property 'func9' does not exist on type '{}'. -+ b.func10; -+ ~~~~~~ -+!!! error TS2339: Property 'func10' does not exist on type '{}'. -+ b.func11; -+ ~~~~~~ -+!!! error TS2339: Property 'func11' does not exist on type '{}'. -+ b.func12; -+ ~~~~~~ -+!!! error TS2339: Property 'func12' does not exist on type '{}'. -+ b.func13; -+ ~~~~~~ -+!!! error TS2339: Property 'func13' does not exist on type '{}'. -+ b.func14; -+ ~~~~~~ -+!!! error TS2339: Property 'func14' does not exist on type '{}'. -+ b.func15; -+ ~~~~~~ -+!!! error TS2339: Property 'func15' does not exist on type '{}'. -+ b.func16; -+ ~~~~~~ -+!!! error TS2339: Property 'func16' does not exist on type '{}'. -+ b.func17; -+ ~~~~~~ -+!!! error TS2339: Property 'func17' does not exist on type '{}'. -+ b.func18; -+ ~~~~~~ -+!!! error TS2339: Property 'func18' does not exist on type '{}'. -+ b.func19; -+ ~~~~~~ -+!!! error TS2339: Property 'func19' does not exist on type '{}'. -+ b.func20; -+ ~~~~~~ -+!!! error TS2339: Property 'func20' does not exist on type '{}'. -+ -+ -+==== b.js (0 errors) ==== -+ var exportsAlias = exports; -+ exportsAlias.func1 = function () { }; -+ exports.func2 = function () { }; -+ -+ var moduleExportsAlias = module.exports; -+ moduleExportsAlias.func3 = function () { }; -+ module.exports.func4 = function () { }; -+ -+ var multipleDeclarationAlias1 = exports = module.exports; -+ multipleDeclarationAlias1.func5 = function () { }; -+ -+ var multipleDeclarationAlias2 = module.exports = exports; -+ multipleDeclarationAlias2.func6 = function () { }; -+ -+ var someOtherVariable; -+ var multipleDeclarationAlias3 = someOtherVariable = exports; -+ multipleDeclarationAlias3.func7 = function () { }; -+ -+ var multipleDeclarationAlias4 = someOtherVariable = module.exports; -+ multipleDeclarationAlias4.func8 = function () { }; -+ -+ var multipleDeclarationAlias5 = module.exports = exports = {}; -+ multipleDeclarationAlias5.func9 = function () { }; -+ -+ var multipleDeclarationAlias6 = exports = module.exports = {}; -+ multipleDeclarationAlias6.func10 = function () { }; -+ -+ exports = module.exports = someOtherVariable = {}; -+ exports.func11 = function () { }; -+ module.exports.func12 = function () { }; -+ -+ exports = module.exports = someOtherVariable = {}; -+ exports.func11 = function () { }; -+ module.exports.func12 = function () { }; -+ -+ exports = module.exports = {}; -+ exports.func13 = function () { }; -+ module.exports.func14 = function () { }; -+ -+ exports = module.exports = {}; -+ exports.func15 = function () { }; -+ module.exports.func16 = function () { }; -+ -+ module.exports = exports = {}; -+ exports.func17 = function () { }; -+ module.exports.func18 = function () { }; -+ -+ module.exports = {}; -+ exports.func19 = function () { }; -+ module.exports.func20 = function () { }; -+ -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols index f6039fc292b..4fa1f23a74d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols @@ -104,7 +104,7 @@ var multipleDeclarationAlias2 = module.exports = exports; >multipleDeclarationAlias2 : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 3)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >exports : Symbol("./b", Decl(b.js, 0, 0)) multipleDeclarationAlias2.func6 = function () { }; @@ -135,7 +135,7 @@ var multipleDeclarationAlias5 = module.exports = exports = {}; >multipleDeclarationAlias5 : Symbol(multipleDeclarationAlias5, Decl(b.js, 21, 3)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >exports : Symbol("./b", Decl(b.js, 0, 0)) multipleDeclarationAlias5.func9 = function () { }; @@ -146,7 +146,7 @@ var multipleDeclarationAlias6 = exports = module.exports = {}; >exports : Symbol("./b", Decl(b.js, 0, 0)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) multipleDeclarationAlias6.func10 = function () { }; >multipleDeclarationAlias6 : Symbol(multipleDeclarationAlias6, Decl(b.js, 24, 3)) @@ -155,7 +155,7 @@ exports = module.exports = someOtherVariable = {}; >exports : Symbol("./b", Decl(b.js, 0, 0)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >someOtherVariable : Symbol(someOtherVariable, Decl(b.js, 14, 3)) exports.func11 = function () { }; @@ -170,7 +170,7 @@ exports = module.exports = someOtherVariable = {}; >exports : Symbol("./b", Decl(b.js, 0, 0)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >someOtherVariable : Symbol(someOtherVariable, Decl(b.js, 14, 3)) exports.func11 = function () { }; @@ -185,7 +185,7 @@ exports = module.exports = {}; >exports : Symbol("./b", Decl(b.js, 0, 0)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) exports.func13 = function () { }; >exports : Symbol("./b", Decl(b.js, 0, 0)) @@ -199,7 +199,7 @@ exports = module.exports = {}; >exports : Symbol("./b", Decl(b.js, 0, 0)) >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) exports.func15 = function () { }; >exports : Symbol("./b", Decl(b.js, 0, 0)) @@ -212,7 +212,7 @@ module.exports.func16 = function () { }; module.exports = exports = {}; >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >exports : Symbol("./b", Decl(b.js, 0, 0)) exports.func17 = function () { }; @@ -226,7 +226,7 @@ module.exports.func18 = function () { }; module.exports = {}; >module.exports : Symbol(exports, Decl(b.js, 0, 0)) >module : Symbol(module, Decl(b.js, 0, 0)) ->exports : Symbol(exports, Decl(b.js, 0, 0)) +>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) exports.func19 = function () { }; >exports : Symbol("./b", Decl(b.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols.diff index f99185b5eeb..88c9951bbae 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.symbols.diff @@ -165,7 +165,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >exports : Symbol("./b", Decl(b.js, 0, 0)) multipleDeclarationAlias2.func6 = function () { }; @@ -205,7 +205,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >exports : Symbol("./b", Decl(b.js, 0, 0)) multipleDeclarationAlias5.func9 = function () { }; @@ -221,7 +221,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) multipleDeclarationAlias6.func10 = function () { }; ->multipleDeclarationAlias6.func10 : Symbol(func10, Decl(b.js, 24, 62)) @@ -270,7 +270,7 @@ +>exports : Symbol("./b", Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) +>someOtherVariable : Symbol(someOtherVariable, Decl(b.js, 14, 3)) + +exports.func11 = function () { }; @@ -285,7 +285,7 @@ +>exports : Symbol("./b", Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) +>someOtherVariable : Symbol(someOtherVariable, Decl(b.js, 14, 3)) + +exports.func11 = function () { }; @@ -303,7 +303,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) exports.func13 = function () { }; ->exports.func13 : Symbol(func13, Decl(b.js, 35, 30)) @@ -328,7 +328,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) exports.func15 = function () { }; ->exports.func15 : Symbol(func15, Decl(b.js, 39, 30)) @@ -352,7 +352,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) >exports : Symbol("./b", Decl(b.js, 0, 0)) exports.func17 = function () { }; @@ -377,7 +377,7 @@ ->exports : Symbol(module.exports, Decl(b.js, 0, 0)) +>module.exports : Symbol(exports, Decl(b.js, 0, 0)) +>module : Symbol(module, Decl(b.js, 0, 0)) -+>exports : Symbol(exports, Decl(b.js, 0, 0)) ++>exports : Symbol(multipleDeclarationAlias2, Decl(b.js, 11, 31), Decl(b.js, 21, 31), Decl(b.js, 24, 41), Decl(b.js, 27, 9), Decl(b.js, 31, 9) ... and 4 more) exports.func19 = function () { }; ->exports.func19 : Symbol(func19, Decl(b.js, 47, 20)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types index 1865ca9fdaf..bc9e72ec9ea 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types @@ -2,177 +2,177 @@ === a.ts === import b = require("./b.js"); ->b : {} +>b : any b.func1; >b.func1 : any ->b : {} +>b : any >func1 : any b.func2; >b.func2 : any ->b : {} +>b : any >func2 : any b.func3; >b.func3 : any ->b : {} +>b : any >func3 : any b.func4; >b.func4 : any ->b : {} +>b : any >func4 : any b.func5; >b.func5 : any ->b : {} +>b : any >func5 : any b.func6; >b.func6 : any ->b : {} +>b : any >func6 : any b.func7; >b.func7 : any ->b : {} +>b : any >func7 : any b.func8; >b.func8 : any ->b : {} +>b : any >func8 : any b.func9; >b.func9 : any ->b : {} +>b : any >func9 : any b.func10; >b.func10 : any ->b : {} +>b : any >func10 : any b.func11; >b.func11 : any ->b : {} +>b : any >func11 : any b.func12; >b.func12 : any ->b : {} +>b : any >func12 : any b.func13; >b.func13 : any ->b : {} +>b : any >func13 : any b.func14; >b.func14 : any ->b : {} +>b : any >func14 : any b.func15; >b.func15 : any ->b : {} +>b : any >func15 : any b.func16; >b.func16 : any ->b : {} +>b : any >func16 : any b.func17; >b.func17 : any ->b : {} +>b : any >func17 : any b.func18; >b.func18 : any ->b : {} +>b : any >func18 : any b.func19; >b.func19 : any ->b : {} +>b : any >func19 : any b.func20; >b.func20 : any ->b : {} +>b : any >func20 : any === b.js === var exportsAlias = exports; ->exportsAlias : typeof import("./b") ->exports : typeof import("./b") +>exportsAlias : any +>exports : any exportsAlias.func1 = function () { }; >exportsAlias.func1 = function () { } : () => void >exportsAlias.func1 : any ->exportsAlias : typeof import("./b") +>exportsAlias : any >func1 : any >function () { } : () => void exports.func2 = function () { }; >exports.func2 = function () { } : () => void >exports.func2 : any ->exports : typeof import("./b") +>exports : any >func2 : any >function () { } : () => void var moduleExportsAlias = module.exports; ->moduleExportsAlias : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>moduleExportsAlias : any +>module.exports : any +>module : { exports: any; } +>exports : any moduleExportsAlias.func3 = function () { }; >moduleExportsAlias.func3 = function () { } : () => void >moduleExportsAlias.func3 : any ->moduleExportsAlias : {} +>moduleExportsAlias : any >func3 : any >function () { } : () => void module.exports.func4 = function () { }; >module.exports.func4 = function () { } : () => void >module.exports.func4 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func4 : any >function () { } : () => void var multipleDeclarationAlias1 = exports = module.exports; ->multipleDeclarationAlias1 : {} ->exports = module.exports : {} +>multipleDeclarationAlias1 : any +>exports = module.exports : any +>exports : any +>module.exports : any +>module : { exports: any; } >exports : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} multipleDeclarationAlias1.func5 = function () { }; >multipleDeclarationAlias1.func5 = function () { } : () => void >multipleDeclarationAlias1.func5 : any ->multipleDeclarationAlias1 : {} +>multipleDeclarationAlias1 : any >func5 : any >function () { } : () => void var multipleDeclarationAlias2 = module.exports = exports; ->multipleDeclarationAlias2 : typeof import("./b") ->module.exports = exports : typeof import("./b") ->module.exports : {} ->module : { exports: {}; } ->exports : {} ->exports : typeof import("./b") +>multipleDeclarationAlias2 : any +>module.exports = exports : any +>module.exports : any +>module : { exports: any; } +>exports : any +>exports : any multipleDeclarationAlias2.func6 = function () { }; >multipleDeclarationAlias2.func6 = function () { } : () => void >multipleDeclarationAlias2.func6 : any ->multipleDeclarationAlias2 : typeof import("./b") +>multipleDeclarationAlias2 : any >func6 : any >function () { } : () => void @@ -180,46 +180,46 @@ var someOtherVariable; >someOtherVariable : any var multipleDeclarationAlias3 = someOtherVariable = exports; ->multipleDeclarationAlias3 : typeof import("./b") ->someOtherVariable = exports : typeof import("./b") +>multipleDeclarationAlias3 : any +>someOtherVariable = exports : any >someOtherVariable : any ->exports : typeof import("./b") +>exports : any multipleDeclarationAlias3.func7 = function () { }; >multipleDeclarationAlias3.func7 = function () { } : () => void >multipleDeclarationAlias3.func7 : any ->multipleDeclarationAlias3 : typeof import("./b") +>multipleDeclarationAlias3 : any >func7 : any >function () { } : () => void var multipleDeclarationAlias4 = someOtherVariable = module.exports; ->multipleDeclarationAlias4 : {} ->someOtherVariable = module.exports : {} +>multipleDeclarationAlias4 : any +>someOtherVariable = module.exports : any >someOtherVariable : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any multipleDeclarationAlias4.func8 = function () { }; >multipleDeclarationAlias4.func8 = function () { } : () => void >multipleDeclarationAlias4.func8 : any ->multipleDeclarationAlias4 : {} +>multipleDeclarationAlias4 : any >func8 : any >function () { } : () => void var multipleDeclarationAlias5 = module.exports = exports = {}; >multipleDeclarationAlias5 : {} >module.exports = exports = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >exports = {} : {} >exports : any >{} : {} multipleDeclarationAlias5.func9 = function () { }; >multipleDeclarationAlias5.func9 = function () { } : () => void ->multipleDeclarationAlias5.func9 : any +>multipleDeclarationAlias5.func9 : error >multipleDeclarationAlias5 : {} >func9 : any >function () { } : () => void @@ -229,14 +229,14 @@ var multipleDeclarationAlias6 = exports = module.exports = {}; >exports = module.exports = {} : {} >exports : any >module.exports = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >{} : {} multipleDeclarationAlias6.func10 = function () { }; >multipleDeclarationAlias6.func10 = function () { } : () => void ->multipleDeclarationAlias6.func10 : any +>multipleDeclarationAlias6.func10 : error >multipleDeclarationAlias6 : {} >func10 : any >function () { } : () => void @@ -245,9 +245,9 @@ exports = module.exports = someOtherVariable = {}; >exports = module.exports = someOtherVariable = {} : {} >exports : any >module.exports = someOtherVariable = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >someOtherVariable = {} : {} >someOtherVariable : any >{} : {} @@ -255,16 +255,16 @@ exports = module.exports = someOtherVariable = {}; exports.func11 = function () { }; >exports.func11 = function () { } : () => void >exports.func11 : any ->exports : typeof import("./b") +>exports : any >func11 : any >function () { } : () => void module.exports.func12 = function () { }; >module.exports.func12 = function () { } : () => void >module.exports.func12 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func12 : any >function () { } : () => void @@ -272,9 +272,9 @@ exports = module.exports = someOtherVariable = {}; >exports = module.exports = someOtherVariable = {} : {} >exports : any >module.exports = someOtherVariable = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >someOtherVariable = {} : {} >someOtherVariable : any >{} : {} @@ -282,16 +282,16 @@ exports = module.exports = someOtherVariable = {}; exports.func11 = function () { }; >exports.func11 = function () { } : () => void >exports.func11 : any ->exports : typeof import("./b") +>exports : any >func11 : any >function () { } : () => void module.exports.func12 = function () { }; >module.exports.func12 = function () { } : () => void >module.exports.func12 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func12 : any >function () { } : () => void @@ -299,24 +299,24 @@ exports = module.exports = {}; >exports = module.exports = {} : {} >exports : any >module.exports = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >{} : {} exports.func13 = function () { }; >exports.func13 = function () { } : () => void >exports.func13 : any ->exports : typeof import("./b") +>exports : any >func13 : any >function () { } : () => void module.exports.func14 = function () { }; >module.exports.func14 = function () { } : () => void >module.exports.func14 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func14 : any >function () { } : () => void @@ -324,32 +324,32 @@ exports = module.exports = {}; >exports = module.exports = {} : {} >exports : any >module.exports = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >{} : {} exports.func15 = function () { }; >exports.func15 = function () { } : () => void >exports.func15 : any ->exports : typeof import("./b") +>exports : any >func15 : any >function () { } : () => void module.exports.func16 = function () { }; >module.exports.func16 = function () { } : () => void >module.exports.func16 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func16 : any >function () { } : () => void module.exports = exports = {}; >module.exports = exports = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >exports = {} : {} >exports : any >{} : {} @@ -357,39 +357,39 @@ module.exports = exports = {}; exports.func17 = function () { }; >exports.func17 = function () { } : () => void >exports.func17 : any ->exports : typeof import("./b") +>exports : any >func17 : any >function () { } : () => void module.exports.func18 = function () { }; >module.exports.func18 = function () { } : () => void >module.exports.func18 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func18 : any >function () { } : () => void module.exports = {}; >module.exports = {} : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >{} : {} exports.func19 = function () { }; >exports.func19 = function () { } : () => void >exports.func19 : any ->exports : typeof import("./b") +>exports : any >func19 : any >function () { } : () => void module.exports.func20 = function () { }; >module.exports.func20 = function () { } : () => void >module.exports.func20 : any ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : { exports: any; } +>exports : any >func20 : any >function () { } : () => void diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types.diff index 0d1411b8456..e1c4d454e71 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias.types.diff @@ -5,14 +5,14 @@ === a.ts === import b = require("./b.js"); ->b : typeof b -+>b : {} ++>b : any b.func1; ->b.func1 : () => void ->b : typeof b ->func1 : () => void +>b.func1 : any -+>b : {} ++>b : any +>func1 : any b.func2; @@ -20,7 +20,7 @@ ->b : typeof b ->func2 : () => void +>b.func2 : any -+>b : {} ++>b : any +>func2 : any b.func3; @@ -28,7 +28,7 @@ ->b : typeof b ->func3 : () => void +>b.func3 : any -+>b : {} ++>b : any +>func3 : any b.func4; @@ -36,7 +36,7 @@ ->b : typeof b ->func4 : () => void +>b.func4 : any -+>b : {} ++>b : any +>func4 : any b.func5; @@ -44,7 +44,7 @@ ->b : typeof b ->func5 : () => void +>b.func5 : any -+>b : {} ++>b : any +>func5 : any b.func6; @@ -52,7 +52,7 @@ ->b : typeof b ->func6 : () => void +>b.func6 : any -+>b : {} ++>b : any +>func6 : any b.func7; @@ -60,7 +60,7 @@ ->b : typeof b ->func7 : () => void +>b.func7 : any -+>b : {} ++>b : any +>func7 : any b.func8; @@ -68,7 +68,7 @@ ->b : typeof b ->func8 : () => void +>b.func8 : any -+>b : {} ++>b : any +>func8 : any b.func9; @@ -76,7 +76,7 @@ ->b : typeof b ->func9 : () => void +>b.func9 : any -+>b : {} ++>b : any +>func9 : any b.func10; @@ -84,7 +84,7 @@ ->b : typeof b ->func10 : () => void +>b.func10 : any -+>b : {} ++>b : any +>func10 : any b.func11; @@ -92,7 +92,7 @@ ->b : typeof b ->func11 : () => void +>b.func11 : any -+>b : {} ++>b : any +>func11 : any b.func12; @@ -100,7 +100,7 @@ ->b : typeof b ->func12 : () => void +>b.func12 : any -+>b : {} ++>b : any +>func12 : any b.func13; @@ -108,7 +108,7 @@ ->b : typeof b ->func13 : () => void +>b.func13 : any -+>b : {} ++>b : any +>func13 : any b.func14; @@ -116,7 +116,7 @@ ->b : typeof b ->func14 : () => void +>b.func14 : any -+>b : {} ++>b : any +>func14 : any b.func15; @@ -124,7 +124,7 @@ ->b : typeof b ->func15 : () => void +>b.func15 : any -+>b : {} ++>b : any +>func15 : any b.func16; @@ -132,7 +132,7 @@ ->b : typeof b ->func16 : () => void +>b.func16 : any -+>b : {} ++>b : any +>func16 : any b.func17; @@ -140,7 +140,7 @@ ->b : typeof b ->func17 : () => void +>b.func17 : any -+>b : {} ++>b : any +>func17 : any b.func18; @@ -148,7 +148,7 @@ ->b : typeof b ->func18 : () => void +>b.func18 : any -+>b : {} ++>b : any +>func18 : any b.func19; @@ -156,7 +156,7 @@ ->b : typeof b ->func19 : () => void +>b.func19 : any -+>b : {} ++>b : any +>func19 : any b.func20; @@ -164,28 +164,34 @@ ->b : typeof b ->func20 : () => void +>b.func20 : any -+>b : {} ++>b : any +>func20 : any === b.js === -@@= skipped -110, +110 lines =@@ + var exportsAlias = exports; +->exportsAlias : typeof import("./b") +->exports : typeof import("./b") ++>exportsAlias : any ++>exports : any exportsAlias.func1 = function () { }; >exportsAlias.func1 = function () { } : () => void ->exportsAlias.func1 : () => void -+>exportsAlias.func1 : any - >exportsAlias : typeof import("./b") +->exportsAlias : typeof import("./b") ->func1 : () => void ++>exportsAlias.func1 : any ++>exportsAlias : any +>func1 : any >function () { } : () => void exports.func2 = function () { }; >exports.func2 = function () { } : () => void ->exports.func2 : () => void -+>exports.func2 : any - >exports : typeof import("./b") +->exports : typeof import("./b") ->func2 : () => void ++>exports.func2 : any ++>exports : any +>func2 : any >function () { } : () => void @@ -194,10 +200,10 @@ ->module.exports : typeof module.exports ->module : { exports: typeof module.exports; } ->exports : typeof module.exports -+>moduleExportsAlias : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>moduleExportsAlias : any ++>module.exports : any ++>module : { exports: any; } ++>exports : any moduleExportsAlias.func3 = function () { }; >moduleExportsAlias.func3 = function () { } : () => void @@ -205,7 +211,7 @@ ->moduleExportsAlias : typeof module.exports ->func3 : () => void +>moduleExportsAlias.func3 : any -+>moduleExportsAlias : {} ++>moduleExportsAlias : any +>func3 : any >function () { } : () => void @@ -217,9 +223,9 @@ ->exports : typeof module.exports ->func4 : () => void +>module.exports.func4 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func4 : any >function () { } : () => void @@ -230,12 +236,12 @@ ->module.exports : typeof module.exports ->module : { exports: typeof module.exports; } ->exports : typeof module.exports -+>multipleDeclarationAlias1 : {} -+>exports = module.exports : {} ++>multipleDeclarationAlias1 : any ++>exports = module.exports : any ++>exports : any ++>module.exports : any ++>module : { exports: any; } +>exports : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} multipleDeclarationAlias1.func5 = function () { }; >multipleDeclarationAlias1.func5 = function () { } : () => void @@ -243,7 +249,7 @@ ->multipleDeclarationAlias1 : typeof module.exports ->func5 : () => void +>multipleDeclarationAlias1.func5 : any -+>multipleDeclarationAlias1 : {} ++>multipleDeclarationAlias1 : any +>func5 : any >function () { } : () => void @@ -253,12 +259,13 @@ ->module.exports : typeof module.exports ->module : { exports: typeof module.exports; } ->exports : typeof module.exports -+>multipleDeclarationAlias2 : typeof import("./b") -+>module.exports = exports : typeof import("./b") -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} - >exports : typeof import("./b") +->exports : typeof import("./b") ++>multipleDeclarationAlias2 : any ++>module.exports = exports : any ++>module.exports : any ++>module : { exports: any; } ++>exports : any ++>exports : any multipleDeclarationAlias2.func6 = function () { }; >multipleDeclarationAlias2.func6 = function () { } : () => void @@ -266,34 +273,44 @@ ->multipleDeclarationAlias2 : typeof module.exports ->func6 : () => void +>multipleDeclarationAlias2.func6 : any -+>multipleDeclarationAlias2 : typeof import("./b") ++>multipleDeclarationAlias2 : any +>func6 : any >function () { } : () => void var someOtherVariable; -@@= skipped -75, +75 lines =@@ + >someOtherVariable : any + + var multipleDeclarationAlias3 = someOtherVariable = exports; +->multipleDeclarationAlias3 : typeof import("./b") +->someOtherVariable = exports : typeof import("./b") ++>multipleDeclarationAlias3 : any ++>someOtherVariable = exports : any + >someOtherVariable : any +->exports : typeof import("./b") ++>exports : any multipleDeclarationAlias3.func7 = function () { }; >multipleDeclarationAlias3.func7 = function () { } : () => void ->multipleDeclarationAlias3.func7 : () => void -+>multipleDeclarationAlias3.func7 : any - >multipleDeclarationAlias3 : typeof import("./b") +->multipleDeclarationAlias3 : typeof import("./b") ->func7 : () => void ++>multipleDeclarationAlias3.func7 : any ++>multipleDeclarationAlias3 : any +>func7 : any >function () { } : () => void var multipleDeclarationAlias4 = someOtherVariable = module.exports; ->multipleDeclarationAlias4 : typeof module.exports ->someOtherVariable = module.exports : typeof module.exports -+>multipleDeclarationAlias4 : {} -+>someOtherVariable = module.exports : {} ++>multipleDeclarationAlias4 : any ++>someOtherVariable = module.exports : any >someOtherVariable : any ->module.exports : typeof module.exports ->module : { exports: typeof module.exports; } ->exports : typeof module.exports -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any multipleDeclarationAlias4.func8 = function () { }; >multipleDeclarationAlias4.func8 = function () { } : () => void @@ -301,7 +318,7 @@ ->multipleDeclarationAlias4 : typeof module.exports ->func8 : () => void +>multipleDeclarationAlias4.func8 : any -+>multipleDeclarationAlias4 : {} ++>multipleDeclarationAlias4 : any +>func8 : any >function () { } : () => void @@ -313,9 +330,9 @@ ->exports : typeof module.exports +>multipleDeclarationAlias5 : {} +>module.exports = exports = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any >exports = {} : {} ->exports : typeof import("./b") +>exports : any @@ -326,7 +343,7 @@ ->multipleDeclarationAlias5.func9 : () => void ->multipleDeclarationAlias5 : typeof module.exports ->func9 : () => void -+>multipleDeclarationAlias5.func9 : any ++>multipleDeclarationAlias5.func9 : error +>multipleDeclarationAlias5 : {} +>func9 : any >function () { } : () => void @@ -343,9 +360,9 @@ +>exports = module.exports = {} : {} +>exports : any +>module.exports = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any >{} : {} multipleDeclarationAlias6.func10 = function () { }; @@ -407,7 +424,7 @@ ->module : { exports: typeof module.exports; } ->exports : typeof module.exports ->func12 : () => void -+>multipleDeclarationAlias6.func10 : any ++>multipleDeclarationAlias6.func10 : error +>multipleDeclarationAlias6 : {} +>func10 : any +>function () { } : () => void @@ -416,9 +433,9 @@ +>exports = module.exports = someOtherVariable = {} : {} +>exports : any +>module.exports = someOtherVariable = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>someOtherVariable = {} : {} +>someOtherVariable : any +>{} : {} @@ -426,16 +443,16 @@ +exports.func11 = function () { }; +>exports.func11 = function () { } : () => void +>exports.func11 : any -+>exports : typeof import("./b") ++>exports : any +>func11 : any +>function () { } : () => void + +module.exports.func12 = function () { }; +>module.exports.func12 = function () { } : () => void +>module.exports.func12 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func12 : any +>function () { } : () => void + @@ -443,9 +460,9 @@ +>exports = module.exports = someOtherVariable = {} : {} +>exports : any +>module.exports = someOtherVariable = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>someOtherVariable = {} : {} +>someOtherVariable : any +>{} : {} @@ -453,16 +470,16 @@ +exports.func11 = function () { }; +>exports.func11 = function () { } : () => void +>exports.func11 : any -+>exports : typeof import("./b") ++>exports : any +>func11 : any +>function () { } : () => void + +module.exports.func12 = function () { }; +>module.exports.func12 = function () { } : () => void +>module.exports.func12 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func12 : any >function () { } : () => void @@ -476,17 +493,18 @@ +>exports = module.exports = {} : {} +>exports : any +>module.exports = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any >{} : {} exports.func13 = function () { }; >exports.func13 = function () { } : () => void ->exports.func13 : () => void -+>exports.func13 : any - >exports : typeof import("./b") +->exports : typeof import("./b") ->func13 : () => void ++>exports.func13 : any ++>exports : any +>func13 : any >function () { } : () => void @@ -498,9 +516,9 @@ ->exports : typeof module.exports ->func14 : () => void +>module.exports.func14 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func14 : any >function () { } : () => void @@ -514,17 +532,18 @@ +>exports = module.exports = {} : {} +>exports : any +>module.exports = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any >{} : {} exports.func15 = function () { }; >exports.func15 = function () { } : () => void ->exports.func15 : () => void -+>exports.func15 : any - >exports : typeof import("./b") +->exports : typeof import("./b") ->func15 : () => void ++>exports.func15 : any ++>exports : any +>func15 : any >function () { } : () => void @@ -536,9 +555,9 @@ ->exports : typeof module.exports ->func16 : () => void +>module.exports.func16 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func16 : any >function () { } : () => void @@ -548,9 +567,9 @@ ->module : { exports: typeof module.exports; } ->exports : typeof module.exports +>module.exports = exports = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any >exports = {} : {} ->exports : typeof import("./b") +>exports : any @@ -559,9 +578,10 @@ exports.func17 = function () { }; >exports.func17 = function () { } : () => void ->exports.func17 : () => void -+>exports.func17 : any - >exports : typeof import("./b") +->exports : typeof import("./b") ->func17 : () => void ++>exports.func17 : any ++>exports : any +>func17 : any >function () { } : () => void @@ -573,9 +593,9 @@ ->exports : typeof module.exports ->func18 : () => void +>module.exports.func18 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func18 : any >function () { } : () => void @@ -585,17 +605,18 @@ ->module : { exports: typeof module.exports; } ->exports : typeof module.exports +>module.exports = {} : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any >{} : {} exports.func19 = function () { }; >exports.func19 = function () { } : () => void ->exports.func19 : () => void -+>exports.func19 : any - >exports : typeof import("./b") +->exports : typeof import("./b") ->func19 : () => void ++>exports.func19 : any ++>exports : any +>func19 : any >function () { } : () => void @@ -607,9 +628,9 @@ ->exports : typeof module.exports ->func20 : () => void +>module.exports.func20 : any -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} ++>module.exports : any ++>module : { exports: any; } ++>exports : any +>func20 : any >function () { } : () => void diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt index 5722991ad94..d039a38caba 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt @@ -1,17 +1,15 @@ -index.js(4,13): error TS2351: This expression is not constructable. - Type 'typeof import("semver")' has no construct signatures. -semver.js(2,1): error TS2631: Cannot assign to '"semver"' because it is a namespace. -semver.js(2,11): error TS2322: Type '() => void' is not assignable to type 'typeof import("semver")'. +index.js(3,13): error TS2339: Property 'f' does not exist on type '() => void'. +semver.js(2,11): error TS2309: An export assignment cannot be used in a module with other exported elements. +semver.js(3,9): error TS2339: Property 'f' does not exist on type '() => void'. ==== index.js (1 errors) ==== /// const C = require("./semver") var two = C.f(1) - var c = new C ~ -!!! error TS2351: This expression is not constructable. -!!! error TS2351: Type 'typeof import("semver")' has no construct signatures. +!!! error TS2339: Property 'f' does not exist on type '() => void'. + var c = new C ==== node.d.ts (0 errors) ==== declare function require(name: string): any; @@ -20,11 +18,11 @@ semver.js(2,11): error TS2322: Type '() => void' is not assignable to type 'type ==== semver.js (2 errors) ==== /// exports = module.exports = C - ~~~~~~~ -!!! error TS2631: Cannot assign to '"semver"' because it is a namespace. - ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => void' is not assignable to type 'typeof import("semver")'. + ~~~~~~~~~~~~~~~~~~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. exports.f = n => n + 1 + ~ +!!! error TS2339: Property 'f' does not exist on type '() => void'. function C() { this.p = 1 } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt.diff index 9153651bd28..3e5cb004706 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.errors.txt.diff @@ -2,20 +2,18 @@ +++ new.moduleExportAlias2.errors.txt @@= skipped -0, +0 lines =@@ - -+index.js(4,13): error TS2351: This expression is not constructable. -+ Type 'typeof import("semver")' has no construct signatures. -+semver.js(2,1): error TS2631: Cannot assign to '"semver"' because it is a namespace. -+semver.js(2,11): error TS2322: Type '() => void' is not assignable to type 'typeof import("semver")'. ++index.js(3,13): error TS2339: Property 'f' does not exist on type '() => void'. ++semver.js(2,11): error TS2309: An export assignment cannot be used in a module with other exported elements. ++semver.js(3,9): error TS2339: Property 'f' does not exist on type '() => void'. + + +==== index.js (1 errors) ==== + /// + const C = require("./semver") + var two = C.f(1) -+ var c = new C + ~ -+!!! error TS2351: This expression is not constructable. -+!!! error TS2351: Type 'typeof import("semver")' has no construct signatures. ++!!! error TS2339: Property 'f' does not exist on type '() => void'. ++ var c = new C + +==== node.d.ts (0 errors) ==== + declare function require(name: string): any; @@ -24,11 +22,11 @@ +==== semver.js (2 errors) ==== + /// + exports = module.exports = C -+ ~~~~~~~ -+!!! error TS2631: Cannot assign to '"semver"' because it is a namespace. -+ ~~~~~~~~~~~~~~ -+!!! error TS2322: Type '() => void' is not assignable to type 'typeof import("semver")'. ++ ~~~~~~~~~~~~~~~~~~ ++!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + exports.f = n => n + 1 ++ ~ ++!!! error TS2339: Property 'f' does not exist on type '() => void'. + function C() { + this.p = 1 + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols index 5cc5dd31267..49a76fe0208 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols @@ -5,13 +5,11 @@ const C = require("./semver") >C : Symbol(C, Decl(index.js, 1, 5)) >require : Symbol(require, Decl(node.d.ts, 0, 0)) ->"./semver" : Symbol(C, Decl(semver.js, 0, 0)) +>"./semver" : Symbol("./semver", Decl(semver.js, 0, 0)) var two = C.f(1) >two : Symbol(two, Decl(index.js, 2, 3)) ->C.f : Symbol(C.f, Decl(semver.js, 1, 28)) >C : Symbol(C, Decl(index.js, 1, 5)) ->f : Symbol(C.f, Decl(semver.js, 1, 28)) var c = new C >c : Symbol(c, Decl(index.js, 3, 3)) @@ -35,13 +33,11 @@ exports = module.exports = C >exports : Symbol("./semver", Decl(semver.js, 0, 0)) >module.exports : Symbol(exports, Decl(semver.js, 0, 0)) >module : Symbol(module, Decl(semver.js, 0, 0)) ->exports : Symbol(exports, Decl(semver.js, 0, 0)) +>exports : Symbol(export=, Decl(semver.js, 1, 9)) >C : Symbol(C, Decl(semver.js, 2, 22)) exports.f = n => n + 1 ->exports.f : Symbol(f, Decl(semver.js, 1, 28)) >exports : Symbol("./semver", Decl(semver.js, 0, 0)) ->f : Symbol(f, Decl(semver.js, 1, 28)) >n : Symbol(n, Decl(semver.js, 2, 11)) >n : Symbol(n, Decl(semver.js, 2, 11)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols.diff index 5653b953b30..20b4096440d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.symbols.diff @@ -1,34 +1,35 @@ --- old.moduleExportAlias2.symbols +++ new.moduleExportAlias2.symbols -@@= skipped -4, +4 lines =@@ - const C = require("./semver") - >C : Symbol(C, Decl(index.js, 1, 5)) - >require : Symbol(require, Decl(node.d.ts, 0, 0)) -->"./semver" : Symbol("./semver", Decl(semver.js, 0, 0)) -+>"./semver" : Symbol(C, Decl(semver.js, 0, 0)) +@@= skipped -8, +8 lines =@@ var two = C.f(1) >two : Symbol(two, Decl(index.js, 2, 3)) -@@= skipped -28, +28 lines =@@ +->C.f : Symbol(C.f, Decl(semver.js, 1, 28)) + >C : Symbol(C, Decl(index.js, 1, 5)) +->f : Symbol(C.f, Decl(semver.js, 1, 28)) + + var c = new C + >c : Symbol(c, Decl(index.js, 3, 3)) +@@= skipped -24, +22 lines =@@ /// exports = module.exports = C >exports : Symbol("./semver", Decl(semver.js, 0, 0)) ->module.exports : Symbol(module.exports, Decl(semver.js, 0, 0)) ->module : Symbol(export=, Decl(semver.js, 1, 9)) -->exports : Symbol(export=, Decl(semver.js, 1, 9)) +>module.exports : Symbol(exports, Decl(semver.js, 0, 0)) +>module : Symbol(module, Decl(semver.js, 0, 0)) -+>exports : Symbol(exports, Decl(semver.js, 0, 0)) + >exports : Symbol(export=, Decl(semver.js, 1, 9)) >C : Symbol(C, Decl(semver.js, 2, 22)) exports.f = n => n + 1 - >exports.f : Symbol(f, Decl(semver.js, 1, 28)) +->exports.f : Symbol(f, Decl(semver.js, 1, 28)) ->exports : Symbol(f, Decl(semver.js, 1, 28)) +->f : Symbol(f, Decl(semver.js, 1, 28)) +>exports : Symbol("./semver", Decl(semver.js, 0, 0)) - >f : Symbol(f, Decl(semver.js, 1, 28)) >n : Symbol(n, Decl(semver.js, 2, 11)) >n : Symbol(n, Decl(semver.js, 2, 11)) -@@= skipped -16, +16 lines =@@ + +@@= skipped -16, +14 lines =@@ >C : Symbol(C, Decl(semver.js, 2, 22)) this.p = 1 diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types index bed23b207d6..22eb8ba9e33 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types @@ -3,23 +3,23 @@ === index.js === /// const C = require("./semver") ->C : typeof C ->require("./semver") : typeof C +>C : () => void +>require("./semver") : () => void >require : (name: string) => any >"./semver" : "./semver" var two = C.f(1) >two : any >C.f(1) : any ->C.f : (n: any) => any ->C : typeof C ->f : (n: any) => any +>C.f : any +>C : () => void +>f : any >1 : 1 var c = new C >c : any >new C : any ->C : typeof C +>C : () => void === node.d.ts === declare function require(name: string): any; @@ -37,18 +37,18 @@ declare var module: { exports: any }; /// exports = module.exports = C >exports = module.exports = C : () => void ->exports : any +>exports : () => void >module.exports = C : () => void ->module.exports : typeof import("./semver") ->module : { exports: typeof import("./semver"); } ->exports : typeof import("./semver") +>module.exports : () => void +>module : { exports: () => void; } +>exports : () => void >C : () => void exports.f = n => n + 1 >exports.f = n => n + 1 : (n: any) => any ->exports.f : (n: any) => any ->exports : typeof import("./semver") ->f : (n: any) => any +>exports.f : any +>exports : () => void +>f : any >n => n + 1 : (n: any) => any >n : any >n + 1 : any diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types.diff index f5de7c54ed2..675cd262c4c 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias2.types.diff @@ -1,17 +1,38 @@ --- old.moduleExportAlias2.types +++ new.moduleExportAlias2.types -@@= skipped -16, +16 lines =@@ +@@= skipped -2, +2 lines =@@ + === index.js === + /// + const C = require("./semver") +->C : typeof C +->require("./semver") : typeof C ++>C : () => void ++>require("./semver") : () => void + >require : (name: string) => any + >"./semver" : "./semver" + + var two = C.f(1) + >two : any + >C.f(1) : any +->C.f : (n: any) => any +->C : typeof C +->f : (n: any) => any ++>C.f : any ++>C : () => void ++>f : any >1 : 1 var c = new C ->c : C ->new C : C +->C : typeof C +>c : any +>new C : any - >C : typeof C ++>C : () => void === node.d.ts === -@@= skipped -19, +19 lines =@@ + declare function require(name: string): any; +@@= skipped -33, +33 lines =@@ === semver.js === /// exports = module.exports = C @@ -23,21 +44,24 @@ ->exports : typeof C ->C : typeof C +>exports = module.exports = C : () => void -+>exports : any ++>exports : () => void +>module.exports = C : () => void -+>module.exports : typeof import("./semver") -+>module : { exports: typeof import("./semver"); } -+>exports : typeof import("./semver") ++>module.exports : () => void ++>module : { exports: () => void; } ++>exports : () => void +>C : () => void exports.f = n => n + 1 >exports.f = n => n + 1 : (n: any) => any - >exports.f : (n: any) => any +->exports.f : (n: any) => any ->exports : typeof C -+>exports : typeof import("./semver") - >f : (n: any) => any +->f : (n: any) => any ++>exports.f : any ++>exports : () => void ++>f : any >n => n + 1 : (n: any) => any >n : any + >n + 1 : any @@= skipped -20, +20 lines =@@ >1 : 1 diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols index 277bdf2dda1..b1ab871808e 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols @@ -8,7 +8,7 @@ class C { module.exports = { >module.exports : Symbol(exports, Decl(bug24062.js, 0, 0)) >module : Symbol(module, Decl(bug24062.js, 0, 0)) ->exports : Symbol(exports, Decl(bug24062.js, 0, 0)) +>exports : Symbol(export=, Decl(bug24062.js, 2, 1)) C >C : Symbol(C, Decl(bug24062.js, 3, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols.diff index aecb87f11c7..010b78992a9 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias3.symbols.diff @@ -9,7 +9,7 @@ ->exports : Symbol(module.exports, Decl(bug24062.js, 0, 0)) +>module.exports : Symbol(exports, Decl(bug24062.js, 0, 0)) +>module : Symbol(module, Decl(bug24062.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug24062.js, 0, 0)) ++>exports : Symbol(export=, Decl(bug24062.js, 2, 1)) C >C : Symbol(C, Decl(bug24062.js, 3, 18)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols index 641e46f8aba..f67835a62c5 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols @@ -10,8 +10,8 @@ var wat = require('./bug24024') module.exports = class C {} >module.exports : Symbol(exports, Decl(bug24024.js, 0, 0)) >module : Symbol(module, Decl(bug24024.js, 0, 0)) ->exports : Symbol(exports, Decl(bug24024.js, 0, 0)) ->C : Symbol(C, Decl(bug24024.js, 2, 16)) +>exports : Symbol(export=, Decl(bug24024.js, 1, 31)) +>C : Symbol(wat, Decl(bug24024.js, 2, 16)) module.exports.D = class D { } >module.exports : Symbol(exports, Decl(bug24024.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols.diff index 1faa74cead0..589d083a145 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.symbols.diff @@ -6,12 +6,10 @@ module.exports = class C {} ->module.exports : Symbol(module.exports, Decl(bug24024.js, 0, 0)) ->module : Symbol(export=, Decl(bug24024.js, 1, 31)) -->exports : Symbol(export=, Decl(bug24024.js, 1, 31)) -->C : Symbol(wat, Decl(bug24024.js, 2, 16)) +>module.exports : Symbol(exports, Decl(bug24024.js, 0, 0)) +>module : Symbol(module, Decl(bug24024.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug24024.js, 0, 0)) -+>C : Symbol(C, Decl(bug24024.js, 2, 16)) + >exports : Symbol(export=, Decl(bug24024.js, 1, 31)) + >C : Symbol(wat, Decl(bug24024.js, 2, 16)) module.exports.D = class D { } ->module.exports.D : Symbol(wat.D, Decl(bug24024.js, 2, 27)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types index eb261f4ba2c..60e52601e90 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types @@ -9,12 +9,12 @@ var wat = require('./bug24024') >'./bug24024' : "./bug24024" module.exports = class C {} ->module.exports = class C {} : typeof C +>module.exports = class C {} : typeof wat >module.exports : typeof wat >module : { exports: typeof wat; } >exports : typeof wat ->class C {} : typeof C ->C : typeof C +>class C {} : typeof wat +>C : typeof wat module.exports.D = class D { } >module.exports.D = class D { } : typeof D diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types.diff index 000568567c5..def01d0634f 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias4.types.diff @@ -1,18 +1,7 @@ --- old.moduleExportAlias4.types +++ new.moduleExportAlias4.types -@@= skipped -8, +8 lines =@@ - >'./bug24024' : "./bug24024" - - module.exports = class C {} -->module.exports = class C {} : typeof wat -+>module.exports = class C {} : typeof C - >module.exports : typeof wat - >module : { exports: typeof wat; } - >exports : typeof wat -->class C {} : typeof wat -->C : typeof wat -+>class C {} : typeof C -+>C : typeof C +@@= skipped -16, +16 lines =@@ + >C : typeof wat module.exports.D = class D { } ->module.exports.D = class D { } : typeof wat.D diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt index be48e4f8294..3db9b41f04d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt @@ -1,5 +1,5 @@ -bug24754.js(4,1): error TS2631: Cannot assign to '"bug24754"' because it is a namespace. -bug24754.js(4,11): error TS2741: Property 'version' is missing in type '{ (): void; WebpackOptionsDefaulter: number; }' but required in type 'typeof import("bug24754")'. +bug24754.js(4,11): error TS2309: An export assignment cannot be used in a module with other exported elements. +bug24754.js(5,9): error TS2339: Property 'version' does not exist on type '{ (): void; WebpackOptionsDefaulter: number; }'. ==== bug24754.js (2 errors) ==== @@ -7,12 +7,11 @@ bug24754.js(4,11): error TS2741: Property 'version' is missing in type '{ (): vo const webpack = function (){ } exports = module.exports = webpack; - ~~~~~~~ -!!! error TS2631: Cannot assign to '"bug24754"' because it is a namespace. - ~~~~~~~~~~~~~~ -!!! error TS2741: Property 'version' is missing in type '{ (): void; WebpackOptionsDefaulter: number; }' but required in type 'typeof import("bug24754")'. -!!! related TS2728 bug24754.js:5:1: 'version' is declared here. + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. exports.version = 1001; + ~~~~~~~ +!!! error TS2339: Property 'version' does not exist on type '{ (): void; WebpackOptionsDefaulter: number; }'. webpack.WebpackOptionsDefaulter = 1111; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt.diff index 418584d452e..7a7f592237b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.errors.txt.diff @@ -2,8 +2,8 @@ +++ new.moduleExportAlias5.errors.txt @@= skipped -0, +0 lines =@@ - -+bug24754.js(4,1): error TS2631: Cannot assign to '"bug24754"' because it is a namespace. -+bug24754.js(4,11): error TS2741: Property 'version' is missing in type '{ (): void; WebpackOptionsDefaulter: number; }' but required in type 'typeof import("bug24754")'. ++bug24754.js(4,11): error TS2309: An export assignment cannot be used in a module with other exported elements. ++bug24754.js(5,9): error TS2339: Property 'version' does not exist on type '{ (): void; WebpackOptionsDefaulter: number; }'. + + +==== bug24754.js (2 errors) ==== @@ -11,12 +11,11 @@ + const webpack = function (){ + } + exports = module.exports = webpack; -+ ~~~~~~~ -+!!! error TS2631: Cannot assign to '"bug24754"' because it is a namespace. -+ ~~~~~~~~~~~~~~ -+!!! error TS2741: Property 'version' is missing in type '{ (): void; WebpackOptionsDefaulter: number; }' but required in type 'typeof import("bug24754")'. -+!!! related TS2728 bug24754.js:5:1: 'version' is declared here. ++ ~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + exports.version = 1001; ++ ~~~~~~~ ++!!! error TS2339: Property 'version' does not exist on type '{ (): void; WebpackOptionsDefaulter: number; }'. + + webpack.WebpackOptionsDefaulter = 1111; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols index bf3073c432d..53562c6627b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols @@ -9,13 +9,11 @@ exports = module.exports = webpack; >exports : Symbol("./bug24754", Decl(bug24754.js, 0, 0)) >module.exports : Symbol(exports, Decl(bug24754.js, 0, 0)) >module : Symbol(module, Decl(bug24754.js, 0, 0)) ->exports : Symbol(exports, Decl(bug24754.js, 0, 0)) +>exports : Symbol(export=, Decl(bug24754.js, 3, 9)) >webpack : Symbol(webpack, Decl(bug24754.js, 1, 5)) exports.version = 1001; ->exports.version : Symbol(version, Decl(bug24754.js, 3, 35)) >exports : Symbol("./bug24754", Decl(bug24754.js, 0, 0)) ->version : Symbol(version, Decl(bug24754.js, 3, 35)) webpack.WebpackOptionsDefaulter = 1111; >webpack.WebpackOptionsDefaulter : Symbol(webpack.WebpackOptionsDefaulter, Decl(bug24754.js, 4, 23)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols.diff index ed4e24e690d..464bf900112 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.symbols.diff @@ -11,18 +11,17 @@ >exports : Symbol("./bug24754", Decl(bug24754.js, 0, 0)) ->module.exports : Symbol(module.exports, Decl(bug24754.js, 0, 0)) ->module : Symbol(export=, Decl(bug24754.js, 3, 9)) -->exports : Symbol(export=, Decl(bug24754.js, 3, 9)) -->webpack : Symbol(webpack, Decl(bug24754.js, 1, 5), Decl(bug24754.js, 4, 23)) +>module.exports : Symbol(exports, Decl(bug24754.js, 0, 0)) +>module : Symbol(module, Decl(bug24754.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug24754.js, 0, 0)) + >exports : Symbol(export=, Decl(bug24754.js, 3, 9)) +->webpack : Symbol(webpack, Decl(bug24754.js, 1, 5), Decl(bug24754.js, 4, 23)) +>webpack : Symbol(webpack, Decl(bug24754.js, 1, 5)) exports.version = 1001; - >exports.version : Symbol(version, Decl(bug24754.js, 3, 35)) +->exports.version : Symbol(version, Decl(bug24754.js, 3, 35)) ->exports : Symbol(version, Decl(bug24754.js, 3, 35)) +->version : Symbol(version, Decl(bug24754.js, 3, 35)) +>exports : Symbol("./bug24754", Decl(bug24754.js, 0, 0)) - >version : Symbol(version, Decl(bug24754.js, 3, 35)) webpack.WebpackOptionsDefaulter = 1111; >webpack.WebpackOptionsDefaulter : Symbol(webpack.WebpackOptionsDefaulter, Decl(bug24754.js, 4, 23)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types index 770c1b63c48..17072516ee7 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types @@ -8,18 +8,18 @@ const webpack = function (){ } exports = module.exports = webpack; >exports = module.exports = webpack : { (): void; WebpackOptionsDefaulter: number; } ->exports : any +>exports : { (): void; WebpackOptionsDefaulter: number; } >module.exports = webpack : { (): void; WebpackOptionsDefaulter: number; } ->module.exports : typeof import("./bug24754") ->module : { exports: typeof import("./bug24754"); } ->exports : typeof import("./bug24754") +>module.exports : { (): void; WebpackOptionsDefaulter: number; } +>module : { exports: { (): void; WebpackOptionsDefaulter: number; }; } +>exports : { (): void; WebpackOptionsDefaulter: number; } >webpack : { (): void; WebpackOptionsDefaulter: number; } exports.version = 1001; >exports.version = 1001 : 1001 ->exports.version : 1001 ->exports : typeof import("./bug24754") ->version : 1001 +>exports.version : any +>exports : { (): void; WebpackOptionsDefaulter: number; } +>version : any >1001 : 1001 webpack.WebpackOptionsDefaulter = 1111; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types.diff index 681f57e119d..944a1148f21 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAlias5.types.diff @@ -11,17 +11,21 @@ ->module : { exports: { (): void; version: 1001; WebpackOptionsDefaulter: number; }; } ->exports : { (): void; version: 1001; WebpackOptionsDefaulter: number; } +>exports = module.exports = webpack : { (): void; WebpackOptionsDefaulter: number; } -+>exports : any ++>exports : { (): void; WebpackOptionsDefaulter: number; } +>module.exports = webpack : { (): void; WebpackOptionsDefaulter: number; } -+>module.exports : typeof import("./bug24754") -+>module : { exports: typeof import("./bug24754"); } -+>exports : typeof import("./bug24754") ++>module.exports : { (): void; WebpackOptionsDefaulter: number; } ++>module : { exports: { (): void; WebpackOptionsDefaulter: number; }; } ++>exports : { (): void; WebpackOptionsDefaulter: number; } >webpack : { (): void; WebpackOptionsDefaulter: number; } exports.version = 1001; >exports.version = 1001 : 1001 - >exports.version : 1001 +->exports.version : 1001 ->exports : { (): void; version: 1001; WebpackOptionsDefaulter: number; } -+>exports : typeof import("./bug24754") - >version : 1001 +->version : 1001 ++>exports.version : any ++>exports : { (): void; WebpackOptionsDefaulter: number; } ++>version : any >1001 : 1001 + + webpack.WebpackOptionsDefaulter = 1111; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols index 0cbd3100366..96043f2001b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols @@ -16,7 +16,7 @@ exports.everywhere = 2 module.exports = exports >module.exports : Symbol(exports, Decl(Eloquent.js, 0, 0)) >module : Symbol(module, Decl(Eloquent.js, 0, 0)) ->exports : Symbol(exports, Decl(Eloquent.js, 0, 0)) +>exports : Symbol(export=, Decl(Eloquent.js, 3, 22)) >exports : Symbol("./Eloquent", Decl(Eloquent.js, 0, 0)) })() diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols.diff index c415a5b1ddb..dd4c53c6f64 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasExports.symbols.diff @@ -17,10 +17,7 @@ module.exports = exports ->module.exports : Symbol(module.exports, Decl(Eloquent.js, 0, 0)) ->module : Symbol(export=, Decl(Eloquent.js, 3, 22)) -->exports : Symbol(export=, Decl(Eloquent.js, 3, 22)) +>module.exports : Symbol(exports, Decl(Eloquent.js, 0, 0)) +>module : Symbol(module, Decl(Eloquent.js, 0, 0)) -+>exports : Symbol(exports, Decl(Eloquent.js, 0, 0)) + >exports : Symbol(export=, Decl(Eloquent.js, 3, 22)) >exports : Symbol("./Eloquent", Decl(Eloquent.js, 0, 0)) - - })() \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt index 28eec3f3f2d..afc073df212 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt @@ -1,11 +1,11 @@ -bug28014.js(1,9): error TS2339: Property 'version' does not exist on type 'typeof import("bug28014")'. +bug28014.js(1,9): error TS2339: Property 'version' does not exist on type '() => void'. bug28014.js(3,1): error TS2309: An export assignment cannot be used in a module with other exported elements. ==== bug28014.js (2 errors) ==== exports.version = 1 ~~~~~~~ -!!! error TS2339: Property 'version' does not exist on type 'typeof import("bug28014")'. +!!! error TS2339: Property 'version' does not exist on type '() => void'. function alias() { } module.exports = alias ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt.diff index a774adec6a4..09efb67ff5f 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.errors.txt.diff @@ -2,14 +2,14 @@ +++ new.moduleExportAliasImported.errors.txt @@= skipped -0, +0 lines =@@ - -+bug28014.js(1,9): error TS2339: Property 'version' does not exist on type 'typeof import("bug28014")'. ++bug28014.js(1,9): error TS2339: Property 'version' does not exist on type '() => void'. +bug28014.js(3,1): error TS2309: An export assignment cannot be used in a module with other exported elements. + + +==== bug28014.js (2 errors) ==== + exports.version = 1 + ~~~~~~~ -+!!! error TS2339: Property 'version' does not exist on type 'typeof import("bug28014")'. ++!!! error TS2339: Property 'version' does not exist on type '() => void'. + function alias() { } + module.exports = alias + ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols index 7ad5103226b..1da8263a015 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols @@ -10,7 +10,7 @@ function alias() { } module.exports = alias >module.exports : Symbol(exports, Decl(bug28014.js, 0, 0)) >module : Symbol(module, Decl(bug28014.js, 0, 0)) ->exports : Symbol(exports, Decl(bug28014.js, 0, 0)) +>exports : Symbol(export=, Decl(bug28014.js, 1, 20)) >alias : Symbol(alias, Decl(bug28014.js, 0, 19)) === importer.js === diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols.diff index 908ac24e6f7..b8419beb5f6 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.symbols.diff @@ -15,10 +15,7 @@ module.exports = alias ->module.exports : Symbol(module.exports, Decl(bug28014.js, 0, 0)) ->module : Symbol(export=, Decl(bug28014.js, 1, 20)) -->exports : Symbol(export=, Decl(bug28014.js, 1, 20)) +>module.exports : Symbol(exports, Decl(bug28014.js, 0, 0)) +>module : Symbol(module, Decl(bug28014.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug28014.js, 0, 0)) + >exports : Symbol(export=, Decl(bug28014.js, 1, 20)) >alias : Symbol(alias, Decl(bug28014.js, 0, 19)) - - === importer.js === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types index d7b29ed8cdf..20ff3ccfd0b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types @@ -4,7 +4,7 @@ exports.version = 1 >exports.version = 1 : 1 >exports.version : any ->exports : typeof import("./bug28014") +>exports : () => void >version : any >1 : 1 diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff index 96f22917358..15e100efc91 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasImported.types.diff @@ -8,7 +8,7 @@ ->exports : typeof alias ->version : 1 +>exports.version : any -+>exports : typeof import("./bug28014") ++>exports : () => void +>version : any >1 : 1 diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt index 279d2ef30ae..db9b430e34e 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt @@ -1,18 +1,15 @@ bug27025.js(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. bug27025.js(1,25): error TS2339: Property 'nonprop' does not exist on type 'Window & typeof globalThis'. -bug27025.js(2,9): error TS2339: Property 'foo' does not exist on type 'typeof import("bug27025")'. bug27025.js(2,15): error TS2304: Cannot find name 'bar'. -==== bug27025.js (4 errors) ==== +==== bug27025.js (3 errors) ==== module.exports = window.nonprop; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2309: An export assignment cannot be used in a module with other exported elements. ~~~~~~~ !!! error TS2339: Property 'nonprop' does not exist on type 'Window & typeof globalThis'. exports.foo = bar; - ~~~ -!!! error TS2339: Property 'foo' does not exist on type 'typeof import("bug27025")'. ~~~ !!! error TS2304: Cannot find name 'bar'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt.diff index e1ea6b3fb76..eadfb98b7c5 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.errors.txt.diff @@ -3,20 +3,14 @@ @@= skipped -0, +0 lines =@@ +bug27025.js(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. bug27025.js(1,25): error TS2339: Property 'nonprop' does not exist on type 'Window & typeof globalThis'. -+bug27025.js(2,9): error TS2339: Property 'foo' does not exist on type 'typeof import("bug27025")'. bug27025.js(2,15): error TS2304: Cannot find name 'bar'. -==== bug27025.js (2 errors) ==== -+==== bug27025.js (4 errors) ==== ++==== bug27025.js (3 errors) ==== module.exports = window.nonprop; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. ~~~~~~~ !!! error TS2339: Property 'nonprop' does not exist on type 'Window & typeof globalThis'. - exports.foo = bar; -+ ~~~ -+!!! error TS2339: Property 'foo' does not exist on type 'typeof import("bug27025")'. - ~~~ - !!! error TS2304: Cannot find name 'bar'. - \ No newline at end of file + exports.foo = bar; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols index 745761511e5..c8107a53632 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols @@ -4,7 +4,7 @@ module.exports = window.nonprop; >module.exports : Symbol(exports, Decl(bug27025.js, 0, 0)) >module : Symbol(module, Decl(bug27025.js, 0, 0)) ->exports : Symbol(exports, Decl(bug27025.js, 0, 0)) +>exports : Symbol(export=, Decl(bug27025.js, 0, 0)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) exports.foo = bar; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols.diff index 7e110c99afd..ee7bd0f7146 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.symbols.diff @@ -6,10 +6,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)) +>module.exports : Symbol(exports, Decl(bug27025.js, 0, 0)) +>module : Symbol(module, Decl(bug27025.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug27025.js, 0, 0)) + >exports : Symbol(export=, Decl(bug27025.js, 0, 0)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) exports.foo = bar; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types index c27764049f4..78dfa318aed 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types @@ -13,7 +13,7 @@ module.exports = window.nonprop; exports.foo = bar; >exports.foo = bar : any >exports.foo : any ->exports : typeof import("./bug27025") +>exports : any >foo : any >bar : any diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types.diff deleted file mode 100644 index 6d95143c5fb..00000000000 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAliasUnknown.types.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.moduleExportAliasUnknown.types -+++ new.moduleExportAliasUnknown.types -@@= skipped -12, +12 lines =@@ - exports.foo = bar; - >exports.foo = bar : any - >exports.foo : any -->exports : any -+>exports : typeof import("./bug27025") - >foo : any - >bar : any diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt index 8472709b9ba..22e4161fa68 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt @@ -1,20 +1,17 @@ -npmlog.js(5,14): error TS2741: Property 'y' is missing in type 'EE' but required in type 'typeof import("npmlog")'. -npmlog.js(8,16): error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. +npmlog.js(5,14): error TS2309: An export assignment cannot be used in a module with other exported elements. npmlog.js(10,8): error TS2339: Property 'x' does not exist on type 'EE'. +npmlog.js(11,16): error TS2339: Property 'y' does not exist on type 'EE'. npmlog.js(12,8): error TS2339: Property 'y' does not exist on type 'EE'. -npmlog.js(13,16): error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. -use.js(2,8): error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. -use.js(3,8): error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. +npmlog.js(13,16): error TS2339: Property 'x' does not exist on type 'EE'. +use.js(2,8): error TS2339: Property 'x' does not exist on type 'EE'. -==== use.js (2 errors) ==== +==== use.js (1 errors) ==== var npmlog = require('./npmlog') npmlog.x ~ -!!! error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. +!!! error TS2339: Property 'x' does not exist on type 'EE'. npmlog.on - ~~ -!!! error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. ==== npmlog.js (5 errors) ==== class EE { @@ -22,23 +19,22 @@ use.js(3,8): error TS2339: Property 'on' does not exist on type 'typeof import(" on(s) { } } var npmlog = module.exports = new EE() - ~~~~~~~~~~~~~~ -!!! error TS2741: Property 'y' is missing in type 'EE' but required in type 'typeof import("npmlog")'. -!!! related TS2728 npmlog.js:11:1: 'y' is declared here. + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. npmlog.on('hi') // both references should see EE.on module.exports.on('hi') // here too - ~~ -!!! error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. npmlog.x = 1 ~ !!! error TS2339: Property 'x' does not exist on type 'EE'. module.exports.y = 2 + ~ +!!! error TS2339: Property 'y' does not exist on type 'EE'. npmlog.y ~ !!! error TS2339: Property 'y' does not exist on type 'EE'. module.exports.x ~ -!!! error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. +!!! error TS2339: Property 'x' does not exist on type 'EE'. \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt.diff index 9b02b363c39..c3079cff2fd 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.errors.txt.diff @@ -2,23 +2,20 @@ +++ new.moduleExportAssignment.errors.txt @@= skipped -0, +0 lines =@@ - -+npmlog.js(5,14): error TS2741: Property 'y' is missing in type 'EE' but required in type 'typeof import("npmlog")'. -+npmlog.js(8,16): error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. ++npmlog.js(5,14): error TS2309: An export assignment cannot be used in a module with other exported elements. +npmlog.js(10,8): error TS2339: Property 'x' does not exist on type 'EE'. ++npmlog.js(11,16): error TS2339: Property 'y' does not exist on type 'EE'. +npmlog.js(12,8): error TS2339: Property 'y' does not exist on type 'EE'. -+npmlog.js(13,16): error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. -+use.js(2,8): error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. -+use.js(3,8): error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. ++npmlog.js(13,16): error TS2339: Property 'x' does not exist on type 'EE'. ++use.js(2,8): error TS2339: Property 'x' does not exist on type 'EE'. + + -+==== use.js (2 errors) ==== ++==== use.js (1 errors) ==== + var npmlog = require('./npmlog') + npmlog.x + ~ -+!!! error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. ++!!! error TS2339: Property 'x' does not exist on type 'EE'. + npmlog.on -+ ~~ -+!!! error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. + +==== npmlog.js (5 errors) ==== + class EE { @@ -26,23 +23,22 @@ + on(s) { } + } + var npmlog = module.exports = new EE() -+ ~~~~~~~~~~~~~~ -+!!! error TS2741: Property 'y' is missing in type 'EE' but required in type 'typeof import("npmlog")'. -+!!! related TS2728 npmlog.js:11:1: 'y' is declared here. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~ ++!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + + npmlog.on('hi') // both references should see EE.on + module.exports.on('hi') // here too -+ ~~ -+!!! error TS2339: Property 'on' does not exist on type 'typeof import("npmlog")'. + + npmlog.x = 1 + ~ +!!! error TS2339: Property 'x' does not exist on type 'EE'. + module.exports.y = 2 ++ ~ ++!!! error TS2339: Property 'y' does not exist on type 'EE'. + npmlog.y + ~ +!!! error TS2339: Property 'y' does not exist on type 'EE'. + module.exports.x + ~ -+!!! error TS2339: Property 'x' does not exist on type 'typeof import("npmlog")'. ++!!! error TS2339: Property 'x' does not exist on type 'EE'. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols index eb6a211b289..18813fa557f 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols @@ -4,13 +4,15 @@ var npmlog = require('./npmlog') >npmlog : Symbol(npmlog, Decl(use.js, 0, 3)) >require : Symbol(require) ->'./npmlog' : Symbol(npmlog, Decl(npmlog.js, 0, 0)) +>'./npmlog' : Symbol("./npmlog", Decl(npmlog.js, 0, 0)) npmlog.x >npmlog : Symbol(npmlog, Decl(use.js, 0, 3)) npmlog.on +>npmlog.on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) >npmlog : Symbol(npmlog, Decl(use.js, 0, 3)) +>on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) === npmlog.js === class EE { @@ -25,7 +27,7 @@ var npmlog = module.exports = new EE() >npmlog : Symbol(npmlog, Decl(npmlog.js, 4, 3)) >module.exports : Symbol(exports, Decl(npmlog.js, 0, 0)) >module : Symbol(module, Decl(npmlog.js, 0, 0)) ->exports : Symbol(exports, Decl(npmlog.js, 0, 0)) +>exports : Symbol(npmlog, Decl(npmlog.js, 4, 12)) >EE : Symbol(EE, Decl(npmlog.js, 0, 0)) npmlog.on('hi') // both references should see EE.on @@ -34,19 +36,19 @@ npmlog.on('hi') // both references should see EE.on >on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) module.exports.on('hi') // here too +>module.exports.on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) >module.exports : Symbol(exports, Decl(npmlog.js, 0, 0)) >module : Symbol(module, Decl(npmlog.js, 0, 0)) >exports : Symbol(exports, Decl(npmlog.js, 0, 0)) +>on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) npmlog.x = 1 >npmlog : Symbol(npmlog, Decl(npmlog.js, 4, 3)) module.exports.y = 2 ->module.exports.y : Symbol(y, Decl(npmlog.js, 9, 12)) >module.exports : Symbol(exports, Decl(npmlog.js, 0, 0)) >module : Symbol(module, Decl(npmlog.js, 0, 0)) >exports : Symbol(exports, Decl(npmlog.js, 0, 0)) ->y : Symbol(y, Decl(npmlog.js, 9, 12)) npmlog.y >npmlog : Symbol(npmlog, Decl(npmlog.js, 4, 3)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols.diff index 97e0ca457b7..28122f68ca4 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.symbols.diff @@ -1,11 +1,7 @@ --- old.moduleExportAssignment.symbols +++ new.moduleExportAssignment.symbols -@@= skipped -3, +3 lines =@@ - var npmlog = require('./npmlog') - >npmlog : Symbol(npmlog, Decl(use.js, 0, 3)) - >require : Symbol(require) -->'./npmlog' : Symbol("./npmlog", Decl(npmlog.js, 0, 0)) -+>'./npmlog' : Symbol(npmlog, Decl(npmlog.js, 0, 0)) +@@= skipped -6, +6 lines =@@ + >'./npmlog' : Symbol("./npmlog", Decl(npmlog.js, 0, 0)) npmlog.x ->npmlog.x : Symbol(npmlog.x, Decl(npmlog.js, 7, 23)) @@ -13,37 +9,29 @@ ->x : Symbol(npmlog.x, Decl(npmlog.js, 7, 23)) npmlog.on -->npmlog.on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) - >npmlog : Symbol(npmlog, Decl(use.js, 0, 3)) -->on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) - - === npmlog.js === - class EE { -@@= skipped -23, +19 lines =@@ + >npmlog.on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) +@@= skipped -20, +18 lines =@@ } var npmlog = module.exports = new EE() >npmlog : Symbol(npmlog, Decl(npmlog.js, 4, 3)) ->module.exports : Symbol(module.exports, Decl(npmlog.js, 0, 0)) ->module : Symbol(npmlog, Decl(npmlog.js, 4, 12)) -->exports : Symbol(npmlog, Decl(npmlog.js, 4, 12)) +>module.exports : Symbol(exports, Decl(npmlog.js, 0, 0)) +>module : Symbol(module, Decl(npmlog.js, 0, 0)) -+>exports : Symbol(exports, Decl(npmlog.js, 0, 0)) + >exports : Symbol(npmlog, Decl(npmlog.js, 4, 12)) >EE : Symbol(EE, Decl(npmlog.js, 0, 0)) - npmlog.on('hi') // both references should see EE.on -@@= skipped -11, +11 lines =@@ - >on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) +@@= skipped -12, +12 lines =@@ module.exports.on('hi') // here too -->module.exports.on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) + >module.exports.on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) ->module.exports : Symbol(module.exports, Decl(npmlog.js, 0, 0)) ->module : Symbol(module, Decl(npmlog.js, 4, 12)) ->exports : Symbol(module.exports, Decl(npmlog.js, 0, 0)) -->on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) +>module.exports : Symbol(exports, Decl(npmlog.js, 0, 0)) +>module : Symbol(module, Decl(npmlog.js, 0, 0)) +>exports : Symbol(exports, Decl(npmlog.js, 0, 0)) + >on : Symbol(EE.on, Decl(npmlog.js, 0, 10)) npmlog.x = 1 ->npmlog.x : Symbol(x, Decl(npmlog.js, 7, 23)) @@ -51,14 +39,14 @@ ->x : Symbol(x, Decl(npmlog.js, 7, 23)) module.exports.y = 2 - >module.exports.y : Symbol(y, Decl(npmlog.js, 9, 12)) +->module.exports.y : Symbol(y, Decl(npmlog.js, 9, 12)) ->module.exports : Symbol(y, Decl(npmlog.js, 9, 12)) ->module : Symbol(module, Decl(npmlog.js, 4, 12)) ->exports : Symbol(module.exports, Decl(npmlog.js, 0, 0)) +->y : Symbol(y, Decl(npmlog.js, 9, 12)) +>module.exports : Symbol(exports, Decl(npmlog.js, 0, 0)) +>module : Symbol(module, Decl(npmlog.js, 0, 0)) +>exports : Symbol(exports, Decl(npmlog.js, 0, 0)) - >y : Symbol(y, Decl(npmlog.js, 9, 12)) npmlog.y ->npmlog.y : Symbol(y, Decl(npmlog.js, 9, 12)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types index 0210a4a4e26..98a9974178d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types @@ -2,20 +2,20 @@ === use.js === var npmlog = require('./npmlog') ->npmlog : typeof npmlog ->require('./npmlog') : typeof npmlog +>npmlog : EE +>require('./npmlog') : EE >require : any >'./npmlog' : "./npmlog" npmlog.x >npmlog.x : any ->npmlog : typeof npmlog +>npmlog : EE >x : any npmlog.on ->npmlog.on : any ->npmlog : typeof npmlog ->on : any +>npmlog.on : (s: string) => void +>npmlog : EE +>on : (s: string) => void === npmlog.js === class EE { @@ -29,9 +29,9 @@ class EE { var npmlog = module.exports = new EE() >npmlog : EE >module.exports = new EE() : EE ->module.exports : typeof import("./npmlog") ->module : { exports: typeof import("./npmlog"); } ->exports : typeof import("./npmlog") +>module.exports : EE +>module : { exports: EE; } +>exports : EE >new EE() : EE >EE : typeof EE @@ -43,12 +43,12 @@ npmlog.on('hi') // both references should see EE.on >'hi' : "hi" module.exports.on('hi') // here too ->module.exports.on('hi') : any ->module.exports.on : any ->module.exports : typeof import("./npmlog") ->module : { exports: typeof import("./npmlog"); } ->exports : typeof import("./npmlog") ->on : any +>module.exports.on('hi') : void +>module.exports.on : (s: string) => void +>module.exports : EE +>module : { exports: EE; } +>exports : EE +>on : (s: string) => void >'hi' : "hi" npmlog.x = 1 @@ -60,11 +60,11 @@ npmlog.x = 1 module.exports.y = 2 >module.exports.y = 2 : 2 ->module.exports.y : 2 ->module.exports : typeof import("./npmlog") ->module : { exports: typeof import("./npmlog"); } ->exports : typeof import("./npmlog") ->y : 2 +>module.exports.y : any +>module.exports : EE +>module : { exports: EE; } +>exports : EE +>y : any >2 : 2 npmlog.y @@ -74,8 +74,8 @@ npmlog.y module.exports.x >module.exports.x : any ->module.exports : typeof import("./npmlog") ->module : { exports: typeof import("./npmlog"); } ->exports : typeof import("./npmlog") +>module.exports : EE +>module : { exports: EE; } +>exports : EE >x : any diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types.diff index 1d167aa8240..0e1e118307b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment.types.diff @@ -6,8 +6,8 @@ var npmlog = require('./npmlog') ->npmlog : { on(s: string): void; x: number; y: 2; } ->require('./npmlog') : { on(s: string): void; x: number; y: 2; } -+>npmlog : typeof npmlog -+>require('./npmlog') : typeof npmlog ++>npmlog : EE ++>require('./npmlog') : EE >require : any >'./npmlog' : "./npmlog" @@ -16,19 +16,16 @@ ->npmlog : { on(s: string): void; x: number; y: 2; } ->x : number +>npmlog.x : any -+>npmlog : typeof npmlog ++>npmlog : EE +>x : any npmlog.on -->npmlog.on : (s: string) => void + >npmlog.on : (s: string) => void ->npmlog : { on(s: string): void; x: number; y: 2; } -->on : (s: string) => void -+>npmlog.on : any -+>npmlog : typeof npmlog -+>on : any ++>npmlog : EE + >on : (s: string) => void === npmlog.js === - class EE { @@= skipped -25, +25 lines =@@ >s : string } @@ -40,9 +37,9 @@ ->exports : { on(s: string): void; x: number; y: 2; } +>npmlog : EE +>module.exports = new EE() : EE -+>module.exports : typeof import("./npmlog") -+>module : { exports: typeof import("./npmlog"); } -+>exports : typeof import("./npmlog") ++>module.exports : EE ++>module : { exports: EE; } ++>exports : EE >new EE() : EE >EE : typeof EE @@ -55,18 +52,15 @@ >'hi' : "hi" module.exports.on('hi') // here too -->module.exports.on('hi') : void -->module.exports.on : (s: string) => void + >module.exports.on('hi') : void + >module.exports.on : (s: string) => void ->module.exports : { on(s: string): void; x: number; y: 2; } ->module : { exports: { on(s: string): void; x: number; y: 2; }; } ->exports : { on(s: string): void; x: number; y: 2; } -->on : (s: string) => void -+>module.exports.on('hi') : any -+>module.exports.on : any -+>module.exports : typeof import("./npmlog") -+>module : { exports: typeof import("./npmlog"); } -+>exports : typeof import("./npmlog") -+>on : any ++>module.exports : EE ++>module : { exports: EE; } ++>exports : EE + >on : (s: string) => void >'hi' : "hi" npmlog.x = 1 @@ -81,14 +75,16 @@ module.exports.y = 2 >module.exports.y = 2 : 2 - >module.exports.y : 2 +->module.exports.y : 2 ->module.exports : { on(s: string): void; x: number; y: 2; } ->module : { exports: { on(s: string): void; x: number; y: 2; }; } ->exports : { on(s: string): void; x: number; y: 2; } -+>module.exports : typeof import("./npmlog") -+>module : { exports: typeof import("./npmlog"); } -+>exports : typeof import("./npmlog") - >y : 2 +->y : 2 ++>module.exports.y : any ++>module.exports : EE ++>module : { exports: EE; } ++>exports : EE ++>y : any >2 : 2 npmlog.y @@ -106,7 +102,7 @@ ->exports : { on(s: string): void; x: number; y: 2; } ->x : number +>module.exports.x : any -+>module.exports : typeof import("./npmlog") -+>module : { exports: typeof import("./npmlog"); } -+>exports : typeof import("./npmlog") ++>module.exports : EE ++>module : { exports: EE; } ++>exports : EE +>x : any diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt index 63ed6315f57..7fcbf0eb2f8 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt @@ -1,18 +1,17 @@ -npm.js(1,11): error TS2322: Type '(tree: any) => void' is not assignable to type 'typeof import("npm")'. -npm.js(5,12): error TS2349: This expression is not callable. - Type 'typeof import("npm")' has no call signatures. +npm.js(1,11): error TS2309: An export assignment cannot be used in a module with other exported elements. +npm.js(3,16): error TS2339: Property 'asReadInstalled' does not exist on type '(tree: any) => void'. ==== npm.js (2 errors) ==== var npm = module.exports = function (tree) { - ~~~~~~~~~~~~~~ -!!! error TS2322: Type '(tree: any) => void' is not assignable to type 'typeof import("npm")'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ } + ~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. module.exports.asReadInstalled = function (tree) { + ~~~~~~~~~~~~~~~ +!!! error TS2339: Property 'asReadInstalled' does not exist on type '(tree: any) => void'. npm(tree) // both references should be callable module.exports(tree) - ~~~~~~~ -!!! error TS2349: This expression is not callable. -!!! error TS2349: Type 'typeof import("npm")' has no call signatures. } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt.diff index 8157fbc7dae..7134cc31a73 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.errors.txt.diff @@ -2,21 +2,20 @@ +++ new.moduleExportAssignment2.errors.txt @@= skipped -0, +0 lines =@@ - -+npm.js(1,11): error TS2322: Type '(tree: any) => void' is not assignable to type 'typeof import("npm")'. -+npm.js(5,12): error TS2349: This expression is not callable. -+ Type 'typeof import("npm")' has no call signatures. ++npm.js(1,11): error TS2309: An export assignment cannot be used in a module with other exported elements. ++npm.js(3,16): error TS2339: Property 'asReadInstalled' does not exist on type '(tree: any) => void'. + + +==== npm.js (2 errors) ==== + var npm = module.exports = function (tree) { -+ ~~~~~~~~~~~~~~ -+!!! error TS2322: Type '(tree: any) => void' is not assignable to type 'typeof import("npm")'. ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + } ++ ~ ++!!! error TS2309: An export assignment cannot be used in a module with other exported elements. + module.exports.asReadInstalled = function (tree) { ++ ~~~~~~~~~~~~~~~ ++!!! error TS2339: Property 'asReadInstalled' does not exist on type '(tree: any) => void'. + npm(tree) // both references should be callable + module.exports(tree) -+ ~~~~~~~ -+!!! error TS2349: This expression is not callable. -+!!! error TS2349: Type 'typeof import("npm")' has no call signatures. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols index 37b79c3e3c7..68d29bc81e2 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols @@ -5,15 +5,13 @@ var npm = module.exports = function (tree) { >npm : Symbol(npm, Decl(npm.js, 0, 3)) >module.exports : Symbol(exports, Decl(npm.js, 0, 0)) >module : Symbol(module, Decl(npm.js, 0, 0)) ->exports : Symbol(exports, Decl(npm.js, 0, 0)) +>exports : Symbol(npm, Decl(npm.js, 0, 9)) >tree : Symbol(tree, Decl(npm.js, 0, 37)) } module.exports.asReadInstalled = function (tree) { ->module.exports.asReadInstalled : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) >module.exports : Symbol(exports, Decl(npm.js, 0, 0)) >module : Symbol(module, Decl(npm.js, 0, 0)) >exports : Symbol(exports, Decl(npm.js, 0, 0)) ->asReadInstalled : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) >tree : Symbol(tree, Decl(npm.js, 2, 43)) npm(tree) // both references should be callable diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols.diff index 67bedd498ea..42308f7efe9 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.symbols.diff @@ -6,24 +6,24 @@ >npm : Symbol(npm, Decl(npm.js, 0, 3)) ->module.exports : Symbol(module.exports, Decl(npm.js, 0, 0)) ->module : Symbol(npm, Decl(npm.js, 0, 9)) -->exports : Symbol(npm, Decl(npm.js, 0, 9)) +>module.exports : Symbol(exports, Decl(npm.js, 0, 0)) +>module : Symbol(module, Decl(npm.js, 0, 0)) -+>exports : Symbol(exports, Decl(npm.js, 0, 0)) + >exports : Symbol(npm, Decl(npm.js, 0, 9)) >tree : Symbol(tree, Decl(npm.js, 0, 37)) } module.exports.asReadInstalled = function (tree) { - >module.exports.asReadInstalled : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) +->module.exports.asReadInstalled : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) ->module.exports : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) ->module : Symbol(module, Decl(npm.js, 0, 9), Decl(npm.js, 3, 13)) ->exports : Symbol(module.exports, Decl(npm.js, 0, 0)) +->asReadInstalled : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) +>module.exports : Symbol(exports, Decl(npm.js, 0, 0)) +>module : Symbol(module, Decl(npm.js, 0, 0)) +>exports : Symbol(exports, Decl(npm.js, 0, 0)) - >asReadInstalled : Symbol(asReadInstalled, Decl(npm.js, 1, 1)) >tree : Symbol(tree, Decl(npm.js, 2, 43)) -@@= skipped -18, +18 lines =@@ + npm(tree) // both references should be callable +@@= skipped -18, +16 lines =@@ >tree : Symbol(tree, Decl(npm.js, 2, 43)) module.exports(tree) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types index b9ec3bdfc87..4ded0557889 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types @@ -4,19 +4,19 @@ var npm = module.exports = function (tree) { >npm : (tree: any) => void >module.exports = function (tree) {} : (tree: any) => void ->module.exports : typeof import("./npm") ->module : { exports: typeof import("./npm"); } ->exports : typeof import("./npm") +>module.exports : (tree: any) => void +>module : { exports: (tree: any) => void; } +>exports : (tree: any) => void >function (tree) {} : (tree: any) => void >tree : any } module.exports.asReadInstalled = function (tree) { >module.exports.asReadInstalled = function (tree) { npm(tree) // both references should be callable module.exports(tree)} : (tree: any) => void ->module.exports.asReadInstalled : (tree: any) => void ->module.exports : typeof import("./npm") ->module : { exports: typeof import("./npm"); } ->exports : typeof import("./npm") ->asReadInstalled : (tree: any) => void +>module.exports.asReadInstalled : any +>module.exports : (tree: any) => void +>module : { exports: (tree: any) => void; } +>exports : (tree: any) => void +>asReadInstalled : any >function (tree) { npm(tree) // both references should be callable module.exports(tree)} : (tree: any) => void >tree : any @@ -26,10 +26,10 @@ module.exports.asReadInstalled = function (tree) { >tree : any module.exports(tree) ->module.exports(tree) : any ->module.exports : typeof import("./npm") ->module : { exports: typeof import("./npm"); } ->exports : typeof import("./npm") +>module.exports(tree) : void +>module.exports : (tree: any) => void +>module : { exports: (tree: any) => void; } +>exports : (tree: any) => void >tree : any } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types.diff index 07d5642f02e..915229c636d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment2.types.diff @@ -11,22 +11,24 @@ ->exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } +>npm : (tree: any) => void +>module.exports = function (tree) {} : (tree: any) => void -+>module.exports : typeof import("./npm") -+>module : { exports: typeof import("./npm"); } -+>exports : typeof import("./npm") ++>module.exports : (tree: any) => void ++>module : { exports: (tree: any) => void; } ++>exports : (tree: any) => void >function (tree) {} : (tree: any) => void >tree : any } module.exports.asReadInstalled = function (tree) { >module.exports.asReadInstalled = function (tree) { npm(tree) // both references should be callable module.exports(tree)} : (tree: any) => void - >module.exports.asReadInstalled : (tree: any) => void +->module.exports.asReadInstalled : (tree: any) => void ->module.exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } ->module : { exports: { (tree: any): void; asReadInstalled: (tree: any) => void; }; } ->exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } -+>module.exports : typeof import("./npm") -+>module : { exports: typeof import("./npm"); } -+>exports : typeof import("./npm") - >asReadInstalled : (tree: any) => void +->asReadInstalled : (tree: any) => void ++>module.exports.asReadInstalled : any ++>module.exports : (tree: any) => void ++>module : { exports: (tree: any) => void; } ++>exports : (tree: any) => void ++>asReadInstalled : any >function (tree) { npm(tree) // both references should be callable module.exports(tree)} : (tree: any) => void >tree : any @@ -37,13 +39,12 @@ >tree : any module.exports(tree) -->module.exports(tree) : void + >module.exports(tree) : void ->module.exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } ->module : { exports: { (tree: any): void; asReadInstalled: (tree: any) => void; }; } ->exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } -+>module.exports(tree) : any -+>module.exports : typeof import("./npm") -+>module : { exports: typeof import("./npm"); } -+>exports : typeof import("./npm") ++>module.exports : (tree: any) => void ++>module : { exports: (tree: any) => void; } ++>exports : (tree: any) => void >tree : any } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols index 55003fadcdf..21858d06cc6 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols @@ -13,7 +13,7 @@ mod() // should be callable from here too module.exports = function x() { } >module.exports : Symbol(exports, Decl(mod.js, 0, 0)) >module : Symbol(module, Decl(mod.js, 0, 0)) ->exports : Symbol(exports, Decl(mod.js, 0, 0)) +>exports : Symbol(export=, Decl(mod.js, 0, 0)) >x : Symbol(x, Decl(mod.js, 0, 16)) module.exports() // should be callable diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols.diff index 0b91bfb426c..992ea538696 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment3.symbols.diff @@ -6,10 +6,9 @@ module.exports = function x() { } ->module.exports : Symbol(module.exports, Decl(mod.js, 0, 0)) ->module : Symbol(export=, Decl(mod.js, 0, 0)) -->exports : Symbol(export=, Decl(mod.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod.js, 0, 0)) +>module : Symbol(module, Decl(mod.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod.js, 0, 0)) + >exports : Symbol(export=, Decl(mod.js, 0, 0)) >x : Symbol(x, Decl(mod.js, 0, 16)) module.exports() // should be callable diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt index a505beb7ed8..9af8cbedfde 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt @@ -1,11 +1,8 @@ -async.js(1,9): error TS2339: Property 'default' does not exist on type 'typeof import("async")'. async.js(2,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -==== async.js (2 errors) ==== +==== async.js (1 errors) ==== exports.default = { m: 1, a: 1 } - ~~~~~~~ -!!! error TS2339: Property 'default' does not exist on type 'typeof import("async")'. module.exports = exports['default']; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2309: An export assignment cannot be used in a module with other exported elements. diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt.diff index 25cc88f045e..a92a99a8e84 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.errors.txt.diff @@ -2,14 +2,11 @@ +++ new.moduleExportAssignment4.errors.txt @@= skipped -0, +0 lines =@@ - -+async.js(1,9): error TS2339: Property 'default' does not exist on type 'typeof import("async")'. +async.js(2,1): error TS2309: An export assignment cannot be used in a module with other exported elements. + + -+==== async.js (2 errors) ==== ++==== async.js (1 errors) ==== + exports.default = { m: 1, a: 1 } -+ ~~~~~~~ -+!!! error TS2339: Property 'default' does not exist on type 'typeof import("async")'. + module.exports = exports['default']; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols index 4a79b3bb6ae..ed5f35aafca 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols @@ -9,6 +9,6 @@ exports.default = { m: 1, a: 1 } module.exports = exports['default']; >module.exports : Symbol(exports, Decl(async.js, 0, 0)) >module : Symbol(module, Decl(async.js, 0, 0)) ->exports : Symbol(exports, Decl(async.js, 0, 0)) +>exports : Symbol(export=, Decl(async.js, 0, 32)) >exports : Symbol("./async", Decl(async.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols.diff index fff8454e095..f711e369f9b 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.symbols.diff @@ -13,8 +13,7 @@ module.exports = exports['default']; ->module.exports : Symbol(module.exports, Decl(async.js, 0, 0)) ->module : Symbol(export=, Decl(async.js, 0, 32)) -->exports : Symbol(export=, Decl(async.js, 0, 32)) +>module.exports : Symbol(exports, Decl(async.js, 0, 0)) +>module : Symbol(module, Decl(async.js, 0, 0)) -+>exports : Symbol(exports, Decl(async.js, 0, 0)) + >exports : Symbol(export=, Decl(async.js, 0, 32)) >exports : Symbol("./async", Decl(async.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types index 0cde239ca8d..8b2eb98516f 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types @@ -4,7 +4,7 @@ exports.default = { m: 1, a: 1 } >exports.default = { m: 1, a: 1 } : { m: number; a: number; } >exports.default : any ->exports : typeof import("./async") +>exports : any >default : any >{ m: 1, a: 1 } : { m: number; a: number; } >m : number @@ -18,6 +18,6 @@ module.exports = exports['default']; >module : { exports: any; } >exports : any >exports['default'] : any ->exports : typeof import("./async") +>exports : any >'default' : "default" diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types.diff index 053d1c5c287..09935b3a803 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment4.types.diff @@ -1,15 +1,6 @@ --- old.moduleExportAssignment4.types +++ new.moduleExportAssignment4.types -@@= skipped -3, +3 lines =@@ - exports.default = { m: 1, a: 1 } - >exports.default = { m: 1, a: 1 } : { m: number; a: number; } - >exports.default : any -->exports : any -+>exports : typeof import("./async") - >default : any - >{ m: 1, a: 1 } : { m: number; a: number; } - >m : number -@@= skipped -9, +9 lines =@@ +@@= skipped -12, +12 lines =@@ >1 : 1 module.exports = exports['default']; @@ -19,7 +10,4 @@ +>module.exports : any >module : { exports: any; } >exports : any - >exports['default'] : any -->exports : any -+>exports : typeof import("./async") - >'default' : "default" + >exports['default'] : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols index b765285a63f..6bcd9cecf57 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols @@ -22,7 +22,7 @@ axios.m() module.exports = axios; >module.exports : Symbol(exports, Decl(axios.js, 0, 0)) >module : Symbol(module, Decl(axios.js, 0, 0)) ->exports : Symbol(exports, Decl(axios.js, 0, 0)) +>exports : Symbol(export=, Decl(axios.js, 7, 9)) >axios : Symbol(axios, Decl(axios.js, 5, 3)) module.exports.default = axios; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols.diff index 7d395d98c6a..e569253330d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment5.symbols.diff @@ -6,10 +6,9 @@ module.exports = axios; ->module.exports : Symbol(module.exports, Decl(axios.js, 0, 0)) ->module : Symbol(export=, Decl(axios.js, 7, 9)) -->exports : Symbol(export=, Decl(axios.js, 7, 9)) +>module.exports : Symbol(exports, Decl(axios.js, 0, 0)) +>module : Symbol(module, Decl(axios.js, 0, 0)) -+>exports : Symbol(exports, Decl(axios.js, 0, 0)) + >exports : Symbol(export=, Decl(axios.js, 7, 9)) >axios : Symbol(axios, Decl(axios.js, 5, 3)) module.exports.default = axios; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols index ceb4cfa1b78..aaf5d1aefe5 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols @@ -19,7 +19,7 @@ function bar() { return 4 } module.exports = { >module.exports : Symbol(exports, Decl(mod.js, 0, 0)) >module : Symbol(module, Decl(mod.js, 0, 0)) ->exports : Symbol(exports, Decl(mod.js, 0, 0)) +>exports : Symbol(export=, Decl(mod.js, 3, 27)) Thing, >Thing : Symbol(Thing, Decl(mod.js, 5, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols.diff index 2e9563e6f77..f4cd2afa816 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAssignment7.symbols.diff @@ -6,13 +6,11 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(mod.js, 0, 0)) ->module : Symbol(export=, Decl(mod.js, 3, 27)) -->exports : Symbol(export=, Decl(mod.js, 3, 27)) +>module.exports : Symbol(exports, Decl(mod.js, 0, 0)) +>module : Symbol(module, Decl(mod.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod.js, 0, 0)) + >exports : Symbol(export=, Decl(mod.js, 3, 27)) Thing, - >Thing : Symbol(Thing, Decl(mod.js, 5, 18)) @@= skipped -44, +44 lines =@@ >g : Symbol(g, Decl(main.js, 9, 34)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols index 3d4c49a437a..e8373f4fd26 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols @@ -7,7 +7,7 @@ var axios = {} module.exports = axios // both assignments should be ok >module.exports : Symbol(exports, Decl(axios.js, 0, 0)) >module : Symbol(module, Decl(axios.js, 0, 0)) ->exports : Symbol(exports, Decl(axios.js, 0, 0)) +>exports : Symbol(export=, Decl(axios.js, 0, 14)) >axios : Symbol(axios, Decl(axios.js, 0, 3)) module.exports.default = axios diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols.diff index 610aae1d567..ffd77afe489 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportPropertyAssignmentDefault.symbols.diff @@ -6,10 +6,9 @@ module.exports = axios // both assignments should be ok ->module.exports : Symbol(module.exports, Decl(axios.js, 0, 0)) ->module : Symbol(export=, Decl(axios.js, 0, 14)) -->exports : Symbol(export=, Decl(axios.js, 0, 14)) +>module.exports : Symbol(exports, Decl(axios.js, 0, 0)) +>module : Symbol(module, Decl(axios.js, 0, 0)) -+>exports : Symbol(exports, Decl(axios.js, 0, 0)) + >exports : Symbol(export=, Decl(axios.js, 0, 14)) >axios : Symbol(axios, Decl(axios.js, 0, 3)) module.exports.default = axios diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols index 891d5e17581..c5c46dc0a6e 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols @@ -27,7 +27,7 @@ declare function require(name: string): any; module.exports = function () { } >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 0, 0)) /** @param {number} a */ module.exports.f = function (a) { } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols.diff index 5a86c3023e0..b6eb7dd726a 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment.symbols.diff @@ -16,10 +16,9 @@ module.exports = function () { } ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 0, 0)) -->exports : Symbol(export=, Decl(mod1.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 0, 0)) /** @param {number} a */ module.exports.f = function (a) { } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols index 19f5e7dbe6d..e87829ef1aa 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols @@ -29,7 +29,7 @@ declare function require(name: string): any; module.exports = 1 >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 0, 0)) module.exports.f = function () { } >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols.diff index fc726a3eb3f..fb8c07528c9 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment2.symbols.diff @@ -6,10 +6,9 @@ module.exports = 1 ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 0, 0)) -->exports : Symbol(export=, Decl(mod1.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 0, 0)) module.exports.f = function () { } ->module.exports : Symbol(f, Decl(mod1.js, 1, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols index c9776cf258f..03b09f5ad2d 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols @@ -52,7 +52,7 @@ module.exports.bothBefore = 'string' module.exports = { >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 1, 36)) justExport: 1, >justExport : Symbol(justExport, Decl(mod1.js, 2, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols.diff index e156367bc05..84337fb8ced 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment3.symbols.diff @@ -47,13 +47,11 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 1, 36)) -->exports : Symbol(export=, Decl(mod1.js, 1, 36)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 1, 36)) justExport: 1, - >justExport : Symbol(justExport, Decl(mod1.js, 2, 18)) @@= skipped -21, +21 lines =@@ >bothAfter : Symbol(bothAfter, Decl(mod1.js, 4, 18)) } diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols index 41d23d1f0f7..8e23f0ac592 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols @@ -67,7 +67,7 @@ A.bothAfter = 3 module.exports = A >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 4, 15)) >A : Symbol(A, Decl(mod1.js, 5, 18)) function A() { diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols.diff b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols.diff index 90d34004dc5..3a136940f10 100644 --- a/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/moduleExportWithExportPropertyAssignment4.symbols.diff @@ -69,11 +69,10 @@ module.exports = A ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 4, 15)) -->exports : Symbol(export=, Decl(mod1.js, 4, 15)) -->A : Symbol(A, Decl(mod1.js, 5, 18), Decl(mod1.js, 1, 36), Decl(mod1.js, 2, 16), Decl(mod1.js, 3, 16)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 4, 15)) +->A : Symbol(A, Decl(mod1.js, 5, 18), Decl(mod1.js, 1, 36), Decl(mod1.js, 2, 16), Decl(mod1.js, 3, 16)) +>A : Symbol(A, Decl(mod1.js, 5, 18)) function A() { diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt index 8c6dc053088..0d3a1ddfa8f 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt @@ -1,4 +1,5 @@ file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. +file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. @@ -22,13 +23,15 @@ subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ~~~~~~~~~~~ !!! error TS8003: 'export =' can only be used in TypeScript files. -==== file.js (1 errors) ==== +==== file.js (2 errors) ==== // esm format file import "fs"; ~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. const a = {}; module.exports = a; + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== package.json (0 errors) ==== { "name": "package", diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt.diff deleted file mode 100644 index dbd216f67c3..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.nodeModulesAllowJsExportAssignment(module=node16).errors.txt -+++ new.nodeModulesAllowJsExportAssignment(module=node16).errors.txt -@@= skipped -0, +0 lines =@@ - file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. --file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. - subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. -@@= skipped -22, +21 lines =@@ - !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - ~~~~~~~~~~~ - !!! error TS8003: 'export =' can only be used in TypeScript files. --==== file.js (2 errors) ==== -+==== file.js (1 errors) ==== - // esm format file - import "fs"; - ~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. - const a = {}; - module.exports = a; -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - ==== package.json (0 errors) ==== - { - "name": "package", \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js index 945d2354d79..2305e2ee032 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js @@ -60,5 +60,3 @@ declare const a: {}; export = a; //// [file.d.ts] import "fs"; -declare const a: {}; -export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff index 092ff17eb1e..dcf0155ae01 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff @@ -17,6 +17,4 @@ +export = a; //// [file.d.ts] -export {}; -+import "fs"; -+declare const a: {}; -+export = a; \ No newline at end of file ++import "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols index c3c9c8f46b5..c5393ec3ee4 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols @@ -16,7 +16,7 @@ const a = {}; module.exports = a; >module.exports : Symbol(exports, Decl(file.js, 0, 0)) >module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) +>exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) === index.js === @@ -34,8 +34,5 @@ const a = {}; >a : Symbol(a, Decl(file.js, 2, 5)) module.exports = a; ->module.exports : Symbol(exports, Decl(file.js, 0, 0)) ->module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols.diff index d00983ddd55..c3d640ea7e3 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).symbols.diff @@ -6,18 +6,7 @@ module.exports = a; ->module.exports : Symbol(module.exports, Decl(file.js, 0, 0)) ->module : Symbol(export=, Decl(file.js, 1, 13)) -->exports : Symbol(export=, Decl(file.js, 1, 13)) +>module.exports : Symbol(exports, Decl(file.js, 0, 0)) +>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) + >exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) - - === index.js === -@@= skipped -20, +20 lines =@@ - >a : Symbol(a, Decl(file.js, 2, 5)) - - module.exports = a; -+>module.exports : Symbol(exports, Decl(file.js, 0, 0)) -+>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) - >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types index 90fbeebc73c..8f23836f0b3 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types @@ -40,8 +40,8 @@ const a = {}; module.exports = a; >module.exports = a : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : any +>exports : any >a : {} diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types.diff index 989d78cdd6b..43e27fb86d1 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).types.diff @@ -5,11 +5,7 @@ module.exports = a; ->module.exports = a : any -->module.exports : any -->module : any -->exports : any +>module.exports = a : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} - >a : {} + >module.exports : any + >module : any + >exports : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt index 8c6dc053088..0d3a1ddfa8f 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt @@ -1,4 +1,5 @@ file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. +file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. @@ -22,13 +23,15 @@ subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ~~~~~~~~~~~ !!! error TS8003: 'export =' can only be used in TypeScript files. -==== file.js (1 errors) ==== +==== file.js (2 errors) ==== // esm format file import "fs"; ~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. const a = {}; module.exports = a; + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== package.json (0 errors) ==== { "name": "package", diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt.diff deleted file mode 100644 index 1638bb1fa48..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.nodeModulesAllowJsExportAssignment(module=node18).errors.txt -+++ new.nodeModulesAllowJsExportAssignment(module=node18).errors.txt -@@= skipped -0, +0 lines =@@ - file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. --file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. - subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. -@@= skipped -22, +21 lines =@@ - !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - ~~~~~~~~~~~ - !!! error TS8003: 'export =' can only be used in TypeScript files. --==== file.js (2 errors) ==== -+==== file.js (1 errors) ==== - // esm format file - import "fs"; - ~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. - const a = {}; - module.exports = a; -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - ==== package.json (0 errors) ==== - { - "name": "package", \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js index 945d2354d79..2305e2ee032 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js @@ -60,5 +60,3 @@ declare const a: {}; export = a; //// [file.d.ts] import "fs"; -declare const a: {}; -export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff index b9d5d4c01ed..6ea9c065ca2 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff @@ -17,6 +17,4 @@ +export = a; //// [file.d.ts] -export {}; -+import "fs"; -+declare const a: {}; -+export = a; \ No newline at end of file ++import "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols index c3c9c8f46b5..c5393ec3ee4 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols @@ -16,7 +16,7 @@ const a = {}; module.exports = a; >module.exports : Symbol(exports, Decl(file.js, 0, 0)) >module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) +>exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) === index.js === @@ -34,8 +34,5 @@ const a = {}; >a : Symbol(a, Decl(file.js, 2, 5)) module.exports = a; ->module.exports : Symbol(exports, Decl(file.js, 0, 0)) ->module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols.diff index d7bf6812075..bea64c7f85e 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).symbols.diff @@ -6,18 +6,7 @@ module.exports = a; ->module.exports : Symbol(module.exports, Decl(file.js, 0, 0)) ->module : Symbol(export=, Decl(file.js, 1, 13)) -->exports : Symbol(export=, Decl(file.js, 1, 13)) +>module.exports : Symbol(exports, Decl(file.js, 0, 0)) +>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) + >exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) - - === index.js === -@@= skipped -20, +20 lines =@@ - >a : Symbol(a, Decl(file.js, 2, 5)) - - module.exports = a; -+>module.exports : Symbol(exports, Decl(file.js, 0, 0)) -+>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) - >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types index 90fbeebc73c..8f23836f0b3 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types @@ -40,8 +40,8 @@ const a = {}; module.exports = a; >module.exports = a : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : any +>exports : any >a : {} diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types.diff index 3d9b094d585..b001b30cd59 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).types.diff @@ -5,11 +5,7 @@ module.exports = a; ->module.exports = a : any -->module.exports : any -->module : any -->exports : any +>module.exports = a : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} - >a : {} + >module.exports : any + >module : any + >exports : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt index 8c6dc053088..0d3a1ddfa8f 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt @@ -1,4 +1,5 @@ file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. +file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. @@ -22,13 +23,15 @@ subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ~~~~~~~~~~~ !!! error TS8003: 'export =' can only be used in TypeScript files. -==== file.js (1 errors) ==== +==== file.js (2 errors) ==== // esm format file import "fs"; ~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. const a = {}; module.exports = a; + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== package.json (0 errors) ==== { "name": "package", diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt.diff deleted file mode 100644 index e7654e77787..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.nodeModulesAllowJsExportAssignment(module=node20).errors.txt -+++ new.nodeModulesAllowJsExportAssignment(module=node20).errors.txt -@@= skipped -0, +0 lines =@@ - file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. --file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. - subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. -@@= skipped -22, +21 lines =@@ - !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - ~~~~~~~~~~~ - !!! error TS8003: 'export =' can only be used in TypeScript files. --==== file.js (2 errors) ==== -+==== file.js (1 errors) ==== - // esm format file - import "fs"; - ~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. - const a = {}; - module.exports = a; -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - ==== package.json (0 errors) ==== - { - "name": "package", \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js index 945d2354d79..2305e2ee032 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js @@ -60,5 +60,3 @@ declare const a: {}; export = a; //// [file.d.ts] import "fs"; -declare const a: {}; -export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff index e38ec25c16d..10b6a06b1e5 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff @@ -17,6 +17,4 @@ +export = a; //// [file.d.ts] -export {}; -+import "fs"; -+declare const a: {}; -+export = a; \ No newline at end of file ++import "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols index c3c9c8f46b5..c5393ec3ee4 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols @@ -16,7 +16,7 @@ const a = {}; module.exports = a; >module.exports : Symbol(exports, Decl(file.js, 0, 0)) >module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) +>exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) === index.js === @@ -34,8 +34,5 @@ const a = {}; >a : Symbol(a, Decl(file.js, 2, 5)) module.exports = a; ->module.exports : Symbol(exports, Decl(file.js, 0, 0)) ->module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols.diff index 72b9b5bba4b..da2c1188bd5 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).symbols.diff @@ -6,18 +6,7 @@ module.exports = a; ->module.exports : Symbol(module.exports, Decl(file.js, 0, 0)) ->module : Symbol(export=, Decl(file.js, 1, 13)) -->exports : Symbol(export=, Decl(file.js, 1, 13)) +>module.exports : Symbol(exports, Decl(file.js, 0, 0)) +>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) + >exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) - - === index.js === -@@= skipped -20, +20 lines =@@ - >a : Symbol(a, Decl(file.js, 2, 5)) - - module.exports = a; -+>module.exports : Symbol(exports, Decl(file.js, 0, 0)) -+>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) - >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types index 90fbeebc73c..8f23836f0b3 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types @@ -40,8 +40,8 @@ const a = {}; module.exports = a; >module.exports = a : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : any +>exports : any >a : {} diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types.diff index 57c54188577..6820edfd565 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).types.diff @@ -5,11 +5,7 @@ module.exports = a; ->module.exports = a : any -->module.exports : any -->module : any -->exports : any +>module.exports = a : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} - >a : {} + >module.exports : any + >module : any + >exports : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt index 8c6dc053088..0d3a1ddfa8f 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt @@ -1,4 +1,5 @@ file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. +file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. @@ -22,13 +23,15 @@ subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. ~~~~~~~~~~~ !!! error TS8003: 'export =' can only be used in TypeScript files. -==== file.js (1 errors) ==== +==== file.js (2 errors) ==== // esm format file import "fs"; ~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. const a = {}; module.exports = a; + ~~~~~~ +!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. ==== package.json (0 errors) ==== { "name": "package", diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt.diff deleted file mode 100644 index f7a25d76525..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- old.nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt -+++ new.nodeModulesAllowJsExportAssignment(module=nodenext).errors.txt -@@= skipped -0, +0 lines =@@ - file.js(2,8): error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. --file.js(4,1): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - index.js(3,1): error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. - subfolder/index.js(3,1): error TS8003: 'export =' can only be used in TypeScript files. -@@= skipped -22, +21 lines =@@ - !!! error TS1203: Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead. - ~~~~~~~~~~~ - !!! error TS8003: 'export =' can only be used in TypeScript files. --==== file.js (2 errors) ==== -+==== file.js (1 errors) ==== - // esm format file - import "fs"; - ~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'fs'. - const a = {}; - module.exports = a; -- ~~~~~~ --!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - ==== package.json (0 errors) ==== - { - "name": "package", \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js index 945d2354d79..2305e2ee032 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js @@ -60,5 +60,3 @@ declare const a: {}; export = a; //// [file.d.ts] import "fs"; -declare const a: {}; -export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff index bd690ec94cb..6128e581d4e 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff @@ -17,6 +17,4 @@ +export = a; //// [file.d.ts] -export {}; -+import "fs"; -+declare const a: {}; -+export = a; \ No newline at end of file ++import "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols index c3c9c8f46b5..c5393ec3ee4 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols @@ -16,7 +16,7 @@ const a = {}; module.exports = a; >module.exports : Symbol(exports, Decl(file.js, 0, 0)) >module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) +>exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) === index.js === @@ -34,8 +34,5 @@ const a = {}; >a : Symbol(a, Decl(file.js, 2, 5)) module.exports = a; ->module.exports : Symbol(exports, Decl(file.js, 0, 0)) ->module : Symbol(module, Decl(file.js, 0, 0)) ->exports : Symbol(exports, Decl(file.js, 0, 0)) >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols.diff index 922d124ecbb..4cdc8752886 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).symbols.diff @@ -6,18 +6,7 @@ module.exports = a; ->module.exports : Symbol(module.exports, Decl(file.js, 0, 0)) ->module : Symbol(export=, Decl(file.js, 1, 13)) -->exports : Symbol(export=, Decl(file.js, 1, 13)) +>module.exports : Symbol(exports, Decl(file.js, 0, 0)) +>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) + >exports : Symbol(export=, Decl(file.js, 1, 13)) >a : Symbol(a, Decl(file.js, 1, 5)) - - === index.js === -@@= skipped -20, +20 lines =@@ - >a : Symbol(a, Decl(file.js, 2, 5)) - - module.exports = a; -+>module.exports : Symbol(exports, Decl(file.js, 0, 0)) -+>module : Symbol(module, Decl(file.js, 0, 0)) -+>exports : Symbol(exports, Decl(file.js, 0, 0)) - >a : Symbol(a, Decl(file.js, 2, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types index 90fbeebc73c..8f23836f0b3 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types @@ -40,8 +40,8 @@ const a = {}; module.exports = a; >module.exports = a : {} ->module.exports : {} ->module : { exports: {}; } ->exports : {} +>module.exports : any +>module : any +>exports : any >a : {} diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types.diff index 4eb64b20be1..9d4af5b80ac 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).types.diff @@ -5,11 +5,7 @@ module.exports = a; ->module.exports = a : any -->module.exports : any -->module : any -->exports : any +>module.exports = a : {} -+>module.exports : {} -+>module : { exports: {}; } -+>exports : {} - >a : {} + >module.exports : any + >module : any + >exports : any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt index 65574d181dd..82115b7026d 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt @@ -1,4 +1,5 @@ /3.cjs(1,8): error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. +/3.cjs(2,1): error TS2304: Cannot find name 'exports'. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. @@ -8,11 +9,13 @@ ==== /2.cjs (0 errors) ==== exports.foo = 0; -==== /3.cjs (1 errors) ==== +==== /3.cjs (2 errors) ==== import "foo"; ~~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. exports.foo = {}; + ~~~~~~~ +!!! error TS2304: Cannot find name 'exports'. ==== /4.cjs (0 errors) ==== ; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff deleted file mode 100644 index 95cdf26767f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.nodeModulesCJSEmit1(module=node18).errors.txt -+++ new.nodeModulesCJSEmit1(module=node18).errors.txt -@@= skipped -0, +0 lines =@@ - /3.cjs(1,8): error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. --/3.cjs(2,1): error TS2304: Cannot find name 'exports'. - /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. - - -@@= skipped -8, +7 lines =@@ - ==== /2.cjs (0 errors) ==== - exports.foo = 0; - --==== /3.cjs (2 errors) ==== -+==== /3.cjs (1 errors) ==== - import "foo"; - ~~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. - exports.foo = {}; -- ~~~~~~~ --!!! error TS2304: Cannot find name 'exports'. - - ==== /4.cjs (0 errors) ==== - ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt index 65574d181dd..82115b7026d 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt @@ -1,4 +1,5 @@ /3.cjs(1,8): error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. +/3.cjs(2,1): error TS2304: Cannot find name 'exports'. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. @@ -8,11 +9,13 @@ ==== /2.cjs (0 errors) ==== exports.foo = 0; -==== /3.cjs (1 errors) ==== +==== /3.cjs (2 errors) ==== import "foo"; ~~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. exports.foo = {}; + ~~~~~~~ +!!! error TS2304: Cannot find name 'exports'. ==== /4.cjs (0 errors) ==== ; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff deleted file mode 100644 index ed15731072f..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.nodeModulesCJSEmit1(module=node20).errors.txt -+++ new.nodeModulesCJSEmit1(module=node20).errors.txt -@@= skipped -0, +0 lines =@@ - /3.cjs(1,8): error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. --/3.cjs(2,1): error TS2304: Cannot find name 'exports'. - /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. - - -@@= skipped -8, +7 lines =@@ - ==== /2.cjs (0 errors) ==== - exports.foo = 0; - --==== /3.cjs (2 errors) ==== -+==== /3.cjs (1 errors) ==== - import "foo"; - ~~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. - exports.foo = {}; -- ~~~~~~~ --!!! error TS2304: Cannot find name 'exports'. - - ==== /4.cjs (0 errors) ==== - ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt index 65574d181dd..82115b7026d 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt @@ -1,4 +1,5 @@ /3.cjs(1,8): error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. +/3.cjs(2,1): error TS2304: Cannot find name 'exports'. /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. @@ -8,11 +9,13 @@ ==== /2.cjs (0 errors) ==== exports.foo = 0; -==== /3.cjs (1 errors) ==== +==== /3.cjs (2 errors) ==== import "foo"; ~~~~~ !!! error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. exports.foo = {}; + ~~~~~~~ +!!! error TS2304: Cannot find name 'exports'. ==== /4.cjs (0 errors) ==== ; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff deleted file mode 100644 index 6dc03e4128e..00000000000 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).errors.txt.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.nodeModulesCJSEmit1(module=nodenext).errors.txt -+++ new.nodeModulesCJSEmit1(module=nodenext).errors.txt -@@= skipped -0, +0 lines =@@ - /3.cjs(1,8): error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. --/3.cjs(2,1): error TS2304: Cannot find name 'exports'. - /5.cjs(2,8): error TS1192: Module '"/3"' has no default export. - - -@@= skipped -8, +7 lines =@@ - ==== /2.cjs (0 errors) ==== - exports.foo = 0; - --==== /3.cjs (2 errors) ==== -+==== /3.cjs (1 errors) ==== - import "foo"; - ~~~~~ - !!! error TS2882: Cannot find module or type declarations for side-effect import of 'foo'. - exports.foo = {}; -- ~~~~~~~ --!!! error TS2304: Cannot find name 'exports'. - - ==== /4.cjs (0 errors) ==== - ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols b/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols index 573e36f801f..340015c5a6c 100644 --- a/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols +++ b/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols @@ -18,7 +18,7 @@ f(1, n => { }) module.exports = function (x, k) { return k(x) } >module.exports : Symbol(exports, Decl(first.js, 0, 0)) >module : Symbol(module, Decl(first.js, 0, 0)) ->exports : Symbol(exports, Decl(first.js, 0, 0)) +>exports : Symbol(export=, Decl(first.js, 0, 0)) >x : Symbol(x, Decl(first.js, 4, 27)) >k : Symbol(k, Decl(first.js, 4, 29)) >k : Symbol(k, Decl(first.js, 4, 29)) diff --git a/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols.diff b/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols.diff index d035e24ca76..917453c8979 100644 --- a/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/paramTagTypeResolution.symbols.diff @@ -6,10 +6,8 @@ module.exports = function (x, k) { return k(x) } ->module.exports : Symbol(module.exports, Decl(first.js, 0, 0)) ->module : Symbol(export=, Decl(first.js, 0, 0)) -->exports : Symbol(export=, Decl(first.js, 0, 0)) +>module.exports : Symbol(exports, Decl(first.js, 0, 0)) +>module : Symbol(module, Decl(first.js, 0, 0)) -+>exports : Symbol(exports, Decl(first.js, 0, 0)) + >exports : Symbol(export=, Decl(first.js, 0, 0)) >x : Symbol(x, Decl(first.js, 4, 27)) - >k : Symbol(k, Decl(first.js, 4, 29)) >k : Symbol(k, Decl(first.js, 4, 29)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols index 3f5f37baeb9..211b120355f 100644 --- a/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols +++ b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols @@ -4,7 +4,7 @@ module.exports = { >module.exports : Symbol(exports, Decl(constants.js, 0, 0)) >module : Symbol(module, Decl(constants.js, 0, 0)) ->exports : Symbol(exports, Decl(constants.js, 0, 0)) +>exports : Symbol(export=, Decl(constants.js, 0, 0)) str: 'x', >str : Symbol(str, Decl(constants.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols.diff b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols.diff index 511c0c37df4..5ec449477eb 100644 --- a/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.symbols.diff @@ -6,10 +6,8 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(constants.js, 0, 0)) ->module : Symbol(export=, Decl(constants.js, 0, 0)) -->exports : Symbol(export=, Decl(constants.js, 0, 0)) +>module.exports : Symbol(exports, Decl(constants.js, 0, 0)) +>module : Symbol(module, Decl(constants.js, 0, 0)) -+>exports : Symbol(exports, Decl(constants.js, 0, 0)) + >exports : Symbol(export=, Decl(constants.js, 0, 0)) - str: 'x', - >str : Symbol(str, Decl(constants.js, 0, 18)) \ No newline at end of file + str: 'x', \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols index 4bd02da4c85..77919711b3d 100644 --- a/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols +++ b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols @@ -19,7 +19,7 @@ console.log(value) module.exports = { >module.exports : Symbol(exports, Decl(mod.js, 0, 0)) >module : Symbol(module, Decl(mod.js, 0, 0)) ->exports : Symbol(exports, Decl(mod.js, 0, 0)) +>exports : Symbol(export=, Decl(mod.js, 0, 0)) x: { >x : Symbol(x, Decl(mod.js, 0, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols.diff b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols.diff index bcc6f82e0e0..f381929cb39 100644 --- a/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.symbols.diff @@ -14,10 +14,8 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(mod.js, 0, 0)) ->module : Symbol(export=, Decl(mod.js, 0, 0)) -->exports : Symbol(export=, Decl(mod.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod.js, 0, 0)) +>module : Symbol(module, Decl(mod.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod.js, 0, 0)) + >exports : Symbol(export=, Decl(mod.js, 0, 0)) - x: { - >x : Symbol(x, Decl(mod.js, 0, 18)) \ No newline at end of file + x: { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols index 645c7a0ebcf..693f1d06913 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols @@ -40,7 +40,7 @@ declare var module: any; module.exports = minimatch >module.exports : Symbol(exports, Decl(minimatch.js, 0, 0)) >module : Symbol(module, Decl(minimatch.js, 0, 0)) ->exports : Symbol(exports, Decl(minimatch.js, 0, 0)) +>exports : Symbol(export=, Decl(minimatch.js, 0, 0)) >minimatch : Symbol(minimatch, Decl(minimatch.js, 6, 1)) minimatch.M = M diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols.diff index ad1dce07f3e..d5cfc7f98dc 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment17.symbols.diff @@ -16,11 +16,10 @@ module.exports = minimatch ->module.exports : Symbol(module.exports, Decl(minimatch.js, 0, 0)) ->module : Symbol(export=, Decl(minimatch.js, 0, 0)) -->exports : Symbol(export=, Decl(minimatch.js, 0, 0)) -->minimatch : Symbol(minimatch, Decl(minimatch.js, 6, 1), Decl(minimatch.js, 1, 26), Decl(minimatch.js, 2, 15)) +>module.exports : Symbol(exports, Decl(minimatch.js, 0, 0)) +>module : Symbol(module, Decl(minimatch.js, 0, 0)) -+>exports : Symbol(exports, Decl(minimatch.js, 0, 0)) + >exports : Symbol(export=, Decl(minimatch.js, 0, 0)) +->minimatch : Symbol(minimatch, Decl(minimatch.js, 6, 1), Decl(minimatch.js, 1, 26), Decl(minimatch.js, 2, 15)) +>minimatch : Symbol(minimatch, Decl(minimatch.js, 6, 1)) minimatch.M = M diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.errors.txt b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.errors.txt deleted file mode 100644 index ae7c3d19626..00000000000 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.errors.txt +++ /dev/null @@ -1,23 +0,0 @@ -index.js(2,19): error TS2306: File 'semver.js' is not a module. -semver.js(2,1): error TS2304: Cannot find name 'exports'. - - -==== index.js (1 errors) ==== - /// - const C = require("./semver") - ~~~~~~~~~~ -!!! error TS2306: File 'semver.js' is not a module. - var two = C.f(1) - -==== types.d.ts (0 errors) ==== - declare var require: any; - declare var module: any; -==== semver.js (1 errors) ==== - /// - exports = module.exports = C - ~~~~~~~ -!!! error TS2304: Cannot find name 'exports'. - C.f = n => n + 1 - function C() { - this.p = 1 - } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.errors.txt.diff deleted file mode 100644 index 861990632bf..00000000000 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.errors.txt.diff +++ /dev/null @@ -1,27 +0,0 @@ ---- old.typeFromPropertyAssignment19.errors.txt -+++ new.typeFromPropertyAssignment19.errors.txt -@@= skipped -0, +0 lines =@@ -- -+index.js(2,19): error TS2306: File 'semver.js' is not a module. -+semver.js(2,1): error TS2304: Cannot find name 'exports'. -+ -+ -+==== index.js (1 errors) ==== -+ /// -+ const C = require("./semver") -+ ~~~~~~~~~~ -+!!! error TS2306: File 'semver.js' is not a module. -+ var two = C.f(1) -+ -+==== types.d.ts (0 errors) ==== -+ declare var require: any; -+ declare var module: any; -+==== semver.js (1 errors) ==== -+ /// -+ exports = module.exports = C -+ ~~~~~~~ -+!!! error TS2304: Cannot find name 'exports'. -+ C.f = n => n + 1 -+ function C() { -+ this.p = 1 -+ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols index 413ee0637be..c40486aea67 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols @@ -5,10 +5,13 @@ const C = require("./semver") >C : Symbol(C, Decl(index.js, 1, 5)) >require : Symbol(require, Decl(types.d.ts, 0, 11)) +>"./semver" : Symbol("./semver", Decl(semver.js, 0, 0)) var two = C.f(1) >two : Symbol(two, Decl(index.js, 2, 3)) +>C.f : Symbol(C.f, Decl(semver.js, 1, 28)) >C : Symbol(C, Decl(index.js, 1, 5)) +>f : Symbol(C.f, Decl(semver.js, 1, 28)) === types.d.ts === declare var require: any; @@ -20,7 +23,10 @@ declare var module: any; === semver.js === /// exports = module.exports = C ->module : Symbol(module, Decl(types.d.ts, 1, 11)) +>exports : Symbol("./semver", Decl(semver.js, 0, 0)) +>module.exports : Symbol(exports, Decl(semver.js, 0, 0)) +>module : Symbol(module, Decl(semver.js, 0, 0)) +>exports : Symbol(export=, Decl(semver.js, 1, 9)) >C : Symbol(C, Decl(semver.js, 2, 16)) C.f = n => n + 1 diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols.diff index f389df68218..c032527d5c1 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.symbols.diff @@ -1,29 +1,15 @@ --- old.typeFromPropertyAssignment19.symbols +++ new.typeFromPropertyAssignment19.symbols -@@= skipped -4, +4 lines =@@ - const C = require("./semver") - >C : Symbol(C, Decl(index.js, 1, 5)) - >require : Symbol(require, Decl(types.d.ts, 0, 11)) -->"./semver" : Symbol("./semver", Decl(semver.js, 0, 0)) - - var two = C.f(1) - >two : Symbol(two, Decl(index.js, 2, 3)) -->C.f : Symbol(C.f, Decl(semver.js, 1, 28)) - >C : Symbol(C, Decl(index.js, 1, 5)) -->f : Symbol(C.f, Decl(semver.js, 1, 28)) - - === types.d.ts === - declare var require: any; -@@= skipped -18, +15 lines =@@ - === semver.js === +@@= skipped -23, +23 lines =@@ /// exports = module.exports = C -->exports : Symbol("./semver", Decl(semver.js, 0, 0)) + >exports : Symbol("./semver", Decl(semver.js, 0, 0)) ->module.exports : Symbol(module.exports, Decl(semver.js, 0, 0)) ->module : Symbol(export=, Decl(semver.js, 1, 9)) -->exports : Symbol(export=, Decl(semver.js, 1, 9)) ++>module.exports : Symbol(exports, Decl(semver.js, 0, 0)) ++>module : Symbol(module, Decl(semver.js, 0, 0)) + >exports : Symbol(export=, Decl(semver.js, 1, 9)) ->C : Symbol(C, Decl(semver.js, 2, 16), Decl(semver.js, 1, 28)) -+>module : Symbol(module, Decl(types.d.ts, 1, 11)) +>C : Symbol(C, Decl(semver.js, 2, 16)) C.f = n => n + 1 diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types index 4a10207ef14..84070f3c2b0 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types @@ -3,17 +3,17 @@ === index.js === /// const C = require("./semver") ->C : any ->require("./semver") : any +>C : { (): void; f: (n: any) => any; } +>require("./semver") : { (): void; f: (n: any) => any; } >require : any >"./semver" : "./semver" var two = C.f(1) >two : any >C.f(1) : any ->C.f : any ->C : any ->f : any +>C.f : (n: any) => any +>C : { (): void; f: (n: any) => any; } +>f : (n: any) => any >1 : 1 === types.d.ts === @@ -27,11 +27,11 @@ declare var module: any; /// exports = module.exports = C >exports = module.exports = C : { (): void; f: (n: any) => any; } ->exports : any +>exports : { (): void; f: (n: any) => any; } >module.exports = C : { (): void; f: (n: any) => any; } ->module.exports : any ->module : any ->exports : any +>module.exports : { (): void; f: (n: any) => any; } +>module : { exports: { (): void; f: (n: any) => any; }; } +>exports : { (): void; f: (n: any) => any; } >C : { (): void; f: (n: any) => any; } C.f = n => n + 1 diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types.diff index 9e4b30cdaa1..dedf3da7967 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types.diff +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment19.types.diff @@ -6,24 +6,21 @@ const C = require("./semver") ->C : typeof C ->require("./semver") : typeof C -+>C : any -+>require("./semver") : any ++>C : { (): void; f: (n: any) => any; } ++>require("./semver") : { (): void; f: (n: any) => any; } >require : any >"./semver" : "./semver" - var two = C.f(1) +@@= skipped -9, +9 lines =@@ >two : any >C.f(1) : any -->C.f : (n: any) => any + >C.f : (n: any) => any ->C : typeof C -->f : (n: any) => any -+>C.f : any -+>C : any -+>f : any ++>C : { (): void; f: (n: any) => any; } + >f : (n: any) => any >1 : 1 - === types.d.ts === -@@= skipped -23, +23 lines =@@ +@@= skipped -14, +14 lines =@@ === semver.js === /// exports = module.exports = C @@ -35,11 +32,11 @@ ->exports : typeof C ->C : typeof C +>exports = module.exports = C : { (): void; f: (n: any) => any; } -+>exports : any ++>exports : { (): void; f: (n: any) => any; } +>module.exports = C : { (): void; f: (n: any) => any; } -+>module.exports : any -+>module : any -+>exports : any ++>module.exports : { (): void; f: (n: any) => any; } ++>module : { exports: { (): void; f: (n: any) => any; }; } ++>exports : { (): void; f: (n: any) => any; } +>C : { (): void; f: (n: any) => any; } C.f = n => n + 1 diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.errors.txt b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.errors.txt deleted file mode 100644 index b10b2af7b6b..00000000000 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.errors.txt +++ /dev/null @@ -1,24 +0,0 @@ -mod.js(1,14): error TS2304: Cannot find name 'exports'. -mod.js(1,24): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. -use.js(1,22): error TS2306: File 'mod.js' is not a module. - - -==== use.js (1 errors) ==== - const util = require('./mod') - ~~~~~~~ -!!! error TS2306: File 'mod.js' is not a module. - function n() { - util.existy // no error - } - util.existy // no error - -==== mod.js (2 errors) ==== - const util = exports = module.exports = {} - ~~~~~~~ -!!! error TS2304: Cannot find name 'exports'. - ~~~~~~ -!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. - if (!!false) { - util.existy = function () { } - } - \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.errors.txt.diff deleted file mode 100644 index 668b62c93ba..00000000000 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.errors.txt.diff +++ /dev/null @@ -1,28 +0,0 @@ ---- old.typeFromPropertyAssignment37.errors.txt -+++ new.typeFromPropertyAssignment37.errors.txt -@@= skipped -0, +0 lines =@@ -- -+mod.js(1,14): error TS2304: Cannot find name 'exports'. -+mod.js(1,24): error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. -+use.js(1,22): error TS2306: File 'mod.js' is not a module. -+ -+ -+==== use.js (1 errors) ==== -+ const util = require('./mod') -+ ~~~~~~~ -+!!! error TS2306: File 'mod.js' is not a module. -+ function n() { -+ util.existy // no error -+ } -+ util.existy // no error -+ -+==== mod.js (2 errors) ==== -+ const util = exports = module.exports = {} -+ ~~~~~~~ -+!!! error TS2304: Cannot find name 'exports'. -+ ~~~~~~ -+!!! error TS2591: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig. -+ if (!!false) { -+ util.existy = function () { } -+ } -+ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols index 218408dd07d..325504b36b8 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols @@ -4,6 +4,7 @@ const util = require('./mod') >util : Symbol(util, Decl(use.js, 0, 5)) >require : Symbol(require) +>'./mod' : Symbol("./mod", Decl(mod.js, 0, 0)) function n() { >n : Symbol(n, Decl(use.js, 0, 29)) @@ -17,6 +18,10 @@ util.existy // no error === mod.js === const util = exports = module.exports = {} >util : Symbol(util, Decl(mod.js, 0, 5)) +>exports : Symbol("./mod", Decl(mod.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod.js, 0, 0)) +>module : Symbol(module, Decl(mod.js, 0, 0)) +>exports : Symbol(export=, Decl(mod.js, 0, 22)) if (!!false) { util.existy = function () { } diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols.diff index 258cf6e6421..17756d39e04 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.symbols.diff @@ -5,6 +5,7 @@ >util : Symbol(util, Decl(use.js, 0, 5)) >require : Symbol(require) ->'./mod' : Symbol(util, Decl(mod.js, 0, 0)) ++>'./mod' : Symbol("./mod", Decl(mod.js, 0, 0)) function n() { >n : Symbol(n, Decl(use.js, 0, 29)) @@ -22,10 +23,13 @@ === mod.js === const util = exports = module.exports = {} >util : Symbol(util, Decl(mod.js, 0, 5)) -->exports : Symbol("./mod", Decl(mod.js, 0, 0)) + >exports : Symbol("./mod", Decl(mod.js, 0, 0)) ->module.exports : Symbol(module.exports, Decl(mod.js, 0, 0)) ->module : Symbol(module, Decl(mod.js, 0, 22)) ->exports : Symbol(module.exports, Decl(mod.js, 0, 0)) ++>module.exports : Symbol(exports, Decl(mod.js, 0, 0)) ++>module : Symbol(module, Decl(mod.js, 0, 0)) ++>exports : Symbol(export=, Decl(mod.js, 0, 22)) if (!!false) { util.existy = function () { } diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types index 6dbb6c85d99..c0354546f85 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types @@ -2,8 +2,8 @@ === use.js === const util = require('./mod') ->util : any ->require('./mod') : any +>util : {} +>require('./mod') : {} >require : any >'./mod' : "./mod" @@ -12,23 +12,23 @@ function n() { util.existy // no error >util.existy : any ->util : any +>util : {} >existy : any } util.existy // no error >util.existy : any ->util : any +>util : {} >existy : any === mod.js === const util = exports = module.exports = {} >util : {} >exports = module.exports = {} : {} ->exports : any +>exports : {} >module.exports = {} : {} ->module.exports : any ->module : any ->exports : any +>module.exports : {} +>module : { exports: {}; } +>exports : {} >{} : {} if (!!false) { diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types.diff index 1295dc7f67b..c8b5017ef54 100644 --- a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types.diff +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment37.types.diff @@ -6,8 +6,8 @@ const util = require('./mod') ->util : typeof util ->require('./mod') : typeof util -+>util : any -+>require('./mod') : any ++>util : {} ++>require('./mod') : {} >require : any >'./mod' : "./mod" @@ -19,7 +19,7 @@ ->util : typeof util ->existy : () => void +>util.existy : any -+>util : any ++>util : {} +>existy : any } util.existy // no error @@ -27,7 +27,7 @@ ->util : typeof util ->existy : () => void +>util.existy : any -+>util : any ++>util : {} +>existy : any === mod.js === @@ -41,11 +41,11 @@ ->exports : typeof module.exports +>util : {} +>exports = module.exports = {} : {} -+>exports : any ++>exports : {} +>module.exports = {} : {} -+>module.exports : any -+>module : any -+>exports : any ++>module.exports : {} ++>module : { exports: {}; } ++>exports : {} >{} : {} if (!!false) { diff --git a/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols b/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols index 579d9767187..453a074dcb1 100644 --- a/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols +++ b/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols @@ -5,5 +5,5 @@ module.exports = 0; >module.exports : Symbol(exports, Decl(bug27327.js, 0, 0)) >module : Symbol(module, Decl(bug27327.js, 0, 0)) ->exports : Symbol(exports, Decl(bug27327.js, 0, 0)) +>exports : Symbol(export=, Decl(bug27327.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols.diff b/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols.diff index 5f78e7bb625..89ebdabd9a0 100644 --- a/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typeTagModuleExports.symbols.diff @@ -6,7 +6,6 @@ module.exports = 0; ->module.exports : Symbol(module.exports, Decl(bug27327.js, 0, 0)) ->module : Symbol(export=, Decl(bug27327.js, 0, 0)) -->exports : Symbol(export=, Decl(bug27327.js, 0, 0)) +>module.exports : Symbol(exports, Decl(bug27327.js, 0, 0)) +>module : Symbol(module, Decl(bug27327.js, 0, 0)) -+>exports : Symbol(exports, Decl(bug27327.js, 0, 0)) + >exports : Symbol(export=, Decl(bug27327.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols b/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols index 4cd624d52f7..66a3df411ca 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols @@ -13,7 +13,7 @@ declare var module: { exports: any}; module.exports = C >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 0, 0)) >C : Symbol(C, Decl(mod1.js, 4, 18)) function C() { diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols.diff b/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols.diff index fbd54dd44c9..687eeb71159 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule.symbols.diff @@ -6,13 +6,12 @@ module.exports = C ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 0, 0)) -->exports : Symbol(export=, Decl(mod1.js, 0, 0)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 0, 0)) >C : Symbol(C, Decl(mod1.js, 4, 18)) - function C() { +@@= skipped -9, +9 lines =@@ >C : Symbol(C, Decl(mod1.js, 4, 18)) this.p = 1 @@ -22,7 +21,7 @@ } === mod2.js === -@@= skipped -24, +21 lines =@@ +@@= skipped -15, +12 lines =@@ >C : Symbol(C, Decl(mod2.js, 0, 0)) this.p = 1 diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt index 33ffe22fde8..08f863ac31d 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt @@ -1,4 +1,10 @@ +mod1.js(3,23): error TS2300: Duplicate identifier 'Foo'. +mod1.js(4,7): error TS2300: Duplicate identifier 'Foo'. +mod1.js(7,9): error TS2339: Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. + Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. mod1.js(10,1): error TS2309: An export assignment cannot be used in a module with other exported elements. +mod1.js(20,9): error TS2339: Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. + Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. use.js(6,15): error TS18048: 'mod.Baz' is possibly 'undefined'. @@ -12,14 +18,21 @@ use.js(6,15): error TS18048: 'mod.Baz' is possibly 'undefined'. ~~~~~~~ !!! error TS18048: 'mod.Baz' is possibly 'undefined'. -==== mod1.js (1 errors) ==== +==== mod1.js (5 errors) ==== // error /** @typedef {number} Foo */ + ~~~ +!!! error TS2300: Duplicate identifier 'Foo'. class Foo { } // should error + ~~~ +!!! error TS2300: Duplicate identifier 'Foo'. /** @typedef {number} Bar */ exports.Bar = class { } + ~~~ +!!! error TS2339: Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. +!!! error TS2339: Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. /** @typedef {number} Baz */ module.exports = { @@ -37,6 +50,9 @@ use.js(6,15): error TS18048: 'mod.Baz' is possibly 'undefined'. /** @typedef {number} Quid */ exports.Quid = 2; + ~~~~ +!!! error TS2339: Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. +!!! error TS2339: Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. /** @typedef {number} Quack */ module.exports = { diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt.diff b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt.diff index d963602fad8..9b7cc1b7ec7 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.errors.txt.diff @@ -1,31 +1,34 @@ --- old.typedefCrossModule2.errors.txt +++ new.typedefCrossModule2.errors.txt @@= skipped -0, +0 lines =@@ --mod1.js(3,23): error TS2300: Duplicate identifier 'Foo'. --mod1.js(4,7): error TS2300: Duplicate identifier 'Foo'. + mod1.js(3,23): error TS2300: Duplicate identifier 'Foo'. + mod1.js(4,7): error TS2300: Duplicate identifier 'Foo'. -mod1.js(9,23): error TS2300: Duplicate identifier 'Baz'. -mod1.js(11,5): error TS2300: Duplicate identifier 'Baz'. ++mod1.js(7,9): error TS2339: Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. ++ Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. +mod1.js(10,1): error TS2309: An export assignment cannot be used in a module with other exported elements. ++mod1.js(20,9): error TS2339: Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. ++ Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. use.js(6,15): error TS18048: 'mod.Baz' is possibly 'undefined'. -@@= skipped -14, +11 lines =@@ +@@= skipped -14, +17 lines =@@ ~~~~~~~ !!! error TS18048: 'mod.Baz' is possibly 'undefined'. -==== mod1.js (4 errors) ==== -+==== mod1.js (1 errors) ==== ++==== mod1.js (5 errors) ==== // error /** @typedef {number} Foo */ -- ~~~ --!!! error TS2300: Duplicate identifier 'Foo'. - class Foo { } // should error -- ~~~ --!!! error TS2300: Duplicate identifier 'Foo'. +@@= skipped -12, +12 lines =@@ /** @typedef {number} Bar */ exports.Bar = class { } ++ ~~~ ++!!! error TS2339: Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. ++!!! error TS2339: Property 'Bar' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. /** @typedef {number} Baz */ - ~~~ @@ -43,4 +46,14 @@ +!!! error TS2309: An export assignment cannot be used in a module with other exported elements. // ok - \ No newline at end of file + +@@= skipped -19, +20 lines =@@ + + /** @typedef {number} Quid */ + exports.Quid = 2; ++ ~~~~ ++!!! error TS2339: Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; }'. ++!!! error TS2339: Property 'Quid' does not exist on type '{ Baz: typeof Baz; Quack?: undefined; }'. + + /** @typedef {number} Quack */ + module.exports = { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols index 30995f21272..b3f1996c694 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols @@ -25,19 +25,17 @@ var bbb = new mod.Baz(); /** @typedef {number} Foo */ class Foo { } // should error ->Foo : Symbol(Foo, Decl(mod1.js, 2, 4), Decl(mod1.js, 0, 0)) +>Foo : Symbol(Foo, Decl(mod1.js, 0, 0)) /** @typedef {number} Bar */ exports.Bar = class { } ->exports.Bar : Symbol(Bar, Decl(mod1.js, 5, 4), Decl(mod1.js, 3, 13)) >exports : Symbol("./mod1", Decl(mod1.js, 0, 0)) ->Bar : Symbol(Bar, Decl(mod1.js, 5, 4), Decl(mod1.js, 3, 13)) /** @typedef {number} Baz */ module.exports = { >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) Baz: class { } >Baz : Symbol(Baz, Decl(mod1.js, 9, 18)) @@ -47,19 +45,17 @@ module.exports = { /** @typedef {number} Qux */ var Qux = 2; ->Qux : Symbol(Qux, Decl(mod1.js, 15, 4), Decl(mod1.js, 16, 3)) +>Qux : Symbol(Qux, Decl(mod1.js, 16, 3), Decl(mod1.js, 15, 4)) /** @typedef {number} Quid */ exports.Quid = 2; ->exports.Quid : Symbol(Quid, Decl(mod1.js, 18, 4), Decl(mod1.js, 16, 12)) >exports : Symbol("./mod1", Decl(mod1.js, 0, 0)) ->Quid : Symbol(Quid, Decl(mod1.js, 18, 4), Decl(mod1.js, 16, 12)) /** @typedef {number} Quack */ module.exports = { >module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) >module : Symbol(module, Decl(mod1.js, 0, 0)) ->exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>exports : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) Quack: 2 >Quack : Symbol(Quack, Decl(mod1.js, 22, 18)) diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols.diff b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols.diff index 1dd6d31672c..e95a0d41f12 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.symbols.diff @@ -12,56 +12,39 @@ === mod1.js === // error - - /** @typedef {number} Foo */ - class Foo { } // should error -->Foo : Symbol(Foo, Decl(mod1.js, 0, 0)) -+>Foo : Symbol(Foo, Decl(mod1.js, 2, 4), Decl(mod1.js, 0, 0)) +@@= skipped -13, +13 lines =@@ /** @typedef {number} Bar */ exports.Bar = class { } ->exports.Bar : Symbol(Bar, Decl(mod1.js, 3, 13), Decl(mod1.js, 5, 4)) ->exports : Symbol(Bar, Decl(mod1.js, 3, 13), Decl(mod1.js, 5, 4)) ->Bar : Symbol(Bar, Decl(mod1.js, 3, 13), Decl(mod1.js, 5, 4)) -+>exports.Bar : Symbol(Bar, Decl(mod1.js, 5, 4), Decl(mod1.js, 3, 13)) +>exports : Symbol("./mod1", Decl(mod1.js, 0, 0)) -+>Bar : Symbol(Bar, Decl(mod1.js, 5, 4), Decl(mod1.js, 3, 13)) /** @typedef {number} Baz */ module.exports = { ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) -->exports : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) Baz: class { } - >Baz : Symbol(Baz, Decl(mod1.js, 9, 18)) -@@= skipped -31, +31 lines =@@ - - /** @typedef {number} Qux */ - var Qux = 2; -->Qux : Symbol(Qux, Decl(mod1.js, 16, 3), Decl(mod1.js, 15, 4)) -+>Qux : Symbol(Qux, Decl(mod1.js, 15, 4), Decl(mod1.js, 16, 3)) +@@= skipped -22, +20 lines =@@ /** @typedef {number} Quid */ exports.Quid = 2; ->exports.Quid : Symbol(Quid, Decl(mod1.js, 16, 12), Decl(mod1.js, 18, 4)) ->exports : Symbol(Quid, Decl(mod1.js, 16, 12), Decl(mod1.js, 18, 4)) ->Quid : Symbol(Quid, Decl(mod1.js, 16, 12), Decl(mod1.js, 18, 4)) -+>exports.Quid : Symbol(Quid, Decl(mod1.js, 18, 4), Decl(mod1.js, 16, 12)) +>exports : Symbol("./mod1", Decl(mod1.js, 0, 0)) -+>Quid : Symbol(Quid, Decl(mod1.js, 18, 4), Decl(mod1.js, 16, 12)) /** @typedef {number} Quack */ module.exports = { ->module.exports : Symbol(module.exports, Decl(mod1.js, 0, 0)) ->module : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) -->exports : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) +>module.exports : Symbol(exports, Decl(mod1.js, 0, 0)) +>module : Symbol(module, Decl(mod1.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod1.js, 0, 0)) + >exports : Symbol(export=, Decl(mod1.js, 6, 23), Decl(mod1.js, 19, 17)) - Quack: 2 - >Quack : Symbol(Quack, Decl(mod1.js, 22, 18)) \ No newline at end of file + Quack: 2 \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types index d573cd49459..a06c22cd763 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types @@ -32,9 +32,9 @@ class Foo { } // should error /** @typedef {number} Bar */ exports.Bar = class { } >exports.Bar = class { } : typeof Bar ->exports.Bar : typeof Bar ->exports : typeof import("./mod1") ->Bar : typeof Bar +>exports.Bar : any +>exports : { Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; } +>Bar : any >class { } : typeof Bar /** @typedef {number} Baz */ @@ -60,9 +60,9 @@ var Qux = 2; /** @typedef {number} Quid */ exports.Quid = 2; >exports.Quid = 2 : 2 ->exports.Quid : 2 ->exports : typeof import("./mod1") ->Quid : 2 +>exports.Quid : any +>exports : { Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; } +>Quid : any >2 : 2 /** @typedef {number} Quack */ diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types.diff b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types.diff index d9f4035c0a1..53bca53c3c8 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule2.types.diff @@ -20,13 +20,16 @@ >Baz : typeof Baz | undefined === mod1.js === -@@= skipped -14, +14 lines =@@ +@@= skipped -13, +13 lines =@@ + /** @typedef {number} Bar */ exports.Bar = class { } >exports.Bar = class { } : typeof Bar - >exports.Bar : typeof Bar +->exports.Bar : typeof Bar ->exports : { Bar: typeof Bar; Baz: typeof Baz; Quid: 2; Quack?: undefined; } | { Bar: typeof Bar; Baz?: undefined; Quid: 2; Quack: number; } -+>exports : typeof import("./mod1") - >Bar : typeof Bar +->Bar : typeof Bar ++>exports.Bar : any ++>exports : { Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; } ++>Bar : any >class { } : typeof Bar /** @typedef {number} Baz */ @@ -43,12 +46,15 @@ Baz: class { } @@= skipped -28, +28 lines =@@ + /** @typedef {number} Quid */ exports.Quid = 2; >exports.Quid = 2 : 2 - >exports.Quid : 2 +->exports.Quid : 2 ->exports : { Bar: typeof Bar; Baz: typeof Baz; Quid: 2; Quack?: undefined; } | { Bar: typeof Bar; Baz?: undefined; Quid: 2; Quack: number; } -+>exports : typeof import("./mod1") - >Quid : 2 +->Quid : 2 ++>exports.Quid : any ++>exports : { Baz: typeof Baz; Quack?: undefined; } | { Baz?: undefined; Quack: number; } ++>Quid : any >2 : 2 /** @typedef {number} Quack */ diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols b/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols index 5fb64548c43..54a60642d05 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols @@ -13,7 +13,7 @@ ns.Foo = class {} module.exports = ns; >module.exports : Symbol(exports, Decl(mod2.js, 0, 0)) >module : Symbol(module, Decl(mod2.js, 0, 0)) ->exports : Symbol(exports, Decl(mod2.js, 0, 0)) +>exports : Symbol(export=, Decl(mod2.js, 2, 17)) >ns : Symbol(ns, Decl(mod2.js, 1, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols.diff b/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols.diff index 438588b9d26..c4cfdbf32ed 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule3.symbols.diff @@ -18,10 +18,9 @@ module.exports = ns; ->module.exports : Symbol(module.exports, Decl(mod2.js, 0, 0)) ->module : Symbol(export=, Decl(mod2.js, 2, 17)) -->exports : Symbol(export=, Decl(mod2.js, 2, 17)) -->ns : Symbol(ns, Decl(mod2.js, 1, 5), Decl(mod2.js, 1, 14)) +>module.exports : Symbol(exports, Decl(mod2.js, 0, 0)) +>module : Symbol(module, Decl(mod2.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod2.js, 0, 0)) + >exports : Symbol(export=, Decl(mod2.js, 2, 17)) +->ns : Symbol(ns, Decl(mod2.js, 1, 5), Decl(mod2.js, 1, 14)) +>ns : Symbol(ns, Decl(mod2.js, 1, 5)) diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols b/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols index e3a3d6a55eb..866c3cdd2ba 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols @@ -8,7 +8,7 @@ class Bar { } module.exports = { Foo: Bar }; >module.exports : Symbol(exports, Decl(mod3.js, 0, 0)) >module : Symbol(module, Decl(mod3.js, 0, 0)) ->exports : Symbol(exports, Decl(mod3.js, 0, 0)) +>exports : Symbol(export=, Decl(mod3.js, 1, 13)) >Foo : Symbol(Foo, Decl(mod3.js, 2, 18)) >Bar : Symbol(Bar, Decl(mod3.js, 0, 0)) diff --git a/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols.diff b/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols.diff index 1fa36d12ad8..1988bf751ec 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefCrossModule4.symbols.diff @@ -6,9 +6,8 @@ module.exports = { Foo: Bar }; ->module.exports : Symbol(module.exports, Decl(mod3.js, 0, 0)) ->module : Symbol(export=, Decl(mod3.js, 1, 13)) -->exports : Symbol(export=, Decl(mod3.js, 1, 13)) +>module.exports : Symbol(exports, Decl(mod3.js, 0, 0)) +>module : Symbol(module, Decl(mod3.js, 0, 0)) -+>exports : Symbol(exports, Decl(mod3.js, 0, 0)) + >exports : Symbol(export=, Decl(mod3.js, 1, 13)) >Foo : Symbol(Foo, Decl(mod3.js, 2, 18)) - >Bar : Symbol(Bar, Decl(mod3.js, 0, 0)) + >Bar : Symbol(Bar, Decl(mod3.js, 0, 0)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types b/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types index 0449f6f6535..db9f1b224fc 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types +++ b/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types @@ -10,7 +10,7 @@ class C { */ /** @param {C~A} o */ constructor(o) { ->o : object +>o : C } } diff --git a/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types.diff b/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types.diff index 94ae1fd3e75..c063376f9b8 100644 --- a/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types.diff +++ b/testdata/baselines/reference/submodule/conformance/typedefInnerNamepaths.types.diff @@ -5,6 +5,6 @@ /** @param {C~A} o */ constructor(o) { ->o : any -+>o : object ++>o : C } } diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc index bf269035c5a..4e58f690063 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc @@ -1,3 +1,8 @@ // === findAllReferences === // === /bar.js === -// const { /*FIND ALL REFS*/[|foo|]: bar } = require('./foo'); \ No newline at end of file +// const { /*FIND ALL REFS*/[|foo|]: bar } = require('./foo'); + +// === /foo.js === +// module.exports = { +// [|foo|]: '1' +// }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc.diff deleted file mode 100644 index 85ddfdf7e6e..00000000000 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring.baseline.jsonc.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- old.findAllReferencesJsRequireDestructuring.baseline.jsonc -+++ new.findAllReferencesJsRequireDestructuring.baseline.jsonc -@@= skipped -0, +0 lines =@@ - // === findAllReferences === - // === /bar.js === - // const { /*FIND ALL REFS*/[|foo|]: bar } = require('./foo'); -- --// === /foo.js === --// module.exports = { --// [|foo|]: '1' --// }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc index cb07e32a568..9471df9cede 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc @@ -1,3 +1,6 @@ // === findAllReferences === +// === /X.js === +// module.exports = { [|x|]: 1 }; + // === /Y.js === // const { /*FIND ALL REFS*/[|x|]: { y } } = require("./X"); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc.diff deleted file mode 100644 index 92c7da07f43..00000000000 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllReferencesJsRequireDestructuring1.baseline.jsonc.diff +++ /dev/null @@ -1,9 +0,0 @@ ---- old.findAllReferencesJsRequireDestructuring1.baseline.jsonc -+++ new.findAllReferencesJsRequireDestructuring1.baseline.jsonc -@@= skipped -0, +0 lines =@@ - // === findAllReferences === --// === /X.js === --// module.exports = { [|x|]: 1 }; -- - // === /Y.js === - // const { /*FIND ALL REFS*/[|x|]: { y } } = require("./X"); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc index 28ff6fba967..32da9478e9c 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc @@ -2,9 +2,16 @@ // === /a.js === // module.exports = class /*FIND ALL REFS*/[|A|] {}; +// === /b.js === +// import [|A|] = require("./a"); +// [|A|]; + // === findAllReferences === +// === /a.js === +// module.exports = class [|A|] {}; + // === /b.js === // import /*FIND ALL REFS*/[|A|] = require("./a"); // [|A|]; @@ -12,6 +19,9 @@ // === findAllReferences === +// === /a.js === +// module.exports = class [|A|] {}; + // === /b.js === // import [|A|] = require("./a"); // /*FIND ALL REFS*/[|A|]; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc.diff deleted file mode 100644 index d0a82948b77..00000000000 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsClassExpression1.baseline.jsonc.diff +++ /dev/null @@ -1,29 +0,0 @@ ---- old.findAllRefsClassExpression1.baseline.jsonc -+++ new.findAllRefsClassExpression1.baseline.jsonc -@@= skipped -1, +1 lines =@@ - // === /a.js === - // module.exports = class /*FIND ALL REFS*/[|A|] {}; - --// === /b.js === --// import [|A|] = require("./a"); --// [|A|]; -- - - - // === findAllReferences === --// === /a.js === --// module.exports = class [|A|] {}; -- - // === /b.js === - // import /*FIND ALL REFS*/[|A|] = require("./a"); - // [|A|]; -@@= skipped -17, +10 lines =@@ - - - // === findAllReferences === --// === /a.js === --// module.exports = class [|A|] {}; -- - // === /b.js === - // import [|A|] = require("./a"); - // /*FIND ALL REFS*/[|A|]; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc index 16838bc5b69..a63d3658ef5 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc @@ -1,4 +1,8 @@ // === findAllReferences === +// === /a.js === +// function [|f|]() { } +// module.exports = { [|f|] } + // === /b.js === // const { [|f|] } = require('./a') // /*FIND ALL REFS*/[|f|] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc.diff deleted file mode 100644 index 7c31ca1d32e..00000000000 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsCommonJsRequire3.baseline.jsonc.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- old.findAllRefsCommonJsRequire3.baseline.jsonc -+++ new.findAllRefsCommonJsRequire3.baseline.jsonc -@@= skipped -0, +0 lines =@@ - // === findAllReferences === --// === /a.js === --// function [|f|]() { } --// module.exports = { [|f|] } -- - // === /b.js === - // const { [|f|] } = require('./a') - // /*FIND ALL REFS*/[|f|] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc index b485d39d58e..fb13ab53c01 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc @@ -9,10 +9,13 @@ // const b = require("/*FIND ALL REFS*/[|./b|]"); // === /b.js === -// [|module.exports = 0|]; +// [|module|].exports = 0; // === findAllReferences === +// === /a.js === +// const [|b|] = require("./b"); + // === /b.js === // /*FIND ALL REFS*/[|module|].exports = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc.diff index 722a9363383..034d20c5871 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc.diff +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/findAllRefsModuleDotExports.baseline.jsonc.diff @@ -1,17 +1,11 @@ --- old.findAllRefsModuleDotExports.baseline.jsonc +++ new.findAllRefsModuleDotExports.baseline.jsonc -@@= skipped -8, +8 lines =@@ - // const b = require("/*FIND ALL REFS*/[|./b|]"); - - // === /b.js === --// [|module|].exports = 0; -+// [|module.exports = 0|]; - - +@@= skipped -14, +14 lines =@@ // === findAllReferences === --// === /a.js === + // === /a.js === -// const b = require("[|./b|]"); -- ++// const [|b|] = require("./b"); + // === /b.js === // /*FIND ALL REFS*/[|module|].exports = 0; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc index eab27fdda94..4946a0d228e 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc @@ -2,6 +2,9 @@ // === /a.js === // module.exports = class /*FIND ALL REFS*/[|A|] {} +// === /b.js === +// const [|A|] = require("./a"); + // === findAllReferences === diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc.diff deleted file mode 100644 index 5420f48a2a6..00000000000 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports02.baseline.jsonc.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- old.renameJsExports02.baseline.jsonc -+++ new.renameJsExports02.baseline.jsonc -@@= skipped -1, +1 lines =@@ - // === /a.js === - // module.exports = class /*FIND ALL REFS*/[|A|] {} - --// === /b.js === --// const [|A|] = require("./a"); -- - - - // === findAllReferences === \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc index e6aca1fc85e..f81806f13f9 100644 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc @@ -5,6 +5,10 @@ // } // module.exports = [|A|]; +// === /b.js === +// const [|A|] = require("./a"); +// new [|A|]; + // === findAllReferences === @@ -14,6 +18,10 @@ // } // module.exports = A; +// === /b.js === +// const A = require("./a"); +// new [|A|]; + // === findAllReferences === diff --git a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc.diff deleted file mode 100644 index 84091f3206b..00000000000 --- a/testdata/baselines/reference/submodule/fourslash/findAllReferences/renameJsExports03.baseline.jsonc.diff +++ /dev/null @@ -1,23 +0,0 @@ ---- old.renameJsExports03.baseline.jsonc -+++ new.renameJsExports03.baseline.jsonc -@@= skipped -4, +4 lines =@@ - // } - // module.exports = [|A|]; - --// === /b.js === --// const [|A|] = require("./a"); --// new [|A|]; -- - - - // === findAllReferences === -@@= skipped -12, +8 lines =@@ - // /*FIND ALL REFS*/[|constructor|]() { } - // } - // module.exports = A; -- --// === /b.js === --// const A = require("./a"); --// new [|A|]; - - diff --git a/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc b/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc index 99aa18bed5e..a82795fbc68 100644 --- a/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc +++ b/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc @@ -3,7 +3,7 @@ // class Class { // f; // } -// <|module.exports.[|Class|] = Class|>; +// <|module.exports.[|Class|] = Class;|> // === /b.js === // const { Class } = require("./a"); diff --git a/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc.diff b/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc.diff index 9de0cc975ca..214eb082d6b 100644 --- a/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc.diff +++ b/testdata/baselines/reference/submodule/fourslash/goToDefinition/goToDefinitionImportedNames10.baseline.jsonc.diff @@ -9,7 +9,7 @@ -// }|> -// module.exports.Class = Class; +// } -+// <|module.exports.[|Class|] = Class|>; ++// <|module.exports.[|Class|] = Class;|> // === /b.js === // const { Class } = require("./a"); \ No newline at end of file diff --git a/testdata/baselines/reference/submoduleAccepted/compiler/amdLikeInputDeclarationEmit.symbols.diff b/testdata/baselines/reference/submoduleAccepted/compiler/amdLikeInputDeclarationEmit.symbols.diff index 301886ab243..d257832c9f1 100644 --- a/testdata/baselines/reference/submoduleAccepted/compiler/amdLikeInputDeclarationEmit.symbols.diff +++ b/testdata/baselines/reference/submoduleAccepted/compiler/amdLikeInputDeclarationEmit.symbols.diff @@ -5,8 +5,6 @@ module.exports = ExtendedClass ->module : Symbol(export=, Decl(ExtendedClass.js, 15, 22)) -->exports : Symbol(export=, Decl(ExtendedClass.js, 15, 22)) +>module : Symbol(module, Decl(ExtendedClass.js, 15, 9)) + >exports : Symbol(export=, Decl(ExtendedClass.js, 15, 22)) >ExtendedClass : Symbol(ExtendedClass, Decl(ExtendedClass.js, 8, 9)) - - return module.exports; \ No newline at end of file diff --git a/testdata/baselines/reference/submoduleAccepted/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols.diff b/testdata/baselines/reference/submoduleAccepted/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols.diff index 4e5811c5257..53c407bf9ef 100644 --- a/testdata/baselines/reference/submoduleAccepted/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols.diff +++ b/testdata/baselines/reference/submoduleAccepted/compiler/commonJsExportTypeDeclarationError(target=es2015).symbols.diff @@ -8,10 +8,9 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(test.js, 0, 0)) ->module : Symbol(export=, Decl(test.js, 0, 0)) -->exports : Symbol(export=, Decl(test.js, 0, 0)) +>module.exports : Symbol(exports, Decl(test.js, 0, 0)) +>module : Symbol(module, Decl(test.js, 0, 0)) -+>exports : Symbol(exports, Decl(test.js, 0, 0)) + >exports : Symbol(export=, Decl(test.js, 0, 0)) message: "" >message : Symbol(message, Decl(test.js, 0, 18)) diff --git a/testdata/baselines/reference/submoduleAccepted/compiler/commonJsIsolatedModules.symbols.diff b/testdata/baselines/reference/submoduleAccepted/compiler/commonJsIsolatedModules.symbols.diff index 36d9758850e..c45c30407da 100644 --- a/testdata/baselines/reference/submoduleAccepted/compiler/commonJsIsolatedModules.symbols.diff +++ b/testdata/baselines/reference/submoduleAccepted/compiler/commonJsIsolatedModules.symbols.diff @@ -8,7 +8,7 @@ +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) >module : Symbol(module, Decl(index.js, 0, 0)) ->exports : Symbol(module.exports, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) ++>exports : Symbol(export=, Decl(index.js, 0, 0)) var x = 1 >x : Symbol(x, Decl(index.js, 1, 3)) \ No newline at end of file diff --git a/testdata/baselines/reference/submoduleAccepted/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols.diff b/testdata/baselines/reference/submoduleAccepted/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols.diff index f20b40c27c2..f9d8457f80c 100644 --- a/testdata/baselines/reference/submoduleAccepted/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols.diff +++ b/testdata/baselines/reference/submoduleAccepted/compiler/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.symbols.diff @@ -6,10 +6,9 @@ module.exports = 12; ->module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) ->module : Symbol(export=, Decl(index.js, 0, 38)) -->exports : Symbol(export=, Decl(index.js, 0, 38)) +>module.exports : Symbol(exports, Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) -+>exports : Symbol(exports, Decl(index.js, 0, 0)) + >exports : Symbol(export=, Decl(index.js, 0, 38)) Object.defineProperty(module, "exports", { value: "oh no" }); >Object.defineProperty : Symbol(ObjectConstructor.defineProperty, Decl(lib.es5.d.ts, --, --)) @@ -37,11 +36,10 @@ module.exports = A; ->module.exports : Symbol(module.exports, Decl(namespacey.js, 0, 0)) ->module : Symbol(export=, Decl(namespacey.js, 1, 18)) -->exports : Symbol(export=, Decl(namespacey.js, 1, 18)) -->A : Symbol(A, Decl(namespacey.js, 0, 5), Decl(namespacey.js, 0, 12)) +>module.exports : Symbol(exports, Decl(namespacey.js, 0, 0)) +>module : Symbol(module, Decl(namespacey.js, 0, 0)) -+>exports : Symbol(exports, Decl(namespacey.js, 0, 0)) + >exports : Symbol(export=, Decl(namespacey.js, 1, 18)) +->A : Symbol(A, Decl(namespacey.js, 0, 5), Decl(namespacey.js, 0, 12)) +>A : Symbol(A, Decl(namespacey.js, 0, 5)) === namespacer.js === @@ -73,9 +71,8 @@ module.exports = B; ->module.exports : Symbol(module.exports, Decl(namespacer.js, 0, 0)) ->module : Symbol(export=, Decl(namespacer.js, 2, 72)) -->exports : Symbol(export=, Decl(namespacer.js, 2, 72)) -->B : Symbol(B, Decl(namespacer.js, 0, 5), Decl(namespacer.js, 0, 12), Decl(namespacer.js, 2, 22)) +>module.exports : Symbol(exports, Decl(namespacer.js, 0, 0)) +>module : Symbol(module, Decl(namespacer.js, 0, 0)) -+>exports : Symbol(exports, Decl(namespacer.js, 0, 0)) + >exports : Symbol(export=, Decl(namespacer.js, 2, 72)) +->B : Symbol(B, Decl(namespacer.js, 0, 5), Decl(namespacer.js, 0, 12), Decl(namespacer.js, 2, 22)) +>B : Symbol(B, Decl(namespacer.js, 0, 5)) diff --git a/testdata/baselines/reference/submoduleAccepted/compiler/expandoFunctionContextualTypesJs.symbols.diff b/testdata/baselines/reference/submoduleAccepted/compiler/expandoFunctionContextualTypesJs.symbols.diff index 0eaa3a14358..de0e245a78f 100644 --- a/testdata/baselines/reference/submoduleAccepted/compiler/expandoFunctionContextualTypesJs.symbols.diff +++ b/testdata/baselines/reference/submoduleAccepted/compiler/expandoFunctionContextualTypesJs.symbols.diff @@ -60,13 +60,11 @@ module.exports = { ->module.exports : Symbol(module.exports, Decl(input.js, 0, 0)) ->module : Symbol(export=, Decl(input.js, 42, 1)) -->exports : Symbol(export=, Decl(input.js, 42, 1)) +>module.exports : Symbol(exports, Decl(input.js, 0, 0)) +>module : Symbol(module, Decl(input.js, 0, 0)) -+>exports : Symbol(exports, Decl(input.js, 0, 0)) + >exports : Symbol(export=, Decl(input.js, 42, 1)) color: "red" - >color : Symbol(color, Decl(input.js, 47, 18)) @@= skipped -25, +21 lines =@@ expectLiteral({ props: module.exports }); >expectLiteral : Symbol(expectLiteral, Decl(input.js, 27, 27)) diff --git a/testdata/baselines/reference/submoduleAccepted/conformance/assignmentToVoidZero1.errors.txt.diff b/testdata/baselines/reference/submoduleAccepted/conformance/assignmentToVoidZero1.errors.txt.diff index 69b2d1c68ae..c39f58a997f 100644 --- a/testdata/baselines/reference/submoduleAccepted/conformance/assignmentToVoidZero1.errors.txt.diff +++ b/testdata/baselines/reference/submoduleAccepted/conformance/assignmentToVoidZero1.errors.txt.diff @@ -6,13 +6,18 @@ - - -==== assignmentToVoidZero1.js (2 errors) ==== -- // #38552 -- exports.y = exports.x = void 0; ++assignmentToVoidZero1.js(2,13): error TS6425: Nested CommonJS export constructs cannot be serialized for declaration emit. ++ ++ ++==== assignmentToVoidZero1.js (1 errors) ==== + // #38552 + exports.y = exports.x = void 0; - ~~~~~~~~~ -!!! error TS2322: Type 'undefined' is not assignable to type '2'. - ~~~~~~~~~ -!!! error TS2322: Type 'undefined' is not assignable to type '1'. -- exports.x = 1; -- exports.y = 2; -- -+ \ No newline at end of file ++ ~~~~~~~~~~~~~~~~~~ ++!!! error TS6425: Nested CommonJS export constructs cannot be serialized for declaration emit. + exports.x = 1; + exports.y = 2; + \ No newline at end of file