zod-openapi 2.2.3 → 2.3.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 CHANGED
@@ -9,6 +9,8 @@ A Typescript library to create full OpenAPI 3.x documentation from <a href="http
9
9
  <a href="https://www.npmjs.com/package/zod-openapi"><img src="https://img.shields.io/npm/v/zod-openapi"/><a>
10
10
  <a href="https://www.npmjs.com/package/zod-openapi"><img src="https://img.shields.io/npm/dm/zod-openapi"/><a>
11
11
  <a href="https://nodejs.org/en/"><img src="https://img.shields.io/badge/node-%3E%3D%2016.11-brightgreen"/><a>
12
+ <a href="https://github.com/samchungy/zod-openapi/actions/workflows/test.yml"><img src="https://github.com/samchungy/zod-openapi/actions/workflows/test.yml/badge.svg"/><a>
13
+ <a href="https://github.com/samchungy/zod-openapi/actions/workflows/release.yml"><img src="https://github.com/samchungy/zod-openapi/actions/workflows/release.yml/badge.svg"/><a>
12
14
  <a href="https://github.com/seek-oss/skuba"><img src="https://img.shields.io/badge/🤿%20skuba-powered-009DC4"/><a>
13
15
  </div>
14
16
  <br>
@@ -495,8 +497,8 @@ For example in `z.string().nullable()` will be rendered differently
495
497
  - `discriminator` mapping when all schemas in the union contain a `ref`.
496
498
  - ZodEffects
497
499
  - `transform` support for request schemas. See [Zod Effects](#zod-effects) for how to enable response schema support
498
- - `pre-process` full support.
499
- - `refine` full support.
500
+ - `pre-process` support. We assume that the input type is the same as the output type. Otherwise pipe and transform can be used instead.
501
+ - `refine` full support
500
502
  - ZodEnum
501
503
  - ZodLazy
502
504
  - ZodLiteral
@@ -513,6 +515,8 @@ For example in `z.string().nullable()` will be rendered differently
513
515
  - ZodOptional
514
516
  - ZodPipeline
515
517
  - ZodRecord
518
+ - ZodSet
519
+ - Treated as an array with `uniqueItems` (you may need to add a pre-process)
516
520
  - ZodString
517
521
  - `format` mapping for `.url()`, `.uuid()`, `.email()`, `.datetime()`
518
522
  - `minLength`/`maxLength` mapping for `.length()`, `.min()`, `.max()`
@@ -550,10 +554,11 @@ zod-openapi was created while trying to add a feature to support auto registerin
550
554
  1. The underlying structure of the library consists of tightly coupled classes which require you to create an awkward Registry class to create references. This would mean you would need to ship a registry class instance along with your types which makes sharing types difficult.
551
555
 
552
556
  2. No auto registering schema. Most users do not want to think about this so having to import and call `.register()` is a nuisance.
557
+ 3. When you register a schema using the registry you need to use the outputted type from the `.register()` call. You do not need to do such a thing with this library.
553
558
 
554
- 3. No transform support or safety. You can use a `type` to override the transform type but what happens when that transform logic changes?
559
+ 4. No transform support or safety. You can use a `type` to override the transform type but what happens when that transform logic changes?
555
560
 
556
- 4. No input/output validation with components. What happens when you register a component with a transform which technically comprises of two types in a request and a response?
561
+ 5. No input/output validation with components. What happens when you register a component with a transform which technically comprises of two types in a request and a response?
557
562
 
558
563
  Did I really rewrite an entire library just for this? Absolutely. I believe that creating documentation and types should be as simple and as frictionless as possible.
559
564
 
@@ -27,6 +27,7 @@ const pipeline_1 = require("./pipeline");
27
27
  const preprocess_1 = require("./preprocess");
28
28
  const record_1 = require("./record");
29
29
  const refine_1 = require("./refine");
30
+ const set_1 = require("./set");
30
31
  const string_1 = require("./string");
31
32
  const transform_1 = require("./transform");
32
33
  const tuple_1 = require("./tuple");
@@ -120,6 +121,9 @@ const createSchema = (zodSchema, state) => {
120
121
  if (zodSchema instanceof zod_1.ZodBranded) {
121
122
  return (0, brand_1.createBrandedSchema)(zodSchema, state);
122
123
  }
124
+ if (zodSchema instanceof zod_1.ZodSet) {
125
+ return (0, set_1.createSetSchema)(zodSchema, state);
126
+ }
123
127
  return (0, manual_1.createManualTypeSchema)(zodSchema);
124
128
  };
125
129
  exports.createSchema = createSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSetSchema = void 0;
4
+ const _1 = require(".");
5
+ const createSetSchema = (zodSet, state) => {
6
+ const schema = zodSet._def.valueType;
7
+ const minItems = zodSet._def.minSize?.value;
8
+ const maxItems = zodSet._def.maxSize?.value;
9
+ return {
10
+ type: 'array',
11
+ items: (0, _1.createSchemaOrRef)(schema, state),
12
+ uniqueItems: true,
13
+ ...(minItems !== undefined && { minItems }),
14
+ ...(maxItems !== undefined && { maxItems }),
15
+ };
16
+ };
17
+ exports.createSetSchema = createSetSchema;
18
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/create/schema/set.ts"],"names":[],"mappings":";;;AAIA,wBAAwD;AAEjD,MAAM,eAAe,GAAG,CAC7B,MAAmB,EACnB,KAAkB,EACE,EAAE;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAuB,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAA,oBAAiB,EAAC,MAAM,EAAE,KAAK,CAAC;QACvC,WAAW,EAAE,IAAI;QACjB,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B"}
@@ -1,4 +1,4 @@
1
- import { ZodArray, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLazy, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodPipeline, ZodRecord, ZodString, ZodTuple, ZodUnion, ZodUnknown, } from 'zod';
1
+ import { ZodArray, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLazy, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodPipeline, ZodRecord, ZodSet, ZodString, ZodTuple, ZodUnion, ZodUnknown, } from 'zod';
2
2
  import { createComponentSchemaRef, } from '../components';
3
3
  import { throwTransformError } from '../errors';
4
4
  import { createArraySchema } from './array';
@@ -24,6 +24,7 @@ import { createPipelineSchema } from './pipeline';
24
24
  import { createPreprocessSchema } from './preprocess';
25
25
  import { createRecordSchema } from './record';
26
26
  import { createRefineSchema } from './refine';
27
+ import { createSetSchema } from './set';
27
28
  import { createStringSchema } from './string';
28
29
  import { createTransformSchema } from './transform';
29
30
  import { createTupleSchema } from './tuple';
@@ -117,6 +118,9 @@ export const createSchema = (zodSchema, state) => {
117
118
  if (zodSchema instanceof ZodBranded) {
118
119
  return createBrandedSchema(zodSchema, state);
119
120
  }
121
+ if (zodSchema instanceof ZodSet) {
122
+ return createSetSchema(zodSchema, state);
123
+ }
120
124
  return createManualTypeSchema(zodSchema);
121
125
  };
122
126
  export const createSchemaOrRef = (zodSchema, state) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { createSchemaOrRef } from '.';
2
+ export const createSetSchema = (zodSet, state) => {
3
+ const schema = zodSet._def.valueType;
4
+ const minItems = zodSet._def.minSize?.value;
5
+ const maxItems = zodSet._def.maxSize?.value;
6
+ return {
7
+ type: 'array',
8
+ items: createSchemaOrRef(schema, state),
9
+ uniqueItems: true,
10
+ ...(minItems !== undefined && { minItems }),
11
+ ...(maxItems !== undefined && { maxItems }),
12
+ };
13
+ };
14
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/create/schema/set.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAmB,EACnB,KAAkB,EACE,EAAE;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAuB,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;QACvC,WAAW,EAAE,IAAI;QACjB,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ZodSet } from 'zod';
2
+ import type { oas31 } from '../../openapi3-ts/dist';
3
+ import { type SchemaState } from '.';
4
+ export declare const createSetSchema: (zodSet: ZodSet<any>, state: SchemaState) => oas31.SchemaObject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-openapi",
3
- "version": "2.2.3",
3
+ "version": "2.3.0",
4
4
  "description": "A library to create full OpenAPI documents from your Zod types",
5
5
  "homepage": "https://github.com/samchungy/zod-openapi#readme",
6
6
  "bugs": {
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "dependencies": {},
37
37
  "devDependencies": {
38
- "@redocly/cli": "1.0.0-beta.125",
38
+ "@redocly/cli": "1.0.0-beta.126",
39
39
  "@types/node": "^20.1.0",
40
40
  "eslint-plugin-zod-openapi": "^0.1.0",
41
- "openapi3-ts": "^4.1.2",
42
- "skuba": "6.1.0",
41
+ "openapi3-ts": "4.1.2",
42
+ "skuba": "6.2.0",
43
43
  "yaml": "2.2.2",
44
44
  "zod": "3.21.4"
45
45
  },