@kubb/plugin-zod 3.6.0 → 3.6.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.
@@ -36,14 +36,15 @@ function Operations({ name, operations }) {
36
36
  var zodKeywordMapper = {
37
37
  any: () => "z.any()",
38
38
  unknown: () => "z.unknown()",
39
+ void: () => "z.void()",
39
40
  number: (coercion, min, max) => {
40
- return [coercion ? "z.coerce.number()" : "z.number()", min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined].filter(Boolean).join("");
41
+ return [coercion ? "z.coerce.number()" : "z.number()", min !== void 0 ? `.min(${min})` : void 0, max !== void 0 ? `.max(${max})` : void 0].filter(Boolean).join("");
41
42
  },
42
43
  integer: (coercion, min, max) => {
43
44
  return [
44
45
  coercion ? "z.coerce.number().int()" : "z.number().int()",
45
- min !== undefined ? `.min(${min})` : undefined,
46
- max !== undefined ? `.max(${max})` : undefined
46
+ min !== void 0 ? `.min(${min})` : void 0,
47
+ max !== void 0 ? `.max(${max})` : void 0
47
48
  ].filter(Boolean).join("");
48
49
  },
49
50
  object: (value) => {
@@ -52,7 +53,7 @@ var zodKeywordMapper = {
52
53
  })`;
53
54
  },
54
55
  string: (coercion, min, max) => {
55
- return [coercion ? "z.coerce.string()" : "z.string()", min !== undefined ? `.min(${min})` : undefined, max !== undefined ? `.max(${max})` : undefined].filter(Boolean).join("");
56
+ return [coercion ? "z.coerce.string()" : "z.string()", min !== void 0 ? `.min(${min})` : void 0, max !== void 0 ? `.max(${max})` : void 0].filter(Boolean).join("");
56
57
  },
57
58
  boolean: () => "z.boolean()",
58
59
  undefined: () => "z.undefined()",
@@ -62,9 +63,9 @@ var zodKeywordMapper = {
62
63
  array: (items = [], min, max, unique) => {
63
64
  return [
64
65
  `z.array(${items?.join("")})`,
65
- min !== undefined ? `.min(${min})` : undefined,
66
- max !== undefined ? `.max(${max})` : undefined,
67
- unique ? `.refine(items => new Set(items).size === items.length, { message: "Array entries must be unique" })` : undefined
66
+ min !== void 0 ? `.min(${min})` : void 0,
67
+ max !== void 0 ? `.max(${max})` : void 0,
68
+ unique ? `.refine(items => new Set(items).size === items.length, { message: "Array entries must be unique" })` : void 0
68
69
  ].filter(Boolean).join("");
69
70
  },
70
71
  tuple: (items = []) => `z.tuple([${items?.join(", ")}])`,
@@ -127,24 +128,24 @@ var zodKeywordMapper = {
127
128
  optional: () => ".optional()",
128
129
  matches: (value = "", coercion) => coercion ? `z.coerce.string().regex(${value})` : `z.string().regex(${value})`,
129
130
  email: (coercion) => coercion ? "z.coerce.string().email()" : "z.string().email()",
130
- firstName: undefined,
131
- lastName: undefined,
132
- password: undefined,
133
- phone: undefined,
134
- readOnly: undefined,
135
- writeOnly: undefined,
131
+ firstName: void 0,
132
+ lastName: void 0,
133
+ password: void 0,
134
+ phone: void 0,
135
+ readOnly: void 0,
136
+ writeOnly: void 0,
136
137
  ref: (value) => {
137
138
  if (!value) {
138
- return undefined;
139
+ return void 0;
139
140
  }
140
141
  return `z.lazy(() => ${value})`;
141
142
  },
142
143
  blob: () => "z.instanceof(File)",
143
- deprecated: undefined,
144
- example: undefined,
145
- schema: undefined,
146
- catchall: (value) => value ? `.catchall(${value})` : undefined,
147
- name: undefined
144
+ deprecated: void 0,
145
+ example: void 0,
146
+ schema: void 0,
147
+ catchall: (value) => value ? `.catchall(${value})` : void 0,
148
+ name: void 0
148
149
  };
149
150
  function sort(items) {
150
151
  const order = [
@@ -178,7 +179,7 @@ function sort(items) {
178
179
  return transformers2__default.default.orderBy(items, [(v) => order.indexOf(v.keyword)], ["asc"]);
179
180
  }
180
181
  var shouldCoerce = (coercion, type) => {
181
- if (coercion === undefined) {
182
+ if (coercion === void 0) {
182
183
  return false;
183
184
  }
184
185
  if (typeof coercion === "boolean") {
@@ -189,7 +190,7 @@ var shouldCoerce = (coercion, type) => {
189
190
  function parse({ parent, current, siblings }, options) {
190
191
  const value = zodKeywordMapper[current.keyword];
191
192
  if (!value) {
192
- return undefined;
193
+ return void 0;
193
194
  }
194
195
  if (pluginOas.isKeyword(current, pluginOas.schemaKeywords.union)) {
195
196
  if (Array.isArray(current.args) && current.args.length === 1) {
@@ -262,11 +263,11 @@ function parse({ parent, current, siblings }, options) {
262
263
  const baseSchemaOutput = sort(schemas).map((schema) => parse({ parent: current, current: schema, siblings: schemas }, options)).filter(Boolean).join("");
263
264
  return `"${name}": ${options.wrapOutput ? options.wrapOutput({ output: baseSchemaOutput, schema: options.rawSchema?.properties?.[name] }) || baseSchemaOutput : baseSchemaOutput}`;
264
265
  }).join(",\n");
265
- const additionalProperties = current.args?.additionalProperties?.length ? current.args.additionalProperties.map((schema, _index, siblings2) => parse({ parent: current, current: schema, siblings: siblings2 }, options)).filter(Boolean).join("") : undefined;
266
+ const additionalProperties = current.args?.additionalProperties?.length ? current.args.additionalProperties.map((schema, _index, siblings2) => parse({ parent: current, current: schema, siblings: siblings2 }, options)).filter(Boolean).join("") : void 0;
266
267
  const text = [
267
268
  zodKeywordMapper.object(properties),
268
- current.args?.strict ? zodKeywordMapper.strict() : undefined,
269
- additionalProperties ? zodKeywordMapper.catchall(additionalProperties) : undefined
269
+ current.args?.strict ? zodKeywordMapper.strict() : void 0,
270
+ additionalProperties ? zodKeywordMapper.catchall(additionalProperties) : void 0
270
271
  ].filter(Boolean);
271
272
  return text.join("");
272
273
  }
@@ -276,10 +277,10 @@ function parse({ parent, current, siblings }, options) {
276
277
  );
277
278
  }
278
279
  if (pluginOas.isKeyword(current, pluginOas.schemaKeywords.const)) {
279
- if (current.args.format === "number" && current.args.value !== undefined) {
280
+ if (current.args.format === "number" && current.args.value !== void 0) {
280
281
  return zodKeywordMapper.const(Number.parseInt(current.args.value?.toString()));
281
282
  }
282
- if (current.args.format === "boolean" && current.args.value !== undefined) {
283
+ if (current.args.format === "boolean" && current.args.value !== void 0) {
283
284
  return zodKeywordMapper.const(current.args.value);
284
285
  }
285
286
  return zodKeywordMapper.const(transformers2__default.default.stringify(current.args.value));
@@ -343,7 +344,7 @@ function parse({ parent, current, siblings }, options) {
343
344
  if (current.keyword in zodKeywordMapper) {
344
345
  return value();
345
346
  }
346
- return undefined;
347
+ return void 0;
347
348
  }
348
349
  function Zod({ name, typeName, tree, rawSchema, inferTypeName, mapper, coercion, keysToOmit, description, wrapOutput }) {
349
350
  const hasTuple = tree.some((item) => pluginOas.isKeyword(item, pluginOas.schemaKeywords.tuple));
@@ -353,10 +354,10 @@ function Zod({ name, typeName, tree, rawSchema, inferTypeName, mapper, coercion,
353
354
  }
354
355
  return true;
355
356
  }).map(
356
- (schema, _index, siblings) => parse({ parent: undefined, current: schema, siblings }, { name, keysToOmit, typeName, description, mapper, coercion, wrapOutput, rawSchema })
357
+ (schema, _index, siblings) => parse({ parent: void 0, current: schema, siblings }, { name, keysToOmit, typeName, description, mapper, coercion, wrapOutput, rawSchema })
357
358
  ).filter(Boolean).join("");
358
359
  const suffix = output.endsWith(".nullable()") ? ".unwrap().and" : ".and";
359
- const baseSchemaOutput = [output, keysToOmit?.length ? `${suffix}(z.object({ ${keysToOmit.map((key) => `${key}: z.never()`).join(",")} }))` : undefined].filter(Boolean).join("") || "z.undefined()";
360
+ const baseSchemaOutput = [output, keysToOmit?.length ? `${suffix}(z.object({ ${keysToOmit.map((key) => `${key}: z.never()`).join(",")} }))` : void 0].filter(Boolean).join("") || "z.undefined()";
360
361
  const wrappedSchemaOutput = wrapOutput ? wrapOutput({ output: baseSchemaOutput, schema: rawSchema }) || baseSchemaOutput : baseSchemaOutput;
361
362
  const finalOutput = typeName ? `${wrappedSchemaOutput} as unknown as ToZod<${typeName}>` : wrappedSchemaOutput;
362
363
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -366,7 +367,7 @@ function Zod({ name, typeName, tree, rawSchema, inferTypeName, mapper, coercion,
366
367
  export: true,
367
368
  name,
368
369
  JSDoc: {
369
- comments: [description ? `@description ${transformers2__default.default.jsStringEscape(description)}` : undefined].filter(Boolean)
370
+ comments: [description ? `@description ${transformers2__default.default.jsStringEscape(description)}` : void 0].filter(Boolean)
370
371
  },
371
372
  children: finalOutput
372
373
  }
@@ -380,5 +381,5 @@ function Zod({ name, typeName, tree, rawSchema, inferTypeName, mapper, coercion,
380
381
 
381
382
  exports.Operations = Operations;
382
383
  exports.Zod = Zod;
383
- //# sourceMappingURL=chunk-UXPJE55C.cjs.map
384
- //# sourceMappingURL=chunk-UXPJE55C.cjs.map
384
+ //# sourceMappingURL=chunk-V3CWU5YT.cjs.map
385
+ //# sourceMappingURL=chunk-V3CWU5YT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Operations.tsx","../src/parser.ts","../src/components/Zod.tsx"],"names":["jsxs","Fragment","jsx","File","Const","transformers","schemaKeywords","isKeyword","siblings","value","Type"],"mappings":"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","file":"chunk-V3CWU5YT.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'\n\ntype Props = {\n name: string\n operations: Array<{ operation: Operation; data: SchemaNames }>\n}\n\nexport function Operations({ name, operations }: Props) {\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 from '@kubb/core/transformers'\nimport type { SchemaObject } from '@kubb/oas'\nimport { type SchemaKeywordMapper, type SchemaTree, 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 void: () => 'z.void()',\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) => {\n return `z.object({\n ${value}\n })`\n },\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, unique?: boolean) => {\n return [\n `z.array(${items?.join('')})`,\n min !== undefined ? `.min(${min})` : undefined,\n max !== undefined ? `.max(${max})` : undefined,\n unique ? `.refine(items => new Set(items).size === items.length, { message: \"Array entries must be unique\" })` : undefined,\n ]\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 | boolean) => `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: (coercion?: boolean) => (coercion ? 'z.coerce.string().uuid()' : 'z.string().uuid()'),\n url: (coercion?: boolean) => (coercion ? 'z.coerce.string().url()' : 'z.string().url()'),\n strict: () => '.strict()',\n default: (value?: string | number | true | object) => {\n if (typeof value === 'object') {\n return '.default({})'\n }\n return `.default(${value ?? ''})`\n },\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 = '', coercion?: boolean) => (coercion ? `z.coerce.string().regex(${value})` : `z.string().regex(${value})`),\n email: (coercion?: boolean) => (coercion ? 'z.coerce.string().email()' : 'z.string().email()'),\n firstName: undefined,\n lastName: undefined,\n password: undefined,\n phone: undefined,\n readOnly: undefined,\n writeOnly: undefined,\n ref: (value?: string) => {\n if (!value) {\n return undefined\n }\n\n return `z.lazy(() => ${value})`\n },\n blob: () => 'z.instanceof(File)',\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\nconst shouldCoerce = (coercion: ParserOptions['coercion'] | undefined, type: 'dates' | 'strings' | 'numbers'): boolean => {\n if (coercion === undefined) {\n return false\n }\n if (typeof coercion === 'boolean') {\n return coercion\n }\n\n return !!coercion[type]\n}\n\ntype ParserOptions = {\n name: string\n typeName?: string\n description?: string\n keysToOmit?: string[]\n mapper?: Record<string, string>\n coercion?: boolean | { dates?: boolean; strings?: boolean; numbers?: boolean }\n wrapOutput?: (opts: { output: string; schema: any }) => string | undefined\n rawSchema: SchemaObject\n}\n\nexport function parse({ parent, current, siblings }: SchemaTree, 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: current.args[0] as Schema, siblings }, 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, _index, siblings) => parse({ parent: current, current: schema, siblings }, 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, _index, siblings) => parse({ parent: current, current: schema, siblings }, 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, _index, siblings) => parse({ parent: current, current: schemas, siblings }, options))\n .filter(Boolean),\n current.args.min,\n current.args.max,\n current.args.unique,\n )\n }\n\n if (isKeyword(current, schemaKeywords.enum)) {\n if (current.args.asConst) {\n if (current.args.items.length === 1) {\n const child = {\n keyword: schemaKeywords.const,\n args: current.args.items[0],\n }\n return parse({ parent: current, current: child, siblings: [child] }, options)\n }\n\n return zodKeywordMapper.union(\n current.args.items\n .map((schema) => ({\n keyword: schemaKeywords.const,\n args: schema,\n }))\n .map((schema, _index, siblings) => {\n return parse({ parent: current, current: schema, siblings }, options)\n })\n .filter(Boolean),\n )\n }\n\n return zodKeywordMapper.enum(\n current.args.items.map((schema) => {\n if (schema.format === 'boolean') {\n return transformers.stringify(schema.value)\n }\n\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 const baseSchemaOutput = sort(schemas)\n .map((schema) => parse({ parent: current, current: schema, siblings: schemas }, options))\n .filter(Boolean)\n .join('')\n\n return `\"${name}\": ${options.wrapOutput ? options.wrapOutput({ output: baseSchemaOutput, schema: options.rawSchema?.properties?.[name] }) || baseSchemaOutput : baseSchemaOutput}`\n })\n .join(',\\n')\n\n const additionalProperties = current.args?.additionalProperties?.length\n ? current.args.additionalProperties\n .map((schema, _index, siblings) => parse({ parent: current, current: schema, siblings }, options))\n .filter(Boolean)\n .join('')\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 current.args.items.map((schema, _index, siblings) => parse({ parent: current, current: schema, siblings }, options)).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\n if (current.args.format === 'boolean' && current.args.value !== undefined) {\n return zodKeywordMapper.const(current.args.value)\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, null), shouldCoerce(options.coercion, 'strings'))\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(shouldCoerce(options.coercion, 'strings'))\n }\n\n if (isKeyword(current, schemaKeywords.uuid)) {\n return zodKeywordMapper.uuid(shouldCoerce(options.coercion, 'strings'))\n }\n\n if (isKeyword(current, schemaKeywords.email)) {\n return zodKeywordMapper.email(shouldCoerce(options.coercion, 'strings'))\n }\n\n if (isKeyword(current, schemaKeywords.url)) {\n return zodKeywordMapper.url(shouldCoerce(options.coercion, 'strings'))\n }\n\n if (isKeyword(current, schemaKeywords.number)) {\n return zodKeywordMapper.number(shouldCoerce(options.coercion, 'numbers'))\n }\n\n if (isKeyword(current, schemaKeywords.integer)) {\n return zodKeywordMapper.integer(shouldCoerce(options.coercion, 'numbers'))\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, shouldCoerce(options.coercion, 'dates'))\n }\n\n if (isKeyword(current, schemaKeywords.time)) {\n return zodKeywordMapper.time(current.args.type, shouldCoerce(options.coercion, 'dates'))\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 (isKeyword(current, schemaKeywords.optional)) {\n if (siblings.some((schema) => isKeyword(schema, schemaKeywords.default))) return ''\n\n return value()\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 * as parserZod from '../parser.ts'\nimport type { PluginZod } from '../types.ts'\nimport type { SchemaObject } from '@kubb/oas'\n\ntype Props = {\n name: string\n typeName?: string\n inferTypeName?: string\n tree: Array<Schema>\n rawSchema: SchemaObject\n description?: string\n coercion: PluginZod['resolvedOptions']['coercion']\n mapper: PluginZod['resolvedOptions']['mapper']\n keysToOmit?: string[]\n wrapOutput?: PluginZod['resolvedOptions']['wrapOutput']\n}\n\nexport function Zod({ name, typeName, tree, rawSchema, inferTypeName, mapper, coercion, keysToOmit, description, wrapOutput }: Props) {\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((schema, _index, siblings) =>\n parserZod.parse({ parent: undefined, current: schema, siblings }, { name, keysToOmit, typeName, description, mapper, coercion, wrapOutput, rawSchema }),\n )\n .filter(Boolean)\n .join('')\n\n const suffix = output.endsWith('.nullable()') ? '.unwrap().and' : '.and'\n const baseSchemaOutput =\n [output, keysToOmit?.length ? `${suffix}(z.object({ ${keysToOmit.map((key) => `${key}: z.never()`).join(',')} }))` : undefined].filter(Boolean).join('') ||\n 'z.undefined()'\n const wrappedSchemaOutput = wrapOutput ? wrapOutput({ output: baseSchemaOutput, schema: rawSchema }) || baseSchemaOutput : baseSchemaOutput\n const finalOutput = typeName ? `${wrappedSchemaOutput} as unknown as ToZod<${typeName}>` : wrappedSchemaOutput\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 {finalOutput}\n </Const>\n </File.Source>\n {inferTypeName && (\n <File.Source name={inferTypeName} isExportable isIndexable isTypeOnly>\n {typeName && (\n <Type export name={inferTypeName}>\n {typeName}\n </Type>\n )}\n {!typeName && (\n <Type export name={inferTypeName}>\n {`z.infer<typeof ${name}>`}\n </Type>\n )}\n </File.Source>\n )}\n </>\n )\n}\n"]}
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkUXPJE55C_cjs = require('./chunk-UXPJE55C.cjs');
3
+ var chunkV3CWU5YT_cjs = require('./chunk-V3CWU5YT.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Operations", {
8
8
  enumerable: true,
9
- get: function () { return chunkUXPJE55C_cjs.Operations; }
9
+ get: function () { return chunkV3CWU5YT_cjs.Operations; }
10
10
  });
11
11
  Object.defineProperty(exports, "Zod", {
12
12
  enumerable: true,
13
- get: function () { return chunkUXPJE55C_cjs.Zod; }
13
+ get: function () { return chunkV3CWU5YT_cjs.Zod; }
14
14
  });
15
15
  //# sourceMappingURL=components.cjs.map
16
16
  //# sourceMappingURL=components.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { SchemaNames } from '@kubb/plugin-oas/hooks';
2
2
  import { Operation, SchemaObject } from '@kubb/oas';
3
3
  import { Schema } from '@kubb/plugin-oas';
4
- import { P as PluginZod } from './types-DhDFwK1h.cjs';
4
+ import { P as PluginZod } from './types-DwD5YcHZ.cjs';
5
5
  import '@kubb/core';
6
6
 
7
7
  type Props$1 = {
@@ -1,7 +1,7 @@
1
1
  import { SchemaNames } from '@kubb/plugin-oas/hooks';
2
2
  import { Operation, SchemaObject } from '@kubb/oas';
3
3
  import { Schema } from '@kubb/plugin-oas';
4
- import { P as PluginZod } from './types-DhDFwK1h.js';
4
+ import { P as PluginZod } from './types-DwD5YcHZ.js';
5
5
  import '@kubb/core';
6
6
 
7
7
  type Props$1 = {
@@ -1,3 +1,3 @@
1
- export { Operations, Zod } from './chunk-XP7EMBLS.js';
1
+ export { Operations, Zod } from './chunk-F6DEFQEU.js';
2
2
  //# sourceMappingURL=components.js.map
3
3
  //# sourceMappingURL=components.js.map
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var chunkI76DWSTD_cjs = require('./chunk-I76DWSTD.cjs');
4
- require('./chunk-UXPJE55C.cjs');
3
+ var chunk7NPFNVHM_cjs = require('./chunk-7NPFNVHM.cjs');
4
+ require('./chunk-V3CWU5YT.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "operationsGenerator", {
9
9
  enumerable: true,
10
- get: function () { return chunkI76DWSTD_cjs.operationsGenerator; }
10
+ get: function () { return chunk7NPFNVHM_cjs.operationsGenerator; }
11
11
  });
12
12
  Object.defineProperty(exports, "zodGenerator", {
13
13
  enumerable: true,
14
- get: function () { return chunkI76DWSTD_cjs.zodGenerator; }
14
+ get: function () { return chunk7NPFNVHM_cjs.zodGenerator; }
15
15
  });
16
16
  //# sourceMappingURL=generators.cjs.map
17
17
  //# sourceMappingURL=generators.cjs.map
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_plugin_oas from '@kubb/plugin-oas';
2
- import { P as PluginZod } from './types-DhDFwK1h.cjs';
2
+ import { P as PluginZod } from './types-DwD5YcHZ.cjs';
3
3
  import '@kubb/core';
4
4
  import '@kubb/oas';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_plugin_oas from '@kubb/plugin-oas';
2
- import { P as PluginZod } from './types-DhDFwK1h.js';
2
+ import { P as PluginZod } from './types-DwD5YcHZ.js';
3
3
  import '@kubb/core';
4
4
  import '@kubb/oas';
5
5
 
@@ -1,4 +1,4 @@
1
- export { operationsGenerator, zodGenerator } from './chunk-YJM2VGBB.js';
2
- import './chunk-XP7EMBLS.js';
1
+ export { operationsGenerator, zodGenerator } from './chunk-D5YO5ULC.js';
2
+ import './chunk-F6DEFQEU.js';
3
3
  //# sourceMappingURL=generators.js.map
4
4
  //# sourceMappingURL=generators.js.map
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkI76DWSTD_cjs = require('./chunk-I76DWSTD.cjs');
4
- require('./chunk-UXPJE55C.cjs');
3
+ var chunk7NPFNVHM_cjs = require('./chunk-7NPFNVHM.cjs');
4
+ require('./chunk-V3CWU5YT.cjs');
5
5
  var path = require('path');
6
6
  var core = require('@kubb/core');
7
7
  var transformers = require('@kubb/core/transformers');
@@ -29,8 +29,8 @@ var pluginZod = core.createPlugin((options) => {
29
29
  importPath = "zod",
30
30
  coercion = false,
31
31
  inferred = false,
32
- generators = [chunkI76DWSTD_cjs.zodGenerator, operations ? chunkI76DWSTD_cjs.operationsGenerator : undefined].filter(Boolean),
33
- wrapOutput = undefined,
32
+ generators = [chunk7NPFNVHM_cjs.zodGenerator, operations ? chunk7NPFNVHM_cjs.operationsGenerator : void 0].filter(Boolean),
33
+ wrapOutput = void 0,
34
34
  contentType
35
35
  } = options;
36
36
  return {
@@ -52,7 +52,7 @@ var pluginZod = core.createPlugin((options) => {
52
52
  group,
53
53
  wrapOutput
54
54
  },
55
- pre: [pluginOas.pluginOasName, typed ? pluginTs.pluginTsName : undefined].filter(Boolean),
55
+ pre: [pluginOas.pluginOasName, typed ? pluginTs.pluginTsName : void 0].filter(Boolean),
56
56
  resolvePath(baseName, pathMode, options2) {
57
57
  const root = path__default.default.resolve(this.config.root, this.config.output.path);
58
58
  const mode = pathMode ?? core.FileManager.getMode(path__default.default.resolve(root, output.path));
@@ -79,7 +79,7 @@ var pluginZod = core.createPlugin((options) => {
79
79
  },
80
80
  resolveName(name, type) {
81
81
  let resolvedName = transformers.camelCase(name, {
82
- suffix: type ? "schema" : undefined,
82
+ suffix: type ? "schema" : void 0,
83
83
  isFile: type === "file"
84
84
  });
85
85
  if (type === "type") {
@@ -100,7 +100,7 @@ var pluginZod = core.createPlugin((options) => {
100
100
  pluginManager: this.pluginManager,
101
101
  plugin: this.plugin,
102
102
  contentType,
103
- include: undefined,
103
+ include: void 0,
104
104
  override,
105
105
  mode,
106
106
  output: output.path
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin.ts"],"names":["createPlugin","transformers","zodGenerator","operationsGenerator","pluginOasName","pluginTsName","options","path","FileManager","camelCase","pascalCase","PluginManager","SchemaGenerator","OperationGenerator"],"mappings":"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","file":"index.cjs","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\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', barrelType: 'named' },\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 generators = [zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean),\n wrapOutput = undefined,\n contentType,\n } = options\n\n return {\n name: pluginZodName,\n options: {\n output,\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 group,\n wrapOutput,\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 (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\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,\n include: undefined,\n override,\n mode,\n output: output.path,\n })\n\n const schemaFiles = await schemaGenerator.build(...generators)\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,\n exclude,\n include,\n override,\n mode,\n })\n\n const operationFiles = await operationGenerator.build(...generators)\n await this.addFile(...operationFiles)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\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"]}
1
+ {"version":3,"sources":["../src/plugin.ts"],"names":["createPlugin","transformers","zodGenerator","operationsGenerator","pluginOasName","pluginTsName","options","path","FileManager","camelCase","pascalCase","PluginManager","SchemaGenerator","OperationGenerator"],"mappings":"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","file":"index.cjs","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\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', barrelType: 'named' },\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 generators = [zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean),\n wrapOutput = undefined,\n contentType,\n } = options\n\n return {\n name: pluginZodName,\n options: {\n output,\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 group,\n wrapOutput,\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 (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\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,\n include: undefined,\n override,\n mode,\n output: output.path,\n })\n\n const schemaFiles = await schemaGenerator.build(...generators)\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,\n exclude,\n include,\n override,\n mode,\n })\n\n const operationFiles = await operationGenerator.build(...generators)\n await this.addFile(...operationFiles)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\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"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_core from '@kubb/core';
2
- import { O as Options, P as PluginZod } from './types-DhDFwK1h.cjs';
2
+ import { O as Options, P as PluginZod } from './types-DwD5YcHZ.cjs';
3
3
  import '@kubb/oas';
4
4
  import '@kubb/plugin-oas';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_core from '@kubb/core';
2
- import { O as Options, P as PluginZod } from './types-DhDFwK1h.js';
2
+ import { O as Options, P as PluginZod } from './types-DwD5YcHZ.js';
3
3
  import '@kubb/oas';
4
4
  import '@kubb/plugin-oas';
5
5
 
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { zodGenerator, operationsGenerator } from './chunk-YJM2VGBB.js';
2
- import './chunk-XP7EMBLS.js';
1
+ import { zodGenerator, operationsGenerator } from './chunk-D5YO5ULC.js';
2
+ import './chunk-F6DEFQEU.js';
3
3
  import path from 'node:path';
4
- import { createPlugin, FileManager, PluginManager } from '@kubb/core';
4
+ import { createPlugin, PluginManager, FileManager } from '@kubb/core';
5
5
  import { camelCase, pascalCase } from '@kubb/core/transformers';
6
6
  import { pluginOasName, SchemaGenerator, OperationGenerator } from '@kubb/plugin-oas';
7
7
  import { pluginTsName } from '@kubb/plugin-ts';
@@ -23,8 +23,8 @@ var pluginZod = createPlugin((options) => {
23
23
  importPath = "zod",
24
24
  coercion = false,
25
25
  inferred = false,
26
- generators = [zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean),
27
- wrapOutput = undefined,
26
+ generators = [zodGenerator, operations ? operationsGenerator : void 0].filter(Boolean),
27
+ wrapOutput = void 0,
28
28
  contentType
29
29
  } = options;
30
30
  return {
@@ -46,7 +46,7 @@ var pluginZod = createPlugin((options) => {
46
46
  group,
47
47
  wrapOutput
48
48
  },
49
- pre: [pluginOasName, typed ? pluginTsName : undefined].filter(Boolean),
49
+ pre: [pluginOasName, typed ? pluginTsName : void 0].filter(Boolean),
50
50
  resolvePath(baseName, pathMode, options2) {
51
51
  const root = path.resolve(this.config.root, this.config.output.path);
52
52
  const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path));
@@ -73,7 +73,7 @@ var pluginZod = createPlugin((options) => {
73
73
  },
74
74
  resolveName(name, type) {
75
75
  let resolvedName = camelCase(name, {
76
- suffix: type ? "schema" : undefined,
76
+ suffix: type ? "schema" : void 0,
77
77
  isFile: type === "file"
78
78
  });
79
79
  if (type === "type") {
@@ -94,7 +94,7 @@ var pluginZod = createPlugin((options) => {
94
94
  pluginManager: this.pluginManager,
95
95
  plugin: this.plugin,
96
96
  contentType,
97
- include: undefined,
97
+ include: void 0,
98
98
  override,
99
99
  mode,
100
100
  output: output.path
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin.ts"],"names":["options"],"mappings":"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","file":"index.js","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\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', barrelType: 'named' },\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 generators = [zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean),\n wrapOutput = undefined,\n contentType,\n } = options\n\n return {\n name: pluginZodName,\n options: {\n output,\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 group,\n wrapOutput,\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 (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\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,\n include: undefined,\n override,\n mode,\n output: output.path,\n })\n\n const schemaFiles = await schemaGenerator.build(...generators)\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,\n exclude,\n include,\n override,\n mode,\n })\n\n const operationFiles = await operationGenerator.build(...generators)\n await this.addFile(...operationFiles)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\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"]}
1
+ {"version":3,"sources":["../src/plugin.ts"],"names":["options"],"mappings":"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","file":"index.js","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\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', barrelType: 'named' },\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 generators = [zodGenerator, operations ? operationsGenerator : undefined].filter(Boolean),\n wrapOutput = undefined,\n contentType,\n } = options\n\n return {\n name: pluginZodName,\n options: {\n output,\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 group,\n wrapOutput,\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 (group && (options?.group?.path || options?.group?.tag)) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(\n root,\n output.path,\n groupName({\n group: group.type === 'path' ? options.group.path! : options.group.tag!,\n }),\n baseName,\n )\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,\n include: undefined,\n override,\n mode,\n output: output.path,\n })\n\n const schemaFiles = await schemaGenerator.build(...generators)\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,\n exclude,\n include,\n override,\n mode,\n })\n\n const operationFiles = await operationGenerator.build(...generators)\n await this.addFile(...operationFiles)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\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"]}
@@ -1,6 +1,6 @@
1
- import { PluginFactoryOptions, Output, Group, ResolveNameParams } from '@kubb/core';
1
+ import { Output, Group, ResolveNameParams, PluginFactoryOptions } from '@kubb/core';
2
2
  import { Oas, contentType, SchemaObject } from '@kubb/oas';
3
- import { ResolvePathOptions, Exclude, Include, Override, Schema, Generator } from '@kubb/plugin-oas';
3
+ import { Exclude, Include, Override, Schema, Generator, ResolvePathOptions } from '@kubb/plugin-oas';
4
4
 
5
5
  type Options = {
6
6
  /**
@@ -46,7 +46,7 @@ type Options = {
46
46
  * Which type to use when the Swagger/OpenAPI file is not providing more information
47
47
  * @default 'any'
48
48
  */
49
- unknownType?: 'any' | 'unknown';
49
+ unknownType?: 'any' | 'unknown' | 'void';
50
50
  /**
51
51
  * Use TypeScript(`@kubb/plugin-ts`) to add type annotation.
52
52
  */
@@ -1,6 +1,6 @@
1
- import { PluginFactoryOptions, Output, Group, ResolveNameParams } from '@kubb/core';
1
+ import { Output, Group, ResolveNameParams, PluginFactoryOptions } from '@kubb/core';
2
2
  import { Oas, contentType, SchemaObject } from '@kubb/oas';
3
- import { ResolvePathOptions, Exclude, Include, Override, Schema, Generator } from '@kubb/plugin-oas';
3
+ import { Exclude, Include, Override, Schema, Generator, ResolvePathOptions } from '@kubb/plugin-oas';
4
4
 
5
5
  type Options = {
6
6
  /**
@@ -46,7 +46,7 @@ type Options = {
46
46
  * Which type to use when the Swagger/OpenAPI file is not providing more information
47
47
  * @default 'any'
48
48
  */
49
- unknownType?: 'any' | 'unknown';
49
+ unknownType?: 'any' | 'unknown' | 'void';
50
50
  /**
51
51
  * Use TypeScript(`@kubb/plugin-ts`) to add type annotation.
52
52
  */
package/dist/utils.d.cts CHANGED
@@ -23,7 +23,7 @@ type ToZod<T> = {
23
23
  boolean: z.ZodBoolean;
24
24
  date: z.ZodDate;
25
25
  object: z.ZodObject<{
26
- [k in keyof T]: Extract<T[k], z.ZodType>;
26
+ [K in keyof T]: T[K];
27
27
  }, 'passthrough', z.ZodTypeAny, T>;
28
28
  rest: z.ZodType<T>;
29
29
  }[zodKey<T>];
package/dist/utils.d.ts CHANGED
@@ -23,7 +23,7 @@ type ToZod<T> = {
23
23
  boolean: z.ZodBoolean;
24
24
  date: z.ZodDate;
25
25
  object: z.ZodObject<{
26
- [k in keyof T]: Extract<T[k], z.ZodType>;
26
+ [K in keyof T]: T[K];
27
27
  }, 'passthrough', z.ZodTypeAny, T>;
28
28
  rest: z.ZodType<T>;
29
29
  }[zodKey<T>];