@teambit/semantics.entities.semantic-schema 0.0.9 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api-schema.ts +29 -25
- package/dist/api-schema.d.ts +6 -19
- package/dist/api-schema.js +23 -13
- package/dist/api-schema.js.map +1 -1
- package/dist/{schemas/export.d.ts → export.d.ts} +5 -10
- package/dist/{schemas/export.js → export.js} +4 -5
- package/dist/export.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/schema-node.d.ts +14 -7
- package/dist/schema-node.js +16 -0
- package/dist/schema-node.js.map +1 -1
- package/dist/schema-obj-to-class.d.ts +10 -0
- package/dist/schema-obj-to-class.js +56 -0
- package/dist/schema-obj-to-class.js.map +1 -0
- package/dist/schemas/class.d.ts +4 -10
- package/dist/schemas/class.js +16 -9
- package/dist/schemas/class.js.map +1 -1
- package/dist/schemas/constructor.d.ts +4 -15
- package/dist/schemas/constructor.js +16 -8
- package/dist/schemas/constructor.js.map +1 -1
- package/dist/schemas/enum.d.ts +8 -0
- package/dist/schemas/enum.js +21 -0
- package/dist/schemas/enum.js.map +1 -1
- package/dist/schemas/function-like.d.ts +18 -0
- package/dist/schemas/function-like.js +51 -0
- package/dist/schemas/function-like.js.map +1 -0
- package/dist/schemas/get-accessor.d.ts +7 -14
- package/dist/schemas/get-accessor.js +17 -11
- package/dist/schemas/get-accessor.js.map +1 -1
- package/dist/schemas/index-signature.d.ts +6 -12
- package/dist/schemas/index-signature.js +19 -9
- package/dist/schemas/index-signature.js.map +1 -1
- package/dist/schemas/index.d.ts +5 -2
- package/dist/schemas/index.js +11 -5
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/indexed-access-type.d.ts +8 -0
- package/dist/schemas/indexed-access-type.js +31 -0
- package/dist/schemas/indexed-access-type.js.map +1 -0
- package/dist/schemas/inference-type.d.ts +6 -8
- package/dist/schemas/inference-type.js +9 -8
- package/dist/schemas/inference-type.js.map +1 -1
- package/dist/schemas/interface.d.ts +6 -12
- package/dist/schemas/interface.js +16 -9
- package/dist/schemas/interface.js.map +1 -1
- package/dist/schemas/keyword-type.d.ts +4 -7
- package/dist/schemas/keyword-type.js +5 -8
- package/dist/schemas/keyword-type.js.map +1 -1
- package/dist/schemas/literal-type.d.ts +5 -4
- package/dist/schemas/literal-type.js +5 -2
- package/dist/schemas/literal-type.js.map +1 -1
- package/dist/schemas/module.d.ts +5 -8
- package/dist/schemas/module.js +16 -6
- package/dist/schemas/module.js.map +1 -1
- package/dist/schemas/parameter.d.ts +5 -13
- package/dist/schemas/parameter.js +17 -12
- package/dist/schemas/parameter.js.map +1 -1
- package/dist/schemas/parenthesized-type.d.ts +11 -0
- package/dist/schemas/parenthesized-type.js +31 -0
- package/dist/schemas/parenthesized-type.js.map +1 -0
- package/dist/schemas/set-accessor.d.ts +7 -12
- package/dist/schemas/set-accessor.js +17 -11
- package/dist/schemas/set-accessor.js.map +1 -1
- package/dist/schemas/tuple-type.d.ts +5 -10
- package/dist/schemas/tuple-type.js +16 -8
- package/dist/schemas/tuple-type.js.map +1 -1
- package/dist/schemas/type-array.d.ts +5 -10
- package/dist/schemas/type-array.js +16 -8
- package/dist/schemas/type-array.js.map +1 -1
- package/dist/schemas/type-intersection.d.ts +5 -10
- package/dist/schemas/type-intersection.js +16 -8
- package/dist/schemas/type-intersection.js.map +1 -1
- package/dist/schemas/type-literal.d.ts +5 -10
- package/dist/schemas/type-literal.js +16 -8
- package/dist/schemas/type-literal.js.map +1 -1
- package/dist/schemas/type-operator.d.ts +6 -12
- package/dist/schemas/type-operator.js +16 -9
- package/dist/schemas/type-operator.js.map +1 -1
- package/dist/schemas/type-predicate.d.ts +22 -0
- package/dist/schemas/type-predicate.js +44 -0
- package/dist/schemas/type-predicate.js.map +1 -0
- package/dist/schemas/type-query.d.ts +6 -10
- package/dist/schemas/type-query.js +17 -10
- package/dist/schemas/type-query.js.map +1 -1
- package/dist/schemas/type-ref.d.ts +15 -10
- package/dist/schemas/type-ref.js +34 -16
- package/dist/schemas/type-ref.js.map +1 -1
- package/dist/schemas/type-union.d.ts +5 -10
- package/dist/schemas/type-union.js +16 -8
- package/dist/schemas/type-union.js.map +1 -1
- package/dist/schemas/type.d.ts +7 -14
- package/dist/schemas/type.js +17 -11
- package/dist/schemas/type.js.map +1 -1
- package/dist/schemas/variable.d.ts +9 -14
- package/dist/schemas/variable.js +19 -13
- package/dist/schemas/variable.js.map +1 -1
- package/{schemas/export.ts → export.ts} +5 -8
- package/index.ts +7 -4
- package/package-tar/teambit-semantics.entities.semantic-schema-0.0.12.tgz +0 -0
- package/package.json +7 -4
- package/{preview-1652498684867.js → preview-1653362849981.js} +1 -1
- package/schema-node.ts +15 -5
- package/schema-obj-to-class.ts +36 -0
- package/schemas/class.ts +9 -10
- package/schemas/constructor.ts +10 -10
- package/schemas/enum.ts +13 -0
- package/schemas/function-like.ts +56 -0
- package/schemas/get-accessor.ts +10 -12
- package/schemas/index-signature.ts +13 -9
- package/schemas/index.ts +5 -2
- package/schemas/indexed-access-type.ts +18 -0
- package/schemas/inference-type.ts +7 -9
- package/schemas/interface.ts +10 -9
- package/schemas/keyword-type.ts +4 -9
- package/schemas/literal-type.ts +5 -3
- package/schemas/module.ts +9 -7
- package/schemas/parameter.ts +12 -13
- package/schemas/parenthesized-type.ts +20 -0
- package/schemas/set-accessor.ts +10 -12
- package/schemas/tuple-type.ts +10 -8
- package/schemas/type-array.ts +10 -8
- package/schemas/type-intersection.ts +10 -8
- package/schemas/type-literal.ts +10 -8
- package/schemas/type-operator.ts +10 -9
- package/schemas/type-predicate.ts +36 -0
- package/schemas/type-query.ts +10 -11
- package/schemas/type-ref.ts +39 -20
- package/schemas/type-union.ts +9 -8
- package/schemas/type.ts +10 -10
- package/schemas/variable.ts +12 -14
- package/tsconfig.json +1 -0
- package/dist/schemas/export.js.map +0 -1
- package/dist/schemas/function.d.ts +0 -25
- package/dist/schemas/function.js +0 -40
- package/dist/schemas/function.js.map +0 -1
- package/package-tar/teambit-semantics.entities.semantic-schema-0.0.9.tgz +0 -0
- package/schemas/function.ts +0 -42
|
@@ -1,27 +1,34 @@
|
|
|
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
|
+
};
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.TypeQuerySchema = void 0;
|
|
10
|
+
const class_transformer_1 = require("class-transformer");
|
|
11
|
+
const schema_node_1 = require("../schema-node");
|
|
12
|
+
const schema_obj_to_class_1 = require("../schema-obj-to-class");
|
|
4
13
|
/**
|
|
5
14
|
* e.g. `typeof Foo`
|
|
6
15
|
*/
|
|
7
|
-
class TypeQuerySchema {
|
|
8
|
-
constructor(type, signature) {
|
|
9
|
-
|
|
16
|
+
class TypeQuerySchema extends schema_node_1.SchemaNode {
|
|
17
|
+
constructor(location, type, signature) {
|
|
18
|
+
super();
|
|
19
|
+
this.location = location;
|
|
10
20
|
this.signature = signature;
|
|
21
|
+
this.type = type;
|
|
11
22
|
}
|
|
12
23
|
getSignature() {
|
|
13
24
|
return this.signature;
|
|
14
25
|
}
|
|
15
|
-
toObject() {
|
|
16
|
-
return {
|
|
17
|
-
constructorName: this.constructor.name,
|
|
18
|
-
type: this.type,
|
|
19
|
-
signature: this.signature,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
26
|
toString() {
|
|
23
27
|
return `typeof ${this.type.toString()}`;
|
|
24
28
|
}
|
|
25
29
|
}
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
|
|
32
|
+
], TypeQuerySchema.prototype, "type", void 0);
|
|
26
33
|
exports.TypeQuerySchema = TypeQuerySchema;
|
|
27
34
|
//# sourceMappingURL=type-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-query.js","sourceRoot":"","sources":["../../schemas/type-query.ts"],"names":[],"mappings":"
|
|
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,11 +1,18 @@
|
|
|
1
1
|
import { ComponentID } from '@teambit/component';
|
|
2
|
-
import { SchemaNode } from '../schema-node';
|
|
2
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
3
3
|
export declare type PlainTypeRefSchema = {
|
|
4
4
|
name: string;
|
|
5
5
|
componentId?: string;
|
|
6
6
|
packageName?: string;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* can be one of the following:
|
|
10
|
+
* 1. a reference to another "export" in the same component
|
|
11
|
+
* 2. a reference to another component.
|
|
12
|
+
* 3. a reference to a package.
|
|
13
|
+
*/
|
|
14
|
+
export declare class TypeRefSchema extends SchemaNode {
|
|
15
|
+
readonly location: Location;
|
|
9
16
|
/**
|
|
10
17
|
* name of the reference to type.
|
|
11
18
|
*/
|
|
@@ -18,7 +25,11 @@ export declare class TypeRefSchema implements SchemaNode {
|
|
|
18
25
|
* target package name. existing if type is defined in different package.
|
|
19
26
|
*/
|
|
20
27
|
readonly packageName?: string;
|
|
21
|
-
|
|
28
|
+
/**
|
|
29
|
+
* optional type arguments, e.g. type Foo = Bar<X, Y>. The X and Y are type arguments.
|
|
30
|
+
*/
|
|
31
|
+
typeArgs?: SchemaNode[];
|
|
32
|
+
constructor(location: Location,
|
|
22
33
|
/**
|
|
23
34
|
* name of the reference to type.
|
|
24
35
|
*/
|
|
@@ -31,16 +42,10 @@ export declare class TypeRefSchema implements SchemaNode {
|
|
|
31
42
|
* target package name. existing if type is defined in different package.
|
|
32
43
|
*/
|
|
33
44
|
packageName?: string);
|
|
34
|
-
toObject(): {
|
|
35
|
-
constructorName: string;
|
|
36
|
-
name: string;
|
|
37
|
-
componentId: ComponentID;
|
|
38
|
-
packageName: string;
|
|
39
|
-
};
|
|
40
45
|
toString(): string;
|
|
46
|
+
private nameToString;
|
|
41
47
|
/**
|
|
42
48
|
* whether this type was already exported in this component
|
|
43
49
|
*/
|
|
44
50
|
isFromThisComponent(): boolean;
|
|
45
|
-
static from(plainSchema: PlainTypeRefSchema): TypeRefSchema;
|
|
46
51
|
}
|
package/dist/schemas/type-ref.js
CHANGED
|
@@ -1,13 +1,27 @@
|
|
|
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
|
+
};
|
|
2
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
10
|
};
|
|
5
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
12
|
exports.TypeRefSchema = void 0;
|
|
7
|
-
const
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
8
14
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
const schema_node_1 = require("../schema-node");
|
|
16
|
+
const schema_obj_to_class_1 = require("../schema-obj-to-class");
|
|
17
|
+
/**
|
|
18
|
+
* can be one of the following:
|
|
19
|
+
* 1. a reference to another "export" in the same component
|
|
20
|
+
* 2. a reference to another component.
|
|
21
|
+
* 3. a reference to a package.
|
|
22
|
+
*/
|
|
23
|
+
class TypeRefSchema extends schema_node_1.SchemaNode {
|
|
24
|
+
constructor(location,
|
|
11
25
|
/**
|
|
12
26
|
* name of the reference to type.
|
|
13
27
|
*/
|
|
@@ -20,24 +34,28 @@ class TypeRefSchema {
|
|
|
20
34
|
* target package name. existing if type is defined in different package.
|
|
21
35
|
*/
|
|
22
36
|
packageName) {
|
|
37
|
+
super();
|
|
38
|
+
this.location = location;
|
|
23
39
|
this.name = name;
|
|
24
40
|
this.componentId = componentId;
|
|
25
41
|
this.packageName = packageName;
|
|
26
42
|
}
|
|
27
|
-
toObject() {
|
|
28
|
-
return {
|
|
29
|
-
constructorName: this.constructor.name,
|
|
30
|
-
name: this.name,
|
|
31
|
-
componentId: this.componentId,
|
|
32
|
-
packageName: this.packageName,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
43
|
toString() {
|
|
44
|
+
const name = this.nameToString();
|
|
45
|
+
if (!this.typeArgs) {
|
|
46
|
+
return name;
|
|
47
|
+
}
|
|
48
|
+
const args = this.typeArgs.map((arg) => arg.toString()).join(', ');
|
|
49
|
+
return `${name}<${args}>`;
|
|
50
|
+
}
|
|
51
|
+
nameToString() {
|
|
36
52
|
if (this.componentId) {
|
|
37
|
-
|
|
53
|
+
const compStr = chalk_1.default.dim(`(component: ${this.componentId.toStringWithoutVersion()})`);
|
|
54
|
+
return `${compStr} ${this.name}`;
|
|
38
55
|
}
|
|
39
56
|
if (this.packageName) {
|
|
40
|
-
|
|
57
|
+
const pkgStr = chalk_1.default.dim(`(package: ${this.packageName})`);
|
|
58
|
+
return `${pkgStr} ${this.name}`;
|
|
41
59
|
}
|
|
42
60
|
return this.name;
|
|
43
61
|
}
|
|
@@ -47,9 +65,9 @@ class TypeRefSchema {
|
|
|
47
65
|
isFromThisComponent() {
|
|
48
66
|
return !this.componentId && !this.packageName;
|
|
49
67
|
}
|
|
50
|
-
static from(plainSchema) {
|
|
51
|
-
return new TypeRefSchema(plainSchema.name, plainSchema.componentId ? component_1.ComponentID.fromString(plainSchema.componentId) : undefined, plainSchema.packageName);
|
|
52
|
-
}
|
|
53
68
|
}
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjArrayToInstances)
|
|
71
|
+
], TypeRefSchema.prototype, "typeArgs", void 0);
|
|
54
72
|
exports.TypeRefSchema = TypeRefSchema;
|
|
55
73
|
//# sourceMappingURL=type-ref.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-ref.js","sourceRoot":"","sources":["../../schemas/type-ref.ts"],"names":[],"mappings":"
|
|
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,12 +1,7 @@
|
|
|
1
|
-
import { SchemaNode } from '../schema-node';
|
|
2
|
-
export declare class TypeUnionSchema
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructorName: string;
|
|
7
|
-
types: (Record<string, any> & {
|
|
8
|
-
constructorName: string;
|
|
9
|
-
})[];
|
|
10
|
-
};
|
|
1
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
2
|
+
export declare class TypeUnionSchema extends SchemaNode {
|
|
3
|
+
readonly location: Location;
|
|
4
|
+
readonly types: SchemaNode[];
|
|
5
|
+
constructor(location: Location, types: SchemaNode[]);
|
|
11
6
|
toString(): string;
|
|
12
7
|
}
|
|
@@ -1,19 +1,27 @@
|
|
|
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
|
+
};
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.TypeUnionSchema = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
10
|
+
const class_transformer_1 = require("class-transformer");
|
|
11
|
+
const schema_node_1 = require("../schema-node");
|
|
12
|
+
const schema_obj_to_class_1 = require("../schema-obj-to-class");
|
|
13
|
+
class TypeUnionSchema extends schema_node_1.SchemaNode {
|
|
14
|
+
constructor(location, types) {
|
|
15
|
+
super();
|
|
16
|
+
this.location = location;
|
|
6
17
|
this.types = types;
|
|
7
18
|
}
|
|
8
|
-
toObject() {
|
|
9
|
-
return {
|
|
10
|
-
constructorName: this.constructor.name,
|
|
11
|
-
types: this.types.map((type) => type.toObject()),
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
19
|
toString() {
|
|
15
20
|
return `${this.types.map((type) => type.toString()).join(' | ')}`;
|
|
16
21
|
}
|
|
17
22
|
}
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjArrayToInstances)
|
|
25
|
+
], TypeUnionSchema.prototype, "types", void 0);
|
|
18
26
|
exports.TypeUnionSchema = TypeUnionSchema;
|
|
19
27
|
//# sourceMappingURL=type-union.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-union.js","sourceRoot":"","sources":["../../schemas/type-union.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/schemas/type.d.ts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import { SchemaNode } from '../schema-node';
|
|
2
|
-
export declare class TypeSchema
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructorName: string;
|
|
9
|
-
name: string;
|
|
10
|
-
type: Record<string, any> & {
|
|
11
|
-
constructorName: string;
|
|
12
|
-
};
|
|
13
|
-
signature: string;
|
|
14
|
-
};
|
|
1
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
2
|
+
export declare class TypeSchema extends SchemaNode {
|
|
3
|
+
readonly location: Location;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly signature: string;
|
|
6
|
+
readonly type: SchemaNode;
|
|
7
|
+
constructor(location: Location, name: string, type: SchemaNode, signature: string);
|
|
15
8
|
toString(): string;
|
|
16
9
|
}
|
package/dist/schemas/type.js
CHANGED
|
@@ -1,27 +1,33 @@
|
|
|
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
|
+
};
|
|
2
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
10
|
};
|
|
5
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
12
|
exports.TypeSchema = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
7
14
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
const schema_node_1 = require("../schema-node");
|
|
16
|
+
const schema_obj_to_class_1 = require("../schema-obj-to-class");
|
|
17
|
+
class TypeSchema extends schema_node_1.SchemaNode {
|
|
18
|
+
constructor(location, name, type, signature) {
|
|
19
|
+
super();
|
|
20
|
+
this.location = location;
|
|
10
21
|
this.name = name;
|
|
11
|
-
this.type = type;
|
|
12
22
|
this.signature = signature;
|
|
13
|
-
|
|
14
|
-
toObject() {
|
|
15
|
-
return {
|
|
16
|
-
constructorName: this.constructor.name,
|
|
17
|
-
name: this.name,
|
|
18
|
-
type: this.type.toObject(),
|
|
19
|
-
signature: this.signature,
|
|
20
|
-
};
|
|
23
|
+
this.type = type;
|
|
21
24
|
}
|
|
22
25
|
toString() {
|
|
23
26
|
return `${chalk_1.default.bold(this.name)}: ${this.type.toString()}`;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
|
|
31
|
+
], TypeSchema.prototype, "type", void 0);
|
|
26
32
|
exports.TypeSchema = TypeSchema;
|
|
27
33
|
//# sourceMappingURL=type.js.map
|
package/dist/schemas/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../schemas/type.ts"],"names":[],"mappings":"
|
|
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,17 +1,12 @@
|
|
|
1
|
-
import { SchemaNode } from '../schema-node';
|
|
2
|
-
|
|
1
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
2
|
+
/**
|
|
3
|
+
* can be also a property.
|
|
4
|
+
*/
|
|
5
|
+
export declare class VariableSchema extends SchemaNode {
|
|
6
|
+
readonly location: Location;
|
|
3
7
|
readonly name: string;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructor(name: string, signature: string, type: SchemaNode);
|
|
7
|
-
getSignature(): string;
|
|
8
|
-
toObject(): {
|
|
9
|
-
constructorName: string;
|
|
10
|
-
name: string;
|
|
11
|
-
signature: string;
|
|
12
|
-
type: Record<string, any> & {
|
|
13
|
-
constructorName: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
8
|
+
readonly signature: string;
|
|
9
|
+
type: SchemaNode;
|
|
10
|
+
constructor(location: Location, name: string, signature: string, type: SchemaNode);
|
|
16
11
|
toString(): string;
|
|
17
12
|
}
|
package/dist/schemas/variable.js
CHANGED
|
@@ -1,30 +1,36 @@
|
|
|
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
|
+
};
|
|
2
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
10
|
};
|
|
5
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
12
|
exports.VariableSchema = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
7
14
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
const schema_node_1 = require("../schema-node");
|
|
16
|
+
const schema_obj_to_class_1 = require("../schema-obj-to-class");
|
|
17
|
+
/**
|
|
18
|
+
* can be also a property.
|
|
19
|
+
*/
|
|
20
|
+
class VariableSchema extends schema_node_1.SchemaNode {
|
|
21
|
+
constructor(location, name, signature, type) {
|
|
22
|
+
super();
|
|
23
|
+
this.location = location;
|
|
10
24
|
this.name = name;
|
|
11
25
|
this.signature = signature;
|
|
12
26
|
this.type = type;
|
|
13
27
|
}
|
|
14
|
-
getSignature() {
|
|
15
|
-
return this.signature;
|
|
16
|
-
}
|
|
17
|
-
toObject() {
|
|
18
|
-
return {
|
|
19
|
-
constructorName: this.constructor.name,
|
|
20
|
-
name: this.name,
|
|
21
|
-
signature: this.signature,
|
|
22
|
-
type: this.type.toObject(),
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
28
|
toString() {
|
|
26
29
|
return `${chalk_1.default.bold(this.name)}: ${this.type.toString()}`;
|
|
27
30
|
}
|
|
28
31
|
}
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_transformer_1.Transform)(schema_obj_to_class_1.schemaObjToInstance)
|
|
34
|
+
], VariableSchema.prototype, "type", void 0);
|
|
29
35
|
exports.VariableSchema = VariableSchema;
|
|
30
36
|
//# sourceMappingURL=variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable.js","sourceRoot":"","sources":["../../schemas/variable.ts"],"names":[],"mappings":"
|
|
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,20 +1,17 @@
|
|
|
1
|
-
import { SchemaNode } from '../schema-node';
|
|
2
|
-
|
|
3
1
|
type Primitive = string | number | boolean | null | undefined;
|
|
4
2
|
export type StaticProperties = Map<string, Primitive>;
|
|
5
3
|
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @todo: this was implemented before all other schemas and is used only for composition.
|
|
6
|
+
* it needs to be align with other schemas.
|
|
7
|
+
*/
|
|
8
|
+
export class Export {
|
|
7
9
|
constructor(
|
|
8
10
|
/**
|
|
9
11
|
* named export identifier of the module export.
|
|
10
12
|
*/
|
|
11
13
|
readonly identifier: string,
|
|
12
14
|
|
|
13
|
-
/**
|
|
14
|
-
* API node.
|
|
15
|
-
*/
|
|
16
|
-
readonly nodes?: SchemaNode[],
|
|
17
|
-
|
|
18
15
|
/**
|
|
19
16
|
* static properties attached to this export
|
|
20
17
|
* @example
|
package/index.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
export { APISchema } from './api-schema';
|
|
2
|
-
export
|
|
2
|
+
export { Export, StaticProperties } from './export';
|
|
3
|
+
export type { SchemaNode, Location } from './schema-node';
|
|
3
4
|
export {
|
|
4
|
-
Export,
|
|
5
5
|
Module,
|
|
6
|
-
|
|
7
|
-
FunctionSchema,
|
|
6
|
+
FunctionLikeSchema,
|
|
8
7
|
Modifier,
|
|
9
8
|
TypeRefSchema,
|
|
10
9
|
VariableSchema,
|
|
@@ -26,5 +25,9 @@ export {
|
|
|
26
25
|
TypeOperatorSchema,
|
|
27
26
|
TupleTypeSchema,
|
|
28
27
|
ParameterSchema,
|
|
28
|
+
EnumSchema,
|
|
29
|
+
ParenthesizedTypeSchema,
|
|
30
|
+
TypePredicateSchema,
|
|
31
|
+
IndexedAccessSchema,
|
|
29
32
|
} from './schemas';
|
|
30
33
|
export type { JSONSchema, JSONSchemaObject } from './json-schema';
|
package/package.json
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/semantics.entities.semantic-schema",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
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.
|
|
9
|
+
"version": "0.0.12"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"chalk": "4.
|
|
13
|
-
"
|
|
12
|
+
"chalk": "2.4.2",
|
|
13
|
+
"class-transformer": "0.5.1",
|
|
14
|
+
"json-schema": "0.4.0",
|
|
15
|
+
"lodash": "4.17.21"
|
|
14
16
|
},
|
|
15
17
|
"devDependencies": {
|
|
16
18
|
"@types/json-schema": "7.0.9",
|
|
19
|
+
"@types/lodash": "4.14.165",
|
|
17
20
|
"@types/mocha": "9.1.0",
|
|
18
21
|
"@babel/runtime": "7.12.18",
|
|
19
22
|
"@types/node": "12.20.4",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_entities_semantic-schema@0.0.
|
|
1
|
+
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_entities_semantic-schema@0.0.12/dist/semantic-schema.docs.md')]
|
package/schema-node.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
+
import { instanceToPlain } from 'class-transformer';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
|
-
*
|
|
4
|
+
* a convenient abstract class for all schema to extend.
|
|
5
|
+
* the reason for having it as an abstract class and not an interface, for now, is mostly for the `__schema` prop.
|
|
6
|
+
* this way it won't need to be implemented in each one of the subclasses.
|
|
3
7
|
*/
|
|
4
|
-
export
|
|
5
|
-
|
|
8
|
+
export abstract class SchemaNode {
|
|
9
|
+
readonly __schema = this.constructor.name;
|
|
10
|
+
abstract readonly location: Location;
|
|
11
|
+
readonly signature?: string;
|
|
6
12
|
|
|
7
|
-
toString(): string;
|
|
13
|
+
abstract toString(): string;
|
|
8
14
|
|
|
9
|
-
toObject()
|
|
15
|
+
toObject() {
|
|
16
|
+
return instanceToPlain(this);
|
|
17
|
+
}
|
|
10
18
|
}
|
|
19
|
+
|
|
20
|
+
export type Location = { file: string; line: number; character: number };
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
|
|
6
|
+
export function schemaObjArrayToInstances({ value, type }: { value: SchemaNode[]; type: TransformationType }) {
|
|
7
|
+
if (type !== TransformationType.PLAIN_TO_CLASS) {
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
return value.map((obj) => transformFromObjectToInstance(obj));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function schemaObjToInstance({ value, type }: { value: Record<string, any>; type: TransformationType }) {
|
|
14
|
+
if (type !== TransformationType.PLAIN_TO_CLASS) {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
return transformFromObjectToInstance(value);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function transformFromObjectToInstance(obj: Record<string, any>): SchemaNode {
|
|
21
|
+
if (!obj.__schema) {
|
|
22
|
+
throw new Error(`fatal: "__schema" is missing, make sure the transformer is set on SchemaNode type`);
|
|
23
|
+
}
|
|
24
|
+
const SchemaClass = getClassBySchemaName(obj.__schema);
|
|
25
|
+
return plainToInstance(SchemaClass, obj);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function getClassBySchemaName(schemaName: string): ClassConstructor<SchemaNode> {
|
|
29
|
+
const schemasClasses = compact(Object.values(Schemas));
|
|
30
|
+
const schemaClass = schemasClasses.find((schema) => schema.name === schemaName);
|
|
31
|
+
if (!schemaClass) {
|
|
32
|
+
throw new Error(`unable to find schema "${schemaName}". the following schemas are supported:
|
|
33
|
+
${schemasClasses.map((s) => s.name).join(', ')}`);
|
|
34
|
+
}
|
|
35
|
+
return schemaClass;
|
|
36
|
+
}
|
package/schemas/class.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
import { Transform } from 'class-transformer';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
import { SchemaNode } from '../schema-node';
|
|
3
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
4
|
+
import { schemaObjArrayToInstances } from '../schema-obj-to-class';
|
|
3
5
|
|
|
4
|
-
export class ClassSchema
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
name: this.className,
|
|
11
|
-
members: this.members.map((member) => member.toObject()),
|
|
12
|
-
};
|
|
6
|
+
export class ClassSchema extends SchemaNode {
|
|
7
|
+
@Transform(schemaObjArrayToInstances)
|
|
8
|
+
readonly members: SchemaNode[];
|
|
9
|
+
constructor(readonly className: string, members: SchemaNode[], readonly location: Location) {
|
|
10
|
+
super();
|
|
11
|
+
this.members = members;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
toString() {
|
package/schemas/constructor.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
+
import { Transform } from 'class-transformer';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
|
-
import { SchemaNode } from '../schema-node';
|
|
3
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
3
4
|
import { ParameterSchema } from './parameter';
|
|
5
|
+
import { schemaObjArrayToInstances } from '../schema-obj-to-class';
|
|
4
6
|
|
|
5
|
-
export class ConstructorSchema
|
|
6
|
-
|
|
7
|
+
export class ConstructorSchema extends SchemaNode {
|
|
8
|
+
@Transform(schemaObjArrayToInstances)
|
|
9
|
+
readonly params: ParameterSchema[];
|
|
10
|
+
constructor(readonly location: Location, params: ParameterSchema[]) {
|
|
11
|
+
super();
|
|
12
|
+
this.params = params;
|
|
13
|
+
}
|
|
7
14
|
|
|
8
15
|
toString() {
|
|
9
16
|
const paramsStr = this.params.map((param) => param.toString()).join(', ');
|
|
10
17
|
return `${chalk.bold('constructor')}(${paramsStr})`;
|
|
11
18
|
}
|
|
12
|
-
|
|
13
|
-
toObject() {
|
|
14
|
-
return {
|
|
15
|
-
constructorName: this.constructor.name,
|
|
16
|
-
args: this.params.map((arg) => arg.toObject()),
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
19
|
}
|
package/schemas/enum.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { Location, SchemaNode } from '../schema-node';
|
|
3
|
+
|
|
4
|
+
export class EnumSchema extends SchemaNode {
|
|
5
|
+
constructor(readonly location: Location, readonly name: string, readonly members: string[]) {
|
|
6
|
+
super();
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
toString() {
|
|
10
|
+
const membersStr = this.members.map((m) => `* ${m.toString()}`).join('\n');
|
|
11
|
+
return `${chalk.bold.underline(this.name)}\n${membersStr}`;
|
|
12
|
+
}
|
|
13
|
+
}
|