polyapi 0.26.1 → 0.26.2

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.
@@ -1,5 +1,5 @@
1
- /// <reference types="lodash" />
2
1
  import { SchemaRef, SchemaSpecification } from '../../types';
2
+ import { NestedT } from './shared';
3
3
  type JsonSchemaType = 'string' | 'number' | 'integer' | 'object' | 'array' | 'boolean' | 'null';
4
4
  type JsonSchemaTypeDeclaration = JsonSchemaType | JsonSchemaType[];
5
5
  type ConstValueT = null | string | number | boolean;
@@ -36,10 +36,9 @@ export type SchemaSpec = Omit<SchemaSpecification, 'definition'> & {
36
36
  definition: JsonSchema;
37
37
  };
38
38
  type SchemaTree = Record<string, SchemaSpec | Record<string, SchemaSpec>>;
39
- export declare const ws: ((depth?: any) => string) & import("lodash").MemoizedFunction;
40
- type NestedT = undefined | null | 'object' | 'array' | 'union' | 'intersection';
41
39
  type PrintSchemaFn = (schema: JsonSchema, key: string, depth: number, nested?: NestedT, optional?: boolean) => string;
42
40
  export declare const printSchemaAsType: PrintSchemaFn;
41
+ export declare const normalizeSchema: <S extends JsonSchema | SchemaSpec>(schema: S) => S;
43
42
  type SchemaRoot = {
44
43
  path: string;
45
44
  interfaceName: string;
@@ -47,8 +46,6 @@ type SchemaRoot = {
47
46
  };
48
47
  export declare const generateSchemaTSDeclarationFiles: (libPath: string, specs: SchemaSpec[]) => Promise<void>;
49
48
  export declare const __test: {
50
- formatName: (name: string, nested?: boolean) => string;
51
- printComment: (comment?: string, depth?: number, deprecated?: boolean) => string;
52
49
  printSchemaAsType: PrintSchemaFn;
53
50
  buildSchemaTree: (specs: SchemaSpec[]) => SchemaRoot[];
54
51
  printSchemaSpecs: (specs: SchemaSpec[]) => Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemaTypes.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/schemaTypes.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAoB7D,KAAK,cAAc,GACf,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,MAAM,CAAC;AAEX,KAAK,yBAAyB,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;AAEnE,KAAK,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG;IAEvB,IAAI,CAAC,EAAE,yBAAyB,GAAG,YAAY,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE;QAEd,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG;IACjE,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,EAAE,+DAEd,CAAC;AAyBF,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;AAChF,KAAK,aAAa,GAAG,CACnB,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,OAAO,KACf,MAAM,CAAC;AAmZZ,eAAO,MAAM,iBAAiB,EAAE,aA2C/B,CAAC;AA4QF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAkDF,eAAO,MAAM,gCAAgC,YAClC,MAAM,SACR,UAAU,EAAE,KAClB,QAAQ,IAAI,CAYd,CAAC;AAEF,eAAO,MAAM,MAAM;uBA32BO,MAAM;;;6BA0zBA,UAAU,EAAE,KAAG,UAAU,EAAE;8BAe1B,UAAU,EAAE,KAAG,OAAO,MAAM,EAAE,MAAM,CAAC;CAwCrE,CAAC"}
1
+ {"version":3,"file":"schemaTypes.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/schemaTypes.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.__test = exports.generateSchemaTSDeclarationFiles = exports.printSchemaAsType = exports.ws = void 0;
6
+ exports.__test = exports.generateSchemaTSDeclarationFiles = exports.normalizeSchema = exports.printSchemaAsType = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const lodash_1 = require("lodash");
9
9
  const helper_string_1 = require("@guanghechen/helper-string");
@@ -12,40 +12,13 @@ const utils_1 = require("../../utils");
12
12
  const types_1 = require("./types");
13
13
  const shelljs_1 = __importDefault(require("shelljs"));
14
14
  const chalk_1 = __importDefault(require("chalk"));
15
- const unsafeCharacters = /(?:^\d)|[^0-9a-zA-Z_]/gi;
16
- const unescapedSingleQuote = /\b'\b/gi;
17
- const wrapUnsafeNames = (name) => {
18
- if (!name.match(unsafeCharacters))
19
- return name;
20
- if (name.includes("'"))
21
- name = name.replaceAll(unescapedSingleQuote, "'");
22
- return `'${name}'`;
23
- };
24
- const formatName = (name, nested = false) => name === '[k: string]'
25
- ? name
26
- : wrapUnsafeNames(nested ? name : (0, helper_string_1.toPascalCase)(name));
27
- exports.ws = (0, lodash_1.memoize)((depth = 1) => depth < 0 ? '' : new Array(depth).fill(' ').join(''));
28
- const end = (0, lodash_1.memoize)((nested) => !nested || nested === 'object' ? ';' : '');
29
- const wrapParens = (v) => v.includes('| ') || v.includes('& ') ? `(${v})` : v;
30
- const printComment = (comment = '', depth = 0, deprecated = false) => {
31
- if (!comment && !deprecated)
32
- return '';
33
- if (!comment && deprecated) {
34
- return `${(0, exports.ws)(depth)}/**${node_os_1.EOL}${(0, exports.ws)(depth)} * @deprecated${node_os_1.EOL}${(0, exports.ws)(depth)} */${node_os_1.EOL}`;
35
- }
36
- const nl = comment.includes(node_os_1.EOL) ? node_os_1.EOL : '\n';
37
- return [
38
- `${(0, exports.ws)(depth)}/**${deprecated ? `${node_os_1.EOL}${(0, exports.ws)(depth)} * @deprecated` : ''}`,
39
- ...comment.split(nl).map((line) => `${(0, exports.ws)(depth)} * ${line}`),
40
- `${(0, exports.ws)(depth)} */${node_os_1.EOL}`,
41
- ].join(node_os_1.EOL);
42
- };
15
+ const shared_1 = require("./shared");
43
16
  const printTypeName = (title, key, nested, optional = false) => {
44
17
  if (!nested) {
45
- return `type ${formatName(title || key)} = `;
18
+ return `type ${(0, shared_1.formatName)(title || key)} = `;
46
19
  }
47
20
  if (nested === 'object') {
48
- return `${formatName(key, true)}${optional ? '?' : ''}: `;
21
+ return `${(0, shared_1.formatName)(key, true)}${optional ? '?' : ''}: `;
49
22
  }
50
23
  return '';
51
24
  };
@@ -56,24 +29,24 @@ const printEnumSchema = (schema, key, depth, nested, optional = false) => {
56
29
  }
57
30
  if (schema.nullable && !values.includes(null))
58
31
  values.unshift(null);
59
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${values
60
- .map((v) => `${node_os_1.EOL}${(0, exports.ws)(depth + 1)}| ${typeof v === 'string' ? `'${v}'` : v}`)
61
- .join('')}${end(nested)}`;
32
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${values
33
+ .map((v) => `${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}| ${typeof v === 'string' ? `'${v}'` : v}`)
34
+ .join('')}${(0, shared_1.end)(nested)}`;
62
35
  };
63
36
  const printStringSchema = (schema, key, depth, nested, optional = false) => {
64
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? 'null | ' : ''}string${end(nested)}`;
37
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? 'null | ' : ''}string${(0, shared_1.end)(nested)}`;
65
38
  };
66
39
  const printNumberSchema = (schema, key, depth, nested, optional = false) => {
67
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? 'null | ' : ''}number${end(nested)}`;
40
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? 'null | ' : ''}number${(0, shared_1.end)(nested)}`;
68
41
  };
69
42
  const printBooleanSchema = (schema, key, depth, nested, optional = false) => {
70
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? 'null | ' : ''}boolean${end(nested)}`;
43
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? 'null | ' : ''}boolean${(0, shared_1.end)(nested)}`;
71
44
  };
72
45
  const printNullSchema = (schema, key, depth, nested, optional = false) => {
73
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}null${end(nested)}`;
46
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}null${(0, shared_1.end)(nested)}`;
74
47
  };
75
48
  const printObjectSchema = (schema, key, depth, nested, optional = false) => {
76
- let result = `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}`;
49
+ let result = `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}`;
77
50
  if (schema.properties ||
78
51
  schema.patternProperties ||
79
52
  schema.additionalProperties) {
@@ -103,16 +76,16 @@ const printObjectSchema = (schema, key, depth, nested, optional = false) => {
103
76
  result = `${result}${node_os_1.EOL}${(0, exports.printSchemaAsType)(schema.additionalProperties, '[k: string]', depth + 1, 'object')}`;
104
77
  }
105
78
  else {
106
- result = `${result}${node_os_1.EOL}${(0, exports.ws)(depth + 1)}[k: string]: unknown;`;
79
+ result = `${result}${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}[k: string]: unknown;`;
107
80
  }
108
81
  }
109
- result = `${result}${node_os_1.EOL}${(0, exports.ws)(depth)}}${end(nested)}`;
82
+ result = `${result}${node_os_1.EOL}${(0, shared_1.ws)(depth)}}${(0, shared_1.end)(nested)}`;
110
83
  }
111
84
  else if (nested) {
112
- result = `${result}Record<string, unknown>${end(nested)}`;
85
+ result = `${result}Record<string, unknown>${(0, shared_1.end)(nested)}`;
113
86
  }
114
87
  else {
115
- result = `${result}{}${end(nested)}`;
88
+ result = `${result}{}${(0, shared_1.end)(nested)}`;
116
89
  }
117
90
  return result;
118
91
  };
@@ -120,9 +93,9 @@ const printTupleSchema = (schema, key, depth, nested, optional = false) => {
120
93
  if (!Array.isArray(schema.items)) {
121
94
  throw new Error('schema.items should be an array to use this function');
122
95
  }
123
- let result = `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}`;
96
+ let result = `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}`;
124
97
  if (!schema.items.length) {
125
- result = `${result}void[]${end(nested)}`;
98
+ result = `${result}void[]${(0, shared_1.end)(nested)}`;
126
99
  }
127
100
  else {
128
101
  result = `${result}[${node_os_1.EOL}${schema.items
@@ -132,17 +105,17 @@ const printTupleSchema = (schema, key, depth, nested, optional = false) => {
132
105
  if (typeof schema.additionalItems === 'object') {
133
106
  const child = (0, exports.printSchemaAsType)(schema.additionalItems, '', depth + 1, 'array').trim();
134
107
  if (child.includes(node_os_1.EOL)) {
135
- result = `${result},${node_os_1.EOL}${(0, exports.ws)(depth + 1)}...Array<${child}>`;
108
+ result = `${result},${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}...Array<${child}>`;
136
109
  }
137
110
  else {
138
- result = `${result},${node_os_1.EOL}${(0, exports.ws)(depth + 1)}...${child}[]`;
111
+ result = `${result},${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}...${child}[]`;
139
112
  }
140
113
  }
141
114
  else {
142
- result = `${result},${node_os_1.EOL}${(0, exports.ws)(depth + 1)}...unknown[]`;
115
+ result = `${result},${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}...unknown[]`;
143
116
  }
144
117
  }
145
- result = `${result}${node_os_1.EOL}${(0, exports.ws)(depth)}]${end(nested)}`;
118
+ result = `${result}${node_os_1.EOL}${(0, shared_1.ws)(depth)}]${(0, shared_1.end)(nested)}`;
146
119
  }
147
120
  return result;
148
121
  };
@@ -150,18 +123,18 @@ const printArraySchema = (schema, key, depth, nested, optional = false) => {
150
123
  if (Array.isArray(schema.items)) {
151
124
  return printTupleSchema(schema, key, depth, nested, optional);
152
125
  }
153
- let result = `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}`;
126
+ let result = `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}`;
154
127
  if (schema.items) {
155
128
  const child = (0, exports.printSchemaAsType)(schema.items, '', depth + 1, 'array');
156
129
  if (child.includes(node_os_1.EOL)) {
157
- result = `${result}Array<${node_os_1.EOL}${child}${node_os_1.EOL}${(0, exports.ws)(depth)}>${end(nested)}`;
130
+ result = `${result}Array<${node_os_1.EOL}${child}${node_os_1.EOL}${(0, shared_1.ws)(depth)}>${(0, shared_1.end)(nested)}`;
158
131
  }
159
132
  else {
160
- result = `${result}${child.trim()}[]${end(nested)}`;
133
+ result = `${result}${child.trim()}[]${(0, shared_1.end)(nested)}`;
161
134
  }
162
135
  }
163
136
  else {
164
- result = `${result}unknown[]${end(nested)}`;
137
+ result = `${result}unknown[]${(0, shared_1.end)(nested)}`;
165
138
  }
166
139
  return result;
167
140
  };
@@ -169,7 +142,7 @@ const printMultiTypeSchema = (schema, key, depth, nested, optional = false) => {
169
142
  if (!Array.isArray(schema.type) || !schema.type.length) {
170
143
  throw new Error('schema.type should be a non-empty array to use this function');
171
144
  }
172
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.type.join(' | ')}${end(nested)}`;
145
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.type.join(' | ')}${(0, shared_1.end)(nested)}`;
173
146
  };
174
147
  const printIntersectionSchema = (schema, key, depth, nested, optional = false) => {
175
148
  if (!Array.isArray(schema.allOf) || !schema.allOf.length) {
@@ -180,12 +153,12 @@ const printIntersectionSchema = (schema, key, depth, nested, optional = false) =
180
153
  }
181
154
  let subtypes = schema.allOf
182
155
  .map((s) => (0, exports.printSchemaAsType)(s, '', depth, 'intersection'))
183
- .map((v) => wrapParens(v.trim()))
156
+ .map((v) => (0, shared_1.wrapParens)(v.trim()))
184
157
  .join(' & ');
185
158
  if (schema.nullable) {
186
159
  subtypes = `null | (${subtypes})`;
187
160
  }
188
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${subtypes}${end(nested)}`;
161
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${subtypes}${(0, shared_1.end)(nested)}`;
189
162
  };
190
163
  const printUnionSchema = (schema, key, depth, nested, optional = false) => {
191
164
  if (!Array.isArray(schema.anyOf) || !schema.anyOf.length) {
@@ -196,25 +169,25 @@ const printUnionSchema = (schema, key, depth, nested, optional = false) => {
196
169
  }
197
170
  const subtypes = schema.anyOf
198
171
  .map((s) => (0, exports.printSchemaAsType)(s, '', depth + 1, 'union'))
199
- .map((v, i) => `${node_os_1.EOL}${(0, exports.ws)(depth + 1)}${i || !nested || nested === 'object' ? '| ' : ''}${wrapParens(v.trim())}`)
172
+ .map((v, i) => `${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}${i || !nested || nested === 'object' ? '| ' : ''}${(0, shared_1.wrapParens)(v.trim())}`)
200
173
  .join('');
201
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? `${node_os_1.EOL}${(0, exports.ws)(depth + 1)}| null` : ''}${subtypes}${end(nested)}`;
174
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable ? `${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}| null` : ''}${subtypes}${(0, shared_1.end)(nested)}`;
202
175
  };
203
176
  const printPolyRefSchema = (schema, key, depth, nested, optional = false) => {
204
177
  const ref = schema['x-poly-ref'];
205
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${ref.publicNamespace ? `${formatName(ref.publicNamespace)}.` : ''}${ref.path
178
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${ref.publicNamespace ? `${(0, shared_1.formatName)(ref.publicNamespace)}.` : ''}${ref.path
206
179
  .split('.')
207
- .map((v) => formatName(v))
208
- .join('.')}${end(nested)}`;
180
+ .map((v) => (0, shared_1.formatName)(v))
181
+ .join('.')}${(0, shared_1.end)(nested)}`;
209
182
  };
210
183
  const printAnySchema = (schema, key, depth, nested, optional = false) => {
211
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}unknown${end(nested)}`;
184
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}unknown${(0, shared_1.end)(nested)}`;
212
185
  };
213
186
  const printUnresolvedSchema = (schema, key, depth, nested, optional = false) => {
214
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}unknown /* Unresolved type */${end(nested)}`;
187
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}unknown /* Unresolved type */${(0, shared_1.end)(nested)}`;
215
188
  };
216
189
  const printConstSchema = (schema, key, depth, nested, optional = false) => {
217
- return `${printComment(schema.description, depth, schema.deprecated)}${(0, exports.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable && schema.const !== null ? 'null | ' : ''}${typeof schema.const === 'string' ? `'${schema.const}'` : schema.const}${end(nested)}`;
190
+ return `${(0, shared_1.printComment)(schema.description, depth, schema.deprecated)}${(0, shared_1.ws)(depth)}${printTypeName(schema.title, key, nested, optional)}${schema.nullable && schema.const !== null ? 'null | ' : ''}${typeof schema.const === 'string' ? `'${schema.const}'` : schema.const}${(0, shared_1.end)(nested)}`;
218
191
  };
219
192
  const printSchemaAsType = (schema, key, depth = 0, nested, optional = false) => {
220
193
  if (schema['x-poly-ref']) {
@@ -256,7 +229,7 @@ const printSchemaAsType = (schema, key, depth = 0, nested, optional = false) =>
256
229
  };
257
230
  exports.printSchemaAsType = printSchemaAsType;
258
231
  const printSchemaTreeAsTypes = (schema, name, depth = 0) => {
259
- let result = `${(0, exports.ws)(depth)}namespace ${formatName(name, false)} {`;
232
+ let result = `${(0, shared_1.ws)(depth)}namespace ${(0, shared_1.formatName)(name, false)} {`;
260
233
  for (const [key, child] of Object.entries(schema)) {
261
234
  if (!child)
262
235
  continue;
@@ -276,7 +249,7 @@ const printSchemaTreeAsTypes = (schema, name, depth = 0) => {
276
249
  }
277
250
  result = `${result}${node_os_1.EOL}${generated}`;
278
251
  }
279
- result = `${result}${node_os_1.EOL}${(0, exports.ws)(depth)}}`;
252
+ result = `${result}${node_os_1.EOL}${(0, shared_1.ws)(depth)}}`;
280
253
  return result;
281
254
  };
282
255
  const normalizeSchema = (schema) => {
@@ -284,7 +257,7 @@ const normalizeSchema = (schema) => {
284
257
  schema.definition.title = schema.name;
285
258
  schema.definition.description =
286
259
  schema.definition.description || schema.description;
287
- schema.definition = normalizeSchema(schema.definition);
260
+ schema.definition = (0, exports.normalizeSchema)(schema.definition);
288
261
  return schema;
289
262
  }
290
263
  if (Array.isArray(schema.oneOf)) {
@@ -299,10 +272,10 @@ const normalizeSchema = (schema) => {
299
272
  }
300
273
  }
301
274
  if (Array.isArray(schema.anyOf)) {
302
- schema.anyOf = schema.anyOf.map((s) => normalizeSchema(s));
275
+ schema.anyOf = schema.anyOf.map((s) => (0, exports.normalizeSchema)(s));
303
276
  }
304
277
  if (Array.isArray(schema.allOf)) {
305
- schema.allOf = schema.allOf.map((s) => normalizeSchema(s));
278
+ schema.allOf = schema.allOf.map((s) => (0, exports.normalizeSchema)(s));
306
279
  }
307
280
  if (schema.type === 'object' ||
308
281
  (Array.isArray(schema.type) && schema.type.includes('object'))) {
@@ -333,6 +306,7 @@ const normalizeSchema = (schema) => {
333
306
  }
334
307
  return schema;
335
308
  };
309
+ exports.normalizeSchema = normalizeSchema;
336
310
  const getPolySchemaRefs = (schema) => {
337
311
  if (schema['x-poly-ref'])
338
312
  return [schema['x-poly-ref'].path];
@@ -518,7 +492,7 @@ const buildSchemaTree = (specs) => {
518
492
  return Array.from(Object.values(schemas));
519
493
  };
520
494
  const printSchemaSpecs = (specs) => {
521
- const normalized = fillInUnresolvedSchemas(flattenDefinitions(specs.map((schema) => normalizeSchema(schema))));
495
+ const normalized = fillInUnresolvedSchemas(flattenDefinitions(specs.map((schema) => (0, exports.normalizeSchema)(schema))));
522
496
  const trees = buildSchemaTree(normalized);
523
497
  const fileMap = Object.fromEntries(trees.map((tree) => [`${tree.path}.d.ts`, printSchemaRoot(tree)]));
524
498
  fileMap['index.d.ts'] = Object.keys(fileMap)
@@ -532,8 +506,6 @@ const generateSchemaTSDeclarationFiles = async (libPath, specs) => {
532
506
  };
533
507
  exports.generateSchemaTSDeclarationFiles = generateSchemaTSDeclarationFiles;
534
508
  exports.__test = {
535
- formatName,
536
- printComment,
537
509
  printSchemaAsType: exports.printSchemaAsType,
538
510
  buildSchemaTree,
539
511
  printSchemaSpecs,
@@ -1 +1 @@
1
- {"version":3,"file":"schemaTypes.js","sourceRoot":"","sources":["../../../src/commands/generate/schemaTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaTypes.js","sourceRoot":"","sources":["../../../src/commands/generate/schemaTypes.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,mCAAsC;AACtC,8DAA0D;AAC1D,qCAA8B;AAE9B,uCAAkD;AAClD,mCAA8C;AAC9C,sDAA4B;AAC5B,kDAA0B;AAC1B,qCAAkF;AA6DlF,MAAM,aAAa,GAAG,CACpB,KAAyB,EACzB,GAAW,EACX,MAAe,EACf,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,QAAQ,IAAA,mBAAU,EAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;KAC9C;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE;QACvB,OAAO,GAAG,IAAA,mBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;KAC3D;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAkB,CACrC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,gBAAgB,CACrB,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAC/B,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;KACH;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM;SAC5D,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACzE;SACA,IAAI,CAAC,EAAE,CAAC,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAkB,CACvC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAChC,SAAS,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAkB,CACvC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAChC,SAAS,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAkB,CACxC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAChC,UAAU,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,eAAe,GAAkB,CACrC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAkB,CACvC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,MAAM,GAAG,GAAG,IAAA,qBAAY,EAC1B,MAAM,CAAC,WAAW,EAClB,KAAK,EACL,MAAM,CAAC,UAAU,CAClB,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;IACrE,IACE,MAAM,CAAC,UAAU;QACjB,MAAM,CAAC,iBAAiB;QACxB,MAAM,CAAC,oBAAoB,EAC3B;QACA,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,yBAAiB,EAC1C,CAAC,EACD,CAAC,EACD,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAC9B,EAAE,CAAC;YACN,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE;YAG5B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,SAAS,CAAC;YACd,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,EAAE;gBACnD,SAAS,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;aACvE;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC3B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD;iBAAM;gBACL,SAAS,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;aACnC;YACD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,yBAAiB,EAC1C,SAAS,EACT,aAAa,EACb,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,EAAE,CAAC;SACL;aAAM,IAAI,MAAM,CAAC,oBAAoB,EAAE;YACtC,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,EAAE;gBACnD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,yBAAiB,EAC1C,MAAM,CAAC,oBAAoB,EAC3B,aAAa,EACb,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,EAAE,CAAC;aACL;iBAAM;gBACL,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,uBAAuB,CAAC;aACjE;SACF;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,IAAI,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;KACvD;SAAM,IAAI,MAAM,EAAE;QAEjB,MAAM,GAAG,GAAG,MAAM,0BAA0B,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;KAC3D;SAAM;QAEL,MAAM,GAAG,GAAG,MAAM,KAAK,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAkB,CACtC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACzE;IACD,IAAI,MAAM,GAAG,GAAG,IAAA,qBAAY,EAC1B,MAAM,CAAC,WAAW,EAClB,KAAK,EACL,MAAM,CAAC,UAAU,CAClB,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;IAErE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QACxB,MAAM,GAAG,GAAG,MAAM,SAAS,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;KAC1C;SAAM;QAEL,MAAM,GAAG,GAAG,MAAM,IAAI,aAAG,GAAG,MAAM,CAAC,KAAK;aACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAiB,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;aAC9D,IAAI,CAAC,IAAI,aAAG,EAAE,CAAC,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,eAAe,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE;gBAC9C,MAAM,KAAK,GAAG,IAAA,yBAAiB,EAC7B,MAAM,CAAC,eAAe,EACtB,EAAE,EACF,KAAK,GAAG,CAAC,EACT,OAAO,CACR,CAAC,IAAI,EAAE,CAAC;gBACT,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAG,CAAC,EAAE;oBACvB,MAAM,GAAG,GAAG,MAAM,IAAI,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC;iBAC/D;qBAAM;oBACL,MAAM,GAAG,GAAG,MAAM,IAAI,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;iBAC1D;aACF;iBAAM;gBACL,MAAM,GAAG,GAAG,MAAM,IAAI,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC;aACzD;SACF;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,IAAI,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;KACvD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAkB,CACtC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC/B,OAAO,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC/D;IAED,IAAI,MAAM,GAAG,GAAG,IAAA,qBAAY,EAC1B,MAAM,CAAC,WAAW,EAClB,KAAK,EACL,MAAM,CAAC,UAAU,CAClB,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;IAErE,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,KAAK,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAG,CAAC,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,SAAS,aAAG,GAAG,KAAK,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,IAAI,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;SAC3E;aAAM;YACL,MAAM,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;SACrD;KACF;SAAM;QACL,MAAM,GAAG,GAAG,MAAM,YAAY,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;KAC7C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAkB,CAC1C,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACtD,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;KACH;IACD,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CACvE,KAAK,CACN,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAkB,CAC7C,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QACxD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;KACH;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAE7B,OAAO,IAAA,yBAAiB,EACtB,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EACnD,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;KACH;IACD,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;SAE3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAU,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAChC,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,QAAQ,GAAG,WAAW,QAAQ,GAAG,CAAC;KACnC;IACD,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAA,YAAG,EACrE,MAAM,CACP,EAAE,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAkB,CACtC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QACxD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;KACH;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAE7B,OAAO,IAAA,yBAAiB,EACtB,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EACnD,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;KACH;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yBAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;SACxD,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,GACpB,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,GAAG,IAAA,mBAAU,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAC5B;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACrD,GAAG,QAAQ,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAkB,CACxC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GACpD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAA,mBAAU,EAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAChE,GAAG,GAAG,CAAC,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAU,EAAC,CAAC,CAAC,CAAC;SACzB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAkB,CACpC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAkB,CAC3C,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CACf,MAAM,CAAC,KAAK,EACZ,GAAG,EACH,MAAM,EACN,QAAQ,CACT,gCAAgC,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAkB,CACtC,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,EAAE;IACF,OAAO,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,WAAE,EACvE,KAAK,CACN,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GACpD,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACzD,GACE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAClE,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,CAAC;AACnB,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAkB,CAC9C,MAAkB,EAClB,GAAG,EACH,KAAK,GAAG,CAAC,EACT,MAAM,EACN,QAAQ,GAAG,KAAK,EACR,EAAE;IACV,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;QACxB,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KACjE;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAO,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC/D;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACpD,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC9D;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACpD,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KACnE;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QACtD,OAAO,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC/D;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QACtD,OAAO,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KACtE;IACD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjE,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChE,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjE,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjE,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,KAAK,YAAY;YACf,OAAO,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KACtE;IACD,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC,CAAC;AA3CW,QAAA,iBAAiB,qBA2C5B;AAEF,MAAM,sBAAsB,GAAG,CAC7B,MAAkB,EAClB,IAAY,EACZ,KAAK,GAAG,CAAC,EACD,EAAE;IACV,IAAI,MAAM,GAAG,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,aAAa,IAAA,mBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAEjD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC9C,IAAI;gBACF,SAAS,GAAG,IAAA,yBAAiB,EAC3B,KAAK,CAAC,UAAwB,EAC9B,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAW,EAC7B,KAAK,GAAG,CAAC,CACV,CAAC;aACH;YAAC,OAAO,GAAG,EAAE;gBACZ,iBAAK,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,IAAA,2BAAmB,EAAC,KAAmB,CAAC,CAAC;gBACzC,IAAA,2BAAmB,EAAC,IAAI,CAAC,CAAC;aAC3B;SACF;aAAM;YACL,SAAS,GAAG,sBAAsB,CAAC,KAAmB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;SACzE;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,SAAS,EAAE,CAAC;KACxC;IACD,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,IAAA,WAAE,EAAC,KAAK,CAAC,GAAG,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAoC,MAAS,EAAK,EAAE;IACjF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,WAAW;YAC3B,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QACtD,MAAM,CAAC,UAAU,GAAG,IAAA,uBAAe,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;KACf;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAE/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;KAC1B;IACD,IAAI,MAAM,CAAC,aAAa,EAAE;QAExB,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC9B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtC;KACF;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,CAAC,CAAC,CAAC;KAC7D;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,CAAC,CAAC,CAAC,CAAC;KAC7D;IACD,IACE,MAAM,CAAC,IAAI,KAAK,QAAQ;QACxB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC9D;QACA,IAAI,MAAM,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACvC,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACrC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACnC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;SACtB;KACF;SAAM,IACL,MAAM,CAAC,IAAI,KAAK,OAAO;QACvB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC7D;QACA,IACE,MAAM,CAAC,KAAK;YACZ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,MAAM,CAAC,eAAe,EACtB;YAEA,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;SACnB;QACD,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE;YACnC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;SAC7B;KACF;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;KACzB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA7DW,QAAA,eAAe,mBA6D1B;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAkB,EAAY,EAAE;IACzD,IAAI,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,CAAC,OAAO;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;KAC9D;IACD,IAAI,MAAM,CAAC,iBAAiB,EAAE;QAC5B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrE;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1C;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;IACD,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,EAAE;QACnD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;KAC5C;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAAmB,EAAgB,EAAE;IACpE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,wBAAwB,EAAE,MAAM,EAAE;YACzC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACtD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAe;oBAC7B,EAAE,EAAE,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI;oBACJ,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;oBACxB,WAAW,EAAE,UAAU,CAAC,IAAI;oBAC5B,UAAU,EAAE;wBACV,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,IAAI;wBACX,WAAW,EAAE,0CAA0C,UAAU,CAAC,IAAI,oBAAoB;qBAC3F;oBACD,kBAAkB,EAAE;wBAElB,UAAU,EAAE,aAAa;qBAC1B;iBACF,CAAC;gBAIF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC1C;SACF;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,KAAK,MAAM,WAAW,IAAI,IAAI,EAAE;YAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,SAAS;YACvC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,UAAU,GAAe;gBAC7B,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI;gBACJ,OAAO;gBACP,WAAW;gBACX,UAAU,EAAE;oBACV,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,gCAAgC,OAAO,uBAAuB;iBAC5E;gBACD,kBAAkB,EAAE;oBAElB,UAAU,EAAE,aAAa;iBAC1B;aACF,CAAC;YAIF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACtC;KACF;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAAG,CAC3C,MAAkB,EAClB,OAA4B,EACtB,EAAE;IACR,MAAM,GAAG,GACP,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ;QAChD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,CAAC,YAAY,CAAC,GAAG;YACrB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACvB,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACvB;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,CAAC,OAAO;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;KAC9D;IACD,IAAI,MAAM,CAAC,iBAAiB,EAAE;QAC5B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrE;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC1C;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;IACD,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,EAAE;QACnD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;KAC5C;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,oCAAoC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAgB,EAAE;IAG/D,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW;YAAE,SAAS;QAE3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAC5B,EAAE;YAED,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACX,GAAG;gBACD,CAAC,EAAE,CAAC;gBACJ,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAC5D,CAAC,IAAI,EACP,EAAE,CAAC;aACJ,QAAQ,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW;gBACX,UAAU;gBACV,kBAAkB,EAAE;oBAElB,UAAU,EAAE,aAAa;iBAC1B;aACF,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACnC,oCAAoC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAChE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAQF,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAU,EAAE;IAEnD,IAAI,MAAM,GAAG,6BAA6B,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACzD,MAAM,KAAK,GACT,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtC,CAAC,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,UAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,sBAAsB,CAAC,IAAkB,EAAE,IAAA,4BAAY,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,KAAK,EAAE,CAAC;KACpC;IAED,MAAM,GAAG,GAAG,MAAM,GAAG,aAAG,GAAG,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAmB,EAAgB,EAAE;IAC5D,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI;YACrC,IAAI,EAAE,OAAO;YACb,aAAa;YACb,UAAU,EAAE,EAAE;SACf,CAAC;QACF,IAAA,YAAG,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC1D;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAmB,EAA0B,EAAE;IAEvE,MAAM,UAAU,GAAG,uBAAuB,CACxC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAClE,CAAC;IACF,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,IAAI,MAAM,CAAC;SACnD,IAAI,CAAC,aAAG,CAAC,CAAC;IACb,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEK,MAAM,gCAAgC,GAAG,KAAK,EACnD,OAAe,EACf,KAAmB,EACJ,EAAE;IACjB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CACvB,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACnB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,YAAE,CAAC,SAAS,CAAC,GAAG,OAAO,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3D,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAC9B,CACF,CACJ,CACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,gCAAgC,oCAe3C;AAEW,QAAA,MAAM,GAAG;IACpB,iBAAiB,EAAjB,yBAAiB;IACjB,eAAe;IACf,gBAAgB;CACjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="lodash" />
2
+ export declare const formatName: (name: string, nested?: boolean) => string;
3
+ export type NestedT = undefined | null | 'object' | 'array' | 'union' | 'intersection';
4
+ export declare const ws: ((depth?: any) => string) & import("lodash").MemoizedFunction;
5
+ export declare const end: ((nested?: NestedT) => "" | ";") & import("lodash").MemoizedFunction;
6
+ export declare const wrapParens: (v: string) => string;
7
+ export declare const printComment: (comment?: string, depth?: number, deprecated?: boolean) => string;
8
+ export declare const __test: {
9
+ formatName: (name: string, nested?: boolean) => string;
10
+ printComment: (comment?: string, depth?: number, deprecated?: boolean) => string;
11
+ };
12
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/shared.ts"],"names":[],"mappings":";AAaA,eAAO,MAAM,UAAU,SAAU,MAAM,6BAGkB,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;AAEvF,eAAO,MAAM,EAAE,+DAEd,CAAC;AACF,eAAO,MAAM,GAAG,aAAqB,OAAO,kDAE3C,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MACc,CAAC;AAEtD,eAAO,MAAM,YAAY,oEAexB,CAAC;AAGF,eAAO,MAAM,MAAM;uBAnCc,MAAM;;CAsCtC,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__test = exports.printComment = exports.wrapParens = exports.end = exports.ws = exports.formatName = void 0;
4
+ const helper_string_1 = require("@guanghechen/helper-string");
5
+ const lodash_1 = require("lodash");
6
+ const node_os_1 = require("node:os");
7
+ const unsafeCharacters = /(?:^\d)|[^0-9a-zA-Z_]/gi;
8
+ const unescapedSingleQuote = /\b'\b/gi;
9
+ const wrapUnsafeNames = (name) => {
10
+ if (!name.match(unsafeCharacters))
11
+ return name;
12
+ if (name.includes("'"))
13
+ name = name.replaceAll(unescapedSingleQuote, "'");
14
+ return `'${name}'`;
15
+ };
16
+ const formatName = (name, nested = false) => name === '[k: string]'
17
+ ? name
18
+ : wrapUnsafeNames(nested ? name : (0, helper_string_1.toPascalCase)(name));
19
+ exports.formatName = formatName;
20
+ exports.ws = (0, lodash_1.memoize)((depth = 1) => depth < 0 ? '' : new Array(depth).fill(' ').join(''));
21
+ exports.end = (0, lodash_1.memoize)((nested) => !nested || nested === 'object' ? ';' : '');
22
+ const wrapParens = (v) => v.includes('| ') || v.includes('& ') ? `(${v})` : v;
23
+ exports.wrapParens = wrapParens;
24
+ const printComment = (comment = '', depth = 0, deprecated = false) => {
25
+ if (!comment && !deprecated)
26
+ return '';
27
+ if (!comment && deprecated) {
28
+ return `${(0, exports.ws)(depth)}/**${node_os_1.EOL}${(0, exports.ws)(depth)} * @deprecated${node_os_1.EOL}${(0, exports.ws)(depth)} */${node_os_1.EOL}`;
29
+ }
30
+ const nl = comment.includes(node_os_1.EOL) ? node_os_1.EOL : '\n';
31
+ return [
32
+ `${(0, exports.ws)(depth)}/**${deprecated ? `${node_os_1.EOL}${(0, exports.ws)(depth)} * @deprecated` : ''}`,
33
+ ...comment.split(nl).map((line) => `${(0, exports.ws)(depth)} * ${line}`),
34
+ `${(0, exports.ws)(depth)} */${node_os_1.EOL}`,
35
+ ].join(node_os_1.EOL);
36
+ };
37
+ exports.printComment = printComment;
38
+ exports.__test = {
39
+ formatName: exports.formatName,
40
+ printComment: exports.printComment,
41
+ };
42
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/generate/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/table.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA8LjD,eAAO,MAAM,+BAA+B,YACjC,MAAM,SACR,kBAAkB,EAAE,kBAc5B,CAAC;AAEF,eAAO,MAAM,MAAM;6BAhCV,kBAAkB,EAAE,KAC1B,OAAO,MAAM,EAAE,MAAM,CAAC;CAiCxB,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/table.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA+LjD,eAAO,MAAM,+BAA+B,YACjC,MAAM,SACR,kBAAkB,EAAE,kBAc5B,CAAC;AAEF,eAAO,MAAM,MAAM;6BAhCV,kBAAkB,EAAE,KAC1B,OAAO,MAAM,EAAE,MAAM,CAAC;CAiCxB,CAAC"}
@@ -13,6 +13,7 @@ const helper_string_1 = require("@guanghechen/helper-string");
13
13
  const lodash_1 = require("lodash");
14
14
  const schemaTypes_1 = require("./schemaTypes");
15
15
  const types_1 = require("./types");
16
+ const shared_1 = require("./shared");
16
17
  const buildTableTree = (specs) => {
17
18
  const schemas = {
18
19
  default: {
@@ -61,7 +62,7 @@ const buildTableTree = (specs) => {
61
62
  const printTableInterface = (table) => {
62
63
  if (typeof table === 'string')
63
64
  return `${table};`;
64
- const _ws = (0, schemaTypes_1.ws)(1);
65
+ const _ws = (0, shared_1.ws)(1);
65
66
  const formattedName = table.contextName
66
67
  .split('.')
67
68
  .map((v) => (0, helper_string_1.toPascalCase)(v))
@@ -80,10 +81,10 @@ const printTableInterface = (table) => {
80
81
  `${_ws}deleteMany(query: ${formattedName}.DeleteQuery): Promise<${formattedName}.DeleteResults>;`,
81
82
  `${_ws}deleteOne(id: string, query?: ${formattedName}.DeleteQuery): Promise<${formattedName}.DeleteResult>;`,
82
83
  '}',
83
- ].join(`${node_os_1.EOL}${(0, schemaTypes_1.ws)(2)}`);
84
+ ].join(`${node_os_1.EOL}${(0, shared_1.ws)(2)}`);
84
85
  };
85
86
  const printTableNamespace = (schema, name, depth = 1) => {
86
- return `${(0, schemaTypes_1.ws)(depth)}namespace ${(0, helper_string_1.toPascalCase)(name)} {${node_os_1.EOL}${(0, schemaTypes_1.printSchemaAsType)(schema, 'Row', depth + 1)}${node_os_1.EOL}${node_os_1.EOL}${(0, schemaTypes_1.ws)(depth + 1)}${[
87
+ return `${(0, shared_1.ws)(depth)}namespace ${(0, helper_string_1.toPascalCase)(name)} {${node_os_1.EOL}${(0, schemaTypes_1.printSchemaAsType)(schema, 'Row', depth + 1)}${node_os_1.EOL}${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}${[
87
88
  'type CountQuery = PolyCountQuery<Row>;',
88
89
  'type SelectManyQuery = PolySelectManyQuery<Row>;',
89
90
  'type SelectOneQuery = PolySelectOneQuery<Row>;',
@@ -96,10 +97,10 @@ const printTableNamespace = (schema, name, depth = 1) => {
96
97
  'type DeleteResults = PolyDeleteResults;',
97
98
  'type DeleteResult = PolyDeleteResult;',
98
99
  'type CountResult = PolyCountResult;',
99
- ].join(`${node_os_1.EOL}${(0, schemaTypes_1.ws)(depth + 1)}`)}${node_os_1.EOL}${(0, schemaTypes_1.ws)(depth)}}`;
100
+ ].join(`${node_os_1.EOL}${(0, shared_1.ws)(depth + 1)}`)}${node_os_1.EOL}${(0, shared_1.ws)(depth)}}`;
100
101
  };
101
102
  const printTableTreeAsTypes = (table, name, depth = 0) => {
102
- let result = `${(0, schemaTypes_1.ws)(depth)}namespace ${name} {`;
103
+ let result = `${(0, shared_1.ws)(depth)}namespace ${name} {`;
103
104
  for (const [key, child] of Object.entries(table)) {
104
105
  if (!Object.keys(child).length)
105
106
  continue;
@@ -119,7 +120,7 @@ const printTableTreeAsTypes = (table, name, depth = 0) => {
119
120
  }
120
121
  result = `${result}${node_os_1.EOL}${generated}`;
121
122
  }
122
- result = `${result}${node_os_1.EOL}${(0, schemaTypes_1.ws)(depth)}}`;
123
+ result = `${result}${node_os_1.EOL}${(0, shared_1.ws)(depth)}}`;
123
124
  return result;
124
125
  };
125
126
  const printTableRoot = (root) => {
@@ -135,9 +136,9 @@ const printTableRoot = (root) => {
135
136
  }
136
137
  result = `${result}${node_os_1.EOL}`;
137
138
  }
138
- result = `${result}${node_os_1.EOL}${(0, schemaTypes_1.ws)(1)}interface ${root.interfaceName} {${Object.entries(root.interfaces)
139
- .map(([k, v]) => `${node_os_1.EOL}${(0, schemaTypes_1.ws)(2)}${k}: ${printTableInterface(v)}`)
140
- .join('')}${node_os_1.EOL}${(0, schemaTypes_1.ws)(1)}}`;
139
+ result = `${result}${node_os_1.EOL}${(0, shared_1.ws)(1)}interface ${root.interfaceName} {${Object.entries(root.interfaces)
140
+ .map(([k, v]) => `${node_os_1.EOL}${(0, shared_1.ws)(2)}${k}: ${printTableInterface(v)}`)
141
+ .join('')}${node_os_1.EOL}${(0, shared_1.ws)(1)}}`;
141
142
  result = `${result}${node_os_1.EOL}}`;
142
143
  return result;
143
144
  };