@teambit/semantics.entities.semantic-schema 0.0.86 → 0.0.87

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 CHANGED
@@ -1,17 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { ComponentID } from '@teambit/component-id';
3
- import {
4
- ClassSchema,
5
- EnumSchema,
6
- ExportSchema,
7
- FunctionLikeSchema,
8
- InterfaceSchema,
9
- ModuleSchema,
10
- TypeRefSchema,
11
- TypeSchema,
12
- UnresolvedSchema,
13
- VariableLikeSchema,
14
- } from './schemas';
3
+ import { ExportSchema, ModuleSchema } from './schemas';
15
4
  import { SchemaLocation, SchemaNode } from './schema-node';
16
5
  import { TagName } from './schemas/docs/tag';
17
6
  import { SchemaRegistry } from './schema-registry';
@@ -67,32 +56,33 @@ export class APISchema extends SchemaNode {
67
56
 
68
57
  toStringPerType() {
69
58
  const title = chalk.inverse(`API Schema of ${this.componentId.toString()}\n`);
70
- const getSection = (ClassObj, sectionName: string) => {
71
- const objects = this.module.exports.filter((exp) => {
72
- if (ExportSchema.isExportSchema(exp)) {
73
- return exp.exportNode instanceof ClassObj;
74
- }
75
- return exp instanceof ClassObj;
76
- });
77
- if (!objects.length) {
78
- return '';
79
- }
80
59
 
81
- return `${chalk.green.bold(sectionName)}\n${objects.map((c) => c.toString({ color: true })).join('\n')}\n\n`;
82
- };
60
+ const exportGroups = this.module.exports.reduce(
61
+ (acc, exp) => {
62
+ const node = ExportSchema.isExportSchema(exp) ? exp.exportNode : exp;
63
+
64
+ const displayName = node.displaySchemaName;
83
65
 
84
- return (
85
- title +
86
- getSection(ModuleSchema, 'Namespaces') +
87
- getSection(ClassSchema, 'Classes') +
88
- getSection(InterfaceSchema, 'Interfaces') +
89
- getSection(FunctionLikeSchema, 'Functions') +
90
- getSection(VariableLikeSchema, 'Variables') +
91
- getSection(TypeSchema, 'Types') +
92
- getSection(EnumSchema, 'Enums') +
93
- getSection(TypeRefSchema, 'TypeReferences') +
94
- getSection(UnresolvedSchema, 'Unresolved')
66
+ (acc[displayName] = acc[displayName] || []).push(exp);
67
+ return acc;
68
+ },
69
+ {} as { [key: string]: SchemaNode[] }
95
70
  );
71
+
72
+ const sortedDisplayNames = Object.keys(exportGroups).sort();
73
+
74
+ if (sortedDisplayNames.length === 0) {
75
+ return title;
76
+ }
77
+
78
+ const sections = sortedDisplayNames.map((displayName) => {
79
+ const exports = exportGroups[displayName];
80
+ const sectionBody = exports.map((c) => c.toString({ color: true })).join('\n');
81
+
82
+ return `${chalk.green.bold(displayName)}\n${sectionBody}`;
83
+ });
84
+
85
+ return title + sections.join('\n\n') + '\n\n';
96
86
  }
97
87
 
98
88
  toFullSignature(options: { showDocs?: boolean; showTitles?: boolean } = { showDocs: true }): string {
@@ -78,21 +78,24 @@ class APISchema extends _schemaNode().SchemaNode {
78
78
  }
79
79
  toStringPerType() {
80
80
  const title = _chalk().default.inverse(`API Schema of ${this.componentId.toString()}\n`);
81
- const getSection = (ClassObj, sectionName) => {
82
- const objects = this.module.exports.filter(exp => {
83
- if (_schemas().ExportSchema.isExportSchema(exp)) {
84
- return exp.exportNode instanceof ClassObj;
85
- }
86
- return exp instanceof ClassObj;
87
- });
88
- if (!objects.length) {
89
- return '';
90
- }
91
- return `${_chalk().default.green.bold(sectionName)}\n${objects.map(c => c.toString({
81
+ const exportGroups = this.module.exports.reduce((acc, exp) => {
82
+ const node = _schemas().ExportSchema.isExportSchema(exp) ? exp.exportNode : exp;
83
+ const displayName = node.displaySchemaName;
84
+ (acc[displayName] = acc[displayName] || []).push(exp);
85
+ return acc;
86
+ }, {});
87
+ const sortedDisplayNames = Object.keys(exportGroups).sort();
88
+ if (sortedDisplayNames.length === 0) {
89
+ return title;
90
+ }
91
+ const sections = sortedDisplayNames.map(displayName => {
92
+ const exports = exportGroups[displayName];
93
+ const sectionBody = exports.map(c => c.toString({
92
94
  color: true
93
- })).join('\n')}\n\n`;
94
- };
95
- return title + getSection(_schemas().ModuleSchema, 'Namespaces') + getSection(_schemas().ClassSchema, 'Classes') + getSection(_schemas().InterfaceSchema, 'Interfaces') + getSection(_schemas().FunctionLikeSchema, 'Functions') + getSection(_schemas().VariableLikeSchema, 'Variables') + getSection(_schemas().TypeSchema, 'Types') + getSection(_schemas().EnumSchema, 'Enums') + getSection(_schemas().TypeRefSchema, 'TypeReferences') + getSection(_schemas().UnresolvedSchema, 'Unresolved');
95
+ })).join('\n');
96
+ return `${_chalk().default.green.bold(displayName)}\n${sectionBody}`;
97
+ });
98
+ return title + sections.join('\n\n') + '\n\n';
96
99
  }
97
100
  toFullSignature(options = {
98
101
  showDocs: true
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentId","_schemas","_schemaNode","_tag","_schemaRegistry","e","__esModule","default","APISchema","SchemaNode","constructor","location","module","internals","componentId","taggedModuleExports","length","listTaggedExports","exports","filter","ExportSchema","isExportSchema","exportNode","doc","hasTag","TagName","map","toString","JSON","stringify","exp","toObject","undefined","toStringPerType","title","chalk","inverse","getSection","ClassObj","sectionName","objects","green","bold","c","color","join","ModuleSchema","ClassSchema","InterfaceSchema","FunctionLikeSchema","VariableLikeSchema","TypeSchema","EnumSchema","TypeRefSchema","UnresolvedSchema","toFullSignature","options","showDocs","exportGroups","node","constructorName","name","push","output","showTitles","Object","entries","readableSectionName","getReadableSectionName","sectionBody","trim","sectionNameMap","ReactSchema","listSignatures","signature","i","fromObject","obj","ComponentID","SchemaRegistry","empty","filePath","line","character"],"sources":["api-schema.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport {\n ClassSchema,\n EnumSchema,\n ExportSchema,\n FunctionLikeSchema,\n InterfaceSchema,\n ModuleSchema,\n TypeRefSchema,\n TypeSchema,\n UnresolvedSchema,\n VariableLikeSchema,\n} from './schemas';\nimport { SchemaLocation, SchemaNode } from './schema-node';\nimport { TagName } from './schemas/docs/tag';\nimport { SchemaRegistry } from './schema-registry';\n\nexport class APISchema extends SchemaNode {\n readonly module: ModuleSchema; // index\n\n readonly internals: ModuleSchema[];\n\n readonly componentId: ComponentID;\n\n readonly taggedModuleExports: SchemaNode[];\n\n constructor(\n readonly location: SchemaLocation,\n module: ModuleSchema,\n internals: ModuleSchema[],\n componentId: ComponentID,\n taggedModuleExports: SchemaNode[] = []\n ) {\n super();\n this.module = module;\n this.internals = internals;\n this.componentId = componentId;\n taggedModuleExports = (taggedModuleExports.length && taggedModuleExports) || this.listTaggedExports(module);\n this.taggedModuleExports = taggedModuleExports;\n }\n\n listTaggedExports(module?: ModuleSchema): SchemaNode[] {\n if (!module) return [];\n return module.exports\n .filter((e) => {\n if (ExportSchema.isExportSchema(e)) {\n return e.exportNode.doc?.hasTag(TagName.exports) || e.doc?.hasTag(TagName.exports);\n }\n return e.doc?.hasTag(TagName.exports);\n })\n .map((e) => {\n if (ExportSchema.isExportSchema(e)) {\n return e.exportNode;\n }\n return e;\n });\n }\n\n toString() {\n return JSON.stringify(\n this.module.exports.map((exp) => exp.toObject()),\n undefined,\n 2\n );\n }\n\n toStringPerType() {\n const title = chalk.inverse(`API Schema of ${this.componentId.toString()}\\n`);\n const getSection = (ClassObj, sectionName: string) => {\n const objects = this.module.exports.filter((exp) => {\n if (ExportSchema.isExportSchema(exp)) {\n return exp.exportNode instanceof ClassObj;\n }\n return exp instanceof ClassObj;\n });\n if (!objects.length) {\n return '';\n }\n\n return `${chalk.green.bold(sectionName)}\\n${objects.map((c) => c.toString({ color: true })).join('\\n')}\\n\\n`;\n };\n\n return (\n title +\n getSection(ModuleSchema, 'Namespaces') +\n getSection(ClassSchema, 'Classes') +\n getSection(InterfaceSchema, 'Interfaces') +\n getSection(FunctionLikeSchema, 'Functions') +\n getSection(VariableLikeSchema, 'Variables') +\n getSection(TypeSchema, 'Types') +\n getSection(EnumSchema, 'Enums') +\n getSection(TypeRefSchema, 'TypeReferences') +\n getSection(UnresolvedSchema, 'Unresolved')\n );\n }\n\n toFullSignature(options: { showDocs?: boolean; showTitles?: boolean } = { showDocs: true }): string {\n const title = `API Schema of ${this.componentId.toString()}\\n\\n`;\n\n const exportGroups: { [key: string]: SchemaNode[] } = {};\n\n for (const exp of this.module.exports) {\n const node = ExportSchema.isExportSchema(exp) ? exp.exportNode : exp;\n const constructorName = node.constructor.name;\n\n if (!exportGroups[constructorName]) {\n exportGroups[constructorName] = [];\n }\n\n exportGroups[constructorName].push(exp);\n }\n\n let output = options.showTitles ? title : '';\n\n for (const [sectionName, exports] of Object.entries(exportGroups)) {\n const readableSectionName = options.showTitles ? this.getReadableSectionName(sectionName) : '';\n\n output += `${readableSectionName}\\n\\n`;\n\n const sectionBody = exports.map((exp) => exp.toFullSignature(options)).join('\\n\\n');\n\n output += `${sectionBody}\\n\\n`;\n }\n\n return output.trim();\n }\n\n private getReadableSectionName(constructorName: string): string {\n const sectionNameMap: { [key: string]: string } = {\n ModuleSchema: 'Namespaces',\n ClassSchema: 'Classes',\n InterfaceSchema: 'Interfaces',\n FunctionLikeSchema: 'Functions',\n VariableLikeSchema: 'Variables',\n TypeSchema: 'Types',\n EnumSchema: 'Enums',\n TypeRefSchema: 'Type References',\n UnresolvedSchema: 'Unresolved',\n ReactSchema: 'React Components',\n };\n\n return sectionNameMap[constructorName] || constructorName;\n }\n\n listSignatures() {\n return this.module.exports.map((exp) => exp.signature);\n }\n\n toObject() {\n return {\n ...super.toObject(),\n module: this.module.toObject(),\n internals: this.internals.map((i) => i.toObject()),\n componentId: this.componentId.toObject(),\n taggedModuleExports: this.taggedModuleExports.map((e) => e.toObject()),\n };\n }\n\n static fromObject(obj: Record<string, any>): APISchema {\n const location: SchemaLocation = obj.location;\n const module: ModuleSchema = ModuleSchema.fromObject(obj.module);\n const internals: ModuleSchema[] = (obj.internals || []).map((i: any) => ModuleSchema.fromObject(i));\n const componentId: ComponentID = ComponentID.fromObject(obj.componentId);\n const taggedModuleExports = (obj.taggedModuleExports || []).map((e: any) => SchemaRegistry.fromObject(e));\n return new APISchema(location, module, internals, componentId, taggedModuleExports);\n }\n\n static empty(componentId: ComponentID) {\n return new APISchema(\n { filePath: '', line: 0, character: 0 },\n new ModuleSchema({ filePath: '', line: 0, character: 0 }, [], []),\n [],\n componentId\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentId","_schemas","_schemaNode","_tag","_schemaRegistry","e","__esModule","default","APISchema","SchemaNode","constructor","location","module","internals","componentId","taggedModuleExports","length","listTaggedExports","exports","filter","ExportSchema","isExportSchema","exportNode","doc","hasTag","TagName","map","toString","JSON","stringify","exp","toObject","undefined","toStringPerType","title","chalk","inverse","exportGroups","reduce","acc","node","displayName","displaySchemaName","push","sortedDisplayNames","Object","keys","sort","sections","sectionBody","c","color","join","green","bold","toFullSignature","options","showDocs","constructorName","name","output","showTitles","sectionName","entries","readableSectionName","getReadableSectionName","trim","sectionNameMap","ModuleSchema","ClassSchema","InterfaceSchema","FunctionLikeSchema","VariableLikeSchema","TypeSchema","EnumSchema","TypeRefSchema","UnresolvedSchema","ReactSchema","listSignatures","signature","i","fromObject","obj","ComponentID","SchemaRegistry","empty","filePath","line","character"],"sources":["api-schema.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport { ExportSchema, ModuleSchema } from './schemas';\nimport { SchemaLocation, SchemaNode } from './schema-node';\nimport { TagName } from './schemas/docs/tag';\nimport { SchemaRegistry } from './schema-registry';\n\nexport class APISchema extends SchemaNode {\n readonly module: ModuleSchema; // index\n\n readonly internals: ModuleSchema[];\n\n readonly componentId: ComponentID;\n\n readonly taggedModuleExports: SchemaNode[];\n\n constructor(\n readonly location: SchemaLocation,\n module: ModuleSchema,\n internals: ModuleSchema[],\n componentId: ComponentID,\n taggedModuleExports: SchemaNode[] = []\n ) {\n super();\n this.module = module;\n this.internals = internals;\n this.componentId = componentId;\n taggedModuleExports = (taggedModuleExports.length && taggedModuleExports) || this.listTaggedExports(module);\n this.taggedModuleExports = taggedModuleExports;\n }\n\n listTaggedExports(module?: ModuleSchema): SchemaNode[] {\n if (!module) return [];\n return module.exports\n .filter((e) => {\n if (ExportSchema.isExportSchema(e)) {\n return e.exportNode.doc?.hasTag(TagName.exports) || e.doc?.hasTag(TagName.exports);\n }\n return e.doc?.hasTag(TagName.exports);\n })\n .map((e) => {\n if (ExportSchema.isExportSchema(e)) {\n return e.exportNode;\n }\n return e;\n });\n }\n\n toString() {\n return JSON.stringify(\n this.module.exports.map((exp) => exp.toObject()),\n undefined,\n 2\n );\n }\n\n toStringPerType() {\n const title = chalk.inverse(`API Schema of ${this.componentId.toString()}\\n`);\n\n const exportGroups = this.module.exports.reduce(\n (acc, exp) => {\n const node = ExportSchema.isExportSchema(exp) ? exp.exportNode : exp;\n\n const displayName = node.displaySchemaName;\n\n (acc[displayName] = acc[displayName] || []).push(exp);\n return acc;\n },\n {} as { [key: string]: SchemaNode[] }\n );\n\n const sortedDisplayNames = Object.keys(exportGroups).sort();\n\n if (sortedDisplayNames.length === 0) {\n return title;\n }\n\n const sections = sortedDisplayNames.map((displayName) => {\n const exports = exportGroups[displayName];\n const sectionBody = exports.map((c) => c.toString({ color: true })).join('\\n');\n\n return `${chalk.green.bold(displayName)}\\n${sectionBody}`;\n });\n\n return title + sections.join('\\n\\n') + '\\n\\n';\n }\n\n toFullSignature(options: { showDocs?: boolean; showTitles?: boolean } = { showDocs: true }): string {\n const title = `API Schema of ${this.componentId.toString()}\\n\\n`;\n\n const exportGroups: { [key: string]: SchemaNode[] } = {};\n\n for (const exp of this.module.exports) {\n const node = ExportSchema.isExportSchema(exp) ? exp.exportNode : exp;\n const constructorName = node.constructor.name;\n\n if (!exportGroups[constructorName]) {\n exportGroups[constructorName] = [];\n }\n\n exportGroups[constructorName].push(exp);\n }\n\n let output = options.showTitles ? title : '';\n\n for (const [sectionName, exports] of Object.entries(exportGroups)) {\n const readableSectionName = options.showTitles ? this.getReadableSectionName(sectionName) : '';\n\n output += `${readableSectionName}\\n\\n`;\n\n const sectionBody = exports.map((exp) => exp.toFullSignature(options)).join('\\n\\n');\n\n output += `${sectionBody}\\n\\n`;\n }\n\n return output.trim();\n }\n\n private getReadableSectionName(constructorName: string): string {\n const sectionNameMap: { [key: string]: string } = {\n ModuleSchema: 'Namespaces',\n ClassSchema: 'Classes',\n InterfaceSchema: 'Interfaces',\n FunctionLikeSchema: 'Functions',\n VariableLikeSchema: 'Variables',\n TypeSchema: 'Types',\n EnumSchema: 'Enums',\n TypeRefSchema: 'Type References',\n UnresolvedSchema: 'Unresolved',\n ReactSchema: 'React Components',\n };\n\n return sectionNameMap[constructorName] || constructorName;\n }\n\n listSignatures() {\n return this.module.exports.map((exp) => exp.signature);\n }\n\n toObject() {\n return {\n ...super.toObject(),\n module: this.module.toObject(),\n internals: this.internals.map((i) => i.toObject()),\n componentId: this.componentId.toObject(),\n taggedModuleExports: this.taggedModuleExports.map((e) => e.toObject()),\n };\n }\n\n static fromObject(obj: Record<string, any>): APISchema {\n const location: SchemaLocation = obj.location;\n const module: ModuleSchema = ModuleSchema.fromObject(obj.module);\n const internals: ModuleSchema[] = (obj.internals || []).map((i: any) => ModuleSchema.fromObject(i));\n const componentId: ComponentID = ComponentID.fromObject(obj.componentId);\n const taggedModuleExports = (obj.taggedModuleExports || []).map((e: any) => SchemaRegistry.fromObject(e));\n return new APISchema(location, module, internals, componentId, taggedModuleExports);\n }\n\n static empty(componentId: ComponentID) {\n return new APISchema(\n { filePath: '', line: 0, character: 0 },\n new ModuleSchema({ filePath: '', line: 0, character: 0 }, [], []),\n [],\n componentId\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/index.js CHANGED
@@ -132,7 +132,6 @@ function _functionLike() {
132
132
  };
133
133
  return data;
134
134
  }
135
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
136
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
135
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
137
136
 
138
137
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Schemas","_interopRequireWildcard","require","exports","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_schemaNode","data","_apiSchema","_export","_tag","_schemaRegistry","_schemaNodeConstructor","_functionLike","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set"],"sources":["index.ts"],"sourcesContent":["import * as Schemas from './schemas';\n\nexport { SchemaNode, ISchemaNode } from './schema-node';\nexport { APISchema } from './api-schema';\nexport { Export, StaticProperties } from './export';\nexport type { SchemaLocation as Location } from './schema-node';\nexport { TagName } from './schemas/docs/tag';\nexport { SchemaRegistry } from './schema-registry';\nexport { SchemaNodeConstructor } from './schema-node-constructor';\nexport { Modifier } from './schemas/function-like';\nexport { Schemas };\n\nexport * from './schemas';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAqCC,OAAA,CAAAH,OAAA,GAAAA,OAAA;AAYrCI,MAAA,CAAAC,IAAA,CAAAL,OAAA,EAAAM,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAJ,OAAA,IAAAA,OAAA,CAAAI,GAAA,MAAAP,OAAA,CAAAO,GAAA;EAAAH,MAAA,CAAAQ,cAAA,CAAAT,OAAA,EAAAI,GAAA;IAAAM,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,OAAA,CAAAO,GAAA;IAAA;EAAA;AAAA;AAVA,SAAAQ,YAAA;EAAA,MAAAC,IAAA,GAAAd,OAAA;EAAAa,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAC,WAAA;EAAA,MAAAD,IAAA,GAAAd,OAAA;EAAAe,UAAA,YAAAA,CAAA;IAAA,OAAAD,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAd,OAAA;EAAAgB,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAd,OAAA;EAAAiB,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAd,OAAA;EAAAkB,eAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,uBAAA;EAAA,MAAAL,IAAA,GAAAd,OAAA;EAAAmB,sBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,cAAA;EAAA,MAAAN,IAAA,GAAAd,OAAA;EAAAoB,aAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmD,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAvB,wBAAAuB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAb,GAAA,CAAAU,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAA7B,MAAA,CAAAQ,cAAA,IAAAR,MAAA,CAAA8B,wBAAA,WAAAC,CAAA,IAAAX,CAAA,oBAAAW,CAAA,OAAA1B,cAAA,CAAAC,IAAA,CAAAc,CAAA,EAAAW,CAAA,SAAAC,CAAA,GAAAH,CAAA,GAAA7B,MAAA,CAAA8B,wBAAA,CAAAV,CAAA,EAAAW,CAAA,UAAAC,CAAA,KAAAA,CAAA,CAAAtB,GAAA,IAAAsB,CAAA,CAAAC,GAAA,IAAAjC,MAAA,CAAAQ,cAAA,CAAAmB,CAAA,EAAAI,CAAA,EAAAC,CAAA,IAAAL,CAAA,CAAAI,CAAA,IAAAX,CAAA,CAAAW,CAAA,YAAAJ,CAAA,CAAAF,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAU,GAAA,CAAAb,CAAA,EAAAO,CAAA,GAAAA,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["Schemas","_interopRequireWildcard","require","exports","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_schemaNode","data","_apiSchema","_export","_tag","_schemaRegistry","_schemaNodeConstructor","_functionLike","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","set","getOwnPropertyDescriptor"],"sources":["index.ts"],"sourcesContent":["import * as Schemas from './schemas';\n\nexport { SchemaNode, ISchemaNode } from './schema-node';\nexport { APISchema } from './api-schema';\nexport { Export, StaticProperties } from './export';\nexport type { SchemaLocation as Location } from './schema-node';\nexport { TagName } from './schemas/docs/tag';\nexport { SchemaRegistry } from './schema-registry';\nexport { SchemaNodeConstructor } from './schema-node-constructor';\nexport { Modifier } from './schemas/function-like';\nexport { Schemas };\n\nexport * from './schemas';\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ export interface ISchemaNode {
15
15
  getNodes(): SchemaNode[];
16
16
  findNode(predicate: (node: SchemaNode) => boolean, visitedNodes?: Set<SchemaNode>): SchemaNode | undefined;
17
17
  getAllNodesRecursively(visitedNodes?: Set<SchemaNode>): SchemaNode[];
18
+ displaySchemaName: string;
18
19
  }
19
20
  /**
20
21
  * a convenient abstract class for all schema to extend.
@@ -23,6 +24,7 @@ export interface ISchemaNode {
23
24
  */
24
25
  export declare abstract class SchemaNode implements ISchemaNode {
25
26
  readonly __schema: string;
27
+ readonly displaySchemaName: string;
26
28
  abstract readonly location: SchemaLocation;
27
29
  readonly doc?: DocSchema;
28
30
  readonly signature?: string;
@@ -18,6 +18,7 @@ function _lodash() {
18
18
  */
19
19
  class SchemaNode {
20
20
  __schema = this.constructor.name;
21
+ displaySchemaName = this.constructor.name.replace(/Schema$/, '').replace(/([A-Z])/g, ' $1').trim().replace(/s$/, 'ses').replace(/([^s]s)$/, '$1es').replace(/([^s])$/, '$1s');
21
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
22
23
  static fromObject(obj) {
23
24
  throw new Error(`Method 'fromObject' not implemented in subclass.`);
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","SchemaNode","__schema","constructor","name","fromObject","obj","Error","toObject","pickBy","location","doc","undefined","signature","v","getNodes","getAllNodesRecursively","visitedNodes","Set","has","add","nodes","flatMap","node","findNode","predicate","child","foundNode","exports"],"sources":["schema-node.ts"],"sourcesContent":["import { pickBy } from 'lodash';\nimport { DocSchema } from './schemas';\n\nexport interface ISchemaNode {\n __schema: string;\n location: SchemaLocation;\n doc?: DocSchema;\n signature?: string;\n name?: string;\n toObject(): Record<string, any>;\n toString(options?: { color?: boolean }): string;\n toFullSignature(options?: { showDocs?: boolean }): string;\n getNodes(): SchemaNode[];\n findNode(predicate: (node: SchemaNode) => boolean, visitedNodes?: Set<SchemaNode>): SchemaNode | undefined;\n getAllNodesRecursively(visitedNodes?: Set<SchemaNode>): SchemaNode[];\n}\n\n/**\n * a convenient abstract class for all schema to extend.\n * the reason for having it as an abstract class and not an interface, for now, is mostly for the `__schema` prop.\n * this way it won't need to be implemented in each one of the subclasses.\n */\nexport abstract class SchemaNode implements ISchemaNode {\n readonly __schema = this.constructor.name;\n abstract readonly location: SchemaLocation;\n readonly doc?: DocSchema;\n readonly signature?: string;\n readonly name?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static fromObject(obj: Record<string, any>): SchemaNode {\n throw new Error(`Method 'fromObject' not implemented in subclass.`);\n }\n\n toObject(): Record<string, any> {\n return pickBy(\n {\n __schema: this.__schema,\n location: this.location,\n doc: this.doc ? this.doc.toObject() : undefined,\n signature: this.signature,\n name: this.name,\n },\n (v) => v !== undefined\n );\n }\n\n abstract toString(options?: { color?: boolean }): string;\n abstract toFullSignature(options?: { showDocs?: boolean }): string;\n\n getNodes(): SchemaNode[] {\n return [this];\n }\n\n getAllNodesRecursively(visitedNodes = new Set<SchemaNode>()): SchemaNode[] {\n if (visitedNodes.has(this)) {\n return [];\n }\n\n visitedNodes.add(this);\n\n const nodes = this.getNodes();\n return [this, ...nodes.flatMap((node) => node.getAllNodesRecursively(visitedNodes))];\n }\n\n findNode(predicate: (node: SchemaNode) => boolean, visitedNodes = new Set<SchemaNode>()): SchemaNode | undefined {\n if (predicate(this)) return this;\n if (visitedNodes.has(this)) return undefined;\n\n visitedNodes.add(this);\n\n for (const child of this.getNodes()) {\n const foundNode = child.findNode(predicate, visitedNodes);\n if (foundNode) return foundNode;\n }\n\n return undefined;\n }\n}\n\nexport type SchemaLocation = {\n /**\n * file-path relative to the component root-dir. normalized to Linux.\n */\n filePath: string;\n line: number;\n character: number;\n};\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAiBA;AACA;AACA;AACA;AACA;AACO,MAAeE,UAAU,CAAwB;EAC7CC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACC,IAAI;EAMzC;EACA,OAAOC,UAAUA,CAACC,GAAwB,EAAc;IACtD,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;EACrE;EAEAC,QAAQA,CAAA,EAAwB;IAC9B,OAAO,IAAAC,gBAAM,EACX;MACEP,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBQ,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,GAAG,EAAE,IAAI,CAACA,GAAG,GAAG,IAAI,CAACA,GAAG,CAACH,QAAQ,CAAC,CAAC,GAAGI,SAAS;MAC/CC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBT,IAAI,EAAE,IAAI,CAACA;IACb,CAAC,EACAU,CAAC,IAAKA,CAAC,KAAKF,SACf,CAAC;EACH;EAKAG,QAAQA,CAAA,EAAiB;IACvB,OAAO,CAAC,IAAI,CAAC;EACf;EAEAC,sBAAsBA,CAACC,YAAY,GAAG,IAAIC,GAAG,CAAa,CAAC,EAAgB;IACzE,IAAID,YAAY,CAACE,GAAG,CAAC,IAAI,CAAC,EAAE;MAC1B,OAAO,EAAE;IACX;IAEAF,YAAY,CAACG,GAAG,CAAC,IAAI,CAAC;IAEtB,MAAMC,KAAK,GAAG,IAAI,CAACN,QAAQ,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,GAAGM,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAACP,sBAAsB,CAACC,YAAY,CAAC,CAAC,CAAC;EACtF;EAEAO,QAAQA,CAACC,SAAwC,EAAER,YAAY,GAAG,IAAIC,GAAG,CAAa,CAAC,EAA0B;IAC/G,IAAIO,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;IAChC,IAAIR,YAAY,CAACE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAOP,SAAS;IAE5CK,YAAY,CAACG,GAAG,CAAC,IAAI,CAAC;IAEtB,KAAK,MAAMM,KAAK,IAAI,IAAI,CAACX,QAAQ,CAAC,CAAC,EAAE;MACnC,MAAMY,SAAS,GAAGD,KAAK,CAACF,QAAQ,CAACC,SAAS,EAAER,YAAY,CAAC;MACzD,IAAIU,SAAS,EAAE,OAAOA,SAAS;IACjC;IAEA,OAAOf,SAAS;EAClB;AACF;AAACgB,OAAA,CAAA3B,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","data","require","SchemaNode","__schema","constructor","name","displaySchemaName","replace","trim","fromObject","obj","Error","toObject","pickBy","location","doc","undefined","signature","v","getNodes","getAllNodesRecursively","visitedNodes","Set","has","add","nodes","flatMap","node","findNode","predicate","child","foundNode","exports"],"sources":["schema-node.ts"],"sourcesContent":["import { pickBy } from 'lodash';\nimport { DocSchema } from './schemas';\n\nexport interface ISchemaNode {\n __schema: string;\n location: SchemaLocation;\n doc?: DocSchema;\n signature?: string;\n name?: string;\n toObject(): Record<string, any>;\n toString(options?: { color?: boolean }): string;\n toFullSignature(options?: { showDocs?: boolean }): string;\n getNodes(): SchemaNode[];\n findNode(predicate: (node: SchemaNode) => boolean, visitedNodes?: Set<SchemaNode>): SchemaNode | undefined;\n getAllNodesRecursively(visitedNodes?: Set<SchemaNode>): SchemaNode[];\n displaySchemaName: string;\n}\n\n/**\n * a convenient abstract class for all schema to extend.\n * the reason for having it as an abstract class and not an interface, for now, is mostly for the `__schema` prop.\n * this way it won't need to be implemented in each one of the subclasses.\n */\nexport abstract class SchemaNode implements ISchemaNode {\n readonly __schema = this.constructor.name;\n readonly displaySchemaName = this.constructor.name\n .replace(/Schema$/, '')\n .replace(/([A-Z])/g, ' $1')\n .trim()\n .replace(/s$/, 'ses')\n .replace(/([^s]s)$/, '$1es')\n .replace(/([^s])$/, '$1s');\n\n abstract readonly location: SchemaLocation;\n readonly doc?: DocSchema;\n readonly signature?: string;\n readonly name?: string;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static fromObject(obj: Record<string, any>): SchemaNode {\n throw new Error(`Method 'fromObject' not implemented in subclass.`);\n }\n\n toObject(): Record<string, any> {\n return pickBy(\n {\n __schema: this.__schema,\n location: this.location,\n doc: this.doc ? this.doc.toObject() : undefined,\n signature: this.signature,\n name: this.name,\n },\n (v) => v !== undefined\n );\n }\n\n abstract toString(options?: { color?: boolean }): string;\n abstract toFullSignature(options?: { showDocs?: boolean }): string;\n\n getNodes(): SchemaNode[] {\n return [this];\n }\n\n getAllNodesRecursively(visitedNodes = new Set<SchemaNode>()): SchemaNode[] {\n if (visitedNodes.has(this)) {\n return [];\n }\n\n visitedNodes.add(this);\n\n const nodes = this.getNodes();\n return [this, ...nodes.flatMap((node) => node.getAllNodesRecursively(visitedNodes))];\n }\n\n findNode(predicate: (node: SchemaNode) => boolean, visitedNodes = new Set<SchemaNode>()): SchemaNode | undefined {\n if (predicate(this)) return this;\n if (visitedNodes.has(this)) return undefined;\n\n visitedNodes.add(this);\n\n for (const child of this.getNodes()) {\n const foundNode = child.findNode(predicate, visitedNodes);\n if (foundNode) return foundNode;\n }\n\n return undefined;\n }\n}\n\nexport type SchemaLocation = {\n /**\n * file-path relative to the component root-dir. normalized to Linux.\n */\n filePath: string;\n line: number;\n character: number;\n};\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAkBA;AACA;AACA;AACA;AACA;AACO,MAAeE,UAAU,CAAwB;EAC7CC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACC,IAAI;EAChCC,iBAAiB,GAAG,IAAI,CAACF,WAAW,CAACC,IAAI,CAC/CE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CACtBA,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAC1BC,IAAI,CAAC,CAAC,CACND,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CACpBA,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAC3BA,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;EAM5B;EACA,OAAOE,UAAUA,CAACC,GAAwB,EAAc;IACtD,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;EACrE;EAEAC,QAAQA,CAAA,EAAwB;IAC9B,OAAO,IAAAC,gBAAM,EACX;MACEV,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBW,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,GAAG,EAAE,IAAI,CAACA,GAAG,GAAG,IAAI,CAACA,GAAG,CAACH,QAAQ,CAAC,CAAC,GAAGI,SAAS;MAC/CC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBZ,IAAI,EAAE,IAAI,CAACA;IACb,CAAC,EACAa,CAAC,IAAKA,CAAC,KAAKF,SACf,CAAC;EACH;EAKAG,QAAQA,CAAA,EAAiB;IACvB,OAAO,CAAC,IAAI,CAAC;EACf;EAEAC,sBAAsBA,CAACC,YAAY,GAAG,IAAIC,GAAG,CAAa,CAAC,EAAgB;IACzE,IAAID,YAAY,CAACE,GAAG,CAAC,IAAI,CAAC,EAAE;MAC1B,OAAO,EAAE;IACX;IAEAF,YAAY,CAACG,GAAG,CAAC,IAAI,CAAC;IAEtB,MAAMC,KAAK,GAAG,IAAI,CAACN,QAAQ,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,GAAGM,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAACP,sBAAsB,CAACC,YAAY,CAAC,CAAC,CAAC;EACtF;EAEAO,QAAQA,CAACC,SAAwC,EAAER,YAAY,GAAG,IAAIC,GAAG,CAAa,CAAC,EAA0B;IAC/G,IAAIO,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;IAChC,IAAIR,YAAY,CAACE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAOP,SAAS;IAE5CK,YAAY,CAACG,GAAG,CAAC,IAAI,CAAC;IAEtB,KAAK,MAAMM,KAAK,IAAI,IAAI,CAACX,QAAQ,CAAC,CAAC,EAAE;MACnC,MAAMY,SAAS,GAAGD,KAAK,CAACF,QAAQ,CAACC,SAAS,EAAER,YAAY,CAAC;MACzD,IAAIU,SAAS,EAAE,OAAOA,SAAS;IACjC;IAEA,OAAOf,SAAS;EAClB;AACF;AAACgB,OAAA,CAAA9B,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -15,6 +15,7 @@ export declare class FunctionLikeSchema extends SchemaNode {
15
15
  readonly params: ParameterSchema[];
16
16
  readonly doc?: DocSchema;
17
17
  readonly signature?: string | undefined;
18
+ readonly displaySchemaName = "Functions";
18
19
  constructor(location: SchemaLocation, name: string, params: ParameterSchema[], returnType: SchemaNode, signature: string, modifiers?: Modifier[], doc?: DocSchema, typeParams?: string[] | undefined, decorators?: SchemaNode[] | undefined);
19
20
  getNodes(): (SchemaNode | ParameterSchema<SchemaNode>)[];
20
21
  toString(options?: {
@@ -51,6 +51,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
51
51
  * function-like can be a function, method, arrow-function, variable-function, etc.
52
52
  */
53
53
  class FunctionLikeSchema extends _schemaNode().SchemaNode {
54
+ displaySchemaName = 'Functions';
54
55
  constructor(location, name, params, returnType, signature, modifiers = [], doc, typeParams, decorators) {
55
56
  super();
56
57
  this.location = location;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_schemaNode","_parameter","_docs","_tag","_schemaRegistry","e","__esModule","default","FunctionLikeSchema","SchemaNode","constructor","location","name","params","returnType","signature","modifiers","doc","typeParams","decorators","createSignature","getNodes","toString","options","bold","color","chalk","text","paramsStr","map","param","join","typeParamsStr","decoratorsStr","decorator","modifiersToString","toFullSignature","result","showDocs","modifiersStr","paramStr","isSpread","isOptional","type","defaultValue","undefined","isDeprecated","Boolean","hasTag","TagName","deprecated","isPrivate","find","m","private","generateSignature","toObject","fromObject","obj","ParameterSchema","SchemaRegistry","DocSchema","modifiersToPrint","filter","modifier","length","exports"],"sources":["function-like.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { SchemaLocation, SchemaNode } from '../schema-node';\nimport { ParameterSchema } from './parameter';\nimport { DocSchema } from './docs';\nimport { TagName } from './docs/tag';\nimport { SchemaRegistry } from '../schema-registry';\n\nexport type Modifier =\n | 'static'\n | 'public'\n | 'private'\n | 'protected'\n | 'readonly'\n | 'abstract'\n | 'async'\n | 'override'\n | 'export';\n\n/**\n * function-like can be a function, method, arrow-function, variable-function, etc.\n */\nexport class FunctionLikeSchema extends SchemaNode {\n readonly returnType: SchemaNode;\n readonly params: ParameterSchema[];\n readonly doc?: DocSchema;\n readonly signature?: string | undefined;\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n params: ParameterSchema[],\n returnType: SchemaNode,\n signature: string,\n readonly modifiers: Modifier[] = [],\n doc?: DocSchema,\n readonly typeParams?: string[],\n readonly decorators?: SchemaNode[]\n ) {\n super();\n this.params = params;\n this.returnType = returnType;\n this.doc = doc;\n this.signature = signature || FunctionLikeSchema.createSignature(this.name, this.params, this.returnType);\n }\n\n getNodes() {\n return [...this.params, this.returnType, ...(this.decorators || [])];\n }\n\n toString(options?: { color?: boolean }) {\n const bold = options?.color ? chalk.bold : (text: string) => text;\n const paramsStr = this.params.map((param) => param.toString()).join(', ');\n const typeParamsStr = this.typeParams ? `<${this.typeParams.join(', ')}>` : '';\n const decoratorsStr = this.decorators?.map((decorator) => decorator.toString(options)).join('\\n');\n return `${this.decorators ? `${decoratorsStr}\\n` : ''}${this.modifiersToString()}${typeParamsStr}${bold(\n this.name\n )}(${paramsStr}): ${this.returnType.toString(options)}`;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n let result = '';\n if (options?.showDocs && this.doc) {\n result += `${this.doc.toFullSignature()}\\n`;\n }\n const decoratorsStr = this.decorators?.map((decorator) => decorator.toString()).join('\\n');\n if (decoratorsStr) {\n result += `${decoratorsStr}\\n`;\n }\n const modifiersStr = this.modifiersToString();\n const typeParamsStr = this.typeParams ? `<${this.typeParams.join(', ')}>` : '';\n const paramsStr = this.params\n .map((param) => {\n let paramStr = '';\n if (param.isSpread) {\n paramStr += '...';\n }\n paramStr += param.name;\n if (param.isOptional) {\n paramStr += '?';\n }\n paramStr += `: ${param.type.toString()}`;\n if (param.defaultValue !== undefined) {\n paramStr += ` = ${param.defaultValue}`;\n }\n return paramStr;\n })\n .join(', ');\n result += `${modifiersStr}${this.name}${typeParamsStr}(${paramsStr}): ${this.returnType.toString()}`;\n return result;\n }\n\n isDeprecated(): boolean {\n return Boolean(this.doc?.hasTag(TagName.deprecated));\n }\n\n isPrivate(): boolean {\n return Boolean(this.modifiers.find((m) => m === 'private') || this.doc?.hasTag(TagName.private));\n }\n\n generateSignature(): string {\n return FunctionLikeSchema.createSignature(this.name, this.params, this.returnType, this.decorators);\n }\n\n static createSignature(\n name: string,\n params: ParameterSchema[],\n returnType: SchemaNode,\n decorators?: SchemaNode[]\n ): string {\n const paramsStr = params\n .map((param) => {\n let type = param.type.toString();\n if (param.isSpread) type = `...${type}`;\n return `${param.name}${param.isOptional ? '?' : ''}: ${type}`;\n })\n .join(', ');\n const decoratorsStr = decorators?.map((decorator) => decorator.toString()).join('\\n');\n return `${decorators ? `${decoratorsStr}\\n` : ''}${name}(${paramsStr}): ${returnType.toString()}`;\n }\n\n toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n params: this.params.map((param) => param.toObject()),\n returnType: this.returnType.toObject(),\n signature: this.signature,\n modifiers: this.modifiers,\n doc: this.doc?.toObject(),\n typeParams: this.typeParams,\n decorators: this.decorators?.map((decorator) => decorator.toObject()),\n };\n }\n\n static fromObject(obj: Record<string, any>) {\n return new FunctionLikeSchema(\n obj.location,\n obj.name,\n obj.params.map((param: Record<string, any>) => ParameterSchema.fromObject(param)),\n SchemaRegistry.fromObject(obj.returnType),\n obj.signature,\n obj.modifiers,\n obj.doc ? DocSchema.fromObject(obj.doc) : undefined,\n obj.typeParams,\n obj.decorators?.map((decorator) => SchemaRegistry.fromObject(decorator))\n );\n }\n\n private modifiersToString() {\n const modifiersToPrint = this.modifiers.filter((modifier) => modifier !== 'export');\n return modifiersToPrint.length ? `${modifiersToPrint.join(' ')} ` : '';\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,MAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,KAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,IAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,gBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,eAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,SAAAC,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAapD;AACA;AACA;AACO,MAAMG,kBAAkB,SAASC,wBAAU,CAAC;EAMjDC,WAAWA,CACAC,QAAwB,EACxBC,IAAY,EACrBC,MAAyB,EACzBC,UAAsB,EACtBC,SAAiB,EACRC,SAAqB,GAAG,EAAE,EACnCC,GAAe,EACNC,UAAqB,EACrBC,UAAyB,EAClC;IACA,KAAK,CAAC,CAAC;IAAC,KAVCR,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,IAAY,GAAZA,IAAY;IAAA,KAIZI,SAAqB,GAArBA,SAAqB;IAAA,KAErBE,UAAqB,GAArBA,UAAqB;IAAA,KACrBC,UAAyB,GAAzBA,UAAyB;IAGlC,IAAI,CAACN,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACG,GAAG,GAAGA,GAAG;IACd,IAAI,CAACF,SAAS,GAAGA,SAAS,IAAIP,kBAAkB,CAACY,eAAe,CAAC,IAAI,CAACR,IAAI,EAAE,IAAI,CAACC,MAAM,EAAE,IAAI,CAACC,UAAU,CAAC;EAC3G;EAEAO,QAAQA,CAAA,EAAG;IACT,OAAO,CAAC,GAAG,IAAI,CAACR,MAAM,EAAE,IAAI,CAACC,UAAU,EAAE,IAAI,IAAI,CAACK,UAAU,IAAI,EAAE,CAAC,CAAC;EACtE;EAEAG,QAAQA,CAACC,OAA6B,EAAE;IACtC,MAAMC,IAAI,GAAGD,OAAO,EAAEE,KAAK,GAAGC,gBAAK,CAACF,IAAI,GAAIG,IAAY,IAAKA,IAAI;IACjE,MAAMC,SAAS,GAAG,IAAI,CAACf,MAAM,CAACgB,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACR,QAAQ,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAI,CAACd,UAAU,GAAG,IAAI,IAAI,CAACA,UAAU,CAACa,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE;IAC9E,MAAME,aAAa,GAAG,IAAI,CAACd,UAAU,EAAEU,GAAG,CAAEK,SAAS,IAAKA,SAAS,CAACZ,QAAQ,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC;IACjG,OAAO,GAAG,IAAI,CAACZ,UAAU,GAAG,GAAGc,aAAa,IAAI,GAAG,EAAE,GAAG,IAAI,CAACE,iBAAiB,CAAC,CAAC,GAAGH,aAAa,GAAGR,IAAI,CACrG,IAAI,CAACZ,IACP,CAAC,IAAIgB,SAAS,MAAM,IAAI,CAACd,UAAU,CAACQ,QAAQ,CAACC,OAAO,CAAC,EAAE;EACzD;EAEAa,eAAeA,CAACb,OAAgC,EAAU;IACxD,IAAIc,MAAM,GAAG,EAAE;IACf,IAAId,OAAO,EAAEe,QAAQ,IAAI,IAAI,CAACrB,GAAG,EAAE;MACjCoB,MAAM,IAAI,GAAG,IAAI,CAACpB,GAAG,CAACmB,eAAe,CAAC,CAAC,IAAI;IAC7C;IACA,MAAMH,aAAa,GAAG,IAAI,CAACd,UAAU,EAAEU,GAAG,CAAEK,SAAS,IAAKA,SAAS,CAACZ,QAAQ,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;IAC1F,IAAIE,aAAa,EAAE;MACjBI,MAAM,IAAI,GAAGJ,aAAa,IAAI;IAChC;IACA,MAAMM,YAAY,GAAG,IAAI,CAACJ,iBAAiB,CAAC,CAAC;IAC7C,MAAMH,aAAa,GAAG,IAAI,CAACd,UAAU,GAAG,IAAI,IAAI,CAACA,UAAU,CAACa,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE;IAC9E,MAAMH,SAAS,GAAG,IAAI,CAACf,MAAM,CAC1BgB,GAAG,CAAEC,KAAK,IAAK;MACd,IAAIU,QAAQ,GAAG,EAAE;MACjB,IAAIV,KAAK,CAACW,QAAQ,EAAE;QAClBD,QAAQ,IAAI,KAAK;MACnB;MACAA,QAAQ,IAAIV,KAAK,CAAClB,IAAI;MACtB,IAAIkB,KAAK,CAACY,UAAU,EAAE;QACpBF,QAAQ,IAAI,GAAG;MACjB;MACAA,QAAQ,IAAI,KAAKV,KAAK,CAACa,IAAI,CAACrB,QAAQ,CAAC,CAAC,EAAE;MACxC,IAAIQ,KAAK,CAACc,YAAY,KAAKC,SAAS,EAAE;QACpCL,QAAQ,IAAI,MAAMV,KAAK,CAACc,YAAY,EAAE;MACxC;MACA,OAAOJ,QAAQ;IACjB,CAAC,CAAC,CACDT,IAAI,CAAC,IAAI,CAAC;IACbM,MAAM,IAAI,GAAGE,YAAY,GAAG,IAAI,CAAC3B,IAAI,GAAGoB,aAAa,IAAIJ,SAAS,MAAM,IAAI,CAACd,UAAU,CAACQ,QAAQ,CAAC,CAAC,EAAE;IACpG,OAAOe,MAAM;EACf;EAEAS,YAAYA,CAAA,EAAY;IACtB,OAAOC,OAAO,CAAC,IAAI,CAAC9B,GAAG,EAAE+B,MAAM,CAACC,cAAO,CAACC,UAAU,CAAC,CAAC;EACtD;EAEAC,SAASA,CAAA,EAAY;IACnB,OAAOJ,OAAO,CAAC,IAAI,CAAC/B,SAAS,CAACoC,IAAI,CAAEC,CAAC,IAAKA,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,CAACpC,GAAG,EAAE+B,MAAM,CAACC,cAAO,CAACK,OAAO,CAAC,CAAC;EAClG;EAEAC,iBAAiBA,CAAA,EAAW;IAC1B,OAAO/C,kBAAkB,CAACY,eAAe,CAAC,IAAI,CAACR,IAAI,EAAE,IAAI,CAACC,MAAM,EAAE,IAAI,CAACC,UAAU,EAAE,IAAI,CAACK,UAAU,CAAC;EACrG;EAEA,OAAOC,eAAeA,CACpBR,IAAY,EACZC,MAAyB,EACzBC,UAAsB,EACtBK,UAAyB,EACjB;IACR,MAAMS,SAAS,GAAGf,MAAM,CACrBgB,GAAG,CAAEC,KAAK,IAAK;MACd,IAAIa,IAAI,GAAGb,KAAK,CAACa,IAAI,CAACrB,QAAQ,CAAC,CAAC;MAChC,IAAIQ,KAAK,CAACW,QAAQ,EAAEE,IAAI,GAAG,MAAMA,IAAI,EAAE;MACvC,OAAO,GAAGb,KAAK,CAAClB,IAAI,GAAGkB,KAAK,CAACY,UAAU,GAAG,GAAG,GAAG,EAAE,KAAKC,IAAI,EAAE;IAC/D,CAAC,CAAC,CACDZ,IAAI,CAAC,IAAI,CAAC;IACb,MAAME,aAAa,GAAGd,UAAU,EAAEU,GAAG,CAAEK,SAAS,IAAKA,SAAS,CAACZ,QAAQ,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;IACrF,OAAO,GAAGZ,UAAU,GAAG,GAAGc,aAAa,IAAI,GAAG,EAAE,GAAGrB,IAAI,IAAIgB,SAAS,MAAMd,UAAU,CAACQ,QAAQ,CAAC,CAAC,EAAE;EACnG;EAEAkC,QAAQA,CAAA,EAAG;IACT,OAAO;MACL,GAAG,KAAK,CAACA,QAAQ,CAAC,CAAC;MACnB5C,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACgB,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAAC0B,QAAQ,CAAC,CAAC,CAAC;MACpD1C,UAAU,EAAE,IAAI,CAACA,UAAU,CAAC0C,QAAQ,CAAC,CAAC;MACtCzC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,GAAG,EAAE,IAAI,CAACA,GAAG,EAAEuC,QAAQ,CAAC,CAAC;MACzBtC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,UAAU,EAAE,IAAI,CAACA,UAAU,EAAEU,GAAG,CAAEK,SAAS,IAAKA,SAAS,CAACsB,QAAQ,CAAC,CAAC;IACtE,CAAC;EACH;EAEA,OAAOC,UAAUA,CAACC,GAAwB,EAAE;IAC1C,OAAO,IAAIlD,kBAAkB,CAC3BkD,GAAG,CAAC/C,QAAQ,EACZ+C,GAAG,CAAC9C,IAAI,EACR8C,GAAG,CAAC7C,MAAM,CAACgB,GAAG,CAAEC,KAA0B,IAAK6B,4BAAe,CAACF,UAAU,CAAC3B,KAAK,CAAC,CAAC,EACjF8B,gCAAc,CAACH,UAAU,CAACC,GAAG,CAAC5C,UAAU,CAAC,EACzC4C,GAAG,CAAC3C,SAAS,EACb2C,GAAG,CAAC1C,SAAS,EACb0C,GAAG,CAACzC,GAAG,GAAG4C,iBAAS,CAACJ,UAAU,CAACC,GAAG,CAACzC,GAAG,CAAC,GAAG4B,SAAS,EACnDa,GAAG,CAACxC,UAAU,EACdwC,GAAG,CAACvC,UAAU,EAAEU,GAAG,CAAEK,SAAS,IAAK0B,gCAAc,CAACH,UAAU,CAACvB,SAAS,CAAC,CACzE,CAAC;EACH;EAEQC,iBAAiBA,CAAA,EAAG;IAC1B,MAAM2B,gBAAgB,GAAG,IAAI,CAAC9C,SAAS,CAAC+C,MAAM,CAAEC,QAAQ,IAAKA,QAAQ,KAAK,QAAQ,CAAC;IACnF,OAAOF,gBAAgB,CAACG,MAAM,GAAG,GAAGH,gBAAgB,CAAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;EACxE;AACF;AAACmC,OAAA,CAAA1D,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_schemaNode","_parameter","_docs","_tag","_schemaRegistry","e","__esModule","default","FunctionLikeSchema","SchemaNode","displaySchemaName","constructor","location","name","params","returnType","signature","modifiers","doc","typeParams","decorators","createSignature","getNodes","toString","options","bold","color","chalk","text","paramsStr","map","param","join","typeParamsStr","decoratorsStr","decorator","modifiersToString","toFullSignature","result","showDocs","modifiersStr","paramStr","isSpread","isOptional","type","defaultValue","undefined","isDeprecated","Boolean","hasTag","TagName","deprecated","isPrivate","find","m","private","generateSignature","toObject","fromObject","obj","ParameterSchema","SchemaRegistry","DocSchema","modifiersToPrint","filter","modifier","length","exports"],"sources":["function-like.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { SchemaLocation, SchemaNode } from '../schema-node';\nimport { ParameterSchema } from './parameter';\nimport { DocSchema } from './docs';\nimport { TagName } from './docs/tag';\nimport { SchemaRegistry } from '../schema-registry';\n\nexport type Modifier =\n | 'static'\n | 'public'\n | 'private'\n | 'protected'\n | 'readonly'\n | 'abstract'\n | 'async'\n | 'override'\n | 'export';\n\n/**\n * function-like can be a function, method, arrow-function, variable-function, etc.\n */\nexport class FunctionLikeSchema extends SchemaNode {\n readonly returnType: SchemaNode;\n readonly params: ParameterSchema[];\n readonly doc?: DocSchema;\n readonly signature?: string | undefined;\n readonly displaySchemaName = 'Functions';\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n params: ParameterSchema[],\n returnType: SchemaNode,\n signature: string,\n readonly modifiers: Modifier[] = [],\n doc?: DocSchema,\n readonly typeParams?: string[],\n readonly decorators?: SchemaNode[]\n ) {\n super();\n this.params = params;\n this.returnType = returnType;\n this.doc = doc;\n this.signature = signature || FunctionLikeSchema.createSignature(this.name, this.params, this.returnType);\n }\n\n getNodes() {\n return [...this.params, this.returnType, ...(this.decorators || [])];\n }\n\n toString(options?: { color?: boolean }) {\n const bold = options?.color ? chalk.bold : (text: string) => text;\n const paramsStr = this.params.map((param) => param.toString()).join(', ');\n const typeParamsStr = this.typeParams ? `<${this.typeParams.join(', ')}>` : '';\n const decoratorsStr = this.decorators?.map((decorator) => decorator.toString(options)).join('\\n');\n return `${this.decorators ? `${decoratorsStr}\\n` : ''}${this.modifiersToString()}${typeParamsStr}${bold(\n this.name\n )}(${paramsStr}): ${this.returnType.toString(options)}`;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n let result = '';\n if (options?.showDocs && this.doc) {\n result += `${this.doc.toFullSignature()}\\n`;\n }\n const decoratorsStr = this.decorators?.map((decorator) => decorator.toString()).join('\\n');\n if (decoratorsStr) {\n result += `${decoratorsStr}\\n`;\n }\n const modifiersStr = this.modifiersToString();\n const typeParamsStr = this.typeParams ? `<${this.typeParams.join(', ')}>` : '';\n const paramsStr = this.params\n .map((param) => {\n let paramStr = '';\n if (param.isSpread) {\n paramStr += '...';\n }\n paramStr += param.name;\n if (param.isOptional) {\n paramStr += '?';\n }\n paramStr += `: ${param.type.toString()}`;\n if (param.defaultValue !== undefined) {\n paramStr += ` = ${param.defaultValue}`;\n }\n return paramStr;\n })\n .join(', ');\n result += `${modifiersStr}${this.name}${typeParamsStr}(${paramsStr}): ${this.returnType.toString()}`;\n return result;\n }\n\n isDeprecated(): boolean {\n return Boolean(this.doc?.hasTag(TagName.deprecated));\n }\n\n isPrivate(): boolean {\n return Boolean(this.modifiers.find((m) => m === 'private') || this.doc?.hasTag(TagName.private));\n }\n\n generateSignature(): string {\n return FunctionLikeSchema.createSignature(this.name, this.params, this.returnType, this.decorators);\n }\n\n static createSignature(\n name: string,\n params: ParameterSchema[],\n returnType: SchemaNode,\n decorators?: SchemaNode[]\n ): string {\n const paramsStr = params\n .map((param) => {\n let type = param.type.toString();\n if (param.isSpread) type = `...${type}`;\n return `${param.name}${param.isOptional ? '?' : ''}: ${type}`;\n })\n .join(', ');\n const decoratorsStr = decorators?.map((decorator) => decorator.toString()).join('\\n');\n return `${decorators ? `${decoratorsStr}\\n` : ''}${name}(${paramsStr}): ${returnType.toString()}`;\n }\n\n toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n params: this.params.map((param) => param.toObject()),\n returnType: this.returnType.toObject(),\n signature: this.signature,\n modifiers: this.modifiers,\n doc: this.doc?.toObject(),\n typeParams: this.typeParams,\n decorators: this.decorators?.map((decorator) => decorator.toObject()),\n };\n }\n\n static fromObject(obj: Record<string, any>) {\n return new FunctionLikeSchema(\n obj.location,\n obj.name,\n obj.params.map((param: Record<string, any>) => ParameterSchema.fromObject(param)),\n SchemaRegistry.fromObject(obj.returnType),\n obj.signature,\n obj.modifiers,\n obj.doc ? DocSchema.fromObject(obj.doc) : undefined,\n obj.typeParams,\n obj.decorators?.map((decorator) => SchemaRegistry.fromObject(decorator))\n );\n }\n\n private modifiersToString() {\n const modifiersToPrint = this.modifiers.filter((modifier) => modifier !== 'export');\n return modifiersToPrint.length ? `${modifiersToPrint.join(' ')} ` : '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ export declare class UnImplementedSchema extends SchemaNode {
3
3
  readonly location: SchemaLocation;
4
4
  readonly name: string;
5
5
  readonly type: string;
6
+ readonly displaySchemaName = "Unimplemented Schemas";
6
7
  constructor(location: SchemaLocation, name: string, type: string);
7
8
  toString(): string;
8
9
  toFullSignature(): string;
@@ -12,6 +12,7 @@ function _schemaNode() {
12
12
  return data;
13
13
  }
14
14
  class UnImplementedSchema extends _schemaNode().SchemaNode {
15
+ displaySchemaName = 'Unimplemented Schemas';
15
16
  constructor(location, name, type) {
16
17
  super();
17
18
  this.location = location;
@@ -1 +1 @@
1
- {"version":3,"names":["_schemaNode","data","require","UnImplementedSchema","SchemaNode","constructor","location","name","type","toString","toFullSignature","toObject","fromObject","obj","exports"],"sources":["unimplemented-schema.ts"],"sourcesContent":["import { SchemaLocation, SchemaNode } from '../schema-node';\n\nexport class UnImplementedSchema extends SchemaNode {\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n readonly type: string\n ) {\n super();\n }\n\n toString() {\n return `<<unimplemented schema ${this.name} of type ${this.type}>>`;\n }\n\n toFullSignature(): string {\n return `<<unimplemented schema ${this.name} of type ${this.type}>>`;\n }\n\n toObject() {\n return {\n ...super.toObject(),\n type: this.type,\n };\n }\n\n static fromObject(obj: Record<string, any>): UnImplementedSchema {\n const location = obj.location;\n const name = obj.name;\n const type = obj.type;\n return new UnImplementedSchema(location, name, type);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,mBAAmB,SAASC,wBAAU,CAAC;EAClDC,WAAWA,CACAC,QAAwB,EACxBC,IAAY,EACZC,IAAY,EACrB;IACA,KAAK,CAAC,CAAC;IAAC,KAJCF,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,IAAY,GAAZA,IAAY;IAAA,KACZC,IAAY,GAAZA,IAAY;EAGvB;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAO,0BAA0B,IAAI,CAACF,IAAI,YAAY,IAAI,CAACC,IAAI,IAAI;EACrE;EAEAE,eAAeA,CAAA,EAAW;IACxB,OAAO,0BAA0B,IAAI,CAACH,IAAI,YAAY,IAAI,CAACC,IAAI,IAAI;EACrE;EAEAG,QAAQA,CAAA,EAAG;IACT,OAAO;MACL,GAAG,KAAK,CAACA,QAAQ,CAAC,CAAC;MACnBH,IAAI,EAAE,IAAI,CAACA;IACb,CAAC;EACH;EAEA,OAAOI,UAAUA,CAACC,GAAwB,EAAuB;IAC/D,MAAMP,QAAQ,GAAGO,GAAG,CAACP,QAAQ;IAC7B,MAAMC,IAAI,GAAGM,GAAG,CAACN,IAAI;IACrB,MAAMC,IAAI,GAAGK,GAAG,CAACL,IAAI;IACrB,OAAO,IAAIL,mBAAmB,CAACG,QAAQ,EAAEC,IAAI,EAAEC,IAAI,CAAC;EACtD;AACF;AAACM,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_schemaNode","data","require","UnImplementedSchema","SchemaNode","displaySchemaName","constructor","location","name","type","toString","toFullSignature","toObject","fromObject","obj","exports"],"sources":["unimplemented-schema.ts"],"sourcesContent":["import { SchemaLocation, SchemaNode } from '../schema-node';\n\nexport class UnImplementedSchema extends SchemaNode {\n readonly displaySchemaName = 'Unimplemented Schemas';\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n readonly type: string\n ) {\n super();\n }\n\n toString() {\n return `<<unimplemented schema ${this.name} of type ${this.type}>>`;\n }\n\n toFullSignature(): string {\n return `<<unimplemented schema ${this.name} of type ${this.type}>>`;\n }\n\n toObject() {\n return {\n ...super.toObject(),\n type: this.type,\n };\n }\n\n static fromObject(obj: Record<string, any>): UnImplementedSchema {\n const location = obj.location;\n const name = obj.name;\n const type = obj.type;\n return new UnImplementedSchema(location, name, type);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,mBAAmB,SAASC,wBAAU,CAAC;EACzCC,iBAAiB,GAAG,uBAAuB;EAEpDC,WAAWA,CACAC,QAAwB,EACxBC,IAAY,EACZC,IAAY,EACrB;IACA,KAAK,CAAC,CAAC;IAAC,KAJCF,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,IAAY,GAAZA,IAAY;IAAA,KACZC,IAAY,GAAZA,IAAY;EAGvB;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAO,0BAA0B,IAAI,CAACF,IAAI,YAAY,IAAI,CAACC,IAAI,IAAI;EACrE;EAEAE,eAAeA,CAAA,EAAW;IACxB,OAAO,0BAA0B,IAAI,CAACH,IAAI,YAAY,IAAI,CAACC,IAAI,IAAI;EACrE;EAEAG,QAAQA,CAAA,EAAG;IACT,OAAO;MACL,GAAG,KAAK,CAACA,QAAQ,CAAC,CAAC;MACnBH,IAAI,EAAE,IAAI,CAACA;IACb,CAAC;EACH;EAEA,OAAOI,UAAUA,CAACC,GAAwB,EAAuB;IAC/D,MAAMP,QAAQ,GAAGO,GAAG,CAACP,QAAQ;IAC7B,MAAMC,IAAI,GAAGM,GAAG,CAACN,IAAI;IACrB,MAAMC,IAAI,GAAGK,GAAG,CAACL,IAAI;IACrB,OAAO,IAAIN,mBAAmB,CAACI,QAAQ,EAAEC,IAAI,EAAEC,IAAI,CAAC;EACtD;AACF;AAACM,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -11,6 +11,7 @@ export declare class VariableLikeSchema extends SchemaNode {
11
11
  readonly defaultValue?: string | undefined;
12
12
  type: SchemaNode;
13
13
  readonly doc?: DocSchema;
14
+ readonly displaySchemaName = "Variables";
14
15
  constructor(location: SchemaLocation, name: string, signature: string, type: SchemaNode, isOptional: boolean, doc?: DocSchema, defaultValue?: string | undefined);
15
16
  getNodes(): SchemaNode[];
16
17
  toString(options?: {
@@ -37,6 +37,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
37
37
  * can be also a property or property-signature
38
38
  */
39
39
  class VariableLikeSchema extends _schemaNode().SchemaNode {
40
+ displaySchemaName = 'Variables';
40
41
  constructor(location, name, signature, type, isOptional, doc, defaultValue) {
41
42
  super();
42
43
  this.location = location;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_schemaNode","_docs","_schemaRegistry","e","__esModule","default","VariableLikeSchema","SchemaNode","constructor","location","name","signature","type","isOptional","doc","defaultValue","getNodes","toString","options","bold","color","chalk","str","toFullSignature","namePart","typeSignature","undefined","showDocs","docString","toObject","fromObject","obj","SchemaRegistry","DocSchema","exports"],"sources":["variable-like.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { SchemaLocation, SchemaNode } from '../schema-node';\nimport { DocSchema } from './docs';\nimport { SchemaRegistry } from '../schema-registry';\n\n/**\n * can be also a property or property-signature\n */\nexport class VariableLikeSchema extends SchemaNode {\n type: SchemaNode;\n readonly doc?: DocSchema;\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n readonly signature: string,\n type: SchemaNode,\n readonly isOptional: boolean,\n doc?: DocSchema,\n readonly defaultValue?: string\n ) {\n super();\n this.type = type;\n this.doc = doc;\n }\n\n getNodes() {\n return [this.type];\n }\n\n toString(options?: { color?: boolean }) {\n const bold = options?.color ? chalk.bold : (str: string) => str;\n return `${bold(this.name)}${this.isOptional ? '?' : ''}: ${this.type.toString(options)}`;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n const namePart = `${this.name}${this.isOptional ? '?' : ''}`;\n const typeSignature = this.type.toFullSignature(options);\n let signature = `${namePart}: ${typeSignature}`;\n\n if (this.defaultValue !== undefined) {\n signature += ` = ${this.defaultValue}`;\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 toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n signature: this.signature,\n type: this.type.toObject(),\n isOptional: this.isOptional,\n doc: this.doc?.toObject(),\n defaultValue: this.defaultValue,\n };\n }\n\n static fromObject(obj: Record<string, any>): VariableLikeSchema {\n const location = obj.location;\n const name = obj.name;\n const signature = obj.signature;\n const type = SchemaRegistry.fromObject(obj.type);\n const isOptional = obj.isOptional;\n const doc = obj.doc ? DocSchema.fromObject(obj.doc) : undefined;\n const defaultValue = obj.defaultValue;\n return new VariableLikeSchema(location, name, signature, type, isOptional, doc, defaultValue);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_schemaNode","_docs","_schemaRegistry","e","__esModule","default","VariableLikeSchema","SchemaNode","displaySchemaName","constructor","location","name","signature","type","isOptional","doc","defaultValue","getNodes","toString","options","bold","color","chalk","str","toFullSignature","namePart","typeSignature","undefined","showDocs","docString","toObject","fromObject","obj","SchemaRegistry","DocSchema","exports"],"sources":["variable-like.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { SchemaLocation, SchemaNode } from '../schema-node';\nimport { DocSchema } from './docs';\nimport { SchemaRegistry } from '../schema-registry';\n\n/**\n * can be also a property or property-signature\n */\nexport class VariableLikeSchema extends SchemaNode {\n type: SchemaNode;\n readonly doc?: DocSchema;\n readonly displaySchemaName = 'Variables';\n\n constructor(\n readonly location: SchemaLocation,\n readonly name: string,\n readonly signature: string,\n type: SchemaNode,\n readonly isOptional: boolean,\n doc?: DocSchema,\n readonly defaultValue?: string\n ) {\n super();\n this.type = type;\n this.doc = doc;\n }\n\n getNodes() {\n return [this.type];\n }\n\n toString(options?: { color?: boolean }) {\n const bold = options?.color ? chalk.bold : (str: string) => str;\n return `${bold(this.name)}${this.isOptional ? '?' : ''}: ${this.type.toString(options)}`;\n }\n\n toFullSignature(options?: { showDocs?: boolean }): string {\n const namePart = `${this.name}${this.isOptional ? '?' : ''}`;\n const typeSignature = this.type.toFullSignature(options);\n let signature = `${namePart}: ${typeSignature}`;\n\n if (this.defaultValue !== undefined) {\n signature += ` = ${this.defaultValue}`;\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 toObject() {\n return {\n ...super.toObject(),\n name: this.name,\n signature: this.signature,\n type: this.type.toObject(),\n isOptional: this.isOptional,\n doc: this.doc?.toObject(),\n defaultValue: this.defaultValue,\n };\n }\n\n static fromObject(obj: Record<string, any>): VariableLikeSchema {\n const location = obj.location;\n const name = obj.name;\n const signature = obj.signature;\n const type = SchemaRegistry.fromObject(obj.type);\n const isOptional = obj.isOptional;\n const doc = obj.doc ? DocSchema.fromObject(obj.doc) : undefined;\n const defaultValue = obj.defaultValue;\n return new VariableLikeSchema(location, name, signature, type, isOptional, doc, defaultValue);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,MAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,KAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,SAAAC,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpD;AACA;AACA;AACO,MAAMG,kBAAkB,SAASC,wBAAU,CAAC;EAGxCC,iBAAiB,GAAG,WAAW;EAExCC,WAAWA,CACAC,QAAwB,EACxBC,IAAY,EACZC,SAAiB,EAC1BC,IAAgB,EACPC,UAAmB,EAC5BC,GAAe,EACNC,YAAqB,EAC9B;IACA,KAAK,CAAC,CAAC;IAAC,KARCN,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,IAAY,GAAZA,IAAY;IAAA,KACZC,SAAiB,GAAjBA,SAAiB;IAAA,KAEjBE,UAAmB,GAAnBA,UAAmB;IAAA,KAEnBE,YAAqB,GAArBA,YAAqB;IAG9B,IAAI,CAACH,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,GAAG,GAAGA,GAAG;EAChB;EAEAE,QAAQA,CAAA,EAAG;IACT,OAAO,CAAC,IAAI,CAACJ,IAAI,CAAC;EACpB;EAEAK,QAAQA,CAACC,OAA6B,EAAE;IACtC,MAAMC,IAAI,GAAGD,OAAO,EAAEE,KAAK,GAAGC,gBAAK,CAACF,IAAI,GAAIG,GAAW,IAAKA,GAAG;IAC/D,OAAO,GAAGH,IAAI,CAAC,IAAI,CAACT,IAAI,CAAC,GAAG,IAAI,CAACG,UAAU,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,CAACD,IAAI,CAACK,QAAQ,CAACC,OAAO,CAAC,EAAE;EAC1F;EAEAK,eAAeA,CAACL,OAAgC,EAAU;IACxD,MAAMM,QAAQ,GAAG,GAAG,IAAI,CAACd,IAAI,GAAG,IAAI,CAACG,UAAU,GAAG,GAAG,GAAG,EAAE,EAAE;IAC5D,MAAMY,aAAa,GAAG,IAAI,CAACb,IAAI,CAACW,eAAe,CAACL,OAAO,CAAC;IACxD,IAAIP,SAAS,GAAG,GAAGa,QAAQ,KAAKC,aAAa,EAAE;IAE/C,IAAI,IAAI,CAACV,YAAY,KAAKW,SAAS,EAAE;MACnCf,SAAS,IAAI,MAAM,IAAI,CAACI,YAAY,EAAE;IACxC;IAEA,IAAIG,OAAO,EAAES,QAAQ,IAAI,IAAI,CAACb,GAAG,EAAE;MACjC,MAAMc,SAAS,GAAG,IAAI,CAACd,GAAG,CAACS,eAAe,CAAC,CAAC;MAC5CZ,SAAS,GAAG,GAAGiB,SAAS,KAAKjB,SAAS,EAAE;IAC1C;IAEA,OAAOA,SAAS;EAClB;EAEAkB,QAAQA,CAAA,EAAG;IACT,OAAO;MACL,GAAG,KAAK,CAACA,QAAQ,CAAC,CAAC;MACnBnB,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,IAAI,EAAE,IAAI,CAACA,IAAI,CAACiB,QAAQ,CAAC,CAAC;MAC1BhB,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,GAAG,EAAE,IAAI,CAACA,GAAG,EAAEe,QAAQ,CAAC,CAAC;MACzBd,YAAY,EAAE,IAAI,CAACA;IACrB,CAAC;EACH;EAEA,OAAOe,UAAUA,CAACC,GAAwB,EAAsB;IAC9D,MAAMtB,QAAQ,GAAGsB,GAAG,CAACtB,QAAQ;IAC7B,MAAMC,IAAI,GAAGqB,GAAG,CAACrB,IAAI;IACrB,MAAMC,SAAS,GAAGoB,GAAG,CAACpB,SAAS;IAC/B,MAAMC,IAAI,GAAGoB,gCAAc,CAACF,UAAU,CAACC,GAAG,CAACnB,IAAI,CAAC;IAChD,MAAMC,UAAU,GAAGkB,GAAG,CAAClB,UAAU;IACjC,MAAMC,GAAG,GAAGiB,GAAG,CAACjB,GAAG,GAAGmB,iBAAS,CAACH,UAAU,CAACC,GAAG,CAACjB,GAAG,CAAC,GAAGY,SAAS;IAC/D,MAAMX,YAAY,GAAGgB,GAAG,CAAChB,YAAY;IACrC,OAAO,IAAIV,kBAAkB,CAACI,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAAEC,IAAI,EAAEC,UAAU,EAAEC,GAAG,EAAEC,YAAY,CAAC;EAC/F;AACF;AAACmB,OAAA,CAAA7B,kBAAA,GAAAA,kBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/semantics.entities.semantic-schema",
3
- "version": "0.0.86",
3
+ "version": "0.0.87",
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.86"
9
+ "version": "0.0.87"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
package/schema-node.ts CHANGED
@@ -13,6 +13,7 @@ export interface ISchemaNode {
13
13
  getNodes(): SchemaNode[];
14
14
  findNode(predicate: (node: SchemaNode) => boolean, visitedNodes?: Set<SchemaNode>): SchemaNode | undefined;
15
15
  getAllNodesRecursively(visitedNodes?: Set<SchemaNode>): SchemaNode[];
16
+ displaySchemaName: string;
16
17
  }
17
18
 
18
19
  /**
@@ -22,11 +23,18 @@ export interface ISchemaNode {
22
23
  */
23
24
  export abstract class SchemaNode implements ISchemaNode {
24
25
  readonly __schema = this.constructor.name;
26
+ readonly displaySchemaName = this.constructor.name
27
+ .replace(/Schema$/, '')
28
+ .replace(/([A-Z])/g, ' $1')
29
+ .trim()
30
+ .replace(/s$/, 'ses')
31
+ .replace(/([^s]s)$/, '$1es')
32
+ .replace(/([^s])$/, '$1s');
33
+
25
34
  abstract readonly location: SchemaLocation;
26
35
  readonly doc?: DocSchema;
27
36
  readonly signature?: string;
28
37
  readonly name?: string;
29
-
30
38
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
39
  static fromObject(obj: Record<string, any>): SchemaNode {
32
40
  throw new Error(`Method 'fromObject' not implemented in subclass.`);
@@ -24,6 +24,7 @@ export class FunctionLikeSchema extends SchemaNode {
24
24
  readonly params: ParameterSchema[];
25
25
  readonly doc?: DocSchema;
26
26
  readonly signature?: string | undefined;
27
+ readonly displaySchemaName = 'Functions';
27
28
 
28
29
  constructor(
29
30
  readonly location: SchemaLocation,
@@ -1,6 +1,8 @@
1
1
  import { SchemaLocation, SchemaNode } from '../schema-node';
2
2
 
3
3
  export class UnImplementedSchema extends SchemaNode {
4
+ readonly displaySchemaName = 'Unimplemented Schemas';
5
+
4
6
  constructor(
5
7
  readonly location: SchemaLocation,
6
8
  readonly name: string,
@@ -9,6 +9,7 @@ import { SchemaRegistry } from '../schema-registry';
9
9
  export class VariableLikeSchema extends SchemaNode {
10
10
  type: SchemaNode;
11
11
  readonly doc?: DocSchema;
12
+ readonly displaySchemaName = 'Variables';
12
13
 
13
14
  constructor(
14
15
  readonly location: SchemaLocation,