@kubb/plugin-zod 3.0.0-alpha.19 → 3.0.0-alpha.20

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.
@@ -0,0 +1,250 @@
1
+ 'use strict';
2
+
3
+ var chunkRPZWETTK_cjs = require('./chunk-RPZWETTK.cjs');
4
+ var pluginOas = require('@kubb/plugin-oas');
5
+ var components = require('@kubb/plugin-oas/components');
6
+ var hooks = require('@kubb/plugin-oas/hooks');
7
+ var pluginTs = require('@kubb/plugin-ts');
8
+ var react = require('@kubb/react');
9
+ var jsxRuntime = require('@kubb/react/jsx-runtime');
10
+ var path = require('path');
11
+ var core = require('@kubb/core');
12
+ var transformers = require('@kubb/core/transformers');
13
+ var utils = require('@kubb/core/utils');
14
+
15
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
+
17
+ var path__default = /*#__PURE__*/_interopDefault(path);
18
+
19
+ var zodGenerator = pluginOas.createReactGenerator({
20
+ name: "zod",
21
+ Operation({ operation, options }) {
22
+ const { coercion, inferred, typed, mapper } = options;
23
+ const { plugin, pluginManager, mode } = react.useApp();
24
+ const oas = hooks.useOas();
25
+ const { getSchemas, getFile } = hooks.useOperationManager();
26
+ const schemaManager = hooks.useSchemaManager();
27
+ const file = getFile(operation);
28
+ const schemas = getSchemas(operation);
29
+ const schemaGenerator = new pluginOas.SchemaGenerator(options, {
30
+ oas,
31
+ plugin,
32
+ pluginManager,
33
+ mode,
34
+ override: options.override
35
+ });
36
+ const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response].flat().filter(Boolean);
37
+ const mapOperationSchema = ({ name, schema, description, keysToOmit, ...options2 }, i) => {
38
+ const required = Array.isArray(schema?.required) ? !!schema.required.length : !!schema?.required;
39
+ const optional = !required && !!name.includes("Params");
40
+ const tree = [...schemaGenerator.parse({ schema, name }), optional ? { keyword: pluginOas.schemaKeywords.optional } : void 0].filter(Boolean);
41
+ const imports = schemaManager.getImports(tree);
42
+ const zod = {
43
+ name: schemaManager.getName(name, { type: "function" }),
44
+ inferTypeName: schemaManager.getName(name, { type: "type" }),
45
+ file: schemaManager.getFile(name)
46
+ };
47
+ const type = {
48
+ name: schemaManager.getName(name, { type: "type", pluginKey: [pluginTs.pluginTsName] }),
49
+ file: schemaManager.getFile(options2.operationName || name, { pluginKey: [pluginTs.pluginTsName], tag: options2.operation?.getTags()[0]?.name })
50
+ };
51
+ return /* @__PURE__ */ jsxRuntime.jsxs(components.Oas.Schema, { name, value: schema, tree, children: [
52
+ typed && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { isTypeOnly: true, root: file.path, path: type.file.path, name: [type.name] }),
53
+ imports.map((imp, index) => /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { root: file.path, path: imp.path, name: imp.name }, index)),
54
+ /* @__PURE__ */ jsxRuntime.jsx(
55
+ chunkRPZWETTK_cjs.Zod,
56
+ {
57
+ name: zod.name,
58
+ typeName: typed ? type.name : void 0,
59
+ inferTypeName: inferred ? zod.inferTypeName : void 0,
60
+ description,
61
+ tree,
62
+ mapper,
63
+ coercion,
64
+ keysToOmit
65
+ }
66
+ )
67
+ ] }, i);
68
+ };
69
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: file.baseName, path: file.path, meta: file.meta, banner: plugin.options.output?.banner, footer: plugin.options.output?.footer, children: [
70
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["z"], path: plugin.options.importPath }),
71
+ operationSchemas.map(mapOperationSchema)
72
+ ] });
73
+ },
74
+ Schema({ schema, options }) {
75
+ const { coercion, inferred, typed, mapper, importPath } = options;
76
+ const { getName, getFile, getImports } = hooks.useSchemaManager();
77
+ const {
78
+ plugin: {
79
+ options: { output }
80
+ }
81
+ } = react.useApp();
82
+ const imports = getImports(schema.tree);
83
+ const zod = {
84
+ name: getName(schema.name, { type: "function" }),
85
+ inferTypeName: getName(schema.name, { type: "type" }),
86
+ file: getFile(schema.name)
87
+ };
88
+ const type = {
89
+ name: getName(schema.name, { type: "type", pluginKey: [pluginTs.pluginTsName] }),
90
+ file: getFile(schema.name, { pluginKey: [pluginTs.pluginTsName] })
91
+ };
92
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: zod.file.baseName, path: zod.file.path, meta: zod.file.meta, banner: output?.banner, footer: output?.footer, children: [
93
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["z"], path: importPath }),
94
+ typed && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { isTypeOnly: true, root: zod.file.path, path: type.file.path, name: [type.name] }),
95
+ imports.map((imp, index) => /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { root: zod.file.path, path: imp.path, name: imp.name }, index)),
96
+ /* @__PURE__ */ jsxRuntime.jsx(
97
+ chunkRPZWETTK_cjs.Zod,
98
+ {
99
+ name: zod.name,
100
+ typeName: typed ? type.name : void 0,
101
+ inferTypeName: inferred ? zod.inferTypeName : void 0,
102
+ description: schema.value.description,
103
+ tree: schema.tree,
104
+ mapper,
105
+ coercion
106
+ }
107
+ )
108
+ ] });
109
+ }
110
+ });
111
+ var pluginZodName = "plugin-zod";
112
+ var pluginZod = core.createPlugin((options) => {
113
+ const {
114
+ output = { path: "zod" },
115
+ group,
116
+ exclude = [],
117
+ include,
118
+ override = [],
119
+ transformers: transformers$1 = {},
120
+ dateType = "string",
121
+ unknownType = "any",
122
+ typed = false,
123
+ mapper = {},
124
+ operations = false,
125
+ importPath = "zod",
126
+ coercion = false,
127
+ inferred = false
128
+ } = options;
129
+ const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`;
130
+ return {
131
+ name: pluginZodName,
132
+ options: {
133
+ output: {
134
+ exportType: "barrelNamed",
135
+ ...output
136
+ },
137
+ extName: output.extName,
138
+ transformers: transformers$1,
139
+ include,
140
+ exclude,
141
+ override,
142
+ typed,
143
+ dateType,
144
+ unknownType,
145
+ mapper,
146
+ importPath,
147
+ coercion,
148
+ operations,
149
+ inferred
150
+ },
151
+ pre: [pluginOas.pluginOasName, typed ? pluginTs.pluginTsName : void 0].filter(Boolean),
152
+ resolvePath(baseName, pathMode, options2) {
153
+ const root = path__default.default.resolve(this.config.root, this.config.output.path);
154
+ const mode = pathMode ?? core.FileManager.getMode(path__default.default.resolve(root, output.path));
155
+ if (mode === "single") {
156
+ return path__default.default.resolve(root, output.path);
157
+ }
158
+ if (options2?.tag && group?.type === "tag") {
159
+ const tag = transformers.camelCase(options2.tag);
160
+ return path__default.default.resolve(root, utils.renderTemplate(template, { tag }), baseName);
161
+ }
162
+ return path__default.default.resolve(root, output.path, baseName);
163
+ },
164
+ resolveName(name, type) {
165
+ let resolvedName = transformers.camelCase(name, {
166
+ suffix: type ? "schema" : void 0,
167
+ isFile: type === "file"
168
+ });
169
+ if (type === "type") {
170
+ resolvedName = transformers.pascalCase(resolvedName);
171
+ }
172
+ if (type) {
173
+ return transformers$1?.name?.(resolvedName, type) || resolvedName;
174
+ }
175
+ return resolvedName;
176
+ },
177
+ async buildStart() {
178
+ const [swaggerPlugin] = core.PluginManager.getDependedPlugins(this.plugins, [pluginOas.pluginOasName]);
179
+ const oas = await swaggerPlugin.context.getOas();
180
+ const root = path__default.default.resolve(this.config.root, this.config.output.path);
181
+ const mode = core.FileManager.getMode(path__default.default.resolve(root, output.path));
182
+ const schemaGenerator = new pluginOas.SchemaGenerator(this.plugin.options, {
183
+ oas,
184
+ pluginManager: this.pluginManager,
185
+ plugin: this.plugin,
186
+ contentType: swaggerPlugin.context.contentType,
187
+ include: void 0,
188
+ override,
189
+ mode,
190
+ output: output.path
191
+ });
192
+ const schemaFiles = await schemaGenerator.build(...[zodGenerator, operations ? operationsGenerator : void 0].filter(Boolean));
193
+ await this.addFile(...schemaFiles);
194
+ const operationGenerator = new pluginOas.OperationGenerator(this.plugin.options, {
195
+ oas,
196
+ pluginManager: this.pluginManager,
197
+ plugin: this.plugin,
198
+ contentType: swaggerPlugin.context.contentType,
199
+ exclude,
200
+ include,
201
+ override,
202
+ mode
203
+ });
204
+ const operationFiles = await operationGenerator.build(...[zodGenerator, operations ? operationsGenerator : void 0].filter(Boolean));
205
+ await this.addFile(...operationFiles);
206
+ if (this.config.output.exportType) {
207
+ const barrelFiles = await this.fileManager.getBarrelFiles({
208
+ root,
209
+ output,
210
+ files: this.fileManager.files,
211
+ meta: {
212
+ pluginKey: this.plugin.key
213
+ },
214
+ logger: this.logger
215
+ });
216
+ await this.addFile(...barrelFiles);
217
+ }
218
+ }
219
+ };
220
+ });
221
+ var operationsGenerator = pluginOas.createReactGenerator({
222
+ name: "operations",
223
+ Operations({ operations }) {
224
+ const {
225
+ pluginManager,
226
+ plugin: {
227
+ options: { output }
228
+ }
229
+ } = react.useApp();
230
+ const { getFile, groupSchemasByName } = hooks.useOperationManager();
231
+ const name = "operations";
232
+ const file = pluginManager.getFile({ name, extName: ".ts", pluginKey: [pluginZodName] });
233
+ const transformedOperations = operations.map((operation) => ({ operation, data: groupSchemasByName(operation, { type: "function" }) }));
234
+ const imports = Object.entries(transformedOperations).map(([key, { data, operation }]) => {
235
+ const names = [data.request, ...Object.values(data.responses), ...Object.values(data.parameters)].filter(Boolean);
236
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: names, root: file.path, path: getFile(operation).path }, key);
237
+ }).filter(Boolean);
238
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.File, { baseName: file.baseName, path: file.path, meta: file.meta, banner: output?.banner, footer: output?.footer, children: [
239
+ imports,
240
+ /* @__PURE__ */ jsxRuntime.jsx(chunkRPZWETTK_cjs.Operations, { name, operations: transformedOperations })
241
+ ] });
242
+ }
243
+ });
244
+
245
+ exports.operationsGenerator = operationsGenerator;
246
+ exports.pluginZod = pluginZod;
247
+ exports.pluginZodName = pluginZodName;
248
+ exports.zodGenerator = zodGenerator;
249
+ //# sourceMappingURL=chunk-GILKYHDS.cjs.map
250
+ //# sourceMappingURL=chunk-GILKYHDS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generators/zodGenerator.tsx","../src/plugin.ts","../src/generators/operationsGenerator.tsx"],"names":["createReactGenerator","useApp","useOas","useOperationManager","useSchemaManager","SchemaGenerator","options","schemaKeywords","pluginTsName","Oas","File","jsx","Zod","jsxs","createPlugin","transformers","pluginOasName","path","FileManager","camelCase","renderTemplate","pascalCase","PluginManager","OperationGenerator","Operations"],"mappings":"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","file":"chunk-GILKYHDS.cjs","sourcesContent":["import { type OperationSchema as OperationSchemaType, SchemaGenerator, createReactGenerator, schemaKeywords } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport { Zod } from '../components'\nimport type { PluginZod } from '../types'\n\nexport const zodGenerator = createReactGenerator<PluginZod>({\n name: 'zod',\n Operation({ operation, options }) {\n const { coercion, inferred, typed, mapper } = options\n\n const { plugin, pluginManager, mode } = useApp<PluginZod>()\n const oas = useOas()\n const { getSchemas, getFile } = useOperationManager()\n const schemaManager = useSchemaManager()\n\n const file = getFile(operation)\n const schemas = getSchemas(operation)\n const schemaGenerator = new SchemaGenerator(options, {\n oas,\n plugin,\n pluginManager,\n mode,\n override: options.override,\n })\n\n const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n .flat()\n .filter(Boolean)\n\n const mapOperationSchema = ({ name, schema, description, keysToOmit, ...options }: OperationSchemaType, i: number) => {\n // hack so Params can be optional when needed\n const required = Array.isArray(schema?.required) ? !!schema.required.length : !!schema?.required\n const optional = !required && !!name.includes('Params')\n const tree = [...schemaGenerator.parse({ schema, name }), optional ? { keyword: schemaKeywords.optional } : undefined].filter(Boolean)\n const imports = schemaManager.getImports(tree)\n\n const zod = {\n name: schemaManager.getName(name, { type: 'function' }),\n inferTypeName: schemaManager.getName(name, { type: 'type' }),\n file: schemaManager.getFile(name),\n }\n\n const type = {\n name: schemaManager.getName(name, { type: 'type', pluginKey: [pluginTsName] }),\n file: schemaManager.getFile(options.operationName || name, { pluginKey: [pluginTsName], tag: options.operation?.getTags()[0]?.name }),\n }\n\n return (\n <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n {typed && <File.Import isTypeOnly root={file.path} path={type.file.path} name={[type.name]} />}\n {imports.map((imp, index) => (\n <File.Import key={index} root={file.path} path={imp.path} name={imp.name} />\n ))}\n <Zod\n name={zod.name}\n typeName={typed ? type.name : undefined}\n inferTypeName={inferred ? zod.inferTypeName : undefined}\n description={description}\n tree={tree}\n mapper={mapper}\n coercion={coercion}\n keysToOmit={keysToOmit}\n />\n </Oas.Schema>\n )\n }\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={plugin.options.output?.banner} footer={plugin.options.output?.footer}>\n <File.Import name={['z']} path={plugin.options.importPath} />\n {operationSchemas.map(mapOperationSchema)}\n </File>\n )\n },\n Schema({ schema, options }) {\n const { coercion, inferred, typed, mapper, importPath } = options\n\n const { getName, getFile, getImports } = useSchemaManager()\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginZod>()\n\n const imports = getImports(schema.tree)\n\n const zod = {\n name: getName(schema.name, { type: 'function' }),\n inferTypeName: getName(schema.name, { type: 'type' }),\n file: getFile(schema.name),\n }\n\n const type = {\n name: getName(schema.name, { type: 'type', pluginKey: [pluginTsName] }),\n file: getFile(schema.name, { pluginKey: [pluginTsName] }),\n }\n\n return (\n <File baseName={zod.file.baseName} path={zod.file.path} meta={zod.file.meta} banner={output?.banner} footer={output?.footer}>\n <File.Import name={['z']} path={importPath} />\n {typed && <File.Import isTypeOnly root={zod.file.path} path={type.file.path} name={[type.name]} />}\n {imports.map((imp, index) => (\n <File.Import key={index} root={zod.file.path} path={imp.path} name={imp.name} />\n ))}\n\n <Zod\n name={zod.name}\n typeName={typed ? type.name : undefined}\n inferTypeName={inferred ? zod.inferTypeName : undefined}\n description={schema.value.description}\n tree={schema.tree}\n mapper={mapper}\n coercion={coercion}\n />\n </File>\n )\n },\n})\n","import path from 'node:path'\n\nimport { FileManager, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { OperationGenerator, SchemaGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { operationsGenerator } from './generators'\nimport { zodGenerator } from './generators/zodGenerator.tsx'\nimport type { PluginZod } from './types.ts'\n\nexport const pluginZodName = 'plugin-zod' satisfies PluginZod['name']\n\nexport const pluginZod = createPlugin<PluginZod>((options) => {\n const {\n output = { path: 'zod' },\n group,\n exclude = [],\n include,\n override = [],\n transformers = {},\n dateType = 'string',\n unknownType = 'any',\n typed = false,\n mapper = {},\n operations = false,\n importPath = 'zod',\n coercion = false,\n inferred = false,\n } = options\n const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`\n\n return {\n name: pluginZodName,\n options: {\n output: {\n exportType: 'barrelNamed',\n ...output,\n },\n extName: output.extName,\n transformers,\n include,\n exclude,\n override,\n typed,\n dateType,\n unknownType,\n mapper,\n importPath,\n coercion,\n operations,\n inferred,\n },\n pre: [pluginOasName, typed ? pluginTsName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (options?.tag && group?.type === 'tag') {\n const tag = camelCase(options.tag)\n\n return path.resolve(root, renderTemplate(template, { tag }), baseName)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name, {\n suffix: type ? 'schema' : undefined,\n isFile: type === 'file',\n })\n\n if (type === 'type') {\n resolvedName = pascalCase(resolvedName)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n\n const schemaGenerator = new SchemaGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n include: undefined,\n override,\n mode,\n output: output.path,\n })\n\n const schemaFiles = await schemaGenerator.build(...[zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean))\n await this.addFile(...schemaFiles)\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const operationFiles = await operationGenerator.build(...[zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean))\n await this.addFile(...operationFiles)\n\n if (this.config.output.exportType) {\n const barrelFiles = await this.fileManager.getBarrelFiles({\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n }\n },\n }\n})\n","import { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { File, useApp } from '@kubb/react'\nimport { Operations } from '../components/Operations'\nimport { pluginZodName } from '../plugin.ts'\nimport type { PluginZod } from '../types'\n\nexport const operationsGenerator = createReactGenerator<PluginZod>({\n name: 'operations',\n Operations({ operations }) {\n const {\n pluginManager,\n plugin: {\n options: { output },\n },\n } = useApp<PluginZod>()\n const { getFile, groupSchemasByName } = useOperationManager()\n\n const name = 'operations'\n const file = pluginManager.getFile({ name, extName: '.ts', pluginKey: [pluginZodName] })\n\n const transformedOperations = operations.map((operation) => ({ operation, data: groupSchemasByName(operation, { type: 'function' }) }))\n\n const imports = Object.entries(transformedOperations)\n .map(([key, { data, operation }]) => {\n const names = [data.request, ...Object.values(data.responses), ...Object.values(data.parameters)].filter(Boolean)\n\n return <File.Import key={key} name={names} root={file.path} path={getFile(operation).path} />\n })\n .filter(Boolean)\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={output?.banner} footer={output?.footer}>\n {imports}\n <Operations name={name} operations={transformedOperations} />\n </File>\n )\n },\n})\n"]}
@@ -3,46 +3,7 @@ import transformers2 from '@kubb/core/transformers';
3
3
  import { jsxs, Fragment, jsx } from '@kubb/react/jsx-runtime';
4
4
  import { isKeyword, schemaKeywords } from '@kubb/plugin-oas';
5
5
 
6
- var __create = Object.create;
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
- var __getOwnPropNames = Object.getOwnPropertyNames;
10
- var __getProtoOf = Object.getPrototypeOf;
11
- var __hasOwnProp = Object.prototype.hasOwnProperty;
12
- var __esm = (fn, res) => function __init() {
13
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
14
- };
15
- var __commonJS = (cb, mod) => function __require() {
16
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
- };
18
- var __copyProps = (to, from, except, desc) => {
19
- if (from && typeof from === "object" || typeof from === "function") {
20
- for (let key of __getOwnPropNames(from))
21
- if (!__hasOwnProp.call(to, key) && key !== except)
22
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
- }
24
- return to;
25
- };
26
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
- // If the importer is in node compatibility mode or this is not an ESM
28
- // file that has been converted to a CommonJS file using a Babel-
29
- // compatible transform (i.e. "__esModule" has not been set), then set
30
- // "default" to the CommonJS "module.exports" for node compatibility.
31
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
- mod
33
- ));
34
-
35
- // ../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__@swc+core@1.7.22_jiti@1.21.6__uxkr36v33irapmxvuadxell67a/node_modules/tsup/assets/esm_shims.js
36
- var init_esm_shims = __esm({
37
- "../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__@swc+core@1.7.22_jiti@1.21.6__uxkr36v33irapmxvuadxell67a/node_modules/tsup/assets/esm_shims.js"() {
38
- }
39
- });
40
-
41
- // src/components/index.ts
42
- init_esm_shims();
43
-
44
6
  // src/components/Operations.tsx
45
- init_esm_shims();
46
7
  function Operations({ name, operations }) {
47
8
  const operationsJSON = operations.reduce(
48
9
  (prev, acc) => {
@@ -66,12 +27,6 @@ function Operations({ name, operations }) {
66
27
  /* @__PURE__ */ jsx(File.Source, { name: "paths", isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsx(Const, { export: true, name: "paths", asConst: true, children: `{${transformers2.stringifyObject(pathsJSON)}}` }) })
67
28
  ] });
68
29
  }
69
-
70
- // src/components/Zod.tsx
71
- init_esm_shims();
72
-
73
- // src/parser/index.ts
74
- init_esm_shims();
75
30
  var zodKeywordMapper = {
76
31
  any: () => "z.any()",
77
32
  unknown: () => "z.unknown()",
@@ -362,6 +317,6 @@ function Zod({ name, typeName, tree, inferTypeName, mapper, coercion, keysToOmit
362
317
  ] });
363
318
  }
364
319
 
365
- export { Operations, Zod, __commonJS, __toESM, init_esm_shims };
366
- //# sourceMappingURL=chunk-LOZEOT4J.js.map
367
- //# sourceMappingURL=chunk-LOZEOT4J.js.map
320
+ export { Operations, Zod };
321
+ //# sourceMappingURL=chunk-KGKZCQKF.js.map
322
+ //# sourceMappingURL=chunk-KGKZCQKF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Operations.tsx","../src/parser/index.ts","../src/components/Zod.tsx"],"names":["transformers","value","isKeyword","schemaKeywords","jsxs","Fragment","jsx","File","Const"],"mappings":"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","file":"chunk-KGKZCQKF.js","sourcesContent":["import type { SchemaNames } from '@kubb/plugin-oas/hooks'\nimport { Const, File } from '@kubb/react'\n\nimport transformers from '@kubb/core/transformers'\nimport type { HttpMethod, Operation } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\n\ntype Props = {\n name: string\n operations: Array<{ operation: Operation; data: SchemaNames }>\n}\n\nexport function Operations({ name, operations }: Props): KubbNode {\n const operationsJSON = operations.reduce(\n (prev, acc) => {\n prev[`\"${acc.operation.getOperationId()}\"`] = acc.data\n\n return prev\n },\n {} as Record<string, unknown>,\n )\n\n const pathsJSON = operations.reduce(\n (prev, acc) => {\n prev[`\"${acc.operation.path}\"`] = {\n ...(prev[`\"${acc.operation.path}\"`] || ({} as Record<HttpMethod, string>)),\n [acc.operation.method]: `operations[\"${acc.operation.getOperationId()}\"]`,\n }\n\n return prev\n },\n {} as Record<string, Record<HttpMethod, string>>,\n )\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Const export name={name} asConst>\n {`{${transformers.stringifyObject(operationsJSON)}}`}\n </Const>\n </File.Source>\n <File.Source name={'paths'} isExportable isIndexable>\n <Const export name={'paths'} asConst>\n {`{${transformers.stringifyObject(pathsJSON)}}`}\n </Const>\n </File.Source>\n </>\n )\n}\n","import transformers, { createJSDocBlockText } from '@kubb/core/transformers'\nimport { type SchemaKeywordMapper, isKeyword, schemaKeywords } from '@kubb/plugin-oas'\n\nimport type { Schema, SchemaKeywordBase, SchemaMapper } from '@kubb/plugin-oas'\n\nconst zodKeywordMapper = {\n any: () => 'z.any()',\n unknown: () => 'z.unknown()',\n number: (coercion?: boolean, min?: number, max?: number) => {\n return [coercion ? 'z.coerce.number()' : 'z.number()', min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined]\n .filter(Boolean)\n .join('')\n },\n integer: (coercion?: boolean, min?: number, max?: number) => {\n return [\n coercion ? 'z.coerce.number().int()' : 'z.number().int()',\n min !== undefined ? `.min(${min})` : undefined,\n max !== undefined ? `.max(${max})` : undefined,\n ]\n .filter(Boolean)\n .join('')\n },\n object: (value?: string) => `z.object({${value}})`,\n string: (coercion?: boolean, min?: number, max?: number) => {\n return [coercion ? 'z.coerce.string()' : 'z.string()', min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined]\n .filter(Boolean)\n .join('')\n },\n boolean: () => 'z.boolean()',\n undefined: () => 'z.undefined()',\n nullable: () => '.nullable()',\n null: () => 'z.null()',\n nullish: () => '.nullish()',\n array: (items: string[] = [], min?: number, max?: number) => {\n return [`z.array(${items?.join('')})`, min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined]\n .filter(Boolean)\n .join('')\n },\n tuple: (items: string[] = []) => `z.tuple([${items?.join(', ')}])`,\n enum: (items: string[] = []) => `z.enum([${items?.join(', ')}])`,\n union: (items: string[] = []) => `z.union([${items?.join(', ')}])`,\n const: (value?: string | number) => `z.literal(${value ?? ''})`,\n /**\n * ISO 8601\n */\n datetime: (offset = false, local = false) => {\n if (offset) {\n return `z.string().datetime({ offset: ${offset} })`\n }\n\n if (local) {\n return `z.string().datetime({ local: ${local} })`\n }\n\n return 'z.string().datetime()'\n },\n /**\n * Type `'date'` Date\n * Type `'string'` ISO date format (YYYY-MM-DD)\n * @default ISO date format (YYYY-MM-DD)\n */\n date: (type: 'date' | 'string' = 'string', coercion?: boolean) => {\n if (type === 'string') {\n return 'z.string().date()'\n }\n\n if (coercion) {\n return 'z.coerce.date()'\n }\n\n return 'z.date()'\n },\n /**\n * Type `'date'` Date\n * Type `'string'` ISO time format (HH:mm:ss[.SSSSSS])\n * @default ISO time format (HH:mm:ss[.SSSSSS])\n */\n time: (type: 'date' | 'string' = 'string', coercion?: boolean) => {\n if (type === 'string') {\n return 'z.string().time()'\n }\n\n if (coercion) {\n return 'z.coerce.date()'\n }\n\n return 'z.date()'\n },\n uuid: () => '.uuid()',\n url: () => '.url()',\n strict: () => '.strict()',\n default: (value?: string | number | true) => `.default(${value ?? ''})`,\n and: (items: string[] = []) => items?.map((item) => `.and(${item})`).join(''),\n describe: (value = '') => `.describe(${value})`,\n min: (value?: number) => `.min(${value ?? ''})`,\n max: (value?: number) => `.max(${value ?? ''})`,\n optional: () => '.optional()',\n matches: (value = '') => `.regex(${value})`,\n email: () => '.email()',\n firstName: undefined,\n lastName: undefined,\n password: undefined,\n phone: undefined,\n readOnly: undefined,\n ref: (value?: string) => (value ? `z.lazy(() => ${value})` : undefined),\n blob: () => 'z.string()',\n deprecated: undefined,\n example: undefined,\n schema: undefined,\n catchall: (value?: string) => (value ? `.catchall(${value})` : undefined),\n name: undefined,\n} satisfies SchemaMapper<string | null | undefined>\n\n/**\n * @link based on https://github.com/cellular/oazapfts/blob/7ba226ebb15374e8483cc53e7532f1663179a22c/src/codegen/generate.ts#L398\n */\n\nexport function sort(items?: Schema[]): Schema[] {\n const order: string[] = [\n schemaKeywords.string,\n schemaKeywords.datetime,\n schemaKeywords.date,\n schemaKeywords.time,\n schemaKeywords.tuple,\n schemaKeywords.number,\n schemaKeywords.object,\n schemaKeywords.enum,\n schemaKeywords.url,\n schemaKeywords.email,\n schemaKeywords.firstName,\n schemaKeywords.lastName,\n schemaKeywords.password,\n schemaKeywords.matches,\n schemaKeywords.uuid,\n schemaKeywords.min,\n schemaKeywords.max,\n schemaKeywords.default,\n schemaKeywords.describe,\n schemaKeywords.optional,\n schemaKeywords.nullable,\n schemaKeywords.nullish,\n schemaKeywords.null,\n ]\n\n if (!items) {\n return []\n }\n\n return transformers.orderBy(items, [(v) => order.indexOf(v.keyword)], ['asc'])\n}\n\ntype ParserOptions = {\n name: string\n typeName?: string\n description?: string\n\n keysToOmit?: string[]\n mapper?: Record<string, string>\n coercion?: boolean\n}\n\nexport function parse(parent: Schema | undefined, current: Schema, options: ParserOptions): string | undefined {\n const value = zodKeywordMapper[current.keyword as keyof typeof zodKeywordMapper]\n\n if (!value) {\n return undefined\n }\n\n if (isKeyword(current, schemaKeywords.union)) {\n // zod union type needs at least 2 items\n if (Array.isArray(current.args) && current.args.length === 1) {\n return parse(parent, current.args[0] as Schema, options)\n }\n if (Array.isArray(current.args) && !current.args.length) {\n return ''\n }\n\n return zodKeywordMapper.union(\n sort(current.args)\n .map((schema) => parse(current, schema, options))\n .filter(Boolean),\n )\n }\n\n if (isKeyword(current, schemaKeywords.and)) {\n const items = sort(current.args)\n .filter((schema: Schema) => {\n return ![schemaKeywords.optional, schemaKeywords.describe].includes(schema.keyword as typeof schemaKeywords.describe)\n })\n .map((schema: Schema) => parse(current, schema, options))\n .filter(Boolean)\n\n return `${items.slice(0, 1)}${zodKeywordMapper.and(items.slice(1))}`\n }\n\n if (isKeyword(current, schemaKeywords.array)) {\n return zodKeywordMapper.array(\n sort(current.args.items)\n .map((schemas) => parse(current, schemas, options))\n .filter(Boolean),\n current.args.min,\n current.args.max,\n )\n }\n\n if (isKeyword(current, schemaKeywords.enum)) {\n if (current.args.asConst) {\n return zodKeywordMapper.union(\n current.args.items\n .map((schema) => {\n return parse(\n current,\n {\n keyword: schemaKeywords.const,\n args: schema,\n },\n options,\n )\n })\n .filter(Boolean),\n )\n }\n\n return zodKeywordMapper.enum(\n current.args.items.map((schema) => {\n if (schema.format === 'number') {\n return transformers.stringify(schema.value)\n }\n return transformers.stringify(schema.value)\n }),\n )\n }\n\n if (isKeyword(current, schemaKeywords.ref)) {\n return zodKeywordMapper.ref(current.args?.name)\n }\n\n if (isKeyword(current, schemaKeywords.object)) {\n const properties = Object.entries(current.args?.properties || {})\n .filter((item) => {\n const schema = item[1]\n return schema && typeof schema.map === 'function'\n })\n .map(([name, schemas]) => {\n const nameSchema = schemas.find((schema) => schema.keyword === schemaKeywords.name) as SchemaKeywordMapper['name']\n const mappedName = nameSchema?.args || name\n\n // custom mapper(pluginOptions)\n if (options.mapper?.[mappedName]) {\n return `\"${name}\": ${options.mapper?.[mappedName]}`\n }\n\n return `\"${name}\": ${sort(schemas)\n .map((schema, array) => {\n return parse(current, schema, options)\n })\n .filter(Boolean)\n .join('')}`\n })\n .join(',')\n\n const additionalProperties = current.args?.additionalProperties?.length\n ? current.args.additionalProperties\n .map((schema) => parse(current, schema, options))\n .filter(Boolean)\n .at(0)\n : undefined\n\n const text = [\n zodKeywordMapper.object(properties),\n current.args?.strict ? zodKeywordMapper.strict() : undefined,\n additionalProperties ? zodKeywordMapper.catchall(additionalProperties) : undefined,\n ].filter(Boolean)\n\n return text.join('')\n }\n\n if (isKeyword(current, schemaKeywords.tuple)) {\n return zodKeywordMapper.tuple(\n sort(current.args.items)\n .map((schema) => parse(current, schema, options))\n .filter(Boolean),\n )\n }\n\n if (isKeyword(current, schemaKeywords.const)) {\n if (current.args.format === 'number' && current.args.value !== undefined) {\n return zodKeywordMapper.const(Number.parseInt(current.args.value?.toString()))\n }\n return zodKeywordMapper.const(transformers.stringify(current.args.value))\n }\n\n if (isKeyword(current, schemaKeywords.matches)) {\n if (current.args) {\n return zodKeywordMapper.matches(transformers.toRegExpString(current.args))\n }\n }\n\n if (isKeyword(current, schemaKeywords.default)) {\n if (current.args) {\n return zodKeywordMapper.default(current.args)\n }\n }\n\n if (isKeyword(current, schemaKeywords.describe)) {\n if (current.args) {\n return zodKeywordMapper.describe(transformers.stringify(current.args.toString()))\n }\n }\n\n if (isKeyword(current, schemaKeywords.string)) {\n return zodKeywordMapper.string(options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.number)) {\n return zodKeywordMapper.number(options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.integer)) {\n return zodKeywordMapper.integer(options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.min)) {\n return zodKeywordMapper.min(current.args)\n }\n if (isKeyword(current, schemaKeywords.max)) {\n return zodKeywordMapper.max(current.args)\n }\n\n if (isKeyword(current, schemaKeywords.datetime)) {\n return zodKeywordMapper.datetime(current.args.offset, current.args.local)\n }\n\n if (isKeyword(current, schemaKeywords.date)) {\n return zodKeywordMapper.date(current.args.type, options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.time)) {\n return zodKeywordMapper.time(current.args.type, options.coercion)\n }\n\n if (current.keyword in zodKeywordMapper && 'args' in current) {\n const value = zodKeywordMapper[current.keyword as keyof typeof zodKeywordMapper] as (typeof zodKeywordMapper)['const']\n\n return value((current as SchemaKeywordBase<unknown>).args as any)\n }\n\n if (current.keyword in zodKeywordMapper) {\n return value()\n }\n\n return undefined\n}\n","import transformers from '@kubb/core/transformers'\nimport { type Schema, schemaKeywords } from '@kubb/plugin-oas'\nimport { isKeyword } from '@kubb/plugin-oas'\nimport { Const, File, Type } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport * as parserZod from '../parser/index.ts'\nimport type { PluginZod } from '../types.ts'\n\ntype Props = {\n name: string\n typeName?: string\n inferTypeName?: string\n tree: Array<Schema>\n description?: string\n coercion: PluginZod['resolvedOptions']['coercion']\n mapper: PluginZod['resolvedOptions']['mapper']\n keysToOmit?: string[]\n}\n\nexport function Zod({ name, typeName, tree, inferTypeName, mapper, coercion, keysToOmit, description }: Props): KubbNode {\n const hasTuple = tree.some((item) => isKeyword(item, schemaKeywords.tuple))\n\n const output = parserZod\n .sort(tree)\n .filter((item) => {\n if (hasTuple && (isKeyword(item, schemaKeywords.min) || isKeyword(item, schemaKeywords.max))) {\n return false\n }\n\n return true\n })\n .map((item) => parserZod.parse(undefined, item, { name, keysToOmit, typeName: typeName, description, mapper, coercion }))\n .filter(Boolean)\n .join('')\n\n const suffix = output.endsWith('.nullable()') ? '.unwrap().and' : '.and'\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Const\n export\n name={name}\n JSDoc={{\n comments: [description ? `@description ${transformers.jsStringEscape(description)}` : undefined].filter(Boolean),\n }}\n >\n {[\n output,\n keysToOmit?.length ? `${suffix}(z.object({ ${keysToOmit.map((key) => `${key}: z.never()`).join(',')} }))` : undefined,\n typeName ? ` as z.ZodType<${typeName}>` : '',\n ]\n .filter(Boolean)\n .join('') || ''}\n </Const>\n </File.Source>\n {inferTypeName && (\n <File.Source name={inferTypeName} isExportable isIndexable isTypeOnly>\n <Type export name={inferTypeName}>\n {`z.infer<typeof ${name}>`}\n </Type>\n </File.Source>\n )}\n </>\n )\n}\n"]}
@@ -9,46 +9,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
10
  var transformers2__default = /*#__PURE__*/_interopDefault(transformers2);
11
11
 
12
- var __create = Object.create;
13
- var __defProp = Object.defineProperty;
14
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
15
- var __getOwnPropNames = Object.getOwnPropertyNames;
16
- var __getProtoOf = Object.getPrototypeOf;
17
- var __hasOwnProp = Object.prototype.hasOwnProperty;
18
- var __esm = (fn, res) => function __init() {
19
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
20
- };
21
- var __commonJS = (cb, mod) => function __require() {
22
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
23
- };
24
- var __copyProps = (to, from, except, desc) => {
25
- if (from && typeof from === "object" || typeof from === "function") {
26
- for (let key of __getOwnPropNames(from))
27
- if (!__hasOwnProp.call(to, key) && key !== except)
28
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
29
- }
30
- return to;
31
- };
32
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
33
- // If the importer is in node compatibility mode or this is not an ESM
34
- // file that has been converted to a CommonJS file using a Babel-
35
- // compatible transform (i.e. "__esModule" has not been set), then set
36
- // "default" to the CommonJS "module.exports" for node compatibility.
37
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
38
- mod
39
- ));
40
-
41
- // ../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__@swc+core@1.7.22_jiti@1.21.6__uxkr36v33irapmxvuadxell67a/node_modules/tsup/assets/cjs_shims.js
42
- var init_cjs_shims = __esm({
43
- "../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__@swc+core@1.7.22_jiti@1.21.6__uxkr36v33irapmxvuadxell67a/node_modules/tsup/assets/cjs_shims.js"() {
44
- }
45
- });
46
-
47
- // src/components/index.ts
48
- init_cjs_shims();
49
-
50
12
  // src/components/Operations.tsx
51
- init_cjs_shims();
52
13
  function Operations({ name, operations }) {
53
14
  const operationsJSON = operations.reduce(
54
15
  (prev, acc) => {
@@ -72,12 +33,6 @@ function Operations({ name, operations }) {
72
33
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name: "paths", isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Const, { export: true, name: "paths", asConst: true, children: `{${transformers2__default.default.stringifyObject(pathsJSON)}}` }) })
73
34
  ] });
74
35
  }
75
-
76
- // src/components/Zod.tsx
77
- init_cjs_shims();
78
-
79
- // src/parser/index.ts
80
- init_cjs_shims();
81
36
  var zodKeywordMapper = {
82
37
  any: () => "z.any()",
83
38
  unknown: () => "z.unknown()",
@@ -370,8 +325,5 @@ function Zod({ name, typeName, tree, inferTypeName, mapper, coercion, keysToOmit
370
325
 
371
326
  exports.Operations = Operations;
372
327
  exports.Zod = Zod;
373
- exports.__commonJS = __commonJS;
374
- exports.__toESM = __toESM;
375
- exports.init_cjs_shims = init_cjs_shims;
376
- //# sourceMappingURL=chunk-IFCC7VQX.cjs.map
377
- //# sourceMappingURL=chunk-IFCC7VQX.cjs.map
328
+ //# sourceMappingURL=chunk-RPZWETTK.cjs.map
329
+ //# sourceMappingURL=chunk-RPZWETTK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Operations.tsx","../src/parser/index.ts","../src/components/Zod.tsx"],"names":["jsxs","Fragment","jsx","File","Const","transformers","schemaKeywords","isKeyword","value","Type"],"mappings":"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","file":"chunk-RPZWETTK.cjs","sourcesContent":["import type { SchemaNames } from '@kubb/plugin-oas/hooks'\nimport { Const, File } from '@kubb/react'\n\nimport transformers from '@kubb/core/transformers'\nimport type { HttpMethod, Operation } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\n\ntype Props = {\n name: string\n operations: Array<{ operation: Operation; data: SchemaNames }>\n}\n\nexport function Operations({ name, operations }: Props): KubbNode {\n const operationsJSON = operations.reduce(\n (prev, acc) => {\n prev[`\"${acc.operation.getOperationId()}\"`] = acc.data\n\n return prev\n },\n {} as Record<string, unknown>,\n )\n\n const pathsJSON = operations.reduce(\n (prev, acc) => {\n prev[`\"${acc.operation.path}\"`] = {\n ...(prev[`\"${acc.operation.path}\"`] || ({} as Record<HttpMethod, string>)),\n [acc.operation.method]: `operations[\"${acc.operation.getOperationId()}\"]`,\n }\n\n return prev\n },\n {} as Record<string, Record<HttpMethod, string>>,\n )\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Const export name={name} asConst>\n {`{${transformers.stringifyObject(operationsJSON)}}`}\n </Const>\n </File.Source>\n <File.Source name={'paths'} isExportable isIndexable>\n <Const export name={'paths'} asConst>\n {`{${transformers.stringifyObject(pathsJSON)}}`}\n </Const>\n </File.Source>\n </>\n )\n}\n","import transformers, { createJSDocBlockText } from '@kubb/core/transformers'\nimport { type SchemaKeywordMapper, isKeyword, schemaKeywords } from '@kubb/plugin-oas'\n\nimport type { Schema, SchemaKeywordBase, SchemaMapper } from '@kubb/plugin-oas'\n\nconst zodKeywordMapper = {\n any: () => 'z.any()',\n unknown: () => 'z.unknown()',\n number: (coercion?: boolean, min?: number, max?: number) => {\n return [coercion ? 'z.coerce.number()' : 'z.number()', min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined]\n .filter(Boolean)\n .join('')\n },\n integer: (coercion?: boolean, min?: number, max?: number) => {\n return [\n coercion ? 'z.coerce.number().int()' : 'z.number().int()',\n min !== undefined ? `.min(${min})` : undefined,\n max !== undefined ? `.max(${max})` : undefined,\n ]\n .filter(Boolean)\n .join('')\n },\n object: (value?: string) => `z.object({${value}})`,\n string: (coercion?: boolean, min?: number, max?: number) => {\n return [coercion ? 'z.coerce.string()' : 'z.string()', min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined]\n .filter(Boolean)\n .join('')\n },\n boolean: () => 'z.boolean()',\n undefined: () => 'z.undefined()',\n nullable: () => '.nullable()',\n null: () => 'z.null()',\n nullish: () => '.nullish()',\n array: (items: string[] = [], min?: number, max?: number) => {\n return [`z.array(${items?.join('')})`, min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined]\n .filter(Boolean)\n .join('')\n },\n tuple: (items: string[] = []) => `z.tuple([${items?.join(', ')}])`,\n enum: (items: string[] = []) => `z.enum([${items?.join(', ')}])`,\n union: (items: string[] = []) => `z.union([${items?.join(', ')}])`,\n const: (value?: string | number) => `z.literal(${value ?? ''})`,\n /**\n * ISO 8601\n */\n datetime: (offset = false, local = false) => {\n if (offset) {\n return `z.string().datetime({ offset: ${offset} })`\n }\n\n if (local) {\n return `z.string().datetime({ local: ${local} })`\n }\n\n return 'z.string().datetime()'\n },\n /**\n * Type `'date'` Date\n * Type `'string'` ISO date format (YYYY-MM-DD)\n * @default ISO date format (YYYY-MM-DD)\n */\n date: (type: 'date' | 'string' = 'string', coercion?: boolean) => {\n if (type === 'string') {\n return 'z.string().date()'\n }\n\n if (coercion) {\n return 'z.coerce.date()'\n }\n\n return 'z.date()'\n },\n /**\n * Type `'date'` Date\n * Type `'string'` ISO time format (HH:mm:ss[.SSSSSS])\n * @default ISO time format (HH:mm:ss[.SSSSSS])\n */\n time: (type: 'date' | 'string' = 'string', coercion?: boolean) => {\n if (type === 'string') {\n return 'z.string().time()'\n }\n\n if (coercion) {\n return 'z.coerce.date()'\n }\n\n return 'z.date()'\n },\n uuid: () => '.uuid()',\n url: () => '.url()',\n strict: () => '.strict()',\n default: (value?: string | number | true) => `.default(${value ?? ''})`,\n and: (items: string[] = []) => items?.map((item) => `.and(${item})`).join(''),\n describe: (value = '') => `.describe(${value})`,\n min: (value?: number) => `.min(${value ?? ''})`,\n max: (value?: number) => `.max(${value ?? ''})`,\n optional: () => '.optional()',\n matches: (value = '') => `.regex(${value})`,\n email: () => '.email()',\n firstName: undefined,\n lastName: undefined,\n password: undefined,\n phone: undefined,\n readOnly: undefined,\n ref: (value?: string) => (value ? `z.lazy(() => ${value})` : undefined),\n blob: () => 'z.string()',\n deprecated: undefined,\n example: undefined,\n schema: undefined,\n catchall: (value?: string) => (value ? `.catchall(${value})` : undefined),\n name: undefined,\n} satisfies SchemaMapper<string | null | undefined>\n\n/**\n * @link based on https://github.com/cellular/oazapfts/blob/7ba226ebb15374e8483cc53e7532f1663179a22c/src/codegen/generate.ts#L398\n */\n\nexport function sort(items?: Schema[]): Schema[] {\n const order: string[] = [\n schemaKeywords.string,\n schemaKeywords.datetime,\n schemaKeywords.date,\n schemaKeywords.time,\n schemaKeywords.tuple,\n schemaKeywords.number,\n schemaKeywords.object,\n schemaKeywords.enum,\n schemaKeywords.url,\n schemaKeywords.email,\n schemaKeywords.firstName,\n schemaKeywords.lastName,\n schemaKeywords.password,\n schemaKeywords.matches,\n schemaKeywords.uuid,\n schemaKeywords.min,\n schemaKeywords.max,\n schemaKeywords.default,\n schemaKeywords.describe,\n schemaKeywords.optional,\n schemaKeywords.nullable,\n schemaKeywords.nullish,\n schemaKeywords.null,\n ]\n\n if (!items) {\n return []\n }\n\n return transformers.orderBy(items, [(v) => order.indexOf(v.keyword)], ['asc'])\n}\n\ntype ParserOptions = {\n name: string\n typeName?: string\n description?: string\n\n keysToOmit?: string[]\n mapper?: Record<string, string>\n coercion?: boolean\n}\n\nexport function parse(parent: Schema | undefined, current: Schema, options: ParserOptions): string | undefined {\n const value = zodKeywordMapper[current.keyword as keyof typeof zodKeywordMapper]\n\n if (!value) {\n return undefined\n }\n\n if (isKeyword(current, schemaKeywords.union)) {\n // zod union type needs at least 2 items\n if (Array.isArray(current.args) && current.args.length === 1) {\n return parse(parent, current.args[0] as Schema, options)\n }\n if (Array.isArray(current.args) && !current.args.length) {\n return ''\n }\n\n return zodKeywordMapper.union(\n sort(current.args)\n .map((schema) => parse(current, schema, options))\n .filter(Boolean),\n )\n }\n\n if (isKeyword(current, schemaKeywords.and)) {\n const items = sort(current.args)\n .filter((schema: Schema) => {\n return ![schemaKeywords.optional, schemaKeywords.describe].includes(schema.keyword as typeof schemaKeywords.describe)\n })\n .map((schema: Schema) => parse(current, schema, options))\n .filter(Boolean)\n\n return `${items.slice(0, 1)}${zodKeywordMapper.and(items.slice(1))}`\n }\n\n if (isKeyword(current, schemaKeywords.array)) {\n return zodKeywordMapper.array(\n sort(current.args.items)\n .map((schemas) => parse(current, schemas, options))\n .filter(Boolean),\n current.args.min,\n current.args.max,\n )\n }\n\n if (isKeyword(current, schemaKeywords.enum)) {\n if (current.args.asConst) {\n return zodKeywordMapper.union(\n current.args.items\n .map((schema) => {\n return parse(\n current,\n {\n keyword: schemaKeywords.const,\n args: schema,\n },\n options,\n )\n })\n .filter(Boolean),\n )\n }\n\n return zodKeywordMapper.enum(\n current.args.items.map((schema) => {\n if (schema.format === 'number') {\n return transformers.stringify(schema.value)\n }\n return transformers.stringify(schema.value)\n }),\n )\n }\n\n if (isKeyword(current, schemaKeywords.ref)) {\n return zodKeywordMapper.ref(current.args?.name)\n }\n\n if (isKeyword(current, schemaKeywords.object)) {\n const properties = Object.entries(current.args?.properties || {})\n .filter((item) => {\n const schema = item[1]\n return schema && typeof schema.map === 'function'\n })\n .map(([name, schemas]) => {\n const nameSchema = schemas.find((schema) => schema.keyword === schemaKeywords.name) as SchemaKeywordMapper['name']\n const mappedName = nameSchema?.args || name\n\n // custom mapper(pluginOptions)\n if (options.mapper?.[mappedName]) {\n return `\"${name}\": ${options.mapper?.[mappedName]}`\n }\n\n return `\"${name}\": ${sort(schemas)\n .map((schema, array) => {\n return parse(current, schema, options)\n })\n .filter(Boolean)\n .join('')}`\n })\n .join(',')\n\n const additionalProperties = current.args?.additionalProperties?.length\n ? current.args.additionalProperties\n .map((schema) => parse(current, schema, options))\n .filter(Boolean)\n .at(0)\n : undefined\n\n const text = [\n zodKeywordMapper.object(properties),\n current.args?.strict ? zodKeywordMapper.strict() : undefined,\n additionalProperties ? zodKeywordMapper.catchall(additionalProperties) : undefined,\n ].filter(Boolean)\n\n return text.join('')\n }\n\n if (isKeyword(current, schemaKeywords.tuple)) {\n return zodKeywordMapper.tuple(\n sort(current.args.items)\n .map((schema) => parse(current, schema, options))\n .filter(Boolean),\n )\n }\n\n if (isKeyword(current, schemaKeywords.const)) {\n if (current.args.format === 'number' && current.args.value !== undefined) {\n return zodKeywordMapper.const(Number.parseInt(current.args.value?.toString()))\n }\n return zodKeywordMapper.const(transformers.stringify(current.args.value))\n }\n\n if (isKeyword(current, schemaKeywords.matches)) {\n if (current.args) {\n return zodKeywordMapper.matches(transformers.toRegExpString(current.args))\n }\n }\n\n if (isKeyword(current, schemaKeywords.default)) {\n if (current.args) {\n return zodKeywordMapper.default(current.args)\n }\n }\n\n if (isKeyword(current, schemaKeywords.describe)) {\n if (current.args) {\n return zodKeywordMapper.describe(transformers.stringify(current.args.toString()))\n }\n }\n\n if (isKeyword(current, schemaKeywords.string)) {\n return zodKeywordMapper.string(options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.number)) {\n return zodKeywordMapper.number(options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.integer)) {\n return zodKeywordMapper.integer(options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.min)) {\n return zodKeywordMapper.min(current.args)\n }\n if (isKeyword(current, schemaKeywords.max)) {\n return zodKeywordMapper.max(current.args)\n }\n\n if (isKeyword(current, schemaKeywords.datetime)) {\n return zodKeywordMapper.datetime(current.args.offset, current.args.local)\n }\n\n if (isKeyword(current, schemaKeywords.date)) {\n return zodKeywordMapper.date(current.args.type, options.coercion)\n }\n\n if (isKeyword(current, schemaKeywords.time)) {\n return zodKeywordMapper.time(current.args.type, options.coercion)\n }\n\n if (current.keyword in zodKeywordMapper && 'args' in current) {\n const value = zodKeywordMapper[current.keyword as keyof typeof zodKeywordMapper] as (typeof zodKeywordMapper)['const']\n\n return value((current as SchemaKeywordBase<unknown>).args as any)\n }\n\n if (current.keyword in zodKeywordMapper) {\n return value()\n }\n\n return undefined\n}\n","import transformers from '@kubb/core/transformers'\nimport { type Schema, schemaKeywords } from '@kubb/plugin-oas'\nimport { isKeyword } from '@kubb/plugin-oas'\nimport { Const, File, Type } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport * as parserZod from '../parser/index.ts'\nimport type { PluginZod } from '../types.ts'\n\ntype Props = {\n name: string\n typeName?: string\n inferTypeName?: string\n tree: Array<Schema>\n description?: string\n coercion: PluginZod['resolvedOptions']['coercion']\n mapper: PluginZod['resolvedOptions']['mapper']\n keysToOmit?: string[]\n}\n\nexport function Zod({ name, typeName, tree, inferTypeName, mapper, coercion, keysToOmit, description }: Props): KubbNode {\n const hasTuple = tree.some((item) => isKeyword(item, schemaKeywords.tuple))\n\n const output = parserZod\n .sort(tree)\n .filter((item) => {\n if (hasTuple && (isKeyword(item, schemaKeywords.min) || isKeyword(item, schemaKeywords.max))) {\n return false\n }\n\n return true\n })\n .map((item) => parserZod.parse(undefined, item, { name, keysToOmit, typeName: typeName, description, mapper, coercion }))\n .filter(Boolean)\n .join('')\n\n const suffix = output.endsWith('.nullable()') ? '.unwrap().and' : '.and'\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Const\n export\n name={name}\n JSDoc={{\n comments: [description ? `@description ${transformers.jsStringEscape(description)}` : undefined].filter(Boolean),\n }}\n >\n {[\n output,\n keysToOmit?.length ? `${suffix}(z.object({ ${keysToOmit.map((key) => `${key}: z.never()`).join(',')} }))` : undefined,\n typeName ? ` as z.ZodType<${typeName}>` : '',\n ]\n .filter(Boolean)\n .join('') || ''}\n </Const>\n </File.Source>\n {inferTypeName && (\n <File.Source name={inferTypeName} isExportable isIndexable isTypeOnly>\n <Type export name={inferTypeName}>\n {`z.infer<typeof ${name}>`}\n </Type>\n </File.Source>\n )}\n </>\n )\n}\n"]}