openapi-class-transformer 1.0.22 → 1.1.0
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/README.md +194 -0
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -1
- package/dist/generator.d.ts +5 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +2 -1
- package/dist/generator.js.map +1 -1
- package/dist/post-processor.d.ts +21 -1
- package/dist/post-processor.d.ts.map +1 -1
- package/dist/post-processor.js +217 -1
- package/dist/post-processor.js.map +1 -1
- package/package.json +9 -1
package/README.md
CHANGED
|
@@ -5,6 +5,7 @@ Generate class-transformer compatible TypeScript classes from OpenAPI specificat
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
✨ **Class-Transformer Compatible**: Generates TypeScript classes with `@Expose()` and `@Type()` decorators
|
|
8
|
+
✅ **Class-Validator Support** (NEW in v1.1.0): Automatically generates validation decorators (`@IsString()`, `@IsOptional()`, etc.)
|
|
8
9
|
🎯 **Type-Safe**: Full TypeScript support with proper type definitions
|
|
9
10
|
📦 **Vendor Extensions**: Automatically includes all `x-*` properties in JSDoc comments
|
|
10
11
|
🔧 **Customizable**: Support for custom templates and additional properties
|
|
@@ -37,6 +38,30 @@ npx openapi-class-transformer generate \
|
|
|
37
38
|
-o ./src/api \
|
|
38
39
|
-t ./custom-templates
|
|
39
40
|
|
|
41
|
+
# Generate only models (skip APIs)
|
|
42
|
+
npx openapi-class-transformer generate \
|
|
43
|
+
-i ./spec.json \
|
|
44
|
+
-o ./output \
|
|
45
|
+
--models-only
|
|
46
|
+
|
|
47
|
+
# With NestJS Swagger decorators
|
|
48
|
+
npx openapi-class-transformer generate \
|
|
49
|
+
-i ./spec.json \
|
|
50
|
+
-o ./output \
|
|
51
|
+
--nestjs-swagger
|
|
52
|
+
|
|
53
|
+
# With class-validator decorators (NEW in v1.1.0)
|
|
54
|
+
npx openapi-class-transformer generate \
|
|
55
|
+
-i ./spec.json \
|
|
56
|
+
-o ./output \
|
|
57
|
+
--class-validator
|
|
58
|
+
|
|
59
|
+
# Skip .js extensions (for bundlers like webpack/Next.js)
|
|
60
|
+
npx openapi-class-transformer generate \
|
|
61
|
+
-i ./spec.json \
|
|
62
|
+
-o ./output \
|
|
63
|
+
--skip-js-extensions
|
|
64
|
+
|
|
40
65
|
# With additional properties
|
|
41
66
|
npx openapi-class-transformer generate \
|
|
42
67
|
-i ./spec.json \
|
|
@@ -44,6 +69,19 @@ npx openapi-class-transformer generate \
|
|
|
44
69
|
--additional-properties modelPackage=dto,apiPackage=services
|
|
45
70
|
```
|
|
46
71
|
|
|
72
|
+
#### CLI Options
|
|
73
|
+
|
|
74
|
+
| Option | Description |
|
|
75
|
+
|--------|-------------|
|
|
76
|
+
| `-i, --input <path>` | **Required**. Path to OpenAPI specification file (JSON or YAML) |
|
|
77
|
+
| `-o, --output <path>` | **Required**. Output directory for generated files |
|
|
78
|
+
| `-t, --template <path>` | Custom template directory |
|
|
79
|
+
| `--models-only` | Generate only model classes (skip APIs and configuration) |
|
|
80
|
+
| `--nestjs-swagger` | Include NestJS Swagger `@ApiProperty` decorators |
|
|
81
|
+
| `--skip-js-extensions` | Skip adding .js extensions to imports/exports |
|
|
82
|
+
| `--class-validator` | Include class-validator decorators (`@IsString`, `@IsOptional`, etc.) |
|
|
83
|
+
| `--additional-properties <props>` | Additional OpenAPI Generator properties (key=value,key2=value2) |
|
|
84
|
+
|
|
47
85
|
### Programmatic API
|
|
48
86
|
|
|
49
87
|
```typescript
|
|
@@ -54,6 +92,14 @@ const generator = new Generator({
|
|
|
54
92
|
outputDir: './src/generated',
|
|
55
93
|
// Optional: custom template directory
|
|
56
94
|
templateDir: './custom-templates',
|
|
95
|
+
// Optional: generate only models (skip APIs)
|
|
96
|
+
modelsOnly: false,
|
|
97
|
+
// Optional: include NestJS Swagger decorators
|
|
98
|
+
nestJsSwagger: false,
|
|
99
|
+
// Optional: skip .js extensions
|
|
100
|
+
skipJsExtensions: false,
|
|
101
|
+
// Optional: include class-validator decorators (NEW in v1.1.0)
|
|
102
|
+
classValidator: false,
|
|
57
103
|
// Optional: additional OpenAPI Generator properties
|
|
58
104
|
additionalProperties: {
|
|
59
105
|
modelPackage: 'dto',
|
|
@@ -165,6 +211,129 @@ const user = plainToInstance(User, plainData);
|
|
|
165
211
|
// ✅ user.profile is properly typed Profile instance
|
|
166
212
|
```
|
|
167
213
|
|
|
214
|
+
## Use with class-validator (NEW in v1.1.0)
|
|
215
|
+
|
|
216
|
+
When you generate models with the `--class-validator` flag, the generator automatically adds appropriate validation decorators based on your OpenAPI schema:
|
|
217
|
+
|
|
218
|
+
### Installation
|
|
219
|
+
|
|
220
|
+
First, install class-validator as a peer dependency:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npm install class-validator
|
|
224
|
+
# or
|
|
225
|
+
yarn add class-validator
|
|
226
|
+
# or
|
|
227
|
+
pnpm add class-validator
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Generation
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
npx openapi-class-transformer generate \
|
|
234
|
+
-i ./api-spec.json \
|
|
235
|
+
-o ./src/generated \
|
|
236
|
+
--class-validator
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### OpenAPI Schema
|
|
240
|
+
|
|
241
|
+
```yaml
|
|
242
|
+
components:
|
|
243
|
+
schemas:
|
|
244
|
+
User:
|
|
245
|
+
type: object
|
|
246
|
+
required:
|
|
247
|
+
- email
|
|
248
|
+
- age
|
|
249
|
+
properties:
|
|
250
|
+
email:
|
|
251
|
+
type: string
|
|
252
|
+
format: email
|
|
253
|
+
age:
|
|
254
|
+
type: integer
|
|
255
|
+
minimum: 0
|
|
256
|
+
maximum: 120
|
|
257
|
+
bio:
|
|
258
|
+
type: string
|
|
259
|
+
minLength: 10
|
|
260
|
+
maxLength: 500
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Generated Output
|
|
264
|
+
|
|
265
|
+
```typescript
|
|
266
|
+
import { Expose, Type } from 'class-transformer';
|
|
267
|
+
import { IsEmail, IsInt, IsOptional, IsString, Length, Max, Min } from 'class-validator';
|
|
268
|
+
|
|
269
|
+
export class User {
|
|
270
|
+
@IsEmail()
|
|
271
|
+
@Expose()
|
|
272
|
+
'email': string;
|
|
273
|
+
|
|
274
|
+
@IsInt()
|
|
275
|
+
@Min(0)
|
|
276
|
+
@Max(120)
|
|
277
|
+
@Expose()
|
|
278
|
+
'age': number;
|
|
279
|
+
|
|
280
|
+
@IsOptional()
|
|
281
|
+
@IsString()
|
|
282
|
+
@Length(10, 500)
|
|
283
|
+
@Expose()
|
|
284
|
+
'bio'?: string;
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Usage with Validation
|
|
289
|
+
|
|
290
|
+
```typescript
|
|
291
|
+
import { plainToInstance } from 'class-transformer';
|
|
292
|
+
import { validate } from 'class-validator';
|
|
293
|
+
import { User } from './generated/models/user';
|
|
294
|
+
|
|
295
|
+
const plainData = {
|
|
296
|
+
email: 'john@example.com',
|
|
297
|
+
age: 25,
|
|
298
|
+
bio: 'Software developer with 5 years of experience'
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
// Transform to class instance
|
|
302
|
+
const user = plainToInstance(User, plainData);
|
|
303
|
+
|
|
304
|
+
// Validate
|
|
305
|
+
const errors = await validate(user);
|
|
306
|
+
|
|
307
|
+
if (errors.length > 0) {
|
|
308
|
+
console.error('Validation failed:', errors);
|
|
309
|
+
} else {
|
|
310
|
+
console.log('Validation passed!');
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Supported Decorators
|
|
315
|
+
|
|
316
|
+
The generator automatically adds decorators based on OpenAPI schema properties:
|
|
317
|
+
|
|
318
|
+
| OpenAPI Property | Generated Decorator |
|
|
319
|
+
|-----------------|---------------------|
|
|
320
|
+
| `type: string` | `@IsString()` |
|
|
321
|
+
| `type: number` | `@IsNumber()` |
|
|
322
|
+
| `type: integer` | `@IsNumber()` |
|
|
323
|
+
| `type: boolean` | `@IsBoolean()` |
|
|
324
|
+
| `type: array` | `@IsArray()` |
|
|
325
|
+
| `type: object` or `$ref` | `@ValidateNested()` |
|
|
326
|
+
| Not in `required` array | `@IsOptional()` |
|
|
327
|
+
| `format: email` | `@IsEmail()` |
|
|
328
|
+
| `format: url` or `format: uri` | `@IsUrl()` |
|
|
329
|
+
| `format: uuid` | `@IsUUID()` |
|
|
330
|
+
| `pattern: <regex>` | `@Matches(/<regex>/)` |
|
|
331
|
+
| `minLength` / `maxLength` | `@Length(min, max)` |
|
|
332
|
+
| `minimum` / `maximum` | `@Min(min)` / `@Max(max)` |
|
|
333
|
+
| `enum` | `@IsIn([...values])` |
|
|
334
|
+
|
|
335
|
+
For array properties with object items, `@ValidateNested({ each: true })` is added automatically.
|
|
336
|
+
|
|
168
337
|
### Discriminated Unions (Polymorphic Types)
|
|
169
338
|
|
|
170
339
|
When your OpenAPI spec uses `oneOf` or `anyOf` with discriminators, the generator automatically creates discriminator decorators for proper runtime polymorphism:
|
|
@@ -373,6 +542,31 @@ interface GeneratorOptions {
|
|
|
373
542
|
*/
|
|
374
543
|
templateDir?: string;
|
|
375
544
|
|
|
545
|
+
/**
|
|
546
|
+
* Generate only model classes (skip APIs and configuration)
|
|
547
|
+
* @default false
|
|
548
|
+
*/
|
|
549
|
+
modelsOnly?: boolean;
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* Include NestJS Swagger @ApiProperty decorators
|
|
553
|
+
* @default false
|
|
554
|
+
*/
|
|
555
|
+
nestJsSwagger?: boolean;
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* Skip adding .js extensions to imports/exports
|
|
559
|
+
* Useful for bundlers like webpack/Next.js that don't want extensions
|
|
560
|
+
* @default false
|
|
561
|
+
*/
|
|
562
|
+
skipJsExtensions?: boolean;
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Include class-validator decorators (@IsString, @IsOptional, etc.)
|
|
566
|
+
* @default false
|
|
567
|
+
*/
|
|
568
|
+
classValidator?: boolean;
|
|
569
|
+
|
|
376
570
|
/**
|
|
377
571
|
* Additional OpenAPI Generator properties
|
|
378
572
|
*/
|
package/dist/cli.js
CHANGED
|
@@ -48,6 +48,10 @@ program
|
|
|
48
48
|
.requiredOption('-i, --input <path>', 'Path to OpenAPI specification file')
|
|
49
49
|
.requiredOption('-o, --output <path>', 'Output directory for generated files')
|
|
50
50
|
.option('-t, --template <path>', 'Custom template directory')
|
|
51
|
+
.option('--models-only', 'Generate only model classes (skip APIs and configuration)')
|
|
52
|
+
.option('--nestjs-swagger', 'Include NestJS Swagger @ApiProperty decorators')
|
|
53
|
+
.option('--skip-js-extensions', 'Skip adding .js extensions to imports/exports')
|
|
54
|
+
.option('--class-validator', 'Include class-validator decorators (@IsString, @IsOptional, etc.)')
|
|
51
55
|
.option('--additional-properties <props>', 'Additional OpenAPI Generator properties (key=value,key2=value2)')
|
|
52
56
|
.action(async (options) => {
|
|
53
57
|
try {
|
|
@@ -64,6 +68,10 @@ program
|
|
|
64
68
|
const generatorOptions = {
|
|
65
69
|
inputSpec: path.resolve(options.input),
|
|
66
70
|
outputDir: path.resolve(options.output),
|
|
71
|
+
modelsOnly: options.modelsOnly || false,
|
|
72
|
+
nestJsSwagger: options.nestjsSwagger || false,
|
|
73
|
+
skipJsExtensions: options.skipJsExtensions || false,
|
|
74
|
+
classValidator: options.classValidator || false,
|
|
67
75
|
additionalProperties
|
|
68
76
|
};
|
|
69
77
|
// Only set templateDir if custom template is provided
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,2CAAwC;AACxC,2CAA6B;AAE7B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,2BAA2B,CAAC;KACjC,WAAW,CAAC,6EAA6E,CAAC;KAC1F,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,cAAc,CAAC,oBAAoB,EAAE,oCAAoC,CAAC;KAC1E,cAAc,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;KAC7E,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;KAC5D,MAAM,CAAC,iCAAiC,EAAE,iEAAiE,CAAC;KAC5G,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,oBAAoB,GAA2B,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC/D,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;oBACjB,oBAAoB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,MAAM,gBAAgB,GAAQ;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACtC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,oBAAoB;SACrB,CAAC;QAEF,sDAAsD;QACtD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,gBAAgB,CAAC,CAAC;QAElD,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,2CAAwC;AACxC,2CAA6B;AAE7B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,2BAA2B,CAAC;KACjC,WAAW,CAAC,6EAA6E,CAAC;KAC1F,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,cAAc,CAAC,oBAAoB,EAAE,oCAAoC,CAAC;KAC1E,cAAc,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;KAC7E,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;KAC5D,MAAM,CAAC,eAAe,EAAE,2DAA2D,CAAC;KACpF,MAAM,CAAC,kBAAkB,EAAE,gDAAgD,CAAC;KAC5E,MAAM,CAAC,sBAAsB,EAAE,+CAA+C,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,mEAAmE,CAAC;KAChG,MAAM,CAAC,iCAAiC,EAAE,iEAAiE,CAAC;KAC5G,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,oBAAoB,GAA2B,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC/D,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;oBACjB,oBAAoB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,MAAM,gBAAgB,GAAQ;YAC5B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACtC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;YACvC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;YAC7C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;YACnD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;YAC/C,oBAAoB;SACrB,CAAC;QAEF,sDAAsD;QACtD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,gBAAgB,CAAC,CAAC;QAElD,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/generator.d.ts
CHANGED
|
@@ -28,6 +28,11 @@ export interface GeneratorOptions {
|
|
|
28
28
|
* @default false
|
|
29
29
|
*/
|
|
30
30
|
skipJsExtensions?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Include class-validator decorators (@IsString, @IsOptional, etc.)
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
classValidator?: boolean;
|
|
31
36
|
/**
|
|
32
37
|
* Additional OpenAPI Generator properties
|
|
33
38
|
*/
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA6B;gBAEhC,OAAO,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA6B;gBAEhC,OAAO,EAAE,gBAAgB;IAcrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA+FhC"}
|
package/dist/generator.js
CHANGED
|
@@ -45,6 +45,7 @@ class Generator {
|
|
|
45
45
|
modelsOnly: false,
|
|
46
46
|
nestJsSwagger: false,
|
|
47
47
|
skipJsExtensions: false,
|
|
48
|
+
classValidator: false,
|
|
48
49
|
additionalProperties: {},
|
|
49
50
|
...options
|
|
50
51
|
};
|
|
@@ -162,7 +163,7 @@ class Generator {
|
|
|
162
163
|
}
|
|
163
164
|
// Post-process generated files
|
|
164
165
|
console.log('Post-processing generated files...');
|
|
165
|
-
const postProcessor = new post_processor_1.PostProcessor(this.options.inputSpec, this.options.outputDir, this.options.nestJsSwagger, this.options.skipJsExtensions);
|
|
166
|
+
const postProcessor = new post_processor_1.PostProcessor(this.options.inputSpec, this.options.outputDir, this.options.nestJsSwagger, this.options.skipJsExtensions, this.options.classValidator);
|
|
166
167
|
await postProcessor.process();
|
|
167
168
|
console.log('Generation complete!');
|
|
168
169
|
}
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAyC;AACzC,uCAAyB;AACzB,2CAA6B;AAC7B,qDAAiD;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/post-processor.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ export declare class PostProcessor {
|
|
|
3
3
|
private outputDir;
|
|
4
4
|
private nestJsSwagger;
|
|
5
5
|
private skipJsExtensions;
|
|
6
|
+
private classValidator;
|
|
6
7
|
private unionTypeMap;
|
|
7
8
|
private discriminatedUnionMap;
|
|
8
|
-
constructor(specPath: string, outputDir: string, nestJsSwagger?: boolean, skipJsExtensions?: boolean);
|
|
9
|
+
constructor(specPath: string, outputDir: string, nestJsSwagger?: boolean, skipJsExtensions?: boolean, classValidator?: boolean);
|
|
9
10
|
/**
|
|
10
11
|
* Load OpenAPI specification
|
|
11
12
|
*/
|
|
@@ -97,6 +98,13 @@ export declare class PostProcessor {
|
|
|
97
98
|
* Replace generated class types with union types where appropriate
|
|
98
99
|
*/
|
|
99
100
|
private replaceUnionTypes;
|
|
101
|
+
/**
|
|
102
|
+
* Replace references to union type classes in files that import them
|
|
103
|
+
*
|
|
104
|
+
* This method handles the case where a union type class (e.g., ApplicationSpecSourceKustomizeReplicasItemCount)
|
|
105
|
+
* is deleted but other files still import and reference it. It replaces all such references with the inline union type.
|
|
106
|
+
*/
|
|
107
|
+
private replaceUnionTypeReferences;
|
|
100
108
|
/**
|
|
101
109
|
* Build discriminator decorator configuration
|
|
102
110
|
*/
|
|
@@ -129,6 +137,18 @@ export declare class PostProcessor {
|
|
|
129
137
|
* Clean up unnecessary generated files
|
|
130
138
|
*/
|
|
131
139
|
private cleanup;
|
|
140
|
+
/**
|
|
141
|
+
* Add class-validator decorators to properties
|
|
142
|
+
*/
|
|
143
|
+
private addClassValidatorDecorators;
|
|
144
|
+
/**
|
|
145
|
+
* Get validation decorators for a property based on its OpenAPI definition
|
|
146
|
+
*/
|
|
147
|
+
private getValidationDecorators;
|
|
148
|
+
/**
|
|
149
|
+
* Get the schema for a class by looking it up in the OpenAPI spec
|
|
150
|
+
*/
|
|
151
|
+
private getSchemaForClass;
|
|
132
152
|
/**
|
|
133
153
|
* Convert PascalCase to kebab-case
|
|
134
154
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-processor.d.ts","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"AAeA,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,YAAY,CAAgF;IACpG,OAAO,CAAC,qBAAqB,CAAwC;gBAEzD,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe;
|
|
1
|
+
{"version":3,"file":"post-processor.d.ts","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"AAeA,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAgF;IACpG,OAAO,CAAC,qBAAqB,CAAwC;gBAEzD,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe,EAAE,cAAc,GAAE,OAAe;IAWnJ;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IASzC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA2C7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiCrC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAmBlC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAsDpB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,4BAA4B;IA+FpC;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA0DlC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAmCnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyG9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAyJ1C;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA+CtC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,OAAO;IA8Df;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA0EnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsG/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB"}
|
package/dist/post-processor.js
CHANGED
|
@@ -37,10 +37,11 @@ exports.PostProcessor = void 0;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
class PostProcessor {
|
|
40
|
-
constructor(specPath, outputDir, nestJsSwagger = false, skipJsExtensions = false) {
|
|
40
|
+
constructor(specPath, outputDir, nestJsSwagger = false, skipJsExtensions = false, classValidator = false) {
|
|
41
41
|
this.outputDir = outputDir;
|
|
42
42
|
this.nestJsSwagger = nestJsSwagger;
|
|
43
43
|
this.skipJsExtensions = skipJsExtensions;
|
|
44
|
+
this.classValidator = classValidator;
|
|
44
45
|
this.loadSpec(specPath);
|
|
45
46
|
this.unionTypeMap = new Map();
|
|
46
47
|
this.discriminatedUnionMap = new Map();
|
|
@@ -207,6 +208,8 @@ class PostProcessor {
|
|
|
207
208
|
content = this.fixImportTypes(content);
|
|
208
209
|
// Replace generated classes with union types where appropriate
|
|
209
210
|
content = this.replaceUnionTypes(content);
|
|
211
|
+
// Replace references to union type classes in files that import them
|
|
212
|
+
content = this.replaceUnionTypeReferences(content);
|
|
210
213
|
// Fix discriminated unions (remove invalid @Type decorators)
|
|
211
214
|
content = this.fixDiscriminatedUnions(content);
|
|
212
215
|
// Handle non-discriminated unions (remove runtime references for type aliases)
|
|
@@ -217,6 +220,8 @@ class PostProcessor {
|
|
|
217
220
|
if (!this.nestJsSwagger) {
|
|
218
221
|
content = this.removeNestJsDecorators(content);
|
|
219
222
|
}
|
|
223
|
+
// Add class-validator decorators if enabled
|
|
224
|
+
content = this.addClassValidatorDecorators(content);
|
|
220
225
|
// Add vendor extensions to comments
|
|
221
226
|
content = this.addVendorExtensions(content);
|
|
222
227
|
// Populate vendor extensions in attributeTypeMap
|
|
@@ -566,6 +571,43 @@ class PostProcessor {
|
|
|
566
571
|
});
|
|
567
572
|
return content;
|
|
568
573
|
}
|
|
574
|
+
/**
|
|
575
|
+
* Replace references to union type classes in files that import them
|
|
576
|
+
*
|
|
577
|
+
* This method handles the case where a union type class (e.g., ApplicationSpecSourceKustomizeReplicasItemCount)
|
|
578
|
+
* is deleted but other files still import and reference it. It replaces all such references with the inline union type.
|
|
579
|
+
*/
|
|
580
|
+
replaceUnionTypeReferences(content) {
|
|
581
|
+
// For each union type in the map
|
|
582
|
+
this.unionTypeMap.forEach((unionInfo, generatedClassName) => {
|
|
583
|
+
if (unionInfo.length === 0)
|
|
584
|
+
return;
|
|
585
|
+
const unionType = unionInfo[0].unionType; // e.g., "number | string"
|
|
586
|
+
// Check if this file imports the union type class
|
|
587
|
+
const importRegex = new RegExp(`import \\{ ${generatedClassName} \\} from [^;]+;`);
|
|
588
|
+
if (!importRegex.test(content)) {
|
|
589
|
+
return; // This file doesn't import this union type, skip it
|
|
590
|
+
}
|
|
591
|
+
// Remove import statement
|
|
592
|
+
content = content.replace(new RegExp(`import \\{ ${generatedClassName} \\} from [^;]+;\\s*`, 'g'), '');
|
|
593
|
+
// Replace in property type (e.g., 'count': ClassName; → 'count': number | string;)
|
|
594
|
+
content = content.replace(new RegExp(`:\\s*${generatedClassName};`, 'g'), `: ${unionType};`);
|
|
595
|
+
// Remove @Type decorator (e.g., @Type(() => ClassName) → removed)
|
|
596
|
+
content = content.replace(new RegExp(`\\s*@Type\\(\\(\\)\\s*=>\\s*${generatedClassName}\\)\\s*\\n`, 'g'), '\n');
|
|
597
|
+
// Replace in @ApiProperty type field
|
|
598
|
+
// For union types like "number | string", we need to remove the type field or use Object
|
|
599
|
+
const isSimpleUnion = unionType.includes(' | ');
|
|
600
|
+
if (isSimpleUnion) {
|
|
601
|
+
// Remove type field entirely for simple unions
|
|
602
|
+
content = content.replace(new RegExp(`\\s*type:\\s*\\(\\)\\s*=>\\s*${generatedClassName},\\s*\\n`, 'g'), '\n');
|
|
603
|
+
}
|
|
604
|
+
// Replace in attributeTypeMap
|
|
605
|
+
content = content.replace(new RegExp(`"type":\\s*"${generatedClassName}"`, 'g'), `"type": "${unionType}"`);
|
|
606
|
+
// Remove modelClass
|
|
607
|
+
content = content.replace(new RegExp(`,\\s*\\n\\s*"modelClass":\\s*${generatedClassName}`, 'g'), '');
|
|
608
|
+
});
|
|
609
|
+
return content;
|
|
610
|
+
}
|
|
569
611
|
/**
|
|
570
612
|
* Build discriminator decorator configuration
|
|
571
613
|
*/
|
|
@@ -941,6 +983,180 @@ class PostProcessor {
|
|
|
941
983
|
fs.writeFileSync(indexPath, indexContent, 'utf-8');
|
|
942
984
|
}
|
|
943
985
|
}
|
|
986
|
+
/**
|
|
987
|
+
* Add class-validator decorators to properties
|
|
988
|
+
*/
|
|
989
|
+
addClassValidatorDecorators(content) {
|
|
990
|
+
if (!this.classValidator) {
|
|
991
|
+
return content;
|
|
992
|
+
}
|
|
993
|
+
// Extract the class name
|
|
994
|
+
const classMatch = content.match(/export class (\w+)/);
|
|
995
|
+
if (!classMatch) {
|
|
996
|
+
return content;
|
|
997
|
+
}
|
|
998
|
+
const className = classMatch[1];
|
|
999
|
+
const schema = this.getSchemaForClass(className);
|
|
1000
|
+
if (!schema?.properties) {
|
|
1001
|
+
return content;
|
|
1002
|
+
}
|
|
1003
|
+
const required = schema.required || [];
|
|
1004
|
+
const decoratorsToImport = new Set();
|
|
1005
|
+
// Process each property
|
|
1006
|
+
Object.entries(schema.properties).forEach(([propName, propDef]) => {
|
|
1007
|
+
const isRequired = required.includes(propName);
|
|
1008
|
+
const decorators = [];
|
|
1009
|
+
// Add @IsOptional() for optional properties
|
|
1010
|
+
if (!isRequired) {
|
|
1011
|
+
decorators.push('@IsOptional()');
|
|
1012
|
+
decoratorsToImport.add('IsOptional');
|
|
1013
|
+
}
|
|
1014
|
+
// Get validation decorators based on type
|
|
1015
|
+
const validationDecorators = this.getValidationDecorators(propDef);
|
|
1016
|
+
decorators.push(...validationDecorators.decorators);
|
|
1017
|
+
validationDecorators.imports.forEach(imp => decoratorsToImport.add(imp));
|
|
1018
|
+
if (decorators.length === 0) {
|
|
1019
|
+
return;
|
|
1020
|
+
}
|
|
1021
|
+
// Find the property declaration and add decorators
|
|
1022
|
+
// Pattern: optional decorators, then 'propertyName'?: type;
|
|
1023
|
+
// We need to add decorators before any existing decorators
|
|
1024
|
+
const propRegex = new RegExp(`((?:@\\w+\\([^)]*\\)\\s*)*)'${propName}'(\\??):`, 'g');
|
|
1025
|
+
content = content.replace(propRegex, (match, existingDecorators, optionalMarker) => {
|
|
1026
|
+
const decoratorString = decorators.map(d => ` ${d}\n`).join('');
|
|
1027
|
+
return `${decoratorString}${existingDecorators}'${propName}'${optionalMarker}:`;
|
|
1028
|
+
});
|
|
1029
|
+
});
|
|
1030
|
+
// Add class-validator import at the top
|
|
1031
|
+
if (decoratorsToImport.size > 0) {
|
|
1032
|
+
const imports = Array.from(decoratorsToImport).sort().join(', ');
|
|
1033
|
+
const importStatement = `import { ${imports} } from 'class-validator';\n`;
|
|
1034
|
+
// Add after other imports
|
|
1035
|
+
const lastImportMatch = content.match(/import[^;]+;(?=\s*(?:\/\/|\/\*|\n\nexport))/g);
|
|
1036
|
+
if (lastImportMatch) {
|
|
1037
|
+
const lastImport = lastImportMatch[lastImportMatch.length - 1];
|
|
1038
|
+
content = content.replace(lastImport, `${lastImport}\n${importStatement}`);
|
|
1039
|
+
}
|
|
1040
|
+
else {
|
|
1041
|
+
// If no imports found, add at the beginning
|
|
1042
|
+
content = importStatement + content;
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
return content;
|
|
1046
|
+
}
|
|
1047
|
+
/**
|
|
1048
|
+
* Get validation decorators for a property based on its OpenAPI definition
|
|
1049
|
+
*/
|
|
1050
|
+
getValidationDecorators(propDef) {
|
|
1051
|
+
const decorators = [];
|
|
1052
|
+
const imports = [];
|
|
1053
|
+
// Handle arrays
|
|
1054
|
+
if (propDef.type === 'array') {
|
|
1055
|
+
decorators.push('@IsArray()');
|
|
1056
|
+
imports.push('IsArray');
|
|
1057
|
+
// If array has items with type, add ValidateNested for objects
|
|
1058
|
+
if (propDef.items) {
|
|
1059
|
+
if (propDef.items.$ref || propDef.items.type === 'object') {
|
|
1060
|
+
decorators.push('@ValidateNested({ each: true })');
|
|
1061
|
+
imports.push('ValidateNested');
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
return { decorators, imports };
|
|
1065
|
+
}
|
|
1066
|
+
// Handle objects
|
|
1067
|
+
if (propDef.type === 'object' || propDef.$ref) {
|
|
1068
|
+
decorators.push('@ValidateNested()');
|
|
1069
|
+
imports.push('ValidateNested');
|
|
1070
|
+
return { decorators, imports };
|
|
1071
|
+
}
|
|
1072
|
+
// Handle oneOf/anyOf (union types)
|
|
1073
|
+
if (propDef.oneOf || propDef.anyOf) {
|
|
1074
|
+
// For union types, we can't add specific type decorators
|
|
1075
|
+
// Just skip for now
|
|
1076
|
+
return { decorators, imports };
|
|
1077
|
+
}
|
|
1078
|
+
// Handle primitive types
|
|
1079
|
+
switch (propDef.type) {
|
|
1080
|
+
case 'string':
|
|
1081
|
+
decorators.push('@IsString()');
|
|
1082
|
+
imports.push('IsString');
|
|
1083
|
+
// Add format-specific decorators
|
|
1084
|
+
if (propDef.format === 'email') {
|
|
1085
|
+
decorators.push('@IsEmail()');
|
|
1086
|
+
imports.push('IsEmail');
|
|
1087
|
+
}
|
|
1088
|
+
else if (propDef.format === 'uri' || propDef.format === 'url') {
|
|
1089
|
+
decorators.push('@IsUrl()');
|
|
1090
|
+
imports.push('IsUrl');
|
|
1091
|
+
}
|
|
1092
|
+
else if (propDef.format === 'uuid') {
|
|
1093
|
+
decorators.push('@IsUUID()');
|
|
1094
|
+
imports.push('IsUUID');
|
|
1095
|
+
}
|
|
1096
|
+
// Add pattern validation
|
|
1097
|
+
if (propDef.pattern) {
|
|
1098
|
+
decorators.push(`@Matches(/${propDef.pattern}/)`);
|
|
1099
|
+
imports.push('Matches');
|
|
1100
|
+
}
|
|
1101
|
+
// Add length validation
|
|
1102
|
+
if (propDef.minLength !== undefined || propDef.maxLength !== undefined) {
|
|
1103
|
+
const min = propDef.minLength ?? 0;
|
|
1104
|
+
const max = propDef.maxLength ?? 'undefined';
|
|
1105
|
+
decorators.push(`@Length(${min}, ${max})`);
|
|
1106
|
+
imports.push('Length');
|
|
1107
|
+
}
|
|
1108
|
+
break;
|
|
1109
|
+
case 'number':
|
|
1110
|
+
case 'integer':
|
|
1111
|
+
decorators.push('@IsNumber()');
|
|
1112
|
+
imports.push('IsNumber');
|
|
1113
|
+
// Add min/max validation
|
|
1114
|
+
if (propDef.minimum !== undefined) {
|
|
1115
|
+
decorators.push(`@Min(${propDef.minimum})`);
|
|
1116
|
+
imports.push('Min');
|
|
1117
|
+
}
|
|
1118
|
+
if (propDef.maximum !== undefined) {
|
|
1119
|
+
decorators.push(`@Max(${propDef.maximum})`);
|
|
1120
|
+
imports.push('Max');
|
|
1121
|
+
}
|
|
1122
|
+
break;
|
|
1123
|
+
case 'boolean':
|
|
1124
|
+
decorators.push('@IsBoolean()');
|
|
1125
|
+
imports.push('IsBoolean');
|
|
1126
|
+
break;
|
|
1127
|
+
}
|
|
1128
|
+
// Handle enums
|
|
1129
|
+
if (propDef.enum) {
|
|
1130
|
+
// For enums, we use @IsIn() with the enum values
|
|
1131
|
+
const enumValues = propDef.enum.map((v) => typeof v === 'string' ? `'${v}'` : v).join(', ');
|
|
1132
|
+
decorators.push(`@IsIn([${enumValues}])`);
|
|
1133
|
+
imports.push('IsIn');
|
|
1134
|
+
}
|
|
1135
|
+
return { decorators, imports };
|
|
1136
|
+
}
|
|
1137
|
+
/**
|
|
1138
|
+
* Get the schema for a class by looking it up in the OpenAPI spec
|
|
1139
|
+
*/
|
|
1140
|
+
getSchemaForClass(className) {
|
|
1141
|
+
const schemas = this.openApiSpec.components?.schemas || this.openApiSpec.definitions;
|
|
1142
|
+
if (!schemas) {
|
|
1143
|
+
return null;
|
|
1144
|
+
}
|
|
1145
|
+
// Try exact match first
|
|
1146
|
+
let schema = schemas[className];
|
|
1147
|
+
// If not found, search for a schema that matches when normalized
|
|
1148
|
+
if (!schema) {
|
|
1149
|
+
const normalizedClassName = className.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
1150
|
+
for (const [schemaName, schemaObj] of Object.entries(schemas)) {
|
|
1151
|
+
const normalizedSchemaName = schemaName.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
1152
|
+
if (normalizedSchemaName === normalizedClassName) {
|
|
1153
|
+
schema = schemaObj;
|
|
1154
|
+
break;
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
return schema;
|
|
1159
|
+
}
|
|
944
1160
|
/**
|
|
945
1161
|
* Convert PascalCase to kebab-case
|
|
946
1162
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-processor.js","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"post-processor.js","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openapi-class-transformer",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Generate class-transformer compatible TypeScript classes from OpenAPI specs with full decorator support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -41,6 +41,14 @@
|
|
|
41
41
|
"class-transformer": "^0.5.1",
|
|
42
42
|
"commander": "^12.0.0"
|
|
43
43
|
},
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"class-validator": "^0.14.0"
|
|
46
|
+
},
|
|
47
|
+
"peerDependenciesMeta": {
|
|
48
|
+
"class-validator": {
|
|
49
|
+
"optional": true
|
|
50
|
+
}
|
|
51
|
+
},
|
|
44
52
|
"devDependencies": {
|
|
45
53
|
"@jest/globals": "^29.7.0",
|
|
46
54
|
"@types/jest": "^29.5.14",
|