@teambit/typescript 0.0.965 → 0.0.966

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.
Files changed (204) hide show
  1. package/dist/export-identifier.d.ts +5 -4
  2. package/dist/export-identifier.js +23 -4
  3. package/dist/export-identifier.js.map +1 -1
  4. package/dist/identifier-list.d.ts +7 -0
  5. package/dist/identifier-list.js +21 -0
  6. package/dist/identifier-list.js.map +1 -0
  7. package/dist/identifier.d.ts +9 -0
  8. package/dist/identifier.js +30 -0
  9. package/dist/identifier.js.map +1 -0
  10. package/dist/{preview-1674271762484.js → preview-1674531051110.js} +2 -2
  11. package/dist/schema-extractor-context.d.ts +40 -8
  12. package/dist/schema-extractor-context.js +243 -101
  13. package/dist/schema-extractor-context.js.map +1 -1
  14. package/dist/schema-transformer.d.ts +2 -2
  15. package/dist/schema-transformer.js.map +1 -1
  16. package/dist/transformers/array-type.d.ts +10 -0
  17. package/dist/transformers/array-type.js +38 -0
  18. package/dist/transformers/array-type.js.map +1 -0
  19. package/dist/transformers/binding-element.d.ts +2 -2
  20. package/dist/transformers/binding-element.js +7 -7
  21. package/dist/transformers/binding-element.js.map +1 -1
  22. package/dist/transformers/class-declaration.d.ts +2 -2
  23. package/dist/transformers/class-declaration.js +6 -20
  24. package/dist/transformers/class-declaration.js.map +1 -1
  25. package/dist/transformers/conditional-type.d.ts +10 -0
  26. package/dist/transformers/conditional-type.js +39 -0
  27. package/dist/transformers/conditional-type.js.map +1 -0
  28. package/dist/transformers/constructor.d.ts +10 -0
  29. package/dist/transformers/constructor.js +50 -0
  30. package/dist/transformers/constructor.js.map +1 -0
  31. package/dist/transformers/enum-declaration.d.ts +2 -2
  32. package/dist/transformers/enum-declaration.js +4 -4
  33. package/dist/transformers/enum-declaration.js.map +1 -1
  34. package/dist/transformers/{export-assignment-declaration.d.ts → export-assignment.d.ts} +7 -2
  35. package/dist/transformers/export-assignment.js +41 -0
  36. package/dist/transformers/export-assignment.js.map +1 -0
  37. package/dist/transformers/export-declaration.d.ts +2 -3
  38. package/dist/transformers/export-declaration.js +21 -10
  39. package/dist/transformers/export-declaration.js.map +1 -1
  40. package/dist/transformers/function-like.d.ts +11 -0
  41. package/dist/transformers/function-like.js +82 -0
  42. package/dist/transformers/function-like.js.map +1 -0
  43. package/dist/transformers/get-accessor.d.ts +10 -0
  44. package/dist/transformers/get-accessor.js +48 -0
  45. package/dist/transformers/get-accessor.js.map +1 -0
  46. package/dist/transformers/import-declaration.d.ts +10 -0
  47. package/dist/transformers/import-declaration.js +74 -0
  48. package/dist/transformers/import-declaration.js.map +1 -0
  49. package/dist/transformers/index-signature.d.ts +10 -0
  50. package/dist/transformers/index-signature.js +45 -0
  51. package/dist/transformers/index-signature.js.map +1 -0
  52. package/dist/transformers/index.d.ts +28 -3
  53. package/dist/transformers/index.js +337 -12
  54. package/dist/transformers/index.js.map +1 -1
  55. package/dist/transformers/indexed-access-type.d.ts +10 -0
  56. package/dist/transformers/indexed-access-type.js +37 -0
  57. package/dist/transformers/indexed-access-type.js.map +1 -0
  58. package/dist/transformers/interface-declaration.d.ts +2 -2
  59. package/dist/transformers/interface-declaration.js +6 -20
  60. package/dist/transformers/interface-declaration.js.map +1 -1
  61. package/dist/transformers/intersection-type.d.ts +10 -0
  62. package/dist/transformers/intersection-type.js +48 -0
  63. package/dist/transformers/intersection-type.js.map +1 -0
  64. package/dist/transformers/keyword-type.d.ts +13 -0
  65. package/dist/transformers/keyword-type.js +55 -0
  66. package/dist/transformers/keyword-type.js.map +1 -0
  67. package/dist/transformers/literal-type.d.ts +13 -0
  68. package/dist/transformers/literal-type.js +40 -0
  69. package/dist/transformers/literal-type.js.map +1 -0
  70. package/dist/transformers/named-tuple.d.ts +10 -0
  71. package/dist/transformers/named-tuple.js +38 -0
  72. package/dist/transformers/named-tuple.js.map +1 -0
  73. package/dist/transformers/parameter.d.ts +13 -0
  74. package/dist/transformers/parameter.js +112 -0
  75. package/dist/transformers/parameter.js.map +1 -0
  76. package/dist/transformers/parenthesized-type.d.ts +10 -0
  77. package/dist/transformers/parenthesized-type.js +36 -0
  78. package/dist/transformers/parenthesized-type.js.map +1 -0
  79. package/dist/transformers/property-declaration.d.ts +11 -0
  80. package/dist/transformers/property-declaration.js +57 -0
  81. package/dist/transformers/property-declaration.js.map +1 -0
  82. package/dist/transformers/set-accessor.d.ts +10 -0
  83. package/dist/transformers/set-accessor.js +45 -0
  84. package/dist/transformers/set-accessor.js.map +1 -0
  85. package/dist/transformers/source-file-transformer.d.ts +3 -2
  86. package/dist/transformers/source-file-transformer.js +44 -15
  87. package/dist/transformers/source-file-transformer.js.map +1 -1
  88. package/dist/transformers/template-literal-type-span.d.ts +10 -0
  89. package/dist/transformers/template-literal-type-span.js +37 -0
  90. package/dist/transformers/template-literal-type-span.js.map +1 -0
  91. package/dist/transformers/template-literal-type.d.ts +10 -0
  92. package/dist/transformers/template-literal-type.js +45 -0
  93. package/dist/transformers/template-literal-type.js.map +1 -0
  94. package/dist/transformers/this-type.d.ts +10 -0
  95. package/dist/transformers/this-type.js +35 -0
  96. package/dist/transformers/this-type.js.map +1 -0
  97. package/dist/transformers/tuple-type.d.ts +10 -0
  98. package/dist/transformers/tuple-type.js +47 -0
  99. package/dist/transformers/tuple-type.js.map +1 -0
  100. package/dist/transformers/type-alias.d.ts +2 -2
  101. package/dist/transformers/type-alias.js +5 -12
  102. package/dist/transformers/type-alias.js.map +1 -1
  103. package/dist/transformers/type-literal.d.ts +14 -0
  104. package/dist/transformers/type-literal.js +49 -0
  105. package/dist/transformers/type-literal.js.map +1 -0
  106. package/dist/transformers/type-operator.d.ts +14 -0
  107. package/dist/transformers/type-operator.js +52 -0
  108. package/dist/transformers/type-operator.js.map +1 -0
  109. package/dist/transformers/type-predicate.d.ts +10 -0
  110. package/dist/transformers/type-predicate.js +38 -0
  111. package/dist/transformers/type-predicate.js.map +1 -0
  112. package/dist/transformers/type-query.d.ts +13 -0
  113. package/dist/transformers/type-query.js +42 -0
  114. package/dist/transformers/type-query.js.map +1 -0
  115. package/dist/transformers/type-reference.d.ts +16 -0
  116. package/dist/transformers/type-reference.js +56 -0
  117. package/dist/transformers/type-reference.js.map +1 -0
  118. package/dist/transformers/union-type.d.ts +10 -0
  119. package/dist/transformers/union-type.js +48 -0
  120. package/dist/transformers/union-type.js.map +1 -0
  121. package/dist/transformers/utils/jsdoc-to-doc-schema.js +2 -10
  122. package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -1
  123. package/dist/transformers/variable-declaration.d.ts +2 -2
  124. package/dist/transformers/variable-declaration.js +11 -11
  125. package/dist/transformers/variable-declaration.js.map +1 -1
  126. package/dist/transformers/variable-statement.d.ts +2 -2
  127. package/dist/transformers/variable-statement.js +5 -5
  128. package/dist/transformers/variable-statement.js.map +1 -1
  129. package/dist/typescript.extractor.d.ts +10 -4
  130. package/dist/typescript.extractor.js +70 -17
  131. package/dist/typescript.extractor.js.map +1 -1
  132. package/dist/typescript.main.runtime.d.ts +4 -2
  133. package/dist/typescript.main.runtime.js +5 -11
  134. package/dist/typescript.main.runtime.js.map +1 -1
  135. package/package-tar/teambit-typescript-0.0.966.tgz +0 -0
  136. package/package.json +17 -17
  137. package/transformers/array-type.ts +21 -0
  138. package/transformers/binding-element.ts +2 -2
  139. package/transformers/class-declaration.ts +4 -6
  140. package/transformers/conditional-type.ts +23 -0
  141. package/transformers/constructor.ts +40 -0
  142. package/transformers/enum-declaration.ts +3 -3
  143. package/transformers/{export-assignment-declaration.ts → export-assignment.ts} +9 -3
  144. package/transformers/export-declaration.ts +35 -8
  145. package/transformers/function-like.ts +65 -0
  146. package/transformers/get-accessor.ts +24 -0
  147. package/transformers/import-declaration.ts +56 -0
  148. package/transformers/index-signature.ts +24 -0
  149. package/transformers/index.ts +28 -3
  150. package/transformers/indexed-access-type.ts +21 -0
  151. package/transformers/interface-declaration.ts +5 -7
  152. package/transformers/intersection-type.ts +25 -0
  153. package/transformers/keyword-type.ts +39 -0
  154. package/transformers/literal-type.ts +23 -0
  155. package/transformers/named-tuple.ts +22 -0
  156. package/transformers/parameter.ts +110 -0
  157. package/transformers/parenthesized-type.ts +20 -0
  158. package/transformers/property-declaration.ts +33 -0
  159. package/transformers/set-accessor.ts +25 -0
  160. package/transformers/source-file-transformer.ts +56 -24
  161. package/transformers/template-literal-type-span.ts +21 -0
  162. package/transformers/template-literal-type.ts +24 -0
  163. package/transformers/this-type.ts +19 -0
  164. package/transformers/tuple-type.ts +24 -0
  165. package/transformers/type-alias.ts +3 -4
  166. package/transformers/type-literal.ts +26 -0
  167. package/transformers/type-operator.ts +37 -0
  168. package/transformers/type-predicate.ts +22 -0
  169. package/transformers/type-query.ts +25 -0
  170. package/transformers/type-reference.ts +33 -0
  171. package/transformers/union-type.ts +25 -0
  172. package/transformers/utils/jsdoc-to-doc-schema.ts +2 -4
  173. package/transformers/variable-declaration.ts +7 -4
  174. package/transformers/variable-statement.ts +3 -3
  175. package/dist/export-list.d.ts +0 -6
  176. package/dist/export-list.js +0 -17
  177. package/dist/export-list.js.map +0 -1
  178. package/dist/transformers/export-assignment-declaration.js +0 -29
  179. package/dist/transformers/export-assignment-declaration.js.map +0 -1
  180. package/dist/transformers/function-declaration.d.ts +0 -11
  181. package/dist/transformers/function-declaration.js +0 -49
  182. package/dist/transformers/function-declaration.js.map +0 -1
  183. package/dist/transformers/utils/class-element-to-schema.d.ts +0 -4
  184. package/dist/transformers/utils/class-element-to-schema.js +0 -95
  185. package/dist/transformers/utils/class-element-to-schema.js.map +0 -1
  186. package/dist/transformers/utils/get-params.d.ts +0 -4
  187. package/dist/transformers/utils/get-params.js +0 -100
  188. package/dist/transformers/utils/get-params.js.map +0 -1
  189. package/dist/transformers/utils/to-function-like-schema.d.ts +0 -4
  190. package/dist/transformers/utils/to-function-like-schema.js +0 -58
  191. package/dist/transformers/utils/to-function-like-schema.js.map +0 -1
  192. package/dist/transformers/utils/type-element-to-schema.d.ts +0 -7
  193. package/dist/transformers/utils/type-element-to-schema.js +0 -106
  194. package/dist/transformers/utils/type-element-to-schema.js.map +0 -1
  195. package/dist/transformers/utils/type-node-to-schema.d.ts +0 -4
  196. package/dist/transformers/utils/type-node-to-schema.js +0 -274
  197. package/dist/transformers/utils/type-node-to-schema.js.map +0 -1
  198. package/package-tar/teambit-typescript-0.0.965.tgz +0 -0
  199. package/transformers/function-declaration.ts +0 -25
  200. package/transformers/utils/class-element-to-schema.ts +0 -64
  201. package/transformers/utils/get-params.ts +0 -92
  202. package/transformers/utils/to-function-like-schema.ts +0 -39
  203. package/transformers/utils/type-element-to-schema.ts +0 -79
  204. package/transformers/utils/type-node-to-schema.ts +0 -294
@@ -1,5 +1,6 @@
1
- export declare class ExportIdentifier {
2
- readonly id: string;
3
- readonly filePath: string;
4
- constructor(id: string, filePath: string);
1
+ import { Identifier } from './identifier';
2
+ export declare class ExportIdentifier extends Identifier {
3
+ exported: true;
4
+ constructor(id: string, filePath: string, aliasId?: string, sourceFilePath?: string);
5
+ static isExportIdentifier(identifier: Identifier): identifier is ExportIdentifier;
5
6
  }
@@ -1,13 +1,32 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.ExportIdentifier = void 0;
7
- class ExportIdentifier {
8
- constructor(id, filePath) {
9
- this.id = id;
10
- this.filePath = filePath;
8
+ function _defineProperty2() {
9
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ _defineProperty2 = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _identifier() {
16
+ const data = require("./identifier");
17
+ _identifier = function () {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ class ExportIdentifier extends _identifier().Identifier {
23
+ constructor(id, filePath, aliasId, sourceFilePath) {
24
+ super(id, filePath, aliasId, sourceFilePath);
25
+ (0, _defineProperty2().default)(this, "exported", void 0);
26
+ this.exported = true;
27
+ }
28
+ static isExportIdentifier(identifier) {
29
+ return 'exported' in identifier;
11
30
  }
12
31
  }
13
32
  exports.ExportIdentifier = ExportIdentifier;
@@ -1 +1 @@
1
- {"version":3,"names":["ExportIdentifier","constructor","id","filePath"],"sources":["export-identifier.ts"],"sourcesContent":["export class ExportIdentifier {\n constructor(readonly id: string, readonly filePath: string) {}\n}\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,CAAC;EAC5BC,WAAW,CAAUC,EAAU,EAAWC,QAAgB,EAAE;IAAA,KAAvCD,EAAU,GAAVA,EAAU;IAAA,KAAWC,QAAgB,GAAhBA,QAAgB;EAAG;AAC/D;AAAC"}
1
+ {"version":3,"names":["ExportIdentifier","Identifier","constructor","id","filePath","aliasId","sourceFilePath","exported","isExportIdentifier","identifier"],"sources":["export-identifier.ts"],"sourcesContent":["import { Identifier } from './identifier';\n\nexport class ExportIdentifier extends Identifier {\n exported: true;\n\n constructor(id: string, filePath: string, aliasId?: string, sourceFilePath?: string) {\n super(id, filePath, aliasId, sourceFilePath);\n this.exported = true;\n }\n\n static isExportIdentifier(identifier: Identifier): identifier is ExportIdentifier {\n return 'exported' in identifier;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,gBAAgB,SAASC,wBAAU,CAAC;EAG/CC,WAAW,CAACC,EAAU,EAAEC,QAAgB,EAAEC,OAAgB,EAAEC,cAAuB,EAAE;IACnF,KAAK,CAACH,EAAE,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,cAAc,CAAC;IAAC;IAC7C,IAAI,CAACC,QAAQ,GAAG,IAAI;EACtB;EAEA,OAAOC,kBAAkB,CAACC,UAAsB,EAAkC;IAChF,OAAO,UAAU,IAAIA,UAAU;EACjC;AACF;AAAC"}
@@ -0,0 +1,7 @@
1
+ import { Identifier } from './identifier';
2
+ export declare class IdentifierList {
3
+ readonly identifiers: Identifier[];
4
+ constructor(identifiers: Identifier[]);
5
+ find(identifier: Identifier): Identifier | undefined;
6
+ includes(identifier: Identifier): boolean;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IdentifierList = void 0;
7
+ class IdentifierList {
8
+ constructor(identifiers) {
9
+ this.identifiers = identifiers;
10
+ }
11
+ find(identifier) {
12
+ const result = this.identifiers.find(_identifier => _identifier.isEqual(identifier));
13
+ return result;
14
+ }
15
+ includes(identifier) {
16
+ return Boolean(this.find(identifier));
17
+ }
18
+ }
19
+ exports.IdentifierList = IdentifierList;
20
+
21
+ //# sourceMappingURL=identifier-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IdentifierList","constructor","identifiers","find","identifier","result","_identifier","isEqual","includes","Boolean"],"sources":["identifier-list.ts"],"sourcesContent":["import { Identifier } from './identifier';\n\nexport class IdentifierList {\n constructor(readonly identifiers: Identifier[]) {}\n\n find(identifier: Identifier) {\n const result = this.identifiers.find((_identifier) => _identifier.isEqual(identifier));\n return result;\n }\n\n includes(identifier: Identifier) {\n return Boolean(this.find(identifier));\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,cAAc,CAAC;EAC1BC,WAAW,CAAUC,WAAyB,EAAE;IAAA,KAA3BA,WAAyB,GAAzBA,WAAyB;EAAG;EAEjDC,IAAI,CAACC,UAAsB,EAAE;IAC3B,MAAMC,MAAM,GAAG,IAAI,CAACH,WAAW,CAACC,IAAI,CAAEG,WAAW,IAAKA,WAAW,CAACC,OAAO,CAACH,UAAU,CAAC,CAAC;IACtF,OAAOC,MAAM;EACf;EAEAG,QAAQ,CAACJ,UAAsB,EAAE;IAC/B,OAAOK,OAAO,CAAC,IAAI,CAACN,IAAI,CAACC,UAAU,CAAC,CAAC;EACvC;AACF;AAAC"}
@@ -0,0 +1,9 @@
1
+ export declare class Identifier {
2
+ readonly id: string;
3
+ readonly filePath: string;
4
+ readonly aliasId?: string | undefined;
5
+ readonly sourceFilePath?: string | undefined;
6
+ constructor(id: string, filePath: string, aliasId?: string | undefined, sourceFilePath?: string | undefined);
7
+ isEqual(identifier: Identifier): boolean;
8
+ static isDefault(identifier: Identifier): boolean;
9
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Identifier = void 0;
7
+ class Identifier {
8
+ constructor(id, filePath, aliasId, sourceFilePath) {
9
+ this.id = id;
10
+ this.filePath = filePath;
11
+ this.aliasId = aliasId;
12
+ this.sourceFilePath = sourceFilePath;
13
+ }
14
+ isEqual(identifier) {
15
+ if (this.filePath !== identifier.filePath) return false;
16
+ if (Identifier.isDefault(identifier) && Identifier.isDefault(this)) {
17
+ return true;
18
+ }
19
+ if (Identifier.isDefault(identifier) || Identifier.isDefault(this)) {
20
+ return false;
21
+ }
22
+ return this.id === identifier.id;
23
+ }
24
+ static isDefault(identifier) {
25
+ return identifier.id === 'default';
26
+ }
27
+ }
28
+ exports.Identifier = Identifier;
29
+
30
+ //# sourceMappingURL=identifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Identifier","constructor","id","filePath","aliasId","sourceFilePath","isEqual","identifier","isDefault"],"sources":["identifier.ts"],"sourcesContent":["export class Identifier {\n constructor(\n readonly id: string,\n readonly filePath: string,\n readonly aliasId?: string,\n readonly sourceFilePath?: string\n ) {}\n\n isEqual(identifier: Identifier): boolean {\n if (this.filePath !== identifier.filePath) return false;\n if (Identifier.isDefault(identifier) && Identifier.isDefault(this)) {\n return true;\n }\n if (Identifier.isDefault(identifier) || Identifier.isDefault(this)) {\n return false;\n }\n return this.id === identifier.id;\n }\n\n static isDefault(identifier: Identifier) {\n return identifier.id === 'default';\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,UAAU,CAAC;EACtBC,WAAW,CACAC,EAAU,EACVC,QAAgB,EAChBC,OAAgB,EAChBC,cAAuB,EAChC;IAAA,KAJSH,EAAU,GAAVA,EAAU;IAAA,KACVC,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,cAAuB,GAAvBA,cAAuB;EAC/B;EAEHC,OAAO,CAACC,UAAsB,EAAW;IACvC,IAAI,IAAI,CAACJ,QAAQ,KAAKI,UAAU,CAACJ,QAAQ,EAAE,OAAO,KAAK;IACvD,IAAIH,UAAU,CAACQ,SAAS,CAACD,UAAU,CAAC,IAAIP,UAAU,CAACQ,SAAS,CAAC,IAAI,CAAC,EAAE;MAClE,OAAO,IAAI;IACb;IACA,IAAIR,UAAU,CAACQ,SAAS,CAACD,UAAU,CAAC,IAAIP,UAAU,CAACQ,SAAS,CAAC,IAAI,CAAC,EAAE;MAClE,OAAO,KAAK;IACd;IACA,OAAO,IAAI,CAACN,EAAE,KAAKK,UAAU,CAACL,EAAE;EAClC;EAEA,OAAOM,SAAS,CAACD,UAAsB,EAAE;IACvC,OAAOA,UAAU,CAACL,EAAE,KAAK,SAAS;EACpC;AACF;AAAC"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.965/dist/typescript.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.965/dist/typescript.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.966/dist/typescript.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.966/dist/typescript.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,20 +1,41 @@
1
1
  import { TsserverClient } from '@teambit/ts-server';
2
2
  import ts, { ExportAssignment, ExportDeclaration, Node, TypeNode } from 'typescript';
3
3
  import protocol from 'typescript/lib/protocol';
4
- import type { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
5
4
  import { Component } from '@teambit/component';
6
5
  import { TypeRefSchema, SchemaNode, Location, DocSchema } from '@teambit/semantics.entities.semantic-schema';
7
6
  import { ComponentDependency } from '@teambit/dependency-resolver';
8
7
  import { Formatter } from '@teambit/formatter';
9
8
  import { TypeScriptExtractor } from './typescript.extractor';
10
- import { ExportList } from './export-list';
9
+ import { IdentifierList } from './identifier-list';
10
+ import { Identifier } from './identifier';
11
11
  export declare class SchemaExtractorContext {
12
12
  readonly tsserver: TsserverClient;
13
13
  readonly component: Component;
14
14
  readonly extractor: TypeScriptExtractor;
15
15
  readonly componentDeps: ComponentDependency[];
16
16
  readonly formatter?: Formatter | undefined;
17
+ /**
18
+ * list of all declared identifiers (exported and internal) by filename
19
+ */
20
+ private _identifiers;
21
+ private _internalIdentifiers;
22
+ /**
23
+ * computed nodes by filename and (position (line:character))
24
+ */
25
+ private _computed;
26
+ get mainFile(): string;
27
+ get identifiers(): Map<string, IdentifierList>;
28
+ get internalIdentifiers(): Map<string, IdentifierList>;
29
+ get computed(): Map<string, SchemaNode>;
30
+ get mainFileIdentifierKey(): string;
31
+ get mainModuleIdentifiers(): IdentifierList | undefined;
17
32
  constructor(tsserver: TsserverClient, component: Component, extractor: TypeScriptExtractor, componentDeps: ComponentDependency[], formatter?: Formatter | undefined);
33
+ getComputedNodeKey({ filePath, line, character }: Location): string;
34
+ getIdentifierKeyForNode(node: Node): string;
35
+ getIdentifierKey(filePath: string): string;
36
+ setComputed(node: SchemaNode): void;
37
+ setIdentifiers(filePath: string, identifiers: IdentifierList): void;
38
+ setInternalIdentifiers(filePath: string, identifiers: IdentifierList): void;
18
39
  computeSchema(node: Node): Promise<SchemaNode>;
19
40
  /**
20
41
  * returns the location of a node in a source file.
@@ -41,7 +62,7 @@ export declare class SchemaExtractorContext {
41
62
  */
42
63
  typeDefinition(node: Node): Promise<protocol.TypeDefinitionResponse | undefined>;
43
64
  visitTypeDefinition(): void;
44
- private findFileInComponent;
65
+ findFileInComponent(filePath: string): import("@teambit/legacy/dist/consumer/component/sources").AbstractVinyl | undefined;
45
66
  private parsePackageNameFromPath;
46
67
  /**
47
68
  * return the file if part of the component.
@@ -63,11 +84,20 @@ export declare class SchemaExtractorContext {
63
84
  references(): void;
64
85
  isExported(): void;
65
86
  isFromComponent(): void;
66
- getFileExports(exportDec: ExportDeclaration | ExportAssignment): Promise<import("./export-identifier").ExportIdentifier[]>;
67
- _exports: ExportList | undefined;
68
- setExports(exports: ExportList): this;
69
- getExportedIdentifiers(node: Node): Promise<import("./export-identifier").ExportIdentifier[]>;
70
- jump(file: AbstractVinyl, start: any): Promise<SchemaNode | undefined>;
87
+ getFileIdentifiers(exportDec: ExportDeclaration | ExportAssignment): Promise<Identifier[]>;
88
+ getFileExports(exportDec: ExportDeclaration | ExportAssignment): Promise<Identifier[]>;
89
+ getFileInternals(exportDec: ExportDeclaration | ExportAssignment): Promise<Identifier[]>;
90
+ getIdentifiers(node: Node): Promise<Identifier[]>;
91
+ /**
92
+ * tsserver has two different calls: "definition" and "typeDefinition".
93
+ * normally, we need the "typeDefinition" to get the type data of a node.
94
+ * sometimes, it has no data, for example when the node is of type TypeReference, and then using "definition" is
95
+ * helpful. (couldn't find a rule when to use each one. e.g. "VariableDeclaration" sometimes has data only in
96
+ * "definition" but it's not clear when/why).
97
+ */
98
+ getDefinition(node: Node): Promise<protocol.FileSpanWithContext | undefined>;
99
+ private unknownExactType;
100
+ private isDefInSameLocation;
71
101
  /**
72
102
  * resolve a type by a node and its identifier.
73
103
  */
@@ -75,6 +105,8 @@ export declare class SchemaExtractorContext {
75
105
  type?: TypeNode;
76
106
  }, typeStr: string, isTypeStrFromQuickInfo?: boolean): Promise<SchemaNode>;
77
107
  private getCompIdByPkgName;
108
+ getTypeRef(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema | undefined>;
109
+ resolveTypeRef(identifier: Identifier, location: Location, isExportedFromMain?: boolean): Promise<TypeRefSchema>;
78
110
  getTypeRefForExternalNode(node: Node): Promise<TypeRefSchema>;
79
111
  getTypeRefForExternalPath(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema>;
80
112
  jsDocToDocSchema(node: Node): Promise<DocSchema | undefined>;