@teambit/typescript 1.0.188 → 1.0.190
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +15 -15
- package/artifacts/preview/teambit_typescript_typescript-preview.js +1 -1
- package/artifacts/schema.json +15154 -0
- package/dist/cmds/check-types.cmd.js.map +1 -1
- package/dist/cmds/init.cmd.js.map +1 -1
- package/dist/cmds/write-tsconfig.cmd.js.map +1 -1
- package/dist/compiler-options.js.map +1 -1
- package/dist/dedupe-path.spec.js.map +1 -1
- package/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/transformer-not-found.js.map +1 -1
- package/dist/export-identifier.js.map +1 -1
- package/dist/extractor-options.js.map +1 -1
- package/dist/identifier-list.js.map +1 -1
- package/dist/identifier.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/preview-1710232535180.js +7 -0
- package/dist/remove-types-task.js.map +1 -1
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/schema-transformer.js.map +1 -1
- package/dist/schema-transformer.plugin.js.map +1 -1
- package/dist/sourceFileTransformers/class.js.map +1 -1
- package/dist/sourceFileTransformers/empty-line-encoder.js.map +1 -1
- package/dist/sourceFileTransformers/export.js.map +1 -1
- package/dist/sourceFileTransformers/expression-statement.js.map +1 -1
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/dist/sourceFileTransformers/index.js.map +1 -1
- package/dist/sourceFileTransformers/interface.js.map +1 -1
- package/dist/sourceFileTransformers/replaceName.js.map +1 -1
- package/dist/sourceFileTransformers/transform.js.map +1 -1
- package/dist/sourceFileTransformers/type-reference.js.map +1 -1
- package/dist/sourceFileTransformers/typeAlias.js.map +1 -1
- package/dist/sourceFileTransformers/variable.js.map +1 -1
- package/dist/transform-source-file.spec.js.map +1 -1
- package/dist/transformers/array-literal-expression.js.map +1 -1
- package/dist/transformers/array-type.js.map +1 -1
- package/dist/transformers/binding-element.js.map +1 -1
- package/dist/transformers/class-declaration.js.map +1 -1
- package/dist/transformers/conditional-type.js.map +1 -1
- package/dist/transformers/constructor.js.map +1 -1
- package/dist/transformers/decorator.js.map +1 -1
- package/dist/transformers/enum-declaration.js.map +1 -1
- package/dist/transformers/export-assignment.js.map +1 -1
- package/dist/transformers/export-declaration.js.map +1 -1
- package/dist/transformers/expression-statement.js.map +1 -1
- package/dist/transformers/function-like.js.map +1 -1
- package/dist/transformers/get-accessor.js.map +1 -1
- package/dist/transformers/import-declaration.js.map +1 -1
- package/dist/transformers/index-signature.js.map +1 -1
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/indexed-access-type.js.map +1 -1
- package/dist/transformers/interface-declaration.js.map +1 -1
- package/dist/transformers/intersection-type.js.map +1 -1
- package/dist/transformers/keyword-type.js.map +1 -1
- package/dist/transformers/literal-type.js.map +1 -1
- package/dist/transformers/literal-value.js.map +1 -1
- package/dist/transformers/module-declaration.js.map +1 -1
- package/dist/transformers/named-tuple.js.map +1 -1
- package/dist/transformers/object-literal-expression.js.map +1 -1
- package/dist/transformers/parameter.js.map +1 -1
- package/dist/transformers/parenthesized-type.js.map +1 -1
- package/dist/transformers/property-assignment.js.map +1 -1
- package/dist/transformers/property-declaration.js.map +1 -1
- package/dist/transformers/set-accessor.js.map +1 -1
- package/dist/transformers/source-file-transformer.js.map +1 -1
- package/dist/transformers/template-literal-type-span.js.map +1 -1
- package/dist/transformers/template-literal-type.js.map +1 -1
- package/dist/transformers/this-type.js.map +1 -1
- package/dist/transformers/tuple-type.js.map +1 -1
- package/dist/transformers/type-alias.js.map +1 -1
- package/dist/transformers/type-literal.js.map +1 -1
- package/dist/transformers/type-operator.js.map +1 -1
- package/dist/transformers/type-predicate.js.map +1 -1
- package/dist/transformers/type-query.js.map +1 -1
- package/dist/transformers/type-reference.js.map +1 -1
- package/dist/transformers/union-type.js.map +1 -1
- package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -1
- package/dist/transformers/utils/parse-type-from-quick-info.js.map +1 -1
- package/dist/transformers/variable-declaration.js.map +1 -1
- package/dist/transformers/variable-statement.js.map +1 -1
- package/dist/tsconfig-writer.js.map +1 -1
- package/dist/typescript.aspect.js.map +1 -1
- package/dist/typescript.composition.js.map +1 -1
- package/dist/typescript.extractor.js.map +1 -1
- package/dist/typescript.main.runtime.js.map +1 -1
- package/dist/typescript.parser.js.map +1 -1
- package/dist/typescript.parser.spec.js.map +1 -1
- package/package.json +18 -18
- package/dist/preview-1710040632859.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_lodash","_pMapSeries","_semanticsEntities","_exportIdentifier","obj","__esModule","default","SourceFileTransformer","predicate","node","kind","ts","SyntaxKind","SourceFile","getIdentifiers","sourceFile","context","exports","listExports","internals","listInternalNodes","exportIdentifiers","flatten","pMapSeries","reduce","acc","current","item","find","exportIdentifier","isEqual","push","ExportIdentifier","id","filePath","aliasId","sourceFilePath","internalIdentifiers","internalIdentifier","identifiers","transform","filter","internal","ImportDeclaration","exportDeclarations","exportNode","computeSchema","internalDeclarations","internalNode","ModuleSchema","getLocation","ast","statements","statement","ExportDeclaration","ExportAssignment","modifiers","canHaveModifiers","getModifiers","undefined","isExport","Boolean","modifier","ExportKeyword"],"sources":["source-file-transformer.ts"],"sourcesContent":["import ts, { Node, SourceFile } from 'typescript';\nimport { flatten } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { ModuleSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { ExportIdentifier } from '../export-identifier';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class SourceFileTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.SourceFile;\n }\n\n async getIdentifiers(sourceFile: SourceFile, context: SchemaExtractorContext) {\n const exports = this.listExports(sourceFile);\n const internals = this.listInternalNodes(sourceFile);\n\n // change to pMap series\n const exportIdentifiers = flatten(\n await pMapSeries(exports, (node) => {\n return context.getIdentifiers(node);\n })\n ).reduce<ExportIdentifier[]>((acc, current) => {\n const item = acc.find((exportIdentifier) => exportIdentifier.isEqual(current));\n if (!item) acc.push(new ExportIdentifier(current.id, current.filePath, current.aliasId, current.sourceFilePath));\n return acc;\n }, []);\n\n const internalIdentifiers = flatten(\n await pMapSeries(internals, (node) => {\n return context.getIdentifiers(node);\n })\n ).reduce<Identifier[]>((acc, current) => {\n const item = acc.find((internalIdentifier) => internalIdentifier.isEqual(current));\n if (!item) acc.push(current);\n return acc;\n }, []);\n\n const identifiers = [...exportIdentifiers, ...internalIdentifiers];\n\n return identifiers;\n }\n\n async transform(node: SourceFile, context: SchemaExtractorContext) {\n const exports = this.listExports(node);\n const internals = this.listInternalNodes(node).filter(\n (internal) => internal.kind !== ts.SyntaxKind.ImportDeclaration\n );\n\n const exportDeclarations = await pMapSeries(exports, (exportNode) => {\n return context.computeSchema(exportNode);\n });\n\n const internalDeclarations = await pMapSeries(internals, (internalNode) => {\n return context.computeSchema(internalNode);\n });\n\n return new ModuleSchema(context.getLocation(node), exportDeclarations, internalDeclarations);\n }\n\n /**\n * list all exports of a source file.\n */\n private listExports(ast: SourceFile): Node[] {\n return ast.statements.filter((statement) => {\n if (statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment)\n return true;\n const modifiers = ts.canHaveModifiers(statement) ? ts.getModifiers(statement) : undefined;\n const isExport = Boolean(\n modifiers?.find((modifier) => {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })\n );\n return isExport;\n });\n }\n\n private listInternalNodes(ast: SourceFile): Node[] {\n return ast.statements.filter((statement) => {\n const modifiers = ts.canHaveModifiers(statement) ? ts.getModifiers(statement) : undefined;\n if (\n !(statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment) &&\n !modifiers?.find((modifier) => {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })\n ) {\n return true;\n }\n\n return false;\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_lodash","_pMapSeries","_semanticsEntities","_exportIdentifier","obj","__esModule","default","SourceFileTransformer","predicate","node","kind","ts","SyntaxKind","SourceFile","getIdentifiers","sourceFile","context","exports","listExports","internals","listInternalNodes","exportIdentifiers","flatten","pMapSeries","reduce","acc","current","item","find","exportIdentifier","isEqual","push","ExportIdentifier","id","filePath","aliasId","sourceFilePath","internalIdentifiers","internalIdentifier","identifiers","transform","filter","internal","ImportDeclaration","exportDeclarations","exportNode","computeSchema","internalDeclarations","internalNode","ModuleSchema","getLocation","ast","statements","statement","ExportDeclaration","ExportAssignment","modifiers","canHaveModifiers","getModifiers","undefined","isExport","Boolean","modifier","ExportKeyword"],"sources":["source-file-transformer.ts"],"sourcesContent":["import ts, { Node, SourceFile } from 'typescript';\nimport { flatten } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { ModuleSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { ExportIdentifier } from '../export-identifier';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class SourceFileTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.SourceFile;\n }\n\n async getIdentifiers(sourceFile: SourceFile, context: SchemaExtractorContext) {\n const exports = this.listExports(sourceFile);\n const internals = this.listInternalNodes(sourceFile);\n\n // change to pMap series\n const exportIdentifiers = flatten(\n await pMapSeries(exports, (node) => {\n return context.getIdentifiers(node);\n })\n ).reduce<ExportIdentifier[]>((acc, current) => {\n const item = acc.find((exportIdentifier) => exportIdentifier.isEqual(current));\n if (!item) acc.push(new ExportIdentifier(current.id, current.filePath, current.aliasId, current.sourceFilePath));\n return acc;\n }, []);\n\n const internalIdentifiers = flatten(\n await pMapSeries(internals, (node) => {\n return context.getIdentifiers(node);\n })\n ).reduce<Identifier[]>((acc, current) => {\n const item = acc.find((internalIdentifier) => internalIdentifier.isEqual(current));\n if (!item) acc.push(current);\n return acc;\n }, []);\n\n const identifiers = [...exportIdentifiers, ...internalIdentifiers];\n\n return identifiers;\n }\n\n async transform(node: SourceFile, context: SchemaExtractorContext) {\n const exports = this.listExports(node);\n const internals = this.listInternalNodes(node).filter(\n (internal) => internal.kind !== ts.SyntaxKind.ImportDeclaration\n );\n\n const exportDeclarations = await pMapSeries(exports, (exportNode) => {\n return context.computeSchema(exportNode);\n });\n\n const internalDeclarations = await pMapSeries(internals, (internalNode) => {\n return context.computeSchema(internalNode);\n });\n\n return new ModuleSchema(context.getLocation(node), exportDeclarations, internalDeclarations);\n }\n\n /**\n * list all exports of a source file.\n */\n private listExports(ast: SourceFile): Node[] {\n return ast.statements.filter((statement) => {\n if (statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment)\n return true;\n const modifiers = ts.canHaveModifiers(statement) ? ts.getModifiers(statement) : undefined;\n const isExport = Boolean(\n modifiers?.find((modifier) => {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })\n );\n return isExport;\n });\n }\n\n private listInternalNodes(ast: SourceFile): Node[] {\n return ast.statements.filter((statement) => {\n const modifiers = ts.canHaveModifiers(statement) ? ts.getModifiers(statement) : undefined;\n if (\n !(statement.kind === ts.SyntaxKind.ExportDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment) &&\n !modifiers?.find((modifier) => {\n return modifier.kind === ts.SyntaxKind.ExportKeyword;\n })\n ) {\n return true;\n }\n\n return false;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_semanticsEntities","TemplateLiteralTypeSpanTransformer","predicate","node","kind","SyntaxKind","TemplateLiteralTypeSpan","getIdentifiers","transform","context","type","computeSchema","literal","text","TemplateLiteralTypeSpanSchema","getLocation","exports"],"sources":["template-literal-type-span.ts"],"sourcesContent":["import { Node, SyntaxKind, TemplateLiteralTypeSpan } from 'typescript';\nimport { TemplateLiteralTypeSpanSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TemplateLiteralTypeSpanTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TemplateLiteralTypeSpan;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TemplateLiteralTypeSpan, context: SchemaExtractorContext) {\n const type = await context.computeSchema(node.type);\n const literal = node.literal.text;\n return new TemplateLiteralTypeSpanSchema(context.getLocation(node), literal, type);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMG,kCAAkC,CAA8B;EAC3EC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,uBAAuB;EACzD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAA6B,EAAEM,OAA+B,EAAE;IAC9E,MAAMC,IAAI,GAAG,MAAMD,OAAO,CAACE,aAAa,CAACR,IAAI,CAACO,IAAI,CAAC;IACnD,MAAME,OAAO,GAAGT,IAAI,CAACS,OAAO,CAACC,IAAI;IACjC,OAAO,KAAIC,kDAA6B,EAACL,OAAO,CAACM,WAAW,CAACZ,IAAI,CAAC,EAAES,OAAO,EAAEF,IAAI,CAAC;EACpF;AACF;AAACM,OAAA,CAAAf,kCAAA,GAAAA,kCAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_semanticsEntities","TemplateLiteralTypeSpanTransformer","predicate","node","kind","SyntaxKind","TemplateLiteralTypeSpan","getIdentifiers","transform","context","type","computeSchema","literal","text","TemplateLiteralTypeSpanSchema","getLocation","exports"],"sources":["template-literal-type-span.ts"],"sourcesContent":["import { Node, SyntaxKind, TemplateLiteralTypeSpan } from 'typescript';\nimport { TemplateLiteralTypeSpanSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TemplateLiteralTypeSpanTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TemplateLiteralTypeSpan;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TemplateLiteralTypeSpan, context: SchemaExtractorContext) {\n const type = await context.computeSchema(node.type);\n const literal = node.literal.text;\n return new TemplateLiteralTypeSpanSchema(context.getLocation(node), literal, type);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMG,kCAAkC,CAA8B;EAC3EC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,uBAAuB;EACzD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAA6B,EAAEM,OAA+B,EAAE;IAC9E,MAAMC,IAAI,GAAG,MAAMD,OAAO,CAACE,aAAa,CAACR,IAAI,CAACO,IAAI,CAAC;IACnD,MAAME,OAAO,GAAGT,IAAI,CAACS,OAAO,CAACC,IAAI;IACjC,OAAO,KAAIC,kDAA6B,EAACL,OAAO,CAACM,WAAW,CAACZ,IAAI,CAAC,EAAES,OAAO,EAAEF,IAAI,CAAC;EACpF;AACF;AAACM,OAAA,CAAAf,kCAAA,GAAAA,kCAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_pMapSeries","_interopRequireDefault","_semanticsEntities","obj","__esModule","default","TemplateLiteralTypeTransformer","predicate","node","kind","SyntaxKind","TemplateLiteralType","getIdentifiers","transform","context","templateSpans","pMapSeries","span","computeSchema","head","text","TemplateLiteralTypeSchema","getLocation","exports"],"sources":["template-literal-type.ts"],"sourcesContent":["import { Node, SyntaxKind, TemplateLiteralTypeNode } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport { TemplateLiteralTypeSchema, TemplateLiteralTypeSpanSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TemplateLiteralTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TemplateLiteralType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TemplateLiteralTypeNode, context: SchemaExtractorContext) {\n const templateSpans = (await pMapSeries(node.templateSpans, (span) =>\n context.computeSchema(span)\n )) as TemplateLiteralTypeSpanSchema[];\n const head = node.head.text;\n return new TemplateLiteralTypeSchema(context.getLocation(node), head, templateSpans);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,mBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,kBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuH,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKhH,MAAMG,8BAA8B,CAA8B;EACvEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,mBAAmB;EACrD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAA6B,EAAEM,OAA+B,EAAE;IAC9E,MAAMC,aAAa,GAAI,MAAM,IAAAC,qBAAU,EAACR,IAAI,CAACO,aAAa,EAAGE,IAAI,IAC/DH,OAAO,CAACI,aAAa,CAACD,IAAI,CAC5B,CAAqC;IACrC,MAAME,IAAI,GAAGX,IAAI,CAACW,IAAI,CAACC,IAAI;IAC3B,OAAO,KAAIC,8CAAyB,EAACP,OAAO,CAACQ,WAAW,CAACd,IAAI,CAAC,EAAEW,IAAI,EAAEJ,aAAa,CAAC;EACtF;AACF;AAACQ,OAAA,CAAAjB,8BAAA,GAAAA,8BAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_pMapSeries","_interopRequireDefault","_semanticsEntities","obj","__esModule","default","TemplateLiteralTypeTransformer","predicate","node","kind","SyntaxKind","TemplateLiteralType","getIdentifiers","transform","context","templateSpans","pMapSeries","span","computeSchema","head","text","TemplateLiteralTypeSchema","getLocation","exports"],"sources":["template-literal-type.ts"],"sourcesContent":["import { Node, SyntaxKind, TemplateLiteralTypeNode } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport { TemplateLiteralTypeSchema, TemplateLiteralTypeSpanSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TemplateLiteralTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TemplateLiteralType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TemplateLiteralTypeNode, context: SchemaExtractorContext) {\n const templateSpans = (await pMapSeries(node.templateSpans, (span) =>\n context.computeSchema(span)\n )) as TemplateLiteralTypeSpanSchema[];\n const head = node.head.text;\n return new TemplateLiteralTypeSchema(context.getLocation(node), head, templateSpans);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,mBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,kBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuH,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKhH,MAAMG,8BAA8B,CAA8B;EACvEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,mBAAmB;EACrD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAA6B,EAAEM,OAA+B,EAAE;IAC9E,MAAMC,aAAa,GAAI,MAAM,IAAAC,qBAAU,EAACR,IAAI,CAACO,aAAa,EAAGE,IAAI,IAC/DH,OAAO,CAACI,aAAa,CAACD,IAAI,CAC5B,CAAqC;IACrC,MAAME,IAAI,GAAGX,IAAI,CAACW,IAAI,CAACC,IAAI;IAC3B,OAAO,KAAIC,8CAAyB,EAACP,OAAO,CAACQ,WAAW,CAACd,IAAI,CAAC,EAAEW,IAAI,EAAEJ,aAAa,CAAC;EACtF;AACF;AAACQ,OAAA,CAAAjB,8BAAA,GAAAA,8BAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_semanticsEntities","ThisTypeTransformer","predicate","node","kind","SyntaxKind","ThisType","getIdentifiers","transform","context","ThisTypeSchema","getLocation","exports"],"sources":["this-type.ts"],"sourcesContent":["import { Node, SyntaxKind, ThisTypeNode } from 'typescript';\nimport { ThisTypeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class ThisTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.ThisType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: ThisTypeNode, context: SchemaExtractorContext) {\n return new ThisTypeSchema(context.getLocation(node), 'this');\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMG,mBAAmB,CAA8B;EAC5DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,QAAQ;EAC1C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAkB,EAAEM,OAA+B,EAAE;IACnE,OAAO,KAAIC,mCAAc,EAACD,OAAO,CAACE,WAAW,CAACR,IAAI,CAAC,EAAE,MAAM,CAAC;EAC9D;AACF;AAACS,OAAA,CAAAX,mBAAA,GAAAA,mBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_semanticsEntities","ThisTypeTransformer","predicate","node","kind","SyntaxKind","ThisType","getIdentifiers","transform","context","ThisTypeSchema","getLocation","exports"],"sources":["this-type.ts"],"sourcesContent":["import { Node, SyntaxKind, ThisTypeNode } from 'typescript';\nimport { ThisTypeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class ThisTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.ThisType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: ThisTypeNode, context: SchemaExtractorContext) {\n return new ThisTypeSchema(context.getLocation(node), 'this');\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMG,mBAAmB,CAA8B;EAC5DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,QAAQ;EAC1C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAkB,EAAEM,OAA+B,EAAE;IACnE,OAAO,KAAIC,mCAAc,EAACD,OAAO,CAACE,WAAW,CAACR,IAAI,CAAC,EAAE,MAAM,CAAC;EAC9D;AACF;AAACS,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_pMapSeries","_interopRequireDefault","_semanticsEntities","obj","__esModule","default","TupleTypeTransformer","predicate","node","kind","SyntaxKind","TupleType","getIdentifiers","transform","context","elements","pMapSeries","elem","typeSchema","computeSchema","TupleTypeSchema","getLocation","exports"],"sources":["tuple-type.ts"],"sourcesContent":["import { Node, SyntaxKind, TupleTypeNode } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport { TupleTypeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TupleTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TupleType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TupleTypeNode, context: SchemaExtractorContext) {\n const elements = await pMapSeries(node.elements, async (elem) => {\n const typeSchema = await context.computeSchema(elem);\n return typeSchema;\n });\n return new TupleTypeSchema(context.getLocation(node), elements);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,mBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,kBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8E,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKvE,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,SAAS;EAC3C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAmB,EAAEM,OAA+B,EAAE;IACpE,MAAMC,QAAQ,GAAG,MAAM,IAAAC,qBAAU,EAACR,IAAI,CAACO,QAAQ,EAAE,MAAOE,IAAI,IAAK;MAC/D,MAAMC,UAAU,GAAG,MAAMJ,OAAO,CAACK,aAAa,CAACF,IAAI,CAAC;MACpD,OAAOC,UAAU;IACnB,CAAC,CAAC;IACF,OAAO,KAAIE,oCAAe,EAACN,OAAO,CAACO,WAAW,CAACb,IAAI,CAAC,EAAEO,QAAQ,CAAC;EACjE;AACF;AAACO,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_pMapSeries","_interopRequireDefault","_semanticsEntities","obj","__esModule","default","TupleTypeTransformer","predicate","node","kind","SyntaxKind","TupleType","getIdentifiers","transform","context","elements","pMapSeries","elem","typeSchema","computeSchema","TupleTypeSchema","getLocation","exports"],"sources":["tuple-type.ts"],"sourcesContent":["import { Node, SyntaxKind, TupleTypeNode } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport { TupleTypeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TupleTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TupleType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TupleTypeNode, context: SchemaExtractorContext) {\n const elements = await pMapSeries(node.elements, async (elem) => {\n const typeSchema = await context.computeSchema(elem);\n return typeSchema;\n });\n return new TupleTypeSchema(context.getLocation(node), elements);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,mBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,kBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8E,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKvE,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,SAAS;EAC3C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAmB,EAAEM,OAA+B,EAAE;IACpE,MAAMC,QAAQ,GAAG,MAAM,IAAAC,qBAAU,EAACR,IAAI,CAACO,QAAQ,EAAE,MAAOE,IAAI,IAAK;MAC/D,MAAMC,UAAU,GAAG,MAAMJ,OAAO,CAACK,aAAa,CAACF,IAAI,CAAC;MACpD,OAAOC,UAAU;IACnB,CAAC,CAAC;IACF,OAAO,KAAIE,oCAAe,EAACN,OAAO,CAACO,WAAW,CAACb,IAAI,CAAC,EAAEO,QAAQ,CAAC;EACjE;AACF;AAACO,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_identifier","obj","__esModule","default","TypeAliasTransformer","predicate","node","kind","ts","SyntaxKind","TypeAliasDeclaration","getIdentifiers","Identifier","name","getText","getSourceFile","fileName","getName","transform","typeAlias","context","type","computeSchema","displaySig","getQuickInfoDisplayString","doc","jsDocToDocSchema","TypeSchema","getLocation","exports"],"sources":["type-alias.ts"],"sourcesContent":["import ts, { Node, TypeAliasDeclaration } from 'typescript';\nimport { TypeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TypeAliasTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeAliasDeclaration;\n }\n\n async getIdentifiers(node: TypeAliasDeclaration) {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n private getName(node: TypeAliasDeclaration): string {\n return node.name.getText();\n }\n\n async transform(typeAlias: TypeAliasDeclaration, context: SchemaExtractorContext) {\n const type = await context.computeSchema(typeAlias.type);\n const displaySig = await context.getQuickInfoDisplayString(typeAlias.name);\n const doc = await context.jsDocToDocSchema(typeAlias);\n return new TypeSchema(context.getLocation(typeAlias), this.getName(typeAlias), type, displaySig, doc);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,oBAAoB;EACzD;EAEA,MAAMC,cAAcA,CAACL,IAA0B,EAAE;IAC/C,OAAO,CAAC,KAAIM,wBAAU,EAACN,IAAI,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC,EAAER,IAAI,CAACS,aAAa,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7E;EAEQC,OAAOA,CAACX,IAA0B,EAAU;IAClD,OAAOA,IAAI,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC;EAC5B;EAEA,MAAMI,SAASA,CAACC,SAA+B,EAAEC,OAA+B,EAAE;IAChF,MAAMC,IAAI,GAAG,MAAMD,OAAO,CAACE,aAAa,CAACH,SAAS,CAACE,IAAI,CAAC;IACxD,MAAME,UAAU,GAAG,MAAMH,OAAO,CAACI,yBAAyB,CAACL,SAAS,CAACN,IAAI,CAAC;IAC1E,MAAMY,GAAG,GAAG,MAAML,OAAO,CAACM,gBAAgB,CAACP,SAAS,CAAC;IACrD,OAAO,KAAIQ,+BAAU,EAACP,OAAO,CAACQ,WAAW,CAACT,SAAS,CAAC,EAAE,IAAI,CAACF,OAAO,CAACE,SAAS,CAAC,EAAEE,IAAI,EAAEE,UAAU,EAAEE,GAAG,CAAC;EACvG;AACF;AAACI,OAAA,CAAAzB,oBAAA,GAAAA,oBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_identifier","obj","__esModule","default","TypeAliasTransformer","predicate","node","kind","ts","SyntaxKind","TypeAliasDeclaration","getIdentifiers","Identifier","name","getText","getSourceFile","fileName","getName","transform","typeAlias","context","type","computeSchema","displaySig","getQuickInfoDisplayString","doc","jsDocToDocSchema","TypeSchema","getLocation","exports"],"sources":["type-alias.ts"],"sourcesContent":["import ts, { Node, TypeAliasDeclaration } from 'typescript';\nimport { TypeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TypeAliasTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeAliasDeclaration;\n }\n\n async getIdentifiers(node: TypeAliasDeclaration) {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n private getName(node: TypeAliasDeclaration): string {\n return node.name.getText();\n }\n\n async transform(typeAlias: TypeAliasDeclaration, context: SchemaExtractorContext) {\n const type = await context.computeSchema(typeAlias.type);\n const displaySig = await context.getQuickInfoDisplayString(typeAlias.name);\n const doc = await context.jsDocToDocSchema(typeAlias);\n return new TypeSchema(context.getLocation(typeAlias), this.getName(typeAlias), type, displaySig, doc);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,oBAAoB;EACzD;EAEA,MAAMC,cAAcA,CAACL,IAA0B,EAAE;IAC/C,OAAO,CAAC,KAAIM,wBAAU,EAACN,IAAI,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC,EAAER,IAAI,CAACS,aAAa,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7E;EAEQC,OAAOA,CAACX,IAA0B,EAAU;IAClD,OAAOA,IAAI,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC;EAC5B;EAEA,MAAMI,SAASA,CAACC,SAA+B,EAAEC,OAA+B,EAAE;IAChF,MAAMC,IAAI,GAAG,MAAMD,OAAO,CAACE,aAAa,CAACH,SAAS,CAACE,IAAI,CAAC;IACxD,MAAME,UAAU,GAAG,MAAMH,OAAO,CAACI,yBAAyB,CAACL,SAAS,CAACN,IAAI,CAAC;IAC1E,MAAMY,GAAG,GAAG,MAAML,OAAO,CAACM,gBAAgB,CAACP,SAAS,CAAC;IACrD,OAAO,KAAIQ,+BAAU,EAACP,OAAO,CAACQ,WAAW,CAACT,SAAS,CAAC,EAAE,IAAI,CAACF,OAAO,CAACE,SAAS,CAAC,EAAEE,IAAI,EAAEE,UAAU,EAAEE,GAAG,CAAC;EACvG;AACF;AAACI,OAAA,CAAAzB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_pMapSeries","obj","__esModule","default","TypeLiteralTransformer","predicate","node","kind","ts","SyntaxKind","TypeLiteral","getIdentifiers","transform","context","members","pMapSeries","member","computeSchema","location","getLocation","TypeLiteralSchema","exports"],"sources":["type-literal.ts"],"sourcesContent":["import ts, { Node, TypeLiteralNode } from 'typescript';\nimport { TypeLiteralSchema } from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * not to be confused with \"LiteralType\", which is string/boolean/null.\n * this \"TypeLiteral\" is an object with properties, such as: `{ a: string; b: number }`, similar to Interface.\n */\nexport class TypeLiteralTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeLiteral;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeLiteralNode, context: SchemaExtractorContext) {\n const members = await pMapSeries(node.members, (member) => context.computeSchema(member));\n const location = context.getLocation(node);\n return new TypeLiteralSchema(location, members);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKtC;AACA;AACA;AACA;AACO,MAAMG,sBAAsB,CAA8B;EAC/DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,WAAW;EAChD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAqB,EAAEO,OAA+B,EAAE;IACtE,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAACT,IAAI,CAACQ,OAAO,EAAGE,MAAM,IAAKH,OAAO,CAACI,aAAa,CAACD,MAAM,CAAC,CAAC;IACzF,MAAME,QAAQ,GAAGL,OAAO,CAACM,WAAW,CAACb,IAAI,CAAC;IAC1C,OAAO,KAAIc,sCAAiB,EAACF,QAAQ,EAAEJ,OAAO,CAAC;EACjD;AACF;AAACO,OAAA,CAAAjB,sBAAA,GAAAA,sBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_pMapSeries","obj","__esModule","default","TypeLiteralTransformer","predicate","node","kind","ts","SyntaxKind","TypeLiteral","getIdentifiers","transform","context","members","pMapSeries","member","computeSchema","location","getLocation","TypeLiteralSchema","exports"],"sources":["type-literal.ts"],"sourcesContent":["import ts, { Node, TypeLiteralNode } from 'typescript';\nimport { TypeLiteralSchema } from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * not to be confused with \"LiteralType\", which is string/boolean/null.\n * this \"TypeLiteral\" is an object with properties, such as: `{ a: string; b: number }`, similar to Interface.\n */\nexport class TypeLiteralTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeLiteral;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeLiteralNode, context: SchemaExtractorContext) {\n const members = await pMapSeries(node.members, (member) => context.computeSchema(member));\n const location = context.getLocation(node);\n return new TypeLiteralSchema(location, members);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKtC;AACA;AACA;AACA;AACO,MAAMG,sBAAsB,CAA8B;EAC/DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,WAAW;EAChD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAqB,EAAEO,OAA+B,EAAE;IACtE,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAACT,IAAI,CAACQ,OAAO,EAAGE,MAAM,IAAKH,OAAO,CAACI,aAAa,CAACD,MAAM,CAAC,CAAC;IACzF,MAAME,QAAQ,GAAGL,OAAO,CAACM,WAAW,CAACb,IAAI,CAAC;IAC1C,OAAO,KAAIc,sCAAiB,EAACF,QAAQ,EAAEJ,OAAO,CAAC;EACjD;AACF;AAACO,OAAA,CAAAjB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_semanticsEntities","TypeOperatorTransformer","predicate","node","kind","SyntaxKind","TypeOperator","getIdentifiers","transform","context","operatorName","getOperatorName","operator","type","computeSchema","TypeOperatorSchema","getLocation","KeyOfKeyword","UniqueKeyword","ReadonlyKeyword","Error","exports"],"sources":["type-operator.ts"],"sourcesContent":["import { Node, TypeOperatorNode, SyntaxKind } from 'typescript';\nimport { TypeOperatorSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * e.g. keyof typeof Foo\n */\nexport class TypeOperatorTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TypeOperator;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeOperatorNode, context: SchemaExtractorContext) {\n const operatorName = this.getOperatorName(node.operator);\n const type = await context.computeSchema(node.type);\n return new TypeOperatorSchema(context.getLocation(node), operatorName, type);\n }\n\n getOperatorName(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword) {\n switch (operator) {\n case SyntaxKind.KeyOfKeyword:\n return 'keyof';\n case SyntaxKind.UniqueKeyword:\n return 'unique';\n case SyntaxKind.ReadonlyKeyword:\n return 'readonly';\n default:\n throw new Error(`getOperatorName: unable to find operator name for ${operator}`);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA;AACA;AACA;AACO,MAAMG,uBAAuB,CAA8B;EAChEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,YAAY;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAsB,EAAEM,OAA+B,EAAE;IACvE,MAAMC,YAAY,GAAG,IAAI,CAACC,eAAe,CAACR,IAAI,CAACS,QAAQ,CAAC;IACxD,MAAMC,IAAI,GAAG,MAAMJ,OAAO,CAACK,aAAa,CAACX,IAAI,CAACU,IAAI,CAAC;IACnD,OAAO,KAAIE,uCAAkB,EAACN,OAAO,CAACO,WAAW,CAACb,IAAI,CAAC,EAAEO,YAAY,EAAEG,IAAI,CAAC;EAC9E;EAEAF,eAAeA,CAACC,QAAyF,EAAE;IACzG,QAAQA,QAAQ;MACd,KAAKP,wBAAU,CAACY,YAAY;QAC1B,OAAO,OAAO;MAChB,KAAKZ,wBAAU,CAACa,aAAa;QAC3B,OAAO,QAAQ;MACjB,KAAKb,wBAAU,CAACc,eAAe;QAC7B,OAAO,UAAU;MACnB;QACE,MAAM,IAAIC,KAAK,CAAE,qDAAoDR,QAAS,EAAC,CAAC;IACpF;EACF;AACF;AAACS,OAAA,CAAApB,uBAAA,GAAAA,uBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_semanticsEntities","TypeOperatorTransformer","predicate","node","kind","SyntaxKind","TypeOperator","getIdentifiers","transform","context","operatorName","getOperatorName","operator","type","computeSchema","TypeOperatorSchema","getLocation","KeyOfKeyword","UniqueKeyword","ReadonlyKeyword","Error","exports"],"sources":["type-operator.ts"],"sourcesContent":["import { Node, TypeOperatorNode, SyntaxKind } from 'typescript';\nimport { TypeOperatorSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * e.g. keyof typeof Foo\n */\nexport class TypeOperatorTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TypeOperator;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeOperatorNode, context: SchemaExtractorContext) {\n const operatorName = this.getOperatorName(node.operator);\n const type = await context.computeSchema(node.type);\n return new TypeOperatorSchema(context.getLocation(node), operatorName, type);\n }\n\n getOperatorName(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword) {\n switch (operator) {\n case SyntaxKind.KeyOfKeyword:\n return 'keyof';\n case SyntaxKind.UniqueKeyword:\n return 'unique';\n case SyntaxKind.ReadonlyKeyword:\n return 'readonly';\n default:\n throw new Error(`getOperatorName: unable to find operator name for ${operator}`);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA;AACA;AACA;AACO,MAAMG,uBAAuB,CAA8B;EAChEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,YAAY;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAsB,EAAEM,OAA+B,EAAE;IACvE,MAAMC,YAAY,GAAG,IAAI,CAACC,eAAe,CAACR,IAAI,CAACS,QAAQ,CAAC;IACxD,MAAMC,IAAI,GAAG,MAAMJ,OAAO,CAACK,aAAa,CAACX,IAAI,CAACU,IAAI,CAAC;IACnD,OAAO,KAAIE,uCAAkB,EAACN,OAAO,CAACO,WAAW,CAACb,IAAI,CAAC,EAAEO,YAAY,EAAEG,IAAI,CAAC;EAC9E;EAEAF,eAAeA,CAACC,QAAyF,EAAE;IACzG,QAAQA,QAAQ;MACd,KAAKP,wBAAU,CAACY,YAAY;QAC1B,OAAO,OAAO;MAChB,KAAKZ,wBAAU,CAACa,aAAa;QAC3B,OAAO,QAAQ;MACjB,KAAKb,wBAAU,CAACc,eAAe;QAC7B,OAAO,UAAU;MACnB;QACE,MAAM,IAAIC,KAAK,CAAE,qDAAoDR,QAAS,EAAC,CAAC;IACpF;EACF;AACF;AAACS,OAAA,CAAApB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_semanticsEntities","TypePredicateTransformer","predicate","node","kind","SyntaxKind","TypePredicate","getIdentifiers","transform","context","parameterName","isIdentifier","getText","type","computeSchema","undefined","hasAssertsModifier","Boolean","assertsModifier","TypePredicateSchema","getLocation","exports"],"sources":["type-predicate.ts"],"sourcesContent":["import { isIdentifier, Node, SyntaxKind, TypePredicateNode } from 'typescript';\nimport { TypePredicateSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TypePredicateTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TypePredicate;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypePredicateNode, context: SchemaExtractorContext) {\n const parameterName = isIdentifier(node.parameterName) ? node.parameterName.getText() : 'this';\n const type = node.type ? await context.computeSchema(node.type) : undefined;\n const hasAssertsModifier = Boolean(node.assertsModifier);\n return new TypePredicateSchema(context.getLocation(node), parameterName, type, hasAssertsModifier);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMG,wBAAwB,CAA8B;EACjEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,aAAa;EAC/C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAuB,EAAEM,OAA+B,EAAE;IACxE,MAAMC,aAAa,GAAG,IAAAC,0BAAY,EAACR,IAAI,CAACO,aAAa,CAAC,GAAGP,IAAI,CAACO,aAAa,CAACE,OAAO,CAAC,CAAC,GAAG,MAAM;IAC9F,MAAMC,IAAI,GAAGV,IAAI,CAACU,IAAI,GAAG,MAAMJ,OAAO,CAACK,aAAa,CAACX,IAAI,CAACU,IAAI,CAAC,GAAGE,SAAS;IAC3E,MAAMC,kBAAkB,GAAGC,OAAO,CAACd,IAAI,CAACe,eAAe,CAAC;IACxD,OAAO,KAAIC,wCAAmB,EAACV,OAAO,CAACW,WAAW,CAACjB,IAAI,CAAC,EAAEO,aAAa,EAAEG,IAAI,EAAEG,kBAAkB,CAAC;EACpG;AACF;AAACK,OAAA,CAAApB,wBAAA,GAAAA,wBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_semanticsEntities","TypePredicateTransformer","predicate","node","kind","SyntaxKind","TypePredicate","getIdentifiers","transform","context","parameterName","isIdentifier","getText","type","computeSchema","undefined","hasAssertsModifier","Boolean","assertsModifier","TypePredicateSchema","getLocation","exports"],"sources":["type-predicate.ts"],"sourcesContent":["import { isIdentifier, Node, SyntaxKind, TypePredicateNode } from 'typescript';\nimport { TypePredicateSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class TypePredicateTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === SyntaxKind.TypePredicate;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypePredicateNode, context: SchemaExtractorContext) {\n const parameterName = isIdentifier(node.parameterName) ? node.parameterName.getText() : 'this';\n const type = node.type ? await context.computeSchema(node.type) : undefined;\n const hasAssertsModifier = Boolean(node.assertsModifier);\n return new TypePredicateSchema(context.getLocation(node), parameterName, type, hasAssertsModifier);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMG,wBAAwB,CAA8B;EACjEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,wBAAU,CAACC,aAAa;EAC/C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACL,IAAuB,EAAEM,OAA+B,EAAE;IACxE,MAAMC,aAAa,GAAG,IAAAC,0BAAY,EAACR,IAAI,CAACO,aAAa,CAAC,GAAGP,IAAI,CAACO,aAAa,CAACE,OAAO,CAAC,CAAC,GAAG,MAAM;IAC9F,MAAMC,IAAI,GAAGV,IAAI,CAACU,IAAI,GAAG,MAAMJ,OAAO,CAACK,aAAa,CAACX,IAAI,CAACU,IAAI,CAAC,GAAGE,SAAS;IAC3E,MAAMC,kBAAkB,GAAGC,OAAO,CAACd,IAAI,CAACe,eAAe,CAAC;IACxD,OAAO,KAAIC,wCAAmB,EAACV,OAAO,CAACW,WAAW,CAACjB,IAAI,CAAC,EAAEO,aAAa,EAAEG,IAAI,EAAEG,kBAAkB,CAAC;EACpG;AACF;AAACK,OAAA,CAAApB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","obj","__esModule","default","TypeQueryTransformer","predicate","node","kind","ts","SyntaxKind","TypeQuery","getIdentifiers","transform","context","displaySig","getQuickInfoDisplayString","exprName","type","resolveType","getText","location","getLocation","TypeQuerySchema","exports"],"sources":["type-query.ts"],"sourcesContent":["import ts, { Node, TypeQueryNode } from 'typescript';\nimport { TypeQuerySchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * e.g. `typeof Foo`\n */\nexport class TypeQueryTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeQuery;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeQueryNode, context: SchemaExtractorContext) {\n const displaySig = await context.getQuickInfoDisplayString(node.exprName);\n const type = await context.resolveType(node.exprName, node.exprName.getText(), false);\n const location = context.getLocation(node);\n return new TypeQuerySchema(location, type, displaySig);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8E,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAK9E;AACA;AACA;AACO,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,SAAS;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAmB,EAAEO,OAA+B,EAAE;IACpE,MAAMC,UAAU,GAAG,MAAMD,OAAO,CAACE,yBAAyB,CAACT,IAAI,CAACU,QAAQ,CAAC;IACzE,MAAMC,IAAI,GAAG,MAAMJ,OAAO,CAACK,WAAW,CAACZ,IAAI,CAACU,QAAQ,EAAEV,IAAI,CAACU,QAAQ,CAACG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;IACrF,MAAMC,QAAQ,GAAGP,OAAO,CAACQ,WAAW,CAACf,IAAI,CAAC;IAC1C,OAAO,KAAIgB,oCAAe,EAACF,QAAQ,EAAEH,IAAI,EAAEH,UAAU,CAAC;EACxD;AACF;AAACS,OAAA,CAAAnB,oBAAA,GAAAA,oBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","obj","__esModule","default","TypeQueryTransformer","predicate","node","kind","ts","SyntaxKind","TypeQuery","getIdentifiers","transform","context","displaySig","getQuickInfoDisplayString","exprName","type","resolveType","getText","location","getLocation","TypeQuerySchema","exports"],"sources":["type-query.ts"],"sourcesContent":["import ts, { Node, TypeQueryNode } from 'typescript';\nimport { TypeQuerySchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * e.g. `typeof Foo`\n */\nexport class TypeQueryTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeQuery;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeQueryNode, context: SchemaExtractorContext) {\n const displaySig = await context.getQuickInfoDisplayString(node.exprName);\n const type = await context.resolveType(node.exprName, node.exprName.getText(), false);\n const location = context.getLocation(node);\n return new TypeQuerySchema(location, type, displaySig);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8E,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAK9E;AACA;AACA;AACO,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,SAAS;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAmB,EAAEO,OAA+B,EAAE;IACpE,MAAMC,UAAU,GAAG,MAAMD,OAAO,CAACE,yBAAyB,CAACT,IAAI,CAACU,QAAQ,CAAC;IACzE,MAAMC,IAAI,GAAG,MAAMJ,OAAO,CAACK,WAAW,CAACZ,IAAI,CAACU,QAAQ,EAAEV,IAAI,CAACU,QAAQ,CAACG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;IACrF,MAAMC,QAAQ,GAAGP,OAAO,CAACQ,WAAW,CAACf,IAAI,CAAC;IAC1C,OAAO,KAAIgB,oCAAe,EAACF,QAAQ,EAAEH,IAAI,EAAEH,UAAU,CAAC;EACxD;AACF;AAACS,OAAA,CAAAnB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_pMapSeries","obj","__esModule","default","TypeReferenceTransformer","predicate","node","kind","ts","SyntaxKind","TypeReference","getIdentifiers","transform","context","name","typeName","getText","type","resolveType","TypeRefSchema","getLocation","typeArguments","args","pMapSeries","arg","computeSchema","withTypeArgs","exports"],"sources":["type-reference.ts"],"sourcesContent":["import ts, { Node, TypeReferenceNode } from 'typescript';\nimport { TypeRefSchema } from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * In the following example, `AriaButtonProps` is a type reference\n * ```ts\n * import type { AriaButtonProps } from '@react-types/button';\n * export type ButtonProps = AriaButtonProps & { a: string };\n * ```\n */\nexport class TypeReferenceTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeReference;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeReferenceNode, context: SchemaExtractorContext) {\n const name = node.typeName.getText();\n let type = await context.resolveType(node, name, false);\n if (!(type instanceof TypeRefSchema)) {\n type = new TypeRefSchema(context.getLocation(node), name);\n }\n if (node.typeArguments && type instanceof TypeRefSchema) {\n const args = await pMapSeries(node.typeArguments, (arg) => context.computeSchema(arg));\n type.withTypeArgs(args);\n }\n return type;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKtC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,wBAAwB,CAA8B;EACjEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,aAAa;EAClD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAuB,EAAEO,OAA+B,EAAE;IACxE,MAAMC,IAAI,GAAGR,IAAI,CAACS,QAAQ,CAACC,OAAO,CAAC,CAAC;IACpC,IAAIC,IAAI,GAAG,MAAMJ,OAAO,CAACK,WAAW,CAACZ,IAAI,EAAEQ,IAAI,EAAE,KAAK,CAAC;IACvD,IAAI,EAAEG,IAAI,YAAYE,kCAAa,CAAC,EAAE;MACpCF,IAAI,GAAG,KAAIE,kCAAa,EAACN,OAAO,CAACO,WAAW,CAACd,IAAI,CAAC,EAAEQ,IAAI,CAAC;IAC3D;IACA,IAAIR,IAAI,CAACe,aAAa,IAAIJ,IAAI,YAAYE,kCAAa,EAAE;MACvD,MAAMG,IAAI,GAAG,MAAM,IAAAC,qBAAU,EAACjB,IAAI,CAACe,aAAa,EAAGG,GAAG,IAAKX,OAAO,CAACY,aAAa,CAACD,GAAG,CAAC,CAAC;MACtFP,IAAI,CAACS,YAAY,CAACJ,IAAI,CAAC;IACzB;IACA,OAAOL,IAAI;EACb;AACF;AAACU,OAAA,CAAAvB,wBAAA,GAAAA,wBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_pMapSeries","obj","__esModule","default","TypeReferenceTransformer","predicate","node","kind","ts","SyntaxKind","TypeReference","getIdentifiers","transform","context","name","typeName","getText","type","resolveType","TypeRefSchema","getLocation","typeArguments","args","pMapSeries","arg","computeSchema","withTypeArgs","exports"],"sources":["type-reference.ts"],"sourcesContent":["import ts, { Node, TypeReferenceNode } from 'typescript';\nimport { TypeRefSchema } from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * In the following example, `AriaButtonProps` is a type reference\n * ```ts\n * import type { AriaButtonProps } from '@react-types/button';\n * export type ButtonProps = AriaButtonProps & { a: string };\n * ```\n */\nexport class TypeReferenceTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.TypeReference;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: TypeReferenceNode, context: SchemaExtractorContext) {\n const name = node.typeName.getText();\n let type = await context.resolveType(node, name, false);\n if (!(type instanceof TypeRefSchema)) {\n type = new TypeRefSchema(context.getLocation(node), name);\n }\n if (node.typeArguments && type instanceof TypeRefSchema) {\n const args = await pMapSeries(node.typeArguments, (arg) => context.computeSchema(arg));\n type.withTypeArgs(args);\n }\n return type;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAKtC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,wBAAwB,CAA8B;EACjEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,aAAa;EAClD;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAuB,EAAEO,OAA+B,EAAE;IACxE,MAAMC,IAAI,GAAGR,IAAI,CAACS,QAAQ,CAACC,OAAO,CAAC,CAAC;IACpC,IAAIC,IAAI,GAAG,MAAMJ,OAAO,CAACK,WAAW,CAACZ,IAAI,EAAEQ,IAAI,EAAE,KAAK,CAAC;IACvD,IAAI,EAAEG,IAAI,YAAYE,kCAAa,CAAC,EAAE;MACpCF,IAAI,GAAG,KAAIE,kCAAa,EAACN,OAAO,CAACO,WAAW,CAACd,IAAI,CAAC,EAAEQ,IAAI,CAAC;IAC3D;IACA,IAAIR,IAAI,CAACe,aAAa,IAAIJ,IAAI,YAAYE,kCAAa,EAAE;MACvD,MAAMG,IAAI,GAAG,MAAM,IAAAC,qBAAU,EAACjB,IAAI,CAACe,aAAa,EAAGG,GAAG,IAAKX,OAAO,CAACY,aAAa,CAACD,GAAG,CAAC,CAAC;MACtFP,IAAI,CAACS,YAAY,CAACJ,IAAI,CAAC;IACzB;IACA,OAAOL,IAAI;EACb;AACF;AAACU,OAAA,CAAAvB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_pMapSeries","obj","__esModule","default","UnionTypeTransformer","predicate","node","kind","ts","SyntaxKind","UnionType","getIdentifiers","transform","context","types","pMapSeries","type","typeSchema","computeSchema","location","getLocation","TypeUnionSchema","exports"],"sources":["union-type.ts"],"sourcesContent":["import ts, { Node, UnionTypeNode } from 'typescript';\nimport { TypeUnionSchema } from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class UnionTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.UnionType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: UnionTypeNode, context: SchemaExtractorContext) {\n const types = await pMapSeries(node.types, async (type) => {\n const typeSchema = context.computeSchema(type);\n return typeSchema;\n });\n const location = context.getLocation(node);\n return new TypeUnionSchema(location, types);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAK/B,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,SAAS;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAmB,EAAEO,OAA+B,EAAE;IACpE,MAAMC,KAAK,GAAG,MAAM,IAAAC,qBAAU,EAACT,IAAI,CAACQ,KAAK,EAAE,MAAOE,IAAI,IAAK;MACzD,MAAMC,UAAU,GAAGJ,OAAO,CAACK,aAAa,CAACF,IAAI,CAAC;MAC9C,OAAOC,UAAU;IACnB,CAAC,CAAC;IACF,MAAME,QAAQ,GAAGN,OAAO,CAACO,WAAW,CAACd,IAAI,CAAC;IAC1C,OAAO,KAAIe,oCAAe,EAACF,QAAQ,EAAEL,KAAK,CAAC;EAC7C;AACF;AAACQ,OAAA,CAAAlB,oBAAA,GAAAA,oBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_pMapSeries","obj","__esModule","default","UnionTypeTransformer","predicate","node","kind","ts","SyntaxKind","UnionType","getIdentifiers","transform","context","types","pMapSeries","type","typeSchema","computeSchema","location","getLocation","TypeUnionSchema","exports"],"sources":["union-type.ts"],"sourcesContent":["import ts, { Node, UnionTypeNode } from 'typescript';\nimport { TypeUnionSchema } from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class UnionTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.UnionType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: UnionTypeNode, context: SchemaExtractorContext) {\n const types = await pMapSeries(node.types, async (type) => {\n const typeSchema = context.computeSchema(type);\n return typeSchema;\n });\n const location = context.getLocation(node);\n return new TypeUnionSchema(location, types);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAK/B,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,SAAS;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAmB,EAAEO,OAA+B,EAAE;IACpE,MAAMC,KAAK,GAAG,MAAM,IAAAC,qBAAU,EAACT,IAAI,CAACQ,KAAK,EAAE,MAAOE,IAAI,IAAK;MACzD,MAAMC,UAAU,GAAGJ,OAAO,CAACK,aAAa,CAACF,IAAI,CAAC;MAC9C,OAAOC,UAAU;IACnB,CAAC,CAAC;IACF,MAAME,QAAQ,GAAGN,OAAO,CAACO,WAAW,CAACd,IAAI,CAAC;IAC1C,OAAO,KAAIe,oCAAe,EAACF,QAAQ,EAAEL,KAAK,CAAC;EAC7C;AACF;AAACQ,OAAA,CAAAlB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","require","_semanticsEntities","tagParser","tag","context","formatter","kind","SyntaxKind","JSDocReturnTag","returnTag","JSDocPropertyTag","propertyLikeTag","JSDocParameterTag","JSDocAugmentsTag","simpleTag","TagName","augments","JSDocAuthorTag","author","JSDocClassTag","class","JSDocCallbackTag","callback","JSDocPublicTag","public","JSDocPrivateTag","private","JSDocProtectedTag","protected","JSDocReadonlyTag","readonly","JSDocOverrideTag","override","JSDocDeprecatedTag","deprecated","JSDocSeeTag","see","JSDocEnumTag","enum","JSDocThisTag","this","JSDocTypeTag","type","JSDocTemplateTag","template","JSDocTypedefTag","typedef","JSDocImplementsTag","implements","tagName","getText","getSourceFile","comment","getTextOfJSDocComment","formattedComment","formatSnippet","TagSchema","getLocation","e","typeExpression","computeSchema","undefined","ReturnTagSchema","PropertyLikeTagSchema","name"],"sources":["jsdoc-to-doc-schema.ts"],"sourcesContent":["/* eslint-disable no-fallthrough */\nimport {\n getTextOfJSDocComment,\n JSDocParameterTag,\n JSDocPropertyLikeTag,\n JSDocPropertyTag,\n JSDocReturnTag,\n JSDocTag,\n SyntaxKind,\n} from 'typescript';\nimport {\n PropertyLikeTagSchema,\n ReturnTagSchema,\n TagName,\n TagSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { Formatter } from '@teambit/formatter';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\n\nexport async function tagParser(\n tag: JSDocTag,\n context: SchemaExtractorContext,\n formatter?: Formatter\n): Promise<TagSchema> {\n // for some reason, in some cases, if `tag.getSourceFile()` is not provided to the `getText()`, it throws \"Cannot read property 'text' of undefined\"\n switch (tag.kind) {\n case SyntaxKind.JSDocReturnTag:\n return returnTag(tag as JSDocReturnTag, context);\n case SyntaxKind.JSDocPropertyTag:\n return propertyLikeTag(tag as JSDocPropertyTag, context);\n case SyntaxKind.JSDocParameterTag:\n return propertyLikeTag(tag as JSDocParameterTag, context);\n case SyntaxKind.JSDocAugmentsTag:\n return simpleTag(tag, TagName.augments, context);\n case SyntaxKind.JSDocAuthorTag:\n return simpleTag(tag, TagName.author, context);\n case SyntaxKind.JSDocClassTag:\n return simpleTag(tag, TagName.class, context);\n case SyntaxKind.JSDocCallbackTag:\n return simpleTag(tag, TagName.callback, context);\n case SyntaxKind.JSDocPublicTag:\n return simpleTag(tag, TagName.public, context);\n case SyntaxKind.JSDocPrivateTag:\n return simpleTag(tag, TagName.private, context);\n case SyntaxKind.JSDocProtectedTag:\n return simpleTag(tag, TagName.protected, context);\n case SyntaxKind.JSDocReadonlyTag:\n return simpleTag(tag, TagName.readonly, context);\n case SyntaxKind.JSDocOverrideTag:\n return simpleTag(tag, TagName.override, context);\n case SyntaxKind.JSDocDeprecatedTag:\n return simpleTag(tag, TagName.deprecated, context);\n case SyntaxKind.JSDocSeeTag:\n return simpleTag(tag, TagName.see, context);\n case SyntaxKind.JSDocEnumTag:\n return simpleTag(tag, TagName.enum, context);\n case SyntaxKind.JSDocThisTag:\n return simpleTag(tag, TagName.this, context);\n case SyntaxKind.JSDocTypeTag:\n return simpleTag(tag, TagName.type, context);\n case SyntaxKind.JSDocTemplateTag:\n return simpleTag(tag, TagName.template, context);\n case SyntaxKind.JSDocTypedefTag:\n return simpleTag(tag, TagName.typedef, context);\n case SyntaxKind.JSDocImplementsTag:\n return simpleTag(tag, TagName.implements, context);\n default: {\n const tagName: TagName | string = tag.tagName.getText(tag.getSourceFile());\n if (tagName === 'example') {\n const comment = getTextOfJSDocComment(tag.comment);\n if (!formatter) return simpleTag(tag, tagName, context);\n try {\n const formattedComment = comment && (await formatter.formatSnippet(comment));\n return new TagSchema(context.getLocation(tag), tagName, formattedComment);\n } catch (e) {\n return simpleTag(tag, tagName, context);\n }\n }\n return simpleTag(tag, tagName, context);\n }\n }\n}\n\nfunction simpleTag(tag: JSDocTag, tagName: TagName | string, context: SchemaExtractorContext): TagSchema {\n return new TagSchema(context.getLocation(tag), tagName, getTextOfJSDocComment(tag.comment));\n}\n\nasync function returnTag(tag: JSDocReturnTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await context.computeSchema(tag.typeExpression?.type) : undefined;\n return new ReturnTagSchema(context.getLocation(tag), getTextOfJSDocComment(tag.comment), type);\n}\n\nasync function propertyLikeTag(tag: JSDocPropertyLikeTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await context.computeSchema(tag.typeExpression?.type) : undefined;\n return new PropertyLikeTagSchema(\n context.getLocation(tag),\n tag.name.getText(),\n getTextOfJSDocComment(tag.comment),\n type\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","require","_semanticsEntities","tagParser","tag","context","formatter","kind","SyntaxKind","JSDocReturnTag","returnTag","JSDocPropertyTag","propertyLikeTag","JSDocParameterTag","JSDocAugmentsTag","simpleTag","TagName","augments","JSDocAuthorTag","author","JSDocClassTag","class","JSDocCallbackTag","callback","JSDocPublicTag","public","JSDocPrivateTag","private","JSDocProtectedTag","protected","JSDocReadonlyTag","readonly","JSDocOverrideTag","override","JSDocDeprecatedTag","deprecated","JSDocSeeTag","see","JSDocEnumTag","enum","JSDocThisTag","this","JSDocTypeTag","type","JSDocTemplateTag","template","JSDocTypedefTag","typedef","JSDocImplementsTag","implements","tagName","getText","getSourceFile","comment","getTextOfJSDocComment","formattedComment","formatSnippet","TagSchema","getLocation","e","typeExpression","computeSchema","undefined","ReturnTagSchema","PropertyLikeTagSchema","name"],"sources":["jsdoc-to-doc-schema.ts"],"sourcesContent":["/* eslint-disable no-fallthrough */\nimport {\n getTextOfJSDocComment,\n JSDocParameterTag,\n JSDocPropertyLikeTag,\n JSDocPropertyTag,\n JSDocReturnTag,\n JSDocTag,\n SyntaxKind,\n} from 'typescript';\nimport {\n PropertyLikeTagSchema,\n ReturnTagSchema,\n TagName,\n TagSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { Formatter } from '@teambit/formatter';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\n\nexport async function tagParser(\n tag: JSDocTag,\n context: SchemaExtractorContext,\n formatter?: Formatter\n): Promise<TagSchema> {\n // for some reason, in some cases, if `tag.getSourceFile()` is not provided to the `getText()`, it throws \"Cannot read property 'text' of undefined\"\n switch (tag.kind) {\n case SyntaxKind.JSDocReturnTag:\n return returnTag(tag as JSDocReturnTag, context);\n case SyntaxKind.JSDocPropertyTag:\n return propertyLikeTag(tag as JSDocPropertyTag, context);\n case SyntaxKind.JSDocParameterTag:\n return propertyLikeTag(tag as JSDocParameterTag, context);\n case SyntaxKind.JSDocAugmentsTag:\n return simpleTag(tag, TagName.augments, context);\n case SyntaxKind.JSDocAuthorTag:\n return simpleTag(tag, TagName.author, context);\n case SyntaxKind.JSDocClassTag:\n return simpleTag(tag, TagName.class, context);\n case SyntaxKind.JSDocCallbackTag:\n return simpleTag(tag, TagName.callback, context);\n case SyntaxKind.JSDocPublicTag:\n return simpleTag(tag, TagName.public, context);\n case SyntaxKind.JSDocPrivateTag:\n return simpleTag(tag, TagName.private, context);\n case SyntaxKind.JSDocProtectedTag:\n return simpleTag(tag, TagName.protected, context);\n case SyntaxKind.JSDocReadonlyTag:\n return simpleTag(tag, TagName.readonly, context);\n case SyntaxKind.JSDocOverrideTag:\n return simpleTag(tag, TagName.override, context);\n case SyntaxKind.JSDocDeprecatedTag:\n return simpleTag(tag, TagName.deprecated, context);\n case SyntaxKind.JSDocSeeTag:\n return simpleTag(tag, TagName.see, context);\n case SyntaxKind.JSDocEnumTag:\n return simpleTag(tag, TagName.enum, context);\n case SyntaxKind.JSDocThisTag:\n return simpleTag(tag, TagName.this, context);\n case SyntaxKind.JSDocTypeTag:\n return simpleTag(tag, TagName.type, context);\n case SyntaxKind.JSDocTemplateTag:\n return simpleTag(tag, TagName.template, context);\n case SyntaxKind.JSDocTypedefTag:\n return simpleTag(tag, TagName.typedef, context);\n case SyntaxKind.JSDocImplementsTag:\n return simpleTag(tag, TagName.implements, context);\n default: {\n const tagName: TagName | string = tag.tagName.getText(tag.getSourceFile());\n if (tagName === 'example') {\n const comment = getTextOfJSDocComment(tag.comment);\n if (!formatter) return simpleTag(tag, tagName, context);\n try {\n const formattedComment = comment && (await formatter.formatSnippet(comment));\n return new TagSchema(context.getLocation(tag), tagName, formattedComment);\n } catch (e) {\n return simpleTag(tag, tagName, context);\n }\n }\n return simpleTag(tag, tagName, context);\n }\n }\n}\n\nfunction simpleTag(tag: JSDocTag, tagName: TagName | string, context: SchemaExtractorContext): TagSchema {\n return new TagSchema(context.getLocation(tag), tagName, getTextOfJSDocComment(tag.comment));\n}\n\nasync function returnTag(tag: JSDocReturnTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await context.computeSchema(tag.typeExpression?.type) : undefined;\n return new ReturnTagSchema(context.getLocation(tag), getTextOfJSDocComment(tag.comment), type);\n}\n\nasync function propertyLikeTag(tag: JSDocPropertyLikeTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await context.computeSchema(tag.typeExpression?.type) : undefined;\n return new PropertyLikeTagSchema(\n context.getLocation(tag),\n tag.name.getText(),\n getTextOfJSDocComment(tag.comment),\n type\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UNRESOLVED","exports","parseTypeFromQuickInfo","quickInfo","body","displayString","splitByColon","split","kind","replace","tail","join","trim","length","firstLine","splitBySpace","typeName","splitByEqual","typeColonIndex","indexOf","slice","parseReturnTypeFromQuickInfo","typeStr","array"],"sources":["parse-type-from-quick-info.ts"],"sourcesContent":["import type ts from 'typescript/lib/tsserverlibrary';\n\nexport const UNRESOLVED = '<<unresolved>>';\n\n/**\n * try to parse the type from the quickinfo.\n * this is an error-prone process, we do our best here.\n *\n * an example of a function with many \":\"\n * `export function getObj(a: string, func: (b: number) => {}) { return { a: 1, b: 2 } };`\n * which produce the following quickinfo:\n * ```ts\n * function getObj(a: string, func: (b: number) => {}): {\n * a: number;\n * b: number;\n * }\n * ```\n *\n * some examples of quickinfo:\n *\n * function ts.signatureToDisplayParts(typechecker: TypeChecker, signature: Signature, enclosingDeclaration?: Node | undefined, flags?: TypeFormatFlags): SymbolDisplayPart[]\n *\n * const enum ts.TypeFormatFlags\n *\n * (method) ts.TypeChecker.writeSignature(signature: Signature, enclosingDeclaration?: Node | undefined, flags?: TypeFormatFlags | undefined, kind?: SignatureKind | undefined, writer?: EmitTextWriter | undefined): string\n *\n * const obj: {\n * a: number;\n * b: number;\n * }\n *\n * function getObj(a: string): {\n * a: number;\n * b: number;\n * }\n */\nexport function parseTypeFromQuickInfo(quickInfo: ts.server.protocol.QuickInfoResponse | undefined): string {\n if (!quickInfo?.body?.displayString) return '';\n const displayString = quickInfo.body.displayString;\n const splitByColon = displayString.split(':');\n switch (quickInfo.body.kind) {\n case 'type parameter':\n // (type parameter) T in concat<T, K, V>(array1: T[], array2: T[]): T[]\n return displayString.replace(`(${quickInfo.body.kind}) `, '').split(' ')[0];\n case 'const':\n case 'property':\n case 'let':\n case 'getter':\n case 'var': {\n const [, ...tail] = splitByColon;\n return tail.join(':').trim();\n }\n case 'method':\n case 'function': {\n const split = displayString.split('): ');\n if (split.length !== 2) {\n // it's hard to determine where the return-type is. so it's better to show unresolved.\n // maybe, in the UI, in this case, it's best to show the signature.\n // e.g.\n // (method) IssuesList.getIssue<T extends ComponentIssue>(IssueClass: {\n // new (): T;\n // }): T | undefined\n return UNRESOLVED;\n }\n return split[1].trim();\n }\n case 'alias': {\n // e.g. (alias) class BuilderService\\nimport BuilderService\n // e.g. '(alias) type Serializable = {\\n' +\n // ' toString(): string;\\n' +\n // '}\\n' +\n // 'import Serializable'\n const firstLine = displayString.split('\\n')[0];\n const splitBySpace = firstLine.trim().split(' ');\n // first two are alias keyword and alias type\n const [, , typeName] = splitBySpace;\n return typeName;\n }\n case 'type': {\n // e.g. `type TaskSlot = SlotRegistry<BuildTask[]>`\n const splitByEqual = displayString.split('=');\n const [, ...tail] = splitByEqual;\n return tail.join('=').trim();\n }\n case 'parameter': {\n const typeColonIndex = displayString.indexOf(':');\n return displayString.slice(typeColonIndex + 1).trim();\n }\n default:\n return splitByColon[splitByColon.length - 1].trim();\n }\n}\n\nexport function parseReturnTypeFromQuickInfo(quickInfo: ts.server.protocol.QuickInfoResponse | undefined): string {\n if (!quickInfo) return '';\n const typeStr = parseTypeFromQuickInfo(quickInfo);\n const array = typeStr.split('=>');\n return array[array.length - 1].trim();\n}\n"],"mappings":";;;;;;;;AAEO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,gBAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,sBAAsBA,CAACC,SAA2D,EAAU;EAC1G,IAAI,CAACA,SAAS,EAAEC,IAAI,EAAEC,aAAa,EAAE,OAAO,EAAE;EAC9C,MAAMA,aAAa,GAAGF,SAAS,CAACC,IAAI,CAACC,aAAa;EAClD,MAAMC,YAAY,GAAGD,aAAa,CAACE,KAAK,CAAC,GAAG,CAAC;EAC7C,QAAQJ,SAAS,CAACC,IAAI,CAACI,IAAI;IACzB,KAAK,gBAAgB;MACnB;MACA,OAAOH,aAAa,CAACI,OAAO,CAAE,IAAGN,SAAS,CAACC,IAAI,CAACI,IAAK,IAAG,EAAE,EAAE,CAAC,CAACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,KAAK,OAAO;IACZ,KAAK,UAAU;IACf,KAAK,KAAK;IACV,KAAK,QAAQ;IACb,KAAK,KAAK;MAAE;QACV,MAAM,GAAG,GAAGG,IAAI,CAAC,GAAGJ,YAAY;QAChC,OAAOI,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC;MAC9B;IACA,KAAK,QAAQ;IACb,KAAK,UAAU;MAAE;QACf,MAAML,KAAK,GAAGF,aAAa,CAACE,KAAK,CAAC,KAAK,CAAC;QACxC,IAAIA,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;UACtB;UACA;UACA;UACA;UACA;UACA;UACA,OAAOb,UAAU;QACnB;QACA,OAAOO,KAAK,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,CAAC;MACxB;IACA,KAAK,OAAO;MAAE;QACZ;QACA;QACA;QACA;QACA;QACA,MAAME,SAAS,GAAGT,aAAa,CAACE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAMQ,YAAY,GAAGD,SAAS,CAACF,IAAI,CAAC,CAAC,CAACL,KAAK,CAAC,GAAG,CAAC;QAChD;QACA,MAAM,IAAKS,QAAQ,CAAC,GAAGD,YAAY;QACnC,OAAOC,QAAQ;MACjB;IACA,KAAK,MAAM;MAAE;QACX;QACA,MAAMC,YAAY,GAAGZ,aAAa,CAACE,KAAK,CAAC,GAAG,CAAC;QAC7C,MAAM,GAAG,GAAGG,IAAI,CAAC,GAAGO,YAAY;QAChC,OAAOP,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC;MAC9B;IACA,KAAK,WAAW;MAAE;QAChB,MAAMM,cAAc,GAAGb,aAAa,CAACc,OAAO,CAAC,GAAG,CAAC;QACjD,OAAOd,aAAa,CAACe,KAAK,CAACF,cAAc,GAAG,CAAC,CAAC,CAACN,IAAI,CAAC,CAAC;MACvD;IACA;MACE,OAAON,YAAY,CAACA,YAAY,CAACO,MAAM,GAAG,CAAC,CAAC,CAACD,IAAI,CAAC,CAAC;EACvD;AACF;AAEO,SAASS,4BAA4BA,CAAClB,SAA2D,EAAU;EAChH,IAAI,CAACA,SAAS,EAAE,OAAO,EAAE;EACzB,MAAMmB,OAAO,GAAGpB,sBAAsB,CAACC,SAAS,CAAC;EACjD,MAAMoB,KAAK,GAAGD,OAAO,CAACf,KAAK,CAAC,IAAI,CAAC;EACjC,OAAOgB,KAAK,CAACA,KAAK,CAACV,MAAM,GAAG,CAAC,CAAC,CAACD,IAAI,CAAC,CAAC;AACvC"}
|
|
1
|
+
{"version":3,"names":["UNRESOLVED","exports","parseTypeFromQuickInfo","quickInfo","body","displayString","splitByColon","split","kind","replace","tail","join","trim","length","firstLine","splitBySpace","typeName","splitByEqual","typeColonIndex","indexOf","slice","parseReturnTypeFromQuickInfo","typeStr","array"],"sources":["parse-type-from-quick-info.ts"],"sourcesContent":["import type ts from 'typescript/lib/tsserverlibrary';\n\nexport const UNRESOLVED = '<<unresolved>>';\n\n/**\n * try to parse the type from the quickinfo.\n * this is an error-prone process, we do our best here.\n *\n * an example of a function with many \":\"\n * `export function getObj(a: string, func: (b: number) => {}) { return { a: 1, b: 2 } };`\n * which produce the following quickinfo:\n * ```ts\n * function getObj(a: string, func: (b: number) => {}): {\n * a: number;\n * b: number;\n * }\n * ```\n *\n * some examples of quickinfo:\n *\n * function ts.signatureToDisplayParts(typechecker: TypeChecker, signature: Signature, enclosingDeclaration?: Node | undefined, flags?: TypeFormatFlags): SymbolDisplayPart[]\n *\n * const enum ts.TypeFormatFlags\n *\n * (method) ts.TypeChecker.writeSignature(signature: Signature, enclosingDeclaration?: Node | undefined, flags?: TypeFormatFlags | undefined, kind?: SignatureKind | undefined, writer?: EmitTextWriter | undefined): string\n *\n * const obj: {\n * a: number;\n * b: number;\n * }\n *\n * function getObj(a: string): {\n * a: number;\n * b: number;\n * }\n */\nexport function parseTypeFromQuickInfo(quickInfo: ts.server.protocol.QuickInfoResponse | undefined): string {\n if (!quickInfo?.body?.displayString) return '';\n const displayString = quickInfo.body.displayString;\n const splitByColon = displayString.split(':');\n switch (quickInfo.body.kind) {\n case 'type parameter':\n // (type parameter) T in concat<T, K, V>(array1: T[], array2: T[]): T[]\n return displayString.replace(`(${quickInfo.body.kind}) `, '').split(' ')[0];\n case 'const':\n case 'property':\n case 'let':\n case 'getter':\n case 'var': {\n const [, ...tail] = splitByColon;\n return tail.join(':').trim();\n }\n case 'method':\n case 'function': {\n const split = displayString.split('): ');\n if (split.length !== 2) {\n // it's hard to determine where the return-type is. so it's better to show unresolved.\n // maybe, in the UI, in this case, it's best to show the signature.\n // e.g.\n // (method) IssuesList.getIssue<T extends ComponentIssue>(IssueClass: {\n // new (): T;\n // }): T | undefined\n return UNRESOLVED;\n }\n return split[1].trim();\n }\n case 'alias': {\n // e.g. (alias) class BuilderService\\nimport BuilderService\n // e.g. '(alias) type Serializable = {\\n' +\n // ' toString(): string;\\n' +\n // '}\\n' +\n // 'import Serializable'\n const firstLine = displayString.split('\\n')[0];\n const splitBySpace = firstLine.trim().split(' ');\n // first two are alias keyword and alias type\n const [, , typeName] = splitBySpace;\n return typeName;\n }\n case 'type': {\n // e.g. `type TaskSlot = SlotRegistry<BuildTask[]>`\n const splitByEqual = displayString.split('=');\n const [, ...tail] = splitByEqual;\n return tail.join('=').trim();\n }\n case 'parameter': {\n const typeColonIndex = displayString.indexOf(':');\n return displayString.slice(typeColonIndex + 1).trim();\n }\n default:\n return splitByColon[splitByColon.length - 1].trim();\n }\n}\n\nexport function parseReturnTypeFromQuickInfo(quickInfo: ts.server.protocol.QuickInfoResponse | undefined): string {\n if (!quickInfo) return '';\n const typeStr = parseTypeFromQuickInfo(quickInfo);\n const array = typeStr.split('=>');\n return array[array.length - 1].trim();\n}\n"],"mappings":";;;;;;;;AAEO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,gBAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,sBAAsBA,CAACC,SAA2D,EAAU;EAC1G,IAAI,CAACA,SAAS,EAAEC,IAAI,EAAEC,aAAa,EAAE,OAAO,EAAE;EAC9C,MAAMA,aAAa,GAAGF,SAAS,CAACC,IAAI,CAACC,aAAa;EAClD,MAAMC,YAAY,GAAGD,aAAa,CAACE,KAAK,CAAC,GAAG,CAAC;EAC7C,QAAQJ,SAAS,CAACC,IAAI,CAACI,IAAI;IACzB,KAAK,gBAAgB;MACnB;MACA,OAAOH,aAAa,CAACI,OAAO,CAAE,IAAGN,SAAS,CAACC,IAAI,CAACI,IAAK,IAAG,EAAE,EAAE,CAAC,CAACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,KAAK,OAAO;IACZ,KAAK,UAAU;IACf,KAAK,KAAK;IACV,KAAK,QAAQ;IACb,KAAK,KAAK;MAAE;QACV,MAAM,GAAG,GAAGG,IAAI,CAAC,GAAGJ,YAAY;QAChC,OAAOI,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC;MAC9B;IACA,KAAK,QAAQ;IACb,KAAK,UAAU;MAAE;QACf,MAAML,KAAK,GAAGF,aAAa,CAACE,KAAK,CAAC,KAAK,CAAC;QACxC,IAAIA,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;UACtB;UACA;UACA;UACA;UACA;UACA;UACA,OAAOb,UAAU;QACnB;QACA,OAAOO,KAAK,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,CAAC;MACxB;IACA,KAAK,OAAO;MAAE;QACZ;QACA;QACA;QACA;QACA;QACA,MAAME,SAAS,GAAGT,aAAa,CAACE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAMQ,YAAY,GAAGD,SAAS,CAACF,IAAI,CAAC,CAAC,CAACL,KAAK,CAAC,GAAG,CAAC;QAChD;QACA,MAAM,IAAKS,QAAQ,CAAC,GAAGD,YAAY;QACnC,OAAOC,QAAQ;MACjB;IACA,KAAK,MAAM;MAAE;QACX;QACA,MAAMC,YAAY,GAAGZ,aAAa,CAACE,KAAK,CAAC,GAAG,CAAC;QAC7C,MAAM,GAAG,GAAGG,IAAI,CAAC,GAAGO,YAAY;QAChC,OAAOP,IAAI,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC;MAC9B;IACA,KAAK,WAAW;MAAE;QAChB,MAAMM,cAAc,GAAGb,aAAa,CAACc,OAAO,CAAC,GAAG,CAAC;QACjD,OAAOd,aAAa,CAACe,KAAK,CAACF,cAAc,GAAG,CAAC,CAAC,CAACN,IAAI,CAAC,CAAC;MACvD;IACA;MACE,OAAON,YAAY,CAACA,YAAY,CAACO,MAAM,GAAG,CAAC,CAAC,CAACD,IAAI,CAAC,CAAC;EACvD;AACF;AAEO,SAASS,4BAA4BA,CAAClB,SAA2D,EAAU;EAChH,IAAI,CAACA,SAAS,EAAE,OAAO,EAAE;EACzB,MAAMmB,OAAO,GAAGpB,sBAAsB,CAACC,SAAS,CAAC;EACjD,MAAMoB,KAAK,GAAGD,OAAO,CAACf,KAAK,CAAC,IAAI,CAAC;EACjC,OAAOgB,KAAK,CAACA,KAAK,CAACV,MAAM,GAAG,CAAC,CAAC,CAACD,IAAI,CAAC,CAAC;AACvC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semanticsEntities","data","require","_typescript","_interopRequireDefault","_pMapSeries","_parseTypeFromQuickInfo","_identifier","_parameter","obj","__esModule","default","VariableDeclaration","predicate","node","kind","ts","SyntaxKind","getName","name","getText","getIdentifiers","Identifier","getSourceFile","fileName","transform","varDec","context","info","getQuickInfo","displaySig","body","displayString","location","getLocation","doc","jsDocToDocSchema","nodeModifiers","canHaveModifiers","getModifiers","undefined","modifiers","map","modifier","initializer","ArrowFunction","functionLikeInfo","equalsGreaterThanToken","returnTypeStr","parseTypeFromQuickInfo","type","funcType","resolveType","isFunctionLike","FunctionLikeSchema","params","returnType","TypeRefSchema","paramTypes","typeArgs","parameters","paramsSchema","pMapSeries","param","index","objectBindingNodes","ParameterTransformer","getObjectBindingNodes","ParameterSchema","Boolean","questionToken","dotDotDotToken","args","computeSchema","typeStr","defaultValue","VariableLikeSchema","exports"],"sources":["variable-declaration.ts"],"sourcesContent":["import {\n SchemaNode,\n VariableLikeSchema,\n FunctionLikeSchema,\n Modifier,\n ParameterSchema,\n TypeRefSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport ts, { Node, VariableDeclaration as VariableDeclarationNode, ArrowFunction } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { parseTypeFromQuickInfo } from './utils/parse-type-from-quick-info';\nimport { Identifier } from '../identifier';\nimport { ParameterTransformer } from './parameter';\n\nexport class VariableDeclaration implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.VariableDeclaration;\n }\n\n getName(node: VariableDeclarationNode) {\n return node.name.getText();\n }\n\n async getIdentifiers(node: VariableDeclarationNode) {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n async transform(varDec: VariableDeclarationNode, context: SchemaExtractorContext): Promise<SchemaNode> {\n const name = this.getName(varDec);\n const info = await context.getQuickInfo(varDec.name);\n const displaySig = info?.body?.displayString || '';\n const location = context.getLocation(varDec);\n const doc = await context.jsDocToDocSchema(varDec);\n const nodeModifiers = ts.canHaveModifiers(varDec) ? ts.getModifiers(varDec) : undefined;\n const modifiers = nodeModifiers?.map((modifier) => modifier.getText()) || [];\n if (varDec.initializer?.kind === ts.SyntaxKind.ArrowFunction) {\n const functionLikeInfo = await context.getQuickInfo((varDec.initializer as ArrowFunction).equalsGreaterThanToken);\n const returnTypeStr = functionLikeInfo ? parseTypeFromQuickInfo(functionLikeInfo) : 'any';\n // example => export const useLanesContext: () => LanesContextModel | undefined = () => {\n if (varDec.type) {\n const funcType = await context.resolveType(varDec, '');\n if (isFunctionLike(funcType)) {\n return new FunctionLikeSchema(\n location,\n name,\n funcType.params,\n funcType.returnType,\n functionLikeInfo?.body?.displayString || '',\n modifiers as Modifier[],\n doc\n );\n }\n // e.g. export const MyComponent: React.FC<T> = ({}) => {}\n if (funcType instanceof TypeRefSchema) {\n const paramTypes = funcType.typeArgs;\n const params = (varDec.initializer as ArrowFunction).parameters;\n const paramsSchema = await pMapSeries(params, async (param, index) => {\n const objectBindingNodes = await ParameterTransformer.getObjectBindingNodes(\n param,\n paramTypes?.[index] ?? funcType,\n context\n );\n return new ParameterSchema(\n location,\n ParameterTransformer.getName(param),\n paramTypes?.[index] ?? funcType,\n Boolean(param.questionToken),\n param.initializer ? param.initializer.getText() : undefined,\n undefined,\n objectBindingNodes,\n Boolean(param.dotDotDotToken)\n );\n });\n\n return new FunctionLikeSchema(\n location,\n name,\n paramsSchema,\n await context.resolveType(varDec.initializer, returnTypeStr),\n functionLikeInfo?.body?.displayString || '',\n modifiers as Modifier[],\n doc\n );\n }\n }\n const args = (await pMapSeries((varDec.initializer as ArrowFunction).parameters, async (param) =>\n context.computeSchema(param)\n )) as ParameterSchema[];\n return new FunctionLikeSchema(\n location,\n name,\n args,\n await context.resolveType(varDec.initializer, returnTypeStr),\n functionLikeInfo?.body?.displayString || '',\n modifiers as Modifier[],\n doc\n );\n }\n const typeStr = parseTypeFromQuickInfo(info);\n const type = await context.resolveType(varDec, typeStr);\n const defaultValue = varDec.initializer ? varDec.initializer.getText() : undefined;\n\n return new VariableLikeSchema(location, name, displaySig, type, false, doc, defaultValue);\n }\n}\n\nfunction isFunctionLike(node: SchemaNode): node is FunctionLikeSchema {\n return node instanceof FunctionLikeSchema;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_semanticsEntities","data","require","_typescript","_interopRequireDefault","_pMapSeries","_parseTypeFromQuickInfo","_identifier","_parameter","obj","__esModule","default","VariableDeclaration","predicate","node","kind","ts","SyntaxKind","getName","name","getText","getIdentifiers","Identifier","getSourceFile","fileName","transform","varDec","context","info","getQuickInfo","displaySig","body","displayString","location","getLocation","doc","jsDocToDocSchema","nodeModifiers","canHaveModifiers","getModifiers","undefined","modifiers","map","modifier","initializer","ArrowFunction","functionLikeInfo","equalsGreaterThanToken","returnTypeStr","parseTypeFromQuickInfo","type","funcType","resolveType","isFunctionLike","FunctionLikeSchema","params","returnType","TypeRefSchema","paramTypes","typeArgs","parameters","paramsSchema","pMapSeries","param","index","objectBindingNodes","ParameterTransformer","getObjectBindingNodes","ParameterSchema","Boolean","questionToken","dotDotDotToken","args","computeSchema","typeStr","defaultValue","VariableLikeSchema","exports"],"sources":["variable-declaration.ts"],"sourcesContent":["import {\n SchemaNode,\n VariableLikeSchema,\n FunctionLikeSchema,\n Modifier,\n ParameterSchema,\n TypeRefSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport ts, { Node, VariableDeclaration as VariableDeclarationNode, ArrowFunction } from 'typescript';\nimport pMapSeries from 'p-map-series';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { parseTypeFromQuickInfo } from './utils/parse-type-from-quick-info';\nimport { Identifier } from '../identifier';\nimport { ParameterTransformer } from './parameter';\n\nexport class VariableDeclaration implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.VariableDeclaration;\n }\n\n getName(node: VariableDeclarationNode) {\n return node.name.getText();\n }\n\n async getIdentifiers(node: VariableDeclarationNode) {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n async transform(varDec: VariableDeclarationNode, context: SchemaExtractorContext): Promise<SchemaNode> {\n const name = this.getName(varDec);\n const info = await context.getQuickInfo(varDec.name);\n const displaySig = info?.body?.displayString || '';\n const location = context.getLocation(varDec);\n const doc = await context.jsDocToDocSchema(varDec);\n const nodeModifiers = ts.canHaveModifiers(varDec) ? ts.getModifiers(varDec) : undefined;\n const modifiers = nodeModifiers?.map((modifier) => modifier.getText()) || [];\n if (varDec.initializer?.kind === ts.SyntaxKind.ArrowFunction) {\n const functionLikeInfo = await context.getQuickInfo((varDec.initializer as ArrowFunction).equalsGreaterThanToken);\n const returnTypeStr = functionLikeInfo ? parseTypeFromQuickInfo(functionLikeInfo) : 'any';\n // example => export const useLanesContext: () => LanesContextModel | undefined = () => {\n if (varDec.type) {\n const funcType = await context.resolveType(varDec, '');\n if (isFunctionLike(funcType)) {\n return new FunctionLikeSchema(\n location,\n name,\n funcType.params,\n funcType.returnType,\n functionLikeInfo?.body?.displayString || '',\n modifiers as Modifier[],\n doc\n );\n }\n // e.g. export const MyComponent: React.FC<T> = ({}) => {}\n if (funcType instanceof TypeRefSchema) {\n const paramTypes = funcType.typeArgs;\n const params = (varDec.initializer as ArrowFunction).parameters;\n const paramsSchema = await pMapSeries(params, async (param, index) => {\n const objectBindingNodes = await ParameterTransformer.getObjectBindingNodes(\n param,\n paramTypes?.[index] ?? funcType,\n context\n );\n return new ParameterSchema(\n location,\n ParameterTransformer.getName(param),\n paramTypes?.[index] ?? funcType,\n Boolean(param.questionToken),\n param.initializer ? param.initializer.getText() : undefined,\n undefined,\n objectBindingNodes,\n Boolean(param.dotDotDotToken)\n );\n });\n\n return new FunctionLikeSchema(\n location,\n name,\n paramsSchema,\n await context.resolveType(varDec.initializer, returnTypeStr),\n functionLikeInfo?.body?.displayString || '',\n modifiers as Modifier[],\n doc\n );\n }\n }\n const args = (await pMapSeries((varDec.initializer as ArrowFunction).parameters, async (param) =>\n context.computeSchema(param)\n )) as ParameterSchema[];\n return new FunctionLikeSchema(\n location,\n name,\n args,\n await context.resolveType(varDec.initializer, returnTypeStr),\n functionLikeInfo?.body?.displayString || '',\n modifiers as Modifier[],\n doc\n );\n }\n const typeStr = parseTypeFromQuickInfo(info);\n const type = await context.resolveType(varDec, typeStr);\n const defaultValue = varDec.initializer ? varDec.initializer.getText() : undefined;\n\n return new VariableLikeSchema(location, name, displaySig, type, false, doc, defaultValue);\n }\n}\n\nfunction isFunctionLike(node: SchemaNode): node is FunctionLikeSchema {\n return node instanceof FunctionLikeSchema;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semanticsEntities","data","require","_lodash","_pMapSeries","_interopRequireDefault","_typescript","_identifier","obj","__esModule","default","VariableStatementTransformer","predicate","node","kind","ts","SyntaxKind","VariableStatement","getIdentifiers","declarationList","declarations","map","dec","Identifier","name","getText","getSourceFile","fileName","transform","context","schemas","pMapSeries","schema","visitDefinition","ModuleSchema","getLocation","compact","exports"],"sources":["variable-statement.ts"],"sourcesContent":["import { SchemaNode, ModuleSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { compact } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport ts, { Node, VariableStatement } from 'typescript';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * variable statement is a collection of variable declarations.\n * e.g. `export const a = 1, b = () => {}, c = {};`\n */\nexport class VariableStatementTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.VariableStatement;\n }\n\n async getIdentifiers(node: VariableStatement) {\n return node.declarationList.declarations.map((dec) => {\n return new Identifier(dec.name.getText(), dec.getSourceFile().fileName);\n });\n }\n\n async transform(node: VariableStatement, context: SchemaExtractorContext): Promise<SchemaNode> {\n const schemas = await pMapSeries(node.declarationList.declarations, async (dec) => {\n // this will get the schema from variable-declaration\n const schema = await context.visitDefinition(dec.name);\n return schema;\n });\n return new ModuleSchema(context.getLocation(node), compact(schemas), []);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAI,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE3C;AACA;AACA;AACA;AACO,MAAMG,4BAA4B,CAA8B;EACrEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,iBAAiB;EACtD;EAEA,MAAMC,cAAcA,CAACL,IAAuB,EAAE;IAC5C,OAAOA,IAAI,CAACM,eAAe,CAACC,YAAY,CAACC,GAAG,CAAEC,GAAG,IAAK;MACpD,OAAO,KAAIC,wBAAU,EAACD,GAAG,CAACE,IAAI,CAACC,OAAO,CAAC,CAAC,EAAEH,GAAG,CAACI,aAAa,CAAC,CAAC,CAACC,QAAQ,CAAC;IACzE,CAAC,CAAC;EACJ;EAEA,MAAMC,SAASA,CAACf,IAAuB,EAAEgB,OAA+B,EAAuB;IAC7F,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAAClB,IAAI,CAACM,eAAe,CAACC,YAAY,EAAE,MAAOE,GAAG,IAAK;MACjF;MACA,MAAMU,MAAM,GAAG,MAAMH,OAAO,CAACI,eAAe,CAACX,GAAG,CAACE,IAAI,CAAC;MACtD,OAAOQ,MAAM;IACf,CAAC,CAAC;IACF,OAAO,KAAIE,iCAAY,EAACL,OAAO,CAACM,WAAW,CAACtB,IAAI,CAAC,EAAE,IAAAuB,iBAAO,EAACN,OAAO,CAAC,EAAE,EAAE,CAAC;EAC1E;AACF;AAACO,OAAA,CAAA1B,4BAAA,GAAAA,4BAAA"}
|
|
1
|
+
{"version":3,"names":["_semanticsEntities","data","require","_lodash","_pMapSeries","_interopRequireDefault","_typescript","_identifier","obj","__esModule","default","VariableStatementTransformer","predicate","node","kind","ts","SyntaxKind","VariableStatement","getIdentifiers","declarationList","declarations","map","dec","Identifier","name","getText","getSourceFile","fileName","transform","context","schemas","pMapSeries","schema","visitDefinition","ModuleSchema","getLocation","compact","exports"],"sources":["variable-statement.ts"],"sourcesContent":["import { SchemaNode, ModuleSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { compact } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport ts, { Node, VariableStatement } from 'typescript';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\n/**\n * variable statement is a collection of variable declarations.\n * e.g. `export const a = 1, b = () => {}, c = {};`\n */\nexport class VariableStatementTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.VariableStatement;\n }\n\n async getIdentifiers(node: VariableStatement) {\n return node.declarationList.declarations.map((dec) => {\n return new Identifier(dec.name.getText(), dec.getSourceFile().fileName);\n });\n }\n\n async transform(node: VariableStatement, context: SchemaExtractorContext): Promise<SchemaNode> {\n const schemas = await pMapSeries(node.declarationList.declarations, async (dec) => {\n // this will get the schema from variable-declaration\n const schema = await context.visitDefinition(dec.name);\n return schema;\n });\n return new ModuleSchema(context.getLocation(node), compact(schemas), []);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAI,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE3C;AACA;AACA;AACA;AACO,MAAMG,4BAA4B,CAA8B;EACrEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,iBAAiB;EACtD;EAEA,MAAMC,cAAcA,CAACL,IAAuB,EAAE;IAC5C,OAAOA,IAAI,CAACM,eAAe,CAACC,YAAY,CAACC,GAAG,CAAEC,GAAG,IAAK;MACpD,OAAO,KAAIC,wBAAU,EAACD,GAAG,CAACE,IAAI,CAACC,OAAO,CAAC,CAAC,EAAEH,GAAG,CAACI,aAAa,CAAC,CAAC,CAACC,QAAQ,CAAC;IACzE,CAAC,CAAC;EACJ;EAEA,MAAMC,SAASA,CAACf,IAAuB,EAAEgB,OAA+B,EAAuB;IAC7F,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAAClB,IAAI,CAACM,eAAe,CAACC,YAAY,EAAE,MAAOE,GAAG,IAAK;MACjF;MACA,MAAMU,MAAM,GAAG,MAAMH,OAAO,CAACI,eAAe,CAACX,GAAG,CAACE,IAAI,CAAC;MACtD,OAAOQ,MAAM;IACf,CAAC,CAAC;IACF,OAAO,KAAIE,iCAAY,EAACL,OAAO,CAACM,WAAW,CAACtB,IAAI,CAAC,EAAE,IAAAuB,iBAAO,EAACN,OAAO,CAAC,EAAE,EAAE,CAAC;EAC1E;AACF;AAACO,OAAA,CAAA1B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_yesno","_lodash","_exceptions","_chalk","_","obj","__esModule","default","TsconfigWriter","constructor","workspace","logger","write","envsExecutionContext","options","pathsPerEnvs","getPathsPerEnv","tsconfigPathsPerEnv","map","pathsPerEnv","envIds","ids","tsconfig","getTsconfigFromEnv","env","paths","dryRun","silent","promptForWriting","p","flat","writeFiles","compiler","getCompiler","id","TypescriptAspect","displayConfig","JSON","stringify","getTsConfig","undefined","clean","dedupe","componentPaths","allPossibleDirs","getAllPossibleDirsFromPaths","dirsWithTsconfig","filterDirsWithTsconfigFile","tsconfigFiles","dir","path","join","length","promptForCleaning","deleteFiles","dirs","clearStatusLine","ok","yesno","question","chalk","underline","bold","PromptCanceled","Promise","all","f","fs","remove","tsconfigPathsPerEnvs","writeFile","envExecution","components","c","componentDir","relative","envsWithFiles","e","file","envsPerFile","isEnvProcessed","envId","find","forEach","foundSameFile","filter","isEqual","push","fileContent","pathsPerEnvIds","compact","envsPerDedupedPaths","dedupePaths","dedupedPathsPerEnvs","envWithDedupePaths","found","includes","Error","exports","hasTsconfig","pathExists","getAllParentsDirOfPath","uniq","current","dirname","pathsPerEnvId","rootDir","individualPathPerConcatenatedEnvIds","reduce","acc","allPaths","Object","keys","allPathsPerEnvId","calculateBestEnvForDir","allPathsShareSameDir","startsWith","countPerEnv","envIdStr","max","Math","values","envWithMax","dirPath","dedupedPathsPerEnvIds","envIdsPerDedupedPaths","invertBy","dedupedPaths","split"],"sources":["tsconfig-writer.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport yesno from 'yesno';\nimport { PathLinuxRelative } from '@teambit/legacy/dist/utils/path';\nimport { compact, invertBy, isEqual, uniq } from 'lodash';\nimport { PromptCanceled } from '@teambit/legacy/dist/prompts/exceptions';\nimport { Environment, ExecutionContext } from '@teambit/envs';\nimport { Workspace } from '@teambit/workspace';\nimport { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\nimport { TsconfigWriterOptions } from './typescript.main.runtime';\nimport { TypescriptAspect } from '.';\n\nexport type TsconfigPathsPerEnv = { envIds: string[]; tsconfig: string; paths: string[] };\n\ntype PathsPerEnv = { env: Environment; ids: string[]; paths: string[] };\n\nexport class TsconfigWriter {\n constructor(private workspace: Workspace, private logger: Logger) {}\n\n async write(\n envsExecutionContext: ExecutionContext[],\n options: TsconfigWriterOptions\n ): Promise<TsconfigPathsPerEnv[]> {\n const pathsPerEnvs = this.getPathsPerEnv(envsExecutionContext, options);\n const tsconfigPathsPerEnv = pathsPerEnvs.map((pathsPerEnv) => ({\n envIds: pathsPerEnv.ids,\n tsconfig: this.getTsconfigFromEnv(pathsPerEnv.env), // pathsPerEnv.env.getTsConfig(),\n paths: pathsPerEnv.paths,\n }));\n if (options.dryRun) return tsconfigPathsPerEnv;\n if (!options.silent) await this.promptForWriting(tsconfigPathsPerEnv.map((p) => p.paths).flat());\n await this.writeFiles(tsconfigPathsPerEnv);\n return tsconfigPathsPerEnv;\n }\n\n private getTsconfigFromEnv(env: Environment) {\n const compiler = env.getCompiler();\n if (compiler.id === TypescriptAspect.id) {\n return compiler.displayConfig() as string;\n }\n return JSON.stringify(env.getTsConfig(), undefined, 2);\n }\n\n async clean(envsExecutionContext: ExecutionContext[], { dryRun, silent }: TsconfigWriterOptions): Promise<string[]> {\n const pathsPerEnvs = this.getPathsPerEnv(envsExecutionContext, { dedupe: false });\n const componentPaths = pathsPerEnvs.map((p) => p.paths).flat();\n const allPossibleDirs = getAllPossibleDirsFromPaths(componentPaths);\n const dirsWithTsconfig = await filterDirsWithTsconfigFile(allPossibleDirs);\n const tsconfigFiles = dirsWithTsconfig.map((dir) => path.join(dir, 'tsconfig.json'));\n if (dryRun) return tsconfigFiles;\n if (!dirsWithTsconfig.length) return [];\n if (!silent) await this.promptForCleaning(tsconfigFiles);\n await this.deleteFiles(tsconfigFiles);\n return tsconfigFiles;\n }\n\n private async promptForWriting(dirs: string[]) {\n this.logger.clearStatusLine();\n const tsconfigFiles = dirs.map((dir) => path.join(dir, 'tsconfig.json'));\n const ok = await yesno({\n question: `${chalk.underline('The following paths will be written:')}\n${tsconfigFiles.join('\\n')}\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async promptForCleaning(tsconfigFiles: string[]) {\n this.logger.clearStatusLine();\n const ok = await yesno({\n question: `${chalk.underline('The following paths will be deleted:')}\n${tsconfigFiles.join('\\n')}\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async deleteFiles(tsconfigFiles: string[]) {\n await Promise.all(tsconfigFiles.map((f) => fs.remove(f)));\n }\n\n private async writeFiles(tsconfigPathsPerEnvs: TsconfigPathsPerEnv[]) {\n await Promise.all(\n tsconfigPathsPerEnvs.map((pathsPerEnv) => {\n return Promise.all(\n pathsPerEnv.paths.map((p) => fs.writeFile(path.join(p, 'tsconfig.json'), pathsPerEnv.tsconfig))\n );\n })\n );\n }\n\n private getPathsPerEnv(envsExecutionContext: ExecutionContext[], { dedupe }: TsconfigWriterOptions): PathsPerEnv[] {\n const pathsPerEnvs = envsExecutionContext.map((envExecution) => {\n return {\n id: envExecution.id,\n env: envExecution.env,\n paths: envExecution.components.map((c) => this.workspace.componentDir(c.id, undefined, { relative: true })),\n };\n });\n if (!dedupe) {\n return pathsPerEnvs.map(({ id, env, paths }) => ({ ids: [id], env, paths }));\n }\n\n const envsWithFiles = envsExecutionContext.map((e) => ({\n id: e.id,\n file: e.env.getTsConfig(),\n }));\n const envsPerFile: { envIds: string[]; fileContent: Record<string, any> }[] = [];\n const isEnvProcessed = (envId: string) =>\n envsPerFile\n .map((e) => e.envIds)\n .flat()\n .find((e) => e === envId);\n envsWithFiles.forEach(({ id, file }) => {\n if (isEnvProcessed(id)) return;\n const foundSameFile = envsWithFiles.filter((e) => isEqual(file, e.file));\n envsPerFile.push({ envIds: foundSameFile.map((f) => f.id), fileContent: file });\n });\n const pathsPerEnvIds = envsPerFile.map((e) => ({\n ids: e.envIds,\n paths: compact(e.envIds.map((envId) => pathsPerEnvs.find((p) => p.id === envId)?.paths).flat()),\n }));\n // const pathsPerEnvIds = pathsPerEnvs.map((p) => ({ ids: p.ids, paths: p.paths }));\n const envsPerDedupedPaths = dedupePaths(pathsPerEnvIds);\n const dedupedPathsPerEnvs: PathsPerEnv[] = envsPerDedupedPaths.map((envWithDedupePaths) => {\n const found = pathsPerEnvs.find((p) => envWithDedupePaths.ids.includes(p.id));\n if (!found) throw new Error(`dedupedPathsPerEnvs, unable to find ${envWithDedupePaths.ids}`);\n return {\n env: found.env,\n ids: envWithDedupePaths.ids,\n paths: envWithDedupePaths.paths,\n };\n });\n\n return dedupedPathsPerEnvs;\n }\n}\n\ntype PathsPerEnvIds = { ids: string[]; paths: string[] };\n\nasync function filterDirsWithTsconfigFile(dirs: string[]): Promise<string[]> {\n const dirsWithTsconfig = await Promise.all(\n dirs.map(async (dir) => {\n const hasTsconfig = await fs.pathExists(path.join(dir, 'tsconfig.json'));\n return hasTsconfig ? dir : undefined;\n })\n );\n return compact(dirsWithTsconfig);\n}\n\nfunction getAllPossibleDirsFromPaths(paths: PathLinuxRelative[]): PathLinuxRelative[] {\n const dirs = paths.map((p) => getAllParentsDirOfPath(p)).flat();\n dirs.push('.'); // add the root dir\n return uniq(dirs);\n}\n\nfunction getAllParentsDirOfPath(p: PathLinuxRelative): PathLinuxRelative[] {\n const all: string[] = [];\n let current = p;\n while (current !== '.') {\n all.push(current);\n current = path.dirname(current);\n }\n return all;\n}\n\n/**\n * easier to understand by an example:\n * input:\n * [\n * { id: react, paths: [ui/button, ui/form] },\n * { id: aspect, paths: [p/a1, p/a2] },\n * { id: node, paths: [p/n1] },\n * ]\n *\n * output:\n * [\n * { id: react, paths: [ui] },\n * { id: aspect, paths: [p] },\n * { id: node, paths: [p/n1] },\n * ]\n *\n * the goal is to minimize the amount of files to write per env if possible.\n * when multiple components of the same env share a root-dir, then, it's enough to write a file in that shared dir.\n * if in a shared-dir, some components using env1 and some env2, it finds the env that has the max number of\n * components, this env will be optimized. other components, will have the files written inside their dirs.\n */\nexport function dedupePaths(pathsPerEnvId: PathsPerEnvIds[]): PathsPerEnvIds[] {\n const rootDir = '.';\n const individualPathPerConcatenatedEnvIds: { [path: string]: string } = pathsPerEnvId.reduce((acc, current) => {\n current.paths.forEach((p) => {\n acc[p] = current.ids.join(',');\n });\n return acc;\n }, {});\n const allPaths = Object.keys(individualPathPerConcatenatedEnvIds);\n const allPossibleDirs = getAllPossibleDirsFromPaths(allPaths);\n\n const allPathsPerEnvId: { [path: string]: string | null } = {}; // null when parent-dir has same amount of comps per env.\n\n const calculateBestEnvForDir = (dir: string) => {\n if (individualPathPerConcatenatedEnvIds[dir]) {\n // it's the component dir, so it's the best env\n allPathsPerEnvId[dir] = individualPathPerConcatenatedEnvIds[dir];\n return;\n }\n const allPathsShareSameDir = dir === rootDir ? allPaths : allPaths.filter((p) => p.startsWith(`${dir}/`));\n const countPerEnv: { [env: string]: number } = {};\n allPathsShareSameDir.forEach((p) => {\n const envIdStr = individualPathPerConcatenatedEnvIds[p];\n if (countPerEnv[envIdStr]) countPerEnv[envIdStr] += 1;\n else countPerEnv[envIdStr] = 1;\n });\n const max = Math.max(...Object.values(countPerEnv));\n const envWithMax = Object.keys(countPerEnv).filter((env) => countPerEnv[env] === max);\n if (!envWithMax.length) throw new Error(`must be at least one env related to path \"${dir}\"`);\n if (envWithMax.length > 1) allPathsPerEnvId[dir] = null;\n else allPathsPerEnvId[dir] = envWithMax[0];\n };\n\n allPossibleDirs.forEach((dirPath) => {\n calculateBestEnvForDir(dirPath);\n });\n\n // this is the actual deduping. if found a shorter path with the same env, then no need for this path.\n // in other words, return only the paths that their parent is null or has a different env.\n const dedupedPathsPerEnvIds = Object.keys(allPathsPerEnvId).reduce((acc, current) => {\n if (allPathsPerEnvId[current] && allPathsPerEnvId[path.dirname(current)] !== allPathsPerEnvId[current]) {\n acc[current] = allPathsPerEnvId[current];\n }\n\n return acc;\n }, {});\n // rootDir parent is always rootDir, so leave it as is.\n if (allPathsPerEnvId[rootDir]) dedupedPathsPerEnvIds[rootDir] = allPathsPerEnvId[rootDir];\n\n const envIdsPerDedupedPaths = invertBy(dedupedPathsPerEnvIds);\n\n const dedupedPaths = Object.keys(envIdsPerDedupedPaths).map((envIdStr) => ({\n ids: envIdStr.split(','),\n paths: envIdsPerDedupedPaths[envIdStr],\n }));\n return dedupedPaths;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_yesno","_lodash","_exceptions","_chalk","_","obj","__esModule","default","TsconfigWriter","constructor","workspace","logger","write","envsExecutionContext","options","pathsPerEnvs","getPathsPerEnv","tsconfigPathsPerEnv","map","pathsPerEnv","envIds","ids","tsconfig","getTsconfigFromEnv","env","paths","dryRun","silent","promptForWriting","p","flat","writeFiles","compiler","getCompiler","id","TypescriptAspect","displayConfig","JSON","stringify","getTsConfig","undefined","clean","dedupe","componentPaths","allPossibleDirs","getAllPossibleDirsFromPaths","dirsWithTsconfig","filterDirsWithTsconfigFile","tsconfigFiles","dir","path","join","length","promptForCleaning","deleteFiles","dirs","clearStatusLine","ok","yesno","question","chalk","underline","bold","PromptCanceled","Promise","all","f","fs","remove","tsconfigPathsPerEnvs","writeFile","envExecution","components","c","componentDir","relative","envsWithFiles","e","file","envsPerFile","isEnvProcessed","envId","find","forEach","foundSameFile","filter","isEqual","push","fileContent","pathsPerEnvIds","compact","envsPerDedupedPaths","dedupePaths","dedupedPathsPerEnvs","envWithDedupePaths","found","includes","Error","exports","hasTsconfig","pathExists","getAllParentsDirOfPath","uniq","current","dirname","pathsPerEnvId","rootDir","individualPathPerConcatenatedEnvIds","reduce","acc","allPaths","Object","keys","allPathsPerEnvId","calculateBestEnvForDir","allPathsShareSameDir","startsWith","countPerEnv","envIdStr","max","Math","values","envWithMax","dirPath","dedupedPathsPerEnvIds","envIdsPerDedupedPaths","invertBy","dedupedPaths","split"],"sources":["tsconfig-writer.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport yesno from 'yesno';\nimport { PathLinuxRelative } from '@teambit/legacy/dist/utils/path';\nimport { compact, invertBy, isEqual, uniq } from 'lodash';\nimport { PromptCanceled } from '@teambit/legacy/dist/prompts/exceptions';\nimport { Environment, ExecutionContext } from '@teambit/envs';\nimport { Workspace } from '@teambit/workspace';\nimport { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\nimport { TsconfigWriterOptions } from './typescript.main.runtime';\nimport { TypescriptAspect } from '.';\n\nexport type TsconfigPathsPerEnv = { envIds: string[]; tsconfig: string; paths: string[] };\n\ntype PathsPerEnv = { env: Environment; ids: string[]; paths: string[] };\n\nexport class TsconfigWriter {\n constructor(private workspace: Workspace, private logger: Logger) {}\n\n async write(\n envsExecutionContext: ExecutionContext[],\n options: TsconfigWriterOptions\n ): Promise<TsconfigPathsPerEnv[]> {\n const pathsPerEnvs = this.getPathsPerEnv(envsExecutionContext, options);\n const tsconfigPathsPerEnv = pathsPerEnvs.map((pathsPerEnv) => ({\n envIds: pathsPerEnv.ids,\n tsconfig: this.getTsconfigFromEnv(pathsPerEnv.env), // pathsPerEnv.env.getTsConfig(),\n paths: pathsPerEnv.paths,\n }));\n if (options.dryRun) return tsconfigPathsPerEnv;\n if (!options.silent) await this.promptForWriting(tsconfigPathsPerEnv.map((p) => p.paths).flat());\n await this.writeFiles(tsconfigPathsPerEnv);\n return tsconfigPathsPerEnv;\n }\n\n private getTsconfigFromEnv(env: Environment) {\n const compiler = env.getCompiler();\n if (compiler.id === TypescriptAspect.id) {\n return compiler.displayConfig() as string;\n }\n return JSON.stringify(env.getTsConfig(), undefined, 2);\n }\n\n async clean(envsExecutionContext: ExecutionContext[], { dryRun, silent }: TsconfigWriterOptions): Promise<string[]> {\n const pathsPerEnvs = this.getPathsPerEnv(envsExecutionContext, { dedupe: false });\n const componentPaths = pathsPerEnvs.map((p) => p.paths).flat();\n const allPossibleDirs = getAllPossibleDirsFromPaths(componentPaths);\n const dirsWithTsconfig = await filterDirsWithTsconfigFile(allPossibleDirs);\n const tsconfigFiles = dirsWithTsconfig.map((dir) => path.join(dir, 'tsconfig.json'));\n if (dryRun) return tsconfigFiles;\n if (!dirsWithTsconfig.length) return [];\n if (!silent) await this.promptForCleaning(tsconfigFiles);\n await this.deleteFiles(tsconfigFiles);\n return tsconfigFiles;\n }\n\n private async promptForWriting(dirs: string[]) {\n this.logger.clearStatusLine();\n const tsconfigFiles = dirs.map((dir) => path.join(dir, 'tsconfig.json'));\n const ok = await yesno({\n question: `${chalk.underline('The following paths will be written:')}\n${tsconfigFiles.join('\\n')}\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async promptForCleaning(tsconfigFiles: string[]) {\n this.logger.clearStatusLine();\n const ok = await yesno({\n question: `${chalk.underline('The following paths will be deleted:')}\n${tsconfigFiles.join('\\n')}\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async deleteFiles(tsconfigFiles: string[]) {\n await Promise.all(tsconfigFiles.map((f) => fs.remove(f)));\n }\n\n private async writeFiles(tsconfigPathsPerEnvs: TsconfigPathsPerEnv[]) {\n await Promise.all(\n tsconfigPathsPerEnvs.map((pathsPerEnv) => {\n return Promise.all(\n pathsPerEnv.paths.map((p) => fs.writeFile(path.join(p, 'tsconfig.json'), pathsPerEnv.tsconfig))\n );\n })\n );\n }\n\n private getPathsPerEnv(envsExecutionContext: ExecutionContext[], { dedupe }: TsconfigWriterOptions): PathsPerEnv[] {\n const pathsPerEnvs = envsExecutionContext.map((envExecution) => {\n return {\n id: envExecution.id,\n env: envExecution.env,\n paths: envExecution.components.map((c) => this.workspace.componentDir(c.id, undefined, { relative: true })),\n };\n });\n if (!dedupe) {\n return pathsPerEnvs.map(({ id, env, paths }) => ({ ids: [id], env, paths }));\n }\n\n const envsWithFiles = envsExecutionContext.map((e) => ({\n id: e.id,\n file: e.env.getTsConfig(),\n }));\n const envsPerFile: { envIds: string[]; fileContent: Record<string, any> }[] = [];\n const isEnvProcessed = (envId: string) =>\n envsPerFile\n .map((e) => e.envIds)\n .flat()\n .find((e) => e === envId);\n envsWithFiles.forEach(({ id, file }) => {\n if (isEnvProcessed(id)) return;\n const foundSameFile = envsWithFiles.filter((e) => isEqual(file, e.file));\n envsPerFile.push({ envIds: foundSameFile.map((f) => f.id), fileContent: file });\n });\n const pathsPerEnvIds = envsPerFile.map((e) => ({\n ids: e.envIds,\n paths: compact(e.envIds.map((envId) => pathsPerEnvs.find((p) => p.id === envId)?.paths).flat()),\n }));\n // const pathsPerEnvIds = pathsPerEnvs.map((p) => ({ ids: p.ids, paths: p.paths }));\n const envsPerDedupedPaths = dedupePaths(pathsPerEnvIds);\n const dedupedPathsPerEnvs: PathsPerEnv[] = envsPerDedupedPaths.map((envWithDedupePaths) => {\n const found = pathsPerEnvs.find((p) => envWithDedupePaths.ids.includes(p.id));\n if (!found) throw new Error(`dedupedPathsPerEnvs, unable to find ${envWithDedupePaths.ids}`);\n return {\n env: found.env,\n ids: envWithDedupePaths.ids,\n paths: envWithDedupePaths.paths,\n };\n });\n\n return dedupedPathsPerEnvs;\n }\n}\n\ntype PathsPerEnvIds = { ids: string[]; paths: string[] };\n\nasync function filterDirsWithTsconfigFile(dirs: string[]): Promise<string[]> {\n const dirsWithTsconfig = await Promise.all(\n dirs.map(async (dir) => {\n const hasTsconfig = await fs.pathExists(path.join(dir, 'tsconfig.json'));\n return hasTsconfig ? dir : undefined;\n })\n );\n return compact(dirsWithTsconfig);\n}\n\nfunction getAllPossibleDirsFromPaths(paths: PathLinuxRelative[]): PathLinuxRelative[] {\n const dirs = paths.map((p) => getAllParentsDirOfPath(p)).flat();\n dirs.push('.'); // add the root dir\n return uniq(dirs);\n}\n\nfunction getAllParentsDirOfPath(p: PathLinuxRelative): PathLinuxRelative[] {\n const all: string[] = [];\n let current = p;\n while (current !== '.') {\n all.push(current);\n current = path.dirname(current);\n }\n return all;\n}\n\n/**\n * easier to understand by an example:\n * input:\n * [\n * { id: react, paths: [ui/button, ui/form] },\n * { id: aspect, paths: [p/a1, p/a2] },\n * { id: node, paths: [p/n1] },\n * ]\n *\n * output:\n * [\n * { id: react, paths: [ui] },\n * { id: aspect, paths: [p] },\n * { id: node, paths: [p/n1] },\n * ]\n *\n * the goal is to minimize the amount of files to write per env if possible.\n * when multiple components of the same env share a root-dir, then, it's enough to write a file in that shared dir.\n * if in a shared-dir, some components using env1 and some env2, it finds the env that has the max number of\n * components, this env will be optimized. other components, will have the files written inside their dirs.\n */\nexport function dedupePaths(pathsPerEnvId: PathsPerEnvIds[]): PathsPerEnvIds[] {\n const rootDir = '.';\n const individualPathPerConcatenatedEnvIds: { [path: string]: string } = pathsPerEnvId.reduce((acc, current) => {\n current.paths.forEach((p) => {\n acc[p] = current.ids.join(',');\n });\n return acc;\n }, {});\n const allPaths = Object.keys(individualPathPerConcatenatedEnvIds);\n const allPossibleDirs = getAllPossibleDirsFromPaths(allPaths);\n\n const allPathsPerEnvId: { [path: string]: string | null } = {}; // null when parent-dir has same amount of comps per env.\n\n const calculateBestEnvForDir = (dir: string) => {\n if (individualPathPerConcatenatedEnvIds[dir]) {\n // it's the component dir, so it's the best env\n allPathsPerEnvId[dir] = individualPathPerConcatenatedEnvIds[dir];\n return;\n }\n const allPathsShareSameDir = dir === rootDir ? allPaths : allPaths.filter((p) => p.startsWith(`${dir}/`));\n const countPerEnv: { [env: string]: number } = {};\n allPathsShareSameDir.forEach((p) => {\n const envIdStr = individualPathPerConcatenatedEnvIds[p];\n if (countPerEnv[envIdStr]) countPerEnv[envIdStr] += 1;\n else countPerEnv[envIdStr] = 1;\n });\n const max = Math.max(...Object.values(countPerEnv));\n const envWithMax = Object.keys(countPerEnv).filter((env) => countPerEnv[env] === max);\n if (!envWithMax.length) throw new Error(`must be at least one env related to path \"${dir}\"`);\n if (envWithMax.length > 1) allPathsPerEnvId[dir] = null;\n else allPathsPerEnvId[dir] = envWithMax[0];\n };\n\n allPossibleDirs.forEach((dirPath) => {\n calculateBestEnvForDir(dirPath);\n });\n\n // this is the actual deduping. if found a shorter path with the same env, then no need for this path.\n // in other words, return only the paths that their parent is null or has a different env.\n const dedupedPathsPerEnvIds = Object.keys(allPathsPerEnvId).reduce((acc, current) => {\n if (allPathsPerEnvId[current] && allPathsPerEnvId[path.dirname(current)] !== allPathsPerEnvId[current]) {\n acc[current] = allPathsPerEnvId[current];\n }\n\n return acc;\n }, {});\n // rootDir parent is always rootDir, so leave it as is.\n if (allPathsPerEnvId[rootDir]) dedupedPathsPerEnvIds[rootDir] = allPathsPerEnvId[rootDir];\n\n const envIdsPerDedupedPaths = invertBy(dedupedPathsPerEnvIds);\n\n const dedupedPaths = Object.keys(envIdsPerDedupedPaths).map((envIdStr) => ({\n ids: envIdStr.split(','),\n paths: envIdsPerDedupedPaths[envIdStr],\n }));\n return dedupedPaths;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_harmony","data","require","TypescriptAspect","exports","Aspect","create","id"],"sources":["typescript.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const TypescriptAspect = Aspect.create({\n id: 'teambit.typescript/typescript',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EAC5CC,EAAE,EAAE;AACN,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["_harmony","data","require","TypescriptAspect","exports","Aspect","create","id"],"sources":["typescript.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const TypescriptAspect = Aspect.create({\n id: 'teambit.typescript/typescript',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EAC5CC,EAAE,EAAE;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["typescript.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/brands/logo-typescript.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAmD,CAAE,CACjF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["typescript.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/brands/logo-typescript.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAmD,CAAE,CACjF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA","ignoreList":[]}
|