@teambit/semantics.entities.semantic-schema 0.0.13 → 0.0.16

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 (137) hide show
  1. package/api-schema.ts +13 -3
  2. package/class-transformers/comp-id-transformer.ts +22 -0
  3. package/class-transformers/index.ts +2 -0
  4. package/{schema-obj-to-class.ts → class-transformers/schema-obj-to-class.ts} +12 -3
  5. package/dist/api-schema.d.ts +3 -1
  6. package/dist/api-schema.js +13 -5
  7. package/dist/api-schema.js.map +1 -1
  8. package/dist/class-transformers/comp-id-transformer.d.ts +6 -0
  9. package/dist/class-transformers/comp-id-transformer.js +20 -0
  10. package/dist/class-transformers/comp-id-transformer.js.map +1 -0
  11. package/dist/class-transformers/index.d.ts +2 -0
  12. package/dist/class-transformers/index.js +9 -0
  13. package/dist/class-transformers/index.js.map +1 -0
  14. package/dist/{schema-obj-to-class.d.ts → class-transformers/schema-obj-to-class.d.ts} +3 -3
  15. package/dist/{schema-obj-to-class.js → class-transformers/schema-obj-to-class.js} +5 -2
  16. package/dist/class-transformers/schema-obj-to-class.js.map +1 -0
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.js +14 -28
  19. package/dist/index.js.map +1 -1
  20. package/dist/schema-node.d.ts +2 -0
  21. package/dist/schema-node.js.map +1 -1
  22. package/dist/schemas/class.d.ts +3 -1
  23. package/dist/schemas/class.js +7 -3
  24. package/dist/schemas/class.js.map +1 -1
  25. package/dist/schemas/constructor.js +2 -2
  26. package/dist/schemas/constructor.js.map +1 -1
  27. package/dist/schemas/docs/doc.d.ts +11 -0
  28. package/dist/schemas/docs/doc.js +37 -0
  29. package/dist/schemas/docs/doc.js.map +1 -0
  30. package/dist/schemas/docs/index.d.ts +3 -0
  31. package/dist/schemas/docs/index.js +10 -0
  32. package/dist/schemas/docs/index.js.map +1 -0
  33. package/dist/schemas/docs/return-tag.d.ts +13 -0
  34. package/dist/schemas/docs/return-tag.js +22 -0
  35. package/dist/schemas/docs/return-tag.js.map +1 -0
  36. package/dist/schemas/docs/tag.d.ts +33 -0
  37. package/dist/schemas/docs/tag.js +44 -0
  38. package/dist/schemas/docs/tag.js.map +1 -0
  39. package/dist/schemas/function-like.d.ts +5 -2
  40. package/dist/schemas/function-like.js +17 -7
  41. package/dist/schemas/function-like.js.map +1 -1
  42. package/dist/schemas/get-accessor.js +2 -2
  43. package/dist/schemas/get-accessor.js.map +1 -1
  44. package/dist/schemas/index-signature.js +3 -3
  45. package/dist/schemas/index-signature.js.map +1 -1
  46. package/dist/schemas/index.d.ts +4 -0
  47. package/dist/schemas/index.js +18 -1
  48. package/dist/schemas/index.js.map +1 -1
  49. package/dist/schemas/indexed-access-type.js +3 -3
  50. package/dist/schemas/indexed-access-type.js.map +1 -1
  51. package/dist/schemas/interface.js +2 -2
  52. package/dist/schemas/interface.js.map +1 -1
  53. package/dist/schemas/keyword-type.d.ts +1 -1
  54. package/dist/schemas/keyword-type.js.map +1 -1
  55. package/dist/schemas/module.js +2 -2
  56. package/dist/schemas/module.js.map +1 -1
  57. package/dist/schemas/parameter.js +2 -2
  58. package/dist/schemas/parameter.js.map +1 -1
  59. package/dist/schemas/parenthesized-type.js +2 -2
  60. package/dist/schemas/parenthesized-type.js.map +1 -1
  61. package/dist/schemas/set-accessor.js +2 -2
  62. package/dist/schemas/set-accessor.js.map +1 -1
  63. package/dist/schemas/template-literal-type-span.d.ts +8 -0
  64. package/dist/schemas/template-literal-type-span.js +28 -0
  65. package/dist/schemas/template-literal-type-span.js.map +1 -0
  66. package/dist/schemas/template-literal-type.d.ts +9 -0
  67. package/dist/schemas/template-literal-type.js +29 -0
  68. package/dist/schemas/template-literal-type.js.map +1 -0
  69. package/dist/schemas/this-type.d.ts +9 -0
  70. package/dist/schemas/this-type.js +18 -0
  71. package/dist/schemas/this-type.js.map +1 -0
  72. package/dist/schemas/tuple-type.js +2 -2
  73. package/dist/schemas/tuple-type.js.map +1 -1
  74. package/dist/schemas/type-array.js +2 -2
  75. package/dist/schemas/type-array.js.map +1 -1
  76. package/dist/schemas/type-intersection.js +2 -2
  77. package/dist/schemas/type-intersection.js.map +1 -1
  78. package/dist/schemas/type-literal.js +2 -2
  79. package/dist/schemas/type-literal.js.map +1 -1
  80. package/dist/schemas/type-operator.js +2 -2
  81. package/dist/schemas/type-operator.js.map +1 -1
  82. package/dist/schemas/type-predicate.js +2 -2
  83. package/dist/schemas/type-predicate.js.map +1 -1
  84. package/dist/schemas/type-query.js +2 -2
  85. package/dist/schemas/type-query.js.map +1 -1
  86. package/dist/schemas/type-ref.d.ts +1 -4
  87. package/dist/schemas/type-ref.js +7 -3
  88. package/dist/schemas/type-ref.js.map +1 -1
  89. package/dist/schemas/type-union.js +2 -2
  90. package/dist/schemas/type-union.js.map +1 -1
  91. package/dist/schemas/type.js +2 -2
  92. package/dist/schemas/type.js.map +1 -1
  93. package/dist/schemas/variable.d.ts +1 -1
  94. package/dist/schemas/variable.js +3 -3
  95. package/dist/schemas/variable.js.map +1 -1
  96. package/index.ts +2 -30
  97. package/package-tar/teambit-semantics.entities.semantic-schema-0.0.16.tgz +0 -0
  98. package/package.json +4 -5
  99. package/{preview-1653449228788.js → preview-1653708349111.js} +1 -1
  100. package/schema-node.ts +2 -0
  101. package/schemas/class.ts +8 -2
  102. package/schemas/constructor.ts +1 -1
  103. package/schemas/docs/doc.ts +27 -0
  104. package/schemas/docs/index.ts +3 -0
  105. package/schemas/docs/return-tag.ts +21 -0
  106. package/schemas/docs/tag.ts +38 -0
  107. package/schemas/function-like.ts +17 -6
  108. package/schemas/get-accessor.ts +1 -1
  109. package/schemas/index-signature.ts +1 -1
  110. package/schemas/index.ts +4 -0
  111. package/schemas/indexed-access-type.ts +1 -1
  112. package/schemas/interface.ts +1 -1
  113. package/schemas/keyword-type.ts +1 -1
  114. package/schemas/module.ts +1 -1
  115. package/schemas/parameter.ts +1 -1
  116. package/schemas/parenthesized-type.ts +1 -1
  117. package/schemas/set-accessor.ts +1 -1
  118. package/schemas/template-literal-type-span.ts +16 -0
  119. package/schemas/template-literal-type.ts +18 -0
  120. package/schemas/this-type.ts +14 -0
  121. package/schemas/tuple-type.ts +1 -1
  122. package/schemas/type-array.ts +1 -1
  123. package/schemas/type-intersection.ts +1 -1
  124. package/schemas/type-literal.ts +1 -1
  125. package/schemas/type-operator.ts +1 -1
  126. package/schemas/type-predicate.ts +1 -1
  127. package/schemas/type-query.ts +1 -1
  128. package/schemas/type-ref.ts +7 -10
  129. package/schemas/type-union.ts +1 -1
  130. package/schemas/type.ts +1 -1
  131. package/schemas/variable.ts +2 -2
  132. package/dist/json-schema.d.ts +0 -1
  133. package/dist/json-schema.js +0 -3
  134. package/dist/json-schema.js.map +0 -1
  135. package/dist/schema-obj-to-class.js.map +0 -1
  136. package/json-schema.ts +0 -1
  137. package/package-tar/teambit-semantics.entities.semantic-schema-0.0.13.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"type-intersection.js","sourceRoot":"","sources":["../../schemas/type-intersection.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,gEAAmE;AAEnE,MAAa,sBAAuB,SAAQ,wBAAU;IAGpD,YAAqB,QAAkB,EAAE,KAAmB;QAC1D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,+CAAyB,CAAC;qDACR;AAF/B,wDAWC"}
1
+ {"version":3,"file":"type-intersection.js","sourceRoot":"","sources":["../../schemas/type-intersection.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAAkE;AAElE,MAAa,sBAAuB,SAAQ,wBAAU;IAGpD,YAAqB,QAAkB,EAAE,KAAmB;QAC1D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;qDACR;AAF/B,wDAWC"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypeLiteralSchema = void 0;
10
10
  const class_transformer_1 = require("class-transformer");
11
11
  const schema_node_1 = require("../schema-node");
12
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
12
+ const class_transformers_1 = require("../class-transformers");
13
13
  /**
14
14
  * e.g. `{ a: string; b: number }`
15
15
  */
@@ -24,7 +24,7 @@ class TypeLiteralSchema extends schema_node_1.SchemaNode {
24
24
  }
25
25
  }
26
26
  __decorate([
27
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjArrayToInstances)
27
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
28
28
  ], TypeLiteralSchema.prototype, "members", void 0);
29
29
  exports.TypeLiteralSchema = TypeLiteralSchema;
30
30
  //# sourceMappingURL=type-literal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-literal.js","sourceRoot":"","sources":["../../schemas/type-literal.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,gEAAmE;AAEnE;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wBAAU;IAG/C,YAAqB,QAAkB,EAAE,OAAqB;QAC5D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,+CAAyB,CAAC;kDACN;AAFjC,8CAWC"}
1
+ {"version":3,"file":"type-literal.js","sourceRoot":"","sources":["../../schemas/type-literal.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAAkE;AAElE;;GAEG;AACH,MAAa,iBAAkB,SAAQ,wBAAU;IAG/C,YAAqB,QAAkB,EAAE,OAAqB;QAC5D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;kDACN;AAFjC,8CAWC"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypeOperatorSchema = void 0;
10
10
  const class_transformer_1 = require("class-transformer");
11
11
  const schema_node_1 = require("../schema-node");
12
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
12
+ const class_transformers_1 = require("../class-transformers");
13
13
  class TypeOperatorSchema extends schema_node_1.SchemaNode {
14
14
  constructor(location, operatorName, type) {
15
15
  super();
@@ -22,7 +22,7 @@ class TypeOperatorSchema extends schema_node_1.SchemaNode {
22
22
  }
23
23
  }
24
24
  __decorate([
25
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
25
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
26
26
  ], TypeOperatorSchema.prototype, "type", void 0);
27
27
  exports.TypeOperatorSchema = TypeOperatorSchema;
28
28
  //# sourceMappingURL=type-operator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-operator.js","sourceRoot":"","sources":["../../schemas/type-operator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,gEAA6D;AAE7D,MAAa,kBAAmB,SAAQ,wBAAU;IAGhD,YAAqB,QAAkB,EAAW,YAAoB,EAAE,IAAgB;QACtF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAEpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACxD,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,yCAAmB,CAAC;gDACd;AAFnB,gDAWC"}
1
+ {"version":3,"file":"type-operator.js","sourceRoot":"","sources":["../../schemas/type-operator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAA4D;AAE5D,MAAa,kBAAmB,SAAQ,wBAAU;IAGhD,YAAqB,QAAkB,EAAW,YAAoB,EAAE,IAAgB;QACtF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAEpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACxD,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;gDACd;AAFnB,gDAWC"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypePredicateSchema = void 0;
10
10
  const class_transformer_1 = require("class-transformer");
11
11
  const schema_node_1 = require("../schema-node");
12
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
12
+ const class_transformers_1 = require("../class-transformers");
13
13
  /**
14
14
  * e.g. `function f(str: any): str is string {}`
15
15
  *
@@ -38,7 +38,7 @@ class TypePredicateSchema extends schema_node_1.SchemaNode {
38
38
  }
39
39
  }
40
40
  __decorate([
41
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
41
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
42
42
  ], TypePredicateSchema.prototype, "type", void 0);
43
43
  exports.TypePredicateSchema = TypePredicateSchema;
44
44
  //# sourceMappingURL=type-predicate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-predicate.js","sourceRoot":"","sources":["../../schemas/type-predicate.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,gEAA6D;AAE7D;;;;;;;;;;;;GAYG;AACH,MAAa,mBAAoB,SAAQ,wBAAU;IAGjD,YACW,QAAkB,EAClB,aAAqB,EAC9B,IAAiB,EACR,qBAAqB,KAAK;QAEnC,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAQ;QAErB,uBAAkB,GAAlB,kBAAkB,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,cAAc,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IACvD,CAAC;CACF;AAhBC;IADC,IAAA,6BAAS,EAAC,yCAAmB,CAAC;iDACJ;AAF7B,kDAkBC"}
1
+ {"version":3,"file":"type-predicate.js","sourceRoot":"","sources":["../../schemas/type-predicate.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAA4D;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAa,mBAAoB,SAAQ,wBAAU;IAGjD,YACW,QAAkB,EAClB,aAAqB,EAC9B,IAAiB,EACR,qBAAqB,KAAK;QAEnC,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAQ;QAErB,uBAAkB,GAAlB,kBAAkB,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,cAAc,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IACvD,CAAC;CACF;AAhBC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;iDACJ;AAF7B,kDAkBC"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypeQuerySchema = void 0;
10
10
  const class_transformer_1 = require("class-transformer");
11
11
  const schema_node_1 = require("../schema-node");
12
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
12
+ const class_transformers_1 = require("../class-transformers");
13
13
  /**
14
14
  * e.g. `typeof Foo`
15
15
  */
@@ -28,7 +28,7 @@ class TypeQuerySchema extends schema_node_1.SchemaNode {
28
28
  }
29
29
  }
30
30
  __decorate([
31
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
31
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
32
32
  ], TypeQuerySchema.prototype, "type", void 0);
33
33
  exports.TypeQuerySchema = TypeQuerySchema;
34
34
  //# sourceMappingURL=type-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-query.js","sourceRoot":"","sources":["../../schemas/type-query.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,gEAA6D;AAE7D;;GAEG;AACH,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAqB,QAAkB,EAAE,IAAgB,EAAW,SAAiB;QACnF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAA6B,cAAS,GAAT,SAAS,CAAQ;QAEnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1C,CAAC;CACF;AAZC;IADC,IAAA,6BAAS,EAAC,yCAAmB,CAAC;6CACL;AAF5B,0CAcC"}
1
+ {"version":3,"file":"type-query.js","sourceRoot":"","sources":["../../schemas/type-query.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAA4D;AAE5D;;GAEG;AACH,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAqB,QAAkB,EAAE,IAAgB,EAAW,SAAiB;QACnF,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAA6B,cAAS,GAAT,SAAS,CAAQ;QAEnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1C,CAAC;CACF;AAZC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;6CACL;AAF5B,0CAcC"}
@@ -17,10 +17,6 @@ export declare class TypeRefSchema extends SchemaNode {
17
17
  * name of the reference to type.
18
18
  */
19
19
  readonly name: string;
20
- /**
21
- * target component id. existing if the type is defined in another component.
22
- */
23
- readonly componentId?: ComponentID;
24
20
  /**
25
21
  * target package name. existing if type is defined in different package.
26
22
  */
@@ -29,6 +25,7 @@ export declare class TypeRefSchema extends SchemaNode {
29
25
  * optional type arguments, e.g. type Foo = Bar<X, Y>. The X and Y are type arguments.
30
26
  */
31
27
  typeArgs?: SchemaNode[];
28
+ readonly componentId?: ComponentID;
32
29
  constructor(location: Location,
33
30
  /**
34
31
  * name of the reference to type.
@@ -13,7 +13,8 @@ exports.TypeRefSchema = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const chalk_1 = __importDefault(require("chalk"));
15
15
  const schema_node_1 = require("../schema-node");
16
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
16
+ const class_transformers_1 = require("../class-transformers");
17
+ const comp_id_transformer_1 = require("../class-transformers/comp-id-transformer");
17
18
  /**
18
19
  * can be one of the following:
19
20
  * 1. a reference to another "export" in the same component
@@ -37,8 +38,8 @@ class TypeRefSchema extends schema_node_1.SchemaNode {
37
38
  super();
38
39
  this.location = location;
39
40
  this.name = name;
40
- this.componentId = componentId;
41
41
  this.packageName = packageName;
42
+ this.componentId = componentId;
42
43
  }
43
44
  toString() {
44
45
  const name = this.nameToString();
@@ -67,7 +68,10 @@ class TypeRefSchema extends schema_node_1.SchemaNode {
67
68
  }
68
69
  }
69
70
  __decorate([
70
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjArrayToInstances)
71
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
71
72
  ], TypeRefSchema.prototype, "typeArgs", void 0);
73
+ __decorate([
74
+ (0, class_transformer_1.Transform)(comp_id_transformer_1.componentIdTransformer)
75
+ ], TypeRefSchema.prototype, "componentId", void 0);
72
76
  exports.TypeRefSchema = TypeRefSchema;
73
77
  //# sourceMappingURL=type-ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-ref.js","sourceRoot":"","sources":["../../schemas/type-ref.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAE9C,kDAA0B;AAC1B,gDAAsD;AACtD,gEAAmE;AAQnE;;;;;GAKG;AACH,MAAa,aAAc,SAAQ,wBAAU;IAO3C,YACW,QAAkB;IAC3B;;OAEG;IACM,IAAY;IAErB;;OAEG;IACM,WAAyB;IAElC;;OAEG;IACM,WAAoB;QAE7B,KAAK,EAAE,CAAC;QAhBC,aAAQ,GAAR,QAAQ,CAAU;QAIlB,SAAI,GAAJ,IAAI,CAAQ;QAKZ,gBAAW,GAAX,WAAW,CAAc;QAKzB,gBAAW,GAAX,WAAW,CAAS;IAG/B,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;IAC5B,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACvF,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAC3D,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SACjC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAChD,CAAC;CASF;AAzDC;IAJC,IAAA,6BAAS,EAAC,+CAAyB,CAAC;+CAIb;AAL1B,sCA8DC"}
1
+ {"version":3,"file":"type-ref.js","sourceRoot":"","sources":["../../schemas/type-ref.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAE9C,kDAA0B;AAC1B,gDAAsD;AACtD,8DAAkE;AAClE,mFAAmF;AAQnF;;;;;GAKG;AACH,MAAa,aAAc,SAAQ,wBAAU;IAU3C,YACW,QAAkB;IAC3B;;OAEG;IACM,IAAY;IAErB;;OAEG;IACH,WAAyB;IAEzB;;OAEG;IACM,WAAoB;QAE7B,KAAK,EAAE,CAAC;QAhBC,aAAQ,GAAR,QAAQ,CAAU;QAIlB,SAAI,GAAJ,IAAI,CAAQ;QAUZ,gBAAW,GAAX,WAAW,CAAS;QAG7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;IAC5B,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;YACvF,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAC3D,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;SACjC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAChD,CAAC;CACF;AArDC;IAJC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;+CAIb;AAGxB;IADC,IAAA,6BAAS,EAAC,4CAAsB,CAAC;kDACC;AARrC,sCA0DC"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.TypeUnionSchema = void 0;
10
10
  const class_transformer_1 = require("class-transformer");
11
11
  const schema_node_1 = require("../schema-node");
12
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
12
+ const class_transformers_1 = require("../class-transformers");
13
13
  class TypeUnionSchema extends schema_node_1.SchemaNode {
14
14
  constructor(location, types) {
15
15
  super();
@@ -21,7 +21,7 @@ class TypeUnionSchema extends schema_node_1.SchemaNode {
21
21
  }
22
22
  }
23
23
  __decorate([
24
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjArrayToInstances)
24
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
25
25
  ], TypeUnionSchema.prototype, "types", void 0);
26
26
  exports.TypeUnionSchema = TypeUnionSchema;
27
27
  //# sourceMappingURL=type-union.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-union.js","sourceRoot":"","sources":["../../schemas/type-union.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,gEAAmE;AAEnE,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAqB,QAAkB,EAAE,KAAmB;QAC1D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,CAAC;CACF;AARC;IADC,IAAA,6BAAS,EAAC,+CAAyB,CAAC;8CACR;AAF/B,0CAUC"}
1
+ {"version":3,"file":"type-union.js","sourceRoot":"","sources":["../../schemas/type-union.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAA8C;AAC9C,gDAAsD;AACtD,8DAAkE;AAElE,MAAa,eAAgB,SAAQ,wBAAU;IAG7C,YAAqB,QAAkB,EAAE,KAAmB;QAC1D,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAErC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,CAAC;CACF;AARC;IADC,IAAA,6BAAS,EAAC,8CAAyB,CAAC;8CACR;AAF/B,0CAUC"}
@@ -13,7 +13,7 @@ exports.TypeSchema = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const chalk_1 = __importDefault(require("chalk"));
15
15
  const schema_node_1 = require("../schema-node");
16
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
16
+ const class_transformers_1 = require("../class-transformers");
17
17
  class TypeSchema extends schema_node_1.SchemaNode {
18
18
  constructor(location, name, type, signature) {
19
19
  super();
@@ -27,7 +27,7 @@ class TypeSchema extends schema_node_1.SchemaNode {
27
27
  }
28
28
  }
29
29
  __decorate([
30
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
30
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
31
31
  ], TypeSchema.prototype, "type", void 0);
32
32
  exports.TypeSchema = TypeSchema;
33
33
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../schemas/type.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,kDAA0B;AAC1B,gDAAsD;AACtD,gEAA6D;AAE7D,MAAa,UAAW,SAAQ,wBAAU;IAGxC,YAAqB,QAAkB,EAAW,IAAY,EAAE,IAAgB,EAAW,SAAiB;QAC1G,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;QAA6B,cAAS,GAAT,SAAS,CAAQ;QAE1G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7D,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,yCAAmB,CAAC;wCACL;AAF5B,gCAWC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../schemas/type.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,kDAA0B;AAC1B,gDAAsD;AACtD,8DAA4D;AAE5D,MAAa,UAAW,SAAQ,wBAAU;IAGxC,YAAqB,QAAkB,EAAW,IAAY,EAAE,IAAgB,EAAW,SAAiB;QAC1G,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;QAA6B,cAAS,GAAT,SAAS,CAAQ;QAE1G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7D,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;wCACL;AAF5B,gCAWC"}
@@ -1,6 +1,6 @@
1
1
  import { Location, SchemaNode } from '../schema-node';
2
2
  /**
3
- * can be also a property.
3
+ * can be also a property or property-signature
4
4
  */
5
5
  export declare class VariableSchema extends SchemaNode {
6
6
  readonly location: Location;
@@ -13,9 +13,9 @@ exports.VariableSchema = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const chalk_1 = __importDefault(require("chalk"));
15
15
  const schema_node_1 = require("../schema-node");
16
- const schema_obj_to_class_1 = require("../schema-obj-to-class");
16
+ const class_transformers_1 = require("../class-transformers");
17
17
  /**
18
- * can be also a property.
18
+ * can be also a property or property-signature
19
19
  */
20
20
  class VariableSchema extends schema_node_1.SchemaNode {
21
21
  constructor(location, name, signature, type) {
@@ -30,7 +30,7 @@ class VariableSchema extends schema_node_1.SchemaNode {
30
30
  }
31
31
  }
32
32
  __decorate([
33
- (0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
33
+ (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
34
34
  ], VariableSchema.prototype, "type", void 0);
35
35
  exports.VariableSchema = VariableSchema;
36
36
  //# sourceMappingURL=variable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../schemas/variable.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,kDAA0B;AAC1B,gDAAsD;AACtD,gEAA6D;AAE7D;;GAEG;AACH,MAAa,cAAe,SAAQ,wBAAU;IAG5C,YAAqB,QAAkB,EAAW,IAAY,EAAW,SAAiB,EAAE,IAAgB;QAC1G,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;QAAW,cAAS,GAAT,SAAS,CAAQ;QAExF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7D,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,yCAAmB,CAAC;4CACd;AAFnB,wCAWC"}
1
+ {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../schemas/variable.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA8C;AAC9C,kDAA0B;AAC1B,gDAAsD;AACtD,8DAA4D;AAE5D;;GAEG;AACH,MAAa,cAAe,SAAQ,wBAAU;IAG5C,YAAqB,QAAkB,EAAW,IAAY,EAAW,SAAiB,EAAE,IAAgB;QAC1G,KAAK,EAAE,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAU;QAAW,SAAI,GAAJ,IAAI,CAAQ;QAAW,cAAS,GAAT,SAAS,CAAQ;QAExF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7D,CAAC;CACF;AATC;IADC,IAAA,6BAAS,EAAC,wCAAmB,CAAC;4CACd;AAFnB,wCAWC"}
package/index.ts CHANGED
@@ -1,33 +1,5 @@
1
1
  export { APISchema } from './api-schema';
2
2
  export { Export, StaticProperties } from './export';
3
3
  export type { SchemaNode, Location } from './schema-node';
4
- export {
5
- Module,
6
- FunctionLikeSchema,
7
- Modifier,
8
- TypeRefSchema,
9
- VariableSchema,
10
- ClassSchema,
11
- ConstructorSchema,
12
- TypeSchema,
13
- TypeIntersectionSchema,
14
- TypeUnionSchema,
15
- TypeLiteralSchema,
16
- IndexSignatureSchema,
17
- InterfaceSchema,
18
- GetAccessorSchema,
19
- SetAccessorSchema,
20
- TypeQuerySchema,
21
- InferenceTypeSchema,
22
- LiteralTypeSchema,
23
- KeywordTypeSchema,
24
- TypeArraySchema,
25
- TypeOperatorSchema,
26
- TupleTypeSchema,
27
- ParameterSchema,
28
- EnumSchema,
29
- ParenthesizedTypeSchema,
30
- TypePredicateSchema,
31
- IndexedAccessSchema,
32
- } from './schemas';
33
- export type { JSONSchema, JSONSchemaObject } from './json-schema';
4
+ export * from './schemas';
5
+ export { TagName } from './schemas/docs/tag';
package/package.json CHANGED
@@ -1,21 +1,20 @@
1
1
  {
2
2
  "name": "@teambit/semantics.entities.semantic-schema",
3
- "version": "0.0.13",
3
+ "version": "0.0.16",
4
4
  "homepage": "https://bit.dev/teambit/semantics/entities/semantic-schema",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.semantics",
8
8
  "name": "entities/semantic-schema",
9
- "version": "0.0.13"
9
+ "version": "0.0.16"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
13
  "class-transformer": "0.5.1",
14
- "json-schema": "0.4.0",
15
- "lodash": "4.17.21"
14
+ "lodash": "4.17.21",
15
+ "@teambit/component-id": "0.0.402"
16
16
  },
17
17
  "devDependencies": {
18
- "@types/json-schema": "7.0.9",
19
18
  "@types/lodash": "4.14.165",
20
19
  "@types/mocha": "9.1.0",
21
20
  "@babel/runtime": "7.12.18",
@@ -1 +1 @@
1
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_entities_semantic-schema@0.0.13/dist/semantic-schema.docs.md')]
1
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_entities_semantic-schema@0.0.16/dist/semantic-schema.docs.md')]
package/schema-node.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { instanceToPlain } from 'class-transformer';
2
+ import { DocSchema } from './schemas';
2
3
 
3
4
  /**
4
5
  * a convenient abstract class for all schema to extend.
@@ -8,6 +9,7 @@ import { instanceToPlain } from 'class-transformer';
8
9
  export abstract class SchemaNode {
9
10
  readonly __schema = this.constructor.name;
10
11
  abstract readonly location: Location;
12
+ readonly doc?: DocSchema;
11
13
  readonly signature?: string;
12
14
 
13
15
  abstract toString(): string;
package/schemas/class.ts CHANGED
@@ -1,14 +1,20 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import chalk from 'chalk';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
- import { schemaObjArrayToInstances } from '../schema-obj-to-class';
4
+ import { schemaObjArrayToInstances, schemaObjToInstance } from '../class-transformers';
5
+ import { DocSchema } from './docs';
5
6
 
6
7
  export class ClassSchema extends SchemaNode {
7
8
  @Transform(schemaObjArrayToInstances)
8
9
  readonly members: SchemaNode[];
9
- constructor(readonly className: string, members: SchemaNode[], readonly location: Location) {
10
+
11
+ @Transform(schemaObjToInstance)
12
+ readonly doc?: DocSchema;
13
+
14
+ constructor(readonly className: string, members: SchemaNode[], readonly location: Location, doc?: DocSchema) {
10
15
  super();
11
16
  this.members = members;
17
+ this.doc = doc;
12
18
  }
13
19
 
14
20
  toString() {
@@ -2,7 +2,7 @@ import { Transform } from 'class-transformer';
2
2
  import chalk from 'chalk';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
4
  import { ParameterSchema } from './parameter';
5
- import { schemaObjArrayToInstances } from '../schema-obj-to-class';
5
+ import { schemaObjArrayToInstances } from '../class-transformers';
6
6
 
7
7
  export class ConstructorSchema extends SchemaNode {
8
8
  @Transform(schemaObjArrayToInstances)
@@ -0,0 +1,27 @@
1
+ import { Transform } from 'class-transformer';
2
+ import { schemaObjArrayToInstances } from '../../class-transformers';
3
+ import { Location, SchemaNode } from '../../schema-node';
4
+ import { TagName, TagSchema } from './tag';
5
+
6
+ export class DocSchema extends SchemaNode {
7
+ @Transform(schemaObjArrayToInstances)
8
+ readonly tags?: TagSchema[];
9
+ constructor(readonly location: Location, readonly comment?: string, tags?: TagSchema[]) {
10
+ super();
11
+ this.tags = tags;
12
+ }
13
+
14
+ toString() {
15
+ const comment = this.comment ? `${this.comment}\n` : '';
16
+ const tags = this.tags ? this.tags.map((tag) => tag.toString()).join('\n') : '';
17
+ return `${comment}${tags}`;
18
+ }
19
+
20
+ hasTag(tagName: TagName) {
21
+ return Boolean(this.findTag(tagName));
22
+ }
23
+
24
+ findTag(tagName: TagName) {
25
+ return this.tags?.find((tag) => tag.tagName === tagName);
26
+ }
27
+ }
@@ -0,0 +1,3 @@
1
+ export { DocSchema } from './doc';
2
+ export { TagSchema } from './tag';
3
+ export { ReturnTagSchema } from './return-tag';
@@ -0,0 +1,21 @@
1
+ import { Location, SchemaNode } from '../../schema-node';
2
+ import { TagName, TagSchema } from './tag';
3
+
4
+ /**
5
+ * e.g. `@return {string} some comment`
6
+ */
7
+ export class ReturnTagSchema extends TagSchema {
8
+ constructor(
9
+ readonly location: Location,
10
+ readonly tagName = TagName.return,
11
+ readonly comment?: string,
12
+ readonly type?: SchemaNode
13
+ ) {
14
+ super(location, tagName, comment);
15
+ }
16
+
17
+ toString() {
18
+ const comment = this.comment ? ` ${this.comment}` : '';
19
+ return `@${this.tagName}${comment}`;
20
+ }
21
+ }
@@ -0,0 +1,38 @@
1
+ import { Location, SchemaNode } from '../../schema-node';
2
+
3
+ /**
4
+ * e.g. `@deprecated please use something else`
5
+ */
6
+ export class TagSchema extends SchemaNode {
7
+ constructor(readonly location: Location, readonly tagName: TagName | string, readonly comment?: string) {
8
+ super();
9
+ }
10
+
11
+ toString() {
12
+ const comment = this.comment ? ` ${this.comment}` : '';
13
+ return `@${this.tagName}${comment}`;
14
+ }
15
+ }
16
+
17
+ export enum TagName {
18
+ augments = 'augments',
19
+ author = 'author',
20
+ class = 'class',
21
+ callback = 'callback',
22
+ public = 'public',
23
+ private = 'private',
24
+ protected = 'protected',
25
+ readonly = 'readonly',
26
+ override = 'override',
27
+ see = 'see',
28
+ enum = 'enum',
29
+ parameter = 'parameter',
30
+ this = 'this',
31
+ type = 'type',
32
+ template = 'template',
33
+ typedef = 'typedef',
34
+ property = 'property',
35
+ implements = 'implements',
36
+ return = 'return',
37
+ deprecated = 'deprecated',
38
+ }
@@ -1,8 +1,10 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import chalk from 'chalk';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
- import { schemaObjArrayToInstances, schemaObjToInstance } from '../schema-obj-to-class';
4
+ import { schemaObjArrayToInstances, schemaObjToInstance } from '../class-transformers';
5
5
  import { ParameterSchema } from './parameter';
6
+ import { DocSchema } from './docs';
7
+ import { TagName } from './docs/tag';
6
8
 
7
9
  export type Modifier =
8
10
  | 'static'
@@ -25,6 +27,9 @@ export class FunctionLikeSchema extends SchemaNode {
25
27
  @Transform(schemaObjArrayToInstances)
26
28
  readonly params: ParameterSchema[];
27
29
 
30
+ @Transform(schemaObjToInstance)
31
+ readonly doc?: DocSchema;
32
+
28
33
  constructor(
29
34
  readonly location: Location,
30
35
  readonly name: string,
@@ -33,15 +38,13 @@ export class FunctionLikeSchema extends SchemaNode {
33
38
 
34
39
  returnType: SchemaNode,
35
40
  readonly signature: string,
36
- readonly modifiers: Modifier[] = []
41
+ readonly modifiers: Modifier[] = [],
42
+ doc?: DocSchema
37
43
  ) {
38
44
  super();
39
45
  this.params = params;
40
46
  this.returnType = returnType;
41
- }
42
-
43
- getSignature() {
44
- return this.signature;
47
+ this.doc = doc;
45
48
  }
46
49
 
47
50
  toString() {
@@ -49,6 +52,14 @@ export class FunctionLikeSchema extends SchemaNode {
49
52
  return `${this.modifiersToString()}${chalk.bold(this.name)}(${paramsStr}): ${this.returnType.toString()}`;
50
53
  }
51
54
 
55
+ isDeprecated(): boolean {
56
+ return Boolean(this.doc?.hasTag(TagName.deprecated));
57
+ }
58
+
59
+ isPrivate(): boolean {
60
+ return Boolean(this.modifiers.find((m) => m === 'private') || this.doc?.hasTag(TagName.private));
61
+ }
62
+
52
63
  private modifiersToString() {
53
64
  const modifiersToPrint = this.modifiers.filter((modifier) => modifier !== 'export');
54
65
  return modifiersToPrint.length ? `${modifiersToPrint.join(' ')} ` : '';
@@ -1,7 +1,7 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import chalk from 'chalk';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
- import { schemaObjToInstance } from '../schema-obj-to-class';
4
+ import { schemaObjToInstance } from '../class-transformers';
5
5
 
6
6
  export class GetAccessorSchema extends SchemaNode {
7
7
  @Transform(schemaObjToInstance)
@@ -1,7 +1,7 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import { Location, SchemaNode } from '../schema-node';
3
3
  import { ParameterSchema } from './parameter';
4
- import { schemaObjArrayToInstances, schemaObjToInstance } from '../schema-obj-to-class';
4
+ import { schemaObjArrayToInstances, schemaObjToInstance } from '../class-transformers';
5
5
 
6
6
  /**
7
7
  * e.g. `{ [key: string]: boolean };`
package/schemas/index.ts CHANGED
@@ -24,3 +24,7 @@ export { EnumSchema } from './enum';
24
24
  export { ParenthesizedTypeSchema } from './parenthesized-type';
25
25
  export { TypePredicateSchema } from './type-predicate';
26
26
  export { IndexedAccessSchema } from './indexed-access-type';
27
+ export { TemplateLiteralTypeSchema } from './template-literal-type';
28
+ export { TemplateLiteralTypeSpanSchema } from './template-literal-type-span';
29
+ export { ThisTypeSchema } from './this-type';
30
+ export * from './docs';
@@ -1,6 +1,6 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import { Location, SchemaNode } from '../schema-node';
3
- import { schemaObjToInstance } from '../schema-obj-to-class';
3
+ import { schemaObjToInstance } from '../class-transformers';
4
4
 
5
5
  export class IndexedAccessSchema extends SchemaNode {
6
6
  @Transform(schemaObjToInstance)
@@ -1,7 +1,7 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import chalk from 'chalk';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
- import { schemaObjArrayToInstances } from '../schema-obj-to-class';
4
+ import { schemaObjArrayToInstances } from '../class-transformers';
5
5
 
6
6
  export class InterfaceSchema extends SchemaNode {
7
7
  @Transform(schemaObjArrayToInstances)
@@ -4,7 +4,7 @@ import { Location, SchemaNode } from '../schema-node';
4
4
  * e.g. 'string', 'boolean', etc.
5
5
  */
6
6
  export class KeywordTypeSchema extends SchemaNode {
7
- constructor(readonly location: Location, private name: string) {
7
+ constructor(readonly location: Location, readonly name: string) {
8
8
  super();
9
9
  }
10
10
 
package/schemas/module.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import { Transform } from 'class-transformer';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
- import { schemaObjArrayToInstances } from '../schema-obj-to-class';
4
+ import { schemaObjArrayToInstances } from '../class-transformers';
5
5
 
6
6
  export class Module extends SchemaNode {
7
7
  @Transform(schemaObjArrayToInstances)
@@ -1,6 +1,6 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import { Location, SchemaNode } from '../schema-node';
3
- import { schemaObjToInstance } from '../schema-obj-to-class';
3
+ import { schemaObjToInstance } from '../class-transformers';
4
4
 
5
5
  export class ParameterSchema extends SchemaNode {
6
6
  @Transform(schemaObjToInstance)
@@ -1,6 +1,6 @@
1
1
  import { Transform } from 'class-transformer';
2
2
  import { Location, SchemaNode } from '../schema-node';
3
- import { schemaObjToInstance } from '../schema-obj-to-class';
3
+ import { schemaObjToInstance } from '../class-transformers';
4
4
 
5
5
  /**
6
6
  * type inside parentheses
@@ -2,7 +2,7 @@ import { Transform } from 'class-transformer';
2
2
  import chalk from 'chalk';
3
3
  import { Location, SchemaNode } from '../schema-node';
4
4
  import { ParameterSchema } from './parameter';
5
- import { schemaObjToInstance } from '../schema-obj-to-class';
5
+ import { schemaObjToInstance } from '../class-transformers';
6
6
 
7
7
  export class SetAccessorSchema extends SchemaNode {
8
8
  @Transform(schemaObjToInstance)