@teambit/typescript 0.0.965 → 0.0.967
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/dist/export-identifier.d.ts +5 -4
- package/dist/export-identifier.js +23 -4
- package/dist/export-identifier.js.map +1 -1
- package/dist/identifier-list.d.ts +7 -0
- package/dist/identifier-list.js +21 -0
- package/dist/identifier-list.js.map +1 -0
- package/dist/identifier.d.ts +9 -0
- package/dist/identifier.js +30 -0
- package/dist/identifier.js.map +1 -0
- package/dist/{preview-1674271762484.js → preview-1674617375675.js} +2 -2
- package/dist/schema-extractor-context.d.ts +40 -8
- package/dist/schema-extractor-context.js +243 -101
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/schema-transformer.d.ts +2 -2
- package/dist/schema-transformer.js.map +1 -1
- package/dist/transformers/array-type.d.ts +10 -0
- package/dist/transformers/array-type.js +38 -0
- package/dist/transformers/array-type.js.map +1 -0
- package/dist/transformers/binding-element.d.ts +2 -2
- package/dist/transformers/binding-element.js +7 -7
- package/dist/transformers/binding-element.js.map +1 -1
- package/dist/transformers/class-declaration.d.ts +2 -2
- package/dist/transformers/class-declaration.js +6 -20
- package/dist/transformers/class-declaration.js.map +1 -1
- package/dist/transformers/conditional-type.d.ts +10 -0
- package/dist/transformers/conditional-type.js +39 -0
- package/dist/transformers/conditional-type.js.map +1 -0
- package/dist/transformers/constructor.d.ts +10 -0
- package/dist/transformers/constructor.js +50 -0
- package/dist/transformers/constructor.js.map +1 -0
- package/dist/transformers/enum-declaration.d.ts +2 -2
- package/dist/transformers/enum-declaration.js +4 -4
- package/dist/transformers/enum-declaration.js.map +1 -1
- package/dist/transformers/{export-assignment-declaration.d.ts → export-assignment.d.ts} +7 -2
- package/dist/transformers/export-assignment.js +41 -0
- package/dist/transformers/export-assignment.js.map +1 -0
- package/dist/transformers/export-declaration.d.ts +2 -3
- package/dist/transformers/export-declaration.js +21 -10
- package/dist/transformers/export-declaration.js.map +1 -1
- package/dist/transformers/function-like.d.ts +11 -0
- package/dist/transformers/function-like.js +82 -0
- package/dist/transformers/function-like.js.map +1 -0
- package/dist/transformers/get-accessor.d.ts +10 -0
- package/dist/transformers/get-accessor.js +48 -0
- package/dist/transformers/get-accessor.js.map +1 -0
- package/dist/transformers/import-declaration.d.ts +10 -0
- package/dist/transformers/import-declaration.js +74 -0
- package/dist/transformers/import-declaration.js.map +1 -0
- package/dist/transformers/index-signature.d.ts +10 -0
- package/dist/transformers/index-signature.js +45 -0
- package/dist/transformers/index-signature.js.map +1 -0
- package/dist/transformers/index.d.ts +28 -3
- package/dist/transformers/index.js +337 -12
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/indexed-access-type.d.ts +10 -0
- package/dist/transformers/indexed-access-type.js +37 -0
- package/dist/transformers/indexed-access-type.js.map +1 -0
- package/dist/transformers/interface-declaration.d.ts +2 -2
- package/dist/transformers/interface-declaration.js +6 -20
- package/dist/transformers/interface-declaration.js.map +1 -1
- package/dist/transformers/intersection-type.d.ts +10 -0
- package/dist/transformers/intersection-type.js +48 -0
- package/dist/transformers/intersection-type.js.map +1 -0
- package/dist/transformers/keyword-type.d.ts +13 -0
- package/dist/transformers/keyword-type.js +55 -0
- package/dist/transformers/keyword-type.js.map +1 -0
- package/dist/transformers/literal-type.d.ts +13 -0
- package/dist/transformers/literal-type.js +40 -0
- package/dist/transformers/literal-type.js.map +1 -0
- package/dist/transformers/named-tuple.d.ts +10 -0
- package/dist/transformers/named-tuple.js +38 -0
- package/dist/transformers/named-tuple.js.map +1 -0
- package/dist/transformers/parameter.d.ts +13 -0
- package/dist/transformers/parameter.js +112 -0
- package/dist/transformers/parameter.js.map +1 -0
- package/dist/transformers/parenthesized-type.d.ts +10 -0
- package/dist/transformers/parenthesized-type.js +36 -0
- package/dist/transformers/parenthesized-type.js.map +1 -0
- package/dist/transformers/property-declaration.d.ts +11 -0
- package/dist/transformers/property-declaration.js +57 -0
- package/dist/transformers/property-declaration.js.map +1 -0
- package/dist/transformers/set-accessor.d.ts +10 -0
- package/dist/transformers/set-accessor.js +45 -0
- package/dist/transformers/set-accessor.js.map +1 -0
- package/dist/transformers/source-file-transformer.d.ts +3 -2
- package/dist/transformers/source-file-transformer.js +44 -15
- package/dist/transformers/source-file-transformer.js.map +1 -1
- package/dist/transformers/template-literal-type-span.d.ts +10 -0
- package/dist/transformers/template-literal-type-span.js +37 -0
- package/dist/transformers/template-literal-type-span.js.map +1 -0
- package/dist/transformers/template-literal-type.d.ts +10 -0
- package/dist/transformers/template-literal-type.js +45 -0
- package/dist/transformers/template-literal-type.js.map +1 -0
- package/dist/transformers/this-type.d.ts +10 -0
- package/dist/transformers/this-type.js +35 -0
- package/dist/transformers/this-type.js.map +1 -0
- package/dist/transformers/tuple-type.d.ts +10 -0
- package/dist/transformers/tuple-type.js +47 -0
- package/dist/transformers/tuple-type.js.map +1 -0
- package/dist/transformers/type-alias.d.ts +2 -2
- package/dist/transformers/type-alias.js +5 -12
- package/dist/transformers/type-alias.js.map +1 -1
- package/dist/transformers/type-literal.d.ts +14 -0
- package/dist/transformers/type-literal.js +49 -0
- package/dist/transformers/type-literal.js.map +1 -0
- package/dist/transformers/type-operator.d.ts +14 -0
- package/dist/transformers/type-operator.js +52 -0
- package/dist/transformers/type-operator.js.map +1 -0
- package/dist/transformers/type-predicate.d.ts +10 -0
- package/dist/transformers/type-predicate.js +38 -0
- package/dist/transformers/type-predicate.js.map +1 -0
- package/dist/transformers/type-query.d.ts +13 -0
- package/dist/transformers/type-query.js +42 -0
- package/dist/transformers/type-query.js.map +1 -0
- package/dist/transformers/type-reference.d.ts +16 -0
- package/dist/transformers/type-reference.js +56 -0
- package/dist/transformers/type-reference.js.map +1 -0
- package/dist/transformers/union-type.d.ts +10 -0
- package/dist/transformers/union-type.js +48 -0
- package/dist/transformers/union-type.js.map +1 -0
- package/dist/transformers/utils/jsdoc-to-doc-schema.js +2 -10
- package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -1
- package/dist/transformers/variable-declaration.d.ts +2 -2
- package/dist/transformers/variable-declaration.js +11 -11
- package/dist/transformers/variable-declaration.js.map +1 -1
- package/dist/transformers/variable-statement.d.ts +2 -2
- package/dist/transformers/variable-statement.js +5 -5
- package/dist/transformers/variable-statement.js.map +1 -1
- package/dist/typescript.extractor.d.ts +10 -4
- package/dist/typescript.extractor.js +70 -17
- package/dist/typescript.extractor.js.map +1 -1
- package/dist/typescript.main.runtime.d.ts +4 -2
- package/dist/typescript.main.runtime.js +5 -11
- package/dist/typescript.main.runtime.js.map +1 -1
- package/package-tar/teambit-typescript-0.0.967.tgz +0 -0
- package/package.json +17 -17
- package/transformers/array-type.ts +21 -0
- package/transformers/binding-element.ts +2 -2
- package/transformers/class-declaration.ts +4 -6
- package/transformers/conditional-type.ts +23 -0
- package/transformers/constructor.ts +40 -0
- package/transformers/enum-declaration.ts +3 -3
- package/transformers/{export-assignment-declaration.ts → export-assignment.ts} +9 -3
- package/transformers/export-declaration.ts +35 -8
- package/transformers/function-like.ts +65 -0
- package/transformers/get-accessor.ts +24 -0
- package/transformers/import-declaration.ts +56 -0
- package/transformers/index-signature.ts +24 -0
- package/transformers/index.ts +28 -3
- package/transformers/indexed-access-type.ts +21 -0
- package/transformers/interface-declaration.ts +5 -7
- package/transformers/intersection-type.ts +25 -0
- package/transformers/keyword-type.ts +39 -0
- package/transformers/literal-type.ts +23 -0
- package/transformers/named-tuple.ts +22 -0
- package/transformers/parameter.ts +110 -0
- package/transformers/parenthesized-type.ts +20 -0
- package/transformers/property-declaration.ts +33 -0
- package/transformers/set-accessor.ts +25 -0
- package/transformers/source-file-transformer.ts +56 -24
- package/transformers/template-literal-type-span.ts +21 -0
- package/transformers/template-literal-type.ts +24 -0
- package/transformers/this-type.ts +19 -0
- package/transformers/tuple-type.ts +24 -0
- package/transformers/type-alias.ts +3 -4
- package/transformers/type-literal.ts +26 -0
- package/transformers/type-operator.ts +37 -0
- package/transformers/type-predicate.ts +22 -0
- package/transformers/type-query.ts +25 -0
- package/transformers/type-reference.ts +33 -0
- package/transformers/union-type.ts +25 -0
- package/transformers/utils/jsdoc-to-doc-schema.ts +2 -4
- package/transformers/variable-declaration.ts +7 -4
- package/transformers/variable-statement.ts +3 -3
- package/dist/export-list.d.ts +0 -6
- package/dist/export-list.js +0 -17
- package/dist/export-list.js.map +0 -1
- package/dist/transformers/export-assignment-declaration.js +0 -29
- package/dist/transformers/export-assignment-declaration.js.map +0 -1
- package/dist/transformers/function-declaration.d.ts +0 -11
- package/dist/transformers/function-declaration.js +0 -49
- package/dist/transformers/function-declaration.js.map +0 -1
- package/dist/transformers/utils/class-element-to-schema.d.ts +0 -4
- package/dist/transformers/utils/class-element-to-schema.js +0 -95
- package/dist/transformers/utils/class-element-to-schema.js.map +0 -1
- package/dist/transformers/utils/get-params.d.ts +0 -4
- package/dist/transformers/utils/get-params.js +0 -100
- package/dist/transformers/utils/get-params.js.map +0 -1
- package/dist/transformers/utils/to-function-like-schema.d.ts +0 -4
- package/dist/transformers/utils/to-function-like-schema.js +0 -58
- package/dist/transformers/utils/to-function-like-schema.js.map +0 -1
- package/dist/transformers/utils/type-element-to-schema.d.ts +0 -7
- package/dist/transformers/utils/type-element-to-schema.js +0 -106
- package/dist/transformers/utils/type-element-to-schema.js.map +0 -1
- package/dist/transformers/utils/type-node-to-schema.d.ts +0 -4
- package/dist/transformers/utils/type-node-to-schema.js +0 -274
- package/dist/transformers/utils/type-node-to-schema.js.map +0 -1
- package/package-tar/teambit-typescript-0.0.965.tgz +0 -0
- package/transformers/function-declaration.ts +0 -25
- package/transformers/utils/class-element-to-schema.ts +0 -64
- package/transformers/utils/get-params.ts +0 -92
- package/transformers/utils/to-function-like-schema.ts +0 -39
- package/transformers/utils/type-element-to-schema.ts +0 -79
- package/transformers/utils/type-node-to-schema.ts +0 -294
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.promise.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.classElementToSchema = classElementToSchema;
|
|
8
|
-
function _typescript() {
|
|
9
|
-
const data = require("typescript");
|
|
10
|
-
_typescript = function () {
|
|
11
|
-
return data;
|
|
12
|
-
};
|
|
13
|
-
return data;
|
|
14
|
-
}
|
|
15
|
-
function _semanticsEntities() {
|
|
16
|
-
const data = require("@teambit/semantics.entities.semantic-schema");
|
|
17
|
-
_semanticsEntities = function () {
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
return data;
|
|
21
|
-
}
|
|
22
|
-
function _getParams() {
|
|
23
|
-
const data = require("./get-params");
|
|
24
|
-
_getParams = function () {
|
|
25
|
-
return data;
|
|
26
|
-
};
|
|
27
|
-
return data;
|
|
28
|
-
}
|
|
29
|
-
function _typeElementToSchema() {
|
|
30
|
-
const data = require("./type-element-to-schema");
|
|
31
|
-
_typeElementToSchema = function () {
|
|
32
|
-
return data;
|
|
33
|
-
};
|
|
34
|
-
return data;
|
|
35
|
-
}
|
|
36
|
-
function _parseTypeFromQuickInfo() {
|
|
37
|
-
const data = require("./parse-type-from-quick-info");
|
|
38
|
-
_parseTypeFromQuickInfo = function () {
|
|
39
|
-
return data;
|
|
40
|
-
};
|
|
41
|
-
return data;
|
|
42
|
-
}
|
|
43
|
-
function _toFunctionLikeSchema() {
|
|
44
|
-
const data = require("./to-function-like-schema");
|
|
45
|
-
_toFunctionLikeSchema = function () {
|
|
46
|
-
return data;
|
|
47
|
-
};
|
|
48
|
-
return data;
|
|
49
|
-
}
|
|
50
|
-
async function classElementToSchema(node, context) {
|
|
51
|
-
switch (node.kind) {
|
|
52
|
-
case _typescript().SyntaxKind.Constructor:
|
|
53
|
-
return constructor(node, context);
|
|
54
|
-
case _typescript().SyntaxKind.PropertyDeclaration:
|
|
55
|
-
return propertyDeclaration(node, context);
|
|
56
|
-
case _typescript().SyntaxKind.MethodDeclaration:
|
|
57
|
-
return methodDeclaration(node, context);
|
|
58
|
-
case _typescript().SyntaxKind.GetAccessor:
|
|
59
|
-
return (0, _typeElementToSchema().getAccessor)(node, context);
|
|
60
|
-
case _typescript().SyntaxKind.SetAccessor:
|
|
61
|
-
return (0, _typeElementToSchema().setAccessor)(node, context);
|
|
62
|
-
case _typescript().SyntaxKind.IndexSignature:
|
|
63
|
-
return (0, _typeElementToSchema().indexSignature)(node, context);
|
|
64
|
-
case _typescript().SyntaxKind.ClassStaticBlockDeclaration: // not sure what is it, but the name sounds like not something we need
|
|
65
|
-
case _typescript().SyntaxKind.SemicolonClassElement:
|
|
66
|
-
// seems to be just a semicolon
|
|
67
|
-
return null;
|
|
68
|
-
default:
|
|
69
|
-
// should never be here unless typescript added new class elements
|
|
70
|
-
throw new Error(`unrecognized ClassElement type. got ${node.kind}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async function constructor(node, context) {
|
|
74
|
-
var _info$body;
|
|
75
|
-
const args = await (0, _getParams().getParams)(node.parameters, context);
|
|
76
|
-
const info = await context.getQuickInfo(node);
|
|
77
|
-
const displaySig = info === null || info === void 0 ? void 0 : (_info$body = info.body) === null || _info$body === void 0 ? void 0 : _info$body.displayString;
|
|
78
|
-
return new (_semanticsEntities().ConstructorSchema)(context.getLocation(node), args, displaySig);
|
|
79
|
-
}
|
|
80
|
-
async function propertyDeclaration(node, context) {
|
|
81
|
-
var _info$body2;
|
|
82
|
-
const name = node.name.getText();
|
|
83
|
-
const info = await context.getQuickInfo(node.name);
|
|
84
|
-
const displaySig = info === null || info === void 0 ? void 0 : (_info$body2 = info.body) === null || _info$body2 === void 0 ? void 0 : _info$body2.displayString;
|
|
85
|
-
const typeStr = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
86
|
-
const type = await context.resolveType(node, typeStr);
|
|
87
|
-
const isOptional = Boolean(node.questionToken);
|
|
88
|
-
const doc = await context.jsDocToDocSchema(node);
|
|
89
|
-
return new (_semanticsEntities().VariableLikeSchema)(context.getLocation(node), name, displaySig || '', type, isOptional, doc);
|
|
90
|
-
}
|
|
91
|
-
async function methodDeclaration(node, context) {
|
|
92
|
-
return (0, _toFunctionLikeSchema().toFunctionLikeSchema)(node, context);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
//# sourceMappingURL=class-element-to-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["classElementToSchema","node","context","kind","SyntaxKind","Constructor","constructor","PropertyDeclaration","propertyDeclaration","MethodDeclaration","methodDeclaration","GetAccessor","getAccessor","SetAccessor","setAccessor","IndexSignature","indexSignature","ClassStaticBlockDeclaration","SemicolonClassElement","Error","args","getParams","parameters","info","getQuickInfo","displaySig","body","displayString","ConstructorSchema","getLocation","name","getText","typeStr","parseTypeFromQuickInfo","type","resolveType","isOptional","Boolean","questionToken","doc","jsDocToDocSchema","VariableLikeSchema","toFunctionLikeSchema"],"sources":["class-element-to-schema.ts"],"sourcesContent":["import {\n ClassElement,\n ConstructorDeclaration,\n GetAccessorDeclaration,\n IndexSignatureDeclaration,\n MethodDeclaration,\n PropertyDeclaration,\n SetAccessorDeclaration,\n SyntaxKind,\n} from 'typescript';\nimport { ConstructorSchema, SchemaNode, VariableLikeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\nimport { getParams } from './get-params';\nimport { getAccessor, indexSignature, setAccessor } from './type-element-to-schema';\nimport { parseTypeFromQuickInfo } from './parse-type-from-quick-info';\nimport { toFunctionLikeSchema } from './to-function-like-schema';\n\nexport async function classElementToSchema(\n node: ClassElement,\n context: SchemaExtractorContext\n): Promise<SchemaNode | null> {\n switch (node.kind) {\n case SyntaxKind.Constructor:\n return constructor(node as ConstructorDeclaration, context);\n case SyntaxKind.PropertyDeclaration:\n return propertyDeclaration(node as PropertyDeclaration, context);\n case SyntaxKind.MethodDeclaration:\n return methodDeclaration(node as MethodDeclaration, context);\n case SyntaxKind.GetAccessor:\n return getAccessor(node as GetAccessorDeclaration, context);\n case SyntaxKind.SetAccessor:\n return setAccessor(node as SetAccessorDeclaration, context);\n case SyntaxKind.IndexSignature:\n return indexSignature(node as IndexSignatureDeclaration, context);\n case SyntaxKind.ClassStaticBlockDeclaration: // not sure what is it, but the name sounds like not something we need\n case SyntaxKind.SemicolonClassElement: // seems to be just a semicolon\n return null;\n default:\n // should never be here unless typescript added new class elements\n throw new Error(`unrecognized ClassElement type. got ${node.kind}`);\n }\n}\n\nasync function constructor(node: ConstructorDeclaration, context: SchemaExtractorContext) {\n const args = await getParams(node.parameters, context);\n const info = await context.getQuickInfo(node);\n const displaySig = info?.body?.displayString;\n return new ConstructorSchema(context.getLocation(node), args, displaySig);\n}\n\nasync function propertyDeclaration(node: PropertyDeclaration, context: SchemaExtractorContext) {\n const name = node.name.getText();\n const info = await context.getQuickInfo(node.name);\n const displaySig = info?.body?.displayString;\n const typeStr = parseTypeFromQuickInfo(info);\n const type = await context.resolveType(node, typeStr);\n const isOptional = Boolean(node.questionToken);\n const doc = await context.jsDocToDocSchema(node);\n return new VariableLikeSchema(context.getLocation(node), name, displaySig || '', type, isOptional, doc);\n}\n\nasync function methodDeclaration(node: MethodDeclaration, context: SchemaExtractorContext) {\n return toFunctionLikeSchema(node, context);\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ParameterSchema } from '@teambit/semantics.entities.semantic-schema';
|
|
2
|
-
import { ParameterDeclaration, NodeArray } from 'typescript';
|
|
3
|
-
import { SchemaExtractorContext } from '../../schema-extractor-context';
|
|
4
|
-
export declare function getParams(parameterNodes: NodeArray<ParameterDeclaration>, context: SchemaExtractorContext): Promise<ParameterSchema[]>;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.promise.js");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.getParams = getParams;
|
|
9
|
-
function _semanticsEntities() {
|
|
10
|
-
const data = require("@teambit/semantics.entities.semantic-schema");
|
|
11
|
-
_semanticsEntities = function () {
|
|
12
|
-
return data;
|
|
13
|
-
};
|
|
14
|
-
return data;
|
|
15
|
-
}
|
|
16
|
-
function _pMapSeries() {
|
|
17
|
-
const data = _interopRequireDefault(require("p-map-series"));
|
|
18
|
-
_pMapSeries = function () {
|
|
19
|
-
return data;
|
|
20
|
-
};
|
|
21
|
-
return data;
|
|
22
|
-
}
|
|
23
|
-
function _typescript() {
|
|
24
|
-
const data = require("typescript");
|
|
25
|
-
_typescript = function () {
|
|
26
|
-
return data;
|
|
27
|
-
};
|
|
28
|
-
return data;
|
|
29
|
-
}
|
|
30
|
-
function _parseTypeFromQuickInfo() {
|
|
31
|
-
const data = require("./parse-type-from-quick-info");
|
|
32
|
-
_parseTypeFromQuickInfo = function () {
|
|
33
|
-
return data;
|
|
34
|
-
};
|
|
35
|
-
return data;
|
|
36
|
-
}
|
|
37
|
-
function _typeNodeToSchema() {
|
|
38
|
-
const data = require("./type-node-to-schema");
|
|
39
|
-
_typeNodeToSchema = function () {
|
|
40
|
-
return data;
|
|
41
|
-
};
|
|
42
|
-
return data;
|
|
43
|
-
}
|
|
44
|
-
async function getParams(parameterNodes, context) {
|
|
45
|
-
return (0, _pMapSeries().default)(parameterNodes, async param => {
|
|
46
|
-
return new (_semanticsEntities().ParameterSchema)(context.getLocation(param), getParamName(param), await getParamType(param, context), Boolean(param.questionToken), param.initializer ? param.initializer.getText() : undefined, undefined, await getParamObjectBindingNodes(param, context));
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
function getParamName(param) {
|
|
50
|
-
if ((0, _typescript().isIdentifier)(param.name)) {
|
|
51
|
-
return param.name.getText();
|
|
52
|
-
}
|
|
53
|
-
// it's binding pattern, either an array or an object
|
|
54
|
-
const elements = param.name.elements.map(elem => elem.getText());
|
|
55
|
-
const elementsStr = elements.join(', ');
|
|
56
|
-
if (param.name.kind === _typescript().SyntaxKind.ArrayBindingPattern) {
|
|
57
|
-
return `[ ${elementsStr} ]`;
|
|
58
|
-
}
|
|
59
|
-
// it's an object binding
|
|
60
|
-
return `{ ${elementsStr} }`;
|
|
61
|
-
}
|
|
62
|
-
async function getParamObjectBindingNodes(param, context) {
|
|
63
|
-
if (param.name.kind !== _typescript().SyntaxKind.ObjectBindingPattern) return undefined;
|
|
64
|
-
return (0, _pMapSeries().default)(param.name.elements, async elem => {
|
|
65
|
-
const info = await context.getQuickInfo(elem.name);
|
|
66
|
-
const parsed = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
67
|
-
return new (_semanticsEntities().InferenceTypeSchema)(context.getLocation(param), parsed, elem.name.getText());
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
async function getParamType(param, context) {
|
|
71
|
-
if (param.type) {
|
|
72
|
-
const type = param.type;
|
|
73
|
-
return (0, _typeNodeToSchema().typeNodeToSchema)(type, context);
|
|
74
|
-
}
|
|
75
|
-
if ((0, _typescript().isIdentifier)(param.name)) {
|
|
76
|
-
const info = await context.getQuickInfo(param.name);
|
|
77
|
-
const parsed = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
78
|
-
return new (_semanticsEntities().InferenceTypeSchema)(context.getLocation(param), parsed);
|
|
79
|
-
}
|
|
80
|
-
// it's binding pattern, either an array or an object
|
|
81
|
-
if (param.name.kind === _typescript().SyntaxKind.ArrayBindingPattern) {
|
|
82
|
-
const elements = await (0, _pMapSeries().default)(param.name.elements, async elem => {
|
|
83
|
-
const info = await context.getQuickInfo(elem);
|
|
84
|
-
const parsed = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
85
|
-
return new (_semanticsEntities().InferenceTypeSchema)(context.getLocation(param), parsed);
|
|
86
|
-
});
|
|
87
|
-
return new (_semanticsEntities().TupleTypeSchema)(context.getLocation(param), elements);
|
|
88
|
-
}
|
|
89
|
-
if (param.name.kind === _typescript().SyntaxKind.ObjectBindingPattern) {
|
|
90
|
-
const elements = await (0, _pMapSeries().default)(param.name.elements, async elem => {
|
|
91
|
-
const info = await context.getQuickInfo(elem.name);
|
|
92
|
-
const parsed = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
93
|
-
return new (_semanticsEntities().InferenceTypeSchema)(context.getLocation(param), parsed, elem.name.getText());
|
|
94
|
-
});
|
|
95
|
-
return new (_semanticsEntities().TypeLiteralSchema)(context.getLocation(param), elements);
|
|
96
|
-
}
|
|
97
|
-
throw new Error(`unknown param type`);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
//# sourceMappingURL=get-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getParams","parameterNodes","context","pMapSeries","param","ParameterSchema","getLocation","getParamName","getParamType","Boolean","questionToken","initializer","getText","undefined","getParamObjectBindingNodes","isIdentifier","name","elements","map","elem","elementsStr","join","kind","SyntaxKind","ArrayBindingPattern","ObjectBindingPattern","info","getQuickInfo","parsed","parseTypeFromQuickInfo","InferenceTypeSchema","type","typeNodeToSchema","TupleTypeSchema","TypeLiteralSchema","Error"],"sources":["get-params.ts"],"sourcesContent":["import {\n InferenceTypeSchema,\n ParameterSchema,\n TupleTypeSchema,\n TypeLiteralSchema,\n SchemaNode,\n} from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport {\n SyntaxKind,\n ParameterDeclaration,\n NodeArray,\n isIdentifier,\n BindingElement,\n ArrayBindingElement,\n} from 'typescript';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\nimport { parseTypeFromQuickInfo } from './parse-type-from-quick-info';\nimport { typeNodeToSchema } from './type-node-to-schema';\n\nexport async function getParams(\n parameterNodes: NodeArray<ParameterDeclaration>,\n context: SchemaExtractorContext\n): Promise<ParameterSchema[]> {\n return pMapSeries(parameterNodes, async (param) => {\n return new ParameterSchema(\n context.getLocation(param),\n getParamName(param),\n await getParamType(param, context),\n Boolean(param.questionToken),\n param.initializer ? param.initializer.getText() : undefined,\n undefined,\n await getParamObjectBindingNodes(param, context)\n );\n });\n}\n\nfunction getParamName(param: ParameterDeclaration): string {\n if (isIdentifier(param.name)) {\n return param.name.getText();\n }\n // it's binding pattern, either an array or an object\n const elements = param.name.elements.map((elem) => elem.getText());\n const elementsStr = elements.join(', ');\n if (param.name.kind === SyntaxKind.ArrayBindingPattern) {\n return `[ ${elementsStr} ]`;\n }\n // it's an object binding\n return `{ ${elementsStr} }`;\n}\n\nasync function getParamObjectBindingNodes(\n param: ParameterDeclaration,\n context: SchemaExtractorContext\n): Promise<SchemaNode[] | undefined> {\n if (param.name.kind !== SyntaxKind.ObjectBindingPattern) return undefined;\n return pMapSeries(param.name.elements, async (elem: BindingElement) => {\n const info = await context.getQuickInfo(elem.name);\n const parsed = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(context.getLocation(param), parsed, elem.name.getText());\n });\n}\n\nasync function getParamType(param: ParameterDeclaration, context: SchemaExtractorContext): Promise<SchemaNode> {\n if (param.type) {\n const type = param.type;\n return typeNodeToSchema(type, context);\n }\n if (isIdentifier(param.name)) {\n const info = await context.getQuickInfo(param.name);\n const parsed = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(context.getLocation(param), parsed);\n }\n // it's binding pattern, either an array or an object\n if (param.name.kind === SyntaxKind.ArrayBindingPattern) {\n const elements = await pMapSeries(param.name.elements, async (elem: ArrayBindingElement) => {\n const info = await context.getQuickInfo(elem);\n const parsed = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(context.getLocation(param), parsed);\n });\n return new TupleTypeSchema(context.getLocation(param), elements);\n }\n if (param.name.kind === SyntaxKind.ObjectBindingPattern) {\n const elements = await pMapSeries(param.name.elements, async (elem: BindingElement) => {\n const info = await context.getQuickInfo(elem.name);\n const parsed = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(context.getLocation(param), parsed, elem.name.getText());\n });\n return new TypeLiteralSchema(context.getLocation(param), elements);\n }\n throw new Error(`unknown param type`);\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { SignatureDeclaration } from 'typescript';
|
|
2
|
-
import { FunctionLikeSchema } from '@teambit/semantics.entities.semantic-schema';
|
|
3
|
-
import { SchemaExtractorContext } from '../../schema-extractor-context';
|
|
4
|
-
export declare function toFunctionLikeSchema(node: SignatureDeclaration, context: SchemaExtractorContext, funcName?: string): Promise<FunctionLikeSchema>;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.promise.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.toFunctionLikeSchema = toFunctionLikeSchema;
|
|
8
|
-
function _typescript() {
|
|
9
|
-
const data = require("typescript");
|
|
10
|
-
_typescript = function () {
|
|
11
|
-
return data;
|
|
12
|
-
};
|
|
13
|
-
return data;
|
|
14
|
-
}
|
|
15
|
-
function _semanticsEntities() {
|
|
16
|
-
const data = require("@teambit/semantics.entities.semantic-schema");
|
|
17
|
-
_semanticsEntities = function () {
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
return data;
|
|
21
|
-
}
|
|
22
|
-
function _getParams() {
|
|
23
|
-
const data = require("./get-params");
|
|
24
|
-
_getParams = function () {
|
|
25
|
-
return data;
|
|
26
|
-
};
|
|
27
|
-
return data;
|
|
28
|
-
}
|
|
29
|
-
function _parseTypeFromQuickInfo() {
|
|
30
|
-
const data = require("./parse-type-from-quick-info");
|
|
31
|
-
_parseTypeFromQuickInfo = function () {
|
|
32
|
-
return data;
|
|
33
|
-
};
|
|
34
|
-
return data;
|
|
35
|
-
}
|
|
36
|
-
async function toFunctionLikeSchema(node, context, funcName) {
|
|
37
|
-
var _node$name, _info$body, _node$modifiers2, _node$typeParameters;
|
|
38
|
-
const name = funcName || ((_node$name = node.name) === null || _node$name === void 0 ? void 0 : _node$name.getText()) || '';
|
|
39
|
-
const getQuickInfoFromDefaultModifier = async () => {
|
|
40
|
-
var _node$modifiers;
|
|
41
|
-
const defaultModifier = (_node$modifiers = node.modifiers) === null || _node$modifiers === void 0 ? void 0 : _node$modifiers.find(modifier => modifier.kind === _typescript().SyntaxKind.DefaultKeyword);
|
|
42
|
-
if (defaultModifier) return context.getQuickInfo(defaultModifier);
|
|
43
|
-
if (node.kind === _typescript().SyntaxKind.ArrowFunction) return context.getQuickInfo(node.equalsGreaterThanToken);
|
|
44
|
-
return null;
|
|
45
|
-
};
|
|
46
|
-
const info = node.name ? await context.getQuickInfo(node.name) : await getQuickInfoFromDefaultModifier();
|
|
47
|
-
const returnTypeStr = info ? (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info) : 'any';
|
|
48
|
-
const displaySig = (info === null || info === void 0 ? void 0 : (_info$body = info.body) === null || _info$body === void 0 ? void 0 : _info$body.displayString) || '';
|
|
49
|
-
const args = await (0, _getParams().getParams)(node.parameters, context);
|
|
50
|
-
const returnType = await context.resolveType(node, returnTypeStr, Boolean(info));
|
|
51
|
-
const modifiers = ((_node$modifiers2 = node.modifiers) === null || _node$modifiers2 === void 0 ? void 0 : _node$modifiers2.map(modifier => modifier.getText())) || [];
|
|
52
|
-
const typeParameters = (_node$typeParameters = node.typeParameters) === null || _node$typeParameters === void 0 ? void 0 : _node$typeParameters.map(typeParam => typeParam.name.getText());
|
|
53
|
-
const location = context.getLocation(node);
|
|
54
|
-
const doc = await context.jsDocToDocSchema(node);
|
|
55
|
-
return new (_semanticsEntities().FunctionLikeSchema)(location, name, args, returnType, displaySig, modifiers, doc, typeParameters);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=to-function-like-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["toFunctionLikeSchema","node","context","funcName","name","getText","getQuickInfoFromDefaultModifier","defaultModifier","modifiers","find","modifier","kind","SyntaxKind","DefaultKeyword","getQuickInfo","ArrowFunction","equalsGreaterThanToken","info","returnTypeStr","parseTypeFromQuickInfo","displaySig","body","displayString","args","getParams","parameters","returnType","resolveType","Boolean","map","typeParameters","typeParam","location","getLocation","doc","jsDocToDocSchema","FunctionLikeSchema"],"sources":["to-function-like-schema.ts"],"sourcesContent":["import { SignatureDeclaration, SyntaxKind } from 'typescript';\nimport { FunctionLikeSchema, Modifier } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\nimport { getParams } from './get-params';\nimport { parseTypeFromQuickInfo } from './parse-type-from-quick-info';\n\nexport async function toFunctionLikeSchema(\n node: SignatureDeclaration,\n context: SchemaExtractorContext,\n funcName?: string\n) {\n const name = funcName || node.name?.getText() || '';\n const getQuickInfoFromDefaultModifier = async () => {\n const defaultModifier = node.modifiers?.find((modifier) => modifier.kind === SyntaxKind.DefaultKeyword);\n if (defaultModifier) return context.getQuickInfo(defaultModifier);\n if (node.kind === SyntaxKind.ArrowFunction) return context.getQuickInfo(node.equalsGreaterThanToken);\n return null;\n };\n const info = node.name ? await context.getQuickInfo(node.name) : await getQuickInfoFromDefaultModifier();\n const returnTypeStr = info ? parseTypeFromQuickInfo(info) : 'any';\n const displaySig = info?.body?.displayString || '';\n const args = await getParams(node.parameters, context);\n\n const returnType = await context.resolveType(node, returnTypeStr, Boolean(info));\n const modifiers = node.modifiers?.map((modifier) => modifier.getText()) || [];\n const typeParameters = node.typeParameters?.map((typeParam) => typeParam.name.getText());\n const location = context.getLocation(node);\n const doc = await context.jsDocToDocSchema(node);\n return new FunctionLikeSchema(\n location,\n name,\n args,\n returnType,\n displaySig,\n modifiers as Modifier[],\n doc,\n typeParameters\n );\n}\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,eAAeA,oBAAoB,CACxCC,IAA0B,EAC1BC,OAA+B,EAC/BC,QAAiB,EACjB;EAAA;EACA,MAAMC,IAAI,GAAGD,QAAQ,mBAAIF,IAAI,CAACG,IAAI,+CAAT,WAAWC,OAAO,EAAE,KAAI,EAAE;EACnD,MAAMC,+BAA+B,GAAG,YAAY;IAAA;IAClD,MAAMC,eAAe,sBAAGN,IAAI,CAACO,SAAS,oDAAd,gBAAgBC,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,IAAI,KAAKC,wBAAU,CAACC,cAAc,CAAC;IACvG,IAAIN,eAAe,EAAE,OAAOL,OAAO,CAACY,YAAY,CAACP,eAAe,CAAC;IACjE,IAAIN,IAAI,CAACU,IAAI,KAAKC,wBAAU,CAACG,aAAa,EAAE,OAAOb,OAAO,CAACY,YAAY,CAACb,IAAI,CAACe,sBAAsB,CAAC;IACpG,OAAO,IAAI;EACb,CAAC;EACD,MAAMC,IAAI,GAAGhB,IAAI,CAACG,IAAI,GAAG,MAAMF,OAAO,CAACY,YAAY,CAACb,IAAI,CAACG,IAAI,CAAC,GAAG,MAAME,+BAA+B,EAAE;EACxG,MAAMY,aAAa,GAAGD,IAAI,GAAG,IAAAE,gDAAsB,EAACF,IAAI,CAAC,GAAG,KAAK;EACjE,MAAMG,UAAU,GAAG,CAAAH,IAAI,aAAJA,IAAI,qCAAJA,IAAI,CAAEI,IAAI,+CAAV,WAAYC,aAAa,KAAI,EAAE;EAClD,MAAMC,IAAI,GAAG,MAAM,IAAAC,sBAAS,EAACvB,IAAI,CAACwB,UAAU,EAAEvB,OAAO,CAAC;EAEtD,MAAMwB,UAAU,GAAG,MAAMxB,OAAO,CAACyB,WAAW,CAAC1B,IAAI,EAAEiB,aAAa,EAAEU,OAAO,CAACX,IAAI,CAAC,CAAC;EAChF,MAAMT,SAAS,GAAG,qBAAAP,IAAI,CAACO,SAAS,qDAAd,iBAAgBqB,GAAG,CAAEnB,QAAQ,IAAKA,QAAQ,CAACL,OAAO,EAAE,CAAC,KAAI,EAAE;EAC7E,MAAMyB,cAAc,2BAAG7B,IAAI,CAAC6B,cAAc,yDAAnB,qBAAqBD,GAAG,CAAEE,SAAS,IAAKA,SAAS,CAAC3B,IAAI,CAACC,OAAO,EAAE,CAAC;EACxF,MAAM2B,QAAQ,GAAG9B,OAAO,CAAC+B,WAAW,CAAChC,IAAI,CAAC;EAC1C,MAAMiC,GAAG,GAAG,MAAMhC,OAAO,CAACiC,gBAAgB,CAAClC,IAAI,CAAC;EAChD,OAAO,KAAImC,uCAAkB,EAC3BJ,QAAQ,EACR5B,IAAI,EACJmB,IAAI,EACJG,UAAU,EACVN,UAAU,EACVZ,SAAS,EACT0B,GAAG,EACHJ,cAAc,CACf;AACH"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TypeElement, IndexSignatureDeclaration, GetAccessorDeclaration, SetAccessorDeclaration } from 'typescript';
|
|
2
|
-
import { GetAccessorSchema, IndexSignatureSchema, SchemaNode, SetAccessorSchema } from '@teambit/semantics.entities.semantic-schema';
|
|
3
|
-
import { SchemaExtractorContext } from '../../schema-extractor-context';
|
|
4
|
-
export declare function typeElementToSchema(node: TypeElement, context: SchemaExtractorContext): Promise<SchemaNode>;
|
|
5
|
-
export declare function indexSignature(node: IndexSignatureDeclaration, context: SchemaExtractorContext): Promise<IndexSignatureSchema>;
|
|
6
|
-
export declare function getAccessor(node: GetAccessorDeclaration, context: SchemaExtractorContext): Promise<GetAccessorSchema>;
|
|
7
|
-
export declare function setAccessor(node: SetAccessorDeclaration, context: SchemaExtractorContext): Promise<SetAccessorSchema>;
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.promise.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.getAccessor = getAccessor;
|
|
8
|
-
exports.indexSignature = indexSignature;
|
|
9
|
-
exports.setAccessor = setAccessor;
|
|
10
|
-
exports.typeElementToSchema = typeElementToSchema;
|
|
11
|
-
function _typescript() {
|
|
12
|
-
const data = require("typescript");
|
|
13
|
-
_typescript = function () {
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
|
-
function _semanticsEntities() {
|
|
19
|
-
const data = require("@teambit/semantics.entities.semantic-schema");
|
|
20
|
-
_semanticsEntities = function () {
|
|
21
|
-
return data;
|
|
22
|
-
};
|
|
23
|
-
return data;
|
|
24
|
-
}
|
|
25
|
-
function _toFunctionLikeSchema() {
|
|
26
|
-
const data = require("./to-function-like-schema");
|
|
27
|
-
_toFunctionLikeSchema = function () {
|
|
28
|
-
return data;
|
|
29
|
-
};
|
|
30
|
-
return data;
|
|
31
|
-
}
|
|
32
|
-
function _parseTypeFromQuickInfo() {
|
|
33
|
-
const data = require("./parse-type-from-quick-info");
|
|
34
|
-
_parseTypeFromQuickInfo = function () {
|
|
35
|
-
return data;
|
|
36
|
-
};
|
|
37
|
-
return data;
|
|
38
|
-
}
|
|
39
|
-
function _typeNodeToSchema() {
|
|
40
|
-
const data = require("./type-node-to-schema");
|
|
41
|
-
_typeNodeToSchema = function () {
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
return data;
|
|
45
|
-
}
|
|
46
|
-
function _getParams() {
|
|
47
|
-
const data = require("./get-params");
|
|
48
|
-
_getParams = function () {
|
|
49
|
-
return data;
|
|
50
|
-
};
|
|
51
|
-
return data;
|
|
52
|
-
}
|
|
53
|
-
async function typeElementToSchema(node, context) {
|
|
54
|
-
switch (node.kind) {
|
|
55
|
-
case _typescript().SyntaxKind.MethodSignature:
|
|
56
|
-
return (0, _toFunctionLikeSchema().toFunctionLikeSchema)(node, context);
|
|
57
|
-
case _typescript().SyntaxKind.ConstructSignature:
|
|
58
|
-
return (0, _toFunctionLikeSchema().toFunctionLikeSchema)(node, context, 'new');
|
|
59
|
-
case _typescript().SyntaxKind.CallSignature:
|
|
60
|
-
return callSignature(node, context);
|
|
61
|
-
case _typescript().SyntaxKind.PropertySignature:
|
|
62
|
-
return propertySignature(node, context);
|
|
63
|
-
case _typescript().SyntaxKind.IndexSignature:
|
|
64
|
-
return indexSignature(node, context);
|
|
65
|
-
case _typescript().SyntaxKind.GetAccessor:
|
|
66
|
-
return getAccessor(node, context);
|
|
67
|
-
case _typescript().SyntaxKind.SetAccessor:
|
|
68
|
-
return setAccessor(node, context);
|
|
69
|
-
default:
|
|
70
|
-
throw new Error(`typeElementToSchema expect type-element node. got ${node.kind}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async function propertySignature(node, context) {
|
|
74
|
-
var _info$body;
|
|
75
|
-
const name = node.name.getText();
|
|
76
|
-
const info = (0, _typescript().isComputedPropertyName)(node.name) ? undefined : await context.getQuickInfo(node.name);
|
|
77
|
-
const displaySig = (info === null || info === void 0 ? void 0 : (_info$body = info.body) === null || _info$body === void 0 ? void 0 : _info$body.displayString) || '';
|
|
78
|
-
const typeStr = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
79
|
-
const type = await context.resolveType(node, typeStr);
|
|
80
|
-
const isOptional = Boolean(node.questionToken);
|
|
81
|
-
const doc = await context.jsDocToDocSchema(node);
|
|
82
|
-
return new (_semanticsEntities().VariableLikeSchema)(context.getLocation(node), name, displaySig, type, isOptional, doc);
|
|
83
|
-
}
|
|
84
|
-
async function indexSignature(node, context) {
|
|
85
|
-
const params = await (0, _getParams().getParams)(node.parameters, context);
|
|
86
|
-
const type = await (0, _typeNodeToSchema().typeNodeToSchema)(node.type, context);
|
|
87
|
-
return new (_semanticsEntities().IndexSignatureSchema)(context.getLocation(node), params, type);
|
|
88
|
-
}
|
|
89
|
-
async function getAccessor(node, context) {
|
|
90
|
-
var _info$body2;
|
|
91
|
-
const info = await context.getQuickInfo(node.name);
|
|
92
|
-
const displaySig = (info === null || info === void 0 ? void 0 : (_info$body2 = info.body) === null || _info$body2 === void 0 ? void 0 : _info$body2.displayString) || '';
|
|
93
|
-
const typeStr = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
|
|
94
|
-
const type = await context.resolveType(node, typeStr);
|
|
95
|
-
return new (_semanticsEntities().GetAccessorSchema)(context.getLocation(node), node.name.getText(), type, displaySig);
|
|
96
|
-
}
|
|
97
|
-
async function setAccessor(node, context) {
|
|
98
|
-
const params = await (0, _getParams().getParams)(node.parameters, context);
|
|
99
|
-
const displaySig = await context.getQuickInfoDisplayString(node.name);
|
|
100
|
-
return new (_semanticsEntities().SetAccessorSchema)(context.getLocation(node), node.name.getText(), params[0], displaySig);
|
|
101
|
-
}
|
|
102
|
-
async function callSignature(node, context) {
|
|
103
|
-
return (0, _toFunctionLikeSchema().toFunctionLikeSchema)(node, context);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=type-element-to-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["typeElementToSchema","node","context","kind","SyntaxKind","MethodSignature","toFunctionLikeSchema","ConstructSignature","CallSignature","callSignature","PropertySignature","propertySignature","IndexSignature","indexSignature","GetAccessor","getAccessor","SetAccessor","setAccessor","Error","name","getText","info","isComputedPropertyName","undefined","getQuickInfo","displaySig","body","displayString","typeStr","parseTypeFromQuickInfo","type","resolveType","isOptional","Boolean","questionToken","doc","jsDocToDocSchema","VariableLikeSchema","getLocation","params","getParams","parameters","typeNodeToSchema","IndexSignatureSchema","GetAccessorSchema","getQuickInfoDisplayString","SetAccessorSchema"],"sources":["type-element-to-schema.ts"],"sourcesContent":["import ts, {\n SyntaxKind,\n TypeElement,\n MethodSignature,\n isComputedPropertyName,\n IndexSignatureDeclaration,\n GetAccessorDeclaration,\n SetAccessorDeclaration,\n ConstructSignatureDeclaration,\n CallSignatureDeclaration,\n} from 'typescript';\nimport {\n GetAccessorSchema,\n IndexSignatureSchema,\n SchemaNode,\n SetAccessorSchema,\n VariableLikeSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { toFunctionLikeSchema } from './to-function-like-schema';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\nimport { parseTypeFromQuickInfo } from './parse-type-from-quick-info';\nimport { typeNodeToSchema } from './type-node-to-schema';\nimport { getParams } from './get-params';\n\nexport async function typeElementToSchema(node: TypeElement, context: SchemaExtractorContext): Promise<SchemaNode> {\n switch (node.kind) {\n case SyntaxKind.MethodSignature:\n return toFunctionLikeSchema(node as MethodSignature, context);\n case SyntaxKind.ConstructSignature:\n return toFunctionLikeSchema(node as ConstructSignatureDeclaration, context, 'new');\n case SyntaxKind.CallSignature:\n return callSignature(node as CallSignatureDeclaration, context);\n case SyntaxKind.PropertySignature:\n return propertySignature(node as ts.PropertySignature, context);\n case SyntaxKind.IndexSignature:\n return indexSignature(node as IndexSignatureDeclaration, context);\n case SyntaxKind.GetAccessor:\n return getAccessor(node as GetAccessorDeclaration, context);\n case SyntaxKind.SetAccessor:\n return setAccessor(node as SetAccessorDeclaration, context);\n default:\n throw new Error(`typeElementToSchema expect type-element node. got ${node.kind}`);\n }\n}\n\nasync function propertySignature(node: ts.PropertySignature, context: SchemaExtractorContext) {\n const name = node.name.getText();\n const info = isComputedPropertyName(node.name) ? undefined : await context.getQuickInfo(node.name);\n const displaySig = info?.body?.displayString || '';\n const typeStr = parseTypeFromQuickInfo(info);\n const type = await context.resolveType(node, typeStr);\n const isOptional = Boolean(node.questionToken);\n const doc = await context.jsDocToDocSchema(node);\n return new VariableLikeSchema(context.getLocation(node), name, displaySig, type, isOptional, doc);\n}\n\nexport async function indexSignature(node: IndexSignatureDeclaration, context: SchemaExtractorContext) {\n const params = await getParams(node.parameters, context);\n const type = await typeNodeToSchema(node.type, context);\n return new IndexSignatureSchema(context.getLocation(node), params, type);\n}\n\nexport async function getAccessor(node: GetAccessorDeclaration, context: SchemaExtractorContext) {\n const info = await context.getQuickInfo(node.name);\n const displaySig = info?.body?.displayString || '';\n const typeStr = parseTypeFromQuickInfo(info);\n const type = await context.resolveType(node, typeStr);\n return new GetAccessorSchema(context.getLocation(node), node.name.getText(), type, displaySig);\n}\n\nexport async function setAccessor(node: SetAccessorDeclaration, context: SchemaExtractorContext) {\n const params = await getParams(node.parameters, context);\n const displaySig = await context.getQuickInfoDisplayString(node.name);\n return new SetAccessorSchema(context.getLocation(node), node.name.getText(), params[0], displaySig);\n}\n\nasync function callSignature(node: CallSignatureDeclaration, context: SchemaExtractorContext) {\n return toFunctionLikeSchema(node, context);\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { TypeNode } from 'typescript';
|
|
2
|
-
import { SchemaNode } from '@teambit/semantics.entities.semantic-schema';
|
|
3
|
-
import { SchemaExtractorContext } from '../../schema-extractor-context';
|
|
4
|
-
export declare function typeNodeToSchema(node: TypeNode, context: SchemaExtractorContext): Promise<SchemaNode>;
|