@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
package/api-schema.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { Transform, plainToInstance } from 'class-transformer';
2
1
  import chalk from 'chalk';
3
2
  import { ComponentID } from '@teambit/component-id';
4
3
  import {
@@ -12,25 +11,34 @@ import {
12
11
  UnresolvedSchema,
13
12
  VariableLikeSchema,
14
13
  } from './schemas';
15
- import { Location, SchemaNode } from './schema-node';
16
- import { schemaObjArrayToInstances, schemaObjToInstance } from './class-transformers';
17
- import { componentIdTransformer } from './class-transformers/comp-id-transformer';
14
+ import { SchemaLocation, SchemaNode } from './schema-node';
15
+ import { TagName } from './schemas/docs/tag';
18
16
 
19
17
  export class APISchema extends SchemaNode {
20
- @Transform(schemaObjToInstance)
21
18
  readonly module: ModuleSchema; // index
22
19
 
23
- @Transform(schemaObjArrayToInstances)
24
20
  readonly internals: ModuleSchema[];
25
21
 
26
- @Transform(componentIdTransformer)
27
22
  readonly componentId: ComponentID;
28
23
 
29
- constructor(readonly location: Location, module: ModuleSchema, internals: ModuleSchema[], componentId: ComponentID) {
24
+ readonly taggedModuleExports: SchemaNode[];
25
+
26
+ constructor(
27
+ readonly location: SchemaLocation,
28
+ module: ModuleSchema,
29
+ internals: ModuleSchema[],
30
+ componentId: ComponentID
31
+ ) {
30
32
  super();
31
33
  this.module = module;
32
34
  this.internals = internals;
33
35
  this.componentId = componentId;
36
+ this.taggedModuleExports = this.listTaggedExports(module);
37
+ }
38
+
39
+ listTaggedExports(module?: ModuleSchema) {
40
+ if (!module) return [];
41
+ return module.exports.filter((e) => e.doc?.hasTag(TagName.exports));
34
42
  }
35
43
 
36
44
  toString() {
@@ -70,8 +78,23 @@ export class APISchema extends SchemaNode {
70
78
  return this.module.exports.map((exp) => exp.signature);
71
79
  }
72
80
 
81
+ toObject() {
82
+ return {
83
+ ...super.toObject(),
84
+ module: this.module.toObject(),
85
+ internals: this.internals.map((i) => i.toObject()),
86
+ componentId: this.componentId.toObject(),
87
+ taggedModuleExports: this.taggedModuleExports.map((e) => e.toObject()),
88
+ };
89
+ }
90
+
73
91
  static fromObject(obj: Record<string, any>): APISchema {
74
- return plainToInstance(APISchema, obj);
92
+ const location: SchemaLocation = obj.location;
93
+ const module: ModuleSchema = ModuleSchema.fromObject(obj.module);
94
+ const internals: ModuleSchema[] = (obj.internals || []).map((i: any) => ModuleSchema.fromObject(i));
95
+ const componentId: ComponentID = ComponentID.fromObject(obj.componentId);
96
+
97
+ return new APISchema(location, module, internals, componentId);
75
98
  }
76
99
 
77
100
  static empty(componentId: ComponentID) {
@@ -1,22 +1,22 @@
1
- import { ComponentID, ComponentIdObj } from '@teambit/component-id';
2
- import { TransformationType } from 'class-transformer';
1
+ // import { ComponentID, ComponentIdObj } from '@teambit/component-id';
2
+ // import { TransformationType } from 'class-transformer';
3
3
 
4
- export function componentIdTransformer({
5
- value,
6
- type,
7
- }: {
8
- value: ComponentID | ComponentIdObj | undefined;
9
- type: TransformationType;
10
- }): ComponentID | ComponentIdObj | undefined {
11
- if (!value) {
12
- return undefined;
13
- }
14
- if (type === TransformationType.PLAIN_TO_CLASS) {
15
- return ComponentID.fromObject(value as ComponentIdObj);
16
- }
17
- if (type === TransformationType.CLASS_TO_CLASS) {
18
- return value as ComponentID;
19
- }
20
- // it's CLASS_TO_PLAIN
21
- return (value as ComponentID).toObject();
22
- }
4
+ // export function componentIdTransformer({
5
+ // value,
6
+ // type,
7
+ // }: {
8
+ // value: ComponentID | ComponentIdObj | undefined;
9
+ // type: TransformationType;
10
+ // }): ComponentID | ComponentIdObj | undefined {
11
+ // if (!value) {
12
+ // return undefined;
13
+ // }
14
+ // if (type === TransformationType.PLAIN_TO_CLASS) {
15
+ // return ComponentID.fromObject(value as ComponentIdObj);
16
+ // }
17
+ // if (type === TransformationType.CLASS_TO_CLASS) {
18
+ // return value as ComponentID;
19
+ // }
20
+ // // it's CLASS_TO_PLAIN
21
+ // return (value as ComponentID).toObject();
22
+ // }
@@ -1,2 +1,2 @@
1
- export { schemaObjArrayToInstances, schemaObjToInstance } from './schema-obj-to-class';
2
- export { componentIdTransformer } from './comp-id-transformer';
1
+ // export { schemaObjArrayToInstances, schemaObjToInstance, registerSchemaClass } from './schema-obj-to-class';
2
+ // export { componentIdTransformer } from './comp-id-transformer';
@@ -1,50 +1,56 @@
1
- import { plainToInstance, TransformationType, ClassConstructor } from 'class-transformer';
2
- import { compact } from 'lodash';
3
- import { SchemaNode } from '../schema-node';
4
- import * as Schemas from '../schemas';
5
- import { UnknownSchema } from '../schemas/unknown-schema';
1
+ // import { plainToInstance, TransformationType, ClassConstructor } from 'class-transformer';
2
+ // import { compact } from 'lodash';
3
+ // import { SchemaNode } from '../schema-node';
4
+ // import * as Schemas from '../schemas';
5
+ // import { UnknownSchema } from '../schemas/unknown-schema';
6
6
 
7
- export function schemaObjArrayToInstances({ value, type }: { value: SchemaNode[]; type: TransformationType }) {
8
- if (type !== TransformationType.PLAIN_TO_CLASS) {
9
- return value;
10
- }
11
- return value.map((obj) => transformFromObjectToInstance(obj));
12
- }
7
+ // const SchemaClasses = { ...Schemas };
13
8
 
14
- export function schemaObjToInstance({
15
- value,
16
- type,
17
- }: {
18
- value: Record<string, any> | undefined;
19
- type: TransformationType;
20
- }) {
21
- if (type !== TransformationType.PLAIN_TO_CLASS) {
22
- return value;
23
- }
24
- if (!value) {
25
- return undefined;
26
- }
27
- return transformFromObjectToInstance(value);
28
- }
9
+ // export function registerSchemaClass(schema: ClassConstructor<SchemaNode>) {
10
+ // SchemaClasses[schema.name] = schema;
11
+ // }
29
12
 
30
- function transformFromObjectToInstance(obj: Record<string, any>): SchemaNode {
31
- if (!obj.__schema) {
32
- throw new Error(`fatal: "__schema" is missing, make sure the transformer is set on SchemaNode type`);
33
- }
34
- const SchemaClass = getClassBySchemaName(obj.__schema);
35
- if (!SchemaClass) {
36
- // for backward and forward compatibility, to not break the users, it's better to return an unknown schema than throwing.
37
- return new UnknownSchema(obj.location || { path: '', line: 0, character: 0 }, obj.__schema, obj);
38
- }
13
+ // export function schemaObjArrayToInstances({ value, type }: { value: SchemaNode[]; type: TransformationType }) {
14
+ // if (type !== TransformationType.PLAIN_TO_CLASS) {
15
+ // return value;
16
+ // }
17
+ // return value.map((obj) => transformFromObjectToInstance(obj));
18
+ // }
39
19
 
40
- return plainToInstance(SchemaClass, obj);
41
- }
20
+ // export function schemaObjToInstance({
21
+ // value,
22
+ // type,
23
+ // }: {
24
+ // value: Record<string, any> | undefined;
25
+ // type: TransformationType;
26
+ // }) {
27
+ // if (type !== TransformationType.PLAIN_TO_CLASS) {
28
+ // return value;
29
+ // }
30
+ // if (!value) {
31
+ // return undefined;
32
+ // }
33
+ // return transformFromObjectToInstance(value);
34
+ // }
42
35
 
43
- function getClassBySchemaName(schemaName: string): ClassConstructor<SchemaNode> | null {
44
- const schemasClasses = compact(Object.values(Schemas));
45
- const schemaClass = schemasClasses.find((schema) => schema.name === schemaName);
46
- if (!schemaClass) {
47
- return null;
48
- }
49
- return schemaClass;
50
- }
36
+ // function transformFromObjectToInstance(obj: Record<string, any>): SchemaNode {
37
+ // if (!obj.__schema) {
38
+ // throw new Error(`fatal: "__schema" is missing, make sure the transformer is set on SchemaNode type`);
39
+ // }
40
+ // const SchemaClass = getClassBySchemaName(obj.__schema);
41
+ // if (!SchemaClass) {
42
+ // // for backward and forward compatibility, to not break the users, it's better to return an unknown schema than throwing.
43
+ // return new UnknownSchema(obj.location || { path: '', line: 0, character: 0 }, obj.__schema, obj);
44
+ // }
45
+
46
+ // return plainToInstance(SchemaClass, obj);
47
+ // }
48
+
49
+ // function getClassBySchemaName(schemaName: string): ClassConstructor<SchemaNode> | null {
50
+ // const schemasClasses = compact(Object.values(SchemaClasses));
51
+ // const schemaClass = schemasClasses.find((schema) => schema.name === schemaName);
52
+ // if (!schemaClass) {
53
+ // return null;
54
+ // }
55
+ // return schemaClass;
56
+ // }
@@ -1,15 +1,31 @@
1
1
  import { ComponentID } from '@teambit/component-id';
2
2
  import { ModuleSchema } from './schemas';
3
- import { Location, SchemaNode } from './schema-node';
3
+ import { SchemaLocation, SchemaNode } from './schema-node';
4
4
  export declare class APISchema extends SchemaNode {
5
- readonly location: Location;
5
+ readonly location: SchemaLocation;
6
6
  readonly module: ModuleSchema;
7
7
  readonly internals: ModuleSchema[];
8
8
  readonly componentId: ComponentID;
9
- constructor(location: Location, module: ModuleSchema, internals: ModuleSchema[], componentId: ComponentID);
9
+ readonly taggedModuleExports: SchemaNode[];
10
+ constructor(location: SchemaLocation, module: ModuleSchema, internals: ModuleSchema[], componentId: ComponentID);
11
+ listTaggedExports(module?: ModuleSchema): SchemaNode[];
10
12
  toString(): string;
11
13
  toStringPerType(): string;
12
14
  listSignatures(): string[];
15
+ toObject(): {
16
+ module: {
17
+ exports: Record<string, any>[];
18
+ internals: Record<string, any>[];
19
+ namespace: string;
20
+ };
21
+ internals: {
22
+ exports: Record<string, any>[];
23
+ internals: Record<string, any>[];
24
+ namespace: string;
25
+ }[];
26
+ componentId: import("@teambit/component-id").ComponentIdObj;
27
+ taggedModuleExports: Record<string, any>[];
28
+ };
13
29
  static fromObject(obj: Record<string, any>): APISchema;
14
30
  static empty(componentId: ComponentID): APISchema;
15
31
  }
@@ -1,21 +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.APISchema = void 0;
13
- const class_transformer_1 = require("class-transformer");
14
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const component_id_1 = require("@teambit/component-id");
15
9
  const schemas_1 = require("./schemas");
16
10
  const schema_node_1 = require("./schema-node");
17
- const class_transformers_1 = require("./class-transformers");
18
- const comp_id_transformer_1 = require("./class-transformers/comp-id-transformer");
11
+ const tag_1 = require("./schemas/docs/tag");
19
12
  class APISchema extends schema_node_1.SchemaNode {
20
13
  constructor(location, module, internals, componentId) {
21
14
  super();
@@ -23,6 +16,12 @@ class APISchema extends schema_node_1.SchemaNode {
23
16
  this.module = module;
24
17
  this.internals = internals;
25
18
  this.componentId = componentId;
19
+ this.taggedModuleExports = this.listTaggedExports(module);
20
+ }
21
+ listTaggedExports(module) {
22
+ if (!module)
23
+ return [];
24
+ return module.exports.filter((e) => { var _a; return (_a = e.doc) === null || _a === void 0 ? void 0 : _a.hasTag(tag_1.TagName.exports); });
26
25
  }
27
26
  toString() {
28
27
  return JSON.stringify(this.module.exports.map((exp) => exp.toObject()), undefined, 2);
@@ -50,21 +49,19 @@ class APISchema extends schema_node_1.SchemaNode {
50
49
  listSignatures() {
51
50
  return this.module.exports.map((exp) => exp.signature);
52
51
  }
52
+ toObject() {
53
+ return Object.assign(Object.assign({}, super.toObject()), { module: this.module.toObject(), internals: this.internals.map((i) => i.toObject()), componentId: this.componentId.toObject(), taggedModuleExports: this.taggedModuleExports.map((e) => e.toObject()) });
54
+ }
53
55
  static fromObject(obj) {
54
- return (0, class_transformer_1.plainToInstance)(APISchema, obj);
56
+ const location = obj.location;
57
+ const module = schemas_1.ModuleSchema.fromObject(obj.module);
58
+ const internals = (obj.internals || []).map((i) => schemas_1.ModuleSchema.fromObject(i));
59
+ const componentId = component_id_1.ComponentID.fromObject(obj.componentId);
60
+ return new APISchema(location, module, internals, componentId);
55
61
  }
56
62
  static empty(componentId) {
57
63
  return new APISchema({ filePath: '', line: 0, character: 0 }, new schemas_1.ModuleSchema({ filePath: '', line: 0, character: 0 }, [], []), [], componentId);
58
64
  }
59
65
  }
60
- __decorate([
61
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjToInstance)
62
- ], APISchema.prototype, "module", void 0);
63
- __decorate([
64
- (0, class_transformer_1.Transform)(class_transformers_1.schemaObjArrayToInstances)
65
- ], APISchema.prototype, "internals", void 0);
66
- __decorate([
67
- (0, class_transformer_1.Transform)(comp_id_transformer_1.componentIdTransformer)
68
- ], APISchema.prototype, "componentId", void 0);
69
66
  exports.APISchema = APISchema;
70
67
  //# sourceMappingURL=api-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-schema.js","sourceRoot":"","sources":["../api-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-schema.js","sourceRoot":"","sources":["../api-schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { ComponentID, ComponentIdObj } from '@teambit/component-id';
2
- import { TransformationType } from 'class-transformer';
3
- export declare function componentIdTransformer({ value, type, }: {
4
- value: ComponentID | ComponentIdObj | undefined;
5
- type: TransformationType;
6
- }): ComponentID | ComponentIdObj | undefined;
@@ -1,20 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.componentIdTransformer = void 0;
4
- const component_id_1 = require("@teambit/component-id");
5
- const class_transformer_1 = require("class-transformer");
6
- function componentIdTransformer({ value, type, }) {
7
- if (!value) {
8
- return undefined;
9
- }
10
- if (type === class_transformer_1.TransformationType.PLAIN_TO_CLASS) {
11
- return component_id_1.ComponentID.fromObject(value);
12
- }
13
- if (type === class_transformer_1.TransformationType.CLASS_TO_CLASS) {
14
- return value;
15
- }
16
- // it's CLASS_TO_PLAIN
17
- return value.toObject();
18
- }
19
- exports.componentIdTransformer = componentIdTransformer;
1
+ // import { ComponentID, ComponentIdObj } from '@teambit/component-id';
2
+ // import { TransformationType } from 'class-transformer';
3
+ // export function componentIdTransformer({
4
+ // value,
5
+ // type,
6
+ // }: {
7
+ // value: ComponentID | ComponentIdObj | undefined;
8
+ // type: TransformationType;
9
+ // }): ComponentID | ComponentIdObj | undefined {
10
+ // if (!value) {
11
+ // return undefined;
12
+ // }
13
+ // if (type === TransformationType.PLAIN_TO_CLASS) {
14
+ // return ComponentID.fromObject(value as ComponentIdObj);
15
+ // }
16
+ // if (type === TransformationType.CLASS_TO_CLASS) {
17
+ // return value as ComponentID;
18
+ // }
19
+ // // it's CLASS_TO_PLAIN
20
+ // return (value as ComponentID).toObject();
21
+ // }
20
22
  //# sourceMappingURL=comp-id-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comp-id-transformer.js","sourceRoot":"","sources":["../../class-transformers/comp-id-transformer.ts"],"names":[],"mappings":";;;AAAA,wDAAoE;AACpE,yDAAuD;AAEvD,SAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,IAAI,GAIL;IACC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,IAAI,KAAK,sCAAkB,CAAC,cAAc,EAAE;QAC9C,OAAO,0BAAW,CAAC,UAAU,CAAC,KAAuB,CAAC,CAAC;KACxD;IACD,IAAI,IAAI,KAAK,sCAAkB,CAAC,cAAc,EAAE;QAC9C,OAAO,KAAoB,CAAC;KAC7B;IACD,sBAAsB;IACtB,OAAQ,KAAqB,CAAC,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAlBD,wDAkBC"}
1
+ {"version":3,"file":"comp-id-transformer.js","sourceRoot":"","sources":["../../class-transformers/comp-id-transformer.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0DAA0D;AAE1D,2CAA2C;AAC3C,WAAW;AACX,UAAU;AACV,OAAO;AACP,qDAAqD;AACrD,8BAA8B;AAC9B,iDAAiD;AACjD,kBAAkB;AAClB,wBAAwB;AACxB,MAAM;AACN,sDAAsD;AACtD,8DAA8D;AAC9D,MAAM;AACN,sDAAsD;AACtD,mCAAmC;AACnC,MAAM;AACN,2BAA2B;AAC3B,8CAA8C;AAC9C,IAAI"}
@@ -1,2 +0,0 @@
1
- export { schemaObjArrayToInstances, schemaObjToInstance } from './schema-obj-to-class';
2
- export { componentIdTransformer } from './comp-id-transformer';
@@ -1,9 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.componentIdTransformer = exports.schemaObjToInstance = exports.schemaObjArrayToInstances = void 0;
4
- var schema_obj_to_class_1 = require("./schema-obj-to-class");
5
- Object.defineProperty(exports, "schemaObjArrayToInstances", { enumerable: true, get: function () { return schema_obj_to_class_1.schemaObjArrayToInstances; } });
6
- Object.defineProperty(exports, "schemaObjToInstance", { enumerable: true, get: function () { return schema_obj_to_class_1.schemaObjToInstance; } });
7
- var comp_id_transformer_1 = require("./comp-id-transformer");
8
- Object.defineProperty(exports, "componentIdTransformer", { enumerable: true, get: function () { return comp_id_transformer_1.componentIdTransformer; } });
1
+ // export { schemaObjArrayToInstances, schemaObjToInstance, registerSchemaClass } from './schema-obj-to-class';
2
+ // export { componentIdTransformer } from './comp-id-transformer';
9
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../class-transformers/index.ts"],"names":[],"mappings":";;;AAAA,6DAAuF;AAA9E,gIAAA,yBAAyB,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AACvD,6DAA+D;AAAtD,6HAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../class-transformers/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,kEAAkE"}
@@ -1,10 +0,0 @@
1
- import { TransformationType } from 'class-transformer';
2
- import { SchemaNode } from '../schema-node';
3
- export declare function schemaObjArrayToInstances({ value, type }: {
4
- value: SchemaNode[];
5
- type: TransformationType;
6
- }): SchemaNode[];
7
- export declare function schemaObjToInstance({ value, type, }: {
8
- value: Record<string, any> | undefined;
9
- type: TransformationType;
10
- }): Record<string, any>;
@@ -1,67 +1,50 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.schemaObjToInstance = exports.schemaObjArrayToInstances = void 0;
27
- const class_transformer_1 = require("class-transformer");
28
- const lodash_1 = require("lodash");
29
- const Schemas = __importStar(require("../schemas"));
30
- const unknown_schema_1 = require("../schemas/unknown-schema");
31
- function schemaObjArrayToInstances({ value, type }) {
32
- if (type !== class_transformer_1.TransformationType.PLAIN_TO_CLASS) {
33
- return value;
34
- }
35
- return value.map((obj) => transformFromObjectToInstance(obj));
36
- }
37
- exports.schemaObjArrayToInstances = schemaObjArrayToInstances;
38
- function schemaObjToInstance({ value, type, }) {
39
- if (type !== class_transformer_1.TransformationType.PLAIN_TO_CLASS) {
40
- return value;
41
- }
42
- if (!value) {
43
- return undefined;
44
- }
45
- return transformFromObjectToInstance(value);
46
- }
47
- exports.schemaObjToInstance = schemaObjToInstance;
48
- function transformFromObjectToInstance(obj) {
49
- if (!obj.__schema) {
50
- throw new Error(`fatal: "__schema" is missing, make sure the transformer is set on SchemaNode type`);
51
- }
52
- const SchemaClass = getClassBySchemaName(obj.__schema);
53
- if (!SchemaClass) {
54
- // for backward and forward compatibility, to not break the users, it's better to return an unknown schema than throwing.
55
- return new unknown_schema_1.UnknownSchema(obj.location || { path: '', line: 0, character: 0 }, obj.__schema, obj);
56
- }
57
- return (0, class_transformer_1.plainToInstance)(SchemaClass, obj);
58
- }
59
- function getClassBySchemaName(schemaName) {
60
- const schemasClasses = (0, lodash_1.compact)(Object.values(Schemas));
61
- const schemaClass = schemasClasses.find((schema) => schema.name === schemaName);
62
- if (!schemaClass) {
63
- return null;
64
- }
65
- return schemaClass;
66
- }
1
+ // import { plainToInstance, TransformationType, ClassConstructor } from 'class-transformer';
2
+ // import { compact } from 'lodash';
3
+ // import { SchemaNode } from '../schema-node';
4
+ // import * as Schemas from '../schemas';
5
+ // import { UnknownSchema } from '../schemas/unknown-schema';
6
+ // const SchemaClasses = { ...Schemas };
7
+ // export function registerSchemaClass(schema: ClassConstructor<SchemaNode>) {
8
+ // SchemaClasses[schema.name] = schema;
9
+ // }
10
+ // export function schemaObjArrayToInstances({ value, type }: { value: SchemaNode[]; type: TransformationType }) {
11
+ // if (type !== TransformationType.PLAIN_TO_CLASS) {
12
+ // return value;
13
+ // }
14
+ // return value.map((obj) => transformFromObjectToInstance(obj));
15
+ // }
16
+ // export function schemaObjToInstance({
17
+ // value,
18
+ // type,
19
+ // }: {
20
+ // value: Record<string, any> | undefined;
21
+ // type: TransformationType;
22
+ // }) {
23
+ // if (type !== TransformationType.PLAIN_TO_CLASS) {
24
+ // return value;
25
+ // }
26
+ // if (!value) {
27
+ // return undefined;
28
+ // }
29
+ // return transformFromObjectToInstance(value);
30
+ // }
31
+ // function transformFromObjectToInstance(obj: Record<string, any>): SchemaNode {
32
+ // if (!obj.__schema) {
33
+ // throw new Error(`fatal: "__schema" is missing, make sure the transformer is set on SchemaNode type`);
34
+ // }
35
+ // const SchemaClass = getClassBySchemaName(obj.__schema);
36
+ // if (!SchemaClass) {
37
+ // // for backward and forward compatibility, to not break the users, it's better to return an unknown schema than throwing.
38
+ // return new UnknownSchema(obj.location || { path: '', line: 0, character: 0 }, obj.__schema, obj);
39
+ // }
40
+ // return plainToInstance(SchemaClass, obj);
41
+ // }
42
+ // function getClassBySchemaName(schemaName: string): ClassConstructor<SchemaNode> | null {
43
+ // const schemasClasses = compact(Object.values(SchemaClasses));
44
+ // const schemaClass = schemasClasses.find((schema) => schema.name === schemaName);
45
+ // if (!schemaClass) {
46
+ // return null;
47
+ // }
48
+ // return schemaClass;
49
+ // }
67
50
  //# sourceMappingURL=schema-obj-to-class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-obj-to-class.js","sourceRoot":"","sources":["../../class-transformers/schema-obj-to-class.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0F;AAC1F,mCAAiC;AAEjC,oDAAsC;AACtC,8DAA0D;AAE1D,SAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAqD;IAC1G,IAAI,IAAI,KAAK,sCAAkB,CAAC,cAAc,EAAE;QAC9C,OAAO,KAAK,CAAC;KACd;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AALD,8DAKC;AAED,SAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,IAAI,GAIL;IACC,IAAI,IAAI,KAAK,sCAAkB,CAAC,cAAc,EAAE;QAC9C,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAdD,kDAcC;AAED,SAAS,6BAA6B,CAAC,GAAwB;IAC7D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;KACtG;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE;QAChB,yHAAyH;QACzH,OAAO,IAAI,8BAAa,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KAClG;IAED,OAAO,IAAA,mCAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAkB;IAC9C,MAAM,cAAc,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAChF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"schema-obj-to-class.js","sourceRoot":"","sources":["../../class-transformers/schema-obj-to-class.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,oCAAoC;AACpC,+CAA+C;AAC/C,yCAAyC;AACzC,6DAA6D;AAE7D,wCAAwC;AAExC,8EAA8E;AAC9E,yCAAyC;AACzC,IAAI;AAEJ,kHAAkH;AAClH,sDAAsD;AACtD,oBAAoB;AACpB,MAAM;AACN,mEAAmE;AACnE,IAAI;AAEJ,wCAAwC;AACxC,WAAW;AACX,UAAU;AACV,OAAO;AACP,4CAA4C;AAC5C,8BAA8B;AAC9B,OAAO;AACP,sDAAsD;AACtD,oBAAoB;AACpB,MAAM;AACN,kBAAkB;AAClB,wBAAwB;AACxB,MAAM;AACN,iDAAiD;AACjD,IAAI;AAEJ,iFAAiF;AACjF,yBAAyB;AACzB,4GAA4G;AAC5G,MAAM;AACN,4DAA4D;AAC5D,wBAAwB;AACxB,gIAAgI;AAChI,wGAAwG;AACxG,MAAM;AAEN,8CAA8C;AAC9C,IAAI;AAEJ,2FAA2F;AAC3F,kEAAkE;AAClE,qFAAqF;AACrF,wBAAwB;AACxB,mBAAmB;AACnB,MAAM;AACN,wBAAwB;AACxB,IAAI"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,11 @@
1
+ import * as Schemas from './schemas';
2
+ export { SchemaNode, ISchemaNode } from './schema-node';
1
3
  export { APISchema } from './api-schema';
2
4
  export { Export, StaticProperties } from './export';
3
- export type { SchemaNode, Location } from './schema-node';
4
- export * from './schemas';
5
+ export type { SchemaLocation as Location } from './schema-node';
5
6
  export { TagName } from './schemas/docs/tag';
7
+ export { SchemaRegistry } from './schema-registry';
8
+ export { SchemaNodeConstructor } from './schema-node-constructor';
9
+ export { Modifier } from './schemas/function-like';
10
+ export { Schemas };
11
+ export * from './schemas';
package/dist/index.js CHANGED
@@ -10,16 +10,34 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
13
25
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
27
  };
16
28
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.TagName = exports.Export = exports.APISchema = void 0;
29
+ exports.Schemas = exports.SchemaRegistry = exports.TagName = exports.Export = exports.APISchema = exports.SchemaNode = void 0;
30
+ const Schemas = __importStar(require("./schemas"));
31
+ exports.Schemas = Schemas;
32
+ var schema_node_1 = require("./schema-node");
33
+ Object.defineProperty(exports, "SchemaNode", { enumerable: true, get: function () { return schema_node_1.SchemaNode; } });
18
34
  var api_schema_1 = require("./api-schema");
19
35
  Object.defineProperty(exports, "APISchema", { enumerable: true, get: function () { return api_schema_1.APISchema; } });
20
36
  var export_1 = require("./export");
21
37
  Object.defineProperty(exports, "Export", { enumerable: true, get: function () { return export_1.Export; } });
22
- __exportStar(require("./schemas"), exports);
23
38
  var tag_1 = require("./schemas/docs/tag");
24
39
  Object.defineProperty(exports, "TagName", { enumerable: true, get: function () { return tag_1.TagName; } });
40
+ var schema_registry_1 = require("./schema-registry");
41
+ Object.defineProperty(exports, "SchemaRegistry", { enumerable: true, get: function () { return schema_registry_1.SchemaRegistry; } });
42
+ __exportStar(require("./schemas"), exports);
25
43
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,mCAAoD;AAA3C,gGAAA,MAAM,OAAA;AAEf,4CAA0B;AAC1B,0CAA6C;AAApC,8FAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAU5B,0BAAO;AARhB,6CAAwD;AAA/C,yGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,mCAAoD;AAA3C,gGAAA,MAAM,OAAA;AAEf,0CAA6C;AAApC,8FAAA,OAAO,OAAA;AAChB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAKvB,4CAA0B"}