From 8b7664ae15a77e1e6382ecb4192ba44ce721c2db Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 30 Oct 2019 12:40:59 -0700 Subject: [PATCH] Generate more correct property name nodes in declaration emit (#34741) * Generate more correct property name nodes in declaration emit * Silly only-on-CI lint rule T.T --- src/compiler/checker.ts | 31 +++++-- src/compiler/factory.ts | 1 + .../FunctionPropertyAssignments2_es6.types | 4 +- .../FunctionPropertyAssignments3_es6.types | 4 +- .../FunctionPropertyAssignments4_es6.types | 4 +- .../FunctionPropertyAssignments6_es6.types | 4 +- ...tCompatWithObjectMembersNumericNames.types | 58 ++++++------- ...ObjectMembersStringNumericNames.errors.txt | 32 ++++---- ...tWithObjectMembersStringNumericNames.types | 40 ++++----- .../assignmentIndexedToPrimitives.errors.txt | 4 +- .../assignmentIndexedToPrimitives.types | 2 +- .../reference/asyncArrowFunction11_es5.types | 4 +- .../reference/binaryIntegerLiteral.types | 44 +++++----- .../reference/binaryIntegerLiteralES6.types | 44 +++++----- .../reference/binaryIntegerLiteralError.types | 4 +- ...UninitializedModuleExportsAssignment.types | 2 +- .../reference/callbackCrossModule.types | 2 +- .../checkExportsObjectAssignProperty.types | 10 +-- ...ExportsObjectAssignPrototypeProperty.types | 2 +- .../checkJsTypeDefNoUnusedLocalMarked.types | 2 +- .../reference/checkObjectDefineProperty.types | 2 +- .../reference/commonJsIsolatedModules.types | 2 +- .../computedPropertiesInDestructuring1.types | 2 +- ...mputedPropertiesInDestructuring1_ES6.types | 2 +- .../computedPropertyNames10_ES5.types | 4 +- .../computedPropertyNames10_ES6.types | 4 +- .../computedPropertyNames11_ES5.types | 4 +- .../computedPropertyNames11_ES6.types | 4 +- .../computedPropertyNames28_ES5.types | 4 +- .../computedPropertyNames28_ES6.types | 4 +- .../computedPropertyNames30_ES5.types | 4 +- .../computedPropertyNames30_ES6.types | 4 +- .../computedPropertyNames46_ES5.types | 4 +- .../computedPropertyNames46_ES6.types | 4 +- .../computedPropertyNames47_ES5.types | 4 +- .../computedPropertyNames47_ES6.types | 4 +- .../computedPropertyNames48_ES5.types | 4 +- .../computedPropertyNames48_ES6.types | 4 +- .../computedPropertyNames4_ES5.types | 4 +- .../computedPropertyNames4_ES6.types | 4 +- .../computedPropertyNames7_ES5.types | 4 +- .../computedPropertyNames7_ES6.types | 4 +- ...tedPropertyNamesDeclarationEmit6_ES5.types | 2 +- ...tedPropertyNamesDeclarationEmit6_ES6.types | 2 +- .../computedPropertyNamesSourceMap2_ES5.types | 4 +- .../computedPropertyNamesSourceMap2_ES6.types | 4 +- tests/baselines/reference/constAssertions.js | 8 +- .../baselines/reference/constAssertions.types | 14 ++-- .../reference/constructorFunctions2.types | 2 +- ...structorWithIncompleteTypeAnnotation.types | 6 +- .../contextualTypeArrayReturnType.types | 10 +-- .../contextualTypedSpecialAssignment.types | 6 +- ...crashInGetTextOfComputedPropertyName.types | 2 +- ...rationEmitComputedNameConstEnumAlias.types | 2 +- ...eclarationEmitWithDefaultAsComputedName.js | 2 +- ...arationEmitWithDefaultAsComputedName.types | 4 +- ...clarationEmitWithDefaultAsComputedName2.js | 2 +- ...rationEmitWithDefaultAsComputedName2.types | 4 +- .../reference/deepKeysIndexing.types | 2 +- .../baselines/reference/deleteReadonly.types | 2 +- .../destructuringAssignment_private.types | 10 +-- .../reference/destructuringControlFlow.types | 2 +- ...bjectBindingPatternAndAssignment1ES5.types | 2 +- ...bjectBindingPatternAndAssignment1ES6.types | 2 +- ...ngObjectBindingPatternAndAssignment3.types | 2 +- .../destructuringParameterProperties1.types | 2 +- ...duplicateIdentifierDifferentSpelling.types | 4 +- tests/baselines/reference/dynamicNames.js | 6 +- tests/baselines/reference/dynamicNames.types | 12 +-- ...tLiteralExpressionInArrowFunctionES5.types | 4 +- ...tLiteralExpressionInArrowFunctionES6.types | 4 +- ...ignmentDefineProperrtyPotentialMerge.types | 4 +- .../reference/enumTagOnExports.types | 2 +- .../reference/enumTagOnExports2.types | 2 +- .../escapedReservedCompilerNamedIdentifier.js | 6 +- ...capedReservedCompilerNamedIdentifier.types | 18 ++-- .../expandoFunctionContextualTypesJs.types | 4 +- .../reference/exportDefaultParenthesize.types | 2 +- .../baselines/reference/exportEqualsAmd.types | 2 +- .../reference/exportEqualsCommonJs.types | 2 +- .../exportEqualsDefaultProperty.types | 6 +- .../baselines/reference/exportEqualsUmd.types | 2 +- ...portPropertyAssignmentNameResolution.types | 2 +- .../exportsAndImportsWithUnderscores1.types | 8 +- .../exportsAndImportsWithUnderscores2.types | 8 +- .../exportsAndImportsWithUnderscores3.types | 8 +- ...ndingClassFromAliasAndUsageInIndexer.types | 2 +- .../reference/fixSignatureCaching.types | 28 +++---- ...rgeWithCommonJSAssignmentDeclaration.types | 2 +- .../reference/importAliasModuleExports.types | 2 +- .../reference/inOperatorWithFunction.types | 2 +- .../inferredNonidentifierTypesGetQuotes.js | 2 +- .../inferredNonidentifierTypesGetQuotes.types | 6 +- .../reference/inferringAnyFunctionType1.types | 4 +- .../reference/javascriptCommonjsModule.types | 2 +- .../javascriptImportDefaultBadExport.types | 2 +- ...jsDeclarationsClassExtendsVisibility.types | 6 +- .../jsDeclarationsComputedNames.types | 2 +- ...rationsExportAssignedClassExpression.types | 2 +- ...portAssignedClassExpressionAnonymous.types | 2 +- ...ignedClassExpressionAnonymousWithSub.types | 6 +- ...portAssignedClassExpressionShadowing.types | 4 +- ...DeclarationsExportAssignedVisibility.types | 4 +- ...ortAssignmentExpressionPlusSecondary.types | 4 +- ...tionsExportAssignmentWithKeywordName.types | 2 +- ...DeclarationsExportDefinePropertyEmit.types | 32 ++++---- .../reference/jsDeclarationsExportForms.types | 8 +- .../jsDeclarationsExportSubAssignments.types | 4 +- ...nsFunctionClassesCjsExportAssignment.types | 6 +- .../jsDeclarationsFunctionsCjs.types | 36 ++++---- .../jsDeclarationsImportTypeBundled.types | 4 +- .../baselines/reference/jsDeclarationsJson.js | 44 +++++----- .../reference/jsDeclarationsJson.types | 32 ++++---- ...sDeclarationsNonIdentifierInferredNames.js | 40 +++++++++ ...arationsNonIdentifierInferredNames.symbols | 16 ++++ ...clarationsNonIdentifierInferredNames.types | 21 +++++ .../reference/jsDeclarationsPackageJson.js | 40 ++++----- .../reference/jsDeclarationsPackageJson.types | 36 ++++---- ...ationsReexportAliasesEsModuleInterop.types | 2 +- .../reference/jsDeclarationsTypeAliases.types | 2 +- ...tionsTypeReassignmentFromDeclaration.types | 2 +- ...ionsTypeReassignmentFromDeclaration2.types | 2 +- .../jsDeclarationsTypeReferences.types | 2 +- .../jsDeclarationsTypedefAndImportTypes.types | 4 +- ...nsTypedefPropertyAndExportAssignment.types | 4 +- ...PropertyInitalizationInObjectLiteral.types | 2 +- .../baselines/reference/jsdocImportType.types | 2 +- .../reference/jsdocImportType2.types | 2 +- ...jsdocImportTypeReferenceToClassAlias.types | 2 +- .../jsdocTypeFromChainedAssignment2.types | 4 +- .../reference/jsdocTypeReferenceExports.types | 2 +- .../reference/keyofDoesntContainSymbols.types | 16 ++-- ...teBoundAssignmentDeclarationSupport2.types | 6 +- ...teBoundAssignmentDeclarationSupport3.types | 6 +- ...teBoundAssignmentDeclarationSupport4.types | 4 +- ...teBoundAssignmentDeclarationSupport5.types | 12 +-- ...teBoundAssignmentDeclarationSupport6.types | 4 +- ...teBoundAssignmentDeclarationSupport7.types | 4 +- .../reference/limitDeepInstantiations.types | 4 +- .../literalsInComputedProperties1.types | 12 +-- .../reference/moduleExportAlias.types | 38 ++++----- .../reference/moduleExportAlias2.types | 2 +- .../reference/moduleExportAlias3.types | 2 +- .../reference/moduleExportAlias4.types | 4 +- .../reference/moduleExportAlias5.types | 2 +- .../reference/moduleExportAliasExports.types | 2 +- .../reference/moduleExportAliasImported.types | 2 +- .../reference/moduleExportAliasUnknown.types | 2 +- .../reference/moduleExportAssignment.types | 8 +- .../reference/moduleExportAssignment2.types | 6 +- .../reference/moduleExportAssignment3.types | 4 +- .../reference/moduleExportAssignment4.types | 2 +- .../reference/moduleExportAssignment5.types | 4 +- .../moduleExportNestedNamespaces.types | 6 +- ...oduleExportPropertyAssignmentDefault.types | 4 +- ...leExportWithExportPropertyAssignment.types | 4 +- ...eExportWithExportPropertyAssignment2.types | 4 +- ...eExportWithExportPropertyAssignment3.types | 8 +- ...eExportWithExportPropertyAssignment4.types | 8 +- ...moduleExportsElementAccessAssignment.types | 6 +- .../reference/multipleNumericIndexers.types | 2 +- .../reference/noImplicitAnyIndexing.types | 2 +- .../noImplicitAnyIndexingSuppressed.types | 2 +- .../normalizedIntersectionTooComplex.types | 82 +++++++++---------- ...ndexerConstrainsPropertyDeclarations.types | 4 +- ...dexerConstrainsPropertyDeclarations2.types | 4 +- .../reference/numericIndexingResults.types | 32 ++++---- ...umericStringNamedPropertyEquivalence.types | 6 +- ...ctLiteralComputedNameNoDeclarationError.js | 2 +- ...iteralComputedNameNoDeclarationError.types | 4 +- .../objectLiteralEnumPropertyNames.types | 26 +++--- .../reference/objectLiteralErrors.types | 64 +++++++-------- .../objectLiteralExcessProperties.types | 2 +- .../objectLiteralGettersAndSetters.types | 20 ++--- ...ropertiesErrorFromNotUsingIdentifier.types | 8 +- ...alShorthandPropertiesErrorWithModule.types | 4 +- tests/baselines/reference/objectSpread.types | 6 +- ...ctTypeWithStringNamedNumericProperty.types | 30 +++---- ...ringNamedPropertyOfIllegalCharacters.types | 22 ++--- .../reference/octalIntegerLiteral.types | 44 +++++----- .../reference/octalIntegerLiteralES6.types | 44 +++++----- .../reference/octalIntegerLiteralError.types | 4 +- .../reference/paramTagTypeResolution.types | 2 +- .../parserComputedPropertyName35.types | 2 +- .../parserFunctionPropertyAssignment3.types | 4 +- .../reference/parserInExpression1.types | 2 +- ...mentIsNotAMemberVariableDeclaration1.types | 2 +- .../reference/propertyAccess.errors.txt | 4 +- .../baselines/reference/propertyAccess.types | 4 +- .../protoAsIndexInIndexExpression.types | 4 +- .../reference/quotedConstructors.types | 4 +- .../reference/requireOfJsonFile.types | 12 +-- .../requireOfJsonFileInJsFile.errors.txt | 12 +-- .../reference/requireOfJsonFileInJsFile.types | 14 ++-- .../requireOfJsonFileNonRelative.types | 14 ++-- .../reference/requireOfJsonFileTypes.types | 12 +-- ...sonFileWithAlwaysStrictWithoutErrors.types | 12 +-- .../requireOfJsonFileWithDeclaration.types | 12 +-- .../requireOfJsonFileWithErrors.types | 12 +-- ...ireOfJsonFileWithModuleEmitUndefined.types | 4 +- ...nFileWithModuleNodeResolutionEmitAmd.types | 4 +- ...thModuleNodeResolutionEmitAmdOutFile.types | 4 +- ...leWithModuleNodeResolutionEmitEs2015.types | 4 +- ...leWithModuleNodeResolutionEmitEsNext.types | 4 +- ...FileWithModuleNodeResolutionEmitNone.types | 4 +- ...leWithModuleNodeResolutionEmitSystem.types | 4 +- ...nFileWithModuleNodeResolutionEmitUmd.types | 4 +- ...ithModuleNodeResolutionEmitUndefined.types | 4 +- .../requireOfJsonFileWithSourceMap.types | 12 +-- .../requireOfJsonFileWithTraillingComma.types | 12 +-- .../requireOfJsonFileWithoutAllowJs.types | 12 +-- ...uireOfJsonFileWithoutEsModuleInterop.types | 4 +- .../requireOfJsonFileWithoutExtension.types | 6 +- ...JsonFileWithoutExtensionResolvesToTs.types | 6 +- .../requireOfJsonFileWithoutOutDir.types | 12 +-- .../scannerUnicodeEscapeInKeyword2.types | 4 +- ...ndexerConstrainsPropertyDeclarations.types | 4 +- ...ralPropertyNameWithLineContinuation1.types | 9 +- .../reference/stringPropCodeGen.types | 8 +- ...elessFunctionComponentOverload4.errors.txt | 4 +- ...elessFunctionComponentOverload5.errors.txt | 8 +- ...tsxStatelessFunctionComponents1.errors.txt | 4 +- ...ionComponentsWithTypeArguments4.errors.txt | 20 ++--- .../reference/tsxUnionElementType6.errors.txt | 4 +- ...notationBestCommonTypeInArrayLiteral.types | 6 +- .../typeFromPropertyAssignment17.types | 2 +- .../typeFromPropertyAssignment19.types | 2 +- .../typeFromPropertyAssignment37.types | 2 +- .../typeFromPropertyAssignment38.types | 6 +- .../reference/typeTagModuleExports.types | 2 +- .../reference/typedefCrossModule.types | 2 +- .../reference/typedefCrossModule2.types | 4 +- .../reference/typedefCrossModule3.types | 2 +- .../reference/typedefCrossModule4.types | 2 +- ...sDeclarationsNonIdentifierInferredNames.ts | 13 +++ .../findAllRefsImportEqualsJsonFile.ts | 2 +- tests/cases/fourslash/jsDocTagsWithHyphen.ts | 2 +- 237 files changed, 1030 insertions(+), 927 deletions(-) create mode 100644 tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.js create mode 100644 tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.symbols create mode 100644 tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.types create mode 100644 tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e6b6a80d110..a8a19743ae1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4258,9 +4258,9 @@ namespace ts { } } } - const propertyName = symbolToName(propertySymbol, context, SymbolFlags.Value, /*expectsIdentifier*/ true); - context.approximateLength += (symbolName(propertySymbol).length + 1); context.enclosingDeclaration = saveEnclosingDeclaration; + const propertyName = getPropertyNameNodeForSymbol(propertySymbol, context); + context.approximateLength += (symbolName(propertySymbol).length + 1); const optionalToken = propertySymbol.flags & SymbolFlags.Optional ? createToken(SyntaxKind.QuestionToken) : undefined; if (propertySymbol.flags & (SymbolFlags.Function | SymbolFlags.Method) && !getPropertiesOfObjectType(propertyType).length && !isReadonlySymbol(propertySymbol)) { const signatures = getSignaturesOfType(filterType(propertyType, t => !(t.flags & TypeFlags.Undefined)), SignatureKind.Call); @@ -4892,23 +4892,38 @@ namespace ts { } } + function isSingleQuotedStringNamed(d: Declaration) { + const name = getNameOfDeclaration(d); + if (name && isStringLiteral(name) && ( + name.singleQuote || + (!nodeIsSynthesized(name) && startsWith(getTextOfNode(name, /*includeTrivia*/ false), "'")) + )) { + return true; + } + return false; + } + function getPropertyNameNodeForSymbol(symbol: Symbol, context: NodeBuilderContext) { - const fromNameType = getPropertyNameNodeForSymbolFromNameType(symbol, context); + const singleQuote = !!length(symbol.declarations) && every(symbol.declarations, isSingleQuotedStringNamed); + const fromNameType = getPropertyNameNodeForSymbolFromNameType(symbol, context, singleQuote); if (fromNameType) { return fromNameType; } + if (isKnownSymbol(symbol)) { + return createComputedPropertyName(createPropertyAccess(createIdentifier("Symbol"), (symbol.escapedName as string).substr(3))); + } const rawName = unescapeLeadingUnderscores(symbol.escapedName); - return createPropertyNameNodeForIdentifierOrLiteral(rawName); + return createPropertyNameNodeForIdentifierOrLiteral(rawName, singleQuote); } // See getNameForSymbolFromNameType for a stringy equivalent - function getPropertyNameNodeForSymbolFromNameType(symbol: Symbol, context: NodeBuilderContext) { + function getPropertyNameNodeForSymbolFromNameType(symbol: Symbol, context: NodeBuilderContext, singleQuote?: boolean) { const nameType = symbol.nameType; if (nameType) { if (nameType.flags & TypeFlags.StringOrNumberLiteral) { const name = "" + (nameType).value; if (!isIdentifierText(name, compilerOptions.target) && !isNumericLiteralName(name)) { - return createLiteral(name); + return createLiteral(name, !!singleQuote); } if (isNumericLiteralName(name) && startsWith(name, "-")) { return createComputedPropertyName(createLiteral(+name)); @@ -4921,8 +4936,8 @@ namespace ts { } } - function createPropertyNameNodeForIdentifierOrLiteral(name: string) { - return isIdentifierText(name, compilerOptions.target) ? createIdentifier(name) : createLiteral(isNumericLiteralName(name) ? +name : name) as StringLiteral | NumericLiteral; + function createPropertyNameNodeForIdentifierOrLiteral(name: string, singleQuote?: boolean) { + return isIdentifierText(name, compilerOptions.target) ? createIdentifier(name) : createLiteral(isNumericLiteralName(name) ? +name : name, !!singleQuote); } function cloneNodeBuilderContext(context: NodeBuilderContext): NodeBuilderContext { diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index c09736a5c3c..d54244c0832 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -66,6 +66,7 @@ namespace ts { // Literals /* @internal */ export function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier, isSingleQuote: boolean): StringLiteral; // eslint-disable-line @typescript-eslint/unified-signatures + /* @internal */ export function createLiteral(value: string | number, isSingleQuote: boolean): StringLiteral | NumericLiteral; /** If a node is passed, creates a string literal whose source text is read from a source node during emit. */ export function createLiteral(value: string | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | Identifier): StringLiteral; export function createLiteral(value: number | PseudoBigInt): NumericLiteral; diff --git a/tests/baselines/reference/FunctionPropertyAssignments2_es6.types b/tests/baselines/reference/FunctionPropertyAssignments2_es6.types index 9ad073be7e9..cd13e5308a1 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments2_es6.types +++ b/tests/baselines/reference/FunctionPropertyAssignments2_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts === var v = { *() { } } ->v : { (Missing)(): Generator; } ->{ *() { } } : { (Missing)(): Generator; } +>v : { ""(): Generator; } +>{ *() { } } : { ""(): Generator; } > : () => Generator diff --git a/tests/baselines/reference/FunctionPropertyAssignments3_es6.types b/tests/baselines/reference/FunctionPropertyAssignments3_es6.types index b49b766f1eb..bc494801a74 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments3_es6.types +++ b/tests/baselines/reference/FunctionPropertyAssignments3_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts === var v = { *{ } } ->v : { (Missing)(): Generator; } ->{ *{ } } : { (Missing)(): Generator; } +>v : { ""(): Generator; } +>{ *{ } } : { ""(): Generator; } > : () => Generator diff --git a/tests/baselines/reference/FunctionPropertyAssignments4_es6.types b/tests/baselines/reference/FunctionPropertyAssignments4_es6.types index f244fd4fb33..cdf6b7329a2 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments4_es6.types +++ b/tests/baselines/reference/FunctionPropertyAssignments4_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts === var v = { * } ->v : { (Missing)(): any; } ->{ * } : { (Missing)(): any; } +>v : { ""(): any; } +>{ * } : { ""(): any; } > : () => any diff --git a/tests/baselines/reference/FunctionPropertyAssignments6_es6.types b/tests/baselines/reference/FunctionPropertyAssignments6_es6.types index a7982dc2ca4..f7df9cfef61 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments6_es6.types +++ b/tests/baselines/reference/FunctionPropertyAssignments6_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts === var v = { *() { } } ->v : { (Missing)(): Generator; } ->{ *() { } } : { (Missing)(): Generator; } +>v : { ""(): Generator; } +>{ *() { } } : { ""(): Generator; } > : () => Generator diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types index 7a722766aec..1197e489f28 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types @@ -31,18 +31,18 @@ var t2: T2; >t2 : T2 var a: { 1.: string; bar?: string } ->a : { 1.: string; bar?: string; } +>a : { 1: string; bar?: string; } >1. : string >bar : string var b: { 1.0: string; baz?: string } ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } >1.0 : string >baz : string var a2 = { 1.0: '' }; ->a2 : { 1.0: string; } ->{ 1.0: '' } : { 1.0: string; } +>a2 : { 1: string; } +>{ 1.0: '' } : { 1: string; } >1.0 : string >'' : "" @@ -68,9 +68,9 @@ s = s2; >s2 : S2 s = a2; ->s = a2 : { 1.0: string; } +>s = a2 : { 1: string; } >s : S ->a2 : { 1.0: string; } +>a2 : { 1: string; } s2 = t2; >s2 = t2 : T2 @@ -88,62 +88,62 @@ s2 = t; >t : T s2 = b; ->s2 = b : { 1.0: string; baz?: string; } +>s2 = b : { 1: string; baz?: string; } >s2 : S2 ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } s2 = a2; ->s2 = a2 : { 1.0: string; } +>s2 = a2 : { 1: string; } >s2 : S2 ->a2 : { 1.0: string; } +>a2 : { 1: string; } a = b; ->a = b : { 1.0: string; baz?: string; } ->a : { 1.: string; bar?: string; } ->b : { 1.0: string; baz?: string; } +>a = b : { 1: string; baz?: string; } +>a : { 1: string; bar?: string; } +>b : { 1: string; baz?: string; } b = a; ->b = a : { 1.: string; bar?: string; } ->b : { 1.0: string; baz?: string; } ->a : { 1.: string; bar?: string; } +>b = a : { 1: string; bar?: string; } +>b : { 1: string; baz?: string; } +>a : { 1: string; bar?: string; } a = s; >a = s : S ->a : { 1.: string; bar?: string; } +>a : { 1: string; bar?: string; } >s : S a = s2; >a = s2 : S2 ->a : { 1.: string; bar?: string; } +>a : { 1: string; bar?: string; } >s2 : S2 a = a2; ->a = a2 : { 1.0: string; } ->a : { 1.: string; bar?: string; } ->a2 : { 1.0: string; } +>a = a2 : { 1: string; } +>a : { 1: string; bar?: string; } +>a2 : { 1: string; } a2 = b2; >a2 = b2 : { 1: string; } ->a2 : { 1.0: string; } +>a2 : { 1: string; } >b2 : { 1: string; } b2 = a2; ->b2 = a2 : { 1.0: string; } +>b2 = a2 : { 1: string; } >b2 : { 1: string; } ->a2 : { 1.0: string; } +>a2 : { 1: string; } a2 = b; ->a2 = b : { 1.0: string; baz?: string; } ->a2 : { 1.0: string; } ->b : { 1.0: string; baz?: string; } +>a2 = b : { 1: string; baz?: string; } +>a2 : { 1: string; } +>b : { 1: string; baz?: string; } a2 = t2; >a2 = t2 : T2 ->a2 : { 1.0: string; } +>a2 : { 1: string; } >t2 : T2 a2 = t; >a2 = t : T ->a2 : { 1.0: string; } +>a2 : { 1: string; } >t : T diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt index b9cfa3c6b2b..42a84492202 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt @@ -11,20 +11,20 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(34,5): error TS2741: Property ''1.'' is missing in type 'S' but required in type '{ '1.': string; bar?: string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(35,5): error TS2741: Property ''1.'' is missing in type 'S2' but required in type '{ '1.': string; bar?: string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(36,5): error TS2741: Property ''1.'' is missing in type '{ '1.0': string; }' but required in type '{ '1.': string; bar?: string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(38,5): error TS2741: Property ''1.0'' is missing in type '{ '1': string; }' but required in type '{ '1.0': string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(39,5): error TS2741: Property ''1'' is missing in type '{ '1.0': string; }' but required in type '{ '1': string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(38,5): error TS2741: Property ''1.0'' is missing in type '{ 1: string; }' but required in type '{ '1.0': string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(39,5): error TS2741: Property ''1'' is missing in type '{ '1.0': string; }' but required in type '{ 1: string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(42,5): error TS2741: Property ''1.0'' is missing in type 'T' but required in type '{ '1.0': string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(65,5): error TS2741: Property ''1'' is missing in type '{ '1.0': string; }' but required in type 'S'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(71,5): error TS2741: Property ''1'' is missing in type '{ '1.0': string; }' but required in type 'S2'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(73,5): error TS2741: Property ''1.'' is missing in type '{ 1.0: string; baz?: string; }' but required in type '{ '1.': string; bar?: string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(74,5): error TS2741: Property '1.0' is missing in type '{ '1.': string; bar?: string; }' but required in type '{ 1.0: string; baz?: string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(73,5): error TS2741: Property ''1.'' is missing in type '{ 1: string; baz?: string; }' but required in type '{ '1.': string; bar?: string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(74,5): error TS2741: Property '1.0' is missing in type '{ '1.': string; bar?: string; }' but required in type '{ 1: string; baz?: string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(75,5): error TS2741: Property ''1.'' is missing in type 'S' but required in type '{ '1.': string; bar?: string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(76,5): error TS2741: Property ''1.'' is missing in type 'S2' but required in type '{ '1.': string; bar?: string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(77,5): error TS2741: Property ''1.'' is missing in type '{ '1.0': string; }' but required in type '{ '1.': string; bar?: string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(78,5): error TS2741: Property ''1.'' is missing in type '{ 1.: string; }' but required in type '{ '1.': string; bar?: string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(80,5): error TS2741: Property ''1.0'' is missing in type '{ 1.: string; }' but required in type '{ '1.0': string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(81,5): error TS2741: Property '1.' is missing in type '{ '1.0': string; }' but required in type '{ 1.: string; }'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(82,5): error TS2741: Property ''1.0'' is missing in type '{ 1.0: string; baz?: string; }' but required in type '{ '1.0': string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(78,5): error TS2741: Property ''1.'' is missing in type '{ 1: string; }' but required in type '{ '1.': string; bar?: string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(80,5): error TS2741: Property ''1.0'' is missing in type '{ 1: string; }' but required in type '{ '1.0': string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(81,5): error TS2741: Property '1.' is missing in type '{ '1.0': string; }' but required in type '{ 1: string; }'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(82,5): error TS2741: Property ''1.0'' is missing in type '{ 1: string; baz?: string; }' but required in type '{ '1.0': string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(83,5): error TS2741: Property ''1.0'' is missing in type 'T2' but required in type '{ '1.0': string; }'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts(84,5): error TS2741: Property ''1.0'' is missing in type 'T' but required in type '{ '1.0': string; }'. @@ -108,11 +108,11 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme a2 = b2; ~~ -!!! error TS2741: Property ''1.0'' is missing in type '{ '1': string; }' but required in type '{ '1.0': string; }'. +!!! error TS2741: Property ''1.0'' is missing in type '{ 1: string; }' but required in type '{ '1.0': string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:18:16: ''1.0'' is declared here. b2 = a2; ~~ -!!! error TS2741: Property ''1'' is missing in type '{ '1.0': string; }' but required in type '{ '1': string; }'. +!!! error TS2741: Property ''1'' is missing in type '{ '1.0': string; }' but required in type '{ 1: string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:19:16: ''1'' is declared here. a2 = b; // ok a2 = t2; // ok @@ -158,11 +158,11 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme a = b; // error ~ -!!! error TS2741: Property ''1.'' is missing in type '{ 1.0: string; baz?: string; }' but required in type '{ '1.': string; bar?: string; }'. +!!! error TS2741: Property ''1.'' is missing in type '{ 1: string; baz?: string; }' but required in type '{ '1.': string; bar?: string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. b = a; // error ~ -!!! error TS2741: Property '1.0' is missing in type '{ '1.': string; bar?: string; }' but required in type '{ 1.0: string; baz?: string; }'. +!!! error TS2741: Property '1.0' is missing in type '{ '1.': string; bar?: string; }' but required in type '{ 1: string; baz?: string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:57:14: '1.0' is declared here. a = s; // error ~ @@ -178,20 +178,20 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignme !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. a = b2; // error ~ -!!! error TS2741: Property ''1.'' is missing in type '{ 1.: string; }' but required in type '{ '1.': string; bar?: string; }'. +!!! error TS2741: Property ''1.'' is missing in type '{ 1: string; }' but required in type '{ '1.': string; bar?: string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:56:14: ''1.'' is declared here. a2 = b2; // error ~~ -!!! error TS2741: Property ''1.0'' is missing in type '{ 1.: string; }' but required in type '{ '1.0': string; }'. +!!! error TS2741: Property ''1.0'' is missing in type '{ 1: string; }' but required in type '{ '1.0': string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:59:16: ''1.0'' is declared here. b2 = a2; // error ~~ -!!! error TS2741: Property '1.' is missing in type '{ '1.0': string; }' but required in type '{ 1.: string; }'. +!!! error TS2741: Property '1.' is missing in type '{ '1.0': string; }' but required in type '{ 1: string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:60:16: '1.' is declared here. a2 = b; // error ~~ -!!! error TS2741: Property ''1.0'' is missing in type '{ 1.0: string; baz?: string; }' but required in type '{ '1.0': string; }'. +!!! error TS2741: Property ''1.0'' is missing in type '{ 1: string; baz?: string; }' but required in type '{ '1.0': string; }'. !!! related TS2728 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts:59:16: ''1.0'' is declared here. a2 = t2; // error ~~ diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types index 3210c1810a3..6f10223d69c 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types @@ -50,8 +50,8 @@ module JustStrings { >'' : "" var b2 = { '1': '' }; ->b2 : { '1': string; } ->{ '1': '' } : { '1': string; } +>b2 : { 1: string; } +>{ '1': '' } : { 1: string; } >'1' : string >'' : "" @@ -126,13 +126,13 @@ module JustStrings { >a2 : { '1.0': string; } a2 = b2; ->a2 = b2 : { '1': string; } +>a2 = b2 : { 1: string; } >a2 : { '1.0': string; } ->b2 : { '1': string; } +>b2 : { 1: string; } b2 = a2; >b2 = a2 : { '1.0': string; } ->b2 : { '1': string; } +>b2 : { 1: string; } >a2 : { '1.0': string; } a2 = b; // ok @@ -188,7 +188,7 @@ module NumbersAndStrings { >bar : string var b: { 1.0: string; baz?: string } ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } >1.0 : string >baz : string @@ -199,8 +199,8 @@ module NumbersAndStrings { >'' : "" var b2 = { 1.: '' }; ->b2 : { 1.: string; } ->{ 1.: '' } : { 1.: string; } +>b2 : { 1: string; } +>{ 1.: '' } : { 1: string; } >1. : string >'' : "" @@ -240,9 +240,9 @@ module NumbersAndStrings { >t : T s2 = b; // ok ->s2 = b : { 1.0: string; baz?: string; } +>s2 = b : { 1: string; baz?: string; } >s2 : S2 ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } s2 = a2; // error >s2 = a2 : { '1.0': string; } @@ -250,13 +250,13 @@ module NumbersAndStrings { >a2 : { '1.0': string; } a = b; // error ->a = b : { 1.0: string; baz?: string; } +>a = b : { 1: string; baz?: string; } >a : { '1.': string; bar?: string; } ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } b = a; // error >b = a : { '1.': string; bar?: string; } ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } >a : { '1.': string; bar?: string; } a = s; // error @@ -275,24 +275,24 @@ module NumbersAndStrings { >a2 : { '1.0': string; } a = b2; // error ->a = b2 : { 1.: string; } +>a = b2 : { 1: string; } >a : { '1.': string; bar?: string; } ->b2 : { 1.: string; } +>b2 : { 1: string; } a2 = b2; // error ->a2 = b2 : { 1.: string; } +>a2 = b2 : { 1: string; } >a2 : { '1.0': string; } ->b2 : { 1.: string; } +>b2 : { 1: string; } b2 = a2; // error >b2 = a2 : { '1.0': string; } ->b2 : { 1.: string; } +>b2 : { 1: string; } >a2 : { '1.0': string; } a2 = b; // error ->a2 = b : { 1.0: string; baz?: string; } +>a2 = b : { 1: string; baz?: string; } >a2 : { '1.0': string; } ->b : { 1.0: string; baz?: string; } +>b : { 1: string; baz?: string; } a2 = t2; // error >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentIndexedToPrimitives.errors.txt b/tests/baselines/reference/assignmentIndexedToPrimitives.errors.txt index 88c822f6dcb..11d5839042a 100644 --- a/tests/baselines/reference/assignmentIndexedToPrimitives.errors.txt +++ b/tests/baselines/reference/assignmentIndexedToPrimitives.errors.txt @@ -8,7 +8,7 @@ tests/cases/compiler/assignmentIndexedToPrimitives.ts(8,7): error TS2322: Type ' tests/cases/compiler/assignmentIndexedToPrimitives.ts(9,7): error TS2322: Type 'string[]' is not assignable to type '"01"'. tests/cases/compiler/assignmentIndexedToPrimitives.ts(11,7): error TS2322: Type '{ 0: number; }' is not assignable to type 'number'. tests/cases/compiler/assignmentIndexedToPrimitives.ts(13,7): error TS2322: Type '{ 0: number; }' is not assignable to type 'string'. -tests/cases/compiler/assignmentIndexedToPrimitives.ts(14,7): error TS2322: Type '{ "0": number; }' is not assignable to type 'string'. +tests/cases/compiler/assignmentIndexedToPrimitives.ts(14,7): error TS2322: Type '{ 0: number; }' is not assignable to type 'string'. tests/cases/compiler/assignmentIndexedToPrimitives.ts(15,7): error TS2322: Type '{ 0: string; }' is not assignable to type 'string'. @@ -48,7 +48,7 @@ tests/cases/compiler/assignmentIndexedToPrimitives.ts(15,7): error TS2322: Type !!! error TS2322: Type '{ 0: number; }' is not assignable to type 'string'. const so2: string = { "0": 1 }; ~~~ -!!! error TS2322: Type '{ "0": number; }' is not assignable to type 'string'. +!!! error TS2322: Type '{ 0: number; }' is not assignable to type 'string'. const so3: string = { 0: "1" }; ~~~ !!! error TS2322: Type '{ 0: string; }' is not assignable to type 'string'. diff --git a/tests/baselines/reference/assignmentIndexedToPrimitives.types b/tests/baselines/reference/assignmentIndexedToPrimitives.types index 7c36c89b1e9..b380008f78d 100644 --- a/tests/baselines/reference/assignmentIndexedToPrimitives.types +++ b/tests/baselines/reference/assignmentIndexedToPrimitives.types @@ -56,7 +56,7 @@ const so1: string = { 0: 1 }; const so2: string = { "0": 1 }; >so2 : string ->{ "0": 1 } : { "0": number; } +>{ "0": 1 } : { 0: number; } >"0" : number >1 : 1 diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index 70eea5e2f2a..7fd9d53af72 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.types +++ b/tests/baselines/reference/asyncArrowFunction11_es5.types @@ -16,8 +16,8 @@ class A { >resolve : { (value: T | PromiseLike): Promise; (): Promise; } const obj = { ["a"]: () => this }; // computed property name after `await` triggers case ->obj : { ["a"]: () => this; } ->{ ["a"]: () => this } : { ["a"]: () => this; } +>obj : { a: () => this; } +>{ ["a"]: () => this } : { a: () => this; } >["a"] : () => this >"a" : "a" >() => this : () => this diff --git a/tests/baselines/reference/binaryIntegerLiteral.types b/tests/baselines/reference/binaryIntegerLiteral.types index 1e2fc019e5f..ff959a58783 100644 --- a/tests/baselines/reference/binaryIntegerLiteral.types +++ b/tests/baselines/reference/binaryIntegerLiteral.types @@ -16,8 +16,8 @@ var bin4 = 0B1111111111111111111111111111111111111111111111111111111111111111111 >0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111 : Infinity var obj1 = { ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->{ 0b11010: "Hello", a: bin1, bin1, b: 0b11010, 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,} : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } +>{ 0b11010: "Hello", a: bin1, bin1, b: 0b11010, 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,} : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } 0b11010: "Hello", >0b11010 : string @@ -40,8 +40,8 @@ var obj1 = { } var obj2 = { ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->{ 0B11010: "World", a: bin2, bin2, b: 0B11010, 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,} : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } +>{ 0B11010: "World", a: bin2, bin2, b: 0B11010, 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,} : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } 0B11010: "World", >0B11010 : string @@ -65,92 +65,92 @@ var obj2 = { obj1[0b11010]; // string >obj1[0b11010] : string ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >0b11010 : 26 obj1[26]; // string >obj1[26] : string ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >26 : 26 obj1["26"]; // string >obj1["26"] : string ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"26" : "26" obj1["0b11010"]; // any >obj1["0b11010"] : error ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"0b11010" : "0b11010" obj1["a"]; // number >obj1["a"] : number ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"a" : "a" obj1["b"]; // number >obj1["b"] : number ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"b" : "b" obj1["bin1"]; // number >obj1["bin1"] : number ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"bin1" : "bin1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"Infinity" : "Infinity" obj2[0B11010]; // string >obj2[0B11010] : string ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >0B11010 : 26 obj2[26]; // string >obj2[26] : string ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >26 : 26 obj2["26"]; // string >obj2["26"] : string ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"26" : "26" obj2["0B11010"]; // any >obj2["0B11010"] : error ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"0B11010" : "0B11010" obj2["a"]; // number >obj2["a"] : number ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"a" : "a" obj2["b"]; // number >obj2["b"] : number ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"b" : "b" obj2["bin2"]; // number >obj2["bin2"] : number ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"bin2" : "bin2" obj2[9.671406556917009e+24]; // boolean >obj2[9.671406556917009e+24] : boolean ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >9.671406556917009e+24 : 9.671406556917009e+24 obj2["9.671406556917009e+24"]; // boolean >obj2["9.671406556917009e+24"] : boolean ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"9.671406556917009e+24" : "9.671406556917009e+24" obj2["Infinity"]; // any >obj2["Infinity"] : error ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"Infinity" : "Infinity" diff --git a/tests/baselines/reference/binaryIntegerLiteralES6.types b/tests/baselines/reference/binaryIntegerLiteralES6.types index 78de8bd9fbc..a2c0a6ca224 100644 --- a/tests/baselines/reference/binaryIntegerLiteralES6.types +++ b/tests/baselines/reference/binaryIntegerLiteralES6.types @@ -16,8 +16,8 @@ var bin4 = 0B1111111111111111111111111111111111111111111111111111111111111111111 >0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111 : Infinity var obj1 = { ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->{ 0b11010: "Hello", a: bin1, bin1, b: 0b11010, 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,} : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } +>{ 0b11010: "Hello", a: bin1, bin1, b: 0b11010, 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: true,} : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } 0b11010: "Hello", >0b11010 : string @@ -40,8 +40,8 @@ var obj1 = { } var obj2 = { ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } ->{ 0B11010: "World", a: bin2, bin2, b: 0B11010, 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,} : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } +>{ 0B11010: "World", a: bin2, bin2, b: 0B11010, 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: false,} : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } 0B11010: "World", >0B11010 : string @@ -65,92 +65,92 @@ var obj2 = { obj1[0b11010]; // string >obj1[0b11010] : string ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >0b11010 : 26 obj1[26]; // string >obj1[26] : string ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >26 : 26 obj1["26"]; // string >obj1["26"] : string ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"26" : "26" obj1["0b11010"]; // any >obj1["0b11010"] : error ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"0b11010" : "0b11010" obj1["a"]; // number >obj1["a"] : number ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"a" : "a" obj1["b"]; // number >obj1["b"] : number ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"b" : "b" obj1["bin1"]; // number >obj1["bin1"] : number ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"bin1" : "bin1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean ->obj1 : { 0b11010: string; a: number; bin1: number; b: number; 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj1 : { 26: string; a: number; bin1: number; b: number; Infinity: boolean; } >"Infinity" : "Infinity" obj2[0B11010]; // string >obj2[0B11010] : string ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >0B11010 : 26 obj2[26]; // string >obj2[26] : string ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >26 : 26 obj2["26"]; // string >obj2["26"] : string ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"26" : "26" obj2["0B11010"]; // any >obj2["0B11010"] : error ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"0B11010" : "0B11010" obj2["a"]; // number >obj2["a"] : number ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"a" : "a" obj2["b"]; // number >obj2["b"] : number ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"b" : "b" obj2["bin2"]; // number >obj2["bin2"] : number ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"bin2" : "bin2" obj2[9.671406556917009e+24]; // boolean >obj2[9.671406556917009e+24] : boolean ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >9.671406556917009e+24 : 9.671406556917009e+24 obj2["9.671406556917009e+24"]; // boolean >obj2["9.671406556917009e+24"] : boolean ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"9.671406556917009e+24" : "9.671406556917009e+24" obj2["Infinity"]; // any >obj2["Infinity"] : error ->obj2 : { 0B11010: string; a: number; bin2: number; b: number; 0B11111111111111111111111111111111111111111111111101001010100000010111110001111111111: boolean; } +>obj2 : { 26: string; a: number; bin2: number; b: number; 9.671406556917009e+24: boolean; } >"Infinity" : "Infinity" diff --git a/tests/baselines/reference/binaryIntegerLiteralError.types b/tests/baselines/reference/binaryIntegerLiteralError.types index 6d53b3e515e..ca92f4f17a7 100644 --- a/tests/baselines/reference/binaryIntegerLiteralError.types +++ b/tests/baselines/reference/binaryIntegerLiteralError.types @@ -11,8 +11,8 @@ var bin1 = 0b11023410; >23410 : 23410 var obj1 = { ->obj1 : { 0b11010: string; } ->{ 0b11010: "hi", 26: "Hello", "26": "world",} : { 0b11010: string; } +>obj1 : { 26: string; } +>{ 0b11010: "hi", 26: "Hello", "26": "world",} : { 26: string; } 0b11010: "hi", >0b11010 : string diff --git a/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types b/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types index c8b8540cc56..d1576b85886 100644 --- a/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types +++ b/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types @@ -10,7 +10,7 @@ var loop2 = loop1; module.exports = loop2; >module.exports = loop2 : any >module.exports : any ->module : { "tests/cases/conformance/salsa/loop": any; } +>module : { "\"tests/cases/conformance/salsa/loop\"": any; } >exports : any >loop2 : any diff --git a/tests/baselines/reference/callbackCrossModule.types b/tests/baselines/reference/callbackCrossModule.types index c3f0aabbc00..0697454cf29 100644 --- a/tests/baselines/reference/callbackCrossModule.types +++ b/tests/baselines/reference/callbackCrossModule.types @@ -6,7 +6,7 @@ module.exports = C >module.exports = C : typeof C >module.exports : typeof C ->module : { "tests/cases/conformance/jsdoc/mod1": typeof C; } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof C; } >exports : typeof C >C : typeof C diff --git a/tests/baselines/reference/checkExportsObjectAssignProperty.types b/tests/baselines/reference/checkExportsObjectAssignProperty.types index 847ac720d75..f5519ddfac3 100644 --- a/tests/baselines/reference/checkExportsObjectAssignProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignProperty.types @@ -256,7 +256,7 @@ Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/mod2") ->module : { "tests/cases/conformance/jsdoc/mod2": typeof import("tests/cases/conformance/jsdoc/mod2"); } +>module : { "\"tests/cases/conformance/jsdoc/mod2\"": typeof import("tests/cases/conformance/jsdoc/mod2"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod2") >"thing" : "thing" >{ value: "yes", writable: true } : { value: string; writable: true; } @@ -271,7 +271,7 @@ Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/mod2") ->module : { "tests/cases/conformance/jsdoc/mod2": typeof import("tests/cases/conformance/jsdoc/mod2"); } +>module : { "\"tests/cases/conformance/jsdoc/mod2\"": typeof import("tests/cases/conformance/jsdoc/mod2"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod2") >"readonlyProp" : "readonlyProp" >{ value: "Smith", writable: false } : { value: string; writable: false; } @@ -286,7 +286,7 @@ Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, s >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/mod2") ->module : { "tests/cases/conformance/jsdoc/mod2": typeof import("tests/cases/conformance/jsdoc/mod2"); } +>module : { "\"tests/cases/conformance/jsdoc/mod2\"": typeof import("tests/cases/conformance/jsdoc/mod2"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod2") >"rwAccessors" : "rwAccessors" >{ get() { return 98122 }, set(_) { /*ignore*/ } } : { get(): number; set(_: any): void; } @@ -301,7 +301,7 @@ Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/mod2") ->module : { "tests/cases/conformance/jsdoc/mod2": typeof import("tests/cases/conformance/jsdoc/mod2"); } +>module : { "\"tests/cases/conformance/jsdoc/mod2\"": typeof import("tests/cases/conformance/jsdoc/mod2"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod2") >"readonlyAccessor" : "readonlyAccessor" >{ get() { return 21.75 } } : { get(): number; } @@ -314,7 +314,7 @@ Object.defineProperty(module.exports, "setonlyAccessor", { >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/mod2") ->module : { "tests/cases/conformance/jsdoc/mod2": typeof import("tests/cases/conformance/jsdoc/mod2"); } +>module : { "\"tests/cases/conformance/jsdoc/mod2\"": typeof import("tests/cases/conformance/jsdoc/mod2"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod2") >"setonlyAccessor" : "setonlyAccessor" >{ /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }} : { set(str: string): void; } diff --git a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types index 66a814e92f2..a3bb9cd12ce 100644 --- a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types @@ -214,7 +214,7 @@ Object.defineProperty(Person.prototype, "setonlyAccessor", { module.exports = Person; >module.exports = Person : typeof Person >module.exports : typeof Person ->module : { "tests/cases/conformance/jsdoc/mod1": typeof Person; } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof Person; } >exports : typeof Person >Person : typeof Person diff --git a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types index 7fcf644cccd..6112b35cf3b 100644 --- a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types +++ b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types @@ -24,7 +24,7 @@ export = Foo; module.exports = /** @type {FooFun} */(void 0); >module.exports = /** @type {FooFun} */(void 0) : (foo: typeof import("tests/cases/compiler/file")) => string >module.exports : (foo: typeof import("tests/cases/compiler/file")) => string ->module : { "tests/cases/compiler/something": (foo: typeof import("tests/cases/compiler/file")) => string; } +>module : { "\"tests/cases/compiler/something\"": (foo: typeof import("tests/cases/compiler/file")) => string; } >exports : (foo: typeof import("tests/cases/compiler/file")) => string >(void 0) : (foo: typeof import("tests/cases/compiler/file")) => string >void 0 : undefined diff --git a/tests/baselines/reference/checkObjectDefineProperty.types b/tests/baselines/reference/checkObjectDefineProperty.types index 88a1e682dfc..6f5646b57b5 100644 --- a/tests/baselines/reference/checkObjectDefineProperty.types +++ b/tests/baselines/reference/checkObjectDefineProperty.types @@ -249,7 +249,7 @@ match(() => expected, (x = expected) => void 0); module.exports = x; >module.exports = x : typeof x >module.exports : typeof x ->module : { "tests/cases/conformance/jsdoc/index": typeof x; } +>module : { "\"tests/cases/conformance/jsdoc/index\"": typeof x; } >exports : typeof x >x : typeof x diff --git a/tests/baselines/reference/commonJsIsolatedModules.types b/tests/baselines/reference/commonJsIsolatedModules.types index 363b450cef9..12da6a2e0a7 100644 --- a/tests/baselines/reference/commonJsIsolatedModules.types +++ b/tests/baselines/reference/commonJsIsolatedModules.types @@ -2,7 +2,7 @@ module.exports = {} >module.exports = {} : typeof import("tests/cases/compiler/index") >module.exports : typeof import("tests/cases/compiler/index") ->module : { "tests/cases/compiler/index": typeof import("tests/cases/compiler/index"); } +>module : { "\"tests/cases/compiler/index\"": typeof import("tests/cases/compiler/index"); } >exports : typeof import("tests/cases/compiler/index") >{} : {} diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1.types b/tests/baselines/reference/computedPropertiesInDestructuring1.types index a8605d2a42c..5e5405d1ae8 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1.types +++ b/tests/baselines/reference/computedPropertiesInDestructuring1.types @@ -116,7 +116,7 @@ let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}]; ({["bar"]: bar2} = {bar: "bar"}); >({["bar"]: bar2} = {bar: "bar"}) : { bar: string; } >{["bar"]: bar2} = {bar: "bar"} : { bar: string; } ->{["bar"]: bar2} : { ["bar"]: string; } +>{["bar"]: bar2} : { bar: string; } >["bar"] : string >"bar" : "bar" >bar2 : string diff --git a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types index 1a88bc0358d..9efcf7beaf3 100644 --- a/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types +++ b/tests/baselines/reference/computedPropertiesInDestructuring1_ES6.types @@ -123,7 +123,7 @@ let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}]; ({["bar"]: bar2} = {bar: "bar"}); >({["bar"]: bar2} = {bar: "bar"}) : { bar: string; } >{["bar"]: bar2} = {bar: "bar"} : { bar: string; } ->{["bar"]: bar2} : { ["bar"]: string; } +>{["bar"]: bar2} : { bar: string; } >["bar"] : string >"bar" : "bar" >bar2 : string diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.types b/tests/baselines/reference/computedPropertyNames10_ES5.types index d12636585b6..82d82bcc638 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.types +++ b/tests/baselines/reference/computedPropertyNames10_ES5.types @@ -9,8 +9,8 @@ var a: any; >a : any var v = { ->v : { [x: string]: () => void; [x: number]: () => void; [""](): void; [0](): void; [`hello bye`](): void; } ->{ [s]() { }, [n]() { }, [s + s]() { }, [s + n]() { }, [+s]() { }, [""]() { }, [0]() { }, [a]() { }, [true]() { }, [`hello bye`]() { }, [`hello ${a} bye`]() { }} : { [x: string]: () => void; [x: number]: () => void; [""](): void; [0](): void; [`hello bye`](): void; } +>v : { [x: string]: () => void; [x: number]: () => void; ""(): void; 0(): void; "hello bye"(): void; } +>{ [s]() { }, [n]() { }, [s + s]() { }, [s + n]() { }, [+s]() { }, [""]() { }, [0]() { }, [a]() { }, [true]() { }, [`hello bye`]() { }, [`hello ${a} bye`]() { }} : { [x: string]: () => void; [x: number]: () => void; ""(): void; 0(): void; "hello bye"(): void; } [s]() { }, >[s] : () => void diff --git a/tests/baselines/reference/computedPropertyNames10_ES6.types b/tests/baselines/reference/computedPropertyNames10_ES6.types index fab486ff57a..c9ad6eeebb6 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES6.types +++ b/tests/baselines/reference/computedPropertyNames10_ES6.types @@ -9,8 +9,8 @@ var a: any; >a : any var v = { ->v : { [x: string]: () => void; [x: number]: () => void; [""](): void; [0](): void; [`hello bye`](): void; } ->{ [s]() { }, [n]() { }, [s + s]() { }, [s + n]() { }, [+s]() { }, [""]() { }, [0]() { }, [a]() { }, [true]() { }, [`hello bye`]() { }, [`hello ${a} bye`]() { }} : { [x: string]: () => void; [x: number]: () => void; [""](): void; [0](): void; [`hello bye`](): void; } +>v : { [x: string]: () => void; [x: number]: () => void; ""(): void; 0(): void; "hello bye"(): void; } +>{ [s]() { }, [n]() { }, [s + s]() { }, [s + n]() { }, [+s]() { }, [""]() { }, [0]() { }, [a]() { }, [true]() { }, [`hello bye`]() { }, [`hello ${a} bye`]() { }} : { [x: string]: () => void; [x: number]: () => void; ""(): void; 0(): void; "hello bye"(): void; } [s]() { }, >[s] : () => void diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.types b/tests/baselines/reference/computedPropertyNames11_ES5.types index b5ef2e02b26..944f4a4cfcc 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES5.types +++ b/tests/baselines/reference/computedPropertyNames11_ES5.types @@ -9,8 +9,8 @@ var a: any; >a : any var v = { ->v : { [x: string]: any; [x: number]: any; [""]: any; readonly [0]: number; [`hello bye`]: any; } ->{ get [s]() { return 0; }, set [n](v) { }, get [s + s]() { return 0; }, set [s + n](v) { }, get [+s]() { return 0; }, set [""](v) { }, get [0]() { return 0; }, set [a](v) { }, get [true]() { return 0; }, set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; }} : { [x: string]: any; [x: number]: any; [""]: any; readonly [0]: number; [`hello bye`]: any; } +>v : { [x: string]: any; [x: number]: any; "": any; readonly 0: number; "hello bye": any; } +>{ get [s]() { return 0; }, set [n](v) { }, get [s + s]() { return 0; }, set [s + n](v) { }, get [+s]() { return 0; }, set [""](v) { }, get [0]() { return 0; }, set [a](v) { }, get [true]() { return 0; }, set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; }} : { [x: string]: any; [x: number]: any; "": any; readonly 0: number; "hello bye": any; } get [s]() { return 0; }, >[s] : number diff --git a/tests/baselines/reference/computedPropertyNames11_ES6.types b/tests/baselines/reference/computedPropertyNames11_ES6.types index 0cec215f33c..1d9551ea082 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES6.types +++ b/tests/baselines/reference/computedPropertyNames11_ES6.types @@ -9,8 +9,8 @@ var a: any; >a : any var v = { ->v : { [x: string]: any; [x: number]: any; [""]: any; readonly [0]: number; [`hello bye`]: any; } ->{ get [s]() { return 0; }, set [n](v) { }, get [s + s]() { return 0; }, set [s + n](v) { }, get [+s]() { return 0; }, set [""](v) { }, get [0]() { return 0; }, set [a](v) { }, get [true]() { return 0; }, set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; }} : { [x: string]: any; [x: number]: any; [""]: any; readonly [0]: number; [`hello bye`]: any; } +>v : { [x: string]: any; [x: number]: any; "": any; readonly 0: number; "hello bye": any; } +>{ get [s]() { return 0; }, set [n](v) { }, get [s + s]() { return 0; }, set [s + n](v) { }, get [+s]() { return 0; }, set [""](v) { }, get [0]() { return 0; }, set [a](v) { }, get [true]() { return 0; }, set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; }} : { [x: string]: any; [x: number]: any; "": any; readonly 0: number; "hello bye": any; } get [s]() { return 0; }, >[s] : number diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.types b/tests/baselines/reference/computedPropertyNames28_ES5.types index c353b1bdb83..724cf748e12 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.types +++ b/tests/baselines/reference/computedPropertyNames28_ES5.types @@ -12,8 +12,8 @@ class C extends Base { >super : typeof Base var obj = { ->obj : { [(super(), "prop")](): void; } ->{ [(super(), "prop")]() { } } : { [(super(), "prop")](): void; } +>obj : { prop(): void; } +>{ [(super(), "prop")]() { } } : { prop(): void; } [(super(), "prop")]() { } >[(super(), "prop")] : () => void diff --git a/tests/baselines/reference/computedPropertyNames28_ES6.types b/tests/baselines/reference/computedPropertyNames28_ES6.types index 97d4f9d591f..6985087a3a9 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES6.types +++ b/tests/baselines/reference/computedPropertyNames28_ES6.types @@ -12,8 +12,8 @@ class C extends Base { >super : typeof Base var obj = { ->obj : { [(super(), "prop")](): void; } ->{ [(super(), "prop")]() { } } : { [(super(), "prop")](): void; } +>obj : { prop(): void; } +>{ [(super(), "prop")]() { } } : { prop(): void; } [(super(), "prop")]() { } >[(super(), "prop")] : () => void diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.types b/tests/baselines/reference/computedPropertyNames30_ES5.types index 0344bc7924a..97ba69638f9 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.types +++ b/tests/baselines/reference/computedPropertyNames30_ES5.types @@ -15,8 +15,8 @@ class C extends Base { >() => { var obj = { // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } }; } : () => void var obj = { ->obj : { [(super(), "prop")](): void; } ->{ // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } } : { [(super(), "prop")](): void; } +>obj : { prop(): void; } +>{ // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } } : { prop(): void; } // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with diff --git a/tests/baselines/reference/computedPropertyNames30_ES6.types b/tests/baselines/reference/computedPropertyNames30_ES6.types index ef7e95f46f2..44198eb3c91 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES6.types +++ b/tests/baselines/reference/computedPropertyNames30_ES6.types @@ -15,8 +15,8 @@ class C extends Base { >() => { var obj = { // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } }; } : () => void var obj = { ->obj : { [(super(), "prop")](): void; } ->{ // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } } : { [(super(), "prop")](): void; } +>obj : { prop(): void; } +>{ // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } } : { prop(): void; } // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.types b/tests/baselines/reference/computedPropertyNames46_ES5.types index f1b9b3c459a..fe9308a2818 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES5.types +++ b/tests/baselines/reference/computedPropertyNames46_ES5.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts === var o = { ->o : { ["" || 0]: number; } ->{ ["" || 0]: 0} : { ["" || 0]: number; } +>o : { 0: number; } +>{ ["" || 0]: 0} : { 0: number; } ["" || 0]: 0 >["" || 0] : number diff --git a/tests/baselines/reference/computedPropertyNames46_ES6.types b/tests/baselines/reference/computedPropertyNames46_ES6.types index df880ac3166..30fd47e520b 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES6.types +++ b/tests/baselines/reference/computedPropertyNames46_ES6.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES6.ts === var o = { ->o : { ["" || 0]: number; } ->{ ["" || 0]: 0} : { ["" || 0]: number; } +>o : { 0: number; } +>{ ["" || 0]: 0} : { 0: number; } ["" || 0]: 0 >["" || 0] : number diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.types b/tests/baselines/reference/computedPropertyNames47_ES5.types index ab8ab053f6a..ad28a7d7dad 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES5.types +++ b/tests/baselines/reference/computedPropertyNames47_ES5.types @@ -8,8 +8,8 @@ enum E2 { x } >x : E2.x var o = { ->o : { [E1.x || E2.x]: number; } ->{ [E1.x || E2.x]: 0} : { [E1.x || E2.x]: number; } +>o : { 0: number; } +>{ [E1.x || E2.x]: 0} : { 0: number; } [E1.x || E2.x]: 0 >[E1.x || E2.x] : number diff --git a/tests/baselines/reference/computedPropertyNames47_ES6.types b/tests/baselines/reference/computedPropertyNames47_ES6.types index a11d09dd121..7c07434abed 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES6.types +++ b/tests/baselines/reference/computedPropertyNames47_ES6.types @@ -8,8 +8,8 @@ enum E2 { x } >x : E2.x var o = { ->o : { [E1.x || E2.x]: number; } ->{ [E1.x || E2.x]: 0} : { [E1.x || E2.x]: number; } +>o : { 0: number; } +>{ [E1.x || E2.x]: 0} : { 0: number; } [E1.x || E2.x]: 0 >[E1.x || E2.x] : number diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types index c036eabf3d7..d56824ecbc7 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.types +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -26,7 +26,7 @@ extractIndexer({ extractIndexer({ >extractIndexer({ [E.x]: ""}) : string >extractIndexer : (p: { [n: number]: T; }) => T ->{ [E.x]: ""} : { [E.x]: string; } +>{ [E.x]: ""} : { 0: string; } [E.x]: "" >[E.x] : string @@ -40,7 +40,7 @@ extractIndexer({ extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string >extractIndexer : (p: { [n: number]: T; }) => T ->{ ["" || 0]: ""} : { ["" || 0]: string; } +>{ ["" || 0]: ""} : { 0: string; } ["" || 0]: "" >["" || 0] : string diff --git a/tests/baselines/reference/computedPropertyNames48_ES6.types b/tests/baselines/reference/computedPropertyNames48_ES6.types index 7775f6c8c7b..516917c0241 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES6.types +++ b/tests/baselines/reference/computedPropertyNames48_ES6.types @@ -26,7 +26,7 @@ extractIndexer({ extractIndexer({ >extractIndexer({ [E.x]: ""}) : string >extractIndexer : (p: { [n: number]: T; }) => T ->{ [E.x]: ""} : { [E.x]: string; } +>{ [E.x]: ""} : { 0: string; } [E.x]: "" >[E.x] : string @@ -40,7 +40,7 @@ extractIndexer({ extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string >extractIndexer : (p: { [n: number]: T; }) => T ->{ ["" || 0]: ""} : { ["" || 0]: string; } +>{ ["" || 0]: ""} : { 0: string; } ["" || 0]: "" >["" || 0] : string diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.types b/tests/baselines/reference/computedPropertyNames4_ES5.types index e34921dd63a..b9181140ed5 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.types +++ b/tests/baselines/reference/computedPropertyNames4_ES5.types @@ -9,8 +9,8 @@ var a: any; >a : any var v = { ->v : { [x: string]: string | number; [x: number]: string | number; [""]: number; [0]: number; [`hello bye`]: number; } ->{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: string | number; [x: number]: string | number; [""]: number; [0]: number; [`hello bye`]: number; } +>v : { [x: string]: string | number; [x: number]: string | number; "": number; 0: number; "hello bye": number; } +>{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: string | number; [x: number]: string | number; "": number; 0: number; "hello bye": number; } [s]: 0, >[s] : number diff --git a/tests/baselines/reference/computedPropertyNames4_ES6.types b/tests/baselines/reference/computedPropertyNames4_ES6.types index 85e95a8b1ad..669af26ebdf 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES6.types +++ b/tests/baselines/reference/computedPropertyNames4_ES6.types @@ -9,8 +9,8 @@ var a: any; >a : any var v = { ->v : { [x: string]: string | number; [x: number]: string | number; [""]: number; [0]: number; [`hello bye`]: number; } ->{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: string | number; [x: number]: string | number; [""]: number; [0]: number; [`hello bye`]: number; } +>v : { [x: string]: string | number; [x: number]: string | number; "": number; 0: number; "hello bye": number; } +>{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : { [x: string]: string | number; [x: number]: string | number; "": number; 0: number; "hello bye": number; } [s]: 0, >[s] : number diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.types b/tests/baselines/reference/computedPropertyNames7_ES5.types index 08d75af1cd3..57375f3a03f 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES5.types +++ b/tests/baselines/reference/computedPropertyNames7_ES5.types @@ -6,8 +6,8 @@ enum E { >member : E.member } var v = { ->v : { [E.member]: number; } ->{ [E.member]: 0} : { [E.member]: number; } +>v : { 0: number; } +>{ [E.member]: 0} : { 0: number; } [E.member]: 0 >[E.member] : number diff --git a/tests/baselines/reference/computedPropertyNames7_ES6.types b/tests/baselines/reference/computedPropertyNames7_ES6.types index 6e4c85ef6f7..3db64834347 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES6.types +++ b/tests/baselines/reference/computedPropertyNames7_ES6.types @@ -6,8 +6,8 @@ enum E { >member : E.member } var v = { ->v : { [E.member]: number; } ->{ [E.member]: 0} : { [E.member]: number; } +>v : { 0: number; } +>{ [E.member]: 0} : { 0: number; } [E.member]: 0 >[E.member] : number diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES5.types index ed412b8041c..bfb2009b16b 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES5.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit6_ES5.ts === var v = { >v : { [x: number]: {}; [-1]: {}; 1: {}; } ->{ [-1]: {}, [+1]: {}, [~1]: {}, [!1]: {}} : { [x: number]: {}; [-1]: {}; [+1]: {}; } +>{ [-1]: {}, [+1]: {}, [~1]: {}, [!1]: {}} : { [x: number]: {}; [-1]: {}; 1: {}; } [-1]: {}, >[-1] : {} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES6.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES6.types index d68d458621c..feb1c44c215 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit6_ES6.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit6_ES6.ts === var v = { >v : { [x: number]: {}; [-1]: {}; 1: {}; } ->{ [-1]: {}, [+1]: {}, [~1]: {}, [!1]: {}} : { [x: number]: {}; [-1]: {}; [+1]: {}; } +>{ [-1]: {}, [+1]: {}, [~1]: {}, [!1]: {}} : { [x: number]: {}; [-1]: {}; 1: {}; } [-1]: {}, >[-1] : {} diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types index bc5d038606f..f7689b06a38 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts === var v = { ->v : { ["hello"](): void; readonly ["goodbye"]: number; } ->{ ["hello"]() { debugger; }, get ["goodbye"]() { return 0; }} : { ["hello"](): void; readonly ["goodbye"]: number; } +>v : { hello(): void; readonly goodbye: number; } +>{ ["hello"]() { debugger; }, get ["goodbye"]() { return 0; }} : { hello(): void; readonly goodbye: number; } ["hello"]() { >["hello"] : () => void diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types index dbd9ed0f40d..7e9e6aa3b27 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES6.ts === var v = { ->v : { ["hello"](): void; readonly ["goodbye"]: number; } ->{ ["hello"]() { debugger; }, get ["goodbye"]() { return 0; }} : { ["hello"](): void; readonly ["goodbye"]: number; } +>v : { hello(): void; readonly goodbye: number; } +>{ ["hello"]() { debugger; }, get ["goodbye"]() { return 0; }} : { hello(): void; readonly goodbye: number; } ["hello"]() { >["hello"] : () => void diff --git a/tests/baselines/reference/constAssertions.js b/tests/baselines/reference/constAssertions.js index 21369cb3423..c994db7a256 100644 --- a/tests/baselines/reference/constAssertions.js +++ b/tests/baselines/reference/constAssertions.js @@ -159,14 +159,14 @@ declare let o1: { declare let o2: { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; - readonly 'b': 2; - readonly ['c']: 3; + readonly b: 2; + readonly c: 3; readonly d: () => void; }; declare let o3: { readonly a: 1; - readonly 'b': 2; - readonly ['c']: 3; + readonly b: 2; + readonly c: 3; readonly d: () => void; readonly x: 10; readonly y: 20; diff --git a/tests/baselines/reference/constAssertions.types b/tests/baselines/reference/constAssertions.types index b02988aea1b..8ee3797f3a2 100644 --- a/tests/baselines/reference/constAssertions.types +++ b/tests/baselines/reference/constAssertions.types @@ -182,9 +182,9 @@ let o1 = { x: 10, y: 20 } as const; >20 : 20 let o2 = { a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } as const; ->o2 : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; } ->{ a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } as const : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; } ->{ a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; } +>o2 : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; } +>{ a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } as const : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; } +>{ a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; } >a : 1 >1 : 1 >'b' : 2 @@ -200,11 +200,11 @@ let o2 = { a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } as const; >4 : 4 let o3 = { ...o1, ...o2 } as const; ->o3 : { readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; readonly x: 10; readonly y: 20; } ->{ ...o1, ...o2 } as const : { readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; readonly x: 10; readonly y: 20; } ->{ ...o1, ...o2 } : { readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; readonly x: 10; readonly y: 20; } +>o3 : { readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; readonly x: 10; readonly y: 20; } +>{ ...o1, ...o2 } as const : { readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; readonly x: 10; readonly y: 20; } +>{ ...o1, ...o2 } : { readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; readonly x: 10; readonly y: 20; } >o1 : { readonly x: 10; readonly y: 20; } ->o2 : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly 'b': 2; readonly ['c']: 3; readonly d: () => void; } +>o2 : { readonly [x: string]: 1 | 2 | 3 | (() => void) | 4; readonly a: 1; readonly b: 2; readonly c: 3; readonly d: () => void; } let o4 = { a: 1, b: 2 }; >o4 : { a: number; b: number; } diff --git a/tests/baselines/reference/constructorFunctions2.types b/tests/baselines/reference/constructorFunctions2.types index b9a114604d8..2542ec7b5ec 100644 --- a/tests/baselines/reference/constructorFunctions2.types +++ b/tests/baselines/reference/constructorFunctions2.types @@ -71,7 +71,7 @@ function A() { this.id = 1; } module.exports = A; >module.exports = A : typeof A >module.exports : typeof A ->module : { "tests/cases/conformance/salsa/other": typeof A; } +>module : { "\"tests/cases/conformance/salsa/other\"": typeof A; } >exports : typeof A >A : typeof A diff --git a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types index affae0f3108..891f0176cb4 100644 --- a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types +++ b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types @@ -246,8 +246,8 @@ module TypeScriptAllInOne { >/\w*/ : RegExp var objLit = { "var": number = 42, equals: function (x) { return x["var"] === 42; }, instanceof : () => 'objLit{42}' }; ->objLit : { "var": number; equals: (x: any) => boolean; instanceof: () => string; } ->{ "var": number = 42, equals: function (x) { return x["var"] === 42; }, instanceof : () => 'objLit{42}' } : { "var": number; equals: (x: any) => boolean; instanceof: () => string; } +>objLit : { var: number; equals: (x: any) => boolean; instanceof: () => string; } +>{ "var": number = 42, equals: function (x) { return x["var"] === 42; }, instanceof : () => 'objLit{42}' } : { var: number; equals: (x: any) => boolean; instanceof: () => string; } >"var" : number >number = 42 : 42 >number : number @@ -294,7 +294,7 @@ module TypeScriptAllInOne { >reg.toString : () => string >reg : RegExp >toString : () => string ->objLit : { "var": number; equals: (x: any) => boolean; instanceof: () => string; } +>objLit : { var: number; equals: (x: any) => boolean; instanceof: () => string; } >weekday : Weekdays.Monday // diff --git a/tests/baselines/reference/contextualTypeArrayReturnType.types b/tests/baselines/reference/contextualTypeArrayReturnType.types index 44775775d06..a782dcbf824 100644 --- a/tests/baselines/reference/contextualTypeArrayReturnType.types +++ b/tests/baselines/reference/contextualTypeArrayReturnType.types @@ -17,18 +17,18 @@ interface Transform3D { var style: IBookStyle = { >style : IBookStyle ->{ initialLeftPageTransforms: (width: number) => { return [ {'ry': null } ]; }} : { initialLeftPageTransforms: (width: number) => { 'ry': any; }[]; } +>{ initialLeftPageTransforms: (width: number) => { return [ {'ry': null } ]; }} : { initialLeftPageTransforms: (width: number) => { ry: any; }[]; } initialLeftPageTransforms: (width: number) => { ->initialLeftPageTransforms : (width: number) => { 'ry': any; }[] ->(width: number) => { return [ {'ry': null } ]; } : (width: number) => { 'ry': any; }[] +>initialLeftPageTransforms : (width: number) => { ry: any; }[] +>(width: number) => { return [ {'ry': null } ]; } : (width: number) => { ry: any; }[] >width : number return [ ->[ {'ry': null } ] : { 'ry': null; }[] +>[ {'ry': null } ] : { ry: null; }[] {'ry': null } ->{'ry': null } : { 'ry': null; } +>{'ry': null } : { ry: null; } >'ry' : null >null : null diff --git a/tests/baselines/reference/contextualTypedSpecialAssignment.types b/tests/baselines/reference/contextualTypedSpecialAssignment.types index 2788df859cf..830f20d9b2d 100644 --- a/tests/baselines/reference/contextualTypedSpecialAssignment.types +++ b/tests/baselines/reference/contextualTypedSpecialAssignment.types @@ -119,7 +119,7 @@ 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 : typeof import("tests/cases/conformance/salsa/test") ->module : { "tests/cases/conformance/salsa/test": typeof import("tests/cases/conformance/salsa/test"); } +>module : { "\"tests/cases/conformance/salsa/test\"": typeof import("tests/cases/conformance/salsa/test"); } >exports : typeof import("tests/cases/conformance/salsa/test") >y : { status: "done"; m(n: number): void; } >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } @@ -135,7 +135,7 @@ module.exports.y = { module.exports.y >module.exports.y : { status: "done"; m(n: number): void; } >module.exports : typeof import("tests/cases/conformance/salsa/test") ->module : { "tests/cases/conformance/salsa/test": typeof import("tests/cases/conformance/salsa/test"); } +>module : { "\"tests/cases/conformance/salsa/test\"": typeof import("tests/cases/conformance/salsa/test"); } >exports : typeof import("tests/cases/conformance/salsa/test") >y : { status: "done"; m(n: number): void; } @@ -192,7 +192,7 @@ F.prototype = { module.exports = { >module.exports = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } >module.exports : { status: "done"; m(n: number): void; } ->module : { "tests/cases/conformance/salsa/mod": { status: "done"; m(n: number): void; }; } +>module : { "\"tests/cases/conformance/salsa/mod\"": { status: "done"; m(n: number): void; }; } >exports : { status: "done"; m(n: number): void; } >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } diff --git a/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types b/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types index 4eeb487bdfb..f27e9cc6e60 100644 --- a/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types +++ b/tests/baselines/reference/crashInGetTextOfComputedPropertyName.types @@ -57,7 +57,7 @@ const { >items : any >itemId : "some-id" >itemWithTSError : any ->{} : { some-id: any; } +>{} : { "some-id": any; } } = objWithItems >objWithItems : ObjWithItems diff --git a/tests/baselines/reference/declarationEmitComputedNameConstEnumAlias.types b/tests/baselines/reference/declarationEmitComputedNameConstEnumAlias.types index 97be9ac5a1b..f37f71a017f 100644 --- a/tests/baselines/reference/declarationEmitComputedNameConstEnumAlias.types +++ b/tests/baselines/reference/declarationEmitComputedNameConstEnumAlias.types @@ -15,7 +15,7 @@ import EnumExample from './EnumExample'; >EnumExample : typeof EnumExample export default { ->{ [EnumExample.TEST]: {},} : { [EnumExample.TEST]: {}; } +>{ [EnumExample.TEST]: {},} : { TEST: {}; } [EnumExample.TEST]: {}, >[EnumExample.TEST] : {} diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.js b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.js index 89877887cd9..c06f1ec965c 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.js +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.js @@ -42,5 +42,5 @@ export default _default; //// [main.d.ts] import other from "./other"; export declare const obj: { - [other.name]: number; + foo: number; }; diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types index 2fb4fff3efd..437122a2c09 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types @@ -29,8 +29,8 @@ import other from "./other"; >other : { name: "foo"; } export const obj = { ->obj : { [other.name]: number; } ->{ [other.name]: 1,} : { [other.name]: number; } +>obj : { foo: number; } +>{ [other.name]: 1,} : { foo: number; } [other.name]: 1, >[other.name] : number diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.js b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.js index 24db1560dca..e4a5acff1f5 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.js +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.js @@ -42,5 +42,5 @@ export default _default; //// [main.d.ts] import * as other2 from "./other"; export declare const obj: { - [other2.default.name]: number; + foo: number; }; diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types index 29e61100214..2d342f1539b 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types @@ -29,8 +29,8 @@ import * as other2 from "./other"; >other2 : typeof other2 export const obj = { ->obj : { [other2.default.name]: number; } ->{ [other2.default.name]: 1} : { [other2.default.name]: number; } +>obj : { foo: number; } +>{ [other2.default.name]: 1} : { foo: number; } [other2.default.name]: 1 >[other2.default.name] : number diff --git a/tests/baselines/reference/deepKeysIndexing.types b/tests/baselines/reference/deepKeysIndexing.types index ba39a7bc29d..8e115412c20 100644 --- a/tests/baselines/reference/deepKeysIndexing.types +++ b/tests/baselines/reference/deepKeysIndexing.types @@ -33,7 +33,7 @@ type keys2workaround = Extract< interface Foo extends DeepObject { a: { ->a : { "1": 123; "2": string; "3": boolean; } +>a : { 1: 123; 2: string; 3: boolean; } "1": 123; >"1" : 123 diff --git a/tests/baselines/reference/deleteReadonly.types b/tests/baselines/reference/deleteReadonly.types index c6547153b8b..bcd458c21de 100644 --- a/tests/baselines/reference/deleteReadonly.types +++ b/tests/baselines/reference/deleteReadonly.types @@ -26,7 +26,7 @@ interface B { var b: B = { >b : B ->{ 'test': 'test'} : { 'test': string; } +>{ 'test': 'test'} : { test: string; } 'test': 'test' >'test' : string diff --git a/tests/baselines/reference/destructuringAssignment_private.types b/tests/baselines/reference/destructuringAssignment_private.types index 0615429cef5..d92e13da0bf 100644 --- a/tests/baselines/reference/destructuringAssignment_private.types +++ b/tests/baselines/reference/destructuringAssignment_private.types @@ -49,10 +49,10 @@ const nameX = "x"; ([{ a: { [nameX]: x } }] = [{ a: new C() }]); >([{ a: { [nameX]: x } }] = [{ a: new C() }]) : [{ a: C; }] >[{ a: { [nameX]: x } }] = [{ a: new C() }] : [{ a: C; }] ->[{ a: { [nameX]: x } }] : [{ a: { [nameX]: number; }; }] ->{ a: { [nameX]: x } } : { a: { [nameX]: number; }; } ->a : { [nameX]: number; } ->{ [nameX]: x } : { [nameX]: number; } +>[{ a: { [nameX]: x } }] : [{ a: { x: number; }; }] +>{ a: { [nameX]: x } } : { a: { x: number; }; } +>a : { x: number; } +>{ [nameX]: x } : { x: number; } >[nameX] : number >nameX : "x" >x : number @@ -69,7 +69,7 @@ const nameO = "o"; ({ [nameO]: [{ a: x }]} = new C()); >({ [nameO]: [{ a: x }]} = new C()) : C >{ [nameO]: [{ a: x }]} = new C() : C ->{ [nameO]: [{ a: x }]} : { [nameO]: [{ a: number; }]; } +>{ [nameO]: [{ a: x }]} : { o: [{ a: number; }]; } >[nameO] : [{ a: number; }] >nameO : "o" >[{ a: x }] : [{ a: number; }] diff --git a/tests/baselines/reference/destructuringControlFlow.types b/tests/baselines/reference/destructuringControlFlow.types index b6b9967ba43..efc406e9084 100644 --- a/tests/baselines/reference/destructuringControlFlow.types +++ b/tests/baselines/reference/destructuringControlFlow.types @@ -140,7 +140,7 @@ function f4() { ({ ["x"]: x } = 0); // Error >({ ["x"]: x } = 0) : 0 >{ ["x"]: x } = 0 : 0 ->{ ["x"]: x } : { ["x"]: boolean; } +>{ ["x"]: x } : { x: boolean; } >["x"] : boolean >"x" : "x" >x : boolean diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types index 000afcea979..9d7aa45e1e2 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types @@ -110,7 +110,7 @@ function foo1(): F1 { >foo1 : () => F1 return { ->{ "prop1": 2 } : { "prop1": number; } +>{ "prop1": 2 } : { prop1: number; } "prop1": 2 >"prop1" : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types index 108cef5be27..a81d8804717 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types @@ -110,7 +110,7 @@ function foo1(): F1 { >foo1 : () => F1 return { ->{ "prop1": 2 } : { "prop1": number; } +>{ "prop1": 2 } : { prop1: number; } "prop1": 2 >"prop1" : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types index 89348936509..654203acfeb 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types @@ -34,7 +34,7 @@ var {1} = { 1 }; var {"prop"} = { "prop": 1 }; > : any ->{ "prop": 1 } : { "prop": number; } +>{ "prop": 1 } : { prop: number; } >"prop" : number >1 : 1 diff --git a/tests/baselines/reference/destructuringParameterProperties1.types b/tests/baselines/reference/destructuringParameterProperties1.types index 13bacf49b13..38174445dca 100644 --- a/tests/baselines/reference/destructuringParameterProperties1.types +++ b/tests/baselines/reference/destructuringParameterProperties1.types @@ -115,7 +115,7 @@ c3 = new C3({x: 0, "y": "y", z: true}); >c3 : C3 >new C3({x: 0, "y": "y", z: true}) : C3 >C3 : typeof C3 ->{x: 0, "y": "y", z: true} : { x: number; "y": string; z: true; } +>{x: 0, "y": "y", z: true} : { x: number; y: string; z: true; } >x : number >0 : 0 >"y" : string diff --git a/tests/baselines/reference/duplicateIdentifierDifferentSpelling.types b/tests/baselines/reference/duplicateIdentifierDifferentSpelling.types index 54023d8a7e0..2be814d0c09 100644 --- a/tests/baselines/reference/duplicateIdentifierDifferentSpelling.types +++ b/tests/baselines/reference/duplicateIdentifierDifferentSpelling.types @@ -12,8 +12,8 @@ class A { } var X = { 0b11: '', 3: '' }; ->X : { 0b11: string; } ->{ 0b11: '', 3: '' } : { 0b11: string; } +>X : { 3: string; } +>{ 0b11: '', 3: '' } : { 3: string; } >0b11 : string >'' : "" >3 : string diff --git a/tests/baselines/reference/dynamicNames.js b/tests/baselines/reference/dynamicNames.js index 89a5076fc36..9afc45d1a84 100644 --- a/tests/baselines/reference/dynamicNames.js +++ b/tests/baselines/reference/dynamicNames.js @@ -240,9 +240,9 @@ export declare const c4 = "a"; export declare const c5 = 1; export declare const s2: typeof s0; export declare const o1: { - [c4]: number; - [c5]: string; - [s2]: boolean; + a: number; + 1: string; + [s0]: boolean; }; export declare const o1_c4: number; export declare const o1_c5: string; diff --git a/tests/baselines/reference/dynamicNames.types b/tests/baselines/reference/dynamicNames.types index 8106bb36097..03b6b980f3c 100644 --- a/tests/baselines/reference/dynamicNames.types +++ b/tests/baselines/reference/dynamicNames.types @@ -484,8 +484,8 @@ t0 = C; // static side // object literals export const o1 = { ->o1 : { [c4]: number; [c5]: string; [s2]: boolean; } ->{ [c4]: 1, [c5]: "a", [s2]: true} : { [c4]: number; [c5]: string; [s2]: boolean; } +>o1 : { a: number; 1: string; [s0]: boolean; } +>{ [c4]: 1, [c5]: "a", [s2]: true} : { a: number; 1: string; [s0]: boolean; } [c4]: 1, >[c4] : number @@ -508,24 +508,24 @@ export const o1 = { export const o1_c4 = o1[c4]; >o1_c4 : number >o1[c4] : number ->o1 : { [c4]: number; [c5]: string; [s2]: boolean; } +>o1 : { a: number; 1: string; [s0]: boolean; } >c4 : "a" export const o1_c5 = o1[c5]; >o1_c5 : string >o1[c5] : string ->o1 : { [c4]: number; [c5]: string; [s2]: boolean; } +>o1 : { a: number; 1: string; [s0]: boolean; } >c5 : 1 export const o1_s2 = o1[s2]; >o1_s2 : boolean >o1[s2] : boolean ->o1 : { [c4]: number; [c5]: string; [s2]: boolean; } +>o1 : { a: number; 1: string; [s0]: boolean; } >s2 : unique symbol export const o2: T0 = o1; >o2 : T0 ->o1 : { [c4]: number; [c5]: string; [s2]: boolean; } +>o1 : { a: number; 1: string; [s0]: boolean; } // recursive declarations // (type parameter indirection courtesy of #20400) diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.types b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.types index 629c56389c5..fe69d2d49ae 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.types +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES5.types @@ -5,7 +5,7 @@ >({ "1": "one", "2": "two" } as { [key: string]: string })[x] : string >({ "1": "one", "2": "two" } as { [key: string]: string }) : { [key: string]: string; } >{ "1": "one", "2": "two" } as { [key: string]: string } : { [key: string]: string; } ->{ "1": "one", "2": "two" } : { "1": string; "2": string; } +>{ "1": "one", "2": "two" } : { 1: string; 2: string; } >"1" : string >"one" : "one" >"2" : string @@ -19,7 +19,7 @@ >({ "1": "one", "2": "two" } as { [key: string]: string }).x : string >({ "1": "one", "2": "two" } as { [key: string]: string }) : { [key: string]: string; } >{ "1": "one", "2": "two" } as { [key: string]: string } : { [key: string]: string; } ->{ "1": "one", "2": "two" } : { "1": string; "2": string; } +>{ "1": "one", "2": "two" } : { 1: string; 2: string; } >"1" : string >"one" : "one" >"2" : string diff --git a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.types b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.types index 47093bbffe4..3f64b945c1d 100644 --- a/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.types +++ b/tests/baselines/reference/emitAccessExpressionOfCastedObjectLiteralExpressionInArrowFunctionES6.types @@ -5,7 +5,7 @@ >({ "1": "one", "2": "two" } as { [key: string]: string })[x] : string >({ "1": "one", "2": "two" } as { [key: string]: string }) : { [key: string]: string; } >{ "1": "one", "2": "two" } as { [key: string]: string } : { [key: string]: string; } ->{ "1": "one", "2": "two" } : { "1": string; "2": string; } +>{ "1": "one", "2": "two" } : { 1: string; 2: string; } >"1" : string >"one" : "one" >"2" : string @@ -19,7 +19,7 @@ >({ "1": "one", "2": "two" } as { [key: string]: string }).x : string >({ "1": "one", "2": "two" } as { [key: string]: string }) : { [key: string]: string; } >{ "1": "one", "2": "two" } as { [key: string]: string } : { [key: string]: string; } ->{ "1": "one", "2": "two" } : { "1": string; "2": string; } +>{ "1": "one", "2": "two" } : { 1: string; 2: string; } >"1" : string >"one" : "one" >"2" : string diff --git a/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types b/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types index ebd6f7ba434..95ac66a27c8 100644 --- a/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types +++ b/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types @@ -39,7 +39,7 @@ A.bar = class Q {} module.exports = A; >module.exports = A : typeof A >module.exports : typeof A ->module : { "tests/cases/compiler/namespacey": typeof A; } +>module : { "\"tests/cases/compiler/namespacey\"": typeof A; } >exports : typeof A >A : typeof A @@ -73,7 +73,7 @@ Object.defineProperty(B, "NS", { value: "why though", writable: true }); module.exports = B; >module.exports = B : typeof B >module.exports : typeof B ->module : { "tests/cases/compiler/namespacer": typeof B; } +>module : { "\"tests/cases/compiler/namespacer\"": typeof B; } >exports : typeof B >B : typeof B diff --git a/tests/baselines/reference/enumTagOnExports.types b/tests/baselines/reference/enumTagOnExports.types index 853e5ec0904..ff4333e69e6 100644 --- a/tests/baselines/reference/enumTagOnExports.types +++ b/tests/baselines/reference/enumTagOnExports.types @@ -12,7 +12,7 @@ module.exports.b = {}; >module.exports.b = {} : {} >module.exports.b : typeof b >module.exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->module : { "tests/cases/conformance/jsdoc/enumTagOnExports": typeof import("tests/cases/conformance/jsdoc/enumTagOnExports"); } +>module : { "\"tests/cases/conformance/jsdoc/enumTagOnExports\"": typeof import("tests/cases/conformance/jsdoc/enumTagOnExports"); } >exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") >b : typeof b >{} : {} diff --git a/tests/baselines/reference/enumTagOnExports2.types b/tests/baselines/reference/enumTagOnExports2.types index 9177307dde7..4694f1f14b2 100644 --- a/tests/baselines/reference/enumTagOnExports2.types +++ b/tests/baselines/reference/enumTagOnExports2.types @@ -3,7 +3,7 @@ module.exports = {}; >module.exports = {} : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") >module.exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") ->module : { "tests/cases/conformance/jsdoc/enumTagOnExports": typeof import("tests/cases/conformance/jsdoc/enumTagOnExports"); } +>module : { "\"tests/cases/conformance/jsdoc/enumTagOnExports\"": typeof import("tests/cases/conformance/jsdoc/enumTagOnExports"); } >exports : typeof import("tests/cases/conformance/jsdoc/enumTagOnExports") >{} : {} diff --git a/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.js b/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.js index e2a8471be0a..f7e866dc08e 100644 --- a/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.js +++ b/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.js @@ -66,7 +66,7 @@ var b5 = o5["_proto__"]; //// [escapedReservedCompilerNamedIdentifier.d.ts] declare var __proto__: number; declare var o: { - "__proto__": number; + __proto__: number; }; declare var b: number; declare var o1: { @@ -75,7 +75,7 @@ declare var o1: { declare var b1: number; declare var ___proto__: number; declare var o2: { - "___proto__": number; + ___proto__: number; }; declare var b2: number; declare var o3: { @@ -84,7 +84,7 @@ declare var o3: { declare var b3: number; declare var _proto__: number; declare var o4: { - "_proto__": number; + _proto__: number; }; declare var b4: number; declare var o5: { diff --git a/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types b/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types index ef648a5b351..f342554c2e6 100644 --- a/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types +++ b/tests/baselines/reference/escapedReservedCompilerNamedIdentifier.types @@ -5,8 +5,8 @@ var __proto__ = 10; >10 : 10 var o = { ->o : { "__proto__": number; } ->{ "__proto__": 0} : { "__proto__": number; } +>o : { __proto__: number; } +>{ "__proto__": 0} : { __proto__: number; } "__proto__": 0 >"__proto__" : number @@ -16,7 +16,7 @@ var o = { var b = o["__proto__"]; >b : number >o["__proto__"] : number ->o : { "__proto__": number; } +>o : { __proto__: number; } >"__proto__" : "__proto__" var o1 = { @@ -40,8 +40,8 @@ var ___proto__ = 10; >10 : 10 var o2 = { ->o2 : { "___proto__": number; } ->{ "___proto__": 0} : { "___proto__": number; } +>o2 : { ___proto__: number; } +>{ "___proto__": 0} : { ___proto__: number; } "___proto__": 0 >"___proto__" : number @@ -51,7 +51,7 @@ var o2 = { var b2 = o2["___proto__"]; >b2 : number >o2["___proto__"] : number ->o2 : { "___proto__": number; } +>o2 : { ___proto__: number; } >"___proto__" : "___proto__" var o3 = { @@ -75,8 +75,8 @@ var _proto__ = 10; >10 : 10 var o4 = { ->o4 : { "_proto__": number; } ->{ "_proto__": 0} : { "_proto__": number; } +>o4 : { _proto__: number; } +>{ "_proto__": 0} : { _proto__: number; } "_proto__": 0 >"_proto__" : number @@ -86,7 +86,7 @@ var o4 = { var b4 = o4["_proto__"]; >b4 : number >o4["_proto__"] : number ->o4 : { "_proto__": number; } +>o4 : { _proto__: number; } >"_proto__" : "_proto__" var o5 = { diff --git a/tests/baselines/reference/expandoFunctionContextualTypesJs.types b/tests/baselines/reference/expandoFunctionContextualTypesJs.types index 82442a9db4a..f9ede532ba7 100644 --- a/tests/baselines/reference/expandoFunctionContextualTypesJs.types +++ b/tests/baselines/reference/expandoFunctionContextualTypesJs.types @@ -89,7 +89,7 @@ function foo() { module.exports = { >module.exports = { color: "red"} : { color: "red" | "blue"; } >module.exports : { color: "red" | "blue"; } ->module : { "tests/cases/compiler/input": { color: "red" | "blue"; }; } +>module : { "\"tests/cases/compiler/input\"": { color: "red" | "blue"; }; } >exports : { color: "red" | "blue"; } >{ color: "red"} : { color: "red"; } @@ -104,6 +104,6 @@ expectLiteral({ props: module.exports }); >{ props: module.exports } : { props: { color: "red" | "blue"; }; } >props : { color: "red" | "blue"; } >module.exports : { color: "red" | "blue"; } ->module : { "tests/cases/compiler/input": { color: "red" | "blue"; }; } +>module : { "\"tests/cases/compiler/input\"": { color: "red" | "blue"; }; } >exports : { color: "red" | "blue"; } diff --git a/tests/baselines/reference/exportDefaultParenthesize.types b/tests/baselines/reference/exportDefaultParenthesize.types index 1ec5da5b35e..0134688eb04 100644 --- a/tests/baselines/reference/exportDefaultParenthesize.types +++ b/tests/baselines/reference/exportDefaultParenthesize.types @@ -167,7 +167,7 @@ export default { === tests/cases/compiler/comma.ts === export default { ->{ ['foo']: 42} : { ['foo']: number; } +>{ ['foo']: 42} : { foo: number; } ['foo']: 42 >['foo'] : number diff --git a/tests/baselines/reference/exportEqualsAmd.types b/tests/baselines/reference/exportEqualsAmd.types index 58ba5b051a8..87ccb9e56c3 100644 --- a/tests/baselines/reference/exportEqualsAmd.types +++ b/tests/baselines/reference/exportEqualsAmd.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportEqualsAmd.ts === export = { ["hi"]: "there" }; ->{ ["hi"]: "there" } : { ["hi"]: string; } +>{ ["hi"]: "there" } : { hi: string; } >["hi"] : string >"hi" : "hi" >"there" : "there" diff --git a/tests/baselines/reference/exportEqualsCommonJs.types b/tests/baselines/reference/exportEqualsCommonJs.types index 600b139f099..81598b00a9a 100644 --- a/tests/baselines/reference/exportEqualsCommonJs.types +++ b/tests/baselines/reference/exportEqualsCommonJs.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportEqualsCommonJs.ts === export = { ["hi"]: "there" }; ->{ ["hi"]: "there" } : { ["hi"]: string; } +>{ ["hi"]: "there" } : { hi: string; } >["hi"] : string >"hi" : "hi" >"there" : "there" diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.types b/tests/baselines/reference/exportEqualsDefaultProperty.types index 4e4b6ae7939..1bce973f43c 100644 --- a/tests/baselines/reference/exportEqualsDefaultProperty.types +++ b/tests/baselines/reference/exportEqualsDefaultProperty.types @@ -1,7 +1,7 @@ === tests/cases/compiler/exp.ts === var x = { ->x : { "greeting": string; "default": number; } ->{ "greeting": "hello, world", "default": 42} : { "greeting": string; "default": number; } +>x : { greeting: string; default: number; } +>{ "greeting": "hello, world", "default": 42} : { greeting: string; default: number; } "greeting": "hello, world", >"greeting" : string @@ -14,7 +14,7 @@ var x = { }; export = x ->x : { "greeting": string; "default": number; } +>x : { greeting: string; default: number; } === tests/cases/compiler/imp.ts === import foo from "./exp"; diff --git a/tests/baselines/reference/exportEqualsUmd.types b/tests/baselines/reference/exportEqualsUmd.types index 528386010f2..43e2d04f63c 100644 --- a/tests/baselines/reference/exportEqualsUmd.types +++ b/tests/baselines/reference/exportEqualsUmd.types @@ -1,6 +1,6 @@ === tests/cases/compiler/exportEqualsUmd.ts === export = { ["hi"]: "there" }; ->{ ["hi"]: "there" } : { ["hi"]: string; } +>{ ["hi"]: "there" } : { hi: string; } >["hi"] : string >"hi" : "hi" >"there" : "there" diff --git a/tests/baselines/reference/exportPropertyAssignmentNameResolution.types b/tests/baselines/reference/exportPropertyAssignmentNameResolution.types index 0cd1490c886..cf9d2e85917 100644 --- a/tests/baselines/reference/exportPropertyAssignmentNameResolution.types +++ b/tests/baselines/reference/exportPropertyAssignmentNameResolution.types @@ -3,7 +3,7 @@ module.exports.D = class { } >module.exports.D = class { } : typeof D >module.exports.D : typeof D >module.exports : typeof import("tests/cases/conformance/salsa/bug24492") ->module : { "tests/cases/conformance/salsa/bug24492": typeof import("tests/cases/conformance/salsa/bug24492"); } +>module : { "\"tests/cases/conformance/salsa/bug24492\"": typeof import("tests/cases/conformance/salsa/bug24492"); } >exports : typeof import("tests/cases/conformance/salsa/bug24492") >D : typeof D >class { } : typeof D diff --git a/tests/baselines/reference/exportsAndImportsWithUnderscores1.types b/tests/baselines/reference/exportsAndImportsWithUnderscores1.types index 7dbec8682a6..ad9878bec3b 100644 --- a/tests/baselines/reference/exportsAndImportsWithUnderscores1.types +++ b/tests/baselines/reference/exportsAndImportsWithUnderscores1.types @@ -3,9 +3,9 @@ var R: any >R : any export default R = { ->R = { "__": 20, "_": 10 "___": 30} : { "__": number; "_": number; "___": number; } +>R = { "__": 20, "_": 10 "___": 30} : { __: number; _: number; ___: number; } >R : any ->{ "__": 20, "_": 10 "___": 30} : { "__": number; "_": number; "___": number; } +>{ "__": 20, "_": 10 "___": 30} : { __: number; _: number; ___: number; } "__": 20, >"__" : number @@ -22,11 +22,11 @@ export default R = { === tests/cases/conformance/es6/modules/m2.ts === import R from "./m1"; ->R : { "__": number; "_": number; "___": number; } +>R : { __: number; _: number; ___: number; } const { __, _, ___ } = R; >__ : number >_ : number >___ : number ->R : { "__": number; "_": number; "___": number; } +>R : { __: number; _: number; ___: number; } diff --git a/tests/baselines/reference/exportsAndImportsWithUnderscores2.types b/tests/baselines/reference/exportsAndImportsWithUnderscores2.types index 57b11f67113..a03c4351eac 100644 --- a/tests/baselines/reference/exportsAndImportsWithUnderscores2.types +++ b/tests/baselines/reference/exportsAndImportsWithUnderscores2.types @@ -3,9 +3,9 @@ var R: any >R : any export default R = { ->R = { "__esmodule": true, "__proto__": {}} : { "__esmodule": boolean; "__proto__": {}; } +>R = { "__esmodule": true, "__proto__": {}} : { __esmodule: boolean; __proto__: {}; } >R : any ->{ "__esmodule": true, "__proto__": {}} : { "__esmodule": boolean; "__proto__": {}; } +>{ "__esmodule": true, "__proto__": {}} : { __esmodule: boolean; __proto__: {}; } "__esmodule": true, >"__esmodule" : boolean @@ -18,10 +18,10 @@ export default R = { === tests/cases/conformance/es6/modules/m2.ts === import R from "./m1"; ->R : { "__esmodule": boolean; "__proto__": {}; } +>R : { __esmodule: boolean; __proto__: {}; } const { __esmodule, __proto__ } = R; >__esmodule : boolean >__proto__ : {} ->R : { "__esmodule": boolean; "__proto__": {}; } +>R : { __esmodule: boolean; __proto__: {}; } diff --git a/tests/baselines/reference/exportsAndImportsWithUnderscores3.types b/tests/baselines/reference/exportsAndImportsWithUnderscores3.types index 0e8b3bf61f6..1d563538acb 100644 --- a/tests/baselines/reference/exportsAndImportsWithUnderscores3.types +++ b/tests/baselines/reference/exportsAndImportsWithUnderscores3.types @@ -3,9 +3,9 @@ var R: any >R : any export default R = { ->R = { "___": 30, "___hello": 21, "_hi": 40,} : { "___": number; "___hello": number; "_hi": number; } +>R = { "___": 30, "___hello": 21, "_hi": 40,} : { ___: number; ___hello: number; _hi: number; } >R : any ->{ "___": 30, "___hello": 21, "_hi": 40,} : { "___": number; "___hello": number; "_hi": number; } +>{ "___": 30, "___hello": 21, "_hi": 40,} : { ___: number; ___hello: number; _hi: number; } "___": 30, >"___" : number @@ -22,11 +22,11 @@ export default R = { === tests/cases/conformance/es6/modules/m2.ts === import R from "./m1"; ->R : { "___": number; "___hello": number; "_hi": number; } +>R : { ___: number; ___hello: number; _hi: number; } const { ___, ___hello, _hi } = R; >___ : number >___hello : number >_hi : number ->R : { "___": number; "___hello": number; "_hi": number; } +>R : { ___: number; ___hello: number; _hi: number; } diff --git a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types index 0818b9e02f1..00e062e27a0 100644 --- a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types +++ b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types @@ -22,7 +22,7 @@ var moduleATyped: IHasVisualizationModel = moduleA; var moduleMap: { [key: string]: IHasVisualizationModel } = { >moduleMap : { [key: string]: IHasVisualizationModel; } >key : string ->{ "moduleA": moduleA, "moduleB": moduleB} : { "moduleA": typeof moduleA; "moduleB": typeof moduleB; } +>{ "moduleA": moduleA, "moduleB": moduleB} : { moduleA: typeof moduleA; moduleB: typeof moduleB; } "moduleA": moduleA, >"moduleA" : typeof moduleA diff --git a/tests/baselines/reference/fixSignatureCaching.types b/tests/baselines/reference/fixSignatureCaching.types index 4fda03be7a9..cf367966c02 100644 --- a/tests/baselines/reference/fixSignatureCaching.types +++ b/tests/baselines/reference/fixSignatureCaching.types @@ -21,15 +21,15 @@ define(function () { >{} : {} impl.mobileDetectRules = { ->impl.mobileDetectRules = { "phones": { "iPhone": "\\biPhone\\b|\\biPod\\b", "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", "Asus": "Asus.*Galaxy|PadFone.*Mobile", "NokiaLumia": "Lumia [0-9]{3,4}", "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", "Palm": "PalmSource|Palm", "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", "Alcatel": "Alcatel", "Nintendo": "Nintendo 3DS", "Amoi": "Amoi", "INQ": "INQ", "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" }, "tablets": { "iPad": "iPad|iPad.*Mobile", "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", "BlackBerryTablet": "PlayBook|RIM Tablet", "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", "IRUTablet": "M702pro", "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", "NokiaLumiaTablet": "Lumia 2520", "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", "FlyTablet": "IQ310|Fly Vision", "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", "NecTablet": "\\bN-06D|\\bN-08D", "PantechTablet": "Pantech.*P4100", "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", "NabiTablet": "Android.*\\bNabi", "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", "PlaystationTablet": "Playstation.*(Portable|Vita)", "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", "GalapadTablet": "Android.*\\bG1\\b", "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", "DPSTablet": "DPS Dream 9|DPS Dual 7", "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", "iMobileTablet": "i-mobile i-note", "TolinoTablet": "tolino tab [0-9.]+|tolino shine", "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", "AMPETablet": "Android.* A78 ", "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", "TecnoTablet": "TECNO P9", "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", "FX2Tablet": "FX2 PAD7|FX2 PAD10", "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", "CaptivaTablet": "CAPTIVA PAD", "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", "JaytechTablet": "TPC-PA762", "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", "UbislateTablet": "UbiSlate[\\s]?7C", "PocketBookTablet": "Pocketbook", "KocasoTablet": "\\b(TB-1207)\\b", "Hudl": "Hudl HT7S3|Hudl 2", "TelstraTablet": "T-Hub2", "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" }, "oss": { "AndroidOS": "Android", "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", "MeeGoOS": "MeeGo", "MaemoOS": "Maemo", "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", "webOS": "webOS|hpwOS", "badaOS": "\\bBada\\b", "BREWOS": "BREW" }, "uas": { "Vivaldi": "Vivaldi", "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", "Dolfin": "\\bDolfin\\b", "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", "Skyfire": "Skyfire", "Edge": "Mobile Safari\/[.0-9]* Edge", "IE": "IEMobile|MSIEMobile", "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", "Bolt": "bolt", "TeaShark": "teashark", "Blazer": "Blazer", "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", "Tizen": "Tizen", "UCBrowser": "UC.*Browser|UCWEB", "baiduboxapp": "baiduboxapp", "baidubrowser": "baidubrowser", "DiigoBrowser": "DiigoBrowser", "Puffin": "Puffin", "Mercury": "\\bMercury\\b", "ObigoBrowser": "Obigo", "NetFront": "NF-Browser", "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" }, "props": { "Mobile": "Mobile\/[VER]", "Build": "Build\/[VER]", "Version": "Version\/[VER]", "VendorID": "VendorID\/[VER]", "iPad": "iPad.*CPU[a-z ]+[VER]", "iPhone": "iPhone.*CPU[a-z ]+[VER]", "iPod": "iPod.*CPU[a-z ]+[VER]", "Kindle": "Kindle\/[VER]", "Chrome": [ "Chrome\/[VER]", "CriOS\/[VER]", "CrMo\/[VER]" ], "Coast": [ "Coast\/[VER]" ], "Dolfin": "Dolfin\/[VER]", "Firefox": "Firefox\/[VER]", "Fennec": "Fennec\/[VER]", "Edge": "Edge\/[VER]", "IE": [ "IEMobile\/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident\/[0-9.]+;.*rv:[VER]" ], "NetFront": "NetFront\/[VER]", "NokiaBrowser": "NokiaBrowser\/[VER]", "Opera": [ " OPR\/[VER]", "Opera Mini\/[VER]", "Version\/[VER]" ], "Opera Mini": "Opera Mini\/[VER]", "Opera Mobi": "Version\/[VER]", "UC Browser": "UC Browser[VER]", "MQQBrowser": "MQQBrowser\/[VER]", "MicroMessenger": "MicroMessenger\/[VER]", "baiduboxapp": "baiduboxapp\/[VER]", "baidubrowser": "baidubrowser\/[VER]", "Iron": "Iron\/[VER]", "Safari": [ "Version\/[VER]", "Safari\/[VER]" ], "Skyfire": "Skyfire\/[VER]", "Tizen": "Tizen\/[VER]", "Webkit": "webkit[ \/][VER]", "PaleMoon": "PaleMoon\/[VER]", "Gecko": "Gecko\/[VER]", "Trident": "Trident\/[VER]", "Presto": "Presto\/[VER]", "Goanna": "Goanna\/[VER]", "iOS": " \\bi?OS\\b [VER][ ;]{1}", "Android": "Android [VER]", "BlackBerry": [ "BlackBerry[\\w]+\/[VER]", "BlackBerry.*Version\/[VER]", "Version\/[VER]" ], "BREW": "BREW [VER]", "Java": "Java\/[VER]", "Windows Phone OS": [ "Windows Phone OS [VER]", "Windows Phone [VER]" ], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE\/[VER]", "Windows NT": "Windows NT [VER]", "Symbian": [ "SymbianOS\/[VER]", "Symbian\/[VER]" ], "webOS": [ "webOS\/[VER]", "hpwOS\/[VER];" ] }, "utils": { "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", "DesktopMode": "WPDesktop", "TV": "SonyDTV|HbbTV", "WebKit": "(webkit)[ \/]([\\w.]+)", "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", "Watch": "SM-V700" }} : { "phones": { "iPhone": string; "BlackBerry": string; "HTC": string; "Nexus": string; "Dell": string; "Motorola": string; "Samsung": string; "LG": string; "Sony": string; "Asus": string; "NokiaLumia": string; "Micromax": string; "Palm": string; "Vertu": string; "Pantech": string; "Fly": string; "Wiko": string; "iMobile": string; "SimValley": string; "Wolfgang": string; "Alcatel": string; "Nintendo": string; "Amoi": string; "INQ": string; "GenericPhone": string; }; "tablets": { "iPad": string; "NexusTablet": string; "SamsungTablet": string; "Kindle": string; "SurfaceTablet": string; "HPTablet": string; "AsusTablet": string; "BlackBerryTablet": string; "HTCtablet": string; "MotorolaTablet": string; "NookTablet": string; "AcerTablet": string; "ToshibaTablet": string; "LGTablet": string; "FujitsuTablet": string; "PrestigioTablet": string; "LenovoTablet": string; "DellTablet": string; "YarvikTablet": string; "MedionTablet": string; "ArnovaTablet": string; "IntensoTablet": string; "IRUTablet": string; "MegafonTablet": string; "EbodaTablet": string; "AllViewTablet": string; "ArchosTablet": string; "AinolTablet": string; "NokiaLumiaTablet": string; "SonyTablet": string; "PhilipsTablet": string; "CubeTablet": string; "CobyTablet": string; "MIDTablet": string; "MSITablet": string; "SMiTTablet": string; "RockChipTablet": string; "FlyTablet": string; "bqTablet": string; "HuaweiTablet": string; "NecTablet": string; "PantechTablet": string; "BronchoTablet": string; "VersusTablet": string; "ZyncTablet": string; "PositivoTablet": string; "NabiTablet": string; "KoboTablet": string; "DanewTablet": string; "TexetTablet": string; "PlaystationTablet": string; "TrekstorTablet": string; "PyleAudioTablet": string; "AdvanTablet": string; "DanyTechTablet": string; "GalapadTablet": string; "MicromaxTablet": string; "KarbonnTablet": string; "AllFineTablet": string; "PROSCANTablet": string; "YONESTablet": string; "ChangJiaTablet": string; "GUTablet": string; "PointOfViewTablet": string; "OvermaxTablet": string; "HCLTablet": string; "DPSTablet": string; "VistureTablet": string; "CrestaTablet": string; "MediatekTablet": string; "ConcordeTablet": string; "GoCleverTablet": string; "ModecomTablet": string; "VoninoTablet": string; "ECSTablet": string; "StorexTablet": string; "VodafoneTablet": string; "EssentielBTablet": string; "RossMoorTablet": string; "iMobileTablet": string; "TolinoTablet": string; "AudioSonicTablet": string; "AMPETablet": string; "SkkTablet": string; "TecnoTablet": string; "JXDTablet": string; "iJoyTablet": string; "FX2Tablet": string; "XoroTablet": string; "ViewsonicTablet": string; "OdysTablet": string; "CaptivaTablet": string; "IconbitTablet": string; "TeclastTablet": string; "OndaTablet": string; "JaytechTablet": string; "BlaupunktTablet": string; "DigmaTablet": string; "EvolioTablet": string; "LavaTablet": string; "AocTablet": string; "MpmanTablet": string; "CelkonTablet": string; "WolderTablet": string; "MiTablet": string; "NibiruTablet": string; "NexoTablet": string; "LeaderTablet": string; "UbislateTablet": string; "PocketBookTablet": string; "KocasoTablet": string; "Hudl": string; "TelstraTablet": string; "GenericTablet": string; }; "oss": { "AndroidOS": string; "BlackBerryOS": string; "PalmOS": string; "SymbianOS": string; "WindowsMobileOS": string; "WindowsPhoneOS": string; "iOS": string; "MeeGoOS": string; "MaemoOS": string; "JavaOS": string; "webOS": string; "badaOS": string; "BREWOS": string; }; "uas": { "Vivaldi": string; "Chrome": string; "Dolfin": string; "Opera": string; "Skyfire": string; "Edge": string; "IE": string; "Firefox": string; "Bolt": string; "TeaShark": string; "Blazer": string; "Safari": string; "Tizen": string; "UCBrowser": string; "baiduboxapp": string; "baidubrowser": string; "DiigoBrowser": string; "Puffin": string; "Mercury": string; "ObigoBrowser": string; "NetFront": string; "GenericBrowser": string; "PaleMoon": string; }; "props": { "Mobile": string; "Build": string; "Version": string; "VendorID": string; "iPad": string; "iPhone": string; "iPod": string; "Kindle": string; "Chrome": string[]; "Coast": string[]; "Dolfin": string; "Firefox": string; "Fennec": string; "Edge": string; "IE": string[]; "NetFront": string; "NokiaBrowser": string; "Opera": string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; "MQQBrowser": string; "MicroMessenger": string; "baiduboxapp": string; "baidubrowser": string; "Iron": string; "Safari": string[]; "Skyfire": string; "Tizen": string; "Webkit": string; "PaleMoon": string; "Gecko": string; "Trident": string; "Presto": string; "Goanna": string; "iOS": string; "Android": string; "BlackBerry": string[]; "BREW": string; "Java": string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; "Symbian": string[]; "webOS": string[]; }; "utils": { "Bot": string; "MobileBot": string; "DesktopMode": string; "TV": string; "WebKit": string; "Console": string; "Watch": string; }; } +>impl.mobileDetectRules = { "phones": { "iPhone": "\\biPhone\\b|\\biPod\\b", "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", "Asus": "Asus.*Galaxy|PadFone.*Mobile", "NokiaLumia": "Lumia [0-9]{3,4}", "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", "Palm": "PalmSource|Palm", "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", "Alcatel": "Alcatel", "Nintendo": "Nintendo 3DS", "Amoi": "Amoi", "INQ": "INQ", "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" }, "tablets": { "iPad": "iPad|iPad.*Mobile", "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", "BlackBerryTablet": "PlayBook|RIM Tablet", "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", "IRUTablet": "M702pro", "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", "NokiaLumiaTablet": "Lumia 2520", "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", "FlyTablet": "IQ310|Fly Vision", "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", "NecTablet": "\\bN-06D|\\bN-08D", "PantechTablet": "Pantech.*P4100", "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", "NabiTablet": "Android.*\\bNabi", "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", "PlaystationTablet": "Playstation.*(Portable|Vita)", "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", "GalapadTablet": "Android.*\\bG1\\b", "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", "DPSTablet": "DPS Dream 9|DPS Dual 7", "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", "iMobileTablet": "i-mobile i-note", "TolinoTablet": "tolino tab [0-9.]+|tolino shine", "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", "AMPETablet": "Android.* A78 ", "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", "TecnoTablet": "TECNO P9", "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", "FX2Tablet": "FX2 PAD7|FX2 PAD10", "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", "CaptivaTablet": "CAPTIVA PAD", "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", "JaytechTablet": "TPC-PA762", "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", "UbislateTablet": "UbiSlate[\\s]?7C", "PocketBookTablet": "Pocketbook", "KocasoTablet": "\\b(TB-1207)\\b", "Hudl": "Hudl HT7S3|Hudl 2", "TelstraTablet": "T-Hub2", "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" }, "oss": { "AndroidOS": "Android", "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", "MeeGoOS": "MeeGo", "MaemoOS": "Maemo", "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", "webOS": "webOS|hpwOS", "badaOS": "\\bBada\\b", "BREWOS": "BREW" }, "uas": { "Vivaldi": "Vivaldi", "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", "Dolfin": "\\bDolfin\\b", "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", "Skyfire": "Skyfire", "Edge": "Mobile Safari\/[.0-9]* Edge", "IE": "IEMobile|MSIEMobile", "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", "Bolt": "bolt", "TeaShark": "teashark", "Blazer": "Blazer", "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", "Tizen": "Tizen", "UCBrowser": "UC.*Browser|UCWEB", "baiduboxapp": "baiduboxapp", "baidubrowser": "baidubrowser", "DiigoBrowser": "DiigoBrowser", "Puffin": "Puffin", "Mercury": "\\bMercury\\b", "ObigoBrowser": "Obigo", "NetFront": "NF-Browser", "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" }, "props": { "Mobile": "Mobile\/[VER]", "Build": "Build\/[VER]", "Version": "Version\/[VER]", "VendorID": "VendorID\/[VER]", "iPad": "iPad.*CPU[a-z ]+[VER]", "iPhone": "iPhone.*CPU[a-z ]+[VER]", "iPod": "iPod.*CPU[a-z ]+[VER]", "Kindle": "Kindle\/[VER]", "Chrome": [ "Chrome\/[VER]", "CriOS\/[VER]", "CrMo\/[VER]" ], "Coast": [ "Coast\/[VER]" ], "Dolfin": "Dolfin\/[VER]", "Firefox": "Firefox\/[VER]", "Fennec": "Fennec\/[VER]", "Edge": "Edge\/[VER]", "IE": [ "IEMobile\/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident\/[0-9.]+;.*rv:[VER]" ], "NetFront": "NetFront\/[VER]", "NokiaBrowser": "NokiaBrowser\/[VER]", "Opera": [ " OPR\/[VER]", "Opera Mini\/[VER]", "Version\/[VER]" ], "Opera Mini": "Opera Mini\/[VER]", "Opera Mobi": "Version\/[VER]", "UC Browser": "UC Browser[VER]", "MQQBrowser": "MQQBrowser\/[VER]", "MicroMessenger": "MicroMessenger\/[VER]", "baiduboxapp": "baiduboxapp\/[VER]", "baidubrowser": "baidubrowser\/[VER]", "Iron": "Iron\/[VER]", "Safari": [ "Version\/[VER]", "Safari\/[VER]" ], "Skyfire": "Skyfire\/[VER]", "Tizen": "Tizen\/[VER]", "Webkit": "webkit[ \/][VER]", "PaleMoon": "PaleMoon\/[VER]", "Gecko": "Gecko\/[VER]", "Trident": "Trident\/[VER]", "Presto": "Presto\/[VER]", "Goanna": "Goanna\/[VER]", "iOS": " \\bi?OS\\b [VER][ ;]{1}", "Android": "Android [VER]", "BlackBerry": [ "BlackBerry[\\w]+\/[VER]", "BlackBerry.*Version\/[VER]", "Version\/[VER]" ], "BREW": "BREW [VER]", "Java": "Java\/[VER]", "Windows Phone OS": [ "Windows Phone OS [VER]", "Windows Phone [VER]" ], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE\/[VER]", "Windows NT": "Windows NT [VER]", "Symbian": [ "SymbianOS\/[VER]", "Symbian\/[VER]" ], "webOS": [ "webOS\/[VER]", "hpwOS\/[VER];" ] }, "utils": { "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", "DesktopMode": "WPDesktop", "TV": "SonyDTV|HbbTV", "WebKit": "(webkit)[ \/]([\\w.]+)", "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", "Watch": "SM-V700" }} : { phones: { iPhone: string; BlackBerry: string; HTC: string; Nexus: string; Dell: string; Motorola: string; Samsung: string; LG: string; Sony: string; Asus: string; NokiaLumia: string; Micromax: string; Palm: string; Vertu: string; Pantech: string; Fly: string; Wiko: string; iMobile: string; SimValley: string; Wolfgang: string; Alcatel: string; Nintendo: string; Amoi: string; INQ: string; GenericPhone: string; }; tablets: { iPad: string; NexusTablet: string; SamsungTablet: string; Kindle: string; SurfaceTablet: string; HPTablet: string; AsusTablet: string; BlackBerryTablet: string; HTCtablet: string; MotorolaTablet: string; NookTablet: string; AcerTablet: string; ToshibaTablet: string; LGTablet: string; FujitsuTablet: string; PrestigioTablet: string; LenovoTablet: string; DellTablet: string; YarvikTablet: string; MedionTablet: string; ArnovaTablet: string; IntensoTablet: string; IRUTablet: string; MegafonTablet: string; EbodaTablet: string; AllViewTablet: string; ArchosTablet: string; AinolTablet: string; NokiaLumiaTablet: string; SonyTablet: string; PhilipsTablet: string; CubeTablet: string; CobyTablet: string; MIDTablet: string; MSITablet: string; SMiTTablet: string; RockChipTablet: string; FlyTablet: string; bqTablet: string; HuaweiTablet: string; NecTablet: string; PantechTablet: string; BronchoTablet: string; VersusTablet: string; ZyncTablet: string; PositivoTablet: string; NabiTablet: string; KoboTablet: string; DanewTablet: string; TexetTablet: string; PlaystationTablet: string; TrekstorTablet: string; PyleAudioTablet: string; AdvanTablet: string; DanyTechTablet: string; GalapadTablet: string; MicromaxTablet: string; KarbonnTablet: string; AllFineTablet: string; PROSCANTablet: string; YONESTablet: string; ChangJiaTablet: string; GUTablet: string; PointOfViewTablet: string; OvermaxTablet: string; HCLTablet: string; DPSTablet: string; VistureTablet: string; CrestaTablet: string; MediatekTablet: string; ConcordeTablet: string; GoCleverTablet: string; ModecomTablet: string; VoninoTablet: string; ECSTablet: string; StorexTablet: string; VodafoneTablet: string; EssentielBTablet: string; RossMoorTablet: string; iMobileTablet: string; TolinoTablet: string; AudioSonicTablet: string; AMPETablet: string; SkkTablet: string; TecnoTablet: string; JXDTablet: string; iJoyTablet: string; FX2Tablet: string; XoroTablet: string; ViewsonicTablet: string; OdysTablet: string; CaptivaTablet: string; IconbitTablet: string; TeclastTablet: string; OndaTablet: string; JaytechTablet: string; BlaupunktTablet: string; DigmaTablet: string; EvolioTablet: string; LavaTablet: string; AocTablet: string; MpmanTablet: string; CelkonTablet: string; WolderTablet: string; MiTablet: string; NibiruTablet: string; NexoTablet: string; LeaderTablet: string; UbislateTablet: string; PocketBookTablet: string; KocasoTablet: string; Hudl: string; TelstraTablet: string; GenericTablet: string; }; oss: { AndroidOS: string; BlackBerryOS: string; PalmOS: string; SymbianOS: string; WindowsMobileOS: string; WindowsPhoneOS: string; iOS: string; MeeGoOS: string; MaemoOS: string; JavaOS: string; webOS: string; badaOS: string; BREWOS: string; }; uas: { Vivaldi: string; Chrome: string; Dolfin: string; Opera: string; Skyfire: string; Edge: string; IE: string; Firefox: string; Bolt: string; TeaShark: string; Blazer: string; Safari: string; Tizen: string; UCBrowser: string; baiduboxapp: string; baidubrowser: string; DiigoBrowser: string; Puffin: string; Mercury: string; ObigoBrowser: string; NetFront: string; GenericBrowser: string; PaleMoon: string; }; props: { Mobile: string; Build: string; Version: string; VendorID: string; iPad: string; iPhone: string; iPod: string; Kindle: string; Chrome: string[]; Coast: string[]; Dolfin: string; Firefox: string; Fennec: string; Edge: string; IE: string[]; NetFront: string; NokiaBrowser: string; Opera: string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; MQQBrowser: string; MicroMessenger: string; baiduboxapp: string; baidubrowser: string; Iron: string; Safari: string[]; Skyfire: string; Tizen: string; Webkit: string; PaleMoon: string; Gecko: string; Trident: string; Presto: string; Goanna: string; iOS: string; Android: string; BlackBerry: string[]; BREW: string; Java: string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; Symbian: string[]; webOS: string[]; }; utils: { Bot: string; MobileBot: string; DesktopMode: string; TV: string; WebKit: string; Console: string; Watch: string; }; } >impl.mobileDetectRules : any >impl : {} >mobileDetectRules : any ->{ "phones": { "iPhone": "\\biPhone\\b|\\biPod\\b", "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", "Asus": "Asus.*Galaxy|PadFone.*Mobile", "NokiaLumia": "Lumia [0-9]{3,4}", "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", "Palm": "PalmSource|Palm", "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", "Alcatel": "Alcatel", "Nintendo": "Nintendo 3DS", "Amoi": "Amoi", "INQ": "INQ", "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" }, "tablets": { "iPad": "iPad|iPad.*Mobile", "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", "BlackBerryTablet": "PlayBook|RIM Tablet", "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", "IRUTablet": "M702pro", "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", "NokiaLumiaTablet": "Lumia 2520", "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", "FlyTablet": "IQ310|Fly Vision", "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", "NecTablet": "\\bN-06D|\\bN-08D", "PantechTablet": "Pantech.*P4100", "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", "NabiTablet": "Android.*\\bNabi", "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", "PlaystationTablet": "Playstation.*(Portable|Vita)", "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", "GalapadTablet": "Android.*\\bG1\\b", "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", "DPSTablet": "DPS Dream 9|DPS Dual 7", "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", "iMobileTablet": "i-mobile i-note", "TolinoTablet": "tolino tab [0-9.]+|tolino shine", "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", "AMPETablet": "Android.* A78 ", "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", "TecnoTablet": "TECNO P9", "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", "FX2Tablet": "FX2 PAD7|FX2 PAD10", "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", "CaptivaTablet": "CAPTIVA PAD", "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", "JaytechTablet": "TPC-PA762", "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", "UbislateTablet": "UbiSlate[\\s]?7C", "PocketBookTablet": "Pocketbook", "KocasoTablet": "\\b(TB-1207)\\b", "Hudl": "Hudl HT7S3|Hudl 2", "TelstraTablet": "T-Hub2", "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" }, "oss": { "AndroidOS": "Android", "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", "MeeGoOS": "MeeGo", "MaemoOS": "Maemo", "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", "webOS": "webOS|hpwOS", "badaOS": "\\bBada\\b", "BREWOS": "BREW" }, "uas": { "Vivaldi": "Vivaldi", "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", "Dolfin": "\\bDolfin\\b", "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", "Skyfire": "Skyfire", "Edge": "Mobile Safari\/[.0-9]* Edge", "IE": "IEMobile|MSIEMobile", "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", "Bolt": "bolt", "TeaShark": "teashark", "Blazer": "Blazer", "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", "Tizen": "Tizen", "UCBrowser": "UC.*Browser|UCWEB", "baiduboxapp": "baiduboxapp", "baidubrowser": "baidubrowser", "DiigoBrowser": "DiigoBrowser", "Puffin": "Puffin", "Mercury": "\\bMercury\\b", "ObigoBrowser": "Obigo", "NetFront": "NF-Browser", "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" }, "props": { "Mobile": "Mobile\/[VER]", "Build": "Build\/[VER]", "Version": "Version\/[VER]", "VendorID": "VendorID\/[VER]", "iPad": "iPad.*CPU[a-z ]+[VER]", "iPhone": "iPhone.*CPU[a-z ]+[VER]", "iPod": "iPod.*CPU[a-z ]+[VER]", "Kindle": "Kindle\/[VER]", "Chrome": [ "Chrome\/[VER]", "CriOS\/[VER]", "CrMo\/[VER]" ], "Coast": [ "Coast\/[VER]" ], "Dolfin": "Dolfin\/[VER]", "Firefox": "Firefox\/[VER]", "Fennec": "Fennec\/[VER]", "Edge": "Edge\/[VER]", "IE": [ "IEMobile\/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident\/[0-9.]+;.*rv:[VER]" ], "NetFront": "NetFront\/[VER]", "NokiaBrowser": "NokiaBrowser\/[VER]", "Opera": [ " OPR\/[VER]", "Opera Mini\/[VER]", "Version\/[VER]" ], "Opera Mini": "Opera Mini\/[VER]", "Opera Mobi": "Version\/[VER]", "UC Browser": "UC Browser[VER]", "MQQBrowser": "MQQBrowser\/[VER]", "MicroMessenger": "MicroMessenger\/[VER]", "baiduboxapp": "baiduboxapp\/[VER]", "baidubrowser": "baidubrowser\/[VER]", "Iron": "Iron\/[VER]", "Safari": [ "Version\/[VER]", "Safari\/[VER]" ], "Skyfire": "Skyfire\/[VER]", "Tizen": "Tizen\/[VER]", "Webkit": "webkit[ \/][VER]", "PaleMoon": "PaleMoon\/[VER]", "Gecko": "Gecko\/[VER]", "Trident": "Trident\/[VER]", "Presto": "Presto\/[VER]", "Goanna": "Goanna\/[VER]", "iOS": " \\bi?OS\\b [VER][ ;]{1}", "Android": "Android [VER]", "BlackBerry": [ "BlackBerry[\\w]+\/[VER]", "BlackBerry.*Version\/[VER]", "Version\/[VER]" ], "BREW": "BREW [VER]", "Java": "Java\/[VER]", "Windows Phone OS": [ "Windows Phone OS [VER]", "Windows Phone [VER]" ], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE\/[VER]", "Windows NT": "Windows NT [VER]", "Symbian": [ "SymbianOS\/[VER]", "Symbian\/[VER]" ], "webOS": [ "webOS\/[VER]", "hpwOS\/[VER];" ] }, "utils": { "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", "DesktopMode": "WPDesktop", "TV": "SonyDTV|HbbTV", "WebKit": "(webkit)[ \/]([\\w.]+)", "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", "Watch": "SM-V700" }} : { "phones": { "iPhone": string; "BlackBerry": string; "HTC": string; "Nexus": string; "Dell": string; "Motorola": string; "Samsung": string; "LG": string; "Sony": string; "Asus": string; "NokiaLumia": string; "Micromax": string; "Palm": string; "Vertu": string; "Pantech": string; "Fly": string; "Wiko": string; "iMobile": string; "SimValley": string; "Wolfgang": string; "Alcatel": string; "Nintendo": string; "Amoi": string; "INQ": string; "GenericPhone": string; }; "tablets": { "iPad": string; "NexusTablet": string; "SamsungTablet": string; "Kindle": string; "SurfaceTablet": string; "HPTablet": string; "AsusTablet": string; "BlackBerryTablet": string; "HTCtablet": string; "MotorolaTablet": string; "NookTablet": string; "AcerTablet": string; "ToshibaTablet": string; "LGTablet": string; "FujitsuTablet": string; "PrestigioTablet": string; "LenovoTablet": string; "DellTablet": string; "YarvikTablet": string; "MedionTablet": string; "ArnovaTablet": string; "IntensoTablet": string; "IRUTablet": string; "MegafonTablet": string; "EbodaTablet": string; "AllViewTablet": string; "ArchosTablet": string; "AinolTablet": string; "NokiaLumiaTablet": string; "SonyTablet": string; "PhilipsTablet": string; "CubeTablet": string; "CobyTablet": string; "MIDTablet": string; "MSITablet": string; "SMiTTablet": string; "RockChipTablet": string; "FlyTablet": string; "bqTablet": string; "HuaweiTablet": string; "NecTablet": string; "PantechTablet": string; "BronchoTablet": string; "VersusTablet": string; "ZyncTablet": string; "PositivoTablet": string; "NabiTablet": string; "KoboTablet": string; "DanewTablet": string; "TexetTablet": string; "PlaystationTablet": string; "TrekstorTablet": string; "PyleAudioTablet": string; "AdvanTablet": string; "DanyTechTablet": string; "GalapadTablet": string; "MicromaxTablet": string; "KarbonnTablet": string; "AllFineTablet": string; "PROSCANTablet": string; "YONESTablet": string; "ChangJiaTablet": string; "GUTablet": string; "PointOfViewTablet": string; "OvermaxTablet": string; "HCLTablet": string; "DPSTablet": string; "VistureTablet": string; "CrestaTablet": string; "MediatekTablet": string; "ConcordeTablet": string; "GoCleverTablet": string; "ModecomTablet": string; "VoninoTablet": string; "ECSTablet": string; "StorexTablet": string; "VodafoneTablet": string; "EssentielBTablet": string; "RossMoorTablet": string; "iMobileTablet": string; "TolinoTablet": string; "AudioSonicTablet": string; "AMPETablet": string; "SkkTablet": string; "TecnoTablet": string; "JXDTablet": string; "iJoyTablet": string; "FX2Tablet": string; "XoroTablet": string; "ViewsonicTablet": string; "OdysTablet": string; "CaptivaTablet": string; "IconbitTablet": string; "TeclastTablet": string; "OndaTablet": string; "JaytechTablet": string; "BlaupunktTablet": string; "DigmaTablet": string; "EvolioTablet": string; "LavaTablet": string; "AocTablet": string; "MpmanTablet": string; "CelkonTablet": string; "WolderTablet": string; "MiTablet": string; "NibiruTablet": string; "NexoTablet": string; "LeaderTablet": string; "UbislateTablet": string; "PocketBookTablet": string; "KocasoTablet": string; "Hudl": string; "TelstraTablet": string; "GenericTablet": string; }; "oss": { "AndroidOS": string; "BlackBerryOS": string; "PalmOS": string; "SymbianOS": string; "WindowsMobileOS": string; "WindowsPhoneOS": string; "iOS": string; "MeeGoOS": string; "MaemoOS": string; "JavaOS": string; "webOS": string; "badaOS": string; "BREWOS": string; }; "uas": { "Vivaldi": string; "Chrome": string; "Dolfin": string; "Opera": string; "Skyfire": string; "Edge": string; "IE": string; "Firefox": string; "Bolt": string; "TeaShark": string; "Blazer": string; "Safari": string; "Tizen": string; "UCBrowser": string; "baiduboxapp": string; "baidubrowser": string; "DiigoBrowser": string; "Puffin": string; "Mercury": string; "ObigoBrowser": string; "NetFront": string; "GenericBrowser": string; "PaleMoon": string; }; "props": { "Mobile": string; "Build": string; "Version": string; "VendorID": string; "iPad": string; "iPhone": string; "iPod": string; "Kindle": string; "Chrome": string[]; "Coast": string[]; "Dolfin": string; "Firefox": string; "Fennec": string; "Edge": string; "IE": string[]; "NetFront": string; "NokiaBrowser": string; "Opera": string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; "MQQBrowser": string; "MicroMessenger": string; "baiduboxapp": string; "baidubrowser": string; "Iron": string; "Safari": string[]; "Skyfire": string; "Tizen": string; "Webkit": string; "PaleMoon": string; "Gecko": string; "Trident": string; "Presto": string; "Goanna": string; "iOS": string; "Android": string; "BlackBerry": string[]; "BREW": string; "Java": string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; "Symbian": string[]; "webOS": string[]; }; "utils": { "Bot": string; "MobileBot": string; "DesktopMode": string; "TV": string; "WebKit": string; "Console": string; "Watch": string; }; } +>{ "phones": { "iPhone": "\\biPhone\\b|\\biPod\\b", "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", "Asus": "Asus.*Galaxy|PadFone.*Mobile", "NokiaLumia": "Lumia [0-9]{3,4}", "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", "Palm": "PalmSource|Palm", "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", "Alcatel": "Alcatel", "Nintendo": "Nintendo 3DS", "Amoi": "Amoi", "INQ": "INQ", "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" }, "tablets": { "iPad": "iPad|iPad.*Mobile", "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", "BlackBerryTablet": "PlayBook|RIM Tablet", "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", "IRUTablet": "M702pro", "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", "NokiaLumiaTablet": "Lumia 2520", "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", "FlyTablet": "IQ310|Fly Vision", "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", "NecTablet": "\\bN-06D|\\bN-08D", "PantechTablet": "Pantech.*P4100", "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", "NabiTablet": "Android.*\\bNabi", "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", "PlaystationTablet": "Playstation.*(Portable|Vita)", "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", "GalapadTablet": "Android.*\\bG1\\b", "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", "DPSTablet": "DPS Dream 9|DPS Dual 7", "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", "iMobileTablet": "i-mobile i-note", "TolinoTablet": "tolino tab [0-9.]+|tolino shine", "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", "AMPETablet": "Android.* A78 ", "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", "TecnoTablet": "TECNO P9", "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", "FX2Tablet": "FX2 PAD7|FX2 PAD10", "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", "CaptivaTablet": "CAPTIVA PAD", "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", "JaytechTablet": "TPC-PA762", "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", "UbislateTablet": "UbiSlate[\\s]?7C", "PocketBookTablet": "Pocketbook", "KocasoTablet": "\\b(TB-1207)\\b", "Hudl": "Hudl HT7S3|Hudl 2", "TelstraTablet": "T-Hub2", "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" }, "oss": { "AndroidOS": "Android", "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", "MeeGoOS": "MeeGo", "MaemoOS": "Maemo", "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", "webOS": "webOS|hpwOS", "badaOS": "\\bBada\\b", "BREWOS": "BREW" }, "uas": { "Vivaldi": "Vivaldi", "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", "Dolfin": "\\bDolfin\\b", "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", "Skyfire": "Skyfire", "Edge": "Mobile Safari\/[.0-9]* Edge", "IE": "IEMobile|MSIEMobile", "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", "Bolt": "bolt", "TeaShark": "teashark", "Blazer": "Blazer", "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", "Tizen": "Tizen", "UCBrowser": "UC.*Browser|UCWEB", "baiduboxapp": "baiduboxapp", "baidubrowser": "baidubrowser", "DiigoBrowser": "DiigoBrowser", "Puffin": "Puffin", "Mercury": "\\bMercury\\b", "ObigoBrowser": "Obigo", "NetFront": "NF-Browser", "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" }, "props": { "Mobile": "Mobile\/[VER]", "Build": "Build\/[VER]", "Version": "Version\/[VER]", "VendorID": "VendorID\/[VER]", "iPad": "iPad.*CPU[a-z ]+[VER]", "iPhone": "iPhone.*CPU[a-z ]+[VER]", "iPod": "iPod.*CPU[a-z ]+[VER]", "Kindle": "Kindle\/[VER]", "Chrome": [ "Chrome\/[VER]", "CriOS\/[VER]", "CrMo\/[VER]" ], "Coast": [ "Coast\/[VER]" ], "Dolfin": "Dolfin\/[VER]", "Firefox": "Firefox\/[VER]", "Fennec": "Fennec\/[VER]", "Edge": "Edge\/[VER]", "IE": [ "IEMobile\/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident\/[0-9.]+;.*rv:[VER]" ], "NetFront": "NetFront\/[VER]", "NokiaBrowser": "NokiaBrowser\/[VER]", "Opera": [ " OPR\/[VER]", "Opera Mini\/[VER]", "Version\/[VER]" ], "Opera Mini": "Opera Mini\/[VER]", "Opera Mobi": "Version\/[VER]", "UC Browser": "UC Browser[VER]", "MQQBrowser": "MQQBrowser\/[VER]", "MicroMessenger": "MicroMessenger\/[VER]", "baiduboxapp": "baiduboxapp\/[VER]", "baidubrowser": "baidubrowser\/[VER]", "Iron": "Iron\/[VER]", "Safari": [ "Version\/[VER]", "Safari\/[VER]" ], "Skyfire": "Skyfire\/[VER]", "Tizen": "Tizen\/[VER]", "Webkit": "webkit[ \/][VER]", "PaleMoon": "PaleMoon\/[VER]", "Gecko": "Gecko\/[VER]", "Trident": "Trident\/[VER]", "Presto": "Presto\/[VER]", "Goanna": "Goanna\/[VER]", "iOS": " \\bi?OS\\b [VER][ ;]{1}", "Android": "Android [VER]", "BlackBerry": [ "BlackBerry[\\w]+\/[VER]", "BlackBerry.*Version\/[VER]", "Version\/[VER]" ], "BREW": "BREW [VER]", "Java": "Java\/[VER]", "Windows Phone OS": [ "Windows Phone OS [VER]", "Windows Phone [VER]" ], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE\/[VER]", "Windows NT": "Windows NT [VER]", "Symbian": [ "SymbianOS\/[VER]", "Symbian\/[VER]" ], "webOS": [ "webOS\/[VER]", "hpwOS\/[VER];" ] }, "utils": { "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", "DesktopMode": "WPDesktop", "TV": "SonyDTV|HbbTV", "WebKit": "(webkit)[ \/]([\\w.]+)", "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", "Watch": "SM-V700" }} : { phones: { iPhone: string; BlackBerry: string; HTC: string; Nexus: string; Dell: string; Motorola: string; Samsung: string; LG: string; Sony: string; Asus: string; NokiaLumia: string; Micromax: string; Palm: string; Vertu: string; Pantech: string; Fly: string; Wiko: string; iMobile: string; SimValley: string; Wolfgang: string; Alcatel: string; Nintendo: string; Amoi: string; INQ: string; GenericPhone: string; }; tablets: { iPad: string; NexusTablet: string; SamsungTablet: string; Kindle: string; SurfaceTablet: string; HPTablet: string; AsusTablet: string; BlackBerryTablet: string; HTCtablet: string; MotorolaTablet: string; NookTablet: string; AcerTablet: string; ToshibaTablet: string; LGTablet: string; FujitsuTablet: string; PrestigioTablet: string; LenovoTablet: string; DellTablet: string; YarvikTablet: string; MedionTablet: string; ArnovaTablet: string; IntensoTablet: string; IRUTablet: string; MegafonTablet: string; EbodaTablet: string; AllViewTablet: string; ArchosTablet: string; AinolTablet: string; NokiaLumiaTablet: string; SonyTablet: string; PhilipsTablet: string; CubeTablet: string; CobyTablet: string; MIDTablet: string; MSITablet: string; SMiTTablet: string; RockChipTablet: string; FlyTablet: string; bqTablet: string; HuaweiTablet: string; NecTablet: string; PantechTablet: string; BronchoTablet: string; VersusTablet: string; ZyncTablet: string; PositivoTablet: string; NabiTablet: string; KoboTablet: string; DanewTablet: string; TexetTablet: string; PlaystationTablet: string; TrekstorTablet: string; PyleAudioTablet: string; AdvanTablet: string; DanyTechTablet: string; GalapadTablet: string; MicromaxTablet: string; KarbonnTablet: string; AllFineTablet: string; PROSCANTablet: string; YONESTablet: string; ChangJiaTablet: string; GUTablet: string; PointOfViewTablet: string; OvermaxTablet: string; HCLTablet: string; DPSTablet: string; VistureTablet: string; CrestaTablet: string; MediatekTablet: string; ConcordeTablet: string; GoCleverTablet: string; ModecomTablet: string; VoninoTablet: string; ECSTablet: string; StorexTablet: string; VodafoneTablet: string; EssentielBTablet: string; RossMoorTablet: string; iMobileTablet: string; TolinoTablet: string; AudioSonicTablet: string; AMPETablet: string; SkkTablet: string; TecnoTablet: string; JXDTablet: string; iJoyTablet: string; FX2Tablet: string; XoroTablet: string; ViewsonicTablet: string; OdysTablet: string; CaptivaTablet: string; IconbitTablet: string; TeclastTablet: string; OndaTablet: string; JaytechTablet: string; BlaupunktTablet: string; DigmaTablet: string; EvolioTablet: string; LavaTablet: string; AocTablet: string; MpmanTablet: string; CelkonTablet: string; WolderTablet: string; MiTablet: string; NibiruTablet: string; NexoTablet: string; LeaderTablet: string; UbislateTablet: string; PocketBookTablet: string; KocasoTablet: string; Hudl: string; TelstraTablet: string; GenericTablet: string; }; oss: { AndroidOS: string; BlackBerryOS: string; PalmOS: string; SymbianOS: string; WindowsMobileOS: string; WindowsPhoneOS: string; iOS: string; MeeGoOS: string; MaemoOS: string; JavaOS: string; webOS: string; badaOS: string; BREWOS: string; }; uas: { Vivaldi: string; Chrome: string; Dolfin: string; Opera: string; Skyfire: string; Edge: string; IE: string; Firefox: string; Bolt: string; TeaShark: string; Blazer: string; Safari: string; Tizen: string; UCBrowser: string; baiduboxapp: string; baidubrowser: string; DiigoBrowser: string; Puffin: string; Mercury: string; ObigoBrowser: string; NetFront: string; GenericBrowser: string; PaleMoon: string; }; props: { Mobile: string; Build: string; Version: string; VendorID: string; iPad: string; iPhone: string; iPod: string; Kindle: string; Chrome: string[]; Coast: string[]; Dolfin: string; Firefox: string; Fennec: string; Edge: string; IE: string[]; NetFront: string; NokiaBrowser: string; Opera: string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; MQQBrowser: string; MicroMessenger: string; baiduboxapp: string; baidubrowser: string; Iron: string; Safari: string[]; Skyfire: string; Tizen: string; Webkit: string; PaleMoon: string; Gecko: string; Trident: string; Presto: string; Goanna: string; iOS: string; Android: string; BlackBerry: string[]; BREW: string; Java: string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; Symbian: string[]; webOS: string[]; }; utils: { Bot: string; MobileBot: string; DesktopMode: string; TV: string; WebKit: string; Console: string; Watch: string; }; } "phones": { ->"phones" : { "iPhone": string; "BlackBerry": string; "HTC": string; "Nexus": string; "Dell": string; "Motorola": string; "Samsung": string; "LG": string; "Sony": string; "Asus": string; "NokiaLumia": string; "Micromax": string; "Palm": string; "Vertu": string; "Pantech": string; "Fly": string; "Wiko": string; "iMobile": string; "SimValley": string; "Wolfgang": string; "Alcatel": string; "Nintendo": string; "Amoi": string; "INQ": string; "GenericPhone": string; } ->{ "iPhone": "\\biPhone\\b|\\biPod\\b", "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", "Asus": "Asus.*Galaxy|PadFone.*Mobile", "NokiaLumia": "Lumia [0-9]{3,4}", "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", "Palm": "PalmSource|Palm", "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", "Alcatel": "Alcatel", "Nintendo": "Nintendo 3DS", "Amoi": "Amoi", "INQ": "INQ", "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" } : { "iPhone": string; "BlackBerry": string; "HTC": string; "Nexus": string; "Dell": string; "Motorola": string; "Samsung": string; "LG": string; "Sony": string; "Asus": string; "NokiaLumia": string; "Micromax": string; "Palm": string; "Vertu": string; "Pantech": string; "Fly": string; "Wiko": string; "iMobile": string; "SimValley": string; "Wolfgang": string; "Alcatel": string; "Nintendo": string; "Amoi": string; "INQ": string; "GenericPhone": string; } +>"phones" : { iPhone: string; BlackBerry: string; HTC: string; Nexus: string; Dell: string; Motorola: string; Samsung: string; LG: string; Sony: string; Asus: string; NokiaLumia: string; Micromax: string; Palm: string; Vertu: string; Pantech: string; Fly: string; Wiko: string; iMobile: string; SimValley: string; Wolfgang: string; Alcatel: string; Nintendo: string; Amoi: string; INQ: string; GenericPhone: string; } +>{ "iPhone": "\\biPhone\\b|\\biPod\\b", "BlackBerry": "BlackBerry|\\bBB10\\b|rim[0-9]+", "HTC": "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m", "Nexus": "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6", "Dell": "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b", "Motorola": "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b", "Samsung": "Samsung|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F", "LG": "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)", "Sony": "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533", "Asus": "Asus.*Galaxy|PadFone.*Mobile", "NokiaLumia": "Lumia [0-9]{3,4}", "Micromax": "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b", "Palm": "PalmSource|Palm", "Vertu": "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature", "Pantech": "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790", "Fly": "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250", "Wiko": "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM", "iMobile": "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)", "SimValley": "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b", "Wolfgang": "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q", "Alcatel": "Alcatel", "Nintendo": "Nintendo 3DS", "Amoi": "Amoi", "INQ": "INQ", "GenericPhone": "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" } : { iPhone: string; BlackBerry: string; HTC: string; Nexus: string; Dell: string; Motorola: string; Samsung: string; LG: string; Sony: string; Asus: string; NokiaLumia: string; Micromax: string; Palm: string; Vertu: string; Pantech: string; Fly: string; Wiko: string; iMobile: string; SimValley: string; Wolfgang: string; Alcatel: string; Nintendo: string; Amoi: string; INQ: string; GenericPhone: string; } "iPhone": "\\biPhone\\b|\\biPod\\b", >"iPhone" : string @@ -133,8 +133,8 @@ define(function () { }, "tablets": { ->"tablets" : { "iPad": string; "NexusTablet": string; "SamsungTablet": string; "Kindle": string; "SurfaceTablet": string; "HPTablet": string; "AsusTablet": string; "BlackBerryTablet": string; "HTCtablet": string; "MotorolaTablet": string; "NookTablet": string; "AcerTablet": string; "ToshibaTablet": string; "LGTablet": string; "FujitsuTablet": string; "PrestigioTablet": string; "LenovoTablet": string; "DellTablet": string; "YarvikTablet": string; "MedionTablet": string; "ArnovaTablet": string; "IntensoTablet": string; "IRUTablet": string; "MegafonTablet": string; "EbodaTablet": string; "AllViewTablet": string; "ArchosTablet": string; "AinolTablet": string; "NokiaLumiaTablet": string; "SonyTablet": string; "PhilipsTablet": string; "CubeTablet": string; "CobyTablet": string; "MIDTablet": string; "MSITablet": string; "SMiTTablet": string; "RockChipTablet": string; "FlyTablet": string; "bqTablet": string; "HuaweiTablet": string; "NecTablet": string; "PantechTablet": string; "BronchoTablet": string; "VersusTablet": string; "ZyncTablet": string; "PositivoTablet": string; "NabiTablet": string; "KoboTablet": string; "DanewTablet": string; "TexetTablet": string; "PlaystationTablet": string; "TrekstorTablet": string; "PyleAudioTablet": string; "AdvanTablet": string; "DanyTechTablet": string; "GalapadTablet": string; "MicromaxTablet": string; "KarbonnTablet": string; "AllFineTablet": string; "PROSCANTablet": string; "YONESTablet": string; "ChangJiaTablet": string; "GUTablet": string; "PointOfViewTablet": string; "OvermaxTablet": string; "HCLTablet": string; "DPSTablet": string; "VistureTablet": string; "CrestaTablet": string; "MediatekTablet": string; "ConcordeTablet": string; "GoCleverTablet": string; "ModecomTablet": string; "VoninoTablet": string; "ECSTablet": string; "StorexTablet": string; "VodafoneTablet": string; "EssentielBTablet": string; "RossMoorTablet": string; "iMobileTablet": string; "TolinoTablet": string; "AudioSonicTablet": string; "AMPETablet": string; "SkkTablet": string; "TecnoTablet": string; "JXDTablet": string; "iJoyTablet": string; "FX2Tablet": string; "XoroTablet": string; "ViewsonicTablet": string; "OdysTablet": string; "CaptivaTablet": string; "IconbitTablet": string; "TeclastTablet": string; "OndaTablet": string; "JaytechTablet": string; "BlaupunktTablet": string; "DigmaTablet": string; "EvolioTablet": string; "LavaTablet": string; "AocTablet": string; "MpmanTablet": string; "CelkonTablet": string; "WolderTablet": string; "MiTablet": string; "NibiruTablet": string; "NexoTablet": string; "LeaderTablet": string; "UbislateTablet": string; "PocketBookTablet": string; "KocasoTablet": string; "Hudl": string; "TelstraTablet": string; "GenericTablet": string; } ->{ "iPad": "iPad|iPad.*Mobile", "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", "BlackBerryTablet": "PlayBook|RIM Tablet", "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", "IRUTablet": "M702pro", "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", "NokiaLumiaTablet": "Lumia 2520", "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", "FlyTablet": "IQ310|Fly Vision", "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", "NecTablet": "\\bN-06D|\\bN-08D", "PantechTablet": "Pantech.*P4100", "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", "NabiTablet": "Android.*\\bNabi", "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", "PlaystationTablet": "Playstation.*(Portable|Vita)", "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", "GalapadTablet": "Android.*\\bG1\\b", "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", "DPSTablet": "DPS Dream 9|DPS Dual 7", "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", "iMobileTablet": "i-mobile i-note", "TolinoTablet": "tolino tab [0-9.]+|tolino shine", "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", "AMPETablet": "Android.* A78 ", "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", "TecnoTablet": "TECNO P9", "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", "FX2Tablet": "FX2 PAD7|FX2 PAD10", "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", "CaptivaTablet": "CAPTIVA PAD", "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", "JaytechTablet": "TPC-PA762", "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", "UbislateTablet": "UbiSlate[\\s]?7C", "PocketBookTablet": "Pocketbook", "KocasoTablet": "\\b(TB-1207)\\b", "Hudl": "Hudl HT7S3|Hudl 2", "TelstraTablet": "T-Hub2", "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" } : { "iPad": string; "NexusTablet": string; "SamsungTablet": string; "Kindle": string; "SurfaceTablet": string; "HPTablet": string; "AsusTablet": string; "BlackBerryTablet": string; "HTCtablet": string; "MotorolaTablet": string; "NookTablet": string; "AcerTablet": string; "ToshibaTablet": string; "LGTablet": string; "FujitsuTablet": string; "PrestigioTablet": string; "LenovoTablet": string; "DellTablet": string; "YarvikTablet": string; "MedionTablet": string; "ArnovaTablet": string; "IntensoTablet": string; "IRUTablet": string; "MegafonTablet": string; "EbodaTablet": string; "AllViewTablet": string; "ArchosTablet": string; "AinolTablet": string; "NokiaLumiaTablet": string; "SonyTablet": string; "PhilipsTablet": string; "CubeTablet": string; "CobyTablet": string; "MIDTablet": string; "MSITablet": string; "SMiTTablet": string; "RockChipTablet": string; "FlyTablet": string; "bqTablet": string; "HuaweiTablet": string; "NecTablet": string; "PantechTablet": string; "BronchoTablet": string; "VersusTablet": string; "ZyncTablet": string; "PositivoTablet": string; "NabiTablet": string; "KoboTablet": string; "DanewTablet": string; "TexetTablet": string; "PlaystationTablet": string; "TrekstorTablet": string; "PyleAudioTablet": string; "AdvanTablet": string; "DanyTechTablet": string; "GalapadTablet": string; "MicromaxTablet": string; "KarbonnTablet": string; "AllFineTablet": string; "PROSCANTablet": string; "YONESTablet": string; "ChangJiaTablet": string; "GUTablet": string; "PointOfViewTablet": string; "OvermaxTablet": string; "HCLTablet": string; "DPSTablet": string; "VistureTablet": string; "CrestaTablet": string; "MediatekTablet": string; "ConcordeTablet": string; "GoCleverTablet": string; "ModecomTablet": string; "VoninoTablet": string; "ECSTablet": string; "StorexTablet": string; "VodafoneTablet": string; "EssentielBTablet": string; "RossMoorTablet": string; "iMobileTablet": string; "TolinoTablet": string; "AudioSonicTablet": string; "AMPETablet": string; "SkkTablet": string; "TecnoTablet": string; "JXDTablet": string; "iJoyTablet": string; "FX2Tablet": string; "XoroTablet": string; "ViewsonicTablet": string; "OdysTablet": string; "CaptivaTablet": string; "IconbitTablet": string; "TeclastTablet": string; "OndaTablet": string; "JaytechTablet": string; "BlaupunktTablet": string; "DigmaTablet": string; "EvolioTablet": string; "LavaTablet": string; "AocTablet": string; "MpmanTablet": string; "CelkonTablet": string; "WolderTablet": string; "MiTablet": string; "NibiruTablet": string; "NexoTablet": string; "LeaderTablet": string; "UbislateTablet": string; "PocketBookTablet": string; "KocasoTablet": string; "Hudl": string; "TelstraTablet": string; "GenericTablet": string; } +>"tablets" : { iPad: string; NexusTablet: string; SamsungTablet: string; Kindle: string; SurfaceTablet: string; HPTablet: string; AsusTablet: string; BlackBerryTablet: string; HTCtablet: string; MotorolaTablet: string; NookTablet: string; AcerTablet: string; ToshibaTablet: string; LGTablet: string; FujitsuTablet: string; PrestigioTablet: string; LenovoTablet: string; DellTablet: string; YarvikTablet: string; MedionTablet: string; ArnovaTablet: string; IntensoTablet: string; IRUTablet: string; MegafonTablet: string; EbodaTablet: string; AllViewTablet: string; ArchosTablet: string; AinolTablet: string; NokiaLumiaTablet: string; SonyTablet: string; PhilipsTablet: string; CubeTablet: string; CobyTablet: string; MIDTablet: string; MSITablet: string; SMiTTablet: string; RockChipTablet: string; FlyTablet: string; bqTablet: string; HuaweiTablet: string; NecTablet: string; PantechTablet: string; BronchoTablet: string; VersusTablet: string; ZyncTablet: string; PositivoTablet: string; NabiTablet: string; KoboTablet: string; DanewTablet: string; TexetTablet: string; PlaystationTablet: string; TrekstorTablet: string; PyleAudioTablet: string; AdvanTablet: string; DanyTechTablet: string; GalapadTablet: string; MicromaxTablet: string; KarbonnTablet: string; AllFineTablet: string; PROSCANTablet: string; YONESTablet: string; ChangJiaTablet: string; GUTablet: string; PointOfViewTablet: string; OvermaxTablet: string; HCLTablet: string; DPSTablet: string; VistureTablet: string; CrestaTablet: string; MediatekTablet: string; ConcordeTablet: string; GoCleverTablet: string; ModecomTablet: string; VoninoTablet: string; ECSTablet: string; StorexTablet: string; VodafoneTablet: string; EssentielBTablet: string; RossMoorTablet: string; iMobileTablet: string; TolinoTablet: string; AudioSonicTablet: string; AMPETablet: string; SkkTablet: string; TecnoTablet: string; JXDTablet: string; iJoyTablet: string; FX2Tablet: string; XoroTablet: string; ViewsonicTablet: string; OdysTablet: string; CaptivaTablet: string; IconbitTablet: string; TeclastTablet: string; OndaTablet: string; JaytechTablet: string; BlaupunktTablet: string; DigmaTablet: string; EvolioTablet: string; LavaTablet: string; AocTablet: string; MpmanTablet: string; CelkonTablet: string; WolderTablet: string; MiTablet: string; NibiruTablet: string; NexoTablet: string; LeaderTablet: string; UbislateTablet: string; PocketBookTablet: string; KocasoTablet: string; Hudl: string; TelstraTablet: string; GenericTablet: string; } +>{ "iPad": "iPad|iPad.*Mobile", "NexusTablet": "Android.*Nexus[\\s]+(7|9|10)", "SamsungTablet": "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561", "Kindle": "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b", "SurfaceTablet": "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)", "HPTablet": "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10", "AsusTablet": "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K017 |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA", "BlackBerryTablet": "PlayBook|RIM Tablet", "HTCtablet": "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410", "MotorolaTablet": "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617", "NookTablet": "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2", "AcerTablet": "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20", "ToshibaTablet": "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO", "LGTablet": "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b", "FujitsuTablet": "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b", "PrestigioTablet": "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002", "LenovoTablet": "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)", "DellTablet": "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7", "YarvikTablet": "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b", "MedionTablet": "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB", "ArnovaTablet": "AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2", "IntensoTablet": "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004", "IRUTablet": "M702pro", "MegafonTablet": "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b", "EbodaTablet": "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)", "AllViewTablet": "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)", "ArchosTablet": "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b", "AinolTablet": "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark", "NokiaLumiaTablet": "Lumia 2520", "SonyTablet": "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31", "PhilipsTablet": "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b", "CubeTablet": "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT", "CobyTablet": "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010", "MIDTablet": "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10", "MSITablet": "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b", "SMiTTablet": "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)", "RockChipTablet": "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A", "FlyTablet": "IQ310|Fly Vision", "bqTablet": "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris E10)|Maxwell.*Lite|Maxwell.*Plus", "HuaweiTablet": "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim", "NecTablet": "\\bN-06D|\\bN-08D", "PantechTablet": "Pantech.*P4100", "BronchoTablet": "Broncho.*(N701|N708|N802|a710)", "VersusTablet": "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b", "ZyncTablet": "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900", "PositivoTablet": "TB07STA|TB10STA|TB07FTA|TB10FTA", "NabiTablet": "Android.*\\bNabi", "KoboTablet": "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build", "DanewTablet": "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b", "TexetTablet": "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE", "PlaystationTablet": "Playstation.*(Portable|Vita)", "TrekstorTablet": "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab", "PyleAudioTablet": "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b", "AdvanTablet": "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ", "DanyTechTablet": "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1", "GalapadTablet": "Android.*\\bG1\\b", "MicromaxTablet": "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b", "KarbonnTablet": "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b", "AllFineTablet": "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide", "PROSCANTablet": "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b", "YONESTablet": "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026", "ChangJiaTablet": "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503", "GUTablet": "TX-A1301|TX-M9002|Q702|kf026", "PointOfViewTablet": "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10", "OvermaxTablet": "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)", "HCLTablet": "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync", "DPSTablet": "DPS Dream 9|DPS Dual 7", "VistureTablet": "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10", "CrestaTablet": "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989", "MediatekTablet": "\\bMT8125|MT8389|MT8135|MT8377\\b", "ConcordeTablet": "Concorde([ ]+)?Tab|ConCorde ReadMan", "GoCleverTablet": "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042", "ModecomTablet": "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003", "VoninoTablet": "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b", "ECSTablet": "V07OT2|TM105A|S10OT1|TR10CS1", "StorexTablet": "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab", "VodafoneTablet": "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497", "EssentielBTablet": "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2", "RossMoorTablet": "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711", "iMobileTablet": "i-mobile i-note", "TolinoTablet": "tolino tab [0-9.]+|tolino shine", "AudioSonicTablet": "\\bC-22Q|T7-QC|T-17B|T-17P\\b", "AMPETablet": "Android.* A78 ", "SkkTablet": "Android.* (SKYPAD|PHOENIX|CYCLOPS)", "TecnoTablet": "TECNO P9", "JXDTablet": "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b", "iJoyTablet": "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)", "FX2Tablet": "FX2 PAD7|FX2 PAD10", "XoroTablet": "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151", "ViewsonicTablet": "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a", "OdysTablet": "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10", "CaptivaTablet": "CAPTIVA PAD", "IconbitTablet": "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S", "TeclastTablet": "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi", "OndaTablet": "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+", "JaytechTablet": "TPC-PA762", "BlaupunktTablet": "Endeavour 800NG|Endeavour 1010", "DigmaTablet": "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b", "EvolioTablet": "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b", "LavaTablet": "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b", "AocTablet": "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712", "MpmanTablet": "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010", "CelkonTablet": "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b", "WolderTablet": "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b", "MiTablet": "\\bMI PAD\\b|\\bHM NOTE 1W\\b", "NibiruTablet": "Nibiru M1|Nibiru Jupiter One", "NexoTablet": "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI", "LeaderTablet": "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100", "UbislateTablet": "UbiSlate[\\s]?7C", "PocketBookTablet": "Pocketbook", "KocasoTablet": "\\b(TB-1207)\\b", "Hudl": "Hudl HT7S3|Hudl 2", "TelstraTablet": "T-Hub2", "GenericTablet": "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bJolla\\b|\\bTP750\\b" } : { iPad: string; NexusTablet: string; SamsungTablet: string; Kindle: string; SurfaceTablet: string; HPTablet: string; AsusTablet: string; BlackBerryTablet: string; HTCtablet: string; MotorolaTablet: string; NookTablet: string; AcerTablet: string; ToshibaTablet: string; LGTablet: string; FujitsuTablet: string; PrestigioTablet: string; LenovoTablet: string; DellTablet: string; YarvikTablet: string; MedionTablet: string; ArnovaTablet: string; IntensoTablet: string; IRUTablet: string; MegafonTablet: string; EbodaTablet: string; AllViewTablet: string; ArchosTablet: string; AinolTablet: string; NokiaLumiaTablet: string; SonyTablet: string; PhilipsTablet: string; CubeTablet: string; CobyTablet: string; MIDTablet: string; MSITablet: string; SMiTTablet: string; RockChipTablet: string; FlyTablet: string; bqTablet: string; HuaweiTablet: string; NecTablet: string; PantechTablet: string; BronchoTablet: string; VersusTablet: string; ZyncTablet: string; PositivoTablet: string; NabiTablet: string; KoboTablet: string; DanewTablet: string; TexetTablet: string; PlaystationTablet: string; TrekstorTablet: string; PyleAudioTablet: string; AdvanTablet: string; DanyTechTablet: string; GalapadTablet: string; MicromaxTablet: string; KarbonnTablet: string; AllFineTablet: string; PROSCANTablet: string; YONESTablet: string; ChangJiaTablet: string; GUTablet: string; PointOfViewTablet: string; OvermaxTablet: string; HCLTablet: string; DPSTablet: string; VistureTablet: string; CrestaTablet: string; MediatekTablet: string; ConcordeTablet: string; GoCleverTablet: string; ModecomTablet: string; VoninoTablet: string; ECSTablet: string; StorexTablet: string; VodafoneTablet: string; EssentielBTablet: string; RossMoorTablet: string; iMobileTablet: string; TolinoTablet: string; AudioSonicTablet: string; AMPETablet: string; SkkTablet: string; TecnoTablet: string; JXDTablet: string; iJoyTablet: string; FX2Tablet: string; XoroTablet: string; ViewsonicTablet: string; OdysTablet: string; CaptivaTablet: string; IconbitTablet: string; TeclastTablet: string; OndaTablet: string; JaytechTablet: string; BlaupunktTablet: string; DigmaTablet: string; EvolioTablet: string; LavaTablet: string; AocTablet: string; MpmanTablet: string; CelkonTablet: string; WolderTablet: string; MiTablet: string; NibiruTablet: string; NexoTablet: string; LeaderTablet: string; UbislateTablet: string; PocketBookTablet: string; KocasoTablet: string; Hudl: string; TelstraTablet: string; GenericTablet: string; } "iPad": "iPad|iPad.*Mobile", >"iPad" : string @@ -594,8 +594,8 @@ define(function () { }, "oss": { ->"oss" : { "AndroidOS": string; "BlackBerryOS": string; "PalmOS": string; "SymbianOS": string; "WindowsMobileOS": string; "WindowsPhoneOS": string; "iOS": string; "MeeGoOS": string; "MaemoOS": string; "JavaOS": string; "webOS": string; "badaOS": string; "BREWOS": string; } ->{ "AndroidOS": "Android", "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", "MeeGoOS": "MeeGo", "MaemoOS": "Maemo", "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", "webOS": "webOS|hpwOS", "badaOS": "\\bBada\\b", "BREWOS": "BREW" } : { "AndroidOS": string; "BlackBerryOS": string; "PalmOS": string; "SymbianOS": string; "WindowsMobileOS": string; "WindowsPhoneOS": string; "iOS": string; "MeeGoOS": string; "MaemoOS": string; "JavaOS": string; "webOS": string; "badaOS": string; "BREWOS": string; } +>"oss" : { AndroidOS: string; BlackBerryOS: string; PalmOS: string; SymbianOS: string; WindowsMobileOS: string; WindowsPhoneOS: string; iOS: string; MeeGoOS: string; MaemoOS: string; JavaOS: string; webOS: string; badaOS: string; BREWOS: string; } +>{ "AndroidOS": "Android", "BlackBerryOS": "blackberry|\\bBB10\\b|rim tablet os", "PalmOS": "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino", "SymbianOS": "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b", "WindowsMobileOS": "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;", "WindowsPhoneOS": "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;", "iOS": "\\biPhone.*Mobile|\\biPod|\\biPad", "MeeGoOS": "MeeGo", "MaemoOS": "Maemo", "JavaOS": "J2ME\/|\\bMIDP\\b|\\bCLDC\\b", "webOS": "webOS|hpwOS", "badaOS": "\\bBada\\b", "BREWOS": "BREW" } : { AndroidOS: string; BlackBerryOS: string; PalmOS: string; SymbianOS: string; WindowsMobileOS: string; WindowsPhoneOS: string; iOS: string; MeeGoOS: string; MaemoOS: string; JavaOS: string; webOS: string; badaOS: string; BREWOS: string; } "AndroidOS": "Android", >"AndroidOS" : string @@ -651,8 +651,8 @@ define(function () { }, "uas": { ->"uas" : { "Vivaldi": string; "Chrome": string; "Dolfin": string; "Opera": string; "Skyfire": string; "Edge": string; "IE": string; "Firefox": string; "Bolt": string; "TeaShark": string; "Blazer": string; "Safari": string; "Tizen": string; "UCBrowser": string; "baiduboxapp": string; "baidubrowser": string; "DiigoBrowser": string; "Puffin": string; "Mercury": string; "ObigoBrowser": string; "NetFront": string; "GenericBrowser": string; "PaleMoon": string; } ->{ "Vivaldi": "Vivaldi", "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", "Dolfin": "\\bDolfin\\b", "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", "Skyfire": "Skyfire", "Edge": "Mobile Safari\/[.0-9]* Edge", "IE": "IEMobile|MSIEMobile", "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", "Bolt": "bolt", "TeaShark": "teashark", "Blazer": "Blazer", "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", "Tizen": "Tizen", "UCBrowser": "UC.*Browser|UCWEB", "baiduboxapp": "baiduboxapp", "baidubrowser": "baidubrowser", "DiigoBrowser": "DiigoBrowser", "Puffin": "Puffin", "Mercury": "\\bMercury\\b", "ObigoBrowser": "Obigo", "NetFront": "NF-Browser", "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" } : { "Vivaldi": string; "Chrome": string; "Dolfin": string; "Opera": string; "Skyfire": string; "Edge": string; "IE": string; "Firefox": string; "Bolt": string; "TeaShark": string; "Blazer": string; "Safari": string; "Tizen": string; "UCBrowser": string; "baiduboxapp": string; "baidubrowser": string; "DiigoBrowser": string; "Puffin": string; "Mercury": string; "ObigoBrowser": string; "NetFront": string; "GenericBrowser": string; "PaleMoon": string; } +>"uas" : { Vivaldi: string; Chrome: string; Dolfin: string; Opera: string; Skyfire: string; Edge: string; IE: string; Firefox: string; Bolt: string; TeaShark: string; Blazer: string; Safari: string; Tizen: string; UCBrowser: string; baiduboxapp: string; baidubrowser: string; DiigoBrowser: string; Puffin: string; Mercury: string; ObigoBrowser: string; NetFront: string; GenericBrowser: string; PaleMoon: string; } +>{ "Vivaldi": "Vivaldi", "Chrome": "\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?", "Dolfin": "\\bDolfin\\b", "Opera": "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+|Coast\/[0-9.]+", "Skyfire": "Skyfire", "Edge": "Mobile Safari\/[.0-9]* Edge", "IE": "IEMobile|MSIEMobile", "Firefox": "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile", "Bolt": "bolt", "TeaShark": "teashark", "Blazer": "Blazer", "Safari": "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari", "Tizen": "Tizen", "UCBrowser": "UC.*Browser|UCWEB", "baiduboxapp": "baiduboxapp", "baidubrowser": "baidubrowser", "DiigoBrowser": "DiigoBrowser", "Puffin": "Puffin", "Mercury": "\\bMercury\\b", "ObigoBrowser": "Obigo", "NetFront": "NF-Browser", "GenericBrowser": "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger", "PaleMoon": "Android.*PaleMoon|Mobile.*PaleMoon" } : { Vivaldi: string; Chrome: string; Dolfin: string; Opera: string; Skyfire: string; Edge: string; IE: string; Firefox: string; Bolt: string; TeaShark: string; Blazer: string; Safari: string; Tizen: string; UCBrowser: string; baiduboxapp: string; baidubrowser: string; DiigoBrowser: string; Puffin: string; Mercury: string; ObigoBrowser: string; NetFront: string; GenericBrowser: string; PaleMoon: string; } "Vivaldi": "Vivaldi", >"Vivaldi" : string @@ -748,8 +748,8 @@ define(function () { }, "props": { ->"props" : { "Mobile": string; "Build": string; "Version": string; "VendorID": string; "iPad": string; "iPhone": string; "iPod": string; "Kindle": string; "Chrome": string[]; "Coast": string[]; "Dolfin": string; "Firefox": string; "Fennec": string; "Edge": string; "IE": string[]; "NetFront": string; "NokiaBrowser": string; "Opera": string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; "MQQBrowser": string; "MicroMessenger": string; "baiduboxapp": string; "baidubrowser": string; "Iron": string; "Safari": string[]; "Skyfire": string; "Tizen": string; "Webkit": string; "PaleMoon": string; "Gecko": string; "Trident": string; "Presto": string; "Goanna": string; "iOS": string; "Android": string; "BlackBerry": string[]; "BREW": string; "Java": string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; "Symbian": string[]; "webOS": string[]; } ->{ "Mobile": "Mobile\/[VER]", "Build": "Build\/[VER]", "Version": "Version\/[VER]", "VendorID": "VendorID\/[VER]", "iPad": "iPad.*CPU[a-z ]+[VER]", "iPhone": "iPhone.*CPU[a-z ]+[VER]", "iPod": "iPod.*CPU[a-z ]+[VER]", "Kindle": "Kindle\/[VER]", "Chrome": [ "Chrome\/[VER]", "CriOS\/[VER]", "CrMo\/[VER]" ], "Coast": [ "Coast\/[VER]" ], "Dolfin": "Dolfin\/[VER]", "Firefox": "Firefox\/[VER]", "Fennec": "Fennec\/[VER]", "Edge": "Edge\/[VER]", "IE": [ "IEMobile\/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident\/[0-9.]+;.*rv:[VER]" ], "NetFront": "NetFront\/[VER]", "NokiaBrowser": "NokiaBrowser\/[VER]", "Opera": [ " OPR\/[VER]", "Opera Mini\/[VER]", "Version\/[VER]" ], "Opera Mini": "Opera Mini\/[VER]", "Opera Mobi": "Version\/[VER]", "UC Browser": "UC Browser[VER]", "MQQBrowser": "MQQBrowser\/[VER]", "MicroMessenger": "MicroMessenger\/[VER]", "baiduboxapp": "baiduboxapp\/[VER]", "baidubrowser": "baidubrowser\/[VER]", "Iron": "Iron\/[VER]", "Safari": [ "Version\/[VER]", "Safari\/[VER]" ], "Skyfire": "Skyfire\/[VER]", "Tizen": "Tizen\/[VER]", "Webkit": "webkit[ \/][VER]", "PaleMoon": "PaleMoon\/[VER]", "Gecko": "Gecko\/[VER]", "Trident": "Trident\/[VER]", "Presto": "Presto\/[VER]", "Goanna": "Goanna\/[VER]", "iOS": " \\bi?OS\\b [VER][ ;]{1}", "Android": "Android [VER]", "BlackBerry": [ "BlackBerry[\\w]+\/[VER]", "BlackBerry.*Version\/[VER]", "Version\/[VER]" ], "BREW": "BREW [VER]", "Java": "Java\/[VER]", "Windows Phone OS": [ "Windows Phone OS [VER]", "Windows Phone [VER]" ], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE\/[VER]", "Windows NT": "Windows NT [VER]", "Symbian": [ "SymbianOS\/[VER]", "Symbian\/[VER]" ], "webOS": [ "webOS\/[VER]", "hpwOS\/[VER];" ] } : { "Mobile": string; "Build": string; "Version": string; "VendorID": string; "iPad": string; "iPhone": string; "iPod": string; "Kindle": string; "Chrome": string[]; "Coast": string[]; "Dolfin": string; "Firefox": string; "Fennec": string; "Edge": string; "IE": string[]; "NetFront": string; "NokiaBrowser": string; "Opera": string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; "MQQBrowser": string; "MicroMessenger": string; "baiduboxapp": string; "baidubrowser": string; "Iron": string; "Safari": string[]; "Skyfire": string; "Tizen": string; "Webkit": string; "PaleMoon": string; "Gecko": string; "Trident": string; "Presto": string; "Goanna": string; "iOS": string; "Android": string; "BlackBerry": string[]; "BREW": string; "Java": string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; "Symbian": string[]; "webOS": string[]; } +>"props" : { Mobile: string; Build: string; Version: string; VendorID: string; iPad: string; iPhone: string; iPod: string; Kindle: string; Chrome: string[]; Coast: string[]; Dolfin: string; Firefox: string; Fennec: string; Edge: string; IE: string[]; NetFront: string; NokiaBrowser: string; Opera: string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; MQQBrowser: string; MicroMessenger: string; baiduboxapp: string; baidubrowser: string; Iron: string; Safari: string[]; Skyfire: string; Tizen: string; Webkit: string; PaleMoon: string; Gecko: string; Trident: string; Presto: string; Goanna: string; iOS: string; Android: string; BlackBerry: string[]; BREW: string; Java: string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; Symbian: string[]; webOS: string[]; } +>{ "Mobile": "Mobile\/[VER]", "Build": "Build\/[VER]", "Version": "Version\/[VER]", "VendorID": "VendorID\/[VER]", "iPad": "iPad.*CPU[a-z ]+[VER]", "iPhone": "iPhone.*CPU[a-z ]+[VER]", "iPod": "iPod.*CPU[a-z ]+[VER]", "Kindle": "Kindle\/[VER]", "Chrome": [ "Chrome\/[VER]", "CriOS\/[VER]", "CrMo\/[VER]" ], "Coast": [ "Coast\/[VER]" ], "Dolfin": "Dolfin\/[VER]", "Firefox": "Firefox\/[VER]", "Fennec": "Fennec\/[VER]", "Edge": "Edge\/[VER]", "IE": [ "IEMobile\/[VER];", "IEMobile [VER]", "MSIE [VER];", "Trident\/[0-9.]+;.*rv:[VER]" ], "NetFront": "NetFront\/[VER]", "NokiaBrowser": "NokiaBrowser\/[VER]", "Opera": [ " OPR\/[VER]", "Opera Mini\/[VER]", "Version\/[VER]" ], "Opera Mini": "Opera Mini\/[VER]", "Opera Mobi": "Version\/[VER]", "UC Browser": "UC Browser[VER]", "MQQBrowser": "MQQBrowser\/[VER]", "MicroMessenger": "MicroMessenger\/[VER]", "baiduboxapp": "baiduboxapp\/[VER]", "baidubrowser": "baidubrowser\/[VER]", "Iron": "Iron\/[VER]", "Safari": [ "Version\/[VER]", "Safari\/[VER]" ], "Skyfire": "Skyfire\/[VER]", "Tizen": "Tizen\/[VER]", "Webkit": "webkit[ \/][VER]", "PaleMoon": "PaleMoon\/[VER]", "Gecko": "Gecko\/[VER]", "Trident": "Trident\/[VER]", "Presto": "Presto\/[VER]", "Goanna": "Goanna\/[VER]", "iOS": " \\bi?OS\\b [VER][ ;]{1}", "Android": "Android [VER]", "BlackBerry": [ "BlackBerry[\\w]+\/[VER]", "BlackBerry.*Version\/[VER]", "Version\/[VER]" ], "BREW": "BREW [VER]", "Java": "Java\/[VER]", "Windows Phone OS": [ "Windows Phone OS [VER]", "Windows Phone [VER]" ], "Windows Phone": "Windows Phone [VER]", "Windows CE": "Windows CE\/[VER]", "Windows NT": "Windows NT [VER]", "Symbian": [ "SymbianOS\/[VER]", "Symbian\/[VER]" ], "webOS": [ "webOS\/[VER]", "hpwOS\/[VER];" ] } : { Mobile: string; Build: string; Version: string; VendorID: string; iPad: string; iPhone: string; iPod: string; Kindle: string; Chrome: string[]; Coast: string[]; Dolfin: string; Firefox: string; Fennec: string; Edge: string; IE: string[]; NetFront: string; NokiaBrowser: string; Opera: string[]; "Opera Mini": string; "Opera Mobi": string; "UC Browser": string; MQQBrowser: string; MicroMessenger: string; baiduboxapp: string; baidubrowser: string; Iron: string; Safari: string[]; Skyfire: string; Tizen: string; Webkit: string; PaleMoon: string; Gecko: string; Trident: string; Presto: string; Goanna: string; iOS: string; Android: string; BlackBerry: string[]; BREW: string; Java: string; "Windows Phone OS": string[]; "Windows Phone": string; "Windows CE": string; "Windows NT": string; Symbian: string[]; webOS: string[]; } "Mobile": "Mobile\/[VER]", >"Mobile" : string @@ -1012,8 +1012,8 @@ define(function () { ] }, "utils": { ->"utils" : { "Bot": string; "MobileBot": string; "DesktopMode": string; "TV": string; "WebKit": string; "Console": string; "Watch": string; } ->{ "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", "DesktopMode": "WPDesktop", "TV": "SonyDTV|HbbTV", "WebKit": "(webkit)[ \/]([\\w.]+)", "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", "Watch": "SM-V700" } : { "Bot": string; "MobileBot": string; "DesktopMode": string; "TV": string; "WebKit": string; "Console": string; "Watch": string; } +>"utils" : { Bot: string; MobileBot: string; DesktopMode: string; TV: string; WebKit: string; Console: string; Watch: string; } +>{ "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", "MobileBot": "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2", "DesktopMode": "WPDesktop", "TV": "SonyDTV|HbbTV", "WebKit": "(webkit)[ \/]([\\w.]+)", "Console": "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b", "Watch": "SM-V700" } : { Bot: string; MobileBot: string; DesktopMode: string; TV: string; WebKit: string; Console: string; Watch: string; } "Bot": "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom", >"Bot" : string diff --git a/tests/baselines/reference/globalMergeWithCommonJSAssignmentDeclaration.types b/tests/baselines/reference/globalMergeWithCommonJSAssignmentDeclaration.types index 0c492e312c5..2da3041af44 100644 --- a/tests/baselines/reference/globalMergeWithCommonJSAssignmentDeclaration.types +++ b/tests/baselines/reference/globalMergeWithCommonJSAssignmentDeclaration.types @@ -14,7 +14,7 @@ window.console; // should not have error: Property 'console' does not exist on t module.exports = 'anything'; >module.exports = 'anything' : string >module.exports : string ->module : { "tests/cases/conformance/salsa/bug27099": string; } +>module : { "\"tests/cases/conformance/salsa/bug27099\"": string; } >exports : string >'anything' : "anything" diff --git a/tests/baselines/reference/importAliasModuleExports.types b/tests/baselines/reference/importAliasModuleExports.types index 6c9b0509549..961748a1c45 100644 --- a/tests/baselines/reference/importAliasModuleExports.types +++ b/tests/baselines/reference/importAliasModuleExports.types @@ -9,7 +9,7 @@ class Alias { module.exports = Alias; >module.exports = Alias : typeof Alias >module.exports : typeof Alias ->module : { "tests/cases/conformance/salsa/mod1": typeof Alias; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": typeof Alias; } >exports : typeof Alias >Alias : typeof Alias diff --git a/tests/baselines/reference/inOperatorWithFunction.types b/tests/baselines/reference/inOperatorWithFunction.types index 353a7165d7a..6486cf9d03c 100644 --- a/tests/baselines/reference/inOperatorWithFunction.types +++ b/tests/baselines/reference/inOperatorWithFunction.types @@ -10,7 +10,7 @@ fn("a" in { "a": true }); >fn : (val: boolean) => boolean >"a" in { "a": true } : boolean >"a" : "a" ->{ "a": true } : { "a": boolean; } +>{ "a": true } : { a: boolean; } >"a" : boolean >true : true diff --git a/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.js b/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.js index bcfcd9dc18d..39832974336 100644 --- a/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.js +++ b/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.js @@ -16,7 +16,7 @@ declare var x: ({ "a-b"?: undefined; })[]; declare var y: ({ - ["a-b"]: string; + "a-b": string; } | { "a-b"?: undefined; })[]; diff --git a/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.types b/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.types index 361b550952a..abd2f4200f4 100644 --- a/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.types +++ b/tests/baselines/reference/inferredNonidentifierTypesGetQuotes.types @@ -8,9 +8,9 @@ var x = [{ "a-b": "string" }, {}]; >{} : {} var y = [{ ["a-b"]: "string" }, {}]; ->y : ({ ["a-b"]: string; } | { "a-b"?: undefined; })[] ->[{ ["a-b"]: "string" }, {}] : ({ ["a-b"]: string; } | {})[] ->{ ["a-b"]: "string" } : { ["a-b"]: string; } +>y : ({ "a-b": string; } | { "a-b"?: undefined; })[] +>[{ ["a-b"]: "string" }, {}] : ({ "a-b": string; } | {})[] +>{ ["a-b"]: "string" } : { "a-b": string; } >["a-b"] : string >"a-b" : "a-b" >"string" : "string" diff --git a/tests/baselines/reference/inferringAnyFunctionType1.types b/tests/baselines/reference/inferringAnyFunctionType1.types index 8f56d4a549a..2e0f3363696 100644 --- a/tests/baselines/reference/inferringAnyFunctionType1.types +++ b/tests/baselines/reference/inferringAnyFunctionType1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/inferringAnyFunctionType1.ts === function f number }>(p: T): T { ->f : number; }>(p: T) => T +>f : number; }>(p: T) => T >"0" : (p1: number) => number >p1 : number >p : T @@ -12,7 +12,7 @@ function f number }>(p: T): T { var v = f([x => x]); >v : [(x: number) => number] >f([x => x]) : [(x: number) => number] ->f : number; }>(p: T) => T +>f : number; }>(p: T) => T >[x => x] : [(x: number) => number] >x => x : (x: number) => number >x : number diff --git a/tests/baselines/reference/javascriptCommonjsModule.types b/tests/baselines/reference/javascriptCommonjsModule.types index feee6cb3ddf..2850541b953 100644 --- a/tests/baselines/reference/javascriptCommonjsModule.types +++ b/tests/baselines/reference/javascriptCommonjsModule.types @@ -9,7 +9,7 @@ class Bar extends Foo {} module.exports = Bar; >module.exports = Bar : typeof Bar >module.exports : typeof Bar ->module : { "tests/cases/compiler/index": typeof Bar; } +>module : { "\"tests/cases/compiler/index\"": typeof Bar; } >exports : typeof Bar >Bar : typeof Bar diff --git a/tests/baselines/reference/javascriptImportDefaultBadExport.types b/tests/baselines/reference/javascriptImportDefaultBadExport.types index 81d68cbdf96..c01e329340e 100644 --- a/tests/baselines/reference/javascriptImportDefaultBadExport.types +++ b/tests/baselines/reference/javascriptImportDefaultBadExport.types @@ -9,7 +9,7 @@ const alias = {}; module.exports = alias; >module.exports = alias : {} >module.exports : {} ->module : { "/a": {}; } +>module : { "\"/a\"": {}; } >exports : {} >alias : {} diff --git a/tests/baselines/reference/jsDeclarationsClassExtendsVisibility.types b/tests/baselines/reference/jsDeclarationsClassExtendsVisibility.types index fe35b959cf0..ff1086ebd2d 100644 --- a/tests/baselines/reference/jsDeclarationsClassExtendsVisibility.types +++ b/tests/baselines/reference/jsDeclarationsClassExtendsVisibility.types @@ -25,7 +25,7 @@ class Foo extends Bar {} module.exports = Foo; >module.exports = Foo : typeof Foo >module.exports : typeof Foo ->module : { "tests/cases/conformance/jsdoc/declarations/cls": typeof Foo; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cls\"": typeof Foo; } >exports : typeof Foo >Foo : typeof Foo @@ -33,7 +33,7 @@ module.exports.Strings = Strings; >module.exports.Strings = Strings : { a: string; b: string; } >module.exports.Strings : { a: string; b: string; } >module.exports : typeof Foo ->module : { "tests/cases/conformance/jsdoc/declarations/cls": typeof Foo; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cls\"": typeof Foo; } >exports : typeof Foo >Strings : { a: string; b: string; } >Strings : { a: string; b: string; } @@ -45,7 +45,7 @@ class Bar {} module.exports = Bar; >module.exports = Bar : typeof Bar >module.exports : typeof Bar ->module : { "tests/cases/conformance/jsdoc/declarations/bar": typeof Bar; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/bar\"": typeof Bar; } >exports : typeof Bar >Bar : typeof Bar diff --git a/tests/baselines/reference/jsDeclarationsComputedNames.types b/tests/baselines/reference/jsDeclarationsComputedNames.types index ce79ab661c9..02e1788a3ea 100644 --- a/tests/baselines/reference/jsDeclarationsComputedNames.types +++ b/tests/baselines/reference/jsDeclarationsComputedNames.types @@ -12,7 +12,7 @@ const InnerSym = Symbol(); module.exports = { >module.exports = { [TopLevelSym](x = 12) { return x; }, items: { [InnerSym]: (arg = {x: 12}) => arg.x }} : { [TopLevelSym](x?: number): number; items: { [InnerSym]: (arg?: { x: number; }) => number; }; } >module.exports : { [TopLevelSym](x?: number): number; items: { [InnerSym]: (arg?: { x: number; }) => number; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { [TopLevelSym](x?: number): number; items: { [InnerSym]: (arg?: { x: number; }) => number; }; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { [TopLevelSym](x?: number): number; items: { [InnerSym]: (arg?: { x: number; }) => number; }; }; } >exports : { [TopLevelSym](x?: number): number; items: { [InnerSym]: (arg?: { x: number; }) => number; }; } >{ [TopLevelSym](x = 12) { return x; }, items: { [InnerSym]: (arg = {x: 12}) => arg.x }} : { [TopLevelSym](x?: number): number; items: { [InnerSym]: (arg?: { x: number; }) => number; }; } diff --git a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpression.types b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpression.types index 42dee86cf50..b2c7f801eb7 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpression.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpression.types @@ -2,7 +2,7 @@ module.exports = class Thing { >module.exports = class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >class Thing { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") >Thing : typeof import("tests/cases/conformance/jsdoc/declarations/index") diff --git a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymous.types b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymous.types index dfad9afb09b..ce144f50ebc 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymous.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymous.types @@ -2,7 +2,7 @@ module.exports = class { >module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") diff --git a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.types b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.types index a4d435e2a9d..ccf33572b98 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.types @@ -2,7 +2,7 @@ module.exports = class { >module.exports = class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >class { /** * @param {number} p */ constructor(p) { this.t = 12 + p; }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") @@ -26,7 +26,7 @@ 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("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >Sub : typeof Sub >class { constructor() { this.instance = new module.exports(10); }} : typeof Sub @@ -39,7 +39,7 @@ module.exports.Sub = class { >instance : import("tests/cases/conformance/jsdoc/declarations/index") >new module.exports(10) : import("tests/cases/conformance/jsdoc/declarations/index") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >10 : 10 } diff --git a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionShadowing.types b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionShadowing.types index 2a8d6a1b927..b7c41fe7fbb 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionShadowing.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignedClassExpressionShadowing.types @@ -17,7 +17,7 @@ class Q { module.exports = class Q { >module.exports = class Q { constructor() { this.x = new A(); }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >class Q { constructor() { this.x = new A(); }} : typeof import("tests/cases/conformance/jsdoc/declarations/index") >Q : typeof import("tests/cases/conformance/jsdoc/declarations/index") @@ -36,7 +36,7 @@ module.exports.Another = Q; >module.exports.Another = Q : typeof Q >module.exports.Another : typeof Q >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >Another : typeof Q >Q : typeof Q diff --git a/tests/baselines/reference/jsDeclarationsExportAssignedVisibility.types b/tests/baselines/reference/jsDeclarationsExportAssignedVisibility.types index 6398c9bada0..e54216161b9 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignedVisibility.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignedVisibility.types @@ -22,7 +22,7 @@ class Container { module.exports = Container; >module.exports = Container : typeof Container >module.exports : typeof Container ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof Container; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof Container; } >exports : typeof Container >Container : typeof Container @@ -30,7 +30,7 @@ module.exports = Container; module.exports = class Obj { >module.exports = class Obj { constructor() { this.x = 12; }} : typeof import("tests/cases/conformance/jsdoc/declarations/obj") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/obj") ->module : { "tests/cases/conformance/jsdoc/declarations/obj": typeof import("tests/cases/conformance/jsdoc/declarations/obj"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/obj\"": typeof import("tests/cases/conformance/jsdoc/declarations/obj"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/obj") >class Obj { constructor() { this.x = 12; }} : typeof import("tests/cases/conformance/jsdoc/declarations/obj") >Obj : typeof import("tests/cases/conformance/jsdoc/declarations/obj") diff --git a/tests/baselines/reference/jsDeclarationsExportAssignmentExpressionPlusSecondary.types b/tests/baselines/reference/jsDeclarationsExportAssignmentExpressionPlusSecondary.types index 2b7bd15ac9f..62c5a6dbe0e 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignmentExpressionPlusSecondary.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignmentExpressionPlusSecondary.types @@ -15,7 +15,7 @@ const Strings = { module.exports = { >module.exports = { thing: "ok", also: "ok", desc: { item: "ok" }} : { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; } >module.exports : { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; }; } >exports : { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; } >{ thing: "ok", also: "ok", desc: { item: "ok" }} : { thing: string; also: string; desc: { item: string; }; } @@ -40,7 +40,7 @@ module.exports.Strings = Strings; >module.exports.Strings = Strings : { a: string; b: string; } >module.exports.Strings : { a: string; b: string; } >module.exports : { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; }; } >exports : { thing: string; also: string; desc: { item: string; }; Strings: { a: string; b: string; }; } >Strings : { a: string; b: string; } >Strings : { a: string; b: string; } diff --git a/tests/baselines/reference/jsDeclarationsExportAssignmentWithKeywordName.types b/tests/baselines/reference/jsDeclarationsExportAssignmentWithKeywordName.types index bd3191805e4..f482fa6f2eb 100644 --- a/tests/baselines/reference/jsDeclarationsExportAssignmentWithKeywordName.types +++ b/tests/baselines/reference/jsDeclarationsExportAssignmentWithKeywordName.types @@ -6,7 +6,7 @@ var x = 12; module.exports = { >module.exports = { extends: 'base', more: { others: ['strs'] }, x} : { extends: string; more: { others: string[]; }; x: number; } >module.exports : { extends: string; more: { others: string[]; }; x: number; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { extends: string; more: { others: string[]; }; x: number; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { extends: string; more: { others: string[]; }; x: number; }; } >exports : { extends: string; more: { others: string[]; }; x: number; } >{ extends: 'base', more: { others: ['strs'] }, x} : { extends: string; more: { others: string[]; }; x: number; } diff --git a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types index c8cf0b47995..2da7b7bfb8f 100644 --- a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types +++ b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types @@ -5,7 +5,7 @@ Object.defineProperty(module.exports, "a", { value: function a() {} }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"a" : "a" >{ value: function a() {} } : { value: () => void; } @@ -19,7 +19,7 @@ Object.defineProperty(module.exports, "b", { value: function b() {} }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"b" : "b" >{ value: function b() {} } : { value: () => void; } @@ -34,7 +34,7 @@ Object.defineProperty(module.exports.b, "cat", { value: "cat" }); >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports.b : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >b : () => void >"cat" : "cat" @@ -60,7 +60,7 @@ Object.defineProperty(module.exports, "d", { value: d }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"d" : "d" >{ value: d } : { value: (a: number, b: number) => string; } @@ -87,7 +87,7 @@ Object.defineProperty(module.exports, "e", { value: e }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"e" : "e" >{ value: e } : { value: (a: T, b: U) => T & U; } @@ -111,7 +111,7 @@ Object.defineProperty(module.exports, "f", { value: f }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"f" : "f" >{ value: f } : { value: (a: T) => T; } @@ -125,7 +125,7 @@ Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports.f : (a: T) => T >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >f : (a: T) => T >"self" : "self" @@ -133,7 +133,7 @@ Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); >value : (a: T) => T >module.exports.f : (a: T) => T >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >f : (a: T) => T @@ -162,7 +162,7 @@ Object.defineProperty(module.exports, "g", { value: g }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"g" : "g" >{ value: g } : { value: (a: { x: string; }, b: { y: () => void; }) => void; } @@ -195,7 +195,7 @@ Object.defineProperty(module.exports, "h", { value: hh }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"h" : "h" >{ value: hh } : { value: (a: { x: string; }, b: { y: () => void; }) => void; } @@ -208,7 +208,7 @@ Object.defineProperty(module.exports, "i", { value: function i(){} }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"i" : "i" >{ value: function i(){} } : { value: () => void; } @@ -222,14 +222,14 @@ Object.defineProperty(module.exports, "ii", { value: module.exports.i }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"ii" : "ii" >{ value: module.exports.i } : { value: () => void; } >value : () => void >module.exports.i : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >i : () => void @@ -240,14 +240,14 @@ Object.defineProperty(module.exports, "jj", { value: module.exports.j }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"jj" : "jj" >{ value: module.exports.j } : { value: () => void; } >value : () => void >module.exports.j : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >j : () => void @@ -257,7 +257,7 @@ Object.defineProperty(module.exports, "j", { value: function j() {} }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >"j" : "j" >{ value: function j() {} } : { value: () => void; } diff --git a/tests/baselines/reference/jsDeclarationsExportForms.types b/tests/baselines/reference/jsDeclarationsExportForms.types index 5f454ee97bf..c850d4b8a23 100644 --- a/tests/baselines/reference/jsDeclarationsExportForms.types +++ b/tests/baselines/reference/jsDeclarationsExportForms.types @@ -52,7 +52,7 @@ const ns = require("./cls"); module.exports = { ns }; >module.exports = { ns } : { ns: typeof import("tests/cases/conformance/jsdoc/declarations/cls"); } >module.exports : { ns: typeof import("tests/cases/conformance/jsdoc/declarations/cls"); } ->module : { "tests/cases/conformance/jsdoc/declarations/cjs": { ns: typeof import("tests/cases/conformance/jsdoc/declarations/cls"); }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cjs\"": { ns: typeof import("tests/cases/conformance/jsdoc/declarations/cls"); }; } >exports : { ns: typeof import("tests/cases/conformance/jsdoc/declarations/cls"); } >{ ns } : { ns: typeof import("tests/cases/conformance/jsdoc/declarations/cls"); } >ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") @@ -67,7 +67,7 @@ const ns = require("./cls"); module.exports = ns; >module.exports = ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/cls") ->module : { "tests/cases/conformance/jsdoc/declarations/cjs2": typeof import("tests/cases/conformance/jsdoc/declarations/cls"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cjs2\"": typeof import("tests/cases/conformance/jsdoc/declarations/cls"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") @@ -82,7 +82,7 @@ module.exports.ns = ns; >module.exports.ns = ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >module.exports.ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/cjs3") ->module : { "tests/cases/conformance/jsdoc/declarations/cjs3": typeof import("tests/cases/conformance/jsdoc/declarations/cjs3"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cjs3\"": typeof import("tests/cases/conformance/jsdoc/declarations/cjs3"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/cjs3") >ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") @@ -98,7 +98,7 @@ module.exports.names = ns; >module.exports.names = ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >module.exports.names : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/cjs4") ->module : { "tests/cases/conformance/jsdoc/declarations/cjs4": typeof import("tests/cases/conformance/jsdoc/declarations/cjs4"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cjs4\"": typeof import("tests/cases/conformance/jsdoc/declarations/cjs4"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/cjs4") >names : typeof import("tests/cases/conformance/jsdoc/declarations/cls") >ns : typeof import("tests/cases/conformance/jsdoc/declarations/cls") diff --git a/tests/baselines/reference/jsDeclarationsExportSubAssignments.types b/tests/baselines/reference/jsDeclarationsExportSubAssignments.types index 765da3557ab..7e00db8d97b 100644 --- a/tests/baselines/reference/jsDeclarationsExportSubAssignments.types +++ b/tests/baselines/reference/jsDeclarationsExportSubAssignments.types @@ -18,7 +18,7 @@ class Foo {} module.exports = Foo; >module.exports = Foo : typeof Foo >module.exports : typeof Foo ->module : { "tests/cases/conformance/jsdoc/declarations/cls": typeof Foo; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cls\"": typeof Foo; } >exports : typeof Foo >Foo : typeof Foo @@ -26,7 +26,7 @@ module.exports.Strings = Strings; >module.exports.Strings = Strings : { a: string; b: string; } >module.exports.Strings : { a: string; b: string; } >module.exports : typeof Foo ->module : { "tests/cases/conformance/jsdoc/declarations/cls": typeof Foo; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cls\"": typeof Foo; } >exports : typeof Foo >Strings : { a: string; b: string; } >Strings : { a: string; b: string; } diff --git a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types index f9ee5c6e4c1..3c8a5f800d5 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types +++ b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types @@ -16,7 +16,7 @@ function Timer(timeout) { module.exports = Timer; >module.exports = Timer : typeof Timer >module.exports : typeof Timer ->module : { "tests/cases/conformance/jsdoc/declarations/timer": typeof Timer; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/timer\"": typeof Timer; } >exports : typeof Timer >Timer : typeof Timer @@ -41,7 +41,7 @@ function Hook(handle) { module.exports = Hook; >module.exports = Hook : typeof Hook >module.exports : typeof Hook ->module : { "tests/cases/conformance/jsdoc/declarations/hook": typeof Hook; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/hook\"": typeof Hook; } >exports : typeof Hook >Hook : typeof Hook @@ -131,7 +131,7 @@ Context.prototype = { module.exports = Context; >module.exports = Context : typeof Context >module.exports : typeof Context ->module : { "tests/cases/conformance/jsdoc/declarations/context": typeof Context; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/context\"": typeof Context; } >exports : typeof Context >Context : typeof Context diff --git a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types index ec6843764ff..19c69151cd4 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types +++ b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types @@ -3,7 +3,7 @@ module.exports.a = function a() {} >module.exports.a = function a() {} : () => void >module.exports.a : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >a : () => void >function a() {} : () => void @@ -13,7 +13,7 @@ module.exports.b = function b() {} >module.exports.b = function b() {} : { (): void; cat: string; } >module.exports.b : { (): void; cat: string; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >b : { (): void; cat: string; } >function b() {} : { (): void; cat: string; } @@ -24,7 +24,7 @@ module.exports.b.cat = "cat"; >module.exports.b.cat : string >module.exports.b : { (): void; cat: string; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >b : { (): void; cat: string; } >cat : string @@ -34,7 +34,7 @@ module.exports.c = function c() {} >module.exports.c = function c() {} : { (): void; Cls: typeof Cls; } >module.exports.c : { (): void; Cls: typeof Cls; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >c : { (): void; Cls: typeof Cls; } >function c() {} : { (): void; Cls: typeof Cls; } @@ -45,7 +45,7 @@ module.exports.c.Cls = class {} >module.exports.c.Cls : typeof Cls >module.exports.c : { (): void; Cls: typeof Cls; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >c : { (): void; Cls: typeof Cls; } >Cls : typeof Cls @@ -60,7 +60,7 @@ module.exports.d = function d(a, b) { return /** @type {*} */(null); } >module.exports.d = function d(a, b) { return /** @type {*} */(null); } : (a: number, b: number) => string >module.exports.d : (a: number, b: number) => string >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >d : (a: number, b: number) => string >function d(a, b) { return /** @type {*} */(null); } : (a: number, b: number) => string @@ -80,7 +80,7 @@ module.exports.e = function e(a, b) { return /** @type {*} */(null); } >module.exports.e = function e(a, b) { return /** @type {*} */(null); } : (a: T, b: U) => T & U >module.exports.e : (a: T, b: U) => T & U >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >e : (a: T, b: U) => T & U >function e(a, b) { return /** @type {*} */(null); } : (a: T, b: U) => T & U @@ -98,7 +98,7 @@ module.exports.f = function f(a) { >module.exports.f = function f(a) { return a;} : { (a: T): T; self: any; } >module.exports.f : { (a: T): T; self: any; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >f : { (a: T): T; self: any; } >function f(a) { return a;} : { (a: T): T; self: any; } @@ -113,13 +113,13 @@ module.exports.f.self = module.exports.f; >module.exports.f.self : { (a: T): T; self: any; } >module.exports.f : { (a: T): T; self: any; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >f : { (a: T): T; self: any; } >self : { (a: T): T; self: any; } >module.exports.f : { (a: T): T; self: any; } >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >f : { (a: T): T; self: any; } @@ -147,7 +147,7 @@ module.exports.g = g; >module.exports.g = g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >module.exports.g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void @@ -176,7 +176,7 @@ module.exports.h = hh; >module.exports.h = hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >module.exports.h : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >h : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void >hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void @@ -185,7 +185,7 @@ module.exports.i = function i() {} >module.exports.i = function i() {} : () => void >module.exports.i : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >i : () => void >function i() {} : () => void @@ -195,12 +195,12 @@ module.exports.ii = module.exports.i; >module.exports.ii = module.exports.i : () => void >module.exports.ii : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >ii : () => void >module.exports.i : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >i : () => void @@ -209,12 +209,12 @@ module.exports.jj = module.exports.j; >module.exports.jj = module.exports.j : () => void >module.exports.jj : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >jj : () => void >module.exports.j : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >j : () => void @@ -222,7 +222,7 @@ module.exports.j = function j() {} >module.exports.j = function j() {} : () => void >module.exports.j : () => void >module.exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof import("tests/cases/conformance/jsdoc/declarations/index"); } >exports : typeof import("tests/cases/conformance/jsdoc/declarations/index") >j : () => void >function j() {} : () => void diff --git a/tests/baselines/reference/jsDeclarationsImportTypeBundled.types b/tests/baselines/reference/jsDeclarationsImportTypeBundled.types index 8236fa5d918..0fac842568c 100644 --- a/tests/baselines/reference/jsDeclarationsImportTypeBundled.types +++ b/tests/baselines/reference/jsDeclarationsImportTypeBundled.types @@ -14,7 +14,7 @@ const x = {x: 12}; module.exports = x; >module.exports = x : { x: number; } >module.exports : { x: number; } ->module : { "tests/cases/conformance/jsdoc/declarations/folder/mod1": { x: number; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/folder/mod1\"": { x: number; }; } >exports : { x: number; } >x : { x: number; } @@ -30,7 +30,7 @@ const items = [{x: 12}]; module.exports = items; >module.exports = items : { [n: number]: { x: number; }; length: number; toString(): string; toLocaleString(): string; pop(): { x: number; }; push(...items: { x: number; }[]): number; concat(...items: ConcatArray<{ x: number; }>[]): { x: number; }[]; concat(...items: ({ x: number; } | ConcatArray<{ x: number; }>)[]): { x: number; }[]; join(separator?: string): string; reverse(): { x: number; }[]; shift(): { x: number; }; slice(start?: number, end?: number): { x: number; }[]; sort(compareFn?: (a: { x: number; }, b: { x: number; }) => number): { x: number; }[]; splice(start: number, deleteCount?: number): { x: number; }[]; splice(start: number, deleteCount: number, ...items: { x: number; }[]): { x: number; }[]; unshift(...items: { x: number; }[]): number; indexOf(searchElement: { x: number; }, fromIndex?: number): number; lastIndexOf(searchElement: { x: number; }, fromIndex?: number): number; every(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => void, thisArg?: any): void; map(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): { x: number; }[]; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; } >module.exports : { [n: number]: { x: number; }; length: number; toString(): string; toLocaleString(): string; pop(): { x: number; }; push(...items: { x: number; }[]): number; concat(...items: ConcatArray<{ x: number; }>[]): { x: number; }[]; concat(...items: ({ x: number; } | ConcatArray<{ x: number; }>)[]): { x: number; }[]; join(separator?: string): string; reverse(): { x: number; }[]; shift(): { x: number; }; slice(start?: number, end?: number): { x: number; }[]; sort(compareFn?: (a: { x: number; }, b: { x: number; }) => number): { x: number; }[]; splice(start: number, deleteCount?: number): { x: number; }[]; splice(start: number, deleteCount: number, ...items: { x: number; }[]): { x: number; }[]; unshift(...items: { x: number; }[]): number; indexOf(searchElement: { x: number; }, fromIndex?: number): number; lastIndexOf(searchElement: { x: number; }, fromIndex?: number): number; every(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => void, thisArg?: any): void; map(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): { x: number; }[]; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { [n: number]: { x: number; }; length: number; toString(): string; toLocaleString(): string; pop(): { x: number; }; push(...items: { x: number; }[]): number; concat(...items: ConcatArray<{ x: number; }>[]): { x: number; }[]; concat(...items: ({ x: number; } | ConcatArray<{ x: number; }>)[]): { x: number; }[]; join(separator?: string): string; reverse(): { x: number; }[]; shift(): { x: number; }; slice(start?: number, end?: number): { x: number; }[]; sort(compareFn?: (a: { x: number; }, b: { x: number; }) => number): { x: number; }[]; splice(start: number, deleteCount?: number): { x: number; }[]; splice(start: number, deleteCount: number, ...items: { x: number; }[]): { x: number; }[]; unshift(...items: { x: number; }[]): number; indexOf(searchElement: { x: number; }, fromIndex?: number): number; lastIndexOf(searchElement: { x: number; }, fromIndex?: number): number; every(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => void, thisArg?: any): void; map(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): { x: number; }[]; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { [n: number]: { x: number; }; length: number; toString(): string; toLocaleString(): string; pop(): { x: number; }; push(...items: { x: number; }[]): number; concat(...items: ConcatArray<{ x: number; }>[]): { x: number; }[]; concat(...items: ({ x: number; } | ConcatArray<{ x: number; }>)[]): { x: number; }[]; join(separator?: string): string; reverse(): { x: number; }[]; shift(): { x: number; }; slice(start?: number, end?: number): { x: number; }[]; sort(compareFn?: (a: { x: number; }, b: { x: number; }) => number): { x: number; }[]; splice(start: number, deleteCount?: number): { x: number; }[]; splice(start: number, deleteCount: number, ...items: { x: number; }[]): { x: number; }[]; unshift(...items: { x: number; }[]): number; indexOf(searchElement: { x: number; }, fromIndex?: number): number; lastIndexOf(searchElement: { x: number; }, fromIndex?: number): number; every(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => void, thisArg?: any): void; map(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): { x: number; }[]; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; }; } >exports : { [n: number]: { x: number; }; length: number; toString(): string; toLocaleString(): string; pop(): { x: number; }; push(...items: { x: number; }[]): number; concat(...items: ConcatArray<{ x: number; }>[]): { x: number; }[]; concat(...items: ({ x: number; } | ConcatArray<{ x: number; }>)[]): { x: number; }[]; join(separator?: string): string; reverse(): { x: number; }[]; shift(): { x: number; }; slice(start?: number, end?: number): { x: number; }[]; sort(compareFn?: (a: { x: number; }, b: { x: number; }) => number): { x: number; }[]; splice(start: number, deleteCount?: number): { x: number; }[]; splice(start: number, deleteCount: number, ...items: { x: number; }[]): { x: number; }[]; unshift(...items: { x: number; }[]): number; indexOf(searchElement: { x: number; }, fromIndex?: number): number; lastIndexOf(searchElement: { x: number; }, fromIndex?: number): number; every(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => void, thisArg?: any): void; map(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => unknown, thisArg?: any): { x: number; }[]; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduce(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: { x: number; }, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => { x: number; }, initialValue: { x: number; }): { x: number; }; reduceRight(callbackfn: (previousValue: U, currentValue: { x: number; }, currentIndex: number, array: { x: number; }[]) => U, initialValue: U): U; } >items : { x: number; }[] diff --git a/tests/baselines/reference/jsDeclarationsJson.js b/tests/baselines/reference/jsDeclarationsJson.js index 2cebc7b583a..97ded8265b4 100644 --- a/tests/baselines/reference/jsDeclarationsJson.js +++ b/tests/baselines/reference/jsDeclarationsJson.js @@ -30,37 +30,37 @@ export declare const x: number; export declare const y: number; export declare namespace obj { export const items: ({ - "x": number; - "y"?: undefined; - "err"?: undefined; + x: number; + y?: undefined; + err?: undefined; } | { - "x": number; - "y": number; - "err"?: undefined; + x: number; + y: number; + err?: undefined; } | { - "x": number; - "err": boolean; - "y"?: undefined; + x: number; + err: boolean; + y?: undefined; })[]; } //// [index.d.ts] export = j; declare const j: { - "x": number; - "y": number; - "obj": { - "items": ({ - "x": number; - "y"?: undefined; - "err"?: undefined; + x: number; + y: number; + obj: { + items: ({ + x: number; + y?: undefined; + err?: undefined; } | { - "x": number; - "y": number; - "err"?: undefined; + x: number; + y: number; + err?: undefined; } | { - "x": number; - "err": boolean; - "y"?: undefined; + x: number; + err: boolean; + y?: undefined; })[]; }; }; diff --git a/tests/baselines/reference/jsDeclarationsJson.types b/tests/baselines/reference/jsDeclarationsJson.types index aaab20ac36a..9a0a94677ef 100644 --- a/tests/baselines/reference/jsDeclarationsJson.types +++ b/tests/baselines/reference/jsDeclarationsJson.types @@ -1,20 +1,20 @@ === tests/cases/conformance/jsdoc/declarations/index.js === const j = require("./obj.json"); ->j : { "x": number; "y": number; "obj": { "items": ({ "x": number; "y"?: undefined; "err"?: undefined; } | { "x": number; "y": number; "err"?: undefined; } | { "x": number; "err": boolean; "y"?: undefined; })[]; }; } ->require("./obj.json") : { "x": number; "y": number; "obj": { "items": ({ "x": number; } | { "x": number; "y": number; } | { "x": number; "err": boolean; })[]; }; } +>j : { x: number; y: number; obj: { items: ({ x: number; y?: undefined; err?: undefined; } | { x: number; y: number; err?: undefined; } | { x: number; err: boolean; y?: undefined; })[]; }; } +>require("./obj.json") : { x: number; y: number; obj: { items: ({ x: number; } | { x: number; y: number; } | { x: number; err: boolean; })[]; }; } >require : any >"./obj.json" : "./obj.json" module.exports = j; ->module.exports = j : { "x": number; "y": number; "obj": { "items": ({ "x": number; "y"?: undefined; "err"?: undefined; } | { "x": number; "y": number; "err"?: undefined; } | { "x": number; "err": boolean; "y"?: undefined; })[]; }; } ->module.exports : { "x": number; "y": number; "obj": { "items": ({ "x": number; "y"?: undefined; "err"?: undefined; } | { "x": number; "y": number; "err"?: undefined; } | { "x": number; "err": boolean; "y"?: undefined; })[]; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { "x": number; "y": number; "obj": { "items": ({ "x": number; "y"?: undefined; "err"?: undefined; } | { "x": number; "y": number; "err"?: undefined; } | { "x": number; "err": boolean; "y"?: undefined; })[]; }; }; } ->exports : { "x": number; "y": number; "obj": { "items": ({ "x": number; "y"?: undefined; "err"?: undefined; } | { "x": number; "y": number; "err"?: undefined; } | { "x": number; "err": boolean; "y"?: undefined; })[]; }; } ->j : { "x": number; "y": number; "obj": { "items": ({ "x": number; "y"?: undefined; "err"?: undefined; } | { "x": number; "y": number; "err"?: undefined; } | { "x": number; "err": boolean; "y"?: undefined; })[]; }; } +>module.exports = j : { x: number; y: number; obj: { items: ({ x: number; y?: undefined; err?: undefined; } | { x: number; y: number; err?: undefined; } | { x: number; err: boolean; y?: undefined; })[]; }; } +>module.exports : { x: number; y: number; obj: { items: ({ x: number; y?: undefined; err?: undefined; } | { x: number; y: number; err?: undefined; } | { x: number; err: boolean; y?: undefined; })[]; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { x: number; y: number; obj: { items: ({ x: number; y?: undefined; err?: undefined; } | { x: number; y: number; err?: undefined; } | { x: number; err: boolean; y?: undefined; })[]; }; }; } +>exports : { x: number; y: number; obj: { items: ({ x: number; y?: undefined; err?: undefined; } | { x: number; y: number; err?: undefined; } | { x: number; err: boolean; y?: undefined; })[]; }; } +>j : { x: number; y: number; obj: { items: ({ x: number; y?: undefined; err?: undefined; } | { x: number; y: number; err?: undefined; } | { x: number; err: boolean; y?: undefined; })[]; }; } === tests/cases/conformance/jsdoc/declarations/obj.json === { ->{ "x": 12, "y": 12, "obj": { "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] }} : { "x": number; "y": number; "obj": { "items": ({ "x": number; } | { "x": number; "y": number; } | { "x": number; "err": boolean; })[]; }; } +>{ "x": 12, "y": 12, "obj": { "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] }} : { x: number; y: number; obj: { items: ({ x: number; } | { x: number; y: number; } | { x: number; err: boolean; })[]; }; } "x": 12, >"x" : number @@ -25,24 +25,24 @@ module.exports = j; >12 : 12 "obj": { ->"obj" : { "items": ({ "x": number; } | { "x": number; "y": number; } | { "x": number; "err": boolean; })[]; } ->{ "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] } : { "items": ({ "x": number; } | { "x": number; "y": number; } | { "x": number; "err": boolean; })[]; } +>"obj" : { items: ({ x: number; } | { x: number; y: number; } | { x: number; err: boolean; })[]; } +>{ "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] } : { items: ({ x: number; } | { x: number; y: number; } | { x: number; err: boolean; })[]; } "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] ->"items" : ({ "x": number; } | { "x": number; "y": number; } | { "x": number; "err": boolean; })[] ->[{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] : ({ "x": number; } | { "x": number; "y": number; } | { "x": number; "err": boolean; })[] ->{"x": 12} : { "x": number; } +>"items" : ({ x: number; } | { x: number; y: number; } | { x: number; err: boolean; })[] +>[{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] : ({ x: number; } | { x: number; y: number; } | { x: number; err: boolean; })[] +>{"x": 12} : { x: number; } >"x" : number >12 : 12 ->{"x": 12, "y": 12} : { "x": number; "y": number; } +>{"x": 12, "y": 12} : { x: number; y: number; } >"x" : number >12 : 12 >"y" : number >12 : 12 ->{"x": 0} : { "x": number; } +>{"x": 0} : { x: number; } >"x" : number >0 : 0 ->{"x": -1, "err": true} : { "x": number; "err": boolean; } +>{"x": -1, "err": true} : { x: number; err: boolean; } >"x" : number >-1 : -1 >1 : 1 diff --git a/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.js b/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.js new file mode 100644 index 00000000000..b722b8872ca --- /dev/null +++ b/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.js @@ -0,0 +1,40 @@ +//// [jsDeclarationsNonIdentifierInferredNames.jsx] +/// +import * as React from "react"; +const dynPropName = "data-dyn"; +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => ( + <>Hello +); + +//// [jsDeclarationsNonIdentifierInferredNames.js] +/// +import * as React from "react"; +const dynPropName = "data-dyn"; +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => (React.createElement(React.Fragment, null, "Hello")); + + +//// [jsDeclarationsNonIdentifierInferredNames.d.ts] +export function ExampleFunctionalComponent({ "data-testid": dataTestId, [dynPropName]: dynProp }: { + "data-testid": any; + "data-dyn": any; +}): JSX.Element; +declare const dynPropName: "data-dyn"; +export {}; + + +//// [DtsFileErrors] + + +out/jsDeclarationsNonIdentifierInferredNames.d.ts(4,5): error TS2503: Cannot find namespace 'JSX'. + + +==== ./out/jsDeclarationsNonIdentifierInferredNames.d.ts (1 errors) ==== + export function ExampleFunctionalComponent({ "data-testid": dataTestId, [dynPropName]: dynProp }: { + "data-testid": any; + "data-dyn": any; + }): JSX.Element; + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + declare const dynPropName: "data-dyn"; + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.symbols b/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.symbols new file mode 100644 index 00000000000..b0dd6615f2a --- /dev/null +++ b/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.symbols @@ -0,0 +1,16 @@ +=== tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.jsx === +/// +import * as React from "react"; +>React : Symbol(React, Decl(jsDeclarationsNonIdentifierInferredNames.jsx, 1, 6)) + +const dynPropName = "data-dyn"; +>dynPropName : Symbol(dynPropName, Decl(jsDeclarationsNonIdentifierInferredNames.jsx, 2, 5)) + +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => ( +>ExampleFunctionalComponent : Symbol(ExampleFunctionalComponent, Decl(jsDeclarationsNonIdentifierInferredNames.jsx, 3, 12)) +>dataTestId : Symbol(dataTestId, Decl(jsDeclarationsNonIdentifierInferredNames.jsx, 3, 44)) +>dynPropName : Symbol(dynPropName, Decl(jsDeclarationsNonIdentifierInferredNames.jsx, 2, 5)) +>dynProp : Symbol(dynProp, Decl(jsDeclarationsNonIdentifierInferredNames.jsx, 3, 71)) + + <>Hello +); diff --git a/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.types b/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.types new file mode 100644 index 00000000000..0c7c98a0276 --- /dev/null +++ b/tests/baselines/reference/jsDeclarationsNonIdentifierInferredNames.types @@ -0,0 +1,21 @@ +=== tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.jsx === +/// +import * as React from "react"; +>React : typeof React + +const dynPropName = "data-dyn"; +>dynPropName : "data-dyn" +>"data-dyn" : "data-dyn" + +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => ( +>ExampleFunctionalComponent : ({ "data-testid": dataTestId, [dynPropName]: dynProp }: { "data-testid": any; "data-dyn": any; }) => JSX.Element +>({ "data-testid": dataTestId, [dynPropName]: dynProp }) => ( <>Hello) : ({ "data-testid": dataTestId, [dynPropName]: dynProp }: { "data-testid": any; "data-dyn": any; }) => JSX.Element +>dataTestId : any +>dynPropName : "data-dyn" +>dynProp : any +>( <>Hello) : JSX.Element + + <>Hello +><>Hello : JSX.Element + +); diff --git a/tests/baselines/reference/jsDeclarationsPackageJson.js b/tests/baselines/reference/jsDeclarationsPackageJson.js index 66da073d338..43e0aa1a76a 100644 --- a/tests/baselines/reference/jsDeclarationsPackageJson.js +++ b/tests/baselines/reference/jsDeclarationsPackageJson.js @@ -105,31 +105,31 @@ export declare namespace config { //// [index.d.ts] export = j; declare const j: { - "name": string; - "version": string; - "description": string; - "main": string; - "bin": { - "cli": string; + name: string; + version: string; + description: string; + main: string; + bin: { + cli: string; }; - "engines": { - "node": string; + engines: { + node: string; }; - "scripts": { - "scriptname": string; + scripts: { + scriptname: string; }; - "devDependencies": { + devDependencies: { "@ns/dep": string; }; - "dependencies": { - "dep": string; + dependencies: { + dep: string; }; - "repository": string; - "keywords": string[]; - "author": string; - "license": string; - "homepage": string; - "config": { - "o": string[]; + repository: string; + keywords: string[]; + author: string; + license: string; + homepage: string; + config: { + o: string[]; }; }; diff --git a/tests/baselines/reference/jsDeclarationsPackageJson.types b/tests/baselines/reference/jsDeclarationsPackageJson.types index c0b34509fca..46faaf89c8e 100644 --- a/tests/baselines/reference/jsDeclarationsPackageJson.types +++ b/tests/baselines/reference/jsDeclarationsPackageJson.types @@ -1,20 +1,20 @@ === tests/cases/conformance/jsdoc/declarations/index.js === const j = require("./package.json"); ->j : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } ->require("./package.json") : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } +>j : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } +>require("./package.json") : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } >require : any >"./package.json" : "./package.json" module.exports = j; ->module.exports = j : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } ->module.exports : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; }; } ->exports : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } ->j : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } +>module.exports = j : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } +>module.exports : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; }; } +>exports : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } +>j : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } === tests/cases/conformance/jsdoc/declarations/package.json === { ->{ "name": "pkg", "version": "0.1.0", "description": "A package", "main": "./dist/index.js", "bin": { "cli": "./bin/cli.js", }, "engines": { "node": ">=0" }, "scripts": { "scriptname": "run && run again", }, "devDependencies": { "@ns/dep": "0.1.2", }, "dependencies": { "dep": "1.2.3", }, "repository": "microsoft/TypeScript", "keywords": [ "kw" ], "author": "Auth", "license": "See Licensce", "homepage": "https://site", "config": { "o": ["a"] }} : { "name": string; "version": string; "description": string; "main": string; "bin": { "cli": string; }; "engines": { "node": string; }; "scripts": { "scriptname": string; }; "devDependencies": { "@ns/dep": string; }; "dependencies": { "dep": string; }; "repository": string; "keywords": string[]; "author": string; "license": string; "homepage": string; "config": { "o": string[]; }; } +>{ "name": "pkg", "version": "0.1.0", "description": "A package", "main": "./dist/index.js", "bin": { "cli": "./bin/cli.js", }, "engines": { "node": ">=0" }, "scripts": { "scriptname": "run && run again", }, "devDependencies": { "@ns/dep": "0.1.2", }, "dependencies": { "dep": "1.2.3", }, "repository": "microsoft/TypeScript", "keywords": [ "kw" ], "author": "Auth", "license": "See Licensce", "homepage": "https://site", "config": { "o": ["a"] }} : { name: string; version: string; description: string; main: string; bin: { cli: string; }; engines: { node: string; }; scripts: { scriptname: string; }; devDependencies: { "@ns/dep": string; }; dependencies: { dep: string; }; repository: string; keywords: string[]; author: string; license: string; homepage: string; config: { o: string[]; }; } "name": "pkg", >"name" : string @@ -33,8 +33,8 @@ module.exports = j; >"./dist/index.js" : "./dist/index.js" "bin": { ->"bin" : { "cli": string; } ->{ "cli": "./bin/cli.js", } : { "cli": string; } +>"bin" : { cli: string; } +>{ "cli": "./bin/cli.js", } : { cli: string; } "cli": "./bin/cli.js", >"cli" : string @@ -42,8 +42,8 @@ module.exports = j; }, "engines": { ->"engines" : { "node": string; } ->{ "node": ">=0" } : { "node": string; } +>"engines" : { node: string; } +>{ "node": ">=0" } : { node: string; } "node": ">=0" >"node" : string @@ -51,8 +51,8 @@ module.exports = j; }, "scripts": { ->"scripts" : { "scriptname": string; } ->{ "scriptname": "run && run again", } : { "scriptname": string; } +>"scripts" : { scriptname: string; } +>{ "scriptname": "run && run again", } : { scriptname: string; } "scriptname": "run && run again", >"scriptname" : string @@ -69,8 +69,8 @@ module.exports = j; }, "dependencies": { ->"dependencies" : { "dep": string; } ->{ "dep": "1.2.3", } : { "dep": string; } +>"dependencies" : { dep: string; } +>{ "dep": "1.2.3", } : { dep: string; } "dep": "1.2.3", >"dep" : string @@ -102,8 +102,8 @@ module.exports = j; >"https://site" : "https://site" "config": { ->"config" : { "o": string[]; } ->{ "o": ["a"] } : { "o": string[]; } +>"config" : { o: string[]; } +>{ "o": ["a"] } : { o: string[]; } "o": ["a"] >"o" : string[] diff --git a/tests/baselines/reference/jsDeclarationsReexportAliasesEsModuleInterop.types b/tests/baselines/reference/jsDeclarationsReexportAliasesEsModuleInterop.types index a6782931780..8597d00c34a 100644 --- a/tests/baselines/reference/jsDeclarationsReexportAliasesEsModuleInterop.types +++ b/tests/baselines/reference/jsDeclarationsReexportAliasesEsModuleInterop.types @@ -5,7 +5,7 @@ class Foo {} module.exports = Foo; >module.exports = Foo : typeof Foo >module.exports : typeof Foo ->module : { "tests/cases/conformance/jsdoc/declarations/cls": typeof Foo; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/cls\"": typeof Foo; } >exports : typeof Foo >Foo : typeof Foo diff --git a/tests/baselines/reference/jsDeclarationsTypeAliases.types b/tests/baselines/reference/jsDeclarationsTypeAliases.types index f2581249c25..6cad0aa3f34 100644 --- a/tests/baselines/reference/jsDeclarationsTypeAliases.types +++ b/tests/baselines/reference/jsDeclarationsTypeAliases.types @@ -55,7 +55,7 @@ class ExportedThing { module.exports = { >module.exports = { doTheThing, ExportedThing,} : { doTheThing: (x: number) => number | { x: string; } | LocalThing | ExportedThing; ExportedThing: typeof ExportedThing; } >module.exports : { doTheThing: (x: number) => number | { x: string; } | LocalThing | ExportedThing; ExportedThing: typeof ExportedThing; } ->module : { "tests/cases/conformance/jsdoc/declarations/mixed": { doTheThing: (x: number) => number | { x: string; } | LocalThing | ExportedThing; ExportedThing: typeof ExportedThing; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/mixed\"": { doTheThing: (x: number) => number | { x: string; } | LocalThing | ExportedThing; ExportedThing: typeof ExportedThing; }; } >exports : { doTheThing: (x: number) => number | { x: string; } | LocalThing | ExportedThing; ExportedThing: typeof ExportedThing; } >{ doTheThing, ExportedThing,} : { doTheThing: (x: number) => number | { x: string; } | LocalThing | ExportedThing; ExportedThing: typeof ExportedThing; } diff --git a/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration.types b/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration.types index ed020e5d499..f684be1a540 100644 --- a/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration.types +++ b/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration.types @@ -18,7 +18,7 @@ const items = []; module.exports = items; >module.exports = items : { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; } >module.exports : { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; }; } >exports : { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; } >items : Item[] diff --git a/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types b/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types index db7d35757d1..525b934644b 100644 --- a/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types +++ b/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types @@ -9,7 +9,7 @@ const items = require("./some-mod")(); module.exports = items; >module.exports = items : { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; } >module.exports : { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; }; } >exports : { [n: number]: Item; length: number; toString(): string; toLocaleString(): string; pop(): Item; push(...items: Item[]): number; concat(...items: ConcatArray[]): Item[]; concat(...items: (Item | ConcatArray)[]): Item[]; join(separator?: string): string; reverse(): Item[]; shift(): Item; slice(start?: number, end?: number): Item[]; sort(compareFn?: (a: Item, b: Item) => number): Item[]; splice(start: number, deleteCount?: number): Item[]; splice(start: number, deleteCount: number, ...items: Item[]): Item[]; unshift(...items: Item[]): number; indexOf(searchElement: Item, fromIndex?: number): number; lastIndexOf(searchElement: Item, fromIndex?: number): number; every(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; some(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: Item, index: number, array: Item[]) => void, thisArg?: any): void; map(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any): U[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => value is S, thisArg?: any): S[]; filter(callbackfn: (value: Item, index: number, array: Item[]) => unknown, thisArg?: any): Item[]; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduce(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduce(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item): Item; reduceRight(callbackfn: (previousValue: Item, currentValue: Item, currentIndex: number, array: Item[]) => Item, initialValue: Item): Item; reduceRight(callbackfn: (previousValue: U, currentValue: Item, currentIndex: number, array: Item[]) => U, initialValue: U): U; find(predicate: (this: void, value: Item, index: number, obj: Item[]) => value is S, thisArg?: any): S; find(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): Item; findIndex(predicate: (value: Item, index: number, obj: Item[]) => unknown, thisArg?: any): number; fill(value: Item, start?: number, end?: number): Item[]; copyWithin(target: number, start: number, end?: number): Item[]; [Symbol.iterator](): IterableIterator; entries(): IterableIterator<[number, Item]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; } >items : Item[] diff --git a/tests/baselines/reference/jsDeclarationsTypeReferences.types b/tests/baselines/reference/jsDeclarationsTypeReferences.types index 15545aff3a3..59f515e4000 100644 --- a/tests/baselines/reference/jsDeclarationsTypeReferences.types +++ b/tests/baselines/reference/jsDeclarationsTypeReferences.types @@ -17,7 +17,7 @@ const thing = new Something(); module.exports = { >module.exports = { thing} : { thing: import("fs").Something; } >module.exports : { thing: import("fs").Something; } ->module : { "tests/cases/conformance/jsdoc/declarations/index": { thing: import("fs").Something; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": { thing: import("fs").Something; }; } >exports : { thing: import("fs").Something; } >{ thing} : { thing: import("fs").Something; } diff --git a/tests/baselines/reference/jsDeclarationsTypedefAndImportTypes.types b/tests/baselines/reference/jsDeclarationsTypedefAndImportTypes.types index de61eae51f9..6441a279a43 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefAndImportTypes.types +++ b/tests/baselines/reference/jsDeclarationsTypedefAndImportTypes.types @@ -18,7 +18,7 @@ class Conn { module.exports = Conn; >module.exports = Conn : typeof Conn >module.exports : typeof Conn ->module : { "tests/cases/conformance/jsdoc/declarations/conn": typeof Conn; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/conn\"": typeof Conn; } >exports : typeof Conn >Conn : typeof Conn @@ -58,7 +58,7 @@ class Wrap { module.exports = { >module.exports = { Wrap} : { Wrap: typeof Wrap; } >module.exports : { Wrap: typeof Wrap; } ->module : { "tests/cases/conformance/jsdoc/declarations/usage": { Wrap: typeof Wrap; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/usage\"": { Wrap: typeof Wrap; }; } >exports : { Wrap: typeof Wrap; } >{ Wrap} : { Wrap: typeof Wrap; } diff --git a/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types b/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types index 54433c6d45f..a0d026b15f3 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types +++ b/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types @@ -31,7 +31,7 @@ class MainThreadTasks { module.exports = MainThreadTasks; >module.exports = MainThreadTasks : typeof MainThreadTasks >module.exports : typeof MainThreadTasks ->module : { "tests/cases/conformance/jsdoc/declarations/index": typeof MainThreadTasks; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/index\"": typeof MainThreadTasks; } >exports : typeof MainThreadTasks >MainThreadTasks : typeof MainThreadTasks @@ -88,7 +88,7 @@ const taskNameToGroup = {}; module.exports = { >module.exports = { taskGroups, taskNameToGroup,} : { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; } >module.exports : { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; } ->module : { "tests/cases/conformance/jsdoc/declarations/module": { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; }; } +>module : { "\"tests/cases/conformance/jsdoc/declarations/module\"": { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; }; } >exports : { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; } >{ taskGroups, taskNameToGroup,} : { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; } diff --git a/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types b/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types index 3a915508dde..c480a6e2556 100644 --- a/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types +++ b/tests/baselines/reference/jsFileClassPropertyInitalizationInObjectLiteral.types @@ -2,7 +2,7 @@ module.exports = function () { >module.exports = function () { class A { } return { c: A.b = 1, }} : () => { c: number; } >module.exports : () => { c: number; } ->module : { "tests/cases/compiler/foo": () => { c: number; }; } +>module : { "\"tests/cases/compiler/foo\"": () => { c: number; }; } >exports : () => { c: number; } >function () { class A { } return { c: A.b = 1, }} : () => { c: number; } diff --git a/tests/baselines/reference/jsdocImportType.types b/tests/baselines/reference/jsdocImportType.types index 66b01b1a5c7..fd3157c19dc 100644 --- a/tests/baselines/reference/jsdocImportType.types +++ b/tests/baselines/reference/jsdocImportType.types @@ -54,7 +54,7 @@ class Chunk { module.exports = Chunk; >module.exports = Chunk : typeof Chunk >module.exports : typeof Chunk ->module : { "tests/cases/conformance/jsdoc/mod1": typeof Chunk; } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof Chunk; } >exports : typeof Chunk >Chunk : typeof Chunk diff --git a/tests/baselines/reference/jsdocImportType2.types b/tests/baselines/reference/jsdocImportType2.types index a75c4fa0738..635dfc1ff1e 100644 --- a/tests/baselines/reference/jsdocImportType2.types +++ b/tests/baselines/reference/jsdocImportType2.types @@ -42,7 +42,7 @@ declare var module: { exports: any }; module.exports = class Chunk { >module.exports = class Chunk { constructor() { this.chunk = 1; }} : typeof import("tests/cases/conformance/jsdoc/mod1") >module.exports : typeof import("tests/cases/conformance/jsdoc/mod1") ->module : { "tests/cases/conformance/jsdoc/mod1": typeof import("tests/cases/conformance/jsdoc/mod1"); } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof import("tests/cases/conformance/jsdoc/mod1"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod1") >class Chunk { constructor() { this.chunk = 1; }} : typeof import("tests/cases/conformance/jsdoc/mod1") >Chunk : typeof import("tests/cases/conformance/jsdoc/mod1") diff --git a/tests/baselines/reference/jsdocImportTypeReferenceToClassAlias.types b/tests/baselines/reference/jsdocImportTypeReferenceToClassAlias.types index 880288d7197..2245ba37967 100644 --- a/tests/baselines/reference/jsdocImportTypeReferenceToClassAlias.types +++ b/tests/baselines/reference/jsdocImportTypeReferenceToClassAlias.types @@ -9,7 +9,7 @@ module.exports.C = C >module.exports.C = C : typeof C >module.exports.C : typeof C >module.exports : typeof import("tests/cases/conformance/jsdoc/mod1") ->module : { "tests/cases/conformance/jsdoc/mod1": typeof import("tests/cases/conformance/jsdoc/mod1"); } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof import("tests/cases/conformance/jsdoc/mod1"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod1") >C : typeof C >C : typeof C diff --git a/tests/baselines/reference/jsdocTypeFromChainedAssignment2.types b/tests/baselines/reference/jsdocTypeFromChainedAssignment2.types index a236e922e9f..75e198978f4 100644 --- a/tests/baselines/reference/jsdocTypeFromChainedAssignment2.types +++ b/tests/baselines/reference/jsdocTypeFromChainedAssignment2.types @@ -58,13 +58,13 @@ module.exports.h = module.exports.i = function hi(mom) { >module.exports.h = module.exports.i = function hi(mom) { return `hi, ${mom}!`;} : (mom: string) => string >module.exports.h : (mom: string) => string >module.exports : typeof import("tests/cases/conformance/jsdoc/mod") ->module : { "tests/cases/conformance/jsdoc/mod": typeof import("tests/cases/conformance/jsdoc/mod"); } +>module : { "\"tests/cases/conformance/jsdoc/mod\"": typeof import("tests/cases/conformance/jsdoc/mod"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod") >h : (mom: string) => string >module.exports.i = function hi(mom) { return `hi, ${mom}!`;} : (mom: string) => string >module.exports.i : (mom: string) => string >module.exports : typeof import("tests/cases/conformance/jsdoc/mod") ->module : { "tests/cases/conformance/jsdoc/mod": typeof import("tests/cases/conformance/jsdoc/mod"); } +>module : { "\"tests/cases/conformance/jsdoc/mod\"": typeof import("tests/cases/conformance/jsdoc/mod"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod") >i : (mom: string) => string >function hi(mom) { return `hi, ${mom}!`;} : (mom: string) => string diff --git a/tests/baselines/reference/jsdocTypeReferenceExports.types b/tests/baselines/reference/jsdocTypeReferenceExports.types index 843bb08f91b..cc0fd402cdb 100644 --- a/tests/baselines/reference/jsdocTypeReferenceExports.types +++ b/tests/baselines/reference/jsdocTypeReferenceExports.types @@ -2,7 +2,7 @@ module.exports = {} >module.exports = {} : typeof import("tests/cases/conformance/jsdoc/bug27342") >module.exports : typeof import("tests/cases/conformance/jsdoc/bug27342") ->module : { "tests/cases/conformance/jsdoc/bug27342": typeof import("tests/cases/conformance/jsdoc/bug27342"); } +>module : { "\"tests/cases/conformance/jsdoc/bug27342\"": typeof import("tests/cases/conformance/jsdoc/bug27342"); } >exports : typeof import("tests/cases/conformance/jsdoc/bug27342") >{} : {} diff --git a/tests/baselines/reference/keyofDoesntContainSymbols.types b/tests/baselines/reference/keyofDoesntContainSymbols.types index ce1ffc9fda9..4a29560de82 100644 --- a/tests/baselines/reference/keyofDoesntContainSymbols.types +++ b/tests/baselines/reference/keyofDoesntContainSymbols.types @@ -9,8 +9,8 @@ const num = 0; >0 : 0 const obj = { num: 0, str: 's', [num]: num as 0, [sym]: sym }; ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } ->{ num: 0, str: 's', [num]: num as 0, [sym]: sym } : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } +>{ num: 0, str: 's', [num]: num as 0, [sym]: sym } : { num: number; str: string; 0: 0; [sym]: symbol; } >num : number >0 : 0 >str : string @@ -41,7 +41,7 @@ const val = set(obj, 'str', ''); >val : string >set(obj, 'str', '') : string >set : (obj: T, key: K, value: T[K]) => T[K] ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } >'str' : "str" >'' : "" @@ -50,7 +50,7 @@ const valB = set(obj, 'num', ''); >valB : any >set(obj, 'num', '') : any >set : (obj: T, key: K, value: T[K]) => T[K] ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } >'num' : "num" >'' : "" @@ -60,7 +60,7 @@ const valC = set(obj, sym, sym); >valC : any >set(obj, sym, sym) : any >set : (obj: T, key: K, value: T[K]) => T[K] ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } >sym : unique symbol >sym : unique symbol @@ -70,7 +70,7 @@ const valD = set(obj, num, num); >valD : any >set(obj, num, num) : any >set : (obj: T, key: K, value: T[K]) => T[K] ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } >num : 0 >num : 0 @@ -78,7 +78,7 @@ const valD = set(obj, num, num); // Argument of type '0' is not assignable to parameter of type "str" | "num" type KeyofObj = keyof typeof obj; >KeyofObj : "str" | "num" ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } // "str" | "num" type Values = T[keyof T]; @@ -86,5 +86,5 @@ type Values = T[keyof T]; type ValuesOfObj = Values; >ValuesOfObj : string | number ->obj : { num: number; str: string; [num]: 0; [sym]: symbol; } +>obj : { num: number; str: string; 0: 0; [sym]: symbol; } diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport2.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport2.types index 7a3ef2f0a9a..1c0090329d9 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport2.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport2.types @@ -34,7 +34,7 @@ module.exports[_sym] = "ok"; >module.exports[_sym] = "ok" : "ok" >module.exports[_sym] : any >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2") >_sym : unique symbol >"ok" : "ok" @@ -43,7 +43,7 @@ module.exports[_str] = "ok"; >module.exports[_str] = "ok" : "ok" >module.exports[_str] : any >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2") >_str : "my-fake-sym" >"ok" : "ok" @@ -52,7 +52,7 @@ module.exports.S = _sym; >module.exports.S = _sym : unique symbol >module.exports.S : unique symbol >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport2") >S : unique symbol >_sym : unique symbol diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types index d968b1c9bf4..5811c9a4c33 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types @@ -36,7 +36,7 @@ Object.defineProperty(module.exports, _sym, { value: "ok" }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3") >_sym : unique symbol >{ value: "ok" } : { value: string; } @@ -49,7 +49,7 @@ Object.defineProperty(module.exports, _str, { value: "ok" }); >Object : ObjectConstructor >defineProperty : (o: any, p: string | number | symbol, attributes: PropertyDescriptor & ThisType) => any >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3") >_str : "my-fake-sym" >{ value: "ok" } : { value: string; } @@ -60,7 +60,7 @@ module.exports.S = _sym; >module.exports.S = _sym : unique symbol >module.exports.S : unique symbol >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport3") >S : unique symbol >_sym : unique symbol diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport4.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport4.types index db1bf36d383..5d5d8bd4bef 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport4.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport4.types @@ -79,7 +79,7 @@ module.exports.F = F; >module.exports.F = F : typeof F >module.exports.F : typeof F >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4") >F : typeof F >F : typeof F @@ -88,7 +88,7 @@ module.exports.S = _sym; >module.exports.S = _sym : unique symbol >module.exports.S : unique symbol >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport4") >S : unique symbol >_sym : unique symbol diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport5.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport5.types index 3256c6ed788..5c73c112a78 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport5.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport5.types @@ -41,11 +41,11 @@ function F() { >F : typeof F } F.prototype = { ->F.prototype = { [_sym]: "ok", [_str]: "ok"} : { [_sym]: string; [_str]: string; } ->F.prototype : { [_sym]: string; [_str]: string; } +>F.prototype = { [_sym]: "ok", [_str]: "ok"} : { [_sym]: string; "my-fake-sym": string; } +>F.prototype : { [_sym]: string; "my-fake-sym": string; } >F : typeof F ->prototype : { [_sym]: string; [_str]: string; } ->{ [_sym]: "ok", [_str]: "ok"} : { [_sym]: string; [_str]: string; } +>prototype : { [_sym]: string; "my-fake-sym": string; } +>{ [_sym]: "ok", [_str]: "ok"} : { [_sym]: string; "my-fake-sym": string; } [_sym]: "ok", >[_sym] : string @@ -78,7 +78,7 @@ module.exports.F = F; >module.exports.F = F : typeof F >module.exports.F : typeof F >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5") >F : typeof F >F : typeof F @@ -87,7 +87,7 @@ module.exports.S = _sym; >module.exports.S = _sym : unique symbol >module.exports.S : unique symbol >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport5") >S : unique symbol >_sym : unique symbol diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types index 3fe988a16ad..4aa53191154 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types @@ -96,7 +96,7 @@ module.exports.F = F; >module.exports.F = F : typeof F >module.exports.F : typeof F >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6") >F : typeof F >F : typeof F @@ -105,7 +105,7 @@ module.exports.S = _sym; >module.exports.S = _sym : unique symbol >module.exports.S : unique symbol >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport6") >S : unique symbol >_sym : unique symbol diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport7.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport7.types index 05b9997b138..84c38293691 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport7.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport7.types @@ -54,7 +54,7 @@ module.exports.F = F; >module.exports.F = F : typeof F >module.exports.F : typeof F >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7") >F : typeof F >F : typeof F @@ -63,7 +63,7 @@ module.exports.S = _sym; >module.exports.S = _sym : unique symbol >module.exports.S : unique symbol >module.exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7") ->module : { "tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7"); } +>module : { "\"tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7\"": typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7"); } >exports : typeof import("tests/cases/conformance/salsa/lateBoundAssignmentDeclarationSupport7") >S : unique symbol >_sym : unique symbol diff --git a/tests/baselines/reference/limitDeepInstantiations.types b/tests/baselines/reference/limitDeepInstantiations.types index f52ea1497ca..5441f3a175c 100644 --- a/tests/baselines/reference/limitDeepInstantiations.types +++ b/tests/baselines/reference/limitDeepInstantiations.types @@ -2,8 +2,8 @@ // Repro from #14837 type Foo = { "true": Foo> }[T]; ->Foo : { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": any[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T] ->"true" : { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": { "true": any[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T] +>Foo : { true: { true: { true: { true: { true: { true: { true: { true: { true: { true: { true: any[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T] +>"true" : { true: { true: { true: { true: { true: { true: { true: { true: { true: { true: { true: any[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T]; }[T] let f1: Foo<"true", {}>; >f1 : any diff --git a/tests/baselines/reference/literalsInComputedProperties1.types b/tests/baselines/reference/literalsInComputedProperties1.types index 6ae8cda4262..de2bdf113d4 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.types +++ b/tests/baselines/reference/literalsInComputedProperties1.types @@ -1,7 +1,7 @@ === tests/cases/compiler/literalsInComputedProperties1.ts === let x = { ->x : { 1: number; [2]: number; "3": number; ["4"]: number; } ->{ 1:1, [2]:1, "3":1, ["4"]:1} : { 1: number; [2]: number; "3": number; ["4"]: number; } +>x : { 1: number; 2: number; 3: number; 4: number; } +>{ 1:1, [2]:1, "3":1, ["4"]:1} : { 1: number; 2: number; 3: number; 4: number; } 1:1, >1 : number @@ -25,7 +25,7 @@ x[1].toExponential(); >x[1].toExponential() : string >x[1].toExponential : (fractionDigits?: number) => string >x[1] : number ->x : { 1: number; [2]: number; "3": number; ["4"]: number; } +>x : { 1: number; 2: number; 3: number; 4: number; } >1 : 1 >toExponential : (fractionDigits?: number) => string @@ -33,7 +33,7 @@ x[2].toExponential(); >x[2].toExponential() : string >x[2].toExponential : (fractionDigits?: number) => string >x[2] : number ->x : { 1: number; [2]: number; "3": number; ["4"]: number; } +>x : { 1: number; 2: number; 3: number; 4: number; } >2 : 2 >toExponential : (fractionDigits?: number) => string @@ -41,7 +41,7 @@ x[3].toExponential(); >x[3].toExponential() : string >x[3].toExponential : (fractionDigits?: number) => string >x[3] : number ->x : { 1: number; [2]: number; "3": number; ["4"]: number; } +>x : { 1: number; 2: number; 3: number; 4: number; } >3 : 3 >toExponential : (fractionDigits?: number) => string @@ -49,7 +49,7 @@ x[4].toExponential(); >x[4].toExponential() : string >x[4].toExponential : (fractionDigits?: number) => string >x[4] : number ->x : { 1: number; [2]: number; "3": number; ["4"]: number; } +>x : { 1: number; 2: number; 3: number; 4: number; } >4 : 4 >toExponential : (fractionDigits?: number) => string diff --git a/tests/baselines/reference/moduleExportAlias.types b/tests/baselines/reference/moduleExportAlias.types index 4e524126202..14acd06f75e 100644 --- a/tests/baselines/reference/moduleExportAlias.types +++ b/tests/baselines/reference/moduleExportAlias.types @@ -125,7 +125,7 @@ exports.func2 = function () { }; var moduleExportsAlias = module.exports; >moduleExportsAlias : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") moduleExportsAlias.func3 = function () { }; @@ -139,7 +139,7 @@ module.exports.func4 = function () { }; >module.exports.func4 = function () { } : () => void >module.exports.func4 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func4 : () => void >function () { } : () => void @@ -149,7 +149,7 @@ var multipleDeclarationAlias1 = exports = module.exports; >exports = module.exports : typeof import("tests/cases/conformance/salsa/b") >exports : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") multipleDeclarationAlias1.func5 = function () { }; @@ -163,7 +163,7 @@ var multipleDeclarationAlias2 = module.exports = exports; >multipleDeclarationAlias2 : typeof import("tests/cases/conformance/salsa/b") >module.exports = exports : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >exports : typeof import("tests/cases/conformance/salsa/b") @@ -195,7 +195,7 @@ var multipleDeclarationAlias4 = someOtherVariable = module.exports; >someOtherVariable = module.exports : typeof import("tests/cases/conformance/salsa/b") >someOtherVariable : any >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") multipleDeclarationAlias4.func8 = function () { }; @@ -209,7 +209,7 @@ var multipleDeclarationAlias5 = module.exports = exports = {}; >multipleDeclarationAlias5 : typeof import("tests/cases/conformance/salsa/b") >module.exports = exports = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >exports = {} : {} >exports : typeof import("tests/cases/conformance/salsa/b") @@ -228,7 +228,7 @@ var multipleDeclarationAlias6 = exports = module.exports = {}; >exports : typeof import("tests/cases/conformance/salsa/b") >module.exports = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >{} : {} @@ -244,7 +244,7 @@ exports = module.exports = someOtherVariable = {}; >exports : typeof import("tests/cases/conformance/salsa/b") >module.exports = someOtherVariable = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >someOtherVariable = {} : {} >someOtherVariable : any @@ -261,7 +261,7 @@ module.exports.func12 = function () { }; >module.exports.func12 = function () { } : () => void >module.exports.func12 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func12 : () => void >function () { } : () => void @@ -271,7 +271,7 @@ exports = module.exports = someOtherVariable = {}; >exports : typeof import("tests/cases/conformance/salsa/b") >module.exports = someOtherVariable = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >someOtherVariable = {} : {} >someOtherVariable : any @@ -288,7 +288,7 @@ module.exports.func12 = function () { }; >module.exports.func12 = function () { } : () => void >module.exports.func12 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func12 : () => void >function () { } : () => void @@ -298,7 +298,7 @@ exports = module.exports = {}; >exports : typeof import("tests/cases/conformance/salsa/b") >module.exports = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >{} : {} @@ -313,7 +313,7 @@ module.exports.func14 = function () { }; >module.exports.func14 = function () { } : () => void >module.exports.func14 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func14 : () => void >function () { } : () => void @@ -323,7 +323,7 @@ exports = module.exports = {}; >exports : typeof import("tests/cases/conformance/salsa/b") >module.exports = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >{} : {} @@ -338,7 +338,7 @@ module.exports.func16 = function () { }; >module.exports.func16 = function () { } : () => void >module.exports.func16 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func16 : () => void >function () { } : () => void @@ -346,7 +346,7 @@ module.exports.func16 = function () { }; module.exports = exports = {}; >module.exports = exports = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >exports = {} : {} >exports : typeof import("tests/cases/conformance/salsa/b") @@ -363,7 +363,7 @@ module.exports.func18 = function () { }; >module.exports.func18 = function () { } : () => void >module.exports.func18 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func18 : () => void >function () { } : () => void @@ -371,7 +371,7 @@ module.exports.func18 = function () { }; module.exports = {}; >module.exports = {} : typeof import("tests/cases/conformance/salsa/b") >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >{} : {} @@ -386,7 +386,7 @@ module.exports.func20 = function () { }; >module.exports.func20 = function () { } : () => void >module.exports.func20 : () => void >module.exports : typeof import("tests/cases/conformance/salsa/b") ->module : { "tests/cases/conformance/salsa/b": typeof import("tests/cases/conformance/salsa/b"); } +>module : { "\"tests/cases/conformance/salsa/b\"": typeof import("tests/cases/conformance/salsa/b"); } >exports : typeof import("tests/cases/conformance/salsa/b") >func20 : () => void >function () { } : () => void diff --git a/tests/baselines/reference/moduleExportAlias2.types b/tests/baselines/reference/moduleExportAlias2.types index 0449561a9d8..44b04455aa4 100644 --- a/tests/baselines/reference/moduleExportAlias2.types +++ b/tests/baselines/reference/moduleExportAlias2.types @@ -38,7 +38,7 @@ exports = module.exports = C >exports : typeof C >module.exports = C : typeof C >module.exports : typeof C ->module : { "tests/cases/conformance/salsa/semver": typeof C; } +>module : { "\"tests/cases/conformance/salsa/semver\"": typeof C; } >exports : typeof C >C : typeof C diff --git a/tests/baselines/reference/moduleExportAlias3.types b/tests/baselines/reference/moduleExportAlias3.types index 1d21df40eab..aaa475e6012 100644 --- a/tests/baselines/reference/moduleExportAlias3.types +++ b/tests/baselines/reference/moduleExportAlias3.types @@ -6,7 +6,7 @@ class C { module.exports = { >module.exports = { C} : { C: typeof C; } >module.exports : { C: typeof C; } ->module : { "tests/cases/conformance/salsa/bug24062": { C: typeof C; }; } +>module : { "\"tests/cases/conformance/salsa/bug24062\"": { C: typeof C; }; } >exports : { C: typeof C; } >{ C} : { C: typeof C; } diff --git a/tests/baselines/reference/moduleExportAlias4.types b/tests/baselines/reference/moduleExportAlias4.types index 1a16b5a09cd..5bf29c9331e 100644 --- a/tests/baselines/reference/moduleExportAlias4.types +++ b/tests/baselines/reference/moduleExportAlias4.types @@ -9,7 +9,7 @@ var wat = require('./bug24024') module.exports = class C {} >module.exports = class C {} : typeof import("tests/cases/conformance/salsa/bug24024") >module.exports : typeof import("tests/cases/conformance/salsa/bug24024") ->module : { "tests/cases/conformance/salsa/bug24024": typeof import("tests/cases/conformance/salsa/bug24024"); } +>module : { "\"tests/cases/conformance/salsa/bug24024\"": typeof import("tests/cases/conformance/salsa/bug24024"); } >exports : typeof import("tests/cases/conformance/salsa/bug24024") >class C {} : typeof import("tests/cases/conformance/salsa/bug24024") >C : typeof import("tests/cases/conformance/salsa/bug24024") @@ -18,7 +18,7 @@ module.exports.D = class D { } >module.exports.D = class D { } : typeof D >module.exports.D : typeof D >module.exports : typeof import("tests/cases/conformance/salsa/bug24024") ->module : { "tests/cases/conformance/salsa/bug24024": typeof import("tests/cases/conformance/salsa/bug24024"); } +>module : { "\"tests/cases/conformance/salsa/bug24024\"": typeof import("tests/cases/conformance/salsa/bug24024"); } >exports : typeof import("tests/cases/conformance/salsa/bug24024") >D : typeof D >class D { } : typeof D diff --git a/tests/baselines/reference/moduleExportAlias5.types b/tests/baselines/reference/moduleExportAlias5.types index b334331c639..e4e0b8b74b3 100644 --- a/tests/baselines/reference/moduleExportAlias5.types +++ b/tests/baselines/reference/moduleExportAlias5.types @@ -9,7 +9,7 @@ exports = module.exports = webpack; >exports : { (): void; WebpackOptionsDefaulter: number; version: number; } >module.exports = webpack : { (): void; WebpackOptionsDefaulter: number; version: number; } >module.exports : { (): void; WebpackOptionsDefaulter: number; version: number; } ->module : { "tests/cases/conformance/salsa/bug24754": { (): void; WebpackOptionsDefaulter: number; version: number; }; } +>module : { "\"tests/cases/conformance/salsa/bug24754\"": { (): void; WebpackOptionsDefaulter: number; version: number; }; } >exports : { (): void; WebpackOptionsDefaulter: number; version: number; } >webpack : { (): void; WebpackOptionsDefaulter: number; } diff --git a/tests/baselines/reference/moduleExportAliasExports.types b/tests/baselines/reference/moduleExportAliasExports.types index 06640be0b6e..d6c015f7f22 100644 --- a/tests/baselines/reference/moduleExportAliasExports.types +++ b/tests/baselines/reference/moduleExportAliasExports.types @@ -22,7 +22,7 @@ exports.everywhere = 2 module.exports = exports >module.exports = exports : typeof import("tests/cases/conformance/salsa/Eloquent") >module.exports : typeof import("tests/cases/conformance/salsa/Eloquent") ->module : { "tests/cases/conformance/salsa/Eloquent": typeof import("tests/cases/conformance/salsa/Eloquent"); } +>module : { "\"tests/cases/conformance/salsa/Eloquent\"": typeof import("tests/cases/conformance/salsa/Eloquent"); } >exports : typeof import("tests/cases/conformance/salsa/Eloquent") >exports : typeof import("tests/cases/conformance/salsa/Eloquent") diff --git a/tests/baselines/reference/moduleExportAliasImported.types b/tests/baselines/reference/moduleExportAliasImported.types index b4d6f4d9031..9fa087f1533 100644 --- a/tests/baselines/reference/moduleExportAliasImported.types +++ b/tests/baselines/reference/moduleExportAliasImported.types @@ -12,7 +12,7 @@ function alias() { } module.exports = alias >module.exports = alias : typeof alias >module.exports : typeof alias ->module : { "tests/cases/conformance/salsa/bug28014": typeof alias; } +>module : { "\"tests/cases/conformance/salsa/bug28014\"": typeof alias; } >exports : typeof alias >alias : typeof alias diff --git a/tests/baselines/reference/moduleExportAliasUnknown.types b/tests/baselines/reference/moduleExportAliasUnknown.types index d84e0fa1989..66f7635d2f0 100644 --- a/tests/baselines/reference/moduleExportAliasUnknown.types +++ b/tests/baselines/reference/moduleExportAliasUnknown.types @@ -2,7 +2,7 @@ module.exports = window.nonprop; >module.exports = window.nonprop : any >module.exports : any ->module : { "tests/cases/conformance/salsa/bug27025": any; } +>module : { "\"tests/cases/conformance/salsa/bug27025\"": any; } >exports : any >window.nonprop : any >window : Window & typeof globalThis diff --git a/tests/baselines/reference/moduleExportAssignment.types b/tests/baselines/reference/moduleExportAssignment.types index a1606ef7c45..54fe7a2e11a 100644 --- a/tests/baselines/reference/moduleExportAssignment.types +++ b/tests/baselines/reference/moduleExportAssignment.types @@ -28,7 +28,7 @@ var npmlog = module.exports = new EE() >npmlog : typeof EE >module.exports = new EE() : typeof EE >module.exports : typeof EE ->module : { "tests/cases/conformance/salsa/npmlog": typeof EE; } +>module : { "\"tests/cases/conformance/salsa/npmlog\"": typeof EE; } >exports : typeof EE >new EE() : EE >EE : typeof EE @@ -44,7 +44,7 @@ module.exports.on('hi') // here too >module.exports.on('hi') : void >module.exports.on : (s: string) => void >module.exports : typeof EE ->module : { "tests/cases/conformance/salsa/npmlog": typeof EE; } +>module : { "\"tests/cases/conformance/salsa/npmlog\"": typeof EE; } >exports : typeof EE >on : (s: string) => void >'hi' : "hi" @@ -60,7 +60,7 @@ module.exports.y = 2 >module.exports.y = 2 : 2 >module.exports.y : number >module.exports : typeof EE ->module : { "tests/cases/conformance/salsa/npmlog": typeof EE; } +>module : { "\"tests/cases/conformance/salsa/npmlog\"": typeof EE; } >exports : typeof EE >y : number >2 : 2 @@ -73,7 +73,7 @@ npmlog.y module.exports.x >module.exports.x : number >module.exports : typeof EE ->module : { "tests/cases/conformance/salsa/npmlog": typeof EE; } +>module : { "\"tests/cases/conformance/salsa/npmlog\"": typeof EE; } >exports : typeof EE >x : number diff --git a/tests/baselines/reference/moduleExportAssignment2.types b/tests/baselines/reference/moduleExportAssignment2.types index 1bc1dcb58dc..bee712fc2b0 100644 --- a/tests/baselines/reference/moduleExportAssignment2.types +++ b/tests/baselines/reference/moduleExportAssignment2.types @@ -3,7 +3,7 @@ var npm = module.exports = function (tree) { >npm : { (tree: any): void; asReadInstalled: (tree: any) => void; } >module.exports = function (tree) {} : { (tree: any): void; asReadInstalled: (tree: any) => void; } >module.exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } ->module : { "tests/cases/conformance/salsa/npm": { (tree: any): void; asReadInstalled: (tree: any) => void; }; } +>module : { "\"tests/cases/conformance/salsa/npm\"": { (tree: any): void; asReadInstalled: (tree: any) => void; }; } >exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } >function (tree) {} : (tree: any) => void >tree : any @@ -12,7 +12,7 @@ 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 : { (tree: any): void; asReadInstalled: (tree: any) => void; } ->module : { "tests/cases/conformance/salsa/npm": { (tree: any): void; asReadInstalled: (tree: any) => void; }; } +>module : { "\"tests/cases/conformance/salsa/npm\"": { (tree: any): void; asReadInstalled: (tree: any) => void; }; } >exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } >asReadInstalled : (tree: any) => void >function (tree) { npm(tree) // both references should be callable module.exports(tree)} : (tree: any) => void @@ -26,7 +26,7 @@ module.exports.asReadInstalled = function (tree) { module.exports(tree) >module.exports(tree) : void >module.exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } ->module : { "tests/cases/conformance/salsa/npm": { (tree: any): void; asReadInstalled: (tree: any) => void; }; } +>module : { "\"tests/cases/conformance/salsa/npm\"": { (tree: any): void; asReadInstalled: (tree: any) => void; }; } >exports : { (tree: any): void; asReadInstalled: (tree: any) => void; } >tree : any } diff --git a/tests/baselines/reference/moduleExportAssignment3.types b/tests/baselines/reference/moduleExportAssignment3.types index 649beaa4ee4..80c99d0a377 100644 --- a/tests/baselines/reference/moduleExportAssignment3.types +++ b/tests/baselines/reference/moduleExportAssignment3.types @@ -13,7 +13,7 @@ mod() // should be callable from here too module.exports = function x() { } >module.exports = function x() { } : () => void >module.exports : () => void ->module : { "tests/cases/conformance/salsa/mod": () => void; } +>module : { "\"tests/cases/conformance/salsa/mod\"": () => void; } >exports : () => void >function x() { } : () => void >x : () => void @@ -21,6 +21,6 @@ module.exports = function x() { } module.exports() // should be callable >module.exports() : void >module.exports : () => void ->module : { "tests/cases/conformance/salsa/mod": () => void; } +>module : { "\"tests/cases/conformance/salsa/mod\"": () => void; } >exports : () => void diff --git a/tests/baselines/reference/moduleExportAssignment4.types b/tests/baselines/reference/moduleExportAssignment4.types index 64f25db234f..16053f1cc41 100644 --- a/tests/baselines/reference/moduleExportAssignment4.types +++ b/tests/baselines/reference/moduleExportAssignment4.types @@ -13,7 +13,7 @@ exports.default = { m: 1, a: 1 } module.exports = exports['default']; >module.exports = exports['default'] : any >module.exports : any ->module : { "tests/cases/conformance/salsa/async": any; } +>module : { "\"tests/cases/conformance/salsa/async\"": any; } >exports : any >exports['default'] : any >exports : any diff --git a/tests/baselines/reference/moduleExportAssignment5.types b/tests/baselines/reference/moduleExportAssignment5.types index 646cedfb4c4..b4b6370be07 100644 --- a/tests/baselines/reference/moduleExportAssignment5.types +++ b/tests/baselines/reference/moduleExportAssignment5.types @@ -22,7 +22,7 @@ axios.m() module.exports = axios; >module.exports = axios : typeof Axios >module.exports : typeof Axios ->module : { "tests/cases/conformance/salsa/axios": typeof Axios; } +>module : { "\"tests/cases/conformance/salsa/axios\"": typeof Axios; } >exports : typeof Axios >axios : Axios @@ -30,7 +30,7 @@ module.exports.default = axios; >module.exports.default = axios : Axios >module.exports.default : Axios >module.exports : typeof Axios ->module : { "tests/cases/conformance/salsa/axios": typeof Axios; } +>module : { "\"tests/cases/conformance/salsa/axios\"": typeof Axios; } >exports : typeof Axios >default : Axios >axios : Axios diff --git a/tests/baselines/reference/moduleExportNestedNamespaces.types b/tests/baselines/reference/moduleExportNestedNamespaces.types index 31309b7b3cd..0d1685b2530 100644 --- a/tests/baselines/reference/moduleExportNestedNamespaces.types +++ b/tests/baselines/reference/moduleExportNestedNamespaces.types @@ -3,7 +3,7 @@ module.exports.n = {}; >module.exports.n = {} : typeof n >module.exports.n : typeof n >module.exports : typeof import("tests/cases/conformance/salsa/mod") ->module : { "tests/cases/conformance/salsa/mod": typeof import("tests/cases/conformance/salsa/mod"); } +>module : { "\"tests/cases/conformance/salsa/mod\"": typeof import("tests/cases/conformance/salsa/mod"); } >exports : typeof import("tests/cases/conformance/salsa/mod") >n : typeof n >{} : {} @@ -13,7 +13,7 @@ module.exports.n.K = function C() { >module.exports.n.K : typeof C >module.exports.n : typeof n >module.exports : typeof import("tests/cases/conformance/salsa/mod") ->module : { "tests/cases/conformance/salsa/mod": typeof import("tests/cases/conformance/salsa/mod"); } +>module : { "\"tests/cases/conformance/salsa/mod\"": typeof import("tests/cases/conformance/salsa/mod"); } >exports : typeof import("tests/cases/conformance/salsa/mod") >n : typeof n >K : typeof C @@ -31,7 +31,7 @@ module.exports.Classic = class { >module.exports.Classic = class { constructor() { this.p = 1 }} : typeof Classic >module.exports.Classic : typeof Classic >module.exports : typeof import("tests/cases/conformance/salsa/mod") ->module : { "tests/cases/conformance/salsa/mod": typeof import("tests/cases/conformance/salsa/mod"); } +>module : { "\"tests/cases/conformance/salsa/mod\"": typeof import("tests/cases/conformance/salsa/mod"); } >exports : typeof import("tests/cases/conformance/salsa/mod") >Classic : typeof Classic >class { constructor() { this.p = 1 }} : typeof Classic diff --git a/tests/baselines/reference/moduleExportPropertyAssignmentDefault.types b/tests/baselines/reference/moduleExportPropertyAssignmentDefault.types index cc78e2681bf..ee1f2dfeb2b 100644 --- a/tests/baselines/reference/moduleExportPropertyAssignmentDefault.types +++ b/tests/baselines/reference/moduleExportPropertyAssignmentDefault.types @@ -6,7 +6,7 @@ var axios = {} module.exports = axios // both assignments should be ok >module.exports = axios : typeof axios >module.exports : typeof axios ->module : { "tests/cases/conformance/salsa/axios": typeof axios; } +>module : { "\"tests/cases/conformance/salsa/axios\"": typeof axios; } >exports : typeof axios >axios : typeof axios @@ -14,7 +14,7 @@ module.exports.default = axios >module.exports.default = axios : typeof axios >module.exports.default : typeof axios >module.exports : typeof axios ->module : { "tests/cases/conformance/salsa/axios": typeof axios; } +>module : { "\"tests/cases/conformance/salsa/axios\"": typeof axios; } >exports : typeof axios >default : typeof axios >axios : typeof axios diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types index c608ae0a91f..21dc567a685 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types @@ -30,7 +30,7 @@ declare function require(name: string): any; module.exports = function () { } >module.exports = function () { } : { (): void; f: (a: number) => void; } >module.exports : { (): void; f: (a: number) => void; } ->module : { "tests/cases/conformance/salsa/mod1": { (): void; f: (a: number) => void; }; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": { (): void; f: (a: number) => void; }; } >exports : { (): void; f: (a: number) => void; } >function () { } : () => void @@ -39,7 +39,7 @@ module.exports.f = function (a) { } >module.exports.f = function (a) { } : (a: number) => void >module.exports.f : (a: number) => void >module.exports : { (): void; f: (a: number) => void; } ->module : { "tests/cases/conformance/salsa/mod1": { (): void; f: (a: number) => void; }; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": { (): void; f: (a: number) => void; }; } >exports : { (): void; f: (a: number) => void; } >f : (a: number) => void >function (a) { } : (a: number) => void diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types index 3e10c04bc69..58ef2440b47 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types @@ -33,7 +33,7 @@ declare function require(name: string): any; module.exports = 1 >module.exports = 1 : number >module.exports : number ->module : { "tests/cases/conformance/salsa/mod1": number; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": number; } >exports : number >1 : 1 @@ -41,7 +41,7 @@ module.exports.f = function () { } >module.exports.f = function () { } : () => void >module.exports.f : any >module.exports : number ->module : { "tests/cases/conformance/salsa/mod1": number; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": number; } >exports : number >f : any >function () { } : () => void diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types index 90729191313..d627b9f6de1 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types @@ -52,7 +52,7 @@ module.exports.bothBefore = 'string' >module.exports.bothBefore = 'string' : "string" >module.exports.bothBefore : string | number >module.exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } ->module : { "tests/cases/conformance/salsa/mod1": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } >exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } >bothBefore : string | number >'string' : "string" @@ -60,7 +60,7 @@ module.exports.bothBefore = 'string' module.exports = { >module.exports = { justExport: 1, bothBefore: 2, bothAfter: 3,} : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } >module.exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } ->module : { "tests/cases/conformance/salsa/mod1": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } >exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } >{ justExport: 1, bothBefore: 2, bothAfter: 3,} : { justExport: number; bothBefore: number; bothAfter: number; } @@ -80,7 +80,7 @@ module.exports.bothAfter = 'string' >module.exports.bothAfter = 'string' : "string" >module.exports.bothAfter : string | number >module.exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } ->module : { "tests/cases/conformance/salsa/mod1": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } >exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } >bothAfter : string | number >'string' : "string" @@ -89,7 +89,7 @@ module.exports.justProperty = 'string' >module.exports.justProperty = 'string' : "string" >module.exports.justProperty : string >module.exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } ->module : { "tests/cases/conformance/salsa/mod1": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; }; } >exports : { justExport: number; bothBefore: string | number; bothAfter: string | number; justProperty: string; } >justProperty : string >'string' : "string" diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types index 67285b7a296..41b03e786d0 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types @@ -52,7 +52,7 @@ module.exports.bothBefore = 'string' >module.exports.bothBefore = 'string' : "string" >module.exports.bothBefore : string | number >module.exports : typeof A ->module : { "tests/cases/conformance/salsa/mod1": typeof A; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": typeof A; } >exports : typeof A >bothBefore : string | number >'string' : "string" @@ -81,7 +81,7 @@ A.bothAfter = 3 module.exports = A >module.exports = A : typeof A >module.exports : typeof A ->module : { "tests/cases/conformance/salsa/mod1": typeof A; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": typeof A; } >exports : typeof A >A : typeof A @@ -99,7 +99,7 @@ module.exports.bothAfter = 'string' >module.exports.bothAfter = 'string' : "string" >module.exports.bothAfter : string | number >module.exports : typeof A ->module : { "tests/cases/conformance/salsa/mod1": typeof A; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": typeof A; } >exports : typeof A >bothAfter : string | number >'string' : "string" @@ -108,7 +108,7 @@ module.exports.justProperty = 'string' >module.exports.justProperty = 'string' : "string" >module.exports.justProperty : string >module.exports : typeof A ->module : { "tests/cases/conformance/salsa/mod1": typeof A; } +>module : { "\"tests/cases/conformance/salsa/mod1\"": typeof A; } >exports : typeof A >justProperty : string >'string' : "string" diff --git a/tests/baselines/reference/moduleExportsElementAccessAssignment.types b/tests/baselines/reference/moduleExportsElementAccessAssignment.types index 576bc227317..39ff18ddd34 100644 --- a/tests/baselines/reference/moduleExportsElementAccessAssignment.types +++ b/tests/baselines/reference/moduleExportsElementAccessAssignment.types @@ -69,7 +69,7 @@ module.exports["c"] = { x: "x" }; >module.exports["c"] = { x: "x" } : { x: string; } >module.exports["c"] : { x: string; } >module.exports : typeof import("tests/cases/conformance/jsdoc/mod1") ->module : { "tests/cases/conformance/jsdoc/mod1": typeof import("tests/cases/conformance/jsdoc/mod1"); } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof import("tests/cases/conformance/jsdoc/mod1"); } >exports : typeof import("tests/cases/conformance/jsdoc/mod1") >"c" : "c" >{ x: "x" } : { x: string; } @@ -80,7 +80,7 @@ module["exports"]["d"] = {}; >module["exports"]["d"] = {} : typeof "d" >module["exports"]["d"] : typeof "d" >module["exports"] : typeof import("tests/cases/conformance/jsdoc/mod1") ->module : { "tests/cases/conformance/jsdoc/mod1": typeof import("tests/cases/conformance/jsdoc/mod1"); } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof import("tests/cases/conformance/jsdoc/mod1"); } >"exports" : "exports" >"d" : "d" >{} : {} @@ -90,7 +90,7 @@ module["exports"]["d"].e = 0; >module["exports"]["d"].e : number >module["exports"]["d"] : typeof "d" >module["exports"] : typeof import("tests/cases/conformance/jsdoc/mod1") ->module : { "tests/cases/conformance/jsdoc/mod1": typeof import("tests/cases/conformance/jsdoc/mod1"); } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof import("tests/cases/conformance/jsdoc/mod1"); } >"exports" : "exports" >"d" : "d" >e : number diff --git a/tests/baselines/reference/multipleNumericIndexers.types b/tests/baselines/reference/multipleNumericIndexers.types index 1223f5bb002..60a88222718 100644 --- a/tests/baselines/reference/multipleNumericIndexers.types +++ b/tests/baselines/reference/multipleNumericIndexers.types @@ -39,7 +39,7 @@ var b: { >x : number } = { 1: '', "2": '' } ->{ 1: '', "2": '' } : { 1: string; "2": string; } +>{ 1: '', "2": '' } : { 1: string; 2: string; } >1 : string >'' : "" >"2" : string diff --git a/tests/baselines/reference/noImplicitAnyIndexing.types b/tests/baselines/reference/noImplicitAnyIndexing.types index 2bd27cb0c0b..ad505a3eb57 100644 --- a/tests/baselines/reference/noImplicitAnyIndexing.types +++ b/tests/baselines/reference/noImplicitAnyIndexing.types @@ -82,7 +82,7 @@ interface MyMap { var m: MyMap = { >m : MyMap ->{ "0": 0, "1": 1, "2": 2, "Okay that's enough for today.": NaN} : { "0": number; "1": number; "2": number; "Okay that's enough for today.": number; } +>{ "0": 0, "1": 1, "2": 2, "Okay that's enough for today.": NaN} : { 0: number; 1: number; 2: number; "Okay that's enough for today.": number; } "0": 0, >"0" : number diff --git a/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types b/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types index fe10152e90c..b1259fabf03 100644 --- a/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types +++ b/tests/baselines/reference/noImplicitAnyIndexingSuppressed.types @@ -81,7 +81,7 @@ interface MyMap { var m: MyMap = { >m : MyMap ->{ "0": 0, "1": 1, "2": 2, "Okay that's enough for today.": NaN} : { "0": number; "1": number; "2": number; "Okay that's enough for today.": number; } +>{ "0": 0, "1": 1, "2": 2, "Okay that's enough for today.": NaN} : { 0: number; 1: number; 2: number; "Okay that's enough for today.": number; } "0": 0, >"0" : number diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.types b/tests/baselines/reference/normalizedIntersectionTooComplex.types index 6750b0b0c73..77252708a0b 100644 --- a/tests/baselines/reference/normalizedIntersectionTooComplex.types +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.types @@ -20,112 +20,112 @@ type CtorOf = (arg: UnionToIntersection) => T; interface Big { "0": { common?: string; "0"?: number, ref?: Obj | Func; } ->"0" : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } +>"0" : { common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"0" : number | undefined ->ref : Obj<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "1": { common?: string; "1"?: number, ref?: Obj | Func; } ->"1" : { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } +>"1" : { common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"1" : number | undefined ->ref : Obj<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "2": { common?: string; "2"?: number, ref?: Obj | Func; } ->"2" : { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } +>"2" : { common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"2" : number | undefined ->ref : Obj<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "3": { common?: string; "3"?: number, ref?: Obj | Func; } ->"3" : { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } +>"3" : { common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"3" : number | undefined ->ref : Obj<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "4": { common?: string; "4"?: number, ref?: Obj | Func; } ->"4" : { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } +>"4" : { common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"4" : number | undefined ->ref : Obj<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "5": { common?: string; "5"?: number, ref?: Obj | Func; } ->"5" : { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } +>"5" : { common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"5" : number | undefined ->ref : Obj<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "6": { common?: string; "6"?: number, ref?: Obj | Func; } ->"6" : { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } +>"6" : { common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"6" : number | undefined ->ref : Obj<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "7": { common?: string; "7"?: number, ref?: Obj | Func; } ->"7" : { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } +>"7" : { common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"7" : number | undefined ->ref : Obj<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "8": { common?: string; "8"?: number, ref?: Obj | Func; } ->"8" : { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } +>"8" : { common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"8" : number | undefined ->ref : Obj<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "9": { common?: string; "9"?: number, ref?: Obj | Func; } ->"9" : { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } +>"9" : { common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"9" : number | undefined ->ref : Obj<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "10": { common?: string; "10"?: number, ref?: Obj | Func; } ->"10" : { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } +>"10" : { common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"10" : number | undefined ->ref : Obj<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "11": { common?: string; "11"?: number, ref?: Obj | Func; } ->"11" : { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } +>"11" : { common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"11" : number | undefined ->ref : Obj<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "12": { common?: string; "12"?: number, ref?: Obj | Func; } ->"12" : { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } +>"12" : { common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"12" : number | undefined ->ref : Obj<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "13": { common?: string; "13"?: number, ref?: Obj | Func; } ->"13" : { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } +>"13" : { common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"13" : number | undefined ->ref : Obj<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "14": { common?: string; "14"?: number, ref?: Obj | Func; } ->"14" : { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } +>"14" : { common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"14" : number | undefined ->ref : Obj<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "15": { common?: string; "15"?: number, ref?: Obj | Func; } ->"15" : { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } +>"15" : { common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"15" : number | undefined ->ref : Obj<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "16": { common?: string; "16"?: number, ref?: Obj | Func; } ->"16" : { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } +>"16" : { common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"16" : number | undefined ->ref : Obj<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; }> | undefined "17": { common?: string; "17"?: number, ref?: Obj | Func; } ->"17" : { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } +>"17" : { common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; } >common : string | undefined >"17" : number | undefined ->ref : Obj<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +>ref : Obj<{ common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; }> | undefined } declare function getCtor(comp: T): CtorOf >getCtor : (comp: T) => CtorOf @@ -135,15 +135,15 @@ declare var all: keyof Big; >all : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" const ctor = getCtor(all); ->ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> ->getCtor(all) : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> +>ctor : CtorOf<{ common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; }> +>getCtor(all) : CtorOf<{ common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; }> >getCtor : (comp: T) => CtorOf >all : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" const comp = ctor({ common: "ok", ref: x => console.log(x) }); ->comp : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } ->ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } ->ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> +>comp : { common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; } +>ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; } +>ctor : CtorOf<{ common?: string | undefined; 0?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 1?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 2?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 3?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 4?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 5?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 6?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 7?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 8?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 9?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 10?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 11?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 12?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 13?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 14?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 15?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 16?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; 17?: number | undefined; ref?: Obj | Func | undefined; }> >{ common: "ok", ref: x => console.log(x) } : { common: string; ref: (x: any) => void; } >common : string >"ok" : "ok" diff --git a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.types b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.types index cc250cb5240..fa10483fe8f 100644 --- a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.types +++ b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.types @@ -121,7 +121,7 @@ interface I { } var a: { ->a : { (): string; (x: any): number; [x: number]: string; a: string; b: number; c: () => {}; "d": string; "e": number; 1.0: string; 2.0: number; foo(): string; "3.0": string; "4.0": number; f: MyNumber; } +>a : { (): string; (x: any): number; [x: number]: string; a: string; b: number; c: () => {}; d: string; e: number; 1: string; 2: number; foo(): string; "3.0": string; "4.0": number; f: MyNumber; } [x: number]: string; >x : number @@ -168,7 +168,7 @@ var a: { var b: { [x: number]: string; } = { >b : { [x: number]: string; } >x : number ->{ a: '', b: 1, c: () => { }, "d": '', "e": 1, 1.0: '', 2.0: 1, "3.0": '', "4.0": 1, f: null, get X() { return ''; }, set X(v) { }, foo() { return ''; }} : { a: string; b: number; c: () => void; "d": string; "e": number; 1.0: string; 2.0: number; "3.0": string; "4.0": number; f: any; X: string; foo(): string; } +>{ a: '', b: 1, c: () => { }, "d": '', "e": 1, 1.0: '', 2.0: 1, "3.0": '', "4.0": 1, f: null, get X() { return ''; }, set X(v) { }, foo() { return ''; }} : { a: string; b: number; c: () => void; d: string; e: number; 1: string; 2: number; "3.0": string; "4.0": number; f: any; X: string; foo(): string; } a: '', >a : string diff --git a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.types b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.types index 5b9cf9c17b5..06e80485a2b 100644 --- a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.types +++ b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.types @@ -61,7 +61,7 @@ interface Foo2 { } var a: { ->a : { [x: number]: A; 1.0: A; 2.0: B; "2.5": B; 3.0: number; "4.0": string; } +>a : { [x: number]: A; 1: A; 2: B; 2.5: B; 3: number; "4.0": string; } [x: number]: A; >x : number @@ -87,7 +87,7 @@ var a: { var b: { [x: number]: A } = { >b : { [x: number]: A; } >x : number ->{ 1.0: new A(), 2.0: new B(), "2.5": new B(), 3.0: 1, "4.0": ''} : { 1.0: A; 2.0: B; "2.5": B; 3.0: number; "4.0": string; } +>{ 1.0: new A(), 2.0: new B(), "2.5": new B(), 3.0: 1, "4.0": ''} : { 1: A; 2: B; 2.5: B; 3: number; "4.0": string; } 1.0: new A(), >1.0 : A diff --git a/tests/baselines/reference/numericIndexingResults.types b/tests/baselines/reference/numericIndexingResults.types index f4e0d168e6e..ebaee185cf8 100644 --- a/tests/baselines/reference/numericIndexingResults.types +++ b/tests/baselines/reference/numericIndexingResults.types @@ -104,7 +104,7 @@ var r6 = i[3]; >3 : 3 var a: { ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } [x: number]: string; >x : number @@ -119,43 +119,43 @@ var a: { var r1 = a['1']; >r1 : string >a['1'] : string ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } >'1' : "1" var r2 = a['2']; >r2 : string >a['2'] : string ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } >'2' : "2" var r3 = a['3']; >r3 : error >a['3'] : error ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } >'3' : "3" var r4 = a[1]; >r4 : string >a[1] : string ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } >1 : 1 var r5 = a[2]; >r5 : string >a[2] : string ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } >2 : 2 var r6 = a[3]; >r6 : string >a[3] : string ->a : { [x: number]: string; 1: string; "2": string; } +>a : { [x: number]: string; 1: string; 2: string; } >3 : 3 var b: { [x: number]: string } = { 1: '', "2": '' } >b : { [x: number]: string; } >x : number ->{ 1: '', "2": '' } : { 1: string; "2": string; } +>{ 1: '', "2": '' } : { 1: string; 2: string; } >1 : string >'' : "" >"2" : string @@ -198,11 +198,11 @@ var r6 = b[3]; >3 : 3 var b2: { [x: number]: string; 1: string; "2": string; } = { 1: '', "2": '' } ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >x : number >1 : string >"2" : string ->{ 1: '', "2": '' } : { 1: string; "2": string; } +>{ 1: '', "2": '' } : { 1: string; 2: string; } >1 : string >'' : "" >"2" : string @@ -211,36 +211,36 @@ var b2: { [x: number]: string; 1: string; "2": string; } = { 1: '', "2": '' } var r1b = b2['1']; >r1b : string >b2['1'] : string ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >'1' : "1" var r2b = b2['2']; >r2b : string >b2['2'] : string ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >'2' : "2" var r3 = b2['3']; >r3 : error >b2['3'] : error ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >'3' : "3" var r4 = b2[1]; >r4 : string >b2[1] : string ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >1 : 1 var r5 = b2[2]; >r5 : string >b2[2] : string ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >2 : 2 var r6 = b2[3]; >r6 : string >b2[3] : string ->b2 : { [x: number]: string; 1: string; "2": string; } +>b2 : { [x: number]: string; 1: string; 2: string; } >3 : 3 diff --git a/tests/baselines/reference/numericStringNamedPropertyEquivalence.types b/tests/baselines/reference/numericStringNamedPropertyEquivalence.types index 25e6e0c7a5e..3c9ea6e4a5b 100644 --- a/tests/baselines/reference/numericStringNamedPropertyEquivalence.types +++ b/tests/baselines/reference/numericStringNamedPropertyEquivalence.types @@ -26,7 +26,7 @@ interface I { } var a: { ->a : { "1": number; } +>a : { 1: number; } "1": number; >"1" : number @@ -36,8 +36,8 @@ var a: { } var b = { ->b : { "0": string; } ->{ "0": '', 0: ''} : { "0": string; } +>b : { 0: string; } +>{ "0": '', 0: ''} : { 0: string; } "0": '', >"0" : string diff --git a/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.js b/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.js index 8f9b43d091d..6bafa8cc53f 100644 --- a/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.js +++ b/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.js @@ -24,6 +24,6 @@ declare const Foo: { BANANA: "banana"; }; export declare const Baa: { - [Foo.BANANA]: number; + banana: number; }; export {}; diff --git a/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.types b/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.types index 17ef7ff584d..7e7e7901a8c 100644 --- a/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.types +++ b/tests/baselines/reference/objectLiteralComputedNameNoDeclarationError.types @@ -10,8 +10,8 @@ const Foo = { } export const Baa = { ->Baa : { [Foo.BANANA]: number; } ->{ [Foo.BANANA]: 1} : { [Foo.BANANA]: number; } +>Baa : { banana: number; } +>{ [Foo.BANANA]: 1} : { banana: number; } [Foo.BANANA]: 1 >[Foo.BANANA] : number diff --git a/tests/baselines/reference/objectLiteralEnumPropertyNames.types b/tests/baselines/reference/objectLiteralEnumPropertyNames.types index 9753239fa90..f3efed14884 100644 --- a/tests/baselines/reference/objectLiteralEnumPropertyNames.types +++ b/tests/baselines/reference/objectLiteralEnumPropertyNames.types @@ -16,7 +16,7 @@ type TestStrs = { [key in Strs]: string } const x: TestStrs = { >x : TestStrs ->{ [Strs.A]: 'xo', [Strs.B]: 'xe'} : { [Strs.A]: string; [Strs.B]: string; } +>{ [Strs.A]: 'xo', [Strs.B]: 'xe'} : { a: string; b: string; } [Strs.A]: 'xo', >[Strs.A] : string @@ -33,8 +33,8 @@ const x: TestStrs = { >'xe' : "xe" } const ux = { ->ux : { [Strs.A]: string; [Strs.B]: string; } ->{ [Strs.A]: 'xo', [Strs.B]: 'xe'} : { [Strs.A]: string; [Strs.B]: string; } +>ux : { a: string; b: string; } +>{ [Strs.A]: 'xo', [Strs.B]: 'xe'} : { a: string; b: string; } [Strs.A]: 'xo', >[Strs.A] : string @@ -52,7 +52,7 @@ const ux = { } const y: TestStrs = { >y : TestStrs ->{ ['a']: 'yo', ['b']: 'ye'} : { ['a']: string; ['b']: string; } +>{ ['a']: 'yo', ['b']: 'ye'} : { a: string; b: string; } ['a']: 'yo', >['a'] : string @@ -74,7 +74,7 @@ const b = 'b'; const z: TestStrs = { >z : TestStrs ->{ [a]: 'zo', [b]: 'ze'} : { [a]: string; [b]: string; } +>{ [a]: 'zo', [b]: 'ze'} : { a: string; b: string; } [a]: 'zo', >[a] : string @@ -87,8 +87,8 @@ const z: TestStrs = { >'ze' : "ze" } const uz = { ->uz : { [a]: string; [b]: string; } ->{ [a]: 'zo', [b]: 'ze'} : { [a]: string; [b]: string; } +>uz : { a: string; b: string; } +>{ [a]: 'zo', [b]: 'ze'} : { a: string; b: string; } [a]: 'zo', >[a] : string @@ -117,7 +117,7 @@ type TestNums = { 0: number, 1: number } const n: TestNums = { >n : TestNums ->{ [Nums.A]: 1, [Nums.B]: 2} : { [Nums.A]: number; [Nums.B]: number; } +>{ [Nums.A]: 1, [Nums.B]: 2} : { 0: number; 1: number; } [Nums.A]: 1, >[Nums.A] : number @@ -134,8 +134,8 @@ const n: TestNums = { >2 : 2 } const un = { ->un : { [Nums.A]: number; [Nums.B]: number; } ->{ [Nums.A]: 3, [Nums.B]: 4} : { [Nums.A]: number; [Nums.B]: number; } +>un : { 0: number; 1: number; } +>{ [Nums.A]: 3, [Nums.B]: 4} : { 0: number; 1: number; } [Nums.A]: 3, >[Nums.A] : number @@ -161,7 +161,7 @@ const bn = 1; const m: TestNums = { >m : TestNums ->{ [an]: 5, [bn]: 6} : { [an]: number; [bn]: number; } +>{ [an]: 5, [bn]: 6} : { 0: number; 1: number; } [an]: 5, >[an] : number @@ -174,8 +174,8 @@ const m: TestNums = { >6 : 6 } const um = { ->um : { [an]: number; [bn]: number; } ->{ [an]: 7, [bn]: 8} : { [an]: number; [bn]: number; } +>um : { 0: number; 1: number; } +>{ [an]: 7, [bn]: 8} : { 0: number; 1: number; } [an]: 7, >[an] : number diff --git a/tests/baselines/reference/objectLiteralErrors.types b/tests/baselines/reference/objectLiteralErrors.types index 800ab2fe8d0..d0e3349a32d 100644 --- a/tests/baselines/reference/objectLiteralErrors.types +++ b/tests/baselines/reference/objectLiteralErrors.types @@ -49,40 +49,40 @@ var e6 = { a: 0, 'a': 0 }; >0 : 0 var e7 = { 'a': 0, a: 0 }; ->e7 : { 'a': number; } ->{ 'a': 0, a: 0 } : { 'a': number; } +>e7 : { a: number; } +>{ 'a': 0, a: 0 } : { a: number; } >'a' : number >0 : 0 >a : number >0 : 0 var e8 = { 'a': 0, "a": 0 }; ->e8 : { 'a': number; } ->{ 'a': 0, "a": 0 } : { 'a': number; } +>e8 : { a: number; } +>{ 'a': 0, "a": 0 } : { a: number; } >'a' : number >0 : 0 >"a" : number >0 : 0 var e9 = { 'a': 0, 'a': 0 }; ->e9 : { 'a': number; } ->{ 'a': 0, 'a': 0 } : { 'a': number; } +>e9 : { a: number; } +>{ 'a': 0, 'a': 0 } : { a: number; } >'a' : number >0 : 0 >'a' : number >0 : 0 var e10 = { "a": 0, 'a': 0 }; ->e10 : { "a": number; } ->{ "a": 0, 'a': 0 } : { "a": number; } +>e10 : { a: number; } +>{ "a": 0, 'a': 0 } : { a: number; } >"a" : number >0 : 0 >'a' : number >0 : 0 var e11 = { 1.0: 0, '1': 0 }; ->e11 : { 1.0: number; } ->{ 1.0: 0, '1': 0 } : { 1.0: number; } +>e11 : { 1: number; } +>{ 1.0: 0, '1': 0 } : { 1: number; } >1.0 : number >0 : 0 >'1' : number @@ -121,16 +121,16 @@ var e14 = { 0: 0, 000: 0 }; >0 : 0 var e15 = { "100": 0, 1e2: 0 }; ->e15 : { "100": number; } ->{ "100": 0, 1e2: 0 } : { "100": number; } +>e15 : { 100: number; } +>{ "100": 0, 1e2: 0 } : { 100: number; } >"100" : number >0 : 0 >1e2 : number >0 : 0 var e16 = { 0x20: 0, 3.2e1: 0 }; ->e16 : { 0x20: number; } ->{ 0x20: 0, 3.2e1: 0 } : { 0x20: number; } +>e16 : { 32: number; } +>{ 0x20: 0, 3.2e1: 0 } : { 32: number; } >0x20 : number >0 : 0 >3.2e1 : number @@ -188,8 +188,8 @@ var f5 = { a: {}, get a() { return {}; } }; >{} : {} var f6 = { a: 0, get 'a'() { return 0; } }; ->f6 : { readonly 'a': number; } ->{ a: 0, get 'a'() { return 0; } } : { readonly 'a': number; } +>f6 : { readonly a: number; } +>{ a: 0, get 'a'() { return 0; } } : { readonly a: number; } >a : number >0 : 0 >'a' : number @@ -204,32 +204,32 @@ var f7 = { 'a': 0, get a() { return 0; } }; >0 : 0 var f8 = { 'a': 0, get "a"() { return 0; } }; ->f8 : { readonly "a": number; } ->{ 'a': 0, get "a"() { return 0; } } : { readonly "a": number; } +>f8 : { readonly a: number; } +>{ 'a': 0, get "a"() { return 0; } } : { readonly a: number; } >'a' : number >0 : 0 >"a" : number >0 : 0 var f9 = { 'a': 0, get 'a'() { return 0; } }; ->f9 : { readonly 'a': number; } ->{ 'a': 0, get 'a'() { return 0; } } : { readonly 'a': number; } +>f9 : { readonly a: number; } +>{ 'a': 0, get 'a'() { return 0; } } : { readonly a: number; } >'a' : number >0 : 0 >'a' : number >0 : 0 var f10 = { "a": 0, get 'a'() { return 0; } }; ->f10 : { readonly 'a': number; } ->{ "a": 0, get 'a'() { return 0; } } : { readonly 'a': number; } +>f10 : { readonly a: number; } +>{ "a": 0, get 'a'() { return 0; } } : { readonly a: number; } >"a" : number >0 : 0 >'a' : number >0 : 0 var f11 = { 1.0: 0, get '1'() { return 0; } }; ->f11 : { readonly '1': number; } ->{ 1.0: 0, get '1'() { return 0; } } : { readonly '1': number; } +>f11 : { readonly 1: number; } +>{ 1.0: 0, get '1'() { return 0; } } : { readonly 1: number; } >1.0 : number >0 : 0 >'1' : number @@ -252,32 +252,32 @@ var f13 = { 0: 0, get 0() { return 0; } }; >0 : 0 var f14 = { 0: 0, get 0x0() { return 0; } }; ->f14 : { readonly 0x0: number; } ->{ 0: 0, get 0x0() { return 0; } } : { readonly 0x0: number; } +>f14 : { readonly 0: number; } +>{ 0: 0, get 0x0() { return 0; } } : { readonly 0: number; } >0 : number >0 : 0 >0x0 : number >0 : 0 var f14 = { 0: 0, get 000() { return 0; } }; ->f14 : { readonly 0x0: number; } ->{ 0: 0, get 000() { return 0; } } : { readonly 000: number; } +>f14 : { readonly 0: number; } +>{ 0: 0, get 000() { return 0; } } : { readonly 0: number; } >0 : number >0 : 0 >000 : number >0 : 0 var f15 = { "100": 0, get 1e2() { return 0; } }; ->f15 : { readonly 1e2: number; } ->{ "100": 0, get 1e2() { return 0; } } : { readonly 1e2: number; } +>f15 : { readonly 100: number; } +>{ "100": 0, get 1e2() { return 0; } } : { readonly 100: number; } >"100" : number >0 : 0 >1e2 : number >0 : 0 var f16 = { 0x20: 0, get 3.2e1() { return 0; } }; ->f16 : { readonly 3.2e1: number; } ->{ 0x20: 0, get 3.2e1() { return 0; } } : { readonly 3.2e1: number; } +>f16 : { readonly 32: number; } +>{ 0x20: 0, get 3.2e1() { return 0; } } : { readonly 32: number; } >0x20 : number >0 : 0 >3.2e1 : number diff --git a/tests/baselines/reference/objectLiteralExcessProperties.types b/tests/baselines/reference/objectLiteralExcessProperties.types index 812f48c8904..1ba6dffff0b 100644 --- a/tests/baselines/reference/objectLiteralExcessProperties.types +++ b/tests/baselines/reference/objectLiteralExcessProperties.types @@ -84,7 +84,7 @@ interface Indexed { var b10: Indexed = { 0: { }, '1': { } }; // ok >b10 : Indexed ->{ 0: { }, '1': { } } : { 0: {}; '1': {}; } +>{ 0: { }, '1': { } } : { 0: {}; 1: {}; } >0 : {} >{ } : {} >'1' : {} diff --git a/tests/baselines/reference/objectLiteralGettersAndSetters.types b/tests/baselines/reference/objectLiteralGettersAndSetters.types index 14e29248b2b..99a75460947 100644 --- a/tests/baselines/reference/objectLiteralGettersAndSetters.types +++ b/tests/baselines/reference/objectLiteralGettersAndSetters.types @@ -1,8 +1,8 @@ === tests/cases/conformance/expressions/objectLiterals/objectLiteralGettersAndSetters.ts === // Get and set accessor with the same name var sameName1a = { get 'a'() { return ''; }, set a(n) { var p = n; var p: string; } }; ->sameName1a : { 'a': string; } ->{ get 'a'() { return ''; }, set a(n) { var p = n; var p: string; } } : { 'a': string; } +>sameName1a : { a: string; } +>{ get 'a'() { return ''; }, set a(n) { var p = n; var p: string; } } : { a: string; } >'a' : string >'' : "" >a : string @@ -12,8 +12,8 @@ var sameName1a = { get 'a'() { return ''; }, set a(n) { var p = n; var p: string >p : string var sameName2a = { get 0.0() { return ''; }, set 0(n) { var p = n; var p: string; } }; ->sameName2a : { 0.0: string; } ->{ get 0.0() { return ''; }, set 0(n) { var p = n; var p: string; } } : { 0.0: string; } +>sameName2a : { 0: string; } +>{ get 0.0() { return ''; }, set 0(n) { var p = n; var p: string; } } : { 0: string; } >0.0 : string >'' : "" >0 : string @@ -23,8 +23,8 @@ var sameName2a = { get 0.0() { return ''; }, set 0(n) { var p = n; var p: string >p : string var sameName3a = { get 0x20() { return ''; }, set 3.2e1(n) { var p = n; var p: string; } }; ->sameName3a : { 0x20: string; } ->{ get 0x20() { return ''; }, set 3.2e1(n) { var p = n; var p: string; } } : { 0x20: string; } +>sameName3a : { 32: string; } +>{ get 0x20() { return ''; }, set 3.2e1(n) { var p = n; var p: string; } } : { 32: string; } >0x20 : string >'' : "" >3.2e1 : string @@ -34,8 +34,8 @@ var sameName3a = { get 0x20() { return ''; }, set 3.2e1(n) { var p = n; var p: s >p : string var sameName4a = { get ''() { return ''; }, set ""(n) { var p = n; var p: string; } }; ->sameName4a : { '': string; } ->{ get ''() { return ''; }, set ""(n) { var p = n; var p: string; } } : { '': string; } +>sameName4a : { "": string; } +>{ get ''() { return ''; }, set ""(n) { var p = n; var p: string; } } : { "": string; } >'' : string >'' : "" >"" : string @@ -56,8 +56,8 @@ var sameName5a = { get '\t'() { return ''; }, set '\t'(n) { var p = n; var p: st >p : string var sameName6a = { get 'a'() { return ''; }, set a(n) { var p = n; var p: string; } }; ->sameName6a : { 'a': string; } ->{ get 'a'() { return ''; }, set a(n) { var p = n; var p: string; } } : { 'a': string; } +>sameName6a : { a: string; } +>{ get 'a'() { return ''; }, set a(n) { var p = n; var p: string; } } : { a: string; } >'a' : string >'' : "" >a : string diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.types b/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.types index 3782c70fe97..05279d855fd 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.types @@ -1,8 +1,8 @@ === tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.ts === // errors var y = { ->y : { "stringLiteral": any; 42: any; readonly e: void; f: any; this: any; super: any; var: any; class: any; typeof: any; } ->{ "stringLiteral", 42, get e, set f, this, super, var, class, typeof} : { "stringLiteral": any; 42: any; readonly e: void; f: any; this: any; super: any; var: any; class: any; typeof: any; } +>y : { stringLiteral: any; 42: any; readonly e: void; f: any; this: any; super: any; var: any; class: any; typeof: any; } +>{ "stringLiteral", 42, get e, set f, this, super, var, class, typeof} : { stringLiteral: any; 42: any; readonly e: void; f: any; this: any; super: any; var: any; class: any; typeof: any; } "stringLiteral", >"stringLiteral" : any @@ -41,8 +41,8 @@ var y = { > : any var x = { ->x : { a: any; (Missing): any; ["ss"]: any; [1]: any; } ->{ a.b, a["ss"], a[1],} : { a: any; (Missing): any; ["ss"]: any; [1]: any; } +>x : { a: any; "": any; ss: any; 1: any; } +>{ a.b, a["ss"], a[1],} : { a: any; "": any; ss: any; 1: any; } a.b, >a : any diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesErrorWithModule.types b/tests/baselines/reference/objectLiteralShorthandPropertiesErrorWithModule.types index 78da1fb83ea..36c631135dc 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesErrorWithModule.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesErrorWithModule.types @@ -19,8 +19,8 @@ module n { >10000 : 10000 export var y = { ->y : { m: typeof m; (Missing): any; } ->{ m.x // error } : { m: typeof m; (Missing): any; } +>y : { m: typeof m; "": any; } +>{ m.x // error } : { m: typeof m; "": any; } m.x // error >m : typeof m diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types index 0ffd5dd20b7..827dd76115b 100644 --- a/tests/baselines/reference/objectSpread.types +++ b/tests/baselines/reference/objectSpread.types @@ -518,7 +518,7 @@ function container( >"before everything" : number { ['before everything']: 12, ...o, b: 'yes' } ->{ ['before everything']: 12, ...o, b: 'yes' } : { b: string; a: number; ['before everything']: number; } +>{ ['before everything']: 12, ...o, b: 'yes' } : { b: string; a: number; "before everything": number; } >['before everything'] : number >'before everything' : "before everything" >12 : 12 @@ -534,7 +534,7 @@ function container( >"in the middle" : number { ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } ->{ ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } : { b: string; c: boolean; ['in the middle']: number; a: number; } +>{ ...o, ['in the middle']: 13, b: 'maybe?', ...o2 } : { b: string; c: boolean; "in the middle": number; a: number; } >o : { a: number; b: string; } >['in the middle'] : number >'in the middle' : "in the middle" @@ -550,7 +550,7 @@ function container( >"at the end" : number { ...o, b: 'yeah', ['at the end']: 14 } ->{ ...o, b: 'yeah', ['at the end']: 14 } : { b: string; ['at the end']: number; a: number; } +>{ ...o, b: 'yeah', ['at the end']: 14 } : { b: string; "at the end": number; a: number; } >o : { a: number; b: string; } >b : string >'yeah' : "yeah" diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types index a8eb2ce97d5..df5e6ace60f 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types @@ -278,7 +278,7 @@ var r13 = i[-01] >01 : 1 var a: { ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } "0.1": void; >"0.1" : void @@ -308,19 +308,19 @@ var a: { var r1 = a['0.1']; >r1 : void >a['0.1'] : void ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } >'0.1' : "0.1" var r2 = a['.1']; >r2 : Object >a['.1'] : Object ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } >'.1' : ".1" var r3 = a['1']; >r3 : number >a['1'] : number ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } >'1' : "1" var r3 = c[1]; @@ -332,7 +332,7 @@ var r3 = c[1]; var r4 = a['1.']; >r4 : string >a['1.'] : string ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } >'1.' : "1." var r3 = c[1.]; // same as indexing by 1 when done numerically @@ -344,13 +344,13 @@ var r3 = c[1.]; // same as indexing by 1 when done numerically var r5 = a['1..']; >r5 : boolean >a['1..'] : boolean ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } >'1..' : "1.." var r6 = a['1.0']; >r6 : Date >a['1.0'] : Date ->a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } +>a : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: Date; } >'1.0' : "1.0" var r3 = c[1.0]; // same as indexing by 1 when done numerically @@ -413,8 +413,8 @@ var r13 = i[-01] >01 : 1 var b = { ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } ->{ "0.1": null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } +>{ "0.1": null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } "0.1": null, >"0.1" : void @@ -456,19 +456,19 @@ var b = { var r1 = b['0.1']; >r1 : void >b['0.1'] : void ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } >'0.1' : "0.1" var r2 = b['.1']; >r2 : Object >b['.1'] : Object ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } >'.1' : ".1" var r3 = b['1']; >r3 : number >b['1'] : number ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } >'1' : "1" var r3 = c[1]; @@ -480,7 +480,7 @@ var r3 = c[1]; var r4 = b['1.']; >r4 : string >b['1.'] : string ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } >'1.' : "1." var r3 = c[1.]; // same as indexing by 1 when done numerically @@ -492,13 +492,13 @@ var r3 = c[1.]; // same as indexing by 1 when done numerically var r5 = b['1..']; >r5 : boolean >b['1..'] : boolean ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } >'1..' : "1.." var r6 = b['1.0']; >r6 : Date >b['1.0'] : Date ->b : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; } +>b : { 0.1: void; ".1": Object; 1: number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; -1: DateConstructor; } >'1.0' : "1.0" var r3 = c[1.0]; // same as indexing by 1 when done numerically diff --git a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types index ad30405de0e..b08326f4134 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types +++ b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types @@ -87,7 +87,7 @@ var r4 = i["~!@#$%^&*()_+{}|:'<>?\/.,`"]; var a: { ->a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } " ": number; >" " : number @@ -102,31 +102,31 @@ var a: { var r = a[" "]; >r : number >a[" "] : number ->a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >" " : " " var r2 = a[" "]; >r2 : error >a[" "] : error ->a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >" " : " " var r3 = a["a b"]; >r3 : string >a["a b"] : string ->a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >"a b" : "a b" // BUG 817263 var r4 = a["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >r4 : number >a["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number ->a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" var b = { ->b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } ->{ " ": 1, "a b": "", "~!@#$%^&*()_+{}|:'<>?\/.,`": 1,} : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } +>{ " ": 1, "a b": "", "~!@#$%^&*()_+{}|:'<>?\/.,`": 1,} : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } " ": 1, >" " : number @@ -144,25 +144,25 @@ var b = { var r = b[" "]; >r : number >b[" "] : number ->b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >" " : " " var r2 = b[" "]; >r2 : error >b[" "] : error ->b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >" " : " " var r3 = b["a b"]; >r3 : string >b["a b"] : string ->b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >"a b" : "a b" // BUG 817263 var r4 = b["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >r4 : number >b["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number ->b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?\/.,`": number; } +>b : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } >"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" diff --git a/tests/baselines/reference/octalIntegerLiteral.types b/tests/baselines/reference/octalIntegerLiteral.types index 5b3e484821e..dc62feb2949 100644 --- a/tests/baselines/reference/octalIntegerLiteral.types +++ b/tests/baselines/reference/octalIntegerLiteral.types @@ -16,8 +16,8 @@ var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777 >0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : 5.462437423415177e+244 var obj1 = { ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } +>{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } 0o45436: "Hello", >0o45436 : string @@ -40,8 +40,8 @@ var obj1 = { } var obj2 = { ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } +>{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } 0O45436: "hi", >0O45436 : string @@ -65,91 +65,91 @@ var obj2 = { obj1[0o45436]; // string >obj1[0o45436] : string ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >0o45436 : 19230 obj1["0o45436"]; // any >obj1["0o45436"] : error ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"0o45436" : "0o45436" obj1["19230"]; // string >obj1["19230"] : string ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"19230" : "19230" obj1[19230]; // string >obj1[19230] : string ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >19230 : 19230 obj1["a"]; // number >obj1["a"] : number ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"a" : "a" obj1["b"]; // number >obj1["b"] : number ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"b" : "b" obj1["oct1"]; // number >obj1["oct1"] : number ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"oct1" : "oct1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"Infinity" : "Infinity" obj2[0O45436]; // string >obj2[0O45436] : string ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >0O45436 : 19230 obj2["0O45436"]; // any >obj2["0O45436"] : error ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"0O45436" : "0O45436" obj2["19230"]; // string >obj2["19230"] : string ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"19230" : "19230" obj2[19230]; // string >obj2[19230] : string ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >19230 : 19230 obj2["a"]; // number >obj2["a"] : number ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"a" : "a" obj2["b"]; // number >obj2["b"] : number ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"b" : "b" obj2["oct2"]; // number >obj2["oct2"] : number ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"oct2" : "oct2" obj2[5.462437423415177e+244]; // boolean >obj2[5.462437423415177e+244] : boolean ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >5.462437423415177e+244 : 5.462437423415177e+244 obj2["5.462437423415177e+244"]; // boolean >obj2["5.462437423415177e+244"] : boolean ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"5.462437423415177e+244" : "5.462437423415177e+244" obj2["Infinity"]; // any >obj2["Infinity"] : error ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"Infinity" : "Infinity" diff --git a/tests/baselines/reference/octalIntegerLiteralES6.types b/tests/baselines/reference/octalIntegerLiteralES6.types index 8f1e7256b17..8aa51d20473 100644 --- a/tests/baselines/reference/octalIntegerLiteralES6.types +++ b/tests/baselines/reference/octalIntegerLiteralES6.types @@ -16,8 +16,8 @@ var oct4 = 0o7777777777777777777777777777777777777777777777777777777777777777777 >0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 : 5.462437423415177e+244 var obj1 = { ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } +>{ 0o45436: "Hello", a: 0o45436, b: oct1, oct1, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: true} : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } 0o45436: "Hello", >0o45436 : string @@ -40,8 +40,8 @@ var obj1 = { } var obj2 = { ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } ->{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } +>{ 0O45436: "hi", a: 0O45436, b: oct2, oct2, 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: false,} : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } 0O45436: "hi", >0O45436 : string @@ -65,91 +65,91 @@ var obj2 = { obj1[0o45436]; // string >obj1[0o45436] : string ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >0o45436 : 19230 obj1["0o45436"]; // any >obj1["0o45436"] : error ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"0o45436" : "0o45436" obj1["19230"]; // string >obj1["19230"] : string ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"19230" : "19230" obj1[19230]; // string >obj1[19230] : string ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >19230 : 19230 obj1["a"]; // number >obj1["a"] : number ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"a" : "a" obj1["b"]; // number >obj1["b"] : number ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"b" : "b" obj1["oct1"]; // number >obj1["oct1"] : number ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"oct1" : "oct1" obj1["Infinity"]; // boolean >obj1["Infinity"] : boolean ->obj1 : { 0o45436: string; a: number; b: number; oct1: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj1 : { 19230: string; a: number; b: number; oct1: number; Infinity: boolean; } >"Infinity" : "Infinity" obj2[0O45436]; // string >obj2[0O45436] : string ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >0O45436 : 19230 obj2["0O45436"]; // any >obj2["0O45436"] : error ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"0O45436" : "0O45436" obj2["19230"]; // string >obj2["19230"] : string ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"19230" : "19230" obj2[19230]; // string >obj2[19230] : string ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >19230 : 19230 obj2["a"]; // number >obj2["a"] : number ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"a" : "a" obj2["b"]; // number >obj2["b"] : number ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"b" : "b" obj2["oct2"]; // number >obj2["oct2"] : number ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"oct2" : "oct2" obj2[5.462437423415177e+244]; // boolean >obj2[5.462437423415177e+244] : boolean ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >5.462437423415177e+244 : 5.462437423415177e+244 obj2["5.462437423415177e+244"]; // boolean >obj2["5.462437423415177e+244"] : boolean ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"5.462437423415177e+244" : "5.462437423415177e+244" obj2["Infinity"]; // any >obj2["Infinity"] : error ->obj2 : { 0O45436: string; a: number; b: number; oct2: number; 0o7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777: boolean; } +>obj2 : { 19230: string; a: number; b: number; oct2: number; 5.462437423415177e+244: boolean; } >"Infinity" : "Infinity" diff --git a/tests/baselines/reference/octalIntegerLiteralError.types b/tests/baselines/reference/octalIntegerLiteralError.types index 1397e98fa98..0ca26a112a5 100644 --- a/tests/baselines/reference/octalIntegerLiteralError.types +++ b/tests/baselines/reference/octalIntegerLiteralError.types @@ -11,8 +11,8 @@ var oct2 = 0o34318592; >8592 : 8592 var obj1 = { ->obj1 : { 0O45436: string; } ->{ 0O45436: "hi", 19230: "Hello", "19230": "world",} : { 0O45436: string; } +>obj1 : { 19230: string; } +>{ 0O45436: "hi", 19230: "Hello", "19230": "world",} : { 19230: string; } 0O45436: "hi", >0O45436 : string diff --git a/tests/baselines/reference/paramTagTypeResolution.types b/tests/baselines/reference/paramTagTypeResolution.types index 56533fb7d65..5a0bbd321aa 100644 --- a/tests/baselines/reference/paramTagTypeResolution.types +++ b/tests/baselines/reference/paramTagTypeResolution.types @@ -20,7 +20,7 @@ f(1, n => { }) module.exports = function (x, k) { return k(x) } >module.exports = function (x, k) { return k(x) } : (x: T, k: (t: T) => void) => void >module.exports : (x: T, k: (t: T) => void) => void ->module : { "tests/cases/conformance/jsdoc/first": (x: T, k: (t: T) => void) => void; } +>module : { "\"tests/cases/conformance/jsdoc/first\"": (x: T, k: (t: T) => void) => void; } >exports : (x: T, k: (t: T) => void) => void >function (x, k) { return k(x) } : (x: T, k: (t: T) => void) => void >x : T diff --git a/tests/baselines/reference/parserComputedPropertyName35.types b/tests/baselines/reference/parserComputedPropertyName35.types index 6c4a9c785e5..896d54713da 100644 --- a/tests/baselines/reference/parserComputedPropertyName35.types +++ b/tests/baselines/reference/parserComputedPropertyName35.types @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript6/ComputedPropertyNames/parserComputedPropertyName35.ts === var x = { >x : { 1: {}; } ->{ [0, 1]: { }} : { [0, 1]: {}; } +>{ [0, 1]: { }} : { 1: {}; } [0, 1]: { } >[0, 1] : {} diff --git a/tests/baselines/reference/parserFunctionPropertyAssignment3.types b/tests/baselines/reference/parserFunctionPropertyAssignment3.types index 1e3dd3be75d..2d343ab7cda 100644 --- a/tests/baselines/reference/parserFunctionPropertyAssignment3.types +++ b/tests/baselines/reference/parserFunctionPropertyAssignment3.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/PropertyAssignments/parserFunctionPropertyAssignment3.ts === var v = { "foo"() { } }; ->v : { "foo"(): void; } ->{ "foo"() { } } : { "foo"(): void; } +>v : { foo(): void; } +>{ "foo"() { } } : { foo(): void; } >"foo" : () => void diff --git a/tests/baselines/reference/parserInExpression1.types b/tests/baselines/reference/parserInExpression1.types index 0b6346b4353..bcf0f98b9d1 100644 --- a/tests/baselines/reference/parserInExpression1.types +++ b/tests/baselines/reference/parserInExpression1.types @@ -6,7 +6,7 @@ console.log("a" in { "a": true }); >log : (message?: any, ...optionalParams: any[]) => void >"a" in { "a": true } : boolean >"a" : "a" ->{ "a": true } : { "a": boolean; } +>{ "a": true } : { a: boolean; } >"a" : boolean >true : true diff --git a/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.types b/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.types index 9c4e4a25cef..b7d836b0ad5 100644 --- a/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.types +++ b/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts === return { ->{ "set": function (key, value) { // 'private' should not be considered a member variable here. private[key] = value; }} : { "set": (key: any, value: any) => void; } +>{ "set": function (key, value) { // 'private' should not be considered a member variable here. private[key] = value; }} : { set: (key: any, value: any) => void; } "set": function (key, value) { >"set" : (key: any, value: any) => void diff --git a/tests/baselines/reference/propertyAccess.errors.txt b/tests/baselines/reference/propertyAccess.errors.txt index 1351a46e099..26c0aaaecea 100644 --- a/tests/baselines/reference/propertyAccess.errors.txt +++ b/tests/baselines/reference/propertyAccess.errors.txt @@ -1,4 +1,4 @@ -tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts(11,55): error TS2322: Type '{ 3: string; 'three': string; }' is not assignable to type '{ [n: number]: string; }'. +tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts(11,55): error TS2322: Type '{ 3: string; three: string; }' is not assignable to type '{ [n: number]: string; }'. Object literal may only specify known properties, and ''three'' does not exist in type '{ [n: number]: string; }'. tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts(45,14): error TS2339: Property 'qqq' does not exist on type '{ 10: string; x: string; y: number; z: { n: string; m: number; o: () => boolean; }; 'literal property': number; }'. tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts(80,19): error TS2538: Type '{ name: string; }' cannot be used as an index type. @@ -20,7 +20,7 @@ tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts(149,5): err var numIndex: { [n: number]: string } = { 3: 'three', 'three': 'three' }; ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type '{ 3: string; 'three': string; }' is not assignable to type '{ [n: number]: string; }'. +!!! error TS2322: Type '{ 3: string; three: string; }' is not assignable to type '{ [n: number]: string; }'. !!! error TS2322: Object literal may only specify known properties, and ''three'' does not exist in type '{ [n: number]: string; }'. var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East }; var bothIndex: diff --git a/tests/baselines/reference/propertyAccess.types b/tests/baselines/reference/propertyAccess.types index 744ee48b3a3..20e8d77070b 100644 --- a/tests/baselines/reference/propertyAccess.types +++ b/tests/baselines/reference/propertyAccess.types @@ -25,7 +25,7 @@ enum Compass { var numIndex: { [n: number]: string } = { 3: 'three', 'three': 'three' }; >numIndex : { [n: number]: string; } >n : number ->{ 3: 'three', 'three': 'three' } : { 3: string; 'three': string; } +>{ 3: 'three', 'three': 'three' } : { 3: string; three: string; } >3 : string >'three' : "three" >'three' : string @@ -34,7 +34,7 @@ var numIndex: { [n: number]: string } = { 3: 'three', 'three': 'three' }; var strIndex: { [n: string]: Compass } = { 'N': Compass.North, 'E': Compass.East }; >strIndex : { [n: string]: Compass; } >n : string ->{ 'N': Compass.North, 'E': Compass.East } : { 'N': Compass.North; 'E': Compass.East; } +>{ 'N': Compass.North, 'E': Compass.East } : { N: Compass.North; E: Compass.East; } >'N' : Compass.North >Compass.North : Compass.North >Compass : typeof Compass diff --git a/tests/baselines/reference/protoAsIndexInIndexExpression.types b/tests/baselines/reference/protoAsIndexInIndexExpression.types index 2da76f32f4a..5e051dbcd36 100644 --- a/tests/baselines/reference/protoAsIndexInIndexExpression.types +++ b/tests/baselines/reference/protoAsIndexInIndexExpression.types @@ -21,8 +21,8 @@ WorkspacePrototype['__proto__'] = EntityPrototype; >EntityPrototype : any var o = { ->o : { "__proto__": number; } ->{ "__proto__": 0} : { "__proto__": number; } +>o : { __proto__: number; } +>{ "__proto__": 0} : { __proto__: number; } "__proto__": 0 >"__proto__" : number diff --git a/tests/baselines/reference/quotedConstructors.types b/tests/baselines/reference/quotedConstructors.types index 65be89ff815..17be6996c28 100644 --- a/tests/baselines/reference/quotedConstructors.types +++ b/tests/baselines/reference/quotedConstructors.types @@ -56,8 +56,8 @@ new class { }; var o = { "constructor"() {} }; ->o : { "constructor"(): void; } ->{ "constructor"() {} } : { "constructor"(): void; } +>o : { constructor(): void; } +>{ "constructor"() {} } : { constructor(): void; } >"constructor" : () => void class F { diff --git a/tests/baselines/reference/requireOfJsonFile.types b/tests/baselines/reference/requireOfJsonFile.types index c718c429408..92769a281fb 100644 --- a/tests/baselines/reference/requireOfJsonFile.types +++ b/tests/baselines/reference/requireOfJsonFile.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileInJsFile.errors.txt b/tests/baselines/reference/requireOfJsonFileInJsFile.errors.txt index 136b416c529..247aaa31b57 100644 --- a/tests/baselines/reference/requireOfJsonFileInJsFile.errors.txt +++ b/tests/baselines/reference/requireOfJsonFileInJsFile.errors.txt @@ -1,6 +1,6 @@ -/user.js(2,7): error TS2339: Property 'b' does not exist on type '{ "a": number; }'. -/user.js(5,7): error TS2741: Property 'b' is missing in type '{ "a": number; }' but required in type '{ b: number; }'. -/user.js(9,7): error TS2339: Property 'b' does not exist on type '{ "a": number; }'. +/user.js(2,7): error TS2339: Property 'b' does not exist on type '{ a: number; }'. +/user.js(5,7): error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'. +/user.js(9,7): error TS2339: Property 'b' does not exist on type '{ a: number; }'. /user.js(12,7): error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'. @@ -8,19 +8,19 @@ const json0 = require("./json.json"); json0.b; // Error (good) ~ -!!! error TS2339: Property 'b' does not exist on type '{ "a": number; }'. +!!! error TS2339: Property 'b' does not exist on type '{ a: number; }'. /** @type {{ b: number }} */ const json1 = require("./json.json"); // No error (bad) ~~~~~ -!!! error TS2741: Property 'b' is missing in type '{ "a": number; }' but required in type '{ b: number; }'. +!!! error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type '{ b: number; }'. !!! related TS2728 /user.js:4:14: 'b' is declared here. json1.b; // No error (OK since that's the type annotation) const js0 = require("./js.js"); json0.b; // Error (good) ~ -!!! error TS2339: Property 'b' does not exist on type '{ "a": number; }'. +!!! error TS2339: Property 'b' does not exist on type '{ a: number; }'. /** @type {{ b: number }} */ const js1 = require("./js.js"); // Error (good) diff --git a/tests/baselines/reference/requireOfJsonFileInJsFile.types b/tests/baselines/reference/requireOfJsonFileInJsFile.types index b069c87c395..0e8e9b847ab 100644 --- a/tests/baselines/reference/requireOfJsonFileInJsFile.types +++ b/tests/baselines/reference/requireOfJsonFileInJsFile.types @@ -1,19 +1,19 @@ === /user.js === const json0 = require("./json.json"); ->json0 : { "a": number; } ->require("./json.json") : { "a": number; } +>json0 : { a: number; } +>require("./json.json") : { a: number; } >require : any >"./json.json" : "./json.json" json0.b; // Error (good) >json0.b : any ->json0 : { "a": number; } +>json0 : { a: number; } >b : any /** @type {{ b: number }} */ const json1 = require("./json.json"); // No error (bad) >json1 : { b: number; } ->require("./json.json") : { "a": number; } +>require("./json.json") : { a: number; } >require : any >"./json.json" : "./json.json" @@ -30,7 +30,7 @@ const js0 = require("./js.js"); json0.b; // Error (good) >json0.b : any ->json0 : { "a": number; } +>json0 : { a: number; } >b : any /** @type {{ b: number }} */ @@ -47,7 +47,7 @@ js1.b; === /json.json === { "a": 0 } ->{ "a": 0 } : { "a": number; } +>{ "a": 0 } : { a: number; } >"a" : number >0 : 0 @@ -55,7 +55,7 @@ js1.b; module.exports = { a: 0 }; >module.exports = { a: 0 } : { a: number; } >module.exports : { a: number; } ->module : { "/js": { a: number; }; } +>module : { "\"/js\"": { a: number; }; } >exports : { a: number; } >{ a: 0 } : { a: number; } >a : number diff --git a/tests/baselines/reference/requireOfJsonFileNonRelative.types b/tests/baselines/reference/requireOfJsonFileNonRelative.types index 8f15e2282d9..20c8fa75ba8 100644 --- a/tests/baselines/reference/requireOfJsonFileNonRelative.types +++ b/tests/baselines/reference/requireOfJsonFileNonRelative.types @@ -1,15 +1,15 @@ === /src/projects/file1.ts === import b1 = require('b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('c.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === /src/projects/node_modules/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean @@ -46,7 +46,7 @@ if (x) { === /src/node_modules/c.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileTypes.types b/tests/baselines/reference/requireOfJsonFileTypes.types index d4587696fc7..309dd75b18d 100644 --- a/tests/baselines/reference/requireOfJsonFileTypes.types +++ b/tests/baselines/reference/requireOfJsonFileTypes.types @@ -1,6 +1,6 @@ === tests/cases/compiler/file1.ts === import b = require('./b.json'); ->b : { "a": boolean; "b": string; "c": null; "d": boolean; } +>b : { a: boolean; b: string; c: null; d: boolean; } import c = require('./c.json'); >c : (string | null)[] @@ -32,28 +32,28 @@ booleanLiteral = b.a; >booleanLiteral = b.a : boolean >booleanLiteral : boolean >b.a : boolean ->b : { "a": boolean; "b": string; "c": null; "d": boolean; } +>b : { a: boolean; b: string; c: null; d: boolean; } >a : boolean stringLiteral = b.b; >stringLiteral = b.b : string >stringLiteral : string >b.b : string ->b : { "a": boolean; "b": string; "c": null; "d": boolean; } +>b : { a: boolean; b: string; c: null; d: boolean; } >b : string nullLiteral = b.c; >nullLiteral = b.c : null >nullLiteral : null >b.c : null ->b : { "a": boolean; "b": string; "c": null; "d": boolean; } +>b : { a: boolean; b: string; c: null; d: boolean; } >c : null booleanLiteral = b.d; >booleanLiteral = b.d : boolean >booleanLiteral : boolean >b.d : boolean ->b : { "a": boolean; "b": string; "c": null; "d": boolean; } +>b : { a: boolean; b: string; c: null; d: boolean; } >d : boolean const stringOrNumberOrNull: string | number | null = c[0]; @@ -89,7 +89,7 @@ booleanLiteral = g[0]; === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello", "c": null, "d": false} : { "a": boolean; "b": string; "c": null; "d": boolean; } +>{ "a": true, "b": "hello", "c": null, "d": false} : { a: boolean; b: string; c: null; d: boolean; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types index c718c429408..92769a281fb 100644 --- a/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types +++ b/tests/baselines/reference/requireOfJsonFileWithAlwaysStrictWithoutErrors.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithDeclaration.types b/tests/baselines/reference/requireOfJsonFileWithDeclaration.types index c718c429408..92769a281fb 100644 --- a/tests/baselines/reference/requireOfJsonFileWithDeclaration.types +++ b/tests/baselines/reference/requireOfJsonFileWithDeclaration.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithErrors.types b/tests/baselines/reference/requireOfJsonFileWithErrors.types index 35893282bee..fb4fb9d4eee 100644 --- a/tests/baselines/reference/requireOfJsonFileWithErrors.types +++ b/tests/baselines/reference/requireOfJsonFileWithErrors.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { 'a': boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { 'a': boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { 'a': boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { 'a': boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { 'a': boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ 'a': true, "b": "hello"} : { 'a': boolean; "b": string; } +>{ 'a': true, "b": "hello"} : { a: boolean; b: string; } 'a': true, >'a' : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleEmitUndefined.types b/tests/baselines/reference/requireOfJsonFileWithModuleEmitUndefined.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleEmitUndefined.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleEmitUndefined.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmd.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmd.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmd.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmd.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmdOutFile.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmdOutFile.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmdOutFile.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitAmdOutFile.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEs2015.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.types index f10a2fda11f..ad6bdcdab88 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitEsNext.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitNone.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitNone.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitNone.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitNone.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitSystem.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitSystem.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitSystem.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitSystem.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUmd.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUmd.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUmd.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUmd.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.types b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.types index 9e5cc29d342..20cc701340c 100644 --- a/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.types +++ b/tests/baselines/reference/requireOfJsonFileWithModuleNodeResolutionEmitUndefined.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as b from './b.json'; ->b : { "a": boolean; "b": string; } +>b : { a: boolean; b: string; } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithSourceMap.types b/tests/baselines/reference/requireOfJsonFileWithSourceMap.types index c718c429408..92769a281fb 100644 --- a/tests/baselines/reference/requireOfJsonFileWithSourceMap.types +++ b/tests/baselines/reference/requireOfJsonFileWithSourceMap.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types index 17e637a6df8..5f891fb64d2 100644 --- a/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types +++ b/tests/baselines/reference/requireOfJsonFileWithTraillingComma.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello",} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello",} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithoutAllowJs.types b/tests/baselines/reference/requireOfJsonFileWithoutAllowJs.types index c718c429408..92769a281fb 100644 --- a/tests/baselines/reference/requireOfJsonFileWithoutAllowJs.types +++ b/tests/baselines/reference/requireOfJsonFileWithoutAllowJs.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithoutEsModuleInterop.types b/tests/baselines/reference/requireOfJsonFileWithoutEsModuleInterop.types index 3bd9e1d98b1..893b3c81599 100644 --- a/tests/baselines/reference/requireOfJsonFileWithoutEsModuleInterop.types +++ b/tests/baselines/reference/requireOfJsonFileWithoutEsModuleInterop.types @@ -1,10 +1,10 @@ === tests/cases/compiler/file1.ts === import * as test from "./test.json" ->test : { "a": boolean; "b": string; } +>test : { a: boolean; b: string; } === tests/cases/compiler/test.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithoutExtension.types b/tests/baselines/reference/requireOfJsonFileWithoutExtension.types index 5c09cd9063d..0cd22201aa7 100644 --- a/tests/baselines/reference/requireOfJsonFileWithoutExtension.types +++ b/tests/baselines/reference/requireOfJsonFileWithoutExtension.types @@ -9,7 +9,7 @@ let x = b1.a; >a : any import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : any @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -33,7 +33,7 @@ if (x) { === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithoutExtensionResolvesToTs.types b/tests/baselines/reference/requireOfJsonFileWithoutExtensionResolvesToTs.types index a2faa9c834e..770994b0d56 100644 --- a/tests/baselines/reference/requireOfJsonFileWithoutExtensionResolvesToTs.types +++ b/tests/baselines/reference/requireOfJsonFileWithoutExtensionResolvesToTs.types @@ -9,7 +9,7 @@ let x2 = c1.a; >a : boolean import c2 = require('./c.json'); // resolves to c.json ->c2 : { "a": boolean; "b": string; } +>c2 : { a: boolean; b: string; } if (x2) { >x2 : boolean @@ -17,7 +17,7 @@ if (x2) { let b = c2.b; >b : string >c2.b : string ->c2 : { "a": boolean; "b": string; } +>c2 : { a: boolean; b: string; } >b : string let x = (c1.b === b); @@ -32,7 +32,7 @@ if (x2) { === tests/cases/compiler/c.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/requireOfJsonFileWithoutOutDir.types b/tests/baselines/reference/requireOfJsonFileWithoutOutDir.types index c718c429408..92769a281fb 100644 --- a/tests/baselines/reference/requireOfJsonFileWithoutOutDir.types +++ b/tests/baselines/reference/requireOfJsonFileWithoutOutDir.types @@ -1,15 +1,15 @@ === tests/cases/compiler/file1.ts === import b1 = require('./b.json'); ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } let x = b1.a; >x : boolean >b1.a : boolean ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >a : boolean import b2 = require('./b.json'); ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } if (x) { >x : boolean @@ -17,7 +17,7 @@ if (x) { let b = b2.b; >b : string >b2.b : string ->b2 : { "a": boolean; "b": string; } +>b2 : { a: boolean; b: string; } >b : string x = (b1.b === b); @@ -26,14 +26,14 @@ if (x) { >(b1.b === b) : boolean >b1.b === b : boolean >b1.b : string ->b1 : { "a": boolean; "b": string; } +>b1 : { a: boolean; b: string; } >b : string >b : string } === tests/cases/compiler/b.json === { ->{ "a": true, "b": "hello"} : { "a": boolean; "b": string; } +>{ "a": true, "b": "hello"} : { a: boolean; b: string; } "a": true, >"a" : boolean diff --git a/tests/baselines/reference/scannerUnicodeEscapeInKeyword2.types b/tests/baselines/reference/scannerUnicodeEscapeInKeyword2.types index e4460866a51..9255cc4b67c 100644 --- a/tests/baselines/reference/scannerUnicodeEscapeInKeyword2.types +++ b/tests/baselines/reference/scannerUnicodeEscapeInKeyword2.types @@ -68,8 +68,8 @@ typ\u{0065} notok = 0; // not ok export {}; const a = {def\u0061ult: 12}; // OK, `default` not in keyword position ->a : { def\u0061ult: number; } ->{def\u0061ult: 12} : { def\u0061ult: number; } +>a : { default: number; } +>{def\u0061ult: 12} : { default: number; } >def\u0061ult : number >12 : 12 diff --git a/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.types b/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.types index 0f73cfe3759..f8e46f5353d 100644 --- a/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.types +++ b/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.types @@ -121,7 +121,7 @@ interface I { } var a: { ->a : { (): string; (x: any): number; [x: string]: string; a: string; b: number; c: () => {}; "d": string; "e": number; 1.0: string; 2.0: number; foo(): string; "3.0": string; "4.0": number; f: MyString; } +>a : { (): string; (x: any): number; [x: string]: string; a: string; b: number; c: () => {}; d: string; e: number; 1: string; 2: number; foo(): string; "3.0": string; "4.0": number; f: MyString; } [x: string]: string; >x : string @@ -168,7 +168,7 @@ var a: { var b: { [x: string]: string; } = { >b : { [x: string]: string; } >x : string ->{ a: '', b: 1, c: () => { }, "d": '', "e": 1, 1.0: '', 2.0: 1, "3.0": '', "4.0": 1, f: null, get X() { return ''; }, set X(v) { }, foo() { return ''; }} : { a: string; b: number; c: () => void; "d": string; "e": number; 1.0: string; 2.0: number; "3.0": string; "4.0": number; f: MyString; X: string; foo(): string; } +>{ a: '', b: 1, c: () => { }, "d": '', "e": 1, 1.0: '', 2.0: 1, "3.0": '', "4.0": 1, f: null, get X() { return ''; }, set X(v) { }, foo() { return ''; }} : { a: string; b: number; c: () => void; d: string; e: number; 1: string; 2: number; "3.0": string; "4.0": number; f: MyString; X: string; foo(): string; } a: '', >a : string diff --git a/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types b/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types index 11f0108a83f..e58595a95d2 100644 --- a/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types +++ b/tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.types @@ -1,9 +1,7 @@ === tests/cases/compiler/stringLiteralPropertyNameWithLineContinuation1.ts === var x = {'text\ ->x : { 'text\ -': string; } ->{'text\':'hello'} : { 'text\ -': string; } +>x : { text: string; } +>{'text\':'hello'} : { text: string; } >'text\' : string ':'hello'} @@ -12,8 +10,7 @@ var x = {'text\ x.text = "bar" >x.text = "bar" : "bar" >x.text : string ->x : { 'text\ -': string; } +>x : { text: string; } >text : string >"bar" : "bar" diff --git a/tests/baselines/reference/stringPropCodeGen.types b/tests/baselines/reference/stringPropCodeGen.types index c4f84fc6279..1feb334cb0c 100644 --- a/tests/baselines/reference/stringPropCodeGen.types +++ b/tests/baselines/reference/stringPropCodeGen.types @@ -1,7 +1,7 @@ === tests/cases/compiler/stringPropCodeGen.ts === var a = { ->a : { "foo": () => void; "bar": number; } ->{ "foo" : function() { }, "bar" : 5} : { "foo": () => void; "bar": number; } +>a : { foo: () => void; bar: number; } +>{ "foo" : function() { }, "bar" : 5} : { foo: () => void; bar: number; } "foo" : function() { }, >"foo" : () => void @@ -18,14 +18,14 @@ var a = { a.foo(); >a.foo() : void >a.foo : () => void ->a : { "foo": () => void; "bar": number; } +>a : { foo: () => void; bar: number; } >foo : () => void a.bar.toString(); >a.bar.toString() : string >a.bar.toString : (radix?: number) => string >a.bar : number ->a : { "foo": () => void; "bar": number; } +>a : { foo: () => void; bar: number; } >bar : number >toString : (radix?: number) => string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.errors.txt b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.errors.txt index 3a47e329162..db0e3a0ce73 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.errors.txt +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.errors.txt @@ -35,7 +35,7 @@ tests/cases/conformance/jsx/file.tsx(25,12): error TS2769: No overload matches t Overload 1 of 2, '(j: { "extra-data": string; }): Element', gave the following error. Type 'true' is not assignable to type 'string'. Overload 2 of 2, '(n: { yy: string; direction?: number; }): Element', gave the following error. - Property 'yy' is missing in type '{ extra-data: true; }' but required in type '{ yy: string; direction?: number; }'. + Property 'yy' is missing in type '{ "extra-data": true; }' but required in type '{ yy: string; direction?: number; }'. tests/cases/conformance/jsx/file.tsx(26,12): error TS2769: No overload matches this call. Overload 1 of 2, '(j: { "extra-data": string; }): Element', gave the following error. Type '{ yy: string; direction: string; }' is not assignable to type 'IntrinsicAttributes & { "extra-data": string; }'. @@ -147,7 +147,7 @@ tests/cases/conformance/jsx/file.tsx(36,12): error TS2769: No overload matches t !!! error TS2769: Overload 1 of 2, '(j: { "extra-data": string; }): Element', gave the following error. !!! error TS2769: Type 'true' is not assignable to type 'string'. !!! error TS2769: Overload 2 of 2, '(n: { yy: string; direction?: number; }): Element', gave the following error. -!!! error TS2769: Property 'yy' is missing in type '{ extra-data: true; }' but required in type '{ yy: string; direction?: number; }'. +!!! error TS2769: Property 'yy' is missing in type '{ "extra-data": true; }' but required in type '{ yy: string; direction?: number; }'. !!! related TS6500 tests/cases/conformance/jsx/file.tsx:21:38: The expected type comes from property 'extra-data' which is declared here on type 'IntrinsicAttributes & { "extra-data": string; }' !!! related TS2728 tests/cases/conformance/jsx/file.tsx:22:38: 'yy' is declared here. const d2 = diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.errors.txt b/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.errors.txt index aa2e4fe19c6..043763757f6 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.errors.txt +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.errors.txt @@ -24,9 +24,9 @@ tests/cases/conformance/jsx/file.tsx(55,68): error TS2769: No overload matches t Type 'true' is not assignable to type 'string'. tests/cases/conformance/jsx/file.tsx(56,12): error TS2769: No overload matches this call. Overload 1 of 3, '(buttonProps: ButtonProps): Element', gave the following error. - Property 'onClick' is missing in type '{ data-format: true; }' but required in type 'ButtonProps'. + Property 'onClick' is missing in type '{ "data-format": true; }' but required in type 'ButtonProps'. Overload 2 of 3, '(linkProps: LinkProps): Element', gave the following error. - Property 'to' is missing in type '{ data-format: true; }' but required in type 'LinkProps'. + Property 'to' is missing in type '{ "data-format": true; }' but required in type 'LinkProps'. Overload 3 of 3, '(hyphenProps: HyphenProps): Element', gave the following error. Type 'true' is not assignable to type 'string'. @@ -124,9 +124,9 @@ tests/cases/conformance/jsx/file.tsx(56,12): error TS2769: No overload matches t ~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 3, '(buttonProps: ButtonProps): Element', gave the following error. -!!! error TS2769: Property 'onClick' is missing in type '{ data-format: true; }' but required in type 'ButtonProps'. +!!! error TS2769: Property 'onClick' is missing in type '{ "data-format": true; }' but required in type 'ButtonProps'. !!! error TS2769: Overload 2 of 3, '(linkProps: LinkProps): Element', gave the following error. -!!! error TS2769: Property 'to' is missing in type '{ data-format: true; }' but required in type 'LinkProps'. +!!! error TS2769: Property 'to' is missing in type '{ "data-format": true; }' but required in type 'LinkProps'. !!! error TS2769: Overload 3 of 3, '(hyphenProps: HyphenProps): Element', gave the following error. !!! error TS2769: Type 'true' is not assignable to type 'string'. !!! related TS2728 tests/cases/conformance/jsx/file.tsx:9:5: 'onClick' is declared here. diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt b/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt index 7827c0625a4..99812eeaad3 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt +++ b/tests/baselines/reference/tsxStatelessFunctionComponents1.errors.txt @@ -3,7 +3,7 @@ tests/cases/conformance/jsx/file.tsx(19,16): error TS2322: Type '{ naaame: strin tests/cases/conformance/jsx/file.tsx(27,15): error TS2322: Type 'number' is not assignable to type 'string'. tests/cases/conformance/jsx/file.tsx(29,15): error TS2322: Type '{ naaaaaaame: string; }' is not assignable to type 'IntrinsicAttributes & { name?: string; }'. Property 'naaaaaaame' does not exist on type 'IntrinsicAttributes & { name?: string; }'. -tests/cases/conformance/jsx/file.tsx(34,10): error TS2741: Property '"prop-name"' is missing in type '{ extra-prop-name: string; }' but required in type '{ "prop-name": string; }'. +tests/cases/conformance/jsx/file.tsx(34,10): error TS2741: Property '"prop-name"' is missing in type '{ "extra-prop-name": string; }' but required in type '{ "prop-name": string; }'. tests/cases/conformance/jsx/file.tsx(37,23): error TS2322: Type '{ prop1: true; }' is not assignable to type 'IntrinsicAttributes'. Property 'prop1' does not exist on type 'IntrinsicAttributes'. tests/cases/conformance/jsx/file.tsx(38,24): error TS2322: Type '{ ref: (x: any) => any; }' is not assignable to type 'IntrinsicAttributes'. @@ -56,7 +56,7 @@ tests/cases/conformance/jsx/file.tsx(45,11): error TS2559: Type '{ prop1: boolea // Error let h = ; ~~~~~~~~~~~~ -!!! error TS2741: Property '"prop-name"' is missing in type '{ extra-prop-name: string; }' but required in type '{ "prop-name": string; }'. +!!! error TS2741: Property '"prop-name"' is missing in type '{ "extra-prop-name": string; }' but required in type '{ "prop-name": string; }'. !!! related TS2728 tests/cases/conformance/jsx/file.tsx:11:27: '"prop-name"' is declared here. // Error diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.errors.txt b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.errors.txt index 75da33f6e65..c79a623a242 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.errors.txt +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.errors.txt @@ -8,13 +8,13 @@ tests/cases/conformance/jsx/file.tsx(9,14): error TS2769: No overload matches th Property 'b' is missing in type '{ a: number; }' but required in type '{ b: unknown; a: number; }'. tests/cases/conformance/jsx/file.tsx(10,15): error TS2769: No overload matches this call. Overload 1 of 3, '(): Element', gave the following error. - Type 'T & { ignore-prop: true; }' has no properties in common with type 'IntrinsicAttributes'. + Type 'T & { "ignore-prop": true; }' has no properties in common with type 'IntrinsicAttributes'. Overload 2 of 3, '(attr: { b: unknown; a: string; "ignore-prop": boolean; }): Element', gave the following error. - Type 'T & { ignore-prop: true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: string; "ignore-prop": boolean; }'. - Property 'a' is missing in type '{ b: number; } & { ignore-prop: true; }' but required in type '{ b: unknown; a: string; "ignore-prop": boolean; }'. + Type 'T & { "ignore-prop": true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: string; "ignore-prop": boolean; }'. + Property 'a' is missing in type '{ b: number; } & { "ignore-prop": true; }' but required in type '{ b: unknown; a: string; "ignore-prop": boolean; }'. Overload 3 of 3, '(attr: { b: unknown; a: unknown; }): Element', gave the following error. - Type 'T & { ignore-prop: true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: unknown; }'. - Property 'a' is missing in type '{ b: number; } & { ignore-prop: true; }' but required in type '{ b: unknown; a: unknown; }'. + Type 'T & { "ignore-prop": true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: unknown; }'. + Property 'a' is missing in type '{ b: number; } & { "ignore-prop": true; }' but required in type '{ b: unknown; a: unknown; }'. ==== tests/cases/conformance/jsx/file.tsx (2 errors) ==== @@ -42,13 +42,13 @@ tests/cases/conformance/jsx/file.tsx(10,15): error TS2769: No overload matches t ~~~~~~~~~~~~~~~~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 3, '(): Element', gave the following error. -!!! error TS2769: Type 'T & { ignore-prop: true; }' has no properties in common with type 'IntrinsicAttributes'. +!!! error TS2769: Type 'T & { "ignore-prop": true; }' has no properties in common with type 'IntrinsicAttributes'. !!! error TS2769: Overload 2 of 3, '(attr: { b: unknown; a: string; "ignore-prop": boolean; }): Element', gave the following error. -!!! error TS2769: Type 'T & { ignore-prop: true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: string; "ignore-prop": boolean; }'. -!!! error TS2769: Property 'a' is missing in type '{ b: number; } & { ignore-prop: true; }' but required in type '{ b: unknown; a: string; "ignore-prop": boolean; }'. +!!! error TS2769: Type 'T & { "ignore-prop": true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: string; "ignore-prop": boolean; }'. +!!! error TS2769: Property 'a' is missing in type '{ b: number; } & { "ignore-prop": true; }' but required in type '{ b: unknown; a: string; "ignore-prop": boolean; }'. !!! error TS2769: Overload 3 of 3, '(attr: { b: unknown; a: unknown; }): Element', gave the following error. -!!! error TS2769: Type 'T & { ignore-prop: true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: unknown; }'. -!!! error TS2769: Property 'a' is missing in type '{ b: number; } & { ignore-prop: true; }' but required in type '{ b: unknown; a: unknown; }'. +!!! error TS2769: Type 'T & { "ignore-prop": true; }' is not assignable to type 'IntrinsicAttributes & { b: unknown; a: unknown; }'. +!!! error TS2769: Property 'a' is missing in type '{ b: number; } & { "ignore-prop": true; }' but required in type '{ b: unknown; a: unknown; }'. !!! related TS2728 tests/cases/conformance/jsx/file.tsx:4:52: 'a' is declared here. !!! related TS2728 tests/cases/conformance/jsx/file.tsx:5:55: 'a' is declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/tsxUnionElementType6.errors.txt b/tests/baselines/reference/tsxUnionElementType6.errors.txt index cad93a38ae9..b561c8c7ec2 100644 --- a/tests/baselines/reference/tsxUnionElementType6.errors.txt +++ b/tests/baselines/reference/tsxUnionElementType6.errors.txt @@ -2,7 +2,7 @@ tests/cases/conformance/jsx/file.tsx(18,23): error TS2322: Type '{ x: true; }' i Property 'x' does not exist on type 'IntrinsicAttributes'. tests/cases/conformance/jsx/file.tsx(19,27): error TS2322: Type 'string' is not assignable to type 'boolean'. tests/cases/conformance/jsx/file.tsx(20,10): error TS2741: Property 'x' is missing in type '{}' but required in type '{ x: boolean; }'. -tests/cases/conformance/jsx/file.tsx(21,10): error TS2741: Property 'x' is missing in type '{ data-prop: true; }' but required in type '{ x: boolean; }'. +tests/cases/conformance/jsx/file.tsx(21,10): error TS2741: Property 'x' is missing in type '{ "data-prop": true; }' but required in type '{ x: boolean; }'. ==== tests/cases/conformance/jsx/file.tsx (4 errors) ==== @@ -37,7 +37,7 @@ tests/cases/conformance/jsx/file.tsx(21,10): error TS2741: Property 'x' is missi !!! related TS2728 tests/cases/conformance/jsx/file.tsx:11:23: 'x' is declared here. let d = ; ~~~~~~~~~~~~~~~~ -!!! error TS2741: Property 'x' is missing in type '{ data-prop: true; }' but required in type '{ x: boolean; }'. +!!! error TS2741: Property 'x' is missing in type '{ "data-prop": true; }' but required in type '{ x: boolean; }'. !!! related TS2728 tests/cases/conformance/jsx/file.tsx:11:23: 'x' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types index d7c32da212f..1f47619465d 100644 --- a/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types +++ b/tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.types @@ -20,9 +20,9 @@ interface IMenuItem { } var menuData: IMenuItem[] = [ >menuData : IMenuItem[] ->[ { "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" }, { "id": "productName", "type": "default", "link": "", "text": "Product Name" }] : ({ "id": string; "type": string; "link": string; "icon": string; } | { "id": string; "type": string; "link": string; "text": string; })[] +>[ { "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" }, { "id": "productName", "type": "default", "link": "", "text": "Product Name" }] : ({ id: string; type: string; link: string; icon: string; } | { id: string; type: string; link: string; text: string; })[] { ->{ "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" } : { "id": string; "type": string; "link": string; "icon": string; } +>{ "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" } : { id: string; type: string; link: string; icon: string; } "id": "ourLogo", >"id" : string @@ -41,7 +41,7 @@ var menuData: IMenuItem[] = [ >"modules/menu/logo.svg" : "modules/menu/logo.svg" }, { ->{ "id": "productName", "type": "default", "link": "", "text": "Product Name" } : { "id": string; "type": string; "link": string; "text": string; } +>{ "id": "productName", "type": "default", "link": "", "text": "Product Name" } : { id: string; type: string; link: string; text: string; } "id": "productName", >"id" : string diff --git a/tests/baselines/reference/typeFromPropertyAssignment17.types b/tests/baselines/reference/typeFromPropertyAssignment17.types index 92577ce1da5..9ed784c6a20 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment17.types +++ b/tests/baselines/reference/typeFromPropertyAssignment17.types @@ -45,7 +45,7 @@ declare var module: any; module.exports = minimatch >module.exports = minimatch : typeof minimatch >module.exports : typeof minimatch ->module : { "tests/cases/conformance/salsa/minimatch": typeof minimatch; } +>module : { "\"tests/cases/conformance/salsa/minimatch\"": typeof minimatch; } >exports : typeof minimatch >minimatch : typeof minimatch diff --git a/tests/baselines/reference/typeFromPropertyAssignment19.types b/tests/baselines/reference/typeFromPropertyAssignment19.types index 2f5f0e87ad3..d3ca43ee0e2 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment19.types +++ b/tests/baselines/reference/typeFromPropertyAssignment19.types @@ -28,7 +28,7 @@ exports = module.exports = C >exports : typeof C >module.exports = C : typeof C >module.exports : typeof C ->module : { "tests/cases/conformance/salsa/semver": typeof C; } +>module : { "\"tests/cases/conformance/salsa/semver\"": typeof C; } >exports : typeof C >C : typeof C diff --git a/tests/baselines/reference/typeFromPropertyAssignment37.types b/tests/baselines/reference/typeFromPropertyAssignment37.types index b7355cbecf2..5a6ed5d8454 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment37.types +++ b/tests/baselines/reference/typeFromPropertyAssignment37.types @@ -25,7 +25,7 @@ const util = exports = module.exports = {} >exports : typeof import("tests/cases/conformance/salsa/mod") >module.exports = {} : typeof import("tests/cases/conformance/salsa/mod") >module.exports : typeof import("tests/cases/conformance/salsa/mod") ->module : { "tests/cases/conformance/salsa/mod": typeof import("tests/cases/conformance/salsa/mod"); } +>module : { "\"tests/cases/conformance/salsa/mod\"": typeof import("tests/cases/conformance/salsa/mod"); } >exports : typeof import("tests/cases/conformance/salsa/mod") >{} : {} diff --git a/tests/baselines/reference/typeFromPropertyAssignment38.types b/tests/baselines/reference/typeFromPropertyAssignment38.types index ce392aa9762..53a23761668 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment38.types +++ b/tests/baselines/reference/typeFromPropertyAssignment38.types @@ -10,13 +10,13 @@ F["prop"] = 3; >3 : 3 const f = function () {}; ->f : { (): void; "prop": number; } ->function () {} : { (): void; "prop": number; } +>f : { (): void; prop: number; } +>function () {} : { (): void; prop: number; } f["prop"] = 3; >f["prop"] = 3 : 3 >f["prop"] : number ->f : { (): void; "prop": number; } +>f : { (): void; prop: number; } >"prop" : "prop" >3 : 3 diff --git a/tests/baselines/reference/typeTagModuleExports.types b/tests/baselines/reference/typeTagModuleExports.types index 0e5c5282894..20da526f474 100644 --- a/tests/baselines/reference/typeTagModuleExports.types +++ b/tests/baselines/reference/typeTagModuleExports.types @@ -3,7 +3,7 @@ module.exports = 0; >module.exports = 0 : string >module.exports : string ->module : { "tests/cases/conformance/jsdoc/bug27327": string; } +>module : { "\"tests/cases/conformance/jsdoc/bug27327\"": string; } >exports : string >0 : 0 diff --git a/tests/baselines/reference/typedefCrossModule.types b/tests/baselines/reference/typedefCrossModule.types index c7719e96bb4..052ff60fc43 100644 --- a/tests/baselines/reference/typedefCrossModule.types +++ b/tests/baselines/reference/typedefCrossModule.types @@ -11,7 +11,7 @@ declare var module: { exports: any}; module.exports = C >module.exports = C : typeof C >module.exports : typeof C ->module : { "tests/cases/conformance/jsdoc/mod1": typeof C; } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": typeof C; } >exports : typeof C >C : typeof C diff --git a/tests/baselines/reference/typedefCrossModule2.types b/tests/baselines/reference/typedefCrossModule2.types index 00310fe0099..c1afae93d85 100644 --- a/tests/baselines/reference/typedefCrossModule2.types +++ b/tests/baselines/reference/typedefCrossModule2.types @@ -39,7 +39,7 @@ exports.Bar = class { } module.exports = { >module.exports = { Baz: class { }} : { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; } >module.exports : { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; } ->module : { "tests/cases/conformance/jsdoc/mod1": { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; }; } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; }; } >exports : { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; } >{ Baz: class { }} : { Baz: typeof Baz; } @@ -67,7 +67,7 @@ exports.Quid = 2; module.exports = { >module.exports = { Quack: 2} : { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; } >module.exports : { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; } ->module : { "tests/cases/conformance/jsdoc/mod1": { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; }; } +>module : { "\"tests/cases/conformance/jsdoc/mod1\"": { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; }; } >exports : { Baz: any; Bar: typeof Bar; Quid: number; } | { Quack: any; Bar: typeof Bar; Quid: number; } >{ Quack: 2} : { Quack: number; } diff --git a/tests/baselines/reference/typedefCrossModule3.types b/tests/baselines/reference/typedefCrossModule3.types index a2352eea7ff..bca3cb15698 100644 --- a/tests/baselines/reference/typedefCrossModule3.types +++ b/tests/baselines/reference/typedefCrossModule3.types @@ -14,7 +14,7 @@ ns.Foo = class {} module.exports = ns; >module.exports = ns : typeof ns >module.exports : typeof ns ->module : { "tests/cases/conformance/jsdoc/mod2": typeof ns; } +>module : { "\"tests/cases/conformance/jsdoc/mod2\"": typeof ns; } >exports : typeof ns >ns : typeof ns diff --git a/tests/baselines/reference/typedefCrossModule4.types b/tests/baselines/reference/typedefCrossModule4.types index c14a6741aa8..61c2dace77c 100644 --- a/tests/baselines/reference/typedefCrossModule4.types +++ b/tests/baselines/reference/typedefCrossModule4.types @@ -6,7 +6,7 @@ class Bar { } module.exports = { Foo: Bar }; >module.exports = { Foo: Bar } : { Foo: any; } >module.exports : { Foo: any; } ->module : { "tests/cases/conformance/jsdoc/mod3": { Foo: any; }; } +>module : { "\"tests/cases/conformance/jsdoc/mod3\"": { Foo: any; }; } >exports : { Foo: any; } >{ Foo: Bar } : { Foo: typeof Bar; } >Foo : typeof Bar diff --git a/tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.ts b/tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.ts new file mode 100644 index 00000000000..6872741c16b --- /dev/null +++ b/tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.ts @@ -0,0 +1,13 @@ +// @allowJs: true +// @checkJs: true +// @target: es6 +// @outDir: ./out +// @declaration: true +// @jsx: react +// @filename: jsDeclarationsNonIdentifierInferredNames.jsx +/// +import * as React from "react"; +const dynPropName = "data-dyn"; +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => ( + <>Hello +); \ No newline at end of file diff --git a/tests/cases/fourslash/findAllRefsImportEqualsJsonFile.ts b/tests/cases/fourslash/findAllRefsImportEqualsJsonFile.ts index f8b40c908f3..2969ef07638 100644 --- a/tests/cases/fourslash/findAllRefsImportEqualsJsonFile.ts +++ b/tests/cases/fourslash/findAllRefsImportEqualsJsonFile.ts @@ -20,5 +20,5 @@ verify.noErrors(); const [r0Def, r0, r1, r2, r3Def, r3, r4, r5, r6] = test.ranges(); verify.singleReferenceGroup('import j = require("./j.json")', [r0, r2]); verify.referenceGroups([r1, r4], [{ definition: 'module "/j"', ranges: [r1, r4, r6] }]); -verify.singleReferenceGroup('const j: {\n "x": number;\n}', [r3, r5]); +verify.singleReferenceGroup('const j: {\n x: number;\n}', [r3, r5]); verify.referenceGroups(r6, undefined); diff --git a/tests/cases/fourslash/jsDocTagsWithHyphen.ts b/tests/cases/fourslash/jsDocTagsWithHyphen.ts index 188c4298bcb..6726122a1fd 100644 --- a/tests/cases/fourslash/jsDocTagsWithHyphen.ts +++ b/tests/cases/fourslash/jsDocTagsWithHyphen.ts @@ -16,7 +16,7 @@ //// } verify.quickInfoAt('1', '(property) high-top: boolean', 'some-comments'); -verify.quickInfoAt('2', 'type Product = {\n title: string;\n high-top: boolean;\n}'); +verify.quickInfoAt('2', 'type Product = {\n title: string;\n "high-top": boolean;\n}'); verify.completions({ marker: ['3'],