klasik 2.5.0 → 2.5.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/dist/bin/go-schema-gen +0 -0
- package/dist/cli/commands/generate.d.ts +1 -0
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +13 -1
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/utils/options.d.ts +14 -0
- package/dist/cli/utils/options.d.ts.map +1 -1
- package/dist/cli/utils/options.js +33 -0
- package/dist/cli/utils/options.js.map +1 -1
- package/dist/plugins/class-validator-plugin.d.ts +3 -0
- package/dist/plugins/class-validator-plugin.d.ts.map +1 -1
- package/dist/plugins/class-validator-plugin.js +45 -3
- package/dist/plugins/class-validator-plugin.js.map +1 -1
- package/dist/utils/ir-renamer.d.ts +115 -0
- package/dist/utils/ir-renamer.d.ts.map +1 -0
- package/dist/utils/ir-renamer.js +292 -0
- package/dist/utils/ir-renamer.js.map +1 -0
- package/package.json +1 -1
package/dist/bin/go-schema-gen
CHANGED
|
Binary file
|
|
@@ -23,6 +23,7 @@ export interface GenerateOptions {
|
|
|
23
23
|
bare?: boolean;
|
|
24
24
|
httpClient?: 'axios' | 'fetch';
|
|
25
25
|
clean?: boolean;
|
|
26
|
+
renameModel?: string[];
|
|
26
27
|
}
|
|
27
28
|
export declare function generateAction(options: GenerateOptions): Promise<void>;
|
|
28
29
|
export declare const generateCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+G5E;AAED,eAAO,MAAM,eAAe,SAqBH,CAAC"}
|
|
@@ -51,6 +51,7 @@ const swagger_converter_1 = require("../../converters/swagger-converter");
|
|
|
51
51
|
const logger_1 = require("../utils/logger");
|
|
52
52
|
const ora_1 = __importDefault(require("ora"));
|
|
53
53
|
const options_1 = require("../utils/options");
|
|
54
|
+
const ir_renamer_1 = require("../../utils/ir-renamer");
|
|
54
55
|
const fs = __importStar(require("fs"));
|
|
55
56
|
async function generateAction(options) {
|
|
56
57
|
const spinner = (0, ora_1.default)('Loading OpenAPI specification...').start();
|
|
@@ -104,10 +105,20 @@ async function generateAction(options) {
|
|
|
104
105
|
// Parse OpenAPI
|
|
105
106
|
spinner.text = 'Parsing OpenAPI specification...';
|
|
106
107
|
const parser = new openapi_parser_1.OpenAPIParser();
|
|
107
|
-
|
|
108
|
+
let ir = parser.parse(spec, {
|
|
108
109
|
includeOperations: options.mode === 'full',
|
|
109
110
|
});
|
|
110
111
|
logger_1.Logger.debug(`Parsed ${ir.schemas.size} schema(s), ${ir.operations.size} operation(s)`);
|
|
112
|
+
// Apply schema renames if specified
|
|
113
|
+
if (options.renameModel && options.renameModel.length > 0) {
|
|
114
|
+
spinner.text = 'Applying model renames...';
|
|
115
|
+
const mappings = (0, options_1.parseRenameModelValues)(options.renameModel);
|
|
116
|
+
const renameResult = (0, ir_renamer_1.renameSchemas)(ir, mappings);
|
|
117
|
+
ir = renameResult.ir;
|
|
118
|
+
if (renameResult.stats.schemasRenamed > 0) {
|
|
119
|
+
logger_1.Logger.debug(`Renamed ${renameResult.stats.schemasRenamed} schema(s), updated ${renameResult.stats.referencesUpdated} reference(s)`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
111
122
|
// Generate code
|
|
112
123
|
spinner.text = 'Generating TypeScript code...';
|
|
113
124
|
const generator = new generator_1.Generator({
|
|
@@ -160,5 +171,6 @@ exports.generateCommand = new commander_1.Command('generate')
|
|
|
160
171
|
.addOption((0, options_1.skipJsExtensionsOption)())
|
|
161
172
|
.addOption((0, options_1.httpClientOption)())
|
|
162
173
|
.addOption((0, options_1.cleanOption)())
|
|
174
|
+
.addOption((0, options_1.renameModelOption)())
|
|
163
175
|
.action(generateAction);
|
|
164
176
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,4 +99,18 @@ export declare function parseIncludeValues(values: string[]): string[];
|
|
|
99
99
|
* Validate timeout value
|
|
100
100
|
*/
|
|
101
101
|
export declare function validateTimeout(value: string): number;
|
|
102
|
+
/**
|
|
103
|
+
* Rename model option builder (repeatable)
|
|
104
|
+
* Format: "original:replacement" for partial or exact match renaming
|
|
105
|
+
*/
|
|
106
|
+
export declare function renameModelOption(): Option;
|
|
107
|
+
/**
|
|
108
|
+
* Parse rename model option values
|
|
109
|
+
* Format: "original:replacement"
|
|
110
|
+
* Returns array of { pattern: string, replacement: string }
|
|
111
|
+
*/
|
|
112
|
+
export declare function parseRenameModelValues(values: string[]): Array<{
|
|
113
|
+
pattern: string;
|
|
114
|
+
replacement: string;
|
|
115
|
+
}>;
|
|
102
116
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAUtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBrD"}
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAUtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAKtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EAAE,GACf,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BjD"}
|
|
@@ -24,6 +24,8 @@ exports.parseHeaders = parseHeaders;
|
|
|
24
24
|
exports.collectValues = collectValues;
|
|
25
25
|
exports.parseIncludeValues = parseIncludeValues;
|
|
26
26
|
exports.validateTimeout = validateTimeout;
|
|
27
|
+
exports.renameModelOption = renameModelOption;
|
|
28
|
+
exports.parseRenameModelValues = parseRenameModelValues;
|
|
27
29
|
const commander_1 = require("commander");
|
|
28
30
|
/**
|
|
29
31
|
* Shared CLI option builders
|
|
@@ -224,4 +226,35 @@ function validateTimeout(value) {
|
|
|
224
226
|
}
|
|
225
227
|
return parsed;
|
|
226
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Rename model option builder (repeatable)
|
|
231
|
+
* Format: "original:replacement" for partial or exact match renaming
|
|
232
|
+
*/
|
|
233
|
+
function renameModelOption() {
|
|
234
|
+
return new commander_1.Option('--rename-model <mapping>', 'Rename model: "original:new" or partial match "inline_response:Response" (repeatable)').argParser(collectValues).default([]);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Parse rename model option values
|
|
238
|
+
* Format: "original:replacement"
|
|
239
|
+
* Returns array of { pattern: string, replacement: string }
|
|
240
|
+
*/
|
|
241
|
+
function parseRenameModelValues(values) {
|
|
242
|
+
const result = [];
|
|
243
|
+
for (const value of values) {
|
|
244
|
+
const colonIndex = value.indexOf(':');
|
|
245
|
+
if (colonIndex === -1) {
|
|
246
|
+
throw new Error(`Invalid rename format: "${value}". Expected format: "original:replacement"`);
|
|
247
|
+
}
|
|
248
|
+
const pattern = value.substring(0, colonIndex).trim();
|
|
249
|
+
const replacement = value.substring(colonIndex + 1).trim();
|
|
250
|
+
if (!pattern) {
|
|
251
|
+
throw new Error(`Invalid rename format: "${value}". Pattern cannot be empty`);
|
|
252
|
+
}
|
|
253
|
+
if (!replacement) {
|
|
254
|
+
throw new Error(`Invalid rename format: "${value}". Replacement cannot be empty`);
|
|
255
|
+
}
|
|
256
|
+
result.push({ pattern, replacement });
|
|
257
|
+
}
|
|
258
|
+
return result;
|
|
259
|
+
}
|
|
227
260
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":";;AASA,8BAMC;AAKD,oCAMC;AAKD,oCAEC;AAKD,sCAUC;AAKD,8BAEC;AAKD,kDAEC;AAKD,oDAEC;AAKD,oCAEC;AAKD,oCAEC;AAKD,wCAEC;AAKD,wCAEC;AAKD,8CAEC;AAKD,8CAIC;AAKD,wDAEC;AAKD,gCAEC;AAKD,4CAIC;AAKD,kCAEC;AAKD,8CAIC;AAKD,kDAEC;AAKD,sCAKC;AAMD,oCAqBC;AAKD,sCAEC;AAKD,gDAQC;AAKD,0CAgBC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cli/utils/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,9 @@ export declare class ClassValidatorPlugin implements GeneratorPlugin {
|
|
|
33
33
|
private addPrimitiveValidator;
|
|
34
34
|
/**
|
|
35
35
|
* Add format-based validators (email, url, uuid, etc.)
|
|
36
|
+
*
|
|
37
|
+
* Maps OpenAPI format values to appropriate class-validator decorators.
|
|
38
|
+
* See: https://swagger.io/docs/specification/data-models/data-types/
|
|
36
39
|
*/
|
|
37
40
|
private addFormatValidators;
|
|
38
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-validator-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,IAAI,SAAqB;IACzB,QAAQ,SAAM;IAEd;;;OAGG;IAEH;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B
|
|
1
|
+
{"version":3,"file":"class-validator-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,IAAI,SAAqB;IACzB,QAAQ,SAAM;IAEd;;;OAGG;IAEH;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkF3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiGhC"}
|
|
@@ -110,12 +110,16 @@ class ClassValidatorPlugin {
|
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* Add format-based validators (email, url, uuid, etc.)
|
|
113
|
+
*
|
|
114
|
+
* Maps OpenAPI format values to appropriate class-validator decorators.
|
|
115
|
+
* See: https://swagger.io/docs/specification/data-models/data-types/
|
|
113
116
|
*/
|
|
114
117
|
addFormatValidators(property, propertyDef, context) {
|
|
115
118
|
if (!propertyDef.format) {
|
|
116
119
|
return;
|
|
117
120
|
}
|
|
118
121
|
switch (propertyDef.format.toLowerCase()) {
|
|
122
|
+
// String formats
|
|
119
123
|
case 'email':
|
|
120
124
|
context.importManager.addImport('class-validator', 'IsEmail');
|
|
121
125
|
property.addDecorator({ name: 'IsEmail', arguments: [] });
|
|
@@ -129,12 +133,50 @@ class ClassValidatorPlugin {
|
|
|
129
133
|
context.importManager.addImport('class-validator', 'IsUUID');
|
|
130
134
|
property.addDecorator({ name: 'IsUUID', arguments: [] });
|
|
131
135
|
break;
|
|
136
|
+
// Date formats - use IsDateString/IsISO8601 for string types (OpenAPI date-time is always a string)
|
|
132
137
|
case 'date':
|
|
133
138
|
case 'date-time':
|
|
134
|
-
context.importManager.addImport('class-validator', '
|
|
135
|
-
property.addDecorator({ name: '
|
|
139
|
+
context.importManager.addImport('class-validator', 'IsDateString');
|
|
140
|
+
property.addDecorator({ name: 'IsDateString', arguments: [] });
|
|
141
|
+
break;
|
|
142
|
+
// Binary/encoded formats
|
|
143
|
+
case 'byte':
|
|
144
|
+
// Base64-encoded string
|
|
145
|
+
context.importManager.addImport('class-validator', 'IsBase64');
|
|
146
|
+
property.addDecorator({ name: 'IsBase64', arguments: [] });
|
|
147
|
+
break;
|
|
148
|
+
case 'binary':
|
|
149
|
+
// Binary data - no specific string validator needed
|
|
150
|
+
// This is typically handled as file upload, not validated as string
|
|
151
|
+
break;
|
|
152
|
+
// Network formats
|
|
153
|
+
case 'hostname':
|
|
154
|
+
context.importManager.addImport('class-validator', 'IsFQDN');
|
|
155
|
+
property.addDecorator({ name: 'IsFQDN', arguments: [] });
|
|
156
|
+
break;
|
|
157
|
+
case 'ipv4':
|
|
158
|
+
context.importManager.addImport('class-validator', 'IsIP');
|
|
159
|
+
property.addDecorator({ name: 'IsIP', arguments: ["'4'"] });
|
|
160
|
+
break;
|
|
161
|
+
case 'ipv6':
|
|
162
|
+
context.importManager.addImport('class-validator', 'IsIP');
|
|
163
|
+
property.addDecorator({ name: 'IsIP', arguments: ["'6'"] });
|
|
164
|
+
break;
|
|
165
|
+
// Integer formats (for number types)
|
|
166
|
+
case 'int32':
|
|
167
|
+
case 'int64':
|
|
168
|
+
context.importManager.addImport('class-validator', 'IsInt');
|
|
169
|
+
property.addDecorator({ name: 'IsInt', arguments: [] });
|
|
170
|
+
break;
|
|
171
|
+
// Float formats - @IsNumber is already added by type validator
|
|
172
|
+
case 'float':
|
|
173
|
+
case 'double':
|
|
174
|
+
// No additional decorator needed - @IsNumber covers this
|
|
175
|
+
break;
|
|
176
|
+
// Password hint - no validation beyond string type
|
|
177
|
+
case 'password':
|
|
178
|
+
// Just a hint for UI/docs, no special validation
|
|
136
179
|
break;
|
|
137
|
-
// Other formats could be added here
|
|
138
180
|
}
|
|
139
181
|
}
|
|
140
182
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-validator-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAYH,MAAa,oBAAoB;IAAjC;QACE,SAAI,GAAG,iBAAiB,CAAC;QACzB,aAAQ,GAAG,EAAE,CAAC,CAAC,+CAA+C;
|
|
1
|
+
{"version":3,"file":"class-validator-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IR Renamer
|
|
3
|
+
*
|
|
4
|
+
* Applies schema renames to an IR, updating all references.
|
|
5
|
+
* Supports partial matching for flexible renaming of auto-generated names.
|
|
6
|
+
*
|
|
7
|
+
* Note: This function does NOT mutate the input IR. It creates a deep clone
|
|
8
|
+
* of all modified structures.
|
|
9
|
+
*/
|
|
10
|
+
import { SchemaIR } from '../ir/types';
|
|
11
|
+
/**
|
|
12
|
+
* Error thrown when rename mappings cause name collisions
|
|
13
|
+
*/
|
|
14
|
+
export declare class RenameCollisionError extends Error {
|
|
15
|
+
readonly collisions: Array<{
|
|
16
|
+
originalNames: string[];
|
|
17
|
+
targetName: string;
|
|
18
|
+
}>;
|
|
19
|
+
constructor(collisions: Array<{
|
|
20
|
+
originalNames: string[];
|
|
21
|
+
targetName: string;
|
|
22
|
+
}>);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Rename mapping configuration
|
|
26
|
+
*/
|
|
27
|
+
export interface RenameMapping {
|
|
28
|
+
/** Pattern to match (substring match in schema names) */
|
|
29
|
+
pattern: string;
|
|
30
|
+
/** Replacement string */
|
|
31
|
+
replacement: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Options for renaming
|
|
35
|
+
*/
|
|
36
|
+
export interface RenameOptions {
|
|
37
|
+
/** Rename mappings to apply */
|
|
38
|
+
mappings: RenameMapping[];
|
|
39
|
+
/** Case-sensitive matching (default: false) */
|
|
40
|
+
caseSensitive?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Result of renaming operation
|
|
44
|
+
*/
|
|
45
|
+
export interface RenameResult {
|
|
46
|
+
/** The modified IR */
|
|
47
|
+
ir: SchemaIR;
|
|
48
|
+
/** Map of old names to new names */
|
|
49
|
+
renamedSchemas: Map<string, string>;
|
|
50
|
+
/** Statistics */
|
|
51
|
+
stats: {
|
|
52
|
+
schemasRenamed: number;
|
|
53
|
+
referencesUpdated: number;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Rename schemas in an IR based on pattern matching
|
|
58
|
+
*/
|
|
59
|
+
export declare class IRRenamer {
|
|
60
|
+
/**
|
|
61
|
+
* Apply rename mappings to an IR.
|
|
62
|
+
* This method does NOT mutate the input IR - it returns a new IR with renamed schemas.
|
|
63
|
+
*
|
|
64
|
+
* @throws {RenameCollisionError} When multiple schemas would be renamed to the same name
|
|
65
|
+
*/
|
|
66
|
+
rename(ir: SchemaIR, options: RenameOptions): RenameResult;
|
|
67
|
+
/**
|
|
68
|
+
* Detect if multiple schemas would be renamed to the same name
|
|
69
|
+
* @throws {RenameCollisionError} if collisions are detected
|
|
70
|
+
*/
|
|
71
|
+
private detectCollisions;
|
|
72
|
+
/**
|
|
73
|
+
* Clone operations map and update type references
|
|
74
|
+
* This ensures we don't mutate the original IR
|
|
75
|
+
*/
|
|
76
|
+
private cloneAndUpdateOperations;
|
|
77
|
+
/**
|
|
78
|
+
* Deep clone an operation definition
|
|
79
|
+
*/
|
|
80
|
+
private cloneOperation;
|
|
81
|
+
/**
|
|
82
|
+
* Deep clone a parameter definition
|
|
83
|
+
*/
|
|
84
|
+
private cloneParameter;
|
|
85
|
+
/**
|
|
86
|
+
* Deep clone a response definition
|
|
87
|
+
*/
|
|
88
|
+
private cloneResponse;
|
|
89
|
+
/**
|
|
90
|
+
* Deep clone a type reference
|
|
91
|
+
*/
|
|
92
|
+
private cloneTypeReference;
|
|
93
|
+
/**
|
|
94
|
+
* Apply mappings to a schema name
|
|
95
|
+
* Supports partial matching (substring replacement)
|
|
96
|
+
*/
|
|
97
|
+
private applyMappings;
|
|
98
|
+
/**
|
|
99
|
+
* Update type references in a schema's properties
|
|
100
|
+
*/
|
|
101
|
+
private updateSchemaReferences;
|
|
102
|
+
/**
|
|
103
|
+
* Update references in an operation (mutates the operation)
|
|
104
|
+
*/
|
|
105
|
+
private updateOperationReferences;
|
|
106
|
+
/**
|
|
107
|
+
* Recursively update type references
|
|
108
|
+
*/
|
|
109
|
+
private updateTypeReference;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Convenience function for renaming schemas
|
|
113
|
+
*/
|
|
114
|
+
export declare function renameSchemas(ir: SchemaIR, mappings: RenameMapping[]): RenameResult;
|
|
115
|
+
//# sourceMappingURL=ir-renamer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir-renamer.d.ts","sourceRoot":"","sources":["../../src/utils/ir-renamer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,QAAQ,EAMT,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,UAAU,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;gBAAlE,UAAU,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAQrF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,EAAE,EAAE,QAAQ,CAAC;IACb,oCAAoC;IACpC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,iBAAiB;IACjB,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY;IA6D1D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA8BjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAwC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,aAAa,EAAE,GACxB,YAAY,CAGd"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IR Renamer
|
|
4
|
+
*
|
|
5
|
+
* Applies schema renames to an IR, updating all references.
|
|
6
|
+
* Supports partial matching for flexible renaming of auto-generated names.
|
|
7
|
+
*
|
|
8
|
+
* Note: This function does NOT mutate the input IR. It creates a deep clone
|
|
9
|
+
* of all modified structures.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IRRenamer = exports.RenameCollisionError = void 0;
|
|
13
|
+
exports.renameSchemas = renameSchemas;
|
|
14
|
+
const name_utils_1 = require("./name-utils");
|
|
15
|
+
/**
|
|
16
|
+
* Error thrown when rename mappings cause name collisions
|
|
17
|
+
*/
|
|
18
|
+
class RenameCollisionError extends Error {
|
|
19
|
+
constructor(collisions) {
|
|
20
|
+
const details = collisions
|
|
21
|
+
.map(c => ` - "${c.originalNames.join('", "')}" all rename to "${c.targetName}"`)
|
|
22
|
+
.join('\n');
|
|
23
|
+
super(`Rename collision detected: multiple schemas would be renamed to the same name:\n${details}`);
|
|
24
|
+
this.collisions = collisions;
|
|
25
|
+
this.name = 'RenameCollisionError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.RenameCollisionError = RenameCollisionError;
|
|
29
|
+
/**
|
|
30
|
+
* Rename schemas in an IR based on pattern matching
|
|
31
|
+
*/
|
|
32
|
+
class IRRenamer {
|
|
33
|
+
/**
|
|
34
|
+
* Apply rename mappings to an IR.
|
|
35
|
+
* This method does NOT mutate the input IR - it returns a new IR with renamed schemas.
|
|
36
|
+
*
|
|
37
|
+
* @throws {RenameCollisionError} When multiple schemas would be renamed to the same name
|
|
38
|
+
*/
|
|
39
|
+
rename(ir, options) {
|
|
40
|
+
const { mappings, caseSensitive = false } = options;
|
|
41
|
+
const renamedSchemas = new Map();
|
|
42
|
+
let referencesUpdated = 0;
|
|
43
|
+
// Phase 1: Determine all renames first (before building schema map)
|
|
44
|
+
const renameMap = new Map(); // originalName -> newName
|
|
45
|
+
for (const [originalName] of ir.schemas) {
|
|
46
|
+
const newName = this.applyMappings(originalName, mappings, caseSensitive);
|
|
47
|
+
renameMap.set(originalName, newName);
|
|
48
|
+
if (newName !== originalName) {
|
|
49
|
+
renamedSchemas.set(originalName, newName);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Phase 1.5: Detect collisions - check if multiple schemas map to same name
|
|
53
|
+
this.detectCollisions(renameMap);
|
|
54
|
+
// Phase 2: Build new schema map with cloned schemas
|
|
55
|
+
const newSchemaMap = new Map();
|
|
56
|
+
for (const [originalName, schema] of ir.schemas) {
|
|
57
|
+
const newName = renameMap.get(originalName);
|
|
58
|
+
// Deep clone schema with new name
|
|
59
|
+
const renamedSchema = {
|
|
60
|
+
...schema,
|
|
61
|
+
name: newName,
|
|
62
|
+
properties: new Map(schema.properties),
|
|
63
|
+
required: new Set(schema.required),
|
|
64
|
+
};
|
|
65
|
+
newSchemaMap.set(newName, renamedSchema);
|
|
66
|
+
}
|
|
67
|
+
// Phase 3: Update all type references in schemas
|
|
68
|
+
for (const schema of newSchemaMap.values()) {
|
|
69
|
+
referencesUpdated += this.updateSchemaReferences(schema, renamedSchemas);
|
|
70
|
+
}
|
|
71
|
+
// Phase 4: Clone and update operation references (don't mutate original IR)
|
|
72
|
+
const newOperationsMap = this.cloneAndUpdateOperations(ir.operations, renamedSchemas);
|
|
73
|
+
referencesUpdated += newOperationsMap.referencesUpdated;
|
|
74
|
+
// Build result IR
|
|
75
|
+
const resultIR = {
|
|
76
|
+
schemas: newSchemaMap,
|
|
77
|
+
operations: newOperationsMap.operations,
|
|
78
|
+
metadata: { ...ir.metadata },
|
|
79
|
+
};
|
|
80
|
+
return {
|
|
81
|
+
ir: resultIR,
|
|
82
|
+
renamedSchemas,
|
|
83
|
+
stats: {
|
|
84
|
+
schemasRenamed: renamedSchemas.size,
|
|
85
|
+
referencesUpdated,
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Detect if multiple schemas would be renamed to the same name
|
|
91
|
+
* @throws {RenameCollisionError} if collisions are detected
|
|
92
|
+
*/
|
|
93
|
+
detectCollisions(renameMap) {
|
|
94
|
+
// Group original names by their target name
|
|
95
|
+
const targetToOriginals = new Map();
|
|
96
|
+
for (const [originalName, newName] of renameMap) {
|
|
97
|
+
const originals = targetToOriginals.get(newName) || [];
|
|
98
|
+
originals.push(originalName);
|
|
99
|
+
targetToOriginals.set(newName, originals);
|
|
100
|
+
}
|
|
101
|
+
// Find collisions (target names with multiple originals)
|
|
102
|
+
const collisions = [];
|
|
103
|
+
for (const [targetName, originalNames] of targetToOriginals) {
|
|
104
|
+
if (originalNames.length > 1) {
|
|
105
|
+
collisions.push({ originalNames, targetName });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (collisions.length > 0) {
|
|
109
|
+
throw new RenameCollisionError(collisions);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Clone operations map and update type references
|
|
114
|
+
* This ensures we don't mutate the original IR
|
|
115
|
+
*/
|
|
116
|
+
cloneAndUpdateOperations(operations, renames) {
|
|
117
|
+
const newOperations = new Map();
|
|
118
|
+
let referencesUpdated = 0;
|
|
119
|
+
for (const [opId, operation] of operations) {
|
|
120
|
+
// Deep clone the operation
|
|
121
|
+
const clonedOperation = this.cloneOperation(operation);
|
|
122
|
+
referencesUpdated += this.updateOperationReferences(clonedOperation, renames);
|
|
123
|
+
newOperations.set(opId, clonedOperation);
|
|
124
|
+
}
|
|
125
|
+
return { operations: newOperations, referencesUpdated };
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Deep clone an operation definition
|
|
129
|
+
*/
|
|
130
|
+
cloneOperation(operation) {
|
|
131
|
+
return {
|
|
132
|
+
...operation,
|
|
133
|
+
parameters: operation.parameters.map(p => this.cloneParameter(p)),
|
|
134
|
+
requestBody: operation.requestBody
|
|
135
|
+
? {
|
|
136
|
+
...operation.requestBody,
|
|
137
|
+
content: new Map(Array.from(operation.requestBody.content.entries()).map(([k, v]) => [
|
|
138
|
+
k,
|
|
139
|
+
this.cloneTypeReference(v),
|
|
140
|
+
])),
|
|
141
|
+
}
|
|
142
|
+
: undefined,
|
|
143
|
+
responses: new Map(Array.from(operation.responses.entries()).map(([k, v]) => [k, this.cloneResponse(v)])),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Deep clone a parameter definition
|
|
148
|
+
*/
|
|
149
|
+
cloneParameter(param) {
|
|
150
|
+
return {
|
|
151
|
+
...param,
|
|
152
|
+
type: this.cloneTypeReference(param.type),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Deep clone a response definition
|
|
157
|
+
*/
|
|
158
|
+
cloneResponse(response) {
|
|
159
|
+
return {
|
|
160
|
+
...response,
|
|
161
|
+
content: response.content
|
|
162
|
+
? new Map(Array.from(response.content.entries()).map(([k, v]) => [k, this.cloneTypeReference(v)]))
|
|
163
|
+
: undefined,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Deep clone a type reference
|
|
168
|
+
*/
|
|
169
|
+
cloneTypeReference(type) {
|
|
170
|
+
if (!type)
|
|
171
|
+
return type;
|
|
172
|
+
switch (type.kind) {
|
|
173
|
+
case 'array':
|
|
174
|
+
return {
|
|
175
|
+
...type,
|
|
176
|
+
elementType: type.elementType ? this.cloneTypeReference(type.elementType) : undefined,
|
|
177
|
+
};
|
|
178
|
+
case 'union':
|
|
179
|
+
return {
|
|
180
|
+
...type,
|
|
181
|
+
unionTypes: type.unionTypes?.map(t => this.cloneTypeReference(t)),
|
|
182
|
+
};
|
|
183
|
+
case 'dictionary':
|
|
184
|
+
return {
|
|
185
|
+
...type,
|
|
186
|
+
additionalProperties: type.additionalProperties
|
|
187
|
+
? this.cloneTypeReference(type.additionalProperties)
|
|
188
|
+
: undefined,
|
|
189
|
+
};
|
|
190
|
+
default:
|
|
191
|
+
return { ...type };
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Apply mappings to a schema name
|
|
196
|
+
* Supports partial matching (substring replacement)
|
|
197
|
+
*/
|
|
198
|
+
applyMappings(name, mappings, caseSensitive) {
|
|
199
|
+
let result = name;
|
|
200
|
+
for (const { pattern, replacement } of mappings) {
|
|
201
|
+
const nameToMatch = caseSensitive ? result : result.toLowerCase();
|
|
202
|
+
const patternToMatch = caseSensitive ? pattern : pattern.toLowerCase();
|
|
203
|
+
if (nameToMatch.includes(patternToMatch)) {
|
|
204
|
+
// Find actual position in original case string
|
|
205
|
+
const idx = nameToMatch.indexOf(patternToMatch);
|
|
206
|
+
const actualPattern = result.substring(idx, idx + pattern.length);
|
|
207
|
+
result = result.replace(actualPattern, replacement);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// Ensure result is valid PascalCase class name
|
|
211
|
+
return (0, name_utils_1.toPascalCase)(result);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Update type references in a schema's properties
|
|
215
|
+
*/
|
|
216
|
+
updateSchemaReferences(schema, renames) {
|
|
217
|
+
let count = 0;
|
|
218
|
+
for (const property of schema.properties.values()) {
|
|
219
|
+
count += this.updateTypeReference(property.type, renames);
|
|
220
|
+
}
|
|
221
|
+
return count;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Update references in an operation (mutates the operation)
|
|
225
|
+
*/
|
|
226
|
+
updateOperationReferences(operation, renames) {
|
|
227
|
+
let count = 0;
|
|
228
|
+
// Parameters
|
|
229
|
+
for (const param of operation.parameters) {
|
|
230
|
+
count += this.updateTypeReference(param.type, renames);
|
|
231
|
+
}
|
|
232
|
+
// Request body
|
|
233
|
+
if (operation.requestBody?.content) {
|
|
234
|
+
for (const type of operation.requestBody.content.values()) {
|
|
235
|
+
count += this.updateTypeReference(type, renames);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Responses
|
|
239
|
+
for (const response of operation.responses.values()) {
|
|
240
|
+
if (response.content) {
|
|
241
|
+
for (const type of response.content.values()) {
|
|
242
|
+
count += this.updateTypeReference(type, renames);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return count;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Recursively update type references
|
|
250
|
+
*/
|
|
251
|
+
updateTypeReference(type, renames) {
|
|
252
|
+
if (!type)
|
|
253
|
+
return 0;
|
|
254
|
+
let count = 0;
|
|
255
|
+
switch (type.kind) {
|
|
256
|
+
case 'reference':
|
|
257
|
+
case 'object':
|
|
258
|
+
if (type.name && renames.has(type.name)) {
|
|
259
|
+
type.name = renames.get(type.name);
|
|
260
|
+
count++;
|
|
261
|
+
}
|
|
262
|
+
break;
|
|
263
|
+
case 'array':
|
|
264
|
+
if (type.elementType) {
|
|
265
|
+
count += this.updateTypeReference(type.elementType, renames);
|
|
266
|
+
}
|
|
267
|
+
break;
|
|
268
|
+
case 'union':
|
|
269
|
+
if (type.unionTypes) {
|
|
270
|
+
for (const t of type.unionTypes) {
|
|
271
|
+
count += this.updateTypeReference(t, renames);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
break;
|
|
275
|
+
case 'dictionary':
|
|
276
|
+
if (type.additionalProperties) {
|
|
277
|
+
count += this.updateTypeReference(type.additionalProperties, renames);
|
|
278
|
+
}
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
return count;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
exports.IRRenamer = IRRenamer;
|
|
285
|
+
/**
|
|
286
|
+
* Convenience function for renaming schemas
|
|
287
|
+
*/
|
|
288
|
+
function renameSchemas(ir, mappings) {
|
|
289
|
+
const renamer = new IRRenamer();
|
|
290
|
+
return renamer.rename(ir, { mappings });
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=ir-renamer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir-renamer.js","sourceRoot":"","sources":["../../src/utils/ir-renamer.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA6XH,sCAMC;AAzXD,6CAA4C;AAE5C;;GAEG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACkB,UAAkE;QAElF,MAAM,OAAO,GAAG,UAAU;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,UAAU,GAAG,CAAC;aACjF,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,mFAAmF,OAAO,EAAE,CAAC,CAAC;QALpF,eAAU,GAAV,UAAU,CAAwD;QAMlF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAVD,oDAUC;AAqCD;;GAEG;AACH,MAAa,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAY,EAAE,OAAsB;QACzC,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAEpD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,oEAAoE;QACpE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,0BAA0B;QACvE,KAAK,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC1E,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEjC,oDAAoD;QACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;QACzD,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;YAE7C,kCAAkC;YAClC,MAAM,aAAa,GAAqB;gBACtC,GAAG,MAAM;gBACT,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;gBACtC,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;aACnC,CAAC;YAEF,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;QAED,iDAAiD;QACjD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,iBAAiB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;QAED,4EAA4E;QAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtF,iBAAiB,IAAI,gBAAgB,CAAC,iBAAiB,CAAC;QAExD,kBAAkB;QAClB,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ;YACZ,cAAc;YACd,KAAK,EAAE;gBACL,cAAc,EAAE,cAAc,CAAC,IAAI;gBACnC,iBAAiB;aAClB;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,SAA8B;QACrD,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtD,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,yDAAyD;QACzD,MAAM,UAAU,GAA2D,EAAE,CAAC;QAC9E,KAAK,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAC9B,UAA4C,EAC5C,OAA4B;QAE5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC7D,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3C,2BAA2B;YAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACvD,iBAAiB,IAAI,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC9E,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAA8B;QACnD,OAAO;YACL,GAAG,SAAS;YACZ,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,SAAS,CAAC,WAAW;gBAChC,CAAC,CAAC;oBACE,GAAG,SAAS,CAAC,WAAW;oBACxB,OAAO,EAAE,IAAI,GAAG,CACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;wBAClE,CAAC;wBACD,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBAC3B,CAAC,CACH;iBACF;gBACH,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,IAAI,GAAG,CAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACtF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAA0B;QAC/C,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAA4B;QAChD,OAAO;YACL,GAAG,QAAQ;YACX,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACvB,CAAC,CAAC,IAAI,GAAG,CACL,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CACxF;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAmB;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO;oBACL,GAAG,IAAI;oBACP,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;iBACtF,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;iBAClE,CAAC;YACJ,KAAK,YAAY;gBACf,OAAO;oBACL,GAAG,IAAI;oBACP,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;wBAC7C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC;wBACpD,CAAC,CAAC,SAAS;iBACd,CAAC;YACJ;gBACE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,aAAa,CACnB,IAAY,EACZ,QAAyB,EACzB,aAAsB;QAEtB,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAClE,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAEvE,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,+CAA+C;gBAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,OAAO,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,MAAwB,EACxB,OAA4B;QAE5B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,SAA8B,EAC9B,OAA4B;QAE5B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,aAAa;QACb,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,eAAe;QACf,IAAI,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1D,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,YAAY;QACZ,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC7C,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,IAAmB,EACnB,OAA4B;QAE5B,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAEpB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;oBACpC,KAAK,EAAE,CAAC;gBACV,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChC,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,YAAY;gBACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC9B,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM;QACV,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAvTD,8BAuTC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,EAAY,EACZ,QAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED