@teambit/semantics.entities.semantic-schema 0.0.51 → 0.0.54

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 (202) hide show
  1. package/api-schema.ts +32 -9
  2. package/class-transformers/comp-id-transformer.ts +21 -21
  3. package/class-transformers/index.ts +2 -2
  4. package/class-transformers/schema-obj-to-class.ts +51 -45
  5. package/dist/api-schema.d.ts +19 -3
  6. package/dist/api-schema.js +16 -19
  7. package/dist/api-schema.js.map +1 -1
  8. package/dist/class-transformers/comp-id-transformer.d.ts +0 -6
  9. package/dist/class-transformers/comp-id-transformer.js +21 -19
  10. package/dist/class-transformers/comp-id-transformer.js.map +1 -1
  11. package/dist/class-transformers/index.d.ts +0 -2
  12. package/dist/class-transformers/index.js +2 -8
  13. package/dist/class-transformers/index.js.map +1 -1
  14. package/dist/class-transformers/schema-obj-to-class.d.ts +0 -10
  15. package/dist/class-transformers/schema-obj-to-class.js +49 -66
  16. package/dist/class-transformers/schema-obj-to-class.js.map +1 -1
  17. package/dist/index.d.ts +8 -2
  18. package/dist/index.js +20 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/{preview-1676777489824.js → preview-1694692074267.js} +1 -1
  21. package/dist/schema-node-constructor.d.ts +7 -0
  22. package/dist/schema-node-constructor.js +3 -0
  23. package/dist/schema-node-constructor.js.map +1 -0
  24. package/dist/schema-node.d.ts +20 -4
  25. package/dist/schema-node.js +36 -2
  26. package/dist/schema-node.js.map +1 -1
  27. package/dist/schema-registry.d.ts +9 -0
  28. package/dist/schema-registry.js +31 -0
  29. package/dist/schema-registry.js.map +1 -0
  30. package/dist/schemas/class.d.ts +39 -3
  31. package/dist/schemas/class.js +22 -14
  32. package/dist/schemas/class.js.map +1 -1
  33. package/dist/schemas/conditional-type.d.ts +11 -3
  34. package/dist/schemas/conditional-type.js +15 -20
  35. package/dist/schemas/conditional-type.js.map +1 -1
  36. package/dist/schemas/constructor.d.ts +3 -2
  37. package/dist/schemas/constructor.js +14 -2
  38. package/dist/schemas/constructor.js.map +1 -1
  39. package/dist/schemas/docs/doc.d.ts +20 -3
  40. package/dist/schemas/docs/doc.js +17 -11
  41. package/dist/schemas/docs/doc.js.map +1 -1
  42. package/dist/schemas/docs/property-like-tag.d.ts +13 -3
  43. package/dist/schemas/docs/property-like-tag.js +12 -11
  44. package/dist/schemas/docs/property-like-tag.js.map +1 -1
  45. package/dist/schemas/docs/return-tag.d.ts +13 -3
  46. package/dist/schemas/docs/return-tag.js +11 -11
  47. package/dist/schemas/docs/return-tag.js.map +1 -1
  48. package/dist/schemas/docs/tag.d.ts +14 -4
  49. package/dist/schemas/docs/tag.js +17 -0
  50. package/dist/schemas/docs/tag.js.map +1 -1
  51. package/dist/schemas/enum-member.d.ts +25 -3
  52. package/dist/schemas/enum-member.js +13 -11
  53. package/dist/schemas/enum-member.js.map +1 -1
  54. package/dist/schemas/enum.d.ts +26 -3
  55. package/dist/schemas/enum.js +17 -14
  56. package/dist/schemas/enum.js.map +1 -1
  57. package/dist/schemas/expression-with-arguments.d.ts +10 -3
  58. package/dist/schemas/expression-with-arguments.js +11 -14
  59. package/dist/schemas/expression-with-arguments.js.map +1 -1
  60. package/dist/schemas/function-like.d.ts +40 -4
  61. package/dist/schemas/function-like.js +28 -18
  62. package/dist/schemas/function-like.js.map +1 -1
  63. package/dist/schemas/get-accessor.d.ts +10 -3
  64. package/dist/schemas/get-accessor.js +14 -11
  65. package/dist/schemas/get-accessor.js.map +1 -1
  66. package/dist/schemas/index-signature.d.ts +17 -3
  67. package/dist/schemas/index-signature.js +11 -14
  68. package/dist/schemas/index-signature.js.map +1 -1
  69. package/dist/schemas/index.d.ts +1 -1
  70. package/dist/schemas/index.js.map +1 -1
  71. package/dist/schemas/indexed-access-type.d.ts +9 -3
  72. package/dist/schemas/indexed-access-type.js +13 -14
  73. package/dist/schemas/indexed-access-type.js.map +1 -1
  74. package/dist/schemas/inference-type.d.ts +9 -3
  75. package/dist/schemas/inference-type.js +12 -1
  76. package/dist/schemas/inference-type.js.map +1 -1
  77. package/dist/schemas/interface.d.ts +33 -3
  78. package/dist/schemas/interface.js +21 -14
  79. package/dist/schemas/interface.js.map +1 -1
  80. package/dist/schemas/keyword-type.d.ts +7 -3
  81. package/dist/schemas/keyword-type.js +8 -0
  82. package/dist/schemas/keyword-type.js.map +1 -1
  83. package/dist/schemas/literal-type.d.ts +4 -4
  84. package/dist/schemas/literal-type.js +6 -4
  85. package/dist/schemas/literal-type.js.map +1 -1
  86. package/dist/schemas/module.d.ts +9 -7
  87. package/dist/schemas/module.js +15 -20
  88. package/dist/schemas/module.js.map +1 -1
  89. package/dist/schemas/named-tuple.d.ts +9 -3
  90. package/dist/schemas/named-tuple.js +13 -0
  91. package/dist/schemas/named-tuple.js.map +1 -1
  92. package/dist/schemas/parameter.d.ts +16 -5
  93. package/dist/schemas/parameter.js +20 -16
  94. package/dist/schemas/parameter.js.map +1 -1
  95. package/dist/schemas/parenthesized-type.d.ts +8 -3
  96. package/dist/schemas/parenthesized-type.js +12 -11
  97. package/dist/schemas/parenthesized-type.js.map +1 -1
  98. package/dist/schemas/set-accessor.d.ts +17 -3
  99. package/dist/schemas/set-accessor.js +11 -11
  100. package/dist/schemas/set-accessor.js.map +1 -1
  101. package/dist/schemas/template-literal-type-span.d.ts +9 -3
  102. package/dist/schemas/template-literal-type-span.js +13 -11
  103. package/dist/schemas/template-literal-type-span.js.map +1 -1
  104. package/dist/schemas/template-literal-type.d.ts +11 -3
  105. package/dist/schemas/template-literal-type.js +10 -11
  106. package/dist/schemas/template-literal-type.js.map +1 -1
  107. package/dist/schemas/this-type.d.ts +4 -3
  108. package/dist/schemas/this-type.js +4 -0
  109. package/dist/schemas/this-type.js.map +1 -1
  110. package/dist/schemas/tuple-type.d.ts +7 -3
  111. package/dist/schemas/tuple-type.js +9 -11
  112. package/dist/schemas/tuple-type.js.map +1 -1
  113. package/dist/schemas/type-array.d.ts +8 -3
  114. package/dist/schemas/type-array.js +12 -11
  115. package/dist/schemas/type-array.js.map +1 -1
  116. package/dist/schemas/type-intersection.d.ts +8 -3
  117. package/dist/schemas/type-intersection.js +12 -11
  118. package/dist/schemas/type-intersection.js.map +1 -1
  119. package/dist/schemas/type-literal.d.ts +8 -3
  120. package/dist/schemas/type-literal.js +12 -11
  121. package/dist/schemas/type-literal.js.map +1 -1
  122. package/dist/schemas/type-operator.d.ts +9 -3
  123. package/dist/schemas/type-operator.js +13 -11
  124. package/dist/schemas/type-operator.js.map +1 -1
  125. package/dist/schemas/type-predicate.d.ts +9 -3
  126. package/dist/schemas/type-predicate.js +12 -11
  127. package/dist/schemas/type-predicate.js.map +1 -1
  128. package/dist/schemas/type-query.d.ts +9 -3
  129. package/dist/schemas/type-query.js +13 -11
  130. package/dist/schemas/type-query.js.map +1 -1
  131. package/dist/schemas/type-ref.d.ts +28 -4
  132. package/dist/schemas/type-ref.js +43 -16
  133. package/dist/schemas/type-ref.js.map +1 -1
  134. package/dist/schemas/type-union.d.ts +8 -3
  135. package/dist/schemas/type-union.js +12 -11
  136. package/dist/schemas/type-union.js.map +1 -1
  137. package/dist/schemas/type.d.ts +10 -3
  138. package/dist/schemas/type.js +16 -14
  139. package/dist/schemas/type.js.map +1 -1
  140. package/dist/schemas/unimplemented-schema.d.ts +7 -3
  141. package/dist/schemas/unimplemented-schema.js +9 -0
  142. package/dist/schemas/unimplemented-schema.js.map +1 -1
  143. package/dist/schemas/unknown-schema.d.ts +7 -3
  144. package/dist/schemas/unknown-schema.js +9 -0
  145. package/dist/schemas/unknown-schema.js.map +1 -1
  146. package/dist/schemas/unresolved-schema.d.ts +5 -3
  147. package/dist/schemas/unresolved-schema.js +8 -0
  148. package/dist/schemas/unresolved-schema.js.map +1 -1
  149. package/dist/schemas/variable-like.d.ts +29 -3
  150. package/dist/schemas/variable-like.js +21 -15
  151. package/dist/schemas/variable-like.js.map +1 -1
  152. package/dist/unknown-schema-factory.d.ts +4 -0
  153. package/dist/unknown-schema-factory.js +13 -0
  154. package/dist/unknown-schema-factory.js.map +1 -0
  155. package/index.ts +10 -2
  156. package/package.json +3 -4
  157. package/schema-node-constructor.ts +8 -0
  158. package/schema-node.ts +62 -6
  159. package/schema-registry.ts +33 -0
  160. package/schemas/class.ts +32 -7
  161. package/schemas/conditional-type.ts +27 -11
  162. package/schemas/constructor.ts +14 -4
  163. package/schemas/docs/doc.ts +22 -5
  164. package/schemas/docs/property-like-tag.ts +19 -5
  165. package/schemas/docs/return-tag.ts +18 -5
  166. package/schemas/docs/tag.ts +21 -2
  167. package/schemas/enum-member.ts +21 -5
  168. package/schemas/enum.ts +26 -6
  169. package/schemas/expression-with-arguments.ts +26 -7
  170. package/schemas/function-like.ts +51 -10
  171. package/schemas/get-accessor.ts +24 -5
  172. package/schemas/index-signature.ts +19 -6
  173. package/schemas/index.ts +1 -1
  174. package/schemas/indexed-access-type.ts +24 -6
  175. package/schemas/inference-type.ts +23 -2
  176. package/schemas/interface.ts +30 -7
  177. package/schemas/keyword-type.ts +15 -2
  178. package/schemas/literal-type.ts +9 -3
  179. package/schemas/module.ts +24 -14
  180. package/schemas/named-tuple.ts +22 -2
  181. package/schemas/parameter.ts +43 -11
  182. package/schemas/parenthesized-type.ts +20 -5
  183. package/schemas/set-accessor.ts +26 -5
  184. package/schemas/template-literal-type-span.ts +23 -5
  185. package/schemas/template-literal-type.ts +22 -5
  186. package/schemas/this-type.ts +7 -2
  187. package/schemas/tuple-type.ts +17 -5
  188. package/schemas/type-array.ts +21 -5
  189. package/schemas/type-intersection.ts +21 -5
  190. package/schemas/type-literal.ts +21 -5
  191. package/schemas/type-operator.ts +22 -5
  192. package/schemas/type-predicate.ts +20 -5
  193. package/schemas/type-query.ts +24 -5
  194. package/schemas/type-ref.ts +51 -10
  195. package/schemas/type-union.ts +17 -5
  196. package/schemas/type.ts +25 -7
  197. package/schemas/unimplemented-schema.ts +16 -2
  198. package/schemas/unknown-schema.ts +16 -2
  199. package/schemas/unresolved-schema.ts +12 -2
  200. package/schemas/variable-like.ts +33 -8
  201. package/unknown-schema-factory.ts +10 -0
  202. package/package-tar/teambit-semantics.entities.semantic-schema-0.0.51.tgz +0 -0
@@ -1,13 +1,27 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  import { ParameterSchema } from './parameter';
3
3
  /**
4
4
  * e.g. `{ [key: string]: boolean };`
5
5
  * the "[key: string]" is the "parameter", and the "boolean" is the "type".
6
6
  */
7
7
  export declare class IndexSignatureSchema extends SchemaNode {
8
- readonly location: Location;
8
+ readonly location: SchemaLocation;
9
9
  readonly params: ParameterSchema[];
10
10
  readonly type: SchemaNode;
11
- constructor(location: Location, params: ParameterSchema[], type: SchemaNode);
11
+ constructor(location: SchemaLocation, params: ParameterSchema[], type: SchemaNode);
12
12
  toString(): string;
13
+ toObject(): {
14
+ location: SchemaLocation;
15
+ params: {
16
+ name: string;
17
+ type: Record<string, any>;
18
+ isOptional: boolean;
19
+ defaultValue: any;
20
+ description: string;
21
+ objectBindingNodes: Record<string, any>[];
22
+ isSpread: boolean;
23
+ }[];
24
+ type: Record<string, any>;
25
+ };
26
+ static fromObject(obj: Record<string, any>): IndexSignatureSchema;
13
27
  }
@@ -1,15 +1,9 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.IndexSignatureSchema = void 0;
10
- const class_transformer_1 = require("class-transformer");
11
4
  const schema_node_1 = require("../schema-node");
12
- const class_transformers_1 = require("../class-transformers");
5
+ const schema_registry_1 = require("../schema-registry");
6
+ const parameter_1 = require("./parameter");
13
7
  /**
14
8
  * e.g. `{ [key: string]: boolean };`
15
9
  * the "[key: string]" is the "parameter", and the "boolean" is the "type".
@@ -25,12 +19,15 @@ class IndexSignatureSchema extends schema_node_1.SchemaNode {
25
19
  const paramsStr = this.params.map((param) => param.toString()).join(', ');
26
20
  return `[${paramsStr}]: ${this.type.toString()}`;
27
21
  }
22
+ toObject() {
23
+ return Object.assign(Object.assign({}, super.toObject()), { location: this.location, params: this.params.map((param) => param.toObject()), type: this.type.toObject() });
24
+ }
25
+ static fromObject(obj) {
26
+ const location = obj.location;
27
+ const params = obj.params.map((param) => parameter_1.ParameterSchema.fromObject(param));
28
+ const type = schema_registry_1.SchemaRegistry.fromObject(obj.type);
29
+ return new IndexSignatureSchema(location, params, type);
30
+ }
28
31
  }
29
- __decorate([
30
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
31
- ], IndexSignatureSchema.prototype, "params", void 0);
32
- __decorate([
33
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
34
- ], IndexSignatureSchema.prototype, "type", void 0);
35
32
  exports.IndexSignatureSchema = IndexSignatureSchema;
36
33
  //# sourceMappingURL=index-signature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-signature.js","sourceRoot":"","sources":["../../schemas/index-signature.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AAEtD,8DAAuF;AAEvF;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,wBAAU;IAKlD,YAAqB,QAAkB,EAAE,MAAyB,EAAE,IAAgB;QAClF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,IAAI,SAAS,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACnD,CAAC;CACF;AAbC;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;oDACF;AAEnC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;kDACL;AAJ5B,oDAeC"}
1
+ {"version":3,"file":"index-signature.js","sourceRoot":"","sources":["../../schemas/index-signature.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAC5D,wDAAoD;AACpD,2CAA8C;AAE9C;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,wBAAU;IAGlD,YAAqB,QAAwB,EAAE,MAAyB,EAAE,IAAgB;QACxF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAgB;QAE3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,IAAI,SAAS,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EACpD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAC1B;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,2BAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,gCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;CACF;AA7BD,oDA6BC"}
@@ -4,7 +4,7 @@
4
4
  * and the schemaObjToClass can match and instantiate the Schema Class correctly
5
5
  */
6
6
  export { ModuleSchema } from './module';
7
- export { FunctionLikeSchema, Modifier } from './function-like';
7
+ export { FunctionLikeSchema } from './function-like';
8
8
  export { TypeRefSchema } from './type-ref';
9
9
  export { VariableLikeSchema } from './variable-like';
10
10
  export { ClassSchema } from './class';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AACrB,iDAA+D;AAAtD,mHAAA,kBAAkB,OAAA;AAC3B,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AACtB,iDAAqD;AAA5C,mHAAA,kBAAkB,OAAA;AAC3B,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,yDAA6D;AAApD,2HAAA,sBAAsB,OAAA;AAC/B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AACxB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,mDAAuD;AAA9C,qHAAA,mBAAmB,OAAA;AAC5B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,iDAAqD;AAA5C,mHAAA,kBAAkB,OAAA;AAC3B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AACxB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,2DAA+D;AAAtD,6HAAA,uBAAuB,OAAA;AAChC,mDAAuD;AAA9C,qHAAA,mBAAmB,OAAA;AAC5B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,iEAAoE;AAA3D,kIAAA,yBAAyB,OAAA;AAClC,2EAA6E;AAApE,2IAAA,6BAA6B,OAAA;AACtC,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,uDAA2D;AAAlD,yHAAA,qBAAqB,OAAA;AAC9B,yEAAgF;AAAvE,8IAAA,iCAAiC,OAAA;AAC1C,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,+DAA6D;AAApD,2HAAA,mBAAmB,OAAA;AAC5B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AACrB,iDAAqD;AAA5C,mHAAA,kBAAkB,OAAA;AAC3B,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AACtB,iDAAqD;AAA5C,mHAAA,kBAAkB,OAAA;AAC3B,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,yDAA6D;AAApD,2HAAA,sBAAsB,OAAA;AAC/B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AACxB,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,mDAAuD;AAA9C,qHAAA,mBAAmB,OAAA;AAC5B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,iDAAqD;AAA5C,mHAAA,kBAAkB,OAAA;AAC3B,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AACxB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,2DAA+D;AAAtD,6HAAA,uBAAuB,OAAA;AAChC,mDAAuD;AAA9C,qHAAA,mBAAmB,OAAA;AAC5B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,iEAAoE;AAA3D,kIAAA,yBAAyB,OAAA;AAClC,2EAA6E;AAApE,2IAAA,6BAA6B,OAAA;AACtC,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,uDAA2D;AAAlD,yHAAA,qBAAqB,OAAA;AAC9B,yEAAgF;AAAvE,8IAAA,iCAAiC,OAAA;AAC1C,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,+DAA6D;AAApD,2HAAA,mBAAmB,OAAA;AAC5B,yCAAuB"}
@@ -1,8 +1,14 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  export declare class IndexedAccessSchema extends SchemaNode {
3
- readonly location: Location;
3
+ readonly location: SchemaLocation;
4
4
  readonly objectType: SchemaNode;
5
5
  readonly indexType: SchemaNode;
6
- constructor(location: Location, objectType: SchemaNode, indexType: SchemaNode);
6
+ constructor(location: SchemaLocation, objectType: SchemaNode, indexType: SchemaNode);
7
+ getNodes(): SchemaNode[];
7
8
  toString(): string;
9
+ toObject(): {
10
+ objectType: Record<string, any>;
11
+ indexType: Record<string, any>;
12
+ };
13
+ static fromObject(obj: Record<string, any>): IndexedAccessSchema;
8
14
  }
@@ -1,15 +1,8 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.IndexedAccessSchema = void 0;
10
- const class_transformer_1 = require("class-transformer");
11
4
  const schema_node_1 = require("../schema-node");
12
- const class_transformers_1 = require("../class-transformers");
5
+ const schema_registry_1 = require("../schema-registry");
13
6
  class IndexedAccessSchema extends schema_node_1.SchemaNode {
14
7
  constructor(location, objectType, indexType) {
15
8
  super();
@@ -17,15 +10,21 @@ class IndexedAccessSchema extends schema_node_1.SchemaNode {
17
10
  this.objectType = objectType;
18
11
  this.indexType = indexType;
19
12
  }
13
+ getNodes() {
14
+ return [this.objectType, this.indexType];
15
+ }
20
16
  toString() {
21
17
  return `${this.objectType.toString()}[${this.indexType.toString()}]`;
22
18
  }
19
+ toObject() {
20
+ return Object.assign(Object.assign({}, super.toObject()), { objectType: this.objectType.toObject(), indexType: this.indexType.toObject() });
21
+ }
22
+ static fromObject(obj) {
23
+ const location = obj.location;
24
+ const objectType = schema_registry_1.SchemaRegistry.fromObject(obj.objectType);
25
+ const indexType = schema_registry_1.SchemaRegistry.fromObject(obj.indexType);
26
+ return new IndexedAccessSchema(location, objectType, indexType);
27
+ }
23
28
  }
24
- __decorate([
25
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
26
- ], IndexedAccessSchema.prototype, "objectType", void 0);
27
- __decorate([
28
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
29
- ], IndexedAccessSchema.prototype, "indexType", void 0);
30
29
  exports.IndexedAccessSchema = IndexedAccessSchema;
31
30
  //# sourceMappingURL=indexed-access-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexed-access-type.js","sourceRoot":"","sources":["../../schemas/indexed-access-type.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAA4D;AAE5D,MAAa,mBAAoB,SAAQ,wBAAU;IAKjD,YAAqB,QAAkB,EAAE,UAAsB,EAAE,SAAqB;QACpF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC;IACvE,CAAC;CACF;AAXC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;uDACC;AAEhC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;sDACA;AAJjC,kDAaC"}
1
+ {"version":3,"file":"indexed-access-type.js","sourceRoot":"","sources":["../../schemas/indexed-access-type.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAC5D,wDAAoD;AAEpD,MAAa,mBAAoB,SAAQ,wBAAU;IAIjD,YAAqB,QAAwB,EAAE,UAAsB,EAAE,SAAqB;QAC1F,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAgB;QAE3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC;IACvE,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EACtC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IACpC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,UAAU,GAAG,gCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,gCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;CACF;AAhCD,kDAgCC"}
@@ -1,11 +1,17 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  /**
3
3
  * where there is no explicit type, the type is taken from the "quickinfo" of tsserver
4
4
  */
5
5
  export declare class InferenceTypeSchema extends SchemaNode {
6
- readonly location: Location;
6
+ readonly location: SchemaLocation;
7
7
  readonly type: string;
8
8
  readonly name?: string;
9
- constructor(location: Location, type: string, name?: string);
9
+ readonly defaultValue?: string;
10
+ constructor(location: SchemaLocation, type: string, name?: string, defaultValue?: string);
10
11
  toString(): string;
12
+ toObject(): {
13
+ type: string;
14
+ defaultValue: string;
15
+ };
16
+ static fromObject(obj: Record<string, any>): InferenceTypeSchema;
11
17
  }
@@ -6,11 +6,12 @@ const schema_node_1 = require("../schema-node");
6
6
  * where there is no explicit type, the type is taken from the "quickinfo" of tsserver
7
7
  */
8
8
  class InferenceTypeSchema extends schema_node_1.SchemaNode {
9
- constructor(location, type, name) {
9
+ constructor(location, type, name, defaultValue) {
10
10
  super();
11
11
  this.location = location;
12
12
  this.type = type;
13
13
  this.name = name;
14
+ this.defaultValue = defaultValue;
14
15
  }
15
16
  toString() {
16
17
  if (this.name && this.name !== this.type) {
@@ -18,6 +19,16 @@ class InferenceTypeSchema extends schema_node_1.SchemaNode {
18
19
  }
19
20
  return this.type;
20
21
  }
22
+ toObject() {
23
+ return Object.assign(Object.assign({}, super.toObject()), { type: this.type, defaultValue: this.defaultValue });
24
+ }
25
+ static fromObject(obj) {
26
+ const location = obj.location;
27
+ const type = obj.type;
28
+ const name = obj.name;
29
+ const defaultValue = obj.defaultValue;
30
+ return new InferenceTypeSchema(location, type, name, defaultValue);
31
+ }
21
32
  }
22
33
  exports.InferenceTypeSchema = InferenceTypeSchema;
23
34
  //# sourceMappingURL=inference-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inference-type.js","sourceRoot":"","sources":["../../schemas/inference-type.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AAEtD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,wBAAU;IACjD,YAAqB,QAAkB,EAAW,IAAY,EAAW,IAAa;QACpF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAS;IAEtF,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YACxC,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;SACrC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAXD,kDAWC"}
1
+ {"version":3,"file":"inference-type.js","sourceRoot":"","sources":["../../schemas/inference-type.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAE5D;;GAEG;AACH,MAAa,mBAAoB,SAAQ,wBAAU;IACjD,YACW,QAAwB,EACxB,IAAY,EACZ,IAAa,EACb,YAAqB;QAE9B,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAgB;QACxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAS;QACb,iBAAY,GAAZ,YAAY,CAAS;IAGhC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YACxC,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;SACrC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,YAAY,EAAE,IAAI,CAAC,YAAY,IAC/B;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;CACF;AAhCD,kDAgCC"}
@@ -1,14 +1,44 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  import { DocSchema } from './docs';
3
3
  import { ExpressionWithTypeArgumentsSchema } from './expression-with-arguments';
4
4
  export declare class InterfaceSchema extends SchemaNode {
5
- readonly location: Location;
5
+ readonly location: SchemaLocation;
6
6
  readonly name: string;
7
7
  readonly signature: string;
8
8
  readonly extendsNodes: ExpressionWithTypeArgumentsSchema[];
9
9
  readonly typeParams?: string[];
10
10
  readonly members: SchemaNode[];
11
11
  readonly doc?: DocSchema;
12
- constructor(location: Location, name: string, signature: string, extendsNodes: ExpressionWithTypeArgumentsSchema[], members: SchemaNode[], doc?: DocSchema, typeParams?: string[]);
12
+ constructor(location: SchemaLocation, name: string, signature: string, extendsNodes: ExpressionWithTypeArgumentsSchema[], members: SchemaNode[], doc?: DocSchema, typeParams?: string[]);
13
+ getNodes(): SchemaNode[];
13
14
  toString(): string;
15
+ toObject(): {
16
+ name: string;
17
+ members: Record<string, any>[];
18
+ doc: {
19
+ __schema: string;
20
+ name: string;
21
+ location: SchemaLocation;
22
+ signature: string;
23
+ raw: string;
24
+ comment: string;
25
+ tags: {
26
+ __schema: string;
27
+ location: SchemaLocation;
28
+ name: string;
29
+ signature: string;
30
+ tagName: string;
31
+ comment: string;
32
+ }[];
33
+ };
34
+ signature: string;
35
+ extendsNodes: {
36
+ name: string;
37
+ location: SchemaLocation;
38
+ typeArgs: Record<string, any>[];
39
+ expression: SchemaNode;
40
+ }[];
41
+ typeParams: string[];
42
+ };
43
+ static fromObject(obj: Record<string, any>): InterfaceSchema;
14
44
  }
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
4
  };
11
5
  Object.defineProperty(exports, "__esModule", { value: true });
12
6
  exports.InterfaceSchema = void 0;
13
- const class_transformer_1 = require("class-transformer");
14
7
  const chalk_1 = __importDefault(require("chalk"));
15
8
  const schema_node_1 = require("../schema-node");
16
- const class_transformers_1 = require("../class-transformers");
9
+ const docs_1 = require("./docs");
10
+ const expression_with_arguments_1 = require("./expression-with-arguments");
11
+ const schema_registry_1 = require("../schema-registry");
17
12
  class InterfaceSchema extends schema_node_1.SchemaNode {
18
13
  constructor(location, name, signature, extendsNodes, members, doc, typeParams) {
19
14
  super();
@@ -25,16 +20,28 @@ class InterfaceSchema extends schema_node_1.SchemaNode {
25
20
  this.members = members;
26
21
  this.doc = doc;
27
22
  }
23
+ getNodes() {
24
+ return this.members;
25
+ }
28
26
  toString() {
29
27
  const membersStr = this.members.map((m) => `* ${m.toString()}`).join('\n');
30
28
  return `${chalk_1.default.bold.underline(this.name)}\n${membersStr}`;
31
29
  }
30
+ toObject() {
31
+ var _a, _b;
32
+ return Object.assign(Object.assign({}, super.toObject()), { name: this.name, members: this.members.map((member) => member.toObject()), doc: (_a = this.doc) === null || _a === void 0 ? void 0 : _a.toObject(), signature: this.signature, extendsNodes: (_b = this.extendsNodes) === null || _b === void 0 ? void 0 : _b.map((node) => node.toObject()), typeParams: this.typeParams });
33
+ }
34
+ static fromObject(obj) {
35
+ var _a;
36
+ const location = obj.location;
37
+ const name = obj.name;
38
+ const signature = obj.signature;
39
+ const extendsNodes = (_a = obj.extendsNodes) === null || _a === void 0 ? void 0 : _a.map((node) => expression_with_arguments_1.ExpressionWithTypeArgumentsSchema.fromObject(node));
40
+ const members = obj.members.map((member) => schema_registry_1.SchemaRegistry.fromObject(member));
41
+ const doc = obj.doc ? docs_1.DocSchema.fromObject(obj.doc) : undefined;
42
+ const typeParams = obj.typeParams;
43
+ return new InterfaceSchema(location, name, signature, extendsNodes, members, doc, typeParams);
44
+ }
32
45
  }
33
- __decorate([
34
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
35
- ], InterfaceSchema.prototype, "members", void 0);
36
- __decorate([
37
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
38
- ], InterfaceSchema.prototype, "doc", void 0);
39
46
  exports.InterfaceSchema = InterfaceSchema;
40
47
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../schemas/interface.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,kDAA0B;AAC1B,gDAAsD;AACtD,8DAAuF;AAIvF,MAAa,eAAgB,SAAQ,wBAAU;IAO7C,YACW,QAAkB,EAClB,IAAY,EACZ,SAAiB,EACjB,YAAiD,EAC1D,OAAqB,EACrB,GAAe,EACN,UAAqB;QAE9B,KAAK,EAAE,CAAC;QARC,aAAQ,GAAR,QAAQ,CAAU;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAAqC;QAGjD,eAAU,GAAV,UAAU,CAAW;QAG9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;IAC7D,CAAC;CACF;AAvBC;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;gDACN;AAG/B;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;4CACN;AAL3B,0CAyBC"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../schemas/interface.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAA4D;AAC5D,iCAAmC;AACnC,2EAAgF;AAChF,wDAAoD;AAEpD,MAAa,eAAgB,SAAQ,wBAAU;IAI7C,YACW,QAAwB,EACxB,IAAY,EACZ,SAAiB,EACjB,YAAiD,EAC1D,OAAqB,EACrB,GAAe,EACN,UAAqB;QAE9B,KAAK,EAAE,CAAC;QARC,aAAQ,GAAR,QAAQ,CAAgB;QACxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAAqC;QAGjD,eAAU,GAAV,UAAU,CAAW;QAG9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ;;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EACxD,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC/D,UAAU,EAAE,IAAI,CAAC,UAAU,IAC3B;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,MAAM,YAAY,GAAG,MAAA,GAAG,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,6DAAiC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9G,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,gCAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAChG,CAAC;CACF;AAjDD,0CAiDC"}
@@ -1,10 +1,14 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  /**
3
3
  * e.g. 'string', 'boolean', etc.
4
4
  */
5
5
  export declare class KeywordTypeSchema extends SchemaNode {
6
- readonly location: Location;
6
+ readonly location: SchemaLocation;
7
7
  readonly name: string;
8
- constructor(location: Location, name: string);
8
+ constructor(location: SchemaLocation, name: string);
9
9
  toString(): string;
10
+ toObject(): {
11
+ name: string;
12
+ };
13
+ static fromObject(obj: Record<string, any>): KeywordTypeSchema;
10
14
  }
@@ -14,6 +14,14 @@ class KeywordTypeSchema extends schema_node_1.SchemaNode {
14
14
  toString() {
15
15
  return this.name;
16
16
  }
17
+ toObject() {
18
+ return Object.assign(Object.assign({}, super.toObject()), { name: this.name });
19
+ }
20
+ static fromObject(obj) {
21
+ const location = obj.location;
22
+ const name = obj.name;
23
+ return new KeywordTypeSchema(location, name);
24
+ }
17
25
  }
18
26
  exports.KeywordTypeSchema = KeywordTypeSchema;
19
27
  //# sourceMappingURL=keyword-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-type.js","sourceRoot":"","sources":["../../schemas/keyword-type.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AAEtD;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wBAAU;IAC/C,YAAqB,QAAkB,EAAW,IAAY;QAC5D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;IAE9D,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AARD,8CAQC"}
1
+ {"version":3,"file":"keyword-type.js","sourceRoot":"","sources":["../../schemas/keyword-type.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAE5D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wBAAU;IAC/C,YAAqB,QAAwB,EAAW,IAAY;QAClE,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAgB;QAAW,SAAI,GAAJ,IAAI,CAAQ;IAEpE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,IAAI,EAAE,IAAI,CAAC,IAAI,IACf;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AArBD,8CAqBC"}
@@ -1,14 +1,14 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  /**
3
3
  * e.g. const a: 'a';
4
4
  */
5
5
  export declare class LiteralTypeSchema extends SchemaNode {
6
- readonly location: Location;
6
+ readonly location: SchemaLocation;
7
7
  readonly name: string;
8
- constructor(location: Location, name: string);
8
+ constructor(location: SchemaLocation, name: string);
9
9
  toObject(): {
10
- constructorName: string;
11
10
  name: string;
12
11
  };
13
12
  toString(): string;
13
+ static fromObject(obj: Record<string, any>): LiteralTypeSchema;
14
14
  }
@@ -12,14 +12,16 @@ class LiteralTypeSchema extends schema_node_1.SchemaNode {
12
12
  this.name = name;
13
13
  }
14
14
  toObject() {
15
- return {
16
- constructorName: this.constructor.name,
17
- name: this.name,
18
- };
15
+ return Object.assign(Object.assign({}, super.toObject()), { name: this.name });
19
16
  }
20
17
  toString() {
21
18
  return this.name;
22
19
  }
20
+ static fromObject(obj) {
21
+ const location = obj.location;
22
+ const name = obj.name;
23
+ return new LiteralTypeSchema(location, name);
24
+ }
23
25
  }
24
26
  exports.LiteralTypeSchema = LiteralTypeSchema;
25
27
  //# sourceMappingURL=literal-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"literal-type.js","sourceRoot":"","sources":["../../schemas/literal-type.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AAEtD;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wBAAU;IAC/C,YAAqB,QAAkB,EAAW,IAAY;QAC5D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;IAE9D,CAAC;IAED,QAAQ;QACN,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAfD,8CAeC"}
1
+ {"version":3,"file":"literal-type.js","sourceRoot":"","sources":["../../schemas/literal-type.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAE5D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wBAAU;IAC/C,YAAqB,QAAwB,EAAW,IAAY;QAClE,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAgB;QAAW,SAAI,GAAJ,IAAI,CAAQ;IAEpE,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,IAAI,EAAE,IAAI,CAAC,IAAI,IACf;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AArBD,8CAqBC"}
@@ -1,15 +1,17 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  export declare class ModuleSchema extends SchemaNode {
3
- readonly location: Location;
3
+ readonly location: SchemaLocation;
4
4
  exports: SchemaNode[];
5
5
  internals: SchemaNode[];
6
6
  namespace?: string;
7
- constructor(location: Location, exports: SchemaNode[], internals: SchemaNode[]);
7
+ constructor(location: SchemaLocation, exports: SchemaNode[], internals: SchemaNode[]);
8
+ getNodes(): SchemaNode[];
9
+ flatExportsRecursively(): void;
10
+ toString(): string;
8
11
  toObject(): {
9
- constructorName: string;
10
- namespace: string;
11
12
  exports: Record<string, any>[];
13
+ internals: Record<string, any>[];
14
+ namespace: string;
12
15
  };
13
- flatExportsRecursively(): void;
14
- toString(): string;
16
+ static fromObject(obj: Record<string, any>): ModuleSchema;
15
17
  }
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
9
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
4
  };
11
5
  Object.defineProperty(exports, "__esModule", { value: true });
12
6
  exports.ModuleSchema = void 0;
13
7
  const chalk_1 = __importDefault(require("chalk"));
14
- const class_transformer_1 = require("class-transformer");
15
8
  const schema_node_1 = require("../schema-node");
16
- const class_transformers_1 = require("../class-transformers");
9
+ const schema_registry_1 = require("../schema-registry");
17
10
  class ModuleSchema extends schema_node_1.SchemaNode {
18
11
  constructor(location, exports, internals) {
19
12
  super();
@@ -21,12 +14,8 @@ class ModuleSchema extends schema_node_1.SchemaNode {
21
14
  this.exports = exports;
22
15
  this.internals = internals;
23
16
  }
24
- toObject() {
25
- return {
26
- constructorName: this.constructor.name,
27
- namespace: this.namespace,
28
- exports: this.exports.map((exp) => exp.toObject()),
29
- };
17
+ getNodes() {
18
+ return [...this.exports, ...this.internals];
30
19
  }
31
20
  flatExportsRecursively() {
32
21
  this.exports = this.exports.reduce((acc, exp) => {
@@ -45,12 +34,18 @@ class ModuleSchema extends schema_node_1.SchemaNode {
45
34
  const exportsStr = this.exports.map((m) => `* ${m.toString()}`).join('\n');
46
35
  return `${chalk_1.default.bold.underline(this.namespace)}\n${exportsStr}`;
47
36
  }
37
+ toObject() {
38
+ return Object.assign(Object.assign({}, super.toObject()), { exports: this.exports.map((member) => member.toObject()), internals: this.internals.map((member) => member.toObject()), namespace: this.namespace });
39
+ }
40
+ static fromObject(obj) {
41
+ const location = obj.location;
42
+ const exportNodes = (obj.exports || []).map((member) => schema_registry_1.SchemaRegistry.fromObject(member));
43
+ const internals = (obj.internals || []).map((member) => schema_registry_1.SchemaRegistry.fromObject(member));
44
+ const namespace = obj.namespace;
45
+ const module = new ModuleSchema(location, exportNodes, internals);
46
+ module.namespace = namespace;
47
+ return module;
48
+ }
48
49
  }
49
- __decorate([
50
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
51
- ], ModuleSchema.prototype, "exports", void 0);
52
- __decorate([
53
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
54
- ], ModuleSchema.prototype, "internals", void 0);
55
50
  exports.ModuleSchema = ModuleSchema;
56
51
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../schemas/module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yDAA8C;AAC9C,gDAAsD;AACtD,8DAAkE;AAElE,MAAa,YAAa,SAAQ,wBAAU;IAS1C,YAAqB,QAAkB,EAAE,OAAqB,EAAE,SAAuB;QACrF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,GAAG,YAAY,YAAY,EAAE;gBAC/B,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,SAAS;oBAAE,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;aACjC;YACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC,EAAE,EAAkB,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS;YACjB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;IAClE,CAAC;CACF;AAxCC;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;6CACf;AAGtB;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;+CACb;AAL1B,oCA0CC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../schemas/module.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAA4D;AAC5D,wDAAoD;AAEpD,MAAa,YAAa,SAAQ,wBAAU;IAK1C,YAAqB,QAAwB,EAAE,OAAqB,EAAE,SAAuB;QAC3F,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAgB;QAE3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,GAAG,YAAY,YAAY,EAAE;gBAC/B,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,SAAS;oBAAE,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;aACjC;YACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC,EAAE,EAAkB,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS;YACjB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;IAClE,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EACxD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAC5D,SAAS,EAAE,IAAI,CAAC,SAAS,IACzB;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,gCAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,gCAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArDD,oCAqDC"}
@@ -1,8 +1,14 @@
1
- import { Location, SchemaNode } from '../schema-node';
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
  export declare class NamedTupleSchema extends SchemaNode {
3
- readonly location: Location;
3
+ readonly location: SchemaLocation;
4
4
  readonly type: SchemaNode;
5
5
  readonly name?: string;
6
- constructor(location: Location, type: SchemaNode, name?: string);
6
+ constructor(location: SchemaLocation, type: SchemaNode, name?: string);
7
+ getNodes(): SchemaNode[];
7
8
  toString(): string;
9
+ toObject(): {
10
+ name: string;
11
+ type: Record<string, any>;
12
+ };
13
+ static fromObject(obj: Record<string, any>): NamedTupleSchema;
8
14
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NamedTupleSchema = void 0;
4
4
  const schema_node_1 = require("../schema-node");
5
+ const schema_registry_1 = require("../schema-registry");
5
6
  class NamedTupleSchema extends schema_node_1.SchemaNode {
6
7
  constructor(location, type, name) {
7
8
  super();
@@ -9,9 +10,21 @@ class NamedTupleSchema extends schema_node_1.SchemaNode {
9
10
  this.type = type;
10
11
  this.name = name;
11
12
  }
13
+ getNodes() {
14
+ return [this.type];
15
+ }
12
16
  toString() {
13
17
  return `${this.name}: ${this.type.toString()}`;
14
18
  }
19
+ toObject() {
20
+ return Object.assign(Object.assign({}, super.toObject()), { name: this.name, type: this.type.toObject() });
21
+ }
22
+ static fromObject(obj) {
23
+ const location = obj.location;
24
+ const type = schema_registry_1.SchemaRegistry.fromObject(obj.type);
25
+ const name = obj.name;
26
+ return new NamedTupleSchema(location, type, name);
27
+ }
15
28
  }
16
29
  exports.NamedTupleSchema = NamedTupleSchema;
17
30
  //# sourceMappingURL=named-tuple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"named-tuple.js","sourceRoot":"","sources":["../../schemas/named-tuple.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AAEtD,MAAa,gBAAiB,SAAQ,wBAAU;IAC9C,YAAqB,QAAkB,EAAW,IAAgB,EAAW,IAAa;QACxF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAY;QAAW,SAAI,GAAJ,IAAI,CAAS;IAE1F,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACjD,CAAC;CACF;AARD,4CAQC"}
1
+ {"version":3,"file":"named-tuple.js","sourceRoot":"","sources":["../../schemas/named-tuple.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAC5D,wDAAoD;AAEpD,MAAa,gBAAiB,SAAQ,wBAAU;IAC9C,YAAqB,QAAwB,EAAW,IAAgB,EAAW,IAAa;QAC9F,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAgB;QAAW,SAAI,GAAJ,IAAI,CAAY;QAAW,SAAI,GAAJ,IAAI,CAAS;IAEhG,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAC1B;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAwB;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,gCAAc,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACF;AA3BD,4CA2BC"}
@@ -1,12 +1,23 @@
1
- import { Location, SchemaNode } from '../schema-node';
2
- export declare class ParameterSchema extends SchemaNode {
3
- readonly location: Location;
1
+ import { SchemaLocation, SchemaNode } from '../schema-node';
2
+ export declare class ParameterSchema<T extends SchemaNode = SchemaNode> extends SchemaNode {
3
+ readonly location: SchemaLocation;
4
4
  readonly name: string;
5
5
  readonly isOptional: boolean;
6
6
  readonly defaultValue?: any;
7
7
  readonly description?: string;
8
- readonly type: SchemaNode;
8
+ readonly isSpread: boolean;
9
+ readonly type: T;
9
10
  readonly objectBindingNodes?: SchemaNode[];
10
- constructor(location: Location, name: string, type: SchemaNode, isOptional: boolean, defaultValue?: any, description?: string, objectBindingNodes?: SchemaNode[]);
11
+ constructor(location: SchemaLocation, name: string, type: T, isOptional: boolean, defaultValue?: any, description?: string, objectBindingNodes?: SchemaNode[], isSpread?: boolean);
11
12
  toString(): string;
13
+ toObject(): {
14
+ name: string;
15
+ type: Record<string, any>;
16
+ isOptional: boolean;
17
+ defaultValue: any;
18
+ description: string;
19
+ objectBindingNodes: Record<string, any>[];
20
+ isSpread: boolean;
21
+ };
22
+ static fromObject<T extends SchemaNode = SchemaNode>(obj: Record<string, any>): ParameterSchema<T>;
12
23
  }