@origins-digital/zod-openapi-utils 0.0.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/README.md +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/openapi/make-open-api.d.ts +3 -0
- package/dist/openapi/make-open-api.d.ts.map +1 -0
- package/dist/openapi/make-open-api.js +16 -0
- package/dist/openapi/make-open-api.js.map +1 -0
- package/dist/openapi/zod-to-openapi.d.ts +6 -0
- package/dist/openapi/zod-to-openapi.d.ts.map +1 -0
- package/dist/openapi/zod-to-openapi.js +238 -0
- package/dist/openapi/zod-to-openapi.js.map +1 -0
- package/dist/openapi/zod.extension.d.ts +31 -0
- package/dist/openapi/zod.extension.d.ts.map +1 -0
- package/dist/openapi/zod.extension.js +27 -0
- package/dist/openapi/zod.extension.js.map +1 -0
- package/package.json +99 -0
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Origins Digital Zod API Utils
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./openapi/zod.extension"), exports);
|
|
18
|
+
__exportStar(require("./openapi/zod-to-openapi"), exports);
|
|
19
|
+
__exportStar(require("./openapi/make-open-api"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,2DAAyC;AACzC,0DAAwC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-open-api.d.ts","sourceRoot":"","sources":["../../src/openapi/make-open-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC,eAAO,MAAM,qBAAqB,GAAI,YAAY,UAAU,EAAE,OAS7D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeOpenAPIComponents = void 0;
|
|
4
|
+
const zod_to_openapi_1 = require("./zod-to-openapi");
|
|
5
|
+
const makeOpenAPIComponents = (components) => {
|
|
6
|
+
return components.reduce((components, item) => {
|
|
7
|
+
if (item._def.schemaName) {
|
|
8
|
+
if (!components[item._def.schemaName]) {
|
|
9
|
+
components[item._def.schemaName] = (0, zod_to_openapi_1.zodToOpenAPI)(item);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return components;
|
|
13
|
+
}, {});
|
|
14
|
+
};
|
|
15
|
+
exports.makeOpenAPIComponents = makeOpenAPIComponents;
|
|
16
|
+
//# sourceMappingURL=make-open-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-open-api.js","sourceRoot":"","sources":["../../src/openapi/make-open-api.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEzC,MAAM,qBAAqB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAChE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAA,6BAAY,EAAC,IAAI,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { SchemaObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export declare function is<T extends Type<z.ZodTypeAny>>(input: z.ZodTypeAny, factory: T): input is InstanceType<T>;
|
|
5
|
+
export declare function zodToOpenAPI(zodType: z.ZodTypeAny, visited?: Set<any>, child?: boolean): SchemaObject;
|
|
6
|
+
//# sourceMappingURL=zod-to-openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-to-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/zod-to-openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAEL,YAAY,EACb,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wBAAgB,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAC7C,KAAK,EAAE,CAAC,CAAC,UAAU,EACnB,OAAO,EAAE,CAAC,GACT,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAG1B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,CAAC,UAAU,EACrB,OAAO,GAAE,GAAG,CAAC,GAAG,CAAa,EAC7B,KAAK,GAAE,OAAe,gBAoPvB"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.is = is;
|
|
7
|
+
exports.zodToOpenAPI = zodToOpenAPI;
|
|
8
|
+
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
function is(input, factory) {
|
|
11
|
+
const factories = zod_1.z;
|
|
12
|
+
return factory === factories[input._def.typeName];
|
|
13
|
+
}
|
|
14
|
+
function zodToOpenAPI(zodType, visited = new Set(), child = false) {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
const object = {};
|
|
17
|
+
if (zodType.description) {
|
|
18
|
+
object.description = zodType.description;
|
|
19
|
+
}
|
|
20
|
+
if (child && ((_a = zodType._def) === null || _a === void 0 ? void 0 : _a.schemaName)) {
|
|
21
|
+
object['$ref'] = `#/components/schemas/${zodType._def.schemaName}`;
|
|
22
|
+
return object;
|
|
23
|
+
}
|
|
24
|
+
if (is(zodType, zod_1.z.ZodString)) {
|
|
25
|
+
const { checks } = zodType._def;
|
|
26
|
+
object.type = 'string';
|
|
27
|
+
for (const check of checks) {
|
|
28
|
+
if (check.kind === 'min') {
|
|
29
|
+
object.minLength = check.value;
|
|
30
|
+
}
|
|
31
|
+
else if (check.kind === 'max') {
|
|
32
|
+
object.maxLength = check.value;
|
|
33
|
+
}
|
|
34
|
+
else if (check.kind === 'email') {
|
|
35
|
+
object.format = 'email';
|
|
36
|
+
}
|
|
37
|
+
else if (check.kind === 'url') {
|
|
38
|
+
object.format = 'uri';
|
|
39
|
+
}
|
|
40
|
+
else if (check.kind === 'uuid') {
|
|
41
|
+
object.format = 'uuid';
|
|
42
|
+
}
|
|
43
|
+
else if (check.kind === 'cuid') {
|
|
44
|
+
object.format = 'cuid';
|
|
45
|
+
}
|
|
46
|
+
else if (check.kind === 'regex') {
|
|
47
|
+
object.pattern = check.regex.source;
|
|
48
|
+
}
|
|
49
|
+
else if (check.kind === 'datetime') {
|
|
50
|
+
object.format = 'date-time';
|
|
51
|
+
}
|
|
52
|
+
else if (check.kind === 'date') {
|
|
53
|
+
object.format = 'date';
|
|
54
|
+
}
|
|
55
|
+
else if (check.kind === 'time') {
|
|
56
|
+
object.pattern = '^[0-9]{2}:[0-9]{2}:[0-9]{2}$';
|
|
57
|
+
}
|
|
58
|
+
else if (check.kind === 'password') {
|
|
59
|
+
object.format = 'password';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (is(zodType, zod_1.z.ZodBoolean)) {
|
|
64
|
+
object.type = 'boolean';
|
|
65
|
+
}
|
|
66
|
+
if (is(zodType, zod_1.z.ZodNumber)) {
|
|
67
|
+
const { checks } = zodType._def;
|
|
68
|
+
object.type = 'number';
|
|
69
|
+
for (const check of checks) {
|
|
70
|
+
if (check.kind === 'int') {
|
|
71
|
+
object.type = 'integer';
|
|
72
|
+
}
|
|
73
|
+
else if (check.kind === 'min') {
|
|
74
|
+
object.minimum = check.value;
|
|
75
|
+
object.exclusiveMinimum = !check.inclusive;
|
|
76
|
+
}
|
|
77
|
+
else if (check.kind === 'max') {
|
|
78
|
+
object.maximum = check.value;
|
|
79
|
+
object.exclusiveMaximum = !check.inclusive;
|
|
80
|
+
}
|
|
81
|
+
else if (check.kind === 'multipleOf') {
|
|
82
|
+
object.multipleOf = check.value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (is(zodType, zod_1.z.ZodDate)) {
|
|
87
|
+
const { checks } = zodType._def;
|
|
88
|
+
object.type = 'string';
|
|
89
|
+
for (const check of checks) {
|
|
90
|
+
object.format = 'data-time';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (is(zodType, zod_1.z.ZodBigInt)) {
|
|
94
|
+
object.type = 'integer';
|
|
95
|
+
object.format = 'int64';
|
|
96
|
+
}
|
|
97
|
+
if (is(zodType, zod_1.z.ZodArray)) {
|
|
98
|
+
const { minLength, maxLength, type } = zodType._def;
|
|
99
|
+
object.type = 'array';
|
|
100
|
+
if (minLength)
|
|
101
|
+
object.minItems = minLength.value;
|
|
102
|
+
if (maxLength)
|
|
103
|
+
object.maxItems = maxLength.value;
|
|
104
|
+
object.items = zodToOpenAPI(type, visited, true);
|
|
105
|
+
}
|
|
106
|
+
if (is(zodType, zod_1.z.ZodTuple)) {
|
|
107
|
+
const { items } = zodType._def;
|
|
108
|
+
object.type = 'array';
|
|
109
|
+
object.items = {
|
|
110
|
+
oneOf: items.map((item) => zodToOpenAPI(item, visited, true)),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
if (is(zodType, zod_1.z.ZodSet)) {
|
|
114
|
+
const { valueType, minSize, maxSize } = zodType._def;
|
|
115
|
+
object.type = 'array';
|
|
116
|
+
if (minSize)
|
|
117
|
+
object.minItems = minSize.value;
|
|
118
|
+
if (maxSize)
|
|
119
|
+
object.maxItems = maxSize.value;
|
|
120
|
+
object.items = zodToOpenAPI(valueType, visited, true);
|
|
121
|
+
object.uniqueItems = true;
|
|
122
|
+
}
|
|
123
|
+
if (is(zodType, zod_1.z.ZodUnion)) {
|
|
124
|
+
const { options } = zodType._def;
|
|
125
|
+
object.oneOf = options.map((option) => zodToOpenAPI(option, visited, true));
|
|
126
|
+
}
|
|
127
|
+
if (is(zodType, zod_1.z.ZodDiscriminatedUnion)) {
|
|
128
|
+
const { options } = zodType._def;
|
|
129
|
+
object.discriminator = {
|
|
130
|
+
propertyName: zodType._def.discriminator,
|
|
131
|
+
};
|
|
132
|
+
object.oneOf = [];
|
|
133
|
+
for (const schema of options.values()) {
|
|
134
|
+
object.oneOf.push(zodToOpenAPI(schema, visited, true));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (is(zodType, zod_1.z.ZodLiteral)) {
|
|
138
|
+
const { value } = zodType._def;
|
|
139
|
+
if (typeof value === 'string') {
|
|
140
|
+
object.type = 'string';
|
|
141
|
+
object.enum = [value];
|
|
142
|
+
}
|
|
143
|
+
if (typeof value === 'number') {
|
|
144
|
+
object.type = 'number';
|
|
145
|
+
object.minimum = value;
|
|
146
|
+
object.maximum = value;
|
|
147
|
+
}
|
|
148
|
+
if (typeof value === 'boolean') {
|
|
149
|
+
// currently there is no way to completely describe boolean literal
|
|
150
|
+
object.type = 'boolean';
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (is(zodType, zod_1.z.ZodEnum)) {
|
|
154
|
+
const { values } = zodType._def;
|
|
155
|
+
object.type = 'string';
|
|
156
|
+
object.enum = values;
|
|
157
|
+
}
|
|
158
|
+
if (is(zodType, zod_1.z.ZodNativeEnum)) {
|
|
159
|
+
const { values } = zodType._def;
|
|
160
|
+
// this only supports enums with string literal values
|
|
161
|
+
object.type = 'string';
|
|
162
|
+
object.enum = Object.values(values);
|
|
163
|
+
object['x-enumNames'] = Object.keys(values);
|
|
164
|
+
}
|
|
165
|
+
if (is(zodType, zod_1.z.ZodTransformer)) {
|
|
166
|
+
const { schema } = zodType._def;
|
|
167
|
+
Object.assign(object, zodToOpenAPI(schema, visited, true));
|
|
168
|
+
}
|
|
169
|
+
if (is(zodType, zod_1.z.ZodNullable)) {
|
|
170
|
+
const { innerType } = zodType._def;
|
|
171
|
+
Object.assign(object, zodToOpenAPI(innerType, visited, true));
|
|
172
|
+
object.nullable = true;
|
|
173
|
+
}
|
|
174
|
+
if (is(zodType, zod_1.z.ZodOptional)) {
|
|
175
|
+
const { innerType } = zodType._def;
|
|
176
|
+
Object.assign(object, zodToOpenAPI(innerType, visited, true));
|
|
177
|
+
}
|
|
178
|
+
if (is(zodType, zod_1.z.ZodDefault)) {
|
|
179
|
+
const { defaultValue, innerType } = zodType._def;
|
|
180
|
+
Object.assign(object, zodToOpenAPI(innerType, visited, true));
|
|
181
|
+
object.default = defaultValue();
|
|
182
|
+
}
|
|
183
|
+
if (is(zodType, zod_1.z.ZodObject)) {
|
|
184
|
+
// If mergedSchemas exists, reference the original schemas
|
|
185
|
+
if ((_b = zodType._def.mergedSchemas) === null || _b === void 0 ? void 0 : _b.length) {
|
|
186
|
+
object.allOf = zodType._def.mergedSchemas.map((schema) => zodToOpenAPI(schema, visited, true));
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const { shape } = zodType._def;
|
|
190
|
+
object.type = 'object';
|
|
191
|
+
object.properties = {};
|
|
192
|
+
object.required = [];
|
|
193
|
+
for (const [key, schema] of Object.entries(shape())) {
|
|
194
|
+
object.properties[key] = zodToOpenAPI(schema, visited, true);
|
|
195
|
+
const optionalTypes = [zod_1.z.ZodOptional.name, zod_1.z.ZodDefault.name];
|
|
196
|
+
const isOptional = optionalTypes.includes(schema.constructor.name);
|
|
197
|
+
if (!isOptional)
|
|
198
|
+
object.required.push(key);
|
|
199
|
+
}
|
|
200
|
+
if (object.required.length === 0) {
|
|
201
|
+
delete object.required;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (is(zodType, zod_1.z.ZodRecord)) {
|
|
206
|
+
const { valueType } = zodType._def;
|
|
207
|
+
object.type = 'object';
|
|
208
|
+
object.additionalProperties = zodToOpenAPI(valueType, visited, true);
|
|
209
|
+
}
|
|
210
|
+
if (is(zodType, zod_1.z.ZodIntersection)) {
|
|
211
|
+
const { left, right } = zodType._def;
|
|
212
|
+
const leftSchema = zodToOpenAPI(left, visited, true);
|
|
213
|
+
const rightSchema = zodToOpenAPI(right, visited, true);
|
|
214
|
+
let merged;
|
|
215
|
+
if ('$ref' in leftSchema || '$ref' in rightSchema) {
|
|
216
|
+
merged = { allOf: [leftSchema, rightSchema] }; // Use OpenAPI's `allOf`
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
merged = (0, deepmerge_1.default)(leftSchema, rightSchema, {
|
|
220
|
+
arrayMerge: (target, source) => Array.from(new Set([...target, ...source])),
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
Object.assign(object, merged);
|
|
224
|
+
}
|
|
225
|
+
if (is(zodType, zod_1.z.ZodEffects)) {
|
|
226
|
+
const { schema } = zodType._def;
|
|
227
|
+
Object.assign(object, zodToOpenAPI(schema, visited, true));
|
|
228
|
+
}
|
|
229
|
+
if (is(zodType, zod_1.z.ZodLazy)) {
|
|
230
|
+
const { getter } = zodType._def;
|
|
231
|
+
if (visited.has(getter))
|
|
232
|
+
return object;
|
|
233
|
+
visited.add(getter);
|
|
234
|
+
Object.assign(object, zodToOpenAPI(getter(), visited, true));
|
|
235
|
+
}
|
|
236
|
+
return object;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=zod-to-openapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-to-openapi.js","sourceRoot":"","sources":["../../src/openapi/zod-to-openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { UnknownKeysParam, z, ZodStringCheck } from 'zod';
|
|
2
|
+
import { objectOutputType } from 'zod';
|
|
3
|
+
import { objectUtil } from 'zod';
|
|
4
|
+
import { objectInputType } from 'zod';
|
|
5
|
+
import { ZodTypeAny } from 'zod';
|
|
6
|
+
import { AnyZodObject, ZodRawShape } from 'zod';
|
|
7
|
+
export type ZodStringCheckAugmented = ZodStringCheck | {
|
|
8
|
+
kind: 'password';
|
|
9
|
+
message?: string;
|
|
10
|
+
};
|
|
11
|
+
declare module 'zod' {
|
|
12
|
+
interface ZodTypeDef {
|
|
13
|
+
schemaName?: string;
|
|
14
|
+
}
|
|
15
|
+
interface ZodObjectDef {
|
|
16
|
+
schemaName?: string;
|
|
17
|
+
mergedSchemas?: ZodType<any, any, any>[];
|
|
18
|
+
}
|
|
19
|
+
interface ZodType<Output = any, Def extends ZodTypeDef = ZodTypeDef, Input = Output> {
|
|
20
|
+
dto(name: string): this;
|
|
21
|
+
}
|
|
22
|
+
interface ZodObject<T extends ZodRawShape, UnknownKeys extends UnknownKeysParam = UnknownKeysParam, Catchall extends ZodTypeAny = ZodTypeAny, Output = objectOutputType<T, Catchall, UnknownKeys>, Input = objectInputType<T, Catchall, UnknownKeys>> {
|
|
23
|
+
merge<Incoming extends AnyZodObject, Augmentation extends Incoming['shape']>(this: this, other: Incoming): ZodObject<objectUtil.extendShape<T, Augmentation>, Incoming['_def']['unknownKeys'], Incoming['_def']['catchall']>;
|
|
24
|
+
}
|
|
25
|
+
interface ZodString {
|
|
26
|
+
password(): this;
|
|
27
|
+
_addCheck(check: ZodStringCheckAugmented): this;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export declare const ZodRecord: <KeyType extends string, ZodValueType extends z.ZodTypeAny>(keys: KeyType[], zodValueType: ZodValueType) => z.ZodObject<Record<KeyType, ZodValueType>, "strip", z.ZodTypeAny, objectUtil.addQuestionMarks<z.baseObjectOutputType<Record<KeyType, ZodValueType>>, any> extends infer T ? { [k in keyof T]: objectUtil.addQuestionMarks<z.baseObjectOutputType<Record<KeyType, ZodValueType>>, any>[k]; } : never, z.baseObjectInputType<Record<KeyType, ZodValueType>> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<Record<KeyType, ZodValueType>>[k_1]; } : never>;
|
|
31
|
+
//# sourceMappingURL=zod.extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.extension.d.ts","sourceRoot":"","sources":["../../src/openapi/zod.extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,KAAK,CAAC;AAGpE,MAAM,MAAM,uBAAuB,GAC/B,cAAc,GACd;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,UAAU;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAED,UAAU,YAAY;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;KAC1C;IAED,UAAU,OAAO,CACf,MAAM,GAAG,GAAG,EACZ,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,GAAG,MAAM;QAEd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB;IAED,UAAU,SAAS,CACjB,CAAC,SAAS,WAAW,EACrB,WAAW,SAAS,gBAAgB,GAAG,gBAAgB,EACvD,QAAQ,SAAS,UAAU,GAAG,UAAU,EACxC,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,EACnD,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;QAEjD,KAAK,CACH,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS,QAAQ,CAAC,OAAO,CAAC,EAEtC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,QAAQ,GACd,SAAS,CACV,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,EACvC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAC7B,CAAC;KACH;IAED,UAAU,SAAS;QACjB,QAAQ,IAAI,IAAI,CAAC;QACjB,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;KACjD;CACF;AA4CD,eAAO,MAAM,SAAS,GACpB,OAAO,SAAS,MAAM,EACtB,YAAY,SAAS,CAAC,CAAC,UAAU,EAEjC,MAAM,OAAO,EAAE,EACf,cAAc,YAAY,8cAUzB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZodRecord = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const zod_2 = require("zod");
|
|
7
|
+
const zod_3 = require("zod");
|
|
8
|
+
zod_2.ZodType.prototype.dto = function (name) {
|
|
9
|
+
this._def.schemaName = name;
|
|
10
|
+
return this;
|
|
11
|
+
};
|
|
12
|
+
const originalMerge = zod_3.ZodObject.prototype.merge;
|
|
13
|
+
zod_3.ZodObject.prototype.merge = function (other) {
|
|
14
|
+
const merged = originalMerge.apply(this, [other]);
|
|
15
|
+
merged._def.mergedSchemas = [this, other];
|
|
16
|
+
return merged;
|
|
17
|
+
};
|
|
18
|
+
const originalStringCheck = zod_2.ZodString.prototype._addCheck;
|
|
19
|
+
zod_2.ZodString.prototype._addCheck = function (check) {
|
|
20
|
+
return originalStringCheck.call(this, check);
|
|
21
|
+
};
|
|
22
|
+
zod_2.ZodString.prototype.password = function () {
|
|
23
|
+
return this._addCheck({ kind: 'password' });
|
|
24
|
+
};
|
|
25
|
+
const ZodRecord = (keys, zodValueType) => zod_1.z.object(keys.reduce((agg, k) => (Object.assign(Object.assign({}, agg), { [k]: zodValueType })), {}));
|
|
26
|
+
exports.ZodRecord = ZodRecord;
|
|
27
|
+
//# sourceMappingURL=zod.extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.extension.js","sourceRoot":"","sources":["../../src/openapi/zod.extension.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,6BAA0D;AAK1D,6BAAoE;AACpE,6BAAgC;AAqDhC,aAAO,CAAC,SAAS,CAAC,GAAG,GAAG,UAAwC,IAAY;IAC1E,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,eAAS,CAAC,SAAS,CAAC,KAAK,CAAC;AAChD,eAAS,CAAC,SAAS,CAAC,KAAK,GAAG,UAM1B,KAAe;IAMf,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,eAAS,CAAC,SAAS,CAAC,SAAS,CAAC;AAC1D,eAAS,CAAC,SAAS,CAAC,SAAS,GAAG,UAE9B,KAKK;IAEL,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAS,CAAC,SAAS,CAAC,QAAQ,GAAG;IAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAIvB,IAAe,EACf,YAA0B,EAC1B,EAAE,CACF,OAAC,CAAC,MAAM,CACN,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCACP,GAAG,KACN,CAAC,CAAC,CAAC,EAAE,YAAY,IACjB,EACF,EAAmC,CACpC,CACF,CAAC;AAfS,QAAA,SAAS,aAelB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@origins-digital/zod-openapi-utils",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "Origins Zod OpenAPI Utils",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.d.ts",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"author": "Origins Digital (https://www.origins-digital.com/)",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
18
|
+
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
|
19
|
+
"test": "jest --passWithNoTests",
|
|
20
|
+
"test:watch": "jest --watch",
|
|
21
|
+
"test:cov": "jest --coverage",
|
|
22
|
+
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
23
|
+
"test:e2e": "jest --config ./test/jest-e2e.json",
|
|
24
|
+
"build": "rimraf dist && tsc",
|
|
25
|
+
"release:patch": "release-it patch --ci",
|
|
26
|
+
"release:minor": "release-it minor --ci",
|
|
27
|
+
"release:major": "release-it major --ci",
|
|
28
|
+
"commit": "git-cz",
|
|
29
|
+
"prepublish": "yarn build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"webpack": "^5.88.1"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"zod": ">=3.23.8"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@commitlint/cli": "^17.6.6",
|
|
39
|
+
"@commitlint/config-conventional": "^17.6.6",
|
|
40
|
+
"@faker-js/faker": "^8.3.1",
|
|
41
|
+
"@types/node": "^20.3.1",
|
|
42
|
+
"commitizen": "^4.3.0",
|
|
43
|
+
"conventional-recommended-bump": "^7.0.1",
|
|
44
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
45
|
+
"eslint": "^8.42.0",
|
|
46
|
+
"eslint-config-prettier": "^9.0.0",
|
|
47
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
48
|
+
"jest": "^29.5.0",
|
|
49
|
+
"prettier": "^3.0.0",
|
|
50
|
+
"rimraf": "^5.0.5",
|
|
51
|
+
"supertest": "^6.3.3",
|
|
52
|
+
"ts-jest": "^29.1.0",
|
|
53
|
+
"ts-loader": "^9.4.3",
|
|
54
|
+
"ts-node": "^10.9.1",
|
|
55
|
+
"tsconfig-paths": "^4.2.0",
|
|
56
|
+
"typescript": "^5.3.2"
|
|
57
|
+
},
|
|
58
|
+
"jest": {
|
|
59
|
+
"moduleFileExtensions": [
|
|
60
|
+
"js",
|
|
61
|
+
"json",
|
|
62
|
+
"ts"
|
|
63
|
+
],
|
|
64
|
+
"rootDir": "src",
|
|
65
|
+
"testRegex": ".*\\.spec\\.ts$",
|
|
66
|
+
"transform": {
|
|
67
|
+
"^.+\\.(t|j)s$": "ts-jest"
|
|
68
|
+
},
|
|
69
|
+
"collectCoverageFrom": [
|
|
70
|
+
"**/*.(t|j)s"
|
|
71
|
+
],
|
|
72
|
+
"coverageDirectory": "../coverage",
|
|
73
|
+
"testEnvironment": "node"
|
|
74
|
+
},
|
|
75
|
+
"publishConfig": {
|
|
76
|
+
"registry": "https://registry.npmjs.org",
|
|
77
|
+
"access": "public"
|
|
78
|
+
},
|
|
79
|
+
"release-it": {
|
|
80
|
+
"git": {
|
|
81
|
+
"requireCleanWorkingDir": false,
|
|
82
|
+
"commitMessage": "chore(release): bump zod-openapi-utils ${version}",
|
|
83
|
+
"tagName": "${npm.name}-v${version}",
|
|
84
|
+
"tagAnnotation": "zod-openapi-utils-${version}",
|
|
85
|
+
"push": false,
|
|
86
|
+
"commit": true,
|
|
87
|
+
"addUntrackedFiles": false
|
|
88
|
+
},
|
|
89
|
+
"npm": {
|
|
90
|
+
"publish": true
|
|
91
|
+
},
|
|
92
|
+
"hooks": {
|
|
93
|
+
"before:init": [
|
|
94
|
+
"yarn test",
|
|
95
|
+
"yarn build"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|