zod-openapi 0.5.1 → 0.6.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 +118 -6
- package/lib-commonjs/create/content.js.map +1 -1
- package/lib-commonjs/create/schema/index.js +6 -2
- package/lib-commonjs/create/schema/index.js.map +1 -1
- package/lib-commonjs/create/schema/manual.js +19 -0
- package/lib-commonjs/create/schema/manual.js.map +1 -0
- package/lib-commonjs/create/schema/transform.js +2 -2
- package/lib-commonjs/create/schema/transform.js.map +1 -1
- package/lib-commonjs/create/schema/unknown.js +1 -14
- package/lib-commonjs/create/schema/unknown.js.map +1 -1
- package/lib-es2015/create/content.js.map +1 -1
- package/lib-es2015/create/schema/index.js +7 -3
- package/lib-es2015/create/schema/index.js.map +1 -1
- package/lib-es2015/create/schema/manual.js +15 -0
- package/lib-es2015/create/schema/manual.js.map +1 -0
- package/lib-es2015/create/schema/transform.js +2 -2
- package/lib-es2015/create/schema/transform.js.map +1 -1
- package/lib-es2015/create/schema/unknown.js +1 -14
- package/lib-es2015/create/schema/unknown.js.map +1 -1
- package/lib-types/create/document.d.ts +1 -1
- package/lib-types/create/schema/manual.d.ts +3 -0
- package/lib-types/create/schema/unknown.d.ts +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -346,11 +346,40 @@ const header = z.string().openapi({
|
|
|
346
346
|
|
|
347
347
|
## Supported OpenAPI Versions
|
|
348
348
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
-
|
|
352
|
-
-
|
|
353
|
-
-
|
|
349
|
+
Currently the following versions of OpenAPI are supported
|
|
350
|
+
|
|
351
|
+
- `3.0.0`
|
|
352
|
+
- `3.0.1`
|
|
353
|
+
- `3.0.2`
|
|
354
|
+
- `3.0.3`
|
|
355
|
+
- `3.1.0`
|
|
356
|
+
|
|
357
|
+
Setting the `openapi` field will change how the some of the components are rendered.
|
|
358
|
+
|
|
359
|
+
```ts
|
|
360
|
+
createDocument({
|
|
361
|
+
openapi: '3.1.0',
|
|
362
|
+
});
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
For example in `z.string().nullable()` will be rendered differently
|
|
366
|
+
|
|
367
|
+
`3.0.0`
|
|
368
|
+
|
|
369
|
+
```json
|
|
370
|
+
{
|
|
371
|
+
"type": "string",
|
|
372
|
+
"nullable": true
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
`3.1.0`
|
|
377
|
+
|
|
378
|
+
```json
|
|
379
|
+
{
|
|
380
|
+
"type": ["string", "null"]
|
|
381
|
+
}
|
|
382
|
+
```
|
|
354
383
|
|
|
355
384
|
## Supported Zod Schema
|
|
356
385
|
|
|
@@ -386,7 +415,9 @@ const header = z.string().openapi({
|
|
|
386
415
|
- `pattern` mapping for `.regex()`
|
|
387
416
|
- ZodTuple
|
|
388
417
|
- `items` mapping for `.rest()`
|
|
418
|
+
- `prefixItems` mapping for OpenAPI 3.1.0+
|
|
389
419
|
- ZodUnion
|
|
420
|
+
- ZodUnknown
|
|
390
421
|
|
|
391
422
|
If this library cannot determine a type for a Zod Schema, it will throw an error. To avoid this, declare a manual `type` in the `.openapi()` section of that schema.
|
|
392
423
|
|
|
@@ -447,4 +478,85 @@ To release a new beta version
|
|
|
447
478
|
|
|
448
479
|
## Credits
|
|
449
480
|
|
|
450
|
-
|
|
481
|
+
### [@asteasolutions/zod-to-openapi](https://github.com/asteasolutions/zod-to-openapi)
|
|
482
|
+
|
|
483
|
+
zod-openapi was created while trying to re-write the wonderful library to support auto registering schemas. However, the underlying structure of the library which consists of tightly coupled classes would not allow for this be done easily. As a result zod-openapi was born with the goal of keeping the Zod Schemas independent from the generation of the documentation.
|
|
484
|
+
|
|
485
|
+
#### Migration
|
|
486
|
+
|
|
487
|
+
1. Delete the OpenAPIRegistry and OpenAPIGenerator classes
|
|
488
|
+
2. Replace any `.register()` call made and replace them with `ref` in `.openapi()`.
|
|
489
|
+
|
|
490
|
+
```ts
|
|
491
|
+
const registry = new OpenAPIRegistry();
|
|
492
|
+
|
|
493
|
+
const foo = registry.register(
|
|
494
|
+
'foo',
|
|
495
|
+
z.string().openapi({ description: 'foo' }),
|
|
496
|
+
);
|
|
497
|
+
const bar = z.object({ foo });
|
|
498
|
+
|
|
499
|
+
// Replace with:
|
|
500
|
+
const foo = z.string().openapi({ ref: 'foo', description: 'foo' });
|
|
501
|
+
const bar = z.object({ foo });
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
3. Replace `registry.registerComponent()` with a regular OpenAPI component in the document.
|
|
505
|
+
|
|
506
|
+
```ts
|
|
507
|
+
const registry = new OpenAPIRegistry();
|
|
508
|
+
|
|
509
|
+
registry.registerComponent('securitySchemes', 'auth', {
|
|
510
|
+
type: 'http',
|
|
511
|
+
scheme: 'bearer',
|
|
512
|
+
bearerFormat: 'JWT',
|
|
513
|
+
description: 'An auth token issued by oauth",
|
|
514
|
+
});
|
|
515
|
+
// Replace with regular component declaration
|
|
516
|
+
|
|
517
|
+
const document = createDocument({
|
|
518
|
+
components: {
|
|
519
|
+
securitySchemes: { // declare directly in components
|
|
520
|
+
auth: {
|
|
521
|
+
type: 'http',
|
|
522
|
+
scheme: 'bearer',
|
|
523
|
+
bearerFormat: 'JWT',
|
|
524
|
+
description: 'An auth token issued by oauth",
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
4. Replace `registry.registerPath()` with a regular OpenAPI paths in the document.
|
|
532
|
+
|
|
533
|
+
```ts
|
|
534
|
+
const registry = new OpenAPIRegistry();
|
|
535
|
+
|
|
536
|
+
registry.registerPath({
|
|
537
|
+
method: 'get',
|
|
538
|
+
path: '/foo',
|
|
539
|
+
request: {
|
|
540
|
+
query: z.object({ a: z.string() }),
|
|
541
|
+
params: z.object({ b: z.string() }),
|
|
542
|
+
},
|
|
543
|
+
responses: {},
|
|
544
|
+
});
|
|
545
|
+
// Replace with regular path declaration
|
|
546
|
+
|
|
547
|
+
const getFoo: ZodOpenApiPathItemObject = {
|
|
548
|
+
get: {
|
|
549
|
+
requestParams: {
|
|
550
|
+
query: z.object({ a: z.string() }),
|
|
551
|
+
path: z.object({ b: z.string() }), // renamed params -> path
|
|
552
|
+
}, // renamed from request -> requestParams
|
|
553
|
+
responses: {},
|
|
554
|
+
},
|
|
555
|
+
};
|
|
556
|
+
|
|
557
|
+
const document = createDocument({
|
|
558
|
+
paths: {
|
|
559
|
+
'/foo': getFoo,
|
|
560
|
+
},
|
|
561
|
+
});
|
|
562
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/create/content.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/create/content.ts"],"names":[],"mappings":";;;AACA,6BAA8B;AAI9B,qCAA6C;AAE7C,MAAM,qBAAqB,GAAG,CAC5B,YAIa,EACb,UAA4B,EAC5B,IAAkB,EACsC,EAAE;IAC1D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,aAAO,CAAC,EAAE;QACtC,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,IAAA,0BAAiB,EAAC,YAAY,EAAE;QACrC,UAAU;QACV,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,eAAsD,EACtD,UAA4B,EAC5B,IAAkB,EACiB,EAAE;IACrC,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,GAAG,eAAe;QAClB,MAAM,EAAE,qBAAqB,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC;KACxE,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAC3B,aAAsC,EACtC,UAA4B,EAC5B,IAAkB,EACG,EAAE,CACvB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,EAAuB,EAAE;IAC9D,MAAM,eAAe,GAAG,qBAAqB,CAC3C,yBAAyB,EACzB,UAAU,EACV,IAAI,CACL,CAAC;IAEF,IAAI,eAAe,EAAE;QACnB,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;KAC7B;IACD,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,CACH,CAAC;AAnBS,QAAA,aAAa,iBAmBtB"}
|
|
@@ -12,6 +12,7 @@ const discriminatedUnion_1 = require("./discriminatedUnion");
|
|
|
12
12
|
const enum_1 = require("./enum");
|
|
13
13
|
const intersection_1 = require("./intersection");
|
|
14
14
|
const literal_1 = require("./literal");
|
|
15
|
+
const manual_1 = require("./manual");
|
|
15
16
|
const metadata_1 = require("./metadata");
|
|
16
17
|
const nativeEnum_1 = require("./nativeEnum");
|
|
17
18
|
const null_1 = require("./null");
|
|
@@ -30,7 +31,7 @@ const union_1 = require("./union");
|
|
|
30
31
|
const unknown_1 = require("./unknown");
|
|
31
32
|
const createSchema = (zodSchema, state) => {
|
|
32
33
|
if (zodSchema._def.openapi?.type) {
|
|
33
|
-
return (0,
|
|
34
|
+
return (0, manual_1.createManualTypeSchema)(zodSchema);
|
|
34
35
|
}
|
|
35
36
|
if (zodSchema instanceof zod_1.ZodString) {
|
|
36
37
|
return (0, string_1.createStringSchema)(zodSchema);
|
|
@@ -107,7 +108,10 @@ const createSchema = (zodSchema, state) => {
|
|
|
107
108
|
if (zodSchema instanceof zod_1.ZodCatch) {
|
|
108
109
|
return (0, catch_1.createCatchSchema)(zodSchema, state);
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
+
if (zodSchema instanceof zod_1.ZodUnknown) {
|
|
112
|
+
return (0, unknown_1.createUnknownSchema)(zodSchema);
|
|
113
|
+
}
|
|
114
|
+
return (0, manual_1.createManualTypeSchema)(zodSchema);
|
|
111
115
|
};
|
|
112
116
|
exports.createSchema = createSchema;
|
|
113
117
|
const createRegisteredSchema = (zodSchema, schemaRef, state) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createManualTypeSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const createManualTypeSchema = (zodSchema) => {
|
|
6
|
+
if (!zodSchema._def.openapi?.type) {
|
|
7
|
+
const zodType = zodSchema.constructor.name;
|
|
8
|
+
if (zodSchema instanceof zod_1.ZodEffects) {
|
|
9
|
+
const schemaName = `${zodType} - ${zodSchema._def.effect.type}`;
|
|
10
|
+
throw new Error(`Unknown schema ${schemaName}. Please assign it a manual 'type', wrap it in a ZodPipeline or change the 'effectType'.`);
|
|
11
|
+
}
|
|
12
|
+
throw new Error(`Unknown schema ${zodType}. Please assign it a manual 'type'.`);
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
type: zodSchema._def.openapi.type,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
exports.createManualTypeSchema = createManualTypeSchema;
|
|
19
|
+
//# sourceMappingURL=manual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../../../src/create/schema/manual.ts"],"names":[],"mappings":";;;AACA,6BAAsD;AAE/C,MAAM,sBAAsB,GAAG,CAKpC,SAAsC,EAClB,EAAE;IACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3C,IAAI,SAAS,YAAY,gBAAU,EAAE;YACnC,MAAM,UAAU,GAAG,GAAG,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,0FAA0F,CACvH,CAAC;SACH;QACD,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,qCAAqC,CAC/D,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;KAClC,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createTransformSchema = void 0;
|
|
4
|
-
const
|
|
4
|
+
const manual_1 = require("./manual");
|
|
5
5
|
const _1 = require(".");
|
|
6
6
|
const createTransformSchema = (zodTransform, state) => {
|
|
7
7
|
const creationType = zodTransform._def.openapi?.effectType ?? state.type;
|
|
@@ -11,7 +11,7 @@ const createTransformSchema = (zodTransform, state) => {
|
|
|
11
11
|
}
|
|
12
12
|
return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
|
|
13
13
|
}
|
|
14
|
-
return (0,
|
|
14
|
+
return (0, manual_1.createManualTypeSchema)(zodTransform);
|
|
15
15
|
};
|
|
16
16
|
exports.createTransformSchema = createTransformSchema;
|
|
17
17
|
//# sourceMappingURL=transform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,qCAAkD;AAElD,wBAAmD;AAE5C,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;SAC5B;QACD,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC;AAbW,QAAA,qBAAqB,yBAahC"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createUnknownSchema = void 0;
|
|
4
|
-
const
|
|
5
|
-
const createUnknownSchema = (zodSchema) => {
|
|
6
|
-
if (!zodSchema._def.openapi?.type) {
|
|
7
|
-
const zodType = zodSchema.constructor.name;
|
|
8
|
-
if (zodSchema instanceof zod_1.ZodEffects) {
|
|
9
|
-
const schemaName = `${zodType} - ${zodSchema._def.effect.type}`;
|
|
10
|
-
throw new Error(`Unknown schema ${schemaName}. Please assign it a manual 'type', wrap it in a ZodPipeline or change the 'effectType'.`);
|
|
11
|
-
}
|
|
12
|
-
throw new Error(`Unknown schema ${zodType}. Please assign it a manual 'type'.`);
|
|
13
|
-
}
|
|
14
|
-
return {
|
|
15
|
-
type: zodSchema._def.openapi.type,
|
|
16
|
-
};
|
|
17
|
-
};
|
|
4
|
+
const createUnknownSchema = (_zodUnknown) => ({});
|
|
18
5
|
exports.createUnknownSchema = createUnknownSchema;
|
|
19
6
|
//# sourceMappingURL=unknown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/create/schema/unknown.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/create/schema/unknown.ts"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,GAAG,CACjC,WAAuB,EACH,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAFjB,QAAA,mBAAmB,uBAEF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/create/content.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/create/content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAI9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,qBAAqB,GAAG,CAC5B,YAIa,EACb,UAA4B,EAC5B,IAAkB,EACsC,EAAE;IAC1D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,OAAO,CAAC,EAAE;QACtC,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,iBAAiB,CAAC,YAAY,EAAE;QACrC,UAAU;QACV,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,eAAsD,EACtD,UAA4B,EAC5B,IAAkB,EACiB,EAAE;IACrC,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,GAAG,eAAe;QAClB,MAAM,EAAE,qBAAqB,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC;KACxE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,aAAsC,EACtC,UAA4B,EAC5B,IAAkB,EACG,EAAE,CACvB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,EAAuB,EAAE;IAC9D,MAAM,eAAe,GAAG,qBAAqB,CAC3C,yBAAyB,EACzB,UAAU,EACV,IAAI,CACL,CAAC;IAEF,IAAI,eAAe,EAAE;QACnB,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;KAC7B;IACD,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,CACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ZodArray, ZodBoolean, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodPipeline, ZodRecord, ZodString, ZodTuple, ZodUnion, } from 'zod';
|
|
1
|
+
import { ZodArray, ZodBoolean, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodPipeline, ZodRecord, ZodString, ZodTuple, ZodUnion, ZodUnknown, } from 'zod';
|
|
2
2
|
import { createComponentSchemaRef, } from '../components';
|
|
3
3
|
import { createArraySchema } from './array';
|
|
4
4
|
import { createBooleanSchema } from './boolean';
|
|
@@ -9,6 +9,7 @@ import { createDiscriminatedUnionSchema } from './discriminatedUnion';
|
|
|
9
9
|
import { createEnumSchema } from './enum';
|
|
10
10
|
import { createIntersectionSchema } from './intersection';
|
|
11
11
|
import { createLiteralSchema } from './literal';
|
|
12
|
+
import { createManualTypeSchema } from './manual';
|
|
12
13
|
import { createSchemaWithMetadata } from './metadata';
|
|
13
14
|
import { createNativeEnumSchema } from './nativeEnum';
|
|
14
15
|
import { createNullSchema } from './null';
|
|
@@ -27,7 +28,7 @@ import { createUnionSchema } from './union';
|
|
|
27
28
|
import { createUnknownSchema } from './unknown';
|
|
28
29
|
export const createSchema = (zodSchema, state) => {
|
|
29
30
|
if (zodSchema._def.openapi?.type) {
|
|
30
|
-
return
|
|
31
|
+
return createManualTypeSchema(zodSchema);
|
|
31
32
|
}
|
|
32
33
|
if (zodSchema instanceof ZodString) {
|
|
33
34
|
return createStringSchema(zodSchema);
|
|
@@ -104,7 +105,10 @@ export const createSchema = (zodSchema, state) => {
|
|
|
104
105
|
if (zodSchema instanceof ZodCatch) {
|
|
105
106
|
return createCatchSchema(zodSchema, state);
|
|
106
107
|
}
|
|
107
|
-
|
|
108
|
+
if (zodSchema instanceof ZodUnknown) {
|
|
109
|
+
return createUnknownSchema(zodSchema);
|
|
110
|
+
}
|
|
111
|
+
return createManualTypeSchema(zodSchema);
|
|
108
112
|
};
|
|
109
113
|
export const createRegisteredSchema = (zodSchema, schemaRef, state) => {
|
|
110
114
|
const component = state.components.schemas[schemaRef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,eAAe,EACf,UAAU,EACV,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EAGR,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ZodEffects } from 'zod';
|
|
2
|
+
export const createManualTypeSchema = (zodSchema) => {
|
|
3
|
+
if (!zodSchema._def.openapi?.type) {
|
|
4
|
+
const zodType = zodSchema.constructor.name;
|
|
5
|
+
if (zodSchema instanceof ZodEffects) {
|
|
6
|
+
const schemaName = `${zodType} - ${zodSchema._def.effect.type}`;
|
|
7
|
+
throw new Error(`Unknown schema ${schemaName}. Please assign it a manual 'type', wrap it in a ZodPipeline or change the 'effectType'.`);
|
|
8
|
+
}
|
|
9
|
+
throw new Error(`Unknown schema ${zodType}. Please assign it a manual 'type'.`);
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
type: zodSchema._def.openapi.type,
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=manual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../../../src/create/schema/manual.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAKpC,SAAsC,EAClB,EAAE;IACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3C,IAAI,SAAS,YAAY,UAAU,EAAE;YACnC,MAAM,UAAU,GAAG,GAAG,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,0FAA0F,CACvH,CAAC;SACH;QACD,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,qCAAqC,CAC/D,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;KAClC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createManualTypeSchema } from './manual';
|
|
2
2
|
import { createSchemaOrRef } from '.';
|
|
3
3
|
export const createTransformSchema = (zodTransform, state) => {
|
|
4
4
|
const creationType = zodTransform._def.openapi?.effectType ?? state.type;
|
|
@@ -8,6 +8,6 @@ export const createTransformSchema = (zodTransform, state) => {
|
|
|
8
8
|
}
|
|
9
9
|
return createSchemaOrRef(zodTransform._def.schema, state);
|
|
10
10
|
}
|
|
11
|
-
return
|
|
11
|
+
return createManualTypeSchema(zodTransform);
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=transform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;SAC5B;QACD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC"}
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export const createUnknownSchema = (zodSchema) => {
|
|
3
|
-
if (!zodSchema._def.openapi?.type) {
|
|
4
|
-
const zodType = zodSchema.constructor.name;
|
|
5
|
-
if (zodSchema instanceof ZodEffects) {
|
|
6
|
-
const schemaName = `${zodType} - ${zodSchema._def.effect.type}`;
|
|
7
|
-
throw new Error(`Unknown schema ${schemaName}. Please assign it a manual 'type', wrap it in a ZodPipeline or change the 'effectType'.`);
|
|
8
|
-
}
|
|
9
|
-
throw new Error(`Unknown schema ${zodType}. Please assign it a manual 'type'.`);
|
|
10
|
-
}
|
|
11
|
-
return {
|
|
12
|
-
type: zodSchema._def.openapi.type,
|
|
13
|
-
};
|
|
14
|
-
};
|
|
1
|
+
export const createUnknownSchema = (_zodUnknown) => ({});
|
|
15
2
|
//# sourceMappingURL=unknown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/create/schema/unknown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/create/schema/unknown.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAuB,EACH,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { stringify } from 'yaml';
|
|
|
3
3
|
import { AnyZodObject, ZodType } from 'zod';
|
|
4
4
|
import { OpenApiVersion } from '../openapi';
|
|
5
5
|
export interface ZodOpenApiMediaTypeObject extends Omit<oas31.MediaTypeObject & oas30.MediaTypeObject, 'schema'> {
|
|
6
|
-
schema?:
|
|
6
|
+
schema?: ZodType | oas31.SchemaObject | oas31.ReferenceObject;
|
|
7
7
|
}
|
|
8
8
|
export interface ZodOpenApiContentObject {
|
|
9
9
|
'application/json'?: ZodOpenApiMediaTypeObject;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { oas31 } from 'openapi3-ts';
|
|
2
|
-
import {
|
|
3
|
-
export declare const createUnknownSchema:
|
|
2
|
+
import { ZodUnknown } from 'zod';
|
|
3
|
+
export declare const createUnknownSchema: (_zodUnknown: ZodUnknown) => oas31.SchemaObject;
|