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.
- package/build/commands/generate/schemaTypes.d.ts +2 -5
- package/build/commands/generate/schemaTypes.d.ts.map +1 -1
- package/build/commands/generate/schemaTypes.js +44 -72
- package/build/commands/generate/schemaTypes.js.map +1 -1
- package/build/commands/generate/shared.d.ts +12 -0
- package/build/commands/generate/shared.d.ts.map +1 -0
- package/build/commands/generate/shared.js +42 -0
- package/build/commands/generate/shared.js.map +1 -0
- package/build/commands/generate/table.d.ts.map +1 -1
- package/build/commands/generate/table.js +10 -9
- package/build/commands/generate/table.js.map +1 -1
- package/build/commands/generate/types.d.ts.map +1 -1
- package/build/commands/generate/types.js +2 -8
- package/build/commands/generate/types.js.map +1 -1
- package/build/commands/generate/variTypes.d.ts +3 -0
- package/build/commands/generate/variTypes.d.ts.map +1 -0
- package/build/commands/generate/variTypes.js +49 -0
- package/build/commands/generate/variTypes.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -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":"
|
|
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.
|
|
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
|
|
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,
|
|
60
|
-
.map((v) => `${node_os_1.EOL}${(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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":"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"}
|
|
@@ -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":";;;AAAA,8DAA0D;AAC1D,mCAAiC;AACjC,qCAA8B;AAE9B,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACnD,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAEvC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IAC1E,OAAO,IAAI,IAAI,GAAG,CAAC;AACrB,CAAC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CACzD,IAAI,KAAK,aAAa;IACpB,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AAH7C,QAAA,UAAU,cAGmC;AAI7C,QAAA,EAAE,GAAG,IAAA,gBAAO,EAAC,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CACpC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACxD,CAAC;AACW,QAAA,GAAG,GAAG,IAAA,gBAAO,EAAC,CAAC,MAAgB,EAAE,EAAE,CAC5C,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AADzC,QAAA,UAAU,cAC+B;AAE/C,MAAM,YAAY,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;IAC1E,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAEvC,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QAC1B,OAAO,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,MAAM,aAAG,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,iBAAiB,aAAG,GAAG,IAAA,UAAE,EAC/D,KAAK,CACN,MAAM,aAAG,EAAE,CAAC;KACd;IAED,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,aAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,OAAO;QACL,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,aAAG,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;QACxE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5D,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,MAAM,aAAG,EAAE;KACxB,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC;AACd,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB;AAGW,QAAA,MAAM,GAAG;IACpB,UAAU,EAAV,kBAAU;IACV,YAAY,EAAZ,oBAAY;CACb,CAAC"}
|
|
@@ -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;
|
|
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,
|
|
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,
|
|
84
|
+
].join(`${node_os_1.EOL}${(0, shared_1.ws)(2)}`);
|
|
84
85
|
};
|
|
85
86
|
const printTableNamespace = (schema, name, depth = 1) => {
|
|
86
|
-
return `${(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
139
|
-
.map(([k, v]) => `${node_os_1.EOL}${(0,
|
|
140
|
-
.join('')}${node_os_1.EOL}${(0,
|
|
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
|
};
|