polyapi 0.23.2 → 0.23.4

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.
Files changed (73) hide show
  1. package/build/client/src/commands/{generate.d.ts → generate/index.d.ts} +2 -2
  2. package/build/client/src/commands/generate/index.d.ts.map +1 -0
  3. package/build/client/src/commands/generate/index.js +321 -0
  4. package/build/client/src/commands/generate/index.js.map +1 -0
  5. package/build/client/src/commands/generate/schemaTypes.d.ts +54 -0
  6. package/build/client/src/commands/generate/schemaTypes.d.ts.map +1 -0
  7. package/build/client/src/commands/generate/schemaTypes.js +440 -0
  8. package/build/client/src/commands/generate/schemaTypes.js.map +1 -0
  9. package/build/client/src/commands/generate/types.d.ts +6 -0
  10. package/build/client/src/commands/generate/types.d.ts.map +1 -0
  11. package/build/client/src/commands/{generate.js → generate/types.js} +180 -509
  12. package/build/client/src/commands/generate/types.js.map +1 -0
  13. package/build/client/src/templates/index.d.ts.hbs +1 -0
  14. package/build/client/src/templates/poly-custom.js.hbs +1 -0
  15. package/build/client/src/utils.d.ts +8 -0
  16. package/build/client/src/utils.d.ts.map +1 -1
  17. package/build/client/src/utils.js +47 -7
  18. package/build/client/src/utils.js.map +1 -1
  19. package/build/model/src/dto/function/create-api-function.dto.d.ts.map +1 -1
  20. package/build/model/src/dto/function/create-api-function.dto.js +2 -1
  21. package/build/model/src/dto/function/create-api-function.dto.js.map +1 -1
  22. package/build/model/src/dto/function/create-custom-function.dto.d.ts +1 -0
  23. package/build/model/src/dto/function/create-custom-function.dto.d.ts.map +1 -1
  24. package/build/model/src/dto/function/create-custom-function.dto.js +6 -1
  25. package/build/model/src/dto/function/create-custom-function.dto.js.map +1 -1
  26. package/build/model/src/dto/function/function.dto.d.ts +2 -0
  27. package/build/model/src/dto/function/function.dto.d.ts.map +1 -1
  28. package/build/model/src/dto/function/function.dto.js.map +1 -1
  29. package/build/model/src/dto/function/replicate-api-functions-response.dto.d.ts +8 -2
  30. package/build/model/src/dto/function/replicate-api-functions-response.dto.d.ts.map +1 -1
  31. package/build/model/src/dto/function/replicate-api-functions-response.dto.js +29 -8
  32. package/build/model/src/dto/function/replicate-api-functions-response.dto.js.map +1 -1
  33. package/build/model/src/dto/function/replicate-api-functions.dto.d.ts +1 -0
  34. package/build/model/src/dto/function/replicate-api-functions.dto.d.ts.map +1 -1
  35. package/build/model/src/dto/function/replicate-api-functions.dto.js +5 -0
  36. package/build/model/src/dto/function/replicate-api-functions.dto.js.map +1 -1
  37. package/build/model/src/dto/function/update-api-function.dto.d.ts.map +1 -1
  38. package/build/model/src/dto/function/update-api-function.dto.js +1 -0
  39. package/build/model/src/dto/function/update-api-function.dto.js.map +1 -1
  40. package/build/model/src/dto/function/update-custom-function.dto.d.ts +1 -0
  41. package/build/model/src/dto/function/update-custom-function.dto.d.ts.map +1 -1
  42. package/build/model/src/dto/function/update-custom-function.dto.js +6 -0
  43. package/build/model/src/dto/function/update-custom-function.dto.js.map +1 -1
  44. package/build/model/src/dto/schema/create-schema.dto.js +1 -1
  45. package/build/model/src/dto/schema/create-schema.dto.js.map +1 -1
  46. package/build/model/src/dto/schema/schema.dto.d.ts +13 -1
  47. package/build/model/src/dto/schema/schema.dto.d.ts.map +1 -1
  48. package/build/model/src/dto/schema/schema.dto.js +8 -1
  49. package/build/model/src/dto/schema/schema.dto.js.map +1 -1
  50. package/build/model/src/dto/schema/update-schema.dto.js +3 -3
  51. package/build/model/src/dto/schema/update-schema.dto.js.map +1 -1
  52. package/build/model/src/dto/snippet/create-snippet.dto.d.ts.map +1 -1
  53. package/build/model/src/dto/snippet/create-snippet.dto.js +2 -0
  54. package/build/model/src/dto/snippet/create-snippet.dto.js.map +1 -1
  55. package/build/model/src/dto/snippet/update-snippet.dto.d.ts.map +1 -1
  56. package/build/model/src/dto/snippet/update-snippet.dto.js +3 -1
  57. package/build/model/src/dto/snippet/update-snippet.dto.js.map +1 -1
  58. package/build/model/src/dto/validators/context-identifier.js +2 -2
  59. package/build/model/src/dto/validators/context-identifier.js.map +1 -1
  60. package/build/model/src/dto/webhook/create-webhook-handle.dto.d.ts.map +1 -1
  61. package/build/model/src/dto/webhook/create-webhook-handle.dto.js +3 -2
  62. package/build/model/src/dto/webhook/create-webhook-handle.dto.js.map +1 -1
  63. package/build/model/src/dto/webhook/update-webhook-handle.dto.d.ts.map +1 -1
  64. package/build/model/src/dto/webhook/update-webhook-handle.dto.js +1 -0
  65. package/build/model/src/dto/webhook/update-webhook-handle.dto.js.map +1 -1
  66. package/build/model/src/specs.d.ts +1 -0
  67. package/build/model/src/specs.d.ts.map +1 -1
  68. package/build/tsconfig.build.tsbuildinfo +1 -1
  69. package/package.json +45 -2
  70. package/build/client/src/commands/generate.d.ts.map +0 -1
  71. package/build/client/src/commands/generate.js.map +0 -1
  72. package/build/client/src/templates/schemas/index.d.ts.hbs +0 -3
  73. package/build/client/src/templates/schemas/{{context}}.d.ts.hbs +0 -25
@@ -1,4 +1,4 @@
1
- import { Specification } from '../../../model/src';
1
+ import { Specification } from '../../../../model/src';
2
2
  declare const generateSingleCustomFunction: (polyPath: string, functionId: string, updated: boolean) => Promise<void>;
3
3
  declare const generate: ({ polyPath, contexts, names, functionIds, noTypes, }: {
4
4
  polyPath: string;
@@ -9,4 +9,4 @@ declare const generate: ({ polyPath, contexts, names, functionIds, noTypes, }: {
9
9
  }) => Promise<void>;
10
10
  export declare const generateSpecs: (libPath: string, specs: Specification[], noTypes: boolean) => Promise<void>;
11
11
  export { generate, generateSingleCustomFunction };
12
- //# sourceMappingURL=generate.d.ts.map
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,aAAa,EAEd,MAAM,aAAa,CAAC;AAmSrB,QAAA,MAAM,4BAA4B,aAAoB,MAAM,cAAc,MAAM,WAAW,OAAO,kBAoDjG,CAAC;AAEF,QAAA,MAAM,QAAQ;cAOF,MAAM;eACL,MAAM,EAAE;YACX,MAAM,EAAE;kBACF,MAAM,EAAE;aACb,OAAO;mBAyBjB,CAAC;AAYF,eAAO,MAAM,aAAa,YAAmB,MAAM,SAAS,aAAa,EAAE,WAAW,OAAO,kBAgC5F,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateSingleCustomFunction = exports.generate = exports.generateSpecs = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const handlebars_1 = __importDefault(require("handlebars"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const shelljs_1 = __importDefault(require("shelljs"));
11
+ const uuid_1 = require("uuid");
12
+ const utils_1 = require("../../../../common/src/utils");
13
+ const specs_1 = require("../../../../common/src/specs");
14
+ const api_1 = require("../../api");
15
+ const config_1 = require("../../config");
16
+ const utils_2 = require("../../utils");
17
+ const constants_1 = require("../../constants");
18
+ const types_1 = require("./types");
19
+ const schemaTypes_1 = require("./schemaTypes");
20
+ const fsWriteAsync = (file, data) => new Promise((resolve, reject) => {
21
+ fs_1.default.writeFile(file, data, (err) => err ? reject(err) : resolve());
22
+ });
23
+ const getApiBaseUrl = () => process.env.POLY_API_BASE_URL || 'http://localhost:8000';
24
+ const getApiKey = () => process.env.POLY_API_KEY;
25
+ const prepareDir = async (polyPath) => {
26
+ const libPath = (0, utils_2.getPolyLibPath)(polyPath);
27
+ fs_1.default.rmSync(libPath, { recursive: true, force: true });
28
+ fs_1.default.mkdirSync(libPath, { recursive: true });
29
+ fs_1.default.mkdirSync(`${libPath}/api`);
30
+ fs_1.default.mkdirSync(`${libPath}/client`);
31
+ fs_1.default.mkdirSync(`${libPath}/auth`);
32
+ fs_1.default.mkdirSync(`${libPath}/webhooks`);
33
+ fs_1.default.mkdirSync(`${libPath}/server`);
34
+ fs_1.default.mkdirSync(`${libPath}/vari`);
35
+ fs_1.default.mkdirSync(`${libPath}/schemas`);
36
+ if (polyPath !== constants_1.DEFAULT_POLY_PATH) {
37
+ try {
38
+ await generateRedirectIndexFiles(polyPath);
39
+ }
40
+ catch (err) {
41
+ shelljs_1.default.echo(chalk_1.default.red(`Could not generate redirect index files: ${err.message}, continuing...`));
42
+ }
43
+ }
44
+ };
45
+ const generateRedirectIndexFiles = async (polyPath) => {
46
+ const defaultPolyLib = (0, utils_2.getPolyLibPath)(constants_1.DEFAULT_POLY_PATH);
47
+ polyPath = polyPath.startsWith('/') ? polyPath : `../../../${polyPath}`;
48
+ fs_1.default.rmSync(defaultPolyLib, { recursive: true, force: true });
49
+ fs_1.default.mkdirSync(defaultPolyLib, { recursive: true });
50
+ const indexRedirectJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('index-redirect.js.hbs'));
51
+ const indexTSRedirectJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('index-redirect.d.ts.hbs'));
52
+ await Promise.all([
53
+ fsWriteAsync(`${defaultPolyLib}/index.js`, indexRedirectJSTemplate({ polyPath })),
54
+ fsWriteAsync(`${defaultPolyLib}/index.d.ts`, indexTSRedirectJSTemplate({ polyPath })),
55
+ ]);
56
+ };
57
+ const generateJSFiles = async (libPath, specs) => {
58
+ const apiFunctions = specs.filter((spec) => spec.type === 'apiFunction');
59
+ const customFunctions = specs
60
+ .filter((spec) => spec.type === 'customFunction')
61
+ .filter((spec) => spec.language === 'javascript');
62
+ const webhookHandles = specs.filter((spec) => spec.type === 'webhookHandle');
63
+ const authFunctions = specs.filter((spec) => spec.type === 'authFunction');
64
+ const serverFunctions = specs.filter((spec) => spec.type === 'serverFunction');
65
+ const serverVariables = specs.filter((spec) => spec.type === 'serverVariable');
66
+ await generateIndexJSFile(libPath);
67
+ await generatePolyCustomJSFile(libPath);
68
+ await generateAxiosJSFile(libPath);
69
+ await generateErrorHandlerFile(libPath);
70
+ await tryAsync(generateApiFunctionJSFiles(libPath, apiFunctions), 'api functions');
71
+ const customFnCodeGenerationErrors = await tryAsync(generateCustomFunctionJSFiles(libPath, customFunctions), 'custom functions');
72
+ await tryAsync(generateWebhooksJSFiles(libPath, webhookHandles), 'webhooks');
73
+ await tryAsync(generateAuthFunctionJSFiles(libPath, authFunctions), 'auth functions');
74
+ await tryAsync(generateServerFunctionJSFiles(libPath, serverFunctions), 'server functions');
75
+ await tryAsync(generateServerVariableJSFiles(libPath, serverVariables), 'variables');
76
+ return customFnCodeGenerationErrors;
77
+ };
78
+ const generateIndexJSFile = async (libPath) => {
79
+ const indexJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('index.js.hbs'));
80
+ fs_1.default.writeFileSync(`${libPath}/index.js`, indexJSTemplate({
81
+ clientID: (0, uuid_1.v4)(),
82
+ apiBaseUrl: getApiBaseUrl(),
83
+ apiKey: getApiKey(),
84
+ }));
85
+ };
86
+ const generatePolyCustomJSFile = async (libPath) => {
87
+ const polyCustomJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('poly-custom.js.hbs'));
88
+ fs_1.default.writeFileSync(`${libPath}/poly-custom.js`, polyCustomJSTemplate({
89
+ apiBaseUrl: getApiBaseUrl(),
90
+ apiKey: getApiKey(),
91
+ }));
92
+ };
93
+ const generateAxiosJSFile = async (libPath) => {
94
+ const axiosJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('axios.js.hbs'));
95
+ fs_1.default.writeFileSync(`${libPath}/axios.js`, axiosJSTemplate({
96
+ apiBaseUrl: getApiBaseUrl(),
97
+ apiKey: getApiKey(),
98
+ }));
99
+ };
100
+ const generateErrorHandlerFile = async (libPath) => {
101
+ const errorHandlerJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('error-handler.js.hbs'));
102
+ fs_1.default.writeFileSync(`${libPath}/error-handler.js`, errorHandlerJSTemplate({}));
103
+ };
104
+ const generateApiFunctionJSFiles = async (libPath, specifications) => {
105
+ const template = handlebars_1.default.compile((0, utils_2.loadTemplate)('api-index.js.hbs'));
106
+ fs_1.default.writeFileSync(`${libPath}/api/index.js`, template({
107
+ specifications,
108
+ }));
109
+ };
110
+ const generateCustomFunctionJSFiles = async (libPath, specifications) => {
111
+ const codeGenerationErrors = {};
112
+ if (!specifications.length) {
113
+ const customFunctionJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('custom-function.js.hbs'));
114
+ await Promise.all(specifications.map((spec) => fsWriteAsync(`${libPath}/client/${spec.context ? `${spec.context}-` : ''}${spec.name}.js`, customFunctionJSTemplate(spec))
115
+ .catch(error => {
116
+ codeGenerationErrors[spec.id] = {
117
+ stack: error.stack,
118
+ specification: spec,
119
+ };
120
+ })));
121
+ }
122
+ const customIndexJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('custom-index.js.hbs'));
123
+ fs_1.default.writeFileSync(`${libPath}/client/index.js`, customIndexJSTemplate({
124
+ specifications: specifications.filter(spec => !codeGenerationErrors[spec.id]),
125
+ }));
126
+ return Array.from(Object.values(codeGenerationErrors));
127
+ };
128
+ const generateWebhooksJSFiles = async (libPath, specifications) => {
129
+ const template = handlebars_1.default.compile((0, utils_2.loadTemplate)('webhooks-index.js.hbs'));
130
+ fs_1.default.writeFileSync(`${libPath}/webhooks/index.js`, template({
131
+ specifications,
132
+ apiKey: getApiKey(),
133
+ }));
134
+ };
135
+ const generateServerFunctionJSFiles = async (libPath, specifications) => {
136
+ const serverIndexJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('server-index.js.hbs'));
137
+ fs_1.default.writeFileSync(`${libPath}/server/index.js`, serverIndexJSTemplate({
138
+ specifications,
139
+ }));
140
+ };
141
+ const generateServerVariableJSFiles = async (libPath, specifications) => {
142
+ const contextData = (0, specs_1.getContextData)(specifications);
143
+ const contextPaths = getContextPaths(contextData);
144
+ const template = handlebars_1.default.compile((0, utils_2.loadTemplate)('vari/index.js.hbs'));
145
+ const arrPaths = [];
146
+ for (const specification of specifications) {
147
+ if ((0, utils_1.isPlainObjectPredicate)(specification.variable.value) || Array.isArray(specification.variable.value)) {
148
+ arrPaths.push({
149
+ context: specification.context || '',
150
+ paths: (0, utils_2.getStringPaths)(specification.variable.value),
151
+ });
152
+ }
153
+ }
154
+ fs_1.default.writeFileSync(`${libPath}/vari/index.js`, template({
155
+ specifications,
156
+ contextPaths,
157
+ apiKey: getApiKey(),
158
+ arrPaths: JSON.stringify(arrPaths),
159
+ }));
160
+ };
161
+ const generateAuthFunctionJSFiles = async (libPath, specifications) => {
162
+ const apiBaseUrl = getApiBaseUrl();
163
+ const apiKey = getApiKey();
164
+ const authIndexJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('auth-index.js.hbs'));
165
+ fs_1.default.writeFileSync(`${libPath}/auth/index.js`, authIndexJSTemplate({
166
+ getTokenFunctions: specifications.filter((spec) => spec.name === 'getToken'),
167
+ subResourceFunctions: specifications.filter((spec) => spec.subResource),
168
+ apiBaseUrl,
169
+ apiKey,
170
+ }));
171
+ const specsToGenerate = specifications.filter((spec) => !spec.subResource);
172
+ if (specsToGenerate.length === 0)
173
+ return [];
174
+ const authFunctionJSTemplate = handlebars_1.default.compile((0, utils_2.loadTemplate)('auth-function.js.hbs'));
175
+ const codeGenerationErrors = {};
176
+ await Promise.all(specifications.map((spec) => fsWriteAsync(`${libPath}/auth/${spec.context ? `${spec.context}-` : ''}${spec.name}.js`, authFunctionJSTemplate({
177
+ ...spec,
178
+ audienceRequired: spec.function.arguments.some((arg) => arg.name === 'audience'),
179
+ apiBaseUrl,
180
+ apiKey,
181
+ }))
182
+ .catch(error => {
183
+ codeGenerationErrors[spec.id] = {
184
+ stack: error.stack,
185
+ specification: spec,
186
+ };
187
+ })));
188
+ return Array.from(Object.values(codeGenerationErrors));
189
+ };
190
+ const getContextPaths = (contextData) => {
191
+ const paths = [];
192
+ const traverseAndAddPath = (data, path = '') => {
193
+ for (const key of Object.keys(data)) {
194
+ if (typeof data[key].context === 'string') {
195
+ continue;
196
+ }
197
+ const currentPath = path ? `${path}.${key}` : key;
198
+ paths.push(currentPath);
199
+ traverseAndAddPath(data[key], currentPath);
200
+ }
201
+ };
202
+ traverseAndAddPath(contextData);
203
+ return paths;
204
+ };
205
+ const showErrGeneratingFiles = (error) => {
206
+ shelljs_1.default.echo(chalk_1.default.red('ERROR'));
207
+ shelljs_1.default.echo('Error while generating code files. Make sure the version of library/server is up to date.');
208
+ shelljs_1.default.echo(chalk_1.default.red(error.message));
209
+ shelljs_1.default.echo(chalk_1.default.red(error.stack));
210
+ shelljs_1.default.exit(2);
211
+ };
212
+ const generateSingleCustomFunction = async (polyPath, functionId, updated) => {
213
+ shelljs_1.default.echo('-n', updated ? 'Regenerating TypeScript SDK...' : 'Generating TypeScript SDK...');
214
+ const libPath = (0, utils_2.getPolyLibPath)(polyPath);
215
+ let contextData = {};
216
+ try {
217
+ contextData = (0, utils_2.getContextDataFileContent)(libPath);
218
+ }
219
+ catch (error) {
220
+ shelljs_1.default.echo(chalk_1.default.red('ERROR'));
221
+ shelljs_1.default.echo('Error while fetching local context data.');
222
+ shelljs_1.default.echo(chalk_1.default.red(error.message));
223
+ shelljs_1.default.echo(chalk_1.default.red(error.stack));
224
+ return;
225
+ }
226
+ const prevSpecs = (0, utils_2.getSpecsFromContextData)(contextData);
227
+ let specs = [];
228
+ try {
229
+ specs = await (0, api_1.getSpecs)([], [], [functionId]);
230
+ }
231
+ catch (error) {
232
+ (0, utils_2.showErrGettingSpecs)(error);
233
+ return;
234
+ }
235
+ const [customFunction] = specs;
236
+ if (prevSpecs.some((prevSpec) => prevSpec.id === customFunction.id)) {
237
+ specs = prevSpecs.map((prevSpec) => {
238
+ if (prevSpec.id === customFunction.id) {
239
+ return customFunction;
240
+ }
241
+ return prevSpec;
242
+ });
243
+ }
244
+ else {
245
+ prevSpecs.push(customFunction);
246
+ specs = prevSpecs;
247
+ }
248
+ await prepareDir(polyPath);
249
+ (0, types_1.setGenerationErrors)(false);
250
+ await (0, exports.generateSpecs)(libPath, specs, false);
251
+ if ((0, types_1.getGenerationErrors)()) {
252
+ shelljs_1.default.echo(chalk_1.default.yellow('Generate DONE with errors. Please investigate the errors and contact support@polyapi.io for assistance.'));
253
+ }
254
+ else {
255
+ shelljs_1.default.echo(chalk_1.default.green('DONE'));
256
+ }
257
+ };
258
+ exports.generateSingleCustomFunction = generateSingleCustomFunction;
259
+ const generate = async ({ polyPath, contexts, names, functionIds, noTypes, }) => {
260
+ let specs = [];
261
+ const generateMsg = contexts ? `Generating Poly TypeScript SDK for contexts "${contexts}"...` : 'Generating Poly TypeScript SDK...';
262
+ shelljs_1.default.echo('-n', generateMsg);
263
+ await prepareDir(polyPath);
264
+ (0, config_1.loadConfig)(polyPath);
265
+ try {
266
+ specs = await (0, api_1.getSpecs)(contexts, names, functionIds);
267
+ }
268
+ catch (error) {
269
+ (0, utils_2.showErrGettingSpecs)(error);
270
+ return;
271
+ }
272
+ (0, types_1.setGenerationErrors)(false);
273
+ await (0, exports.generateSpecs)((0, utils_2.getPolyLibPath)(polyPath), specs, noTypes);
274
+ if ((0, types_1.getGenerationErrors)()) {
275
+ shelljs_1.default.echo(chalk_1.default.yellow('Generate DONE with errors. Please investigate the errors and contact support@polyapi.io for assistance.'));
276
+ }
277
+ else {
278
+ shelljs_1.default.echo(chalk_1.default.green('DONE'));
279
+ }
280
+ };
281
+ exports.generate = generate;
282
+ const tryAsync = async (promise, generatingName) => {
283
+ try {
284
+ return await promise;
285
+ }
286
+ catch (err) {
287
+ shelljs_1.default.echo(chalk_1.default.red(`\nUnexpected error encountered while generating ${generatingName}: ${err}`));
288
+ }
289
+ };
290
+ const generateSpecs = async (libPath, specs, noTypes) => {
291
+ try {
292
+ let missingNames = [];
293
+ [missingNames, specs] = specs.reduce((acc, s) => {
294
+ acc[s.name.trim() ? 1 : 0].push(s);
295
+ return acc;
296
+ }, [[], []]);
297
+ const jsFilesCodeGenerationErrors = await generateJSFiles(libPath, specs);
298
+ const filteredSpecs = specs.filter(spec => !jsFilesCodeGenerationErrors.find(codeGenerationError => codeGenerationError.specification.id === spec.id));
299
+ if (!noTypes) {
300
+ await tryAsync((0, types_1.generateFunctionsTSDeclarationFile)(libPath, filteredSpecs), 'function types');
301
+ await tryAsync((0, types_1.generateVariablesTSDeclarationFile)(libPath, filteredSpecs), 'variable types');
302
+ await tryAsync((0, schemaTypes_1.generateSchemaTSDeclarationFiles)(libPath, filteredSpecs.filter(s => s.type === 'schema')), 'schemas');
303
+ }
304
+ (0, utils_2.generateContextDataFile)(libPath, filteredSpecs);
305
+ if (missingNames.length) {
306
+ (0, types_1.setGenerationErrors)(true);
307
+ missingNames.map((s) => (0, utils_2.echoGenerationError)(s));
308
+ }
309
+ if (jsFilesCodeGenerationErrors.length) {
310
+ (0, types_1.setGenerationErrors)(true);
311
+ jsFilesCodeGenerationErrors.forEach((error) => {
312
+ (0, utils_2.echoGenerationError)(error.specification);
313
+ });
314
+ }
315
+ }
316
+ catch (error) {
317
+ showErrGeneratingFiles(error);
318
+ }
319
+ };
320
+ exports.generateSpecs = generateSpecs;
321
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/generate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { SchemaRef, SchemaSpecification } from '../../../../model/src';
2
+ type JsonSchemaType = 'string' | 'number' | 'integer' | 'object' | 'array' | 'boolean' | 'null';
3
+ type JsonSchemaTypeDeclaration = JsonSchemaType | JsonSchemaType[];
4
+ type ConstValueT = null | string | number | boolean;
5
+ export type JsonSchema = {
6
+ type?: JsonSchemaTypeDeclaration | 'unresolved';
7
+ title?: string;
8
+ description?: string;
9
+ items?: JsonSchema | JsonSchema[];
10
+ additionalItems?: boolean | JsonSchema;
11
+ schemas?: Record<string, JsonSchema>;
12
+ properties?: Record<string, JsonSchema>;
13
+ patternProperties?: Record<string, JsonSchema>;
14
+ additionalProperties?: boolean | JsonSchema;
15
+ required?: string[];
16
+ allOf?: JsonSchema[];
17
+ anyOf?: JsonSchema[];
18
+ oneOf?: JsonSchema[];
19
+ discriminator?: {
20
+ propertyName: string;
21
+ mapping: Record<string, string>;
22
+ };
23
+ '$id'?: string;
24
+ '$ref'?: string;
25
+ '$schema'?: string;
26
+ 'x-poly-ref'?: SchemaRef;
27
+ deprecated?: boolean;
28
+ nullable?: boolean;
29
+ enum?: ConstValueT[];
30
+ const?: ConstValueT;
31
+ [k: string]: unknown;
32
+ };
33
+ export type SchemaSpec = Omit<SchemaSpecification, 'definition'> & {
34
+ definition: JsonSchema;
35
+ };
36
+ type SchemaTree = Record<string, SchemaSpec | Record<string, SchemaSpec>>;
37
+ type NestedT = undefined | null | 'object' | 'array' | 'union' | 'intersection';
38
+ type PrintSchemaFn = (schema: JsonSchema, key: string, depth: number, nested?: NestedT, optional?: boolean) => string;
39
+ type SchemaRoot = {
40
+ path: string;
41
+ interfaceName: string;
42
+ interfaces: Record<string, string>;
43
+ namespaces: SchemaTree;
44
+ hasTypes: boolean;
45
+ };
46
+ export declare const generateSchemaTSDeclarationFiles: (libPath: string, specs: SchemaSpec[]) => Promise<void>;
47
+ export declare const __test: {
48
+ printComment: (comment?: string, depth?: number, deprecated?: boolean) => string;
49
+ printSchemaAsType: PrintSchemaFn;
50
+ buildSchemaTree: (specs: SchemaSpec[]) => SchemaRoot[];
51
+ printSchemaSpecs: (specs: SchemaSpec[]) => Record<string, string>;
52
+ };
53
+ export {};
54
+ //# sourceMappingURL=schemaTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaTypes.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/schemaTypes.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,mBAAmB,EACpB,MAAM,aAAa,CAAC;AASrB,KAAK,cAAc,GACf,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,MAAM,CACP;AAEH,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;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,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,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;CAAE,CAAC;AAE/F,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAyB1E,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;AAChF,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAuYtH,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAwEF,eAAO,MAAM,gCAAgC,YAAmB,MAAM,SAAS,UAAU,EAAE,KAAG,QAAQ,IAAI,CAczG,CAAC;AAEF,eAAO,MAAM,MAAM;;;6BAtEa,UAAU,EAAE,KAAG,UAAU,EAAE;8BA2C1B,UAAU,EAAE,KAAG,OAAO,MAAM,EAAE,MAAM,CAAC;CAgCrE,CAAC"}