zod-openapi 0.0.0-semantically-released → 0.2.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 +341 -75
- package/lib-commonjs/create/components.js +108 -0
- package/lib-commonjs/create/components.js.map +1 -0
- package/lib-commonjs/create/content.js +32 -0
- package/lib-commonjs/create/content.js.map +1 -0
- package/lib-commonjs/create/document.js +28 -0
- package/lib-commonjs/create/document.js.map +1 -0
- package/lib-commonjs/create/parameters.js +84 -0
- package/lib-commonjs/create/parameters.js.map +1 -0
- package/lib-commonjs/create/paths.js +68 -0
- package/lib-commonjs/create/paths.js.map +1 -0
- package/lib-commonjs/create/responses.js +93 -0
- package/lib-commonjs/create/responses.js.map +1 -0
- package/lib-commonjs/create/schema/array.js +17 -0
- package/lib-commonjs/create/schema/array.js.map +1 -0
- package/lib-commonjs/create/schema/boolean.js +8 -0
- package/lib-commonjs/create/schema/boolean.js.map +1 -0
- package/lib-commonjs/create/schema/date.js +8 -0
- package/lib-commonjs/create/schema/date.js.map +1 -0
- package/lib-commonjs/create/schema/default.js +14 -0
- package/lib-commonjs/create/schema/default.js.map +1 -0
- package/lib-commonjs/create/schema/discriminatedUnion.js +43 -0
- package/lib-commonjs/create/schema/discriminatedUnion.js.map +1 -0
- package/lib-commonjs/create/schema/effects.js +7 -0
- package/lib-commonjs/create/schema/effects.js.map +1 -0
- package/lib-commonjs/create/schema/enum.js +10 -0
- package/lib-commonjs/create/schema/enum.js.map +1 -0
- package/lib-commonjs/create/schema/index.js +127 -0
- package/lib-commonjs/create/schema/index.js.map +1 -0
- package/lib-commonjs/create/schema/intersection.js +12 -0
- package/lib-commonjs/create/schema/intersection.js.map +1 -0
- package/lib-commonjs/create/schema/literal.js +9 -0
- package/lib-commonjs/create/schema/literal.js.map +1 -0
- package/lib-commonjs/create/schema/metadata.js +38 -0
- package/lib-commonjs/create/schema/metadata.js.map +1 -0
- package/lib-commonjs/create/schema/nativeEnum.js +35 -0
- package/lib-commonjs/create/schema/nativeEnum.js.map +1 -0
- package/lib-commonjs/create/schema/null.js +8 -0
- package/lib-commonjs/create/schema/null.js.map +1 -0
- package/lib-commonjs/create/schema/nullable.js +52 -0
- package/lib-commonjs/create/schema/nullable.js.map +1 -0
- package/lib-commonjs/create/schema/number.js +28 -0
- package/lib-commonjs/create/schema/number.js.map +1 -0
- package/lib-commonjs/create/schema/object.js +51 -0
- package/lib-commonjs/create/schema/object.js.map +1 -0
- package/lib-commonjs/create/schema/optional.js +9 -0
- package/lib-commonjs/create/schema/optional.js.map +1 -0
- package/lib-commonjs/create/schema/record.js +10 -0
- package/lib-commonjs/create/schema/record.js.map +1 -0
- package/lib-commonjs/create/schema/string.js +46 -0
- package/lib-commonjs/create/schema/string.js.map +1 -0
- package/lib-commonjs/create/schema/tuple.js +29 -0
- package/lib-commonjs/create/schema/tuple.js.map +1 -0
- package/lib-commonjs/create/schema/union.js +13 -0
- package/lib-commonjs/create/schema/union.js.map +1 -0
- package/lib-commonjs/create/specificationExtension.js +6 -0
- package/lib-commonjs/create/specificationExtension.js.map +1 -0
- package/lib-commonjs/extendZod.js +49 -0
- package/lib-commonjs/extendZod.js.map +1 -0
- package/lib-commonjs/index.js +16 -9
- package/lib-commonjs/index.js.map +1 -1
- package/lib-es2015/create/components.js +102 -0
- package/lib-es2015/create/components.js.map +1 -0
- package/lib-es2015/create/content.js +28 -0
- package/lib-es2015/create/content.js.map +1 -0
- package/lib-es2015/create/document.js +22 -0
- package/lib-es2015/create/document.js.map +1 -0
- package/lib-es2015/create/parameters.js +78 -0
- package/lib-es2015/create/parameters.js.map +1 -0
- package/lib-es2015/create/paths.js +64 -0
- package/lib-es2015/create/paths.js.map +1 -0
- package/lib-es2015/create/responses.js +86 -0
- package/lib-es2015/create/responses.js.map +1 -0
- package/lib-es2015/create/schema/array.js +13 -0
- package/lib-es2015/create/schema/array.js.map +1 -0
- package/lib-es2015/create/schema/boolean.js +4 -0
- package/lib-es2015/create/schema/boolean.js.map +1 -0
- package/lib-es2015/create/schema/date.js +4 -0
- package/lib-es2015/create/schema/date.js.map +1 -0
- package/lib-es2015/create/schema/default.js +10 -0
- package/lib-es2015/create/schema/default.js.map +1 -0
- package/lib-es2015/create/schema/discriminatedUnion.js +38 -0
- package/lib-es2015/create/schema/discriminatedUnion.js.map +1 -0
- package/lib-es2015/create/schema/effects.js +3 -0
- package/lib-es2015/create/schema/effects.js.map +1 -0
- package/lib-es2015/create/schema/enum.js +6 -0
- package/lib-es2015/create/schema/enum.js.map +1 -0
- package/lib-es2015/create/schema/index.js +121 -0
- package/lib-es2015/create/schema/index.js.map +1 -0
- package/lib-es2015/create/schema/intersection.js +8 -0
- package/lib-es2015/create/schema/intersection.js.map +1 -0
- package/lib-es2015/create/schema/literal.js +5 -0
- package/lib-es2015/create/schema/literal.js.map +1 -0
- package/lib-es2015/create/schema/metadata.js +33 -0
- package/lib-es2015/create/schema/metadata.js.map +1 -0
- package/lib-es2015/create/schema/nativeEnum.js +29 -0
- package/lib-es2015/create/schema/nativeEnum.js.map +1 -0
- package/lib-es2015/create/schema/null.js +4 -0
- package/lib-es2015/create/schema/null.js.map +1 -0
- package/lib-es2015/create/schema/nullable.js +47 -0
- package/lib-es2015/create/schema/nullable.js.map +1 -0
- package/lib-es2015/create/schema/number.js +24 -0
- package/lib-es2015/create/schema/number.js.map +1 -0
- package/lib-es2015/create/schema/object.js +43 -0
- package/lib-es2015/create/schema/object.js.map +1 -0
- package/lib-es2015/create/schema/optional.js +5 -0
- package/lib-es2015/create/schema/optional.js.map +1 -0
- package/lib-es2015/create/schema/record.js +6 -0
- package/lib-es2015/create/schema/record.js.map +1 -0
- package/lib-es2015/create/schema/string.js +42 -0
- package/lib-es2015/create/schema/string.js.map +1 -0
- package/lib-es2015/create/schema/tuple.js +25 -0
- package/lib-es2015/create/schema/tuple.js.map +1 -0
- package/lib-es2015/create/schema/union.js +9 -0
- package/lib-es2015/create/schema/union.js.map +1 -0
- package/lib-es2015/create/specificationExtension.js +2 -0
- package/lib-es2015/create/specificationExtension.js.map +1 -0
- package/lib-es2015/extendZod.js +45 -0
- package/lib-es2015/extendZod.js.map +1 -0
- package/lib-es2015/index.js +2 -7
- package/lib-es2015/index.js.map +1 -1
- package/lib-types/create/components.d.ts +33 -0
- package/lib-types/create/content.d.ts +4 -0
- package/lib-types/create/document.d.ts +62 -0
- package/lib-types/create/parameters.d.ts +7 -0
- package/lib-types/create/paths.d.ts +4 -0
- package/lib-types/create/responses.d.ts +8 -0
- package/lib-types/create/schema/array.d.ts +4 -0
- package/lib-types/create/schema/boolean.d.ts +3 -0
- package/lib-types/create/schema/date.d.ts +3 -0
- package/lib-types/create/schema/default.d.ts +4 -0
- package/lib-types/create/schema/discriminatedUnion.d.ts +10 -0
- package/lib-types/create/schema/effects.d.ts +4 -0
- package/lib-types/create/schema/enum.d.ts +3 -0
- package/lib-types/create/schema/index.d.ts +6 -0
- package/lib-types/create/schema/intersection.d.ts +4 -0
- package/lib-types/create/schema/literal.d.ts +3 -0
- package/lib-types/create/schema/metadata.d.ts +5 -0
- package/lib-types/create/schema/nativeEnum.d.ts +10 -0
- package/lib-types/create/schema/null.d.ts +3 -0
- package/lib-types/create/schema/nullable.d.ts +5 -0
- package/lib-types/create/schema/number.d.ts +3 -0
- package/lib-types/create/schema/object.d.ts +8 -0
- package/lib-types/create/schema/optional.d.ts +4 -0
- package/lib-types/create/schema/record.d.ts +4 -0
- package/lib-types/create/schema/string.d.ts +3 -0
- package/lib-types/create/schema/tuple.d.ts +4 -0
- package/lib-types/create/schema/union.d.ts +4 -0
- package/lib-types/create/specificationExtension.d.ts +1 -0
- package/lib-types/extendZod.d.ts +36 -0
- package/lib-types/index.d.ts +2 -5
- package/package.json +14 -7
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { oas31 } from 'openapi3-ts';
|
|
2
|
+
import { UnknownKeysParam, ZodDate, ZodObject, ZodRawShape, ZodTypeAny, z } from 'zod';
|
|
3
|
+
interface ZodOpenApiMetadata<T extends ZodTypeAny, TInferred = z.infer<T>> extends Omit<oas31.SchemaObject, 'example'> {
|
|
4
|
+
examples?: [TInferred, ...TInferred[]];
|
|
5
|
+
default?: T extends ZodDate ? string : TInferred;
|
|
6
|
+
ref?: string;
|
|
7
|
+
param?: Partial<oas31.ParameterObject> & {
|
|
8
|
+
example?: TInferred;
|
|
9
|
+
examples?: {
|
|
10
|
+
[param: string]: (oas31.ExampleObject & {
|
|
11
|
+
value: TInferred;
|
|
12
|
+
}) | oas31.ReferenceObject;
|
|
13
|
+
};
|
|
14
|
+
ref?: string;
|
|
15
|
+
};
|
|
16
|
+
header?: Partial<oas31.HeaderObject> & {
|
|
17
|
+
ref?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
interface ZodOpenApiExtendMetadata {
|
|
21
|
+
extends: ZodObject<any, any, any, any, any>;
|
|
22
|
+
extendsRef?: string;
|
|
23
|
+
}
|
|
24
|
+
declare module 'zod' {
|
|
25
|
+
interface ZodSchema<Output, Def extends ZodTypeDef, Input = Output> {
|
|
26
|
+
openapi<T extends ZodTypeAny>(this: T, metadata: ZodOpenApiMetadata<T>): T;
|
|
27
|
+
}
|
|
28
|
+
interface ZodTypeDef {
|
|
29
|
+
openapi?: ZodOpenApiMetadata<ZodTypeAny>;
|
|
30
|
+
}
|
|
31
|
+
interface ZodObjectDef<T extends ZodRawShape = ZodRawShape, UnknownKeys extends UnknownKeysParam = UnknownKeysParam, Catchall extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef {
|
|
32
|
+
extendMetadata?: ZodOpenApiExtendMetadata;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export declare function extendZodWithOpenApi(zod: typeof z): void;
|
|
36
|
+
export {};
|
package/lib-types/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zod-openapi",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
5
|
-
"homepage": "https://github.com/
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "A plugin to create full OpenAPI documents from your Zod types",
|
|
5
|
+
"homepage": "https://github.com/samchungy/zod-openapi#readme",
|
|
6
6
|
"bugs": {
|
|
7
|
-
"url": "https://github.com/
|
|
7
|
+
"url": "https://github.com/samchungy/zod-openapi/issues"
|
|
8
8
|
},
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "git+ssh://git@github.com/
|
|
11
|
+
"url": "git+ssh://git@github.com/samchungy/zod-openapi.git"
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"sideEffects": false,
|
|
@@ -36,11 +36,18 @@
|
|
|
36
36
|
"path": "cz-conventional-changelog"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
-
"dependencies": {
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"openapi3-ts": "4.0.4",
|
|
41
|
+
"yaml": "2.2.1"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"zod": "^3.21.4"
|
|
45
|
+
},
|
|
40
46
|
"devDependencies": {
|
|
41
47
|
"@types/node": "^16.18.3",
|
|
42
48
|
"commitizen": "^4.2.4",
|
|
43
|
-
"skuba": "6.0.0"
|
|
49
|
+
"skuba": "6.0.0",
|
|
50
|
+
"zod": "3.21.4"
|
|
44
51
|
},
|
|
45
52
|
"engines": {
|
|
46
53
|
"node": ">=16.11"
|