@teambit/semantics.entities.semantic-schema 0.0.80 → 0.0.81

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.
@@ -8,6 +8,7 @@ export declare class ParameterSchema<T extends SchemaNode = SchemaNode> extends
8
8
  readonly isSpread: boolean;
9
9
  readonly type: T;
10
10
  readonly objectBindingNodes?: SchemaNode[];
11
+ getNodes(): SchemaNode[];
11
12
  constructor(location: SchemaLocation, name: string, type: T, isOptional: boolean, defaultValue?: any | undefined, description?: string | undefined, objectBindingNodes?: SchemaNode[], isSpread?: boolean);
12
13
  toString(): string;
13
14
  toFullSignature(options?: {
@@ -19,6 +19,9 @@ function _schemaRegistry() {
19
19
  return data;
20
20
  }
21
21
  class ParameterSchema extends _schemaNode().SchemaNode {
22
+ getNodes() {
23
+ return [this.type, ...(this.objectBindingNodes || [])];
24
+ }
22
25
  constructor(location, name, type, isOptional, defaultValue, description, objectBindingNodes, isSpread = false) {
23
26
  super();
24
27
  this.location = location;
@@ -1 +1 @@
1
- {"version":3,"names":["_schemaNode","data","require","_schemaRegistry","ParameterSchema","SchemaNode","constructor","location","name","type","isOptional","defaultValue","description","objectBindingNodes","isSpread","toString","toFullSignature","options","paramStr","showDocs","paramName","length","bindingsStr","map","node","join","typeName","undefined","toObject","fromObject","obj","SchemaRegistry","exports"],"sources":["parameter.ts"],"sourcesContent":["import { SchemaLocation, SchemaNode } from '../schema-node';\nimport { SchemaRegistry } from '../schema-registry';\n\nexport class ParameterSchema<T extends SchemaNode = SchemaNode> extends SchemaNode {\n readonly type: T;\n readonly objectBindingNodes?: SchemaNode[];\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n type: T,\n readonly isOptional: boolean,\n readonly defaultValue?: any,\n readonly description?: string,\n objectBindingNodes?: SchemaNode[],\n readonly isSpread: boolean = false\n ) {\n super();\n this.type = type;\n this.objectBindingNodes = objectBindingNodes;\n this.isSpread = isSpread;\n }\n\n toString() {\n return `${this.name}${this.isOptional ? '?' : ''}: ${this.type.toString()}`;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n let paramStr = '';\n\n if (options?.showDocs && this.description) {\n paramStr += `/** ${this.description} */\\n`;\n }\n\n if (this.isSpread) {\n paramStr += '...';\n }\n\n let paramName = '';\n\n if (this.objectBindingNodes && this.objectBindingNodes.length > 0) {\n const bindingsStr = this.objectBindingNodes.map((node) => node.toFullSignature(options)).join(', ');\n paramName += `{ ${bindingsStr} }`;\n } else {\n paramName += this.name;\n }\n\n if (this.isOptional) {\n paramName += '?';\n }\n\n paramStr += `${paramName}`;\n\n if (this.type && typeof this.type.toString === 'function') {\n const typeName = this.type.toString();\n if (typeName) {\n paramStr += `: ${typeName}`;\n }\n }\n\n if (this.defaultValue !== undefined) {\n paramStr += ` = ${this.defaultValue}`;\n }\n\n return paramStr;\n }\n\n toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n type: this.type.toObject(),\n isOptional: this.isOptional,\n defaultValue: this.defaultValue,\n description: this.description,\n objectBindingNodes: this.objectBindingNodes?.map((node) => node.toObject()),\n isSpread: this.isSpread,\n };\n }\n\n static fromObject<T extends SchemaNode = SchemaNode>(obj: Record<string, any>): ParameterSchema<T> {\n const location = obj.location;\n const name = obj.name;\n const type = SchemaRegistry.fromObject(obj.type);\n const isOptional = obj.isOptional;\n const defaultValue = obj.defaultValue;\n const description = obj.description;\n const isSpread = obj.isSpread;\n const objectBindingNodes = obj.objectBindingNodes?.map((node: any) => SchemaRegistry.fromObject(node));\n return new ParameterSchema(\n location,\n name,\n type,\n isOptional,\n defaultValue,\n description,\n objectBindingNodes,\n isSpread\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,eAAe,SAA4CC,wBAAU,CAAC;EAIjFC,WAAWA,CACAC,QAAwB,EACxBC,IAAY,EACrBC,IAAO,EACEC,UAAmB,EACnBC,YAAkB,EAClBC,WAAoB,EAC7BC,kBAAiC,EACxBC,QAAiB,GAAG,KAAK,EAClC;IACA,KAAK,CAAC,CAAC;IAAC,KATCP,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,IAAY,GAAZA,IAAY;IAAA,KAEZE,UAAmB,GAAnBA,UAAmB;IAAA,KACnBC,YAAkB,GAAlBA,YAAkB;IAAA,KAClBC,WAAoB,GAApBA,WAAoB;IAAA,KAEpBE,QAAiB,GAAjBA,QAAiB;IAG1B,IAAI,CAACL,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACI,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC1B;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAO,GAAG,IAAI,CAACP,IAAI,GAAG,IAAI,CAACE,UAAU,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,CAACD,IAAI,CAACM,QAAQ,CAAC,CAAC,EAAE;EAC7E;EAEAC,eAAeA,CAACC,OAAgC,EAAU;IACxD,IAAIC,QAAQ,GAAG,EAAE;IAEjB,IAAID,OAAO,EAAEE,QAAQ,IAAI,IAAI,CAACP,WAAW,EAAE;MACzCM,QAAQ,IAAI,OAAO,IAAI,CAACN,WAAW,OAAO;IAC5C;IAEA,IAAI,IAAI,CAACE,QAAQ,EAAE;MACjBI,QAAQ,IAAI,KAAK;IACnB;IAEA,IAAIE,SAAS,GAAG,EAAE;IAElB,IAAI,IAAI,CAACP,kBAAkB,IAAI,IAAI,CAACA,kBAAkB,CAACQ,MAAM,GAAG,CAAC,EAAE;MACjE,MAAMC,WAAW,GAAG,IAAI,CAACT,kBAAkB,CAACU,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACR,eAAe,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC;MACnGL,SAAS,IAAI,KAAKE,WAAW,IAAI;IACnC,CAAC,MAAM;MACLF,SAAS,IAAI,IAAI,CAACZ,IAAI;IACxB;IAEA,IAAI,IAAI,CAACE,UAAU,EAAE;MACnBU,SAAS,IAAI,GAAG;IAClB;IAEAF,QAAQ,IAAI,GAAGE,SAAS,EAAE;IAE1B,IAAI,IAAI,CAACX,IAAI,IAAI,OAAO,IAAI,CAACA,IAAI,CAACM,QAAQ,KAAK,UAAU,EAAE;MACzD,MAAMW,QAAQ,GAAG,IAAI,CAACjB,IAAI,CAACM,QAAQ,CAAC,CAAC;MACrC,IAAIW,QAAQ,EAAE;QACZR,QAAQ,IAAI,KAAKQ,QAAQ,EAAE;MAC7B;IACF;IAEA,IAAI,IAAI,CAACf,YAAY,KAAKgB,SAAS,EAAE;MACnCT,QAAQ,IAAI,MAAM,IAAI,CAACP,YAAY,EAAE;IACvC;IAEA,OAAOO,QAAQ;EACjB;EAEAU,QAAQA,CAAA,EAAG;IACT,OAAO;MACL,GAAG,KAAK,CAACA,QAAQ,CAAC,CAAC;MACnBpB,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,IAAI,EAAE,IAAI,CAACA,IAAI,CAACmB,QAAQ,CAAC,CAAC;MAC1BlB,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,EAAEU,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACI,QAAQ,CAAC,CAAC,CAAC;MAC3Ed,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC;EACH;EAEA,OAAOe,UAAUA,CAAoCC,GAAwB,EAAsB;IACjG,MAAMvB,QAAQ,GAAGuB,GAAG,CAACvB,QAAQ;IAC7B,MAAMC,IAAI,GAAGsB,GAAG,CAACtB,IAAI;IACrB,MAAMC,IAAI,GAAGsB,gCAAc,CAACF,UAAU,CAACC,GAAG,CAACrB,IAAI,CAAC;IAChD,MAAMC,UAAU,GAAGoB,GAAG,CAACpB,UAAU;IACjC,MAAMC,YAAY,GAAGmB,GAAG,CAACnB,YAAY;IACrC,MAAMC,WAAW,GAAGkB,GAAG,CAAClB,WAAW;IACnC,MAAME,QAAQ,GAAGgB,GAAG,CAAChB,QAAQ;IAC7B,MAAMD,kBAAkB,GAAGiB,GAAG,CAACjB,kBAAkB,EAAEU,GAAG,CAAEC,IAAS,IAAKO,gCAAc,CAACF,UAAU,CAACL,IAAI,CAAC,CAAC;IACtG,OAAO,IAAIpB,eAAe,CACxBG,QAAQ,EACRC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,YAAY,EACZC,WAAW,EACXC,kBAAkB,EAClBC,QACF,CAAC;EACH;AACF;AAACkB,OAAA,CAAA5B,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_schemaNode","data","require","_schemaRegistry","ParameterSchema","SchemaNode","getNodes","type","objectBindingNodes","constructor","location","name","isOptional","defaultValue","description","isSpread","toString","toFullSignature","options","paramStr","showDocs","paramName","length","bindingsStr","map","node","join","typeName","undefined","toObject","fromObject","obj","SchemaRegistry","exports"],"sources":["parameter.ts"],"sourcesContent":["import { SchemaLocation, SchemaNode } from '../schema-node';\nimport { SchemaRegistry } from '../schema-registry';\n\nexport class ParameterSchema<T extends SchemaNode = SchemaNode> extends SchemaNode {\n readonly type: T;\n readonly objectBindingNodes?: SchemaNode[];\n\n getNodes(): SchemaNode[] {\n return [this.type, ...(this.objectBindingNodes || [])];\n }\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n type: T,\n readonly isOptional: boolean,\n readonly defaultValue?: any,\n readonly description?: string,\n objectBindingNodes?: SchemaNode[],\n readonly isSpread: boolean = false\n ) {\n super();\n this.type = type;\n this.objectBindingNodes = objectBindingNodes;\n this.isSpread = isSpread;\n }\n\n toString() {\n return `${this.name}${this.isOptional ? '?' : ''}: ${this.type.toString()}`;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n let paramStr = '';\n\n if (options?.showDocs && this.description) {\n paramStr += `/** ${this.description} */\\n`;\n }\n\n if (this.isSpread) {\n paramStr += '...';\n }\n\n let paramName = '';\n\n if (this.objectBindingNodes && this.objectBindingNodes.length > 0) {\n const bindingsStr = this.objectBindingNodes.map((node) => node.toFullSignature(options)).join(', ');\n paramName += `{ ${bindingsStr} }`;\n } else {\n paramName += this.name;\n }\n\n if (this.isOptional) {\n paramName += '?';\n }\n\n paramStr += `${paramName}`;\n\n if (this.type && typeof this.type.toString === 'function') {\n const typeName = this.type.toString();\n if (typeName) {\n paramStr += `: ${typeName}`;\n }\n }\n\n if (this.defaultValue !== undefined) {\n paramStr += ` = ${this.defaultValue}`;\n }\n\n return paramStr;\n }\n\n toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n type: this.type.toObject(),\n isOptional: this.isOptional,\n defaultValue: this.defaultValue,\n description: this.description,\n objectBindingNodes: this.objectBindingNodes?.map((node) => node.toObject()),\n isSpread: this.isSpread,\n };\n }\n\n static fromObject<T extends SchemaNode = SchemaNode>(obj: Record<string, any>): ParameterSchema<T> {\n const location = obj.location;\n const name = obj.name;\n const type = SchemaRegistry.fromObject(obj.type);\n const isOptional = obj.isOptional;\n const defaultValue = obj.defaultValue;\n const description = obj.description;\n const isSpread = obj.isSpread;\n const objectBindingNodes = obj.objectBindingNodes?.map((node: any) => SchemaRegistry.fromObject(node));\n return new ParameterSchema(\n location,\n name,\n type,\n isOptional,\n defaultValue,\n description,\n objectBindingNodes,\n isSpread\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,7 @@ export declare class TypeRefSchema extends SchemaNode {
48
48
  * if the reference is not exported from the component, it can be internal to the file.
49
49
  */
50
50
  internalFilePath?: string | undefined);
51
+ getNodes(): SchemaNode[];
51
52
  withTypeArgs(typeArgs: SchemaNode[]): this;
52
53
  toString(options?: {
53
54
  color?: boolean;
@@ -69,6 +69,9 @@ class TypeRefSchema extends _schemaNode().SchemaNode {
69
69
  this.internalFilePath = internalFilePath;
70
70
  this.componentId = componentId;
71
71
  }
72
+ getNodes() {
73
+ return this.typeArgs || [];
74
+ }
72
75
  withTypeArgs(typeArgs) {
73
76
  this.typeArgs = typeArgs;
74
77
  return this;
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_chalk","_interopRequireDefault","_schemaNode","_schemaRegistry","e","__esModule","default","TypeRefSchema","SchemaNode","constructor","location","name","componentId","packageName","internalFilePath","withTypeArgs","typeArgs","toString","options","nameToString","args","map","arg","join","dim","color","chalk","str","compStr","toStringWithoutVersion","pkgStr","toFullSignature","signature","length","argsSignatures","showDocs","doc","docString","isFromThisComponent","isInternalReference","isExported","toObject","undefined","type","fromObject","obj","ComponentID","SchemaRegistry","exports"],"sources":["type-ref.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport chalk from 'chalk';\nimport { SchemaLocation, SchemaNode } from '../schema-node';\nimport { SchemaRegistry } from '../schema-registry';\n\nexport type PlainTypeRefSchema = {\n name: string;\n componentId?: string;\n packageName?: string;\n};\n\n/**\n * can be one of the following:\n * 1. a reference to another \"export\" in the same component\n * 2 a reference to another declaration in the same file (internal)\n * 3. a reference to another component.\n * 4. a reference to a package.\n */\nexport class TypeRefSchema extends SchemaNode {\n /**\n * optional type arguments, e.g. type Foo = Bar<X, Y>. The X and Y are type arguments.\n */\n typeArgs?: SchemaNode[];\n\n readonly componentId?: ComponentID;\n\n constructor(\n readonly location: SchemaLocation,\n /**\n * name of the reference to type.\n */\n readonly name: string,\n /**\n * target component id. existing if the type is defined in another component.\n */\n componentId?: ComponentID,\n /**\n * target package name. existing if type is defined in different package.\n */\n readonly packageName?: string,\n /**\n * if the reference is not exported from the component, it can be internal to the file.\n */\n readonly internalFilePath?: string\n ) {\n super();\n this.componentId = componentId;\n }\n\n withTypeArgs(typeArgs: SchemaNode[]) {\n this.typeArgs = typeArgs;\n return this;\n }\n\n toString(options?: { color?: boolean }) {\n const name = this.nameToString(options);\n if (!this.typeArgs) {\n return name;\n }\n const args = this.typeArgs.map((arg) => arg.toString(options)).join(', ');\n return `${name}<${args}>`;\n }\n\n private nameToString(options?: { color?: boolean }) {\n const dim = options?.color ? chalk.dim : (str: string) => str;\n if (this.componentId) {\n const compStr = dim(`(component: ${this.componentId.toStringWithoutVersion()})`);\n return `${compStr} ${this.name}`;\n }\n if (this.packageName) {\n const pkgStr = dim(`(package: ${this.packageName})`);\n return `${pkgStr} ${this.name}`;\n }\n return this.name;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n let signature = this.name;\n\n if (this.typeArgs && this.typeArgs.length > 0) {\n const argsSignatures = this.typeArgs.map((arg) => arg.toFullSignature(options)).join(', ');\n signature += `<${argsSignatures}>`;\n }\n\n if (options?.showDocs && this.doc) {\n const docString = this.doc.toFullSignature();\n signature = `${docString}\\n${signature}`;\n }\n\n return signature;\n }\n\n /**\n * whether this type was already exported in this component\n */\n isFromThisComponent() {\n return !this.componentId && !this.packageName;\n }\n\n /**\n * whether this type is internal to the file.\n */\n isInternalReference() {\n return !!this.internalFilePath && this.isFromThisComponent();\n }\n\n /**\n * whether this type is exported from this component.\n */\n isExported() {\n return this.isFromThisComponent() && !this.isInternalReference();\n }\n\n toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n componentId: this.componentId ? this.componentId.toObject() : undefined,\n packageName: this.packageName,\n internalFilePath: this.internalFilePath,\n typeArgs: this.typeArgs?.map((type) => type.toObject()),\n };\n }\n\n static fromObject(obj: Record<string, any>): TypeRefSchema {\n const location = obj.location;\n const name = obj.name;\n let componentId;\n try {\n componentId = obj.componentId ? ComponentID.fromObject(obj.componentId) : undefined;\n } catch {\n componentId = undefined;\n }\n const packageName = obj.packageName;\n const internalFilePath = obj.internalFilePath;\n const typeArgs = obj.typeArgs?.map((type: any) => SchemaRegistry.fromObject(type));\n return new TypeRefSchema(location, name, componentId, packageName, internalFilePath).withTypeArgs(typeArgs);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_component","data","require","_chalk","_interopRequireDefault","_schemaNode","_schemaRegistry","e","__esModule","default","TypeRefSchema","SchemaNode","constructor","location","name","componentId","packageName","internalFilePath","getNodes","typeArgs","withTypeArgs","toString","options","nameToString","args","map","arg","join","dim","color","chalk","str","compStr","toStringWithoutVersion","pkgStr","toFullSignature","signature","length","argsSignatures","showDocs","doc","docString","isFromThisComponent","isInternalReference","isExported","toObject","undefined","type","fromObject","obj","ComponentID","SchemaRegistry","exports"],"sources":["type-ref.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport chalk from 'chalk';\nimport { SchemaLocation, SchemaNode } from '../schema-node';\nimport { SchemaRegistry } from '../schema-registry';\n\nexport type PlainTypeRefSchema = {\n name: string;\n componentId?: string;\n packageName?: string;\n};\n\n/**\n * can be one of the following:\n * 1. a reference to another \"export\" in the same component\n * 2 a reference to another declaration in the same file (internal)\n * 3. a reference to another component.\n * 4. a reference to a package.\n */\nexport class TypeRefSchema extends SchemaNode {\n /**\n * optional type arguments, e.g. type Foo = Bar<X, Y>. The X and Y are type arguments.\n */\n typeArgs?: SchemaNode[];\n\n readonly componentId?: ComponentID;\n\n constructor(\n readonly location: SchemaLocation,\n /**\n * name of the reference to type.\n */\n readonly name: string,\n /**\n * target component id. existing if the type is defined in another component.\n */\n componentId?: ComponentID,\n /**\n * target package name. existing if type is defined in different package.\n */\n readonly packageName?: string,\n /**\n * if the reference is not exported from the component, it can be internal to the file.\n */\n readonly internalFilePath?: string\n ) {\n super();\n this.componentId = componentId;\n }\n\n getNodes(): SchemaNode[] {\n return this.typeArgs || [];\n }\n\n withTypeArgs(typeArgs: SchemaNode[]) {\n this.typeArgs = typeArgs;\n return this;\n }\n\n toString(options?: { color?: boolean }) {\n const name = this.nameToString(options);\n if (!this.typeArgs) {\n return name;\n }\n const args = this.typeArgs.map((arg) => arg.toString(options)).join(', ');\n return `${name}<${args}>`;\n }\n\n private nameToString(options?: { color?: boolean }) {\n const dim = options?.color ? chalk.dim : (str: string) => str;\n if (this.componentId) {\n const compStr = dim(`(component: ${this.componentId.toStringWithoutVersion()})`);\n return `${compStr} ${this.name}`;\n }\n if (this.packageName) {\n const pkgStr = dim(`(package: ${this.packageName})`);\n return `${pkgStr} ${this.name}`;\n }\n return this.name;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n let signature = this.name;\n\n if (this.typeArgs && this.typeArgs.length > 0) {\n const argsSignatures = this.typeArgs.map((arg) => arg.toFullSignature(options)).join(', ');\n signature += `<${argsSignatures}>`;\n }\n\n if (options?.showDocs && this.doc) {\n const docString = this.doc.toFullSignature();\n signature = `${docString}\\n${signature}`;\n }\n\n return signature;\n }\n\n /**\n * whether this type was already exported in this component\n */\n isFromThisComponent() {\n return !this.componentId && !this.packageName;\n }\n\n /**\n * whether this type is internal to the file.\n */\n isInternalReference() {\n return !!this.internalFilePath && this.isFromThisComponent();\n }\n\n /**\n * whether this type is exported from this component.\n */\n isExported() {\n return this.isFromThisComponent() && !this.isInternalReference();\n }\n\n toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n componentId: this.componentId ? this.componentId.toObject() : undefined,\n packageName: this.packageName,\n internalFilePath: this.internalFilePath,\n typeArgs: this.typeArgs?.map((type) => type.toObject()),\n };\n }\n\n static fromObject(obj: Record<string, any>): TypeRefSchema {\n const location = obj.location;\n const name = obj.name;\n let componentId;\n try {\n componentId = obj.componentId ? ComponentID.fromObject(obj.componentId) : undefined;\n } catch {\n componentId = undefined;\n }\n const packageName = obj.packageName;\n const internalFilePath = obj.internalFilePath;\n const typeArgs = obj.typeArgs?.map((type: any) => SchemaRegistry.fromObject(type));\n return new TypeRefSchema(location, name, componentId, packageName, internalFilePath).withTypeArgs(typeArgs);\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/semantics.entities.semantic-schema",
3
- "version": "0.0.80",
3
+ "version": "0.0.81",
4
4
  "homepage": "https://bit.cloud/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.80"
9
+ "version": "0.0.81"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -5,6 +5,10 @@ export class ParameterSchema<T extends SchemaNode = SchemaNode> extends SchemaNo
5
5
  readonly type: T;
6
6
  readonly objectBindingNodes?: SchemaNode[];
7
7
 
8
+ getNodes(): SchemaNode[] {
9
+ return [this.type, ...(this.objectBindingNodes || [])];
10
+ }
11
+
8
12
  constructor(
9
13
  readonly location: SchemaLocation,
10
14
  readonly name: string,
@@ -47,6 +47,10 @@ export class TypeRefSchema extends SchemaNode {
47
47
  this.componentId = componentId;
48
48
  }
49
49
 
50
+ getNodes(): SchemaNode[] {
51
+ return this.typeArgs || [];
52
+ }
53
+
50
54
  withTypeArgs(typeArgs: SchemaNode[]) {
51
55
  this.typeArgs = typeArgs;
52
56
  return this;