@orval/zod 6.13.0 → 6.13.1

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.
Files changed (2) hide show
  1. package/dist/index.js +6 -6
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _core = require('@orval/core');var X=[{exports:[{name:"* as zod",alias:"zod",default:!0,values:!0,syntheticDefaultImport:!0}],dependency:"zod"}],Y= exports.getZodDependencies =()=>X,V=n=>{switch(n){case"integer":return"number";case"null":return"mixed";default:return n!=null?n:"mixed"}},B=(n,p,i)=>{var b,G,q,a,j,Z,C,D,l;if(!n)return{functions:[],consts:[]};let z=[],t=[],r=V(n==null?void 0:n.type),g=(n==null?void 0:n.default)!==void 0?!1:(b=p!=null?p:!(n!=null&&n.nullable))!=null?b:!1,P=(a=(q=(G=n==null?void 0:n.minimum)!=null?G:n==null?void 0:n.exclusiveMinimum)!=null?q:n==null?void 0:n.minLength)!=null?a:void 0,E=(C=(Z=(j=n==null?void 0:n.maximum)!=null?j:n==null?void 0:n.exclusiveMaximum)!=null?Z:n==null?void 0:n.maxLength)!=null?C:void 0,f=(D=n==null?void 0:n.pattern)!=null?D:void 0;switch(r){case"object":t.push(["object",Object.keys((l=n==null?void 0:n.properties)!=null?l:{}).map(o=>{var u,O;return{[o]:B((u=n==null?void 0:n.properties)==null?void 0:u[o],(O=n==null?void 0:n.required)==null?void 0:O.includes(o),_core.camel.call(void 0, `${i}-${o}`))}}).reduce((o,u)=>({...o,...u}),{})]);break;case"array":let s=n==null?void 0:n.items;t.push(["array",B(s,!0,_core.camel.call(void 0, i))]);break;case"string":{if((n==null?void 0:n.enum)&&r==="string")break;if(t.push([r,void 0]),(n==null?void 0:n.format)==="date-time"||(n==null?void 0:n.format)==="date"){t.push(["datetime",void 0]);break}if((n==null?void 0:n.format)==="email"){t.push(["email",void 0]);break}if((n==null?void 0:n.format)==="uri"||(n==null?void 0:n.format)==="hostname"){t.push(["url",void 0]);break}if((n==null?void 0:n.format)==="uuid"){t.push(["uuid",void 0]);break}break}default:t.push([r,void 0]);break}if(P!==void 0&&(z.push(`export const ${i}Min = ${P};`),t.push(["min",`${i}Min`])),E!==void 0&&(z.push(`export const ${i}Max = ${P};`),t.push(["max",`${i}Max`])),f){let s=f.startsWith("/"),o=f.endsWith("/"),u=`new RegExp('${_core.escape.call(void 0, f.slice(s?1:0,o?-1:void 0))}')`;z.push(`export const ${i}RegExp = ${u};`),t.push(["regex",`${i}RegExp`])}return n!=null&&n.enum&&t.push(["enum",[`[${n==null?void 0:n.enum.map(s=>_core.isString.call(void 0, s)?`'${_core.escape.call(void 0, s)}'`:`${s}`).join(", ")}]`]]),g||t.push(["optional",void 0]),{functions:t,consts:z}},R=n=>{let p=([t,r=""])=>t==="object"?` ${R(r)}`:t==="array"?`.array(${Array.isArray(r)?`zod${r.map(p).join("")}`:p(r)})`:`.${t}(${r})`;if(!Object.keys(n).length)return{zod:"",consts:""};let i=Object.entries(n).reduce((t,[r,g])=>t+g.consts.join(`
2
- `),"");return{zod:`zod.object({
3
- ${Object.entries(n).map(([t,r])=>`"${t}": ${r.functions[0][0]!=="object"?"zod":""}${r.functions.map(p).join("")}`).join(",")}
4
- })`,consts:i}},_=({operationName:n,body:p,verb:i},{pathRoute:z,context:t})=>{var M,k,I,W,w,A,H,L,Q,K;let r=t.specs[t.specKey].paths[z],g=(M=r==null?void 0:r[i])==null?void 0:M.parameters,P=(k=r==null?void 0:r[i])==null?void 0:k.requestBody,E=(W=(I=r==null?void 0:r[i])==null?void 0:I.responses)==null?void 0:W["200"],f=E?_core.resolveRef.call(void 0, E,t).schema:void 0,b=(A=(w=f==null?void 0:f.content)==null?void 0:w["application/json"])!=null&&A.schema?_core.resolveRef.call(void 0, f.content["application/json"].schema,t).schema:void 0,G=(H=b==null?void 0:b.properties)!=null?H:[],q=Object.entries(G).map(([e,$])=>{var y;let{schema:d}=_core.resolveRef.call(void 0, $,t);return{[e]:B(d,!!((y=b==null?void 0:b.required)!=null&&y.find(x=>x===e)),_core.camel.call(void 0, `${n}-${e}`))}}).reduce((e,$)=>({...e,...$}),{}),a=P?_core.resolveRef.call(void 0, P,t).schema:void 0,j=(Q=(L=a==null?void 0:a.content)==null?void 0:L["application/json"])!=null&&Q.schema?_core.resolveRef.call(void 0, a.content["application/json"].schema,t).schema:void 0,Z=(K=j==null?void 0:j.properties)!=null?K:[],C=Object.entries(Z).map(([e,$])=>{var y;let{schema:d}=_core.resolveRef.call(void 0, $,t);return{[e]:B(d,!!((y=j==null?void 0:j.required)!=null&&y.find(x=>x===e)),_core.camel.call(void 0, `${n}-${e}`))}}).reduce((e,$)=>({...e,...$}),{}),D=(g!=null?g:[]).reduce((e,$)=>{let{schema:d}=_core.resolveRef.call(void 0, $,t);if(!d.schema)return e;let{schema:y}=_core.resolveRef.call(void 0, d.schema,t),x=B(y,d.required,_core.camel.call(void 0, `${n}-${d.name}`));return d.in==="header"?{...e,headers:{...e.headers,[d.name]:x}}:d.in==="query"?{...e,queryParams:{...e.queryParams,[d.name]:x}}:d.in==="path"?{...e,params:{...e.params,[d.name]:x}}:e},{headers:{},queryParams:{},params:{}}),l=R(D.params),s=R(D.queryParams),o=R(D.headers),u=R(C),O=R(q);return!l.zod&&!s.zod&&!o.zod&&!u.zod&&!O.zod?"":[...l.consts?[l.consts]:[],...l.zod?[`export const ${n}Params = ${l.zod}`]:[],...s.consts?[s.consts]:[],...s.zod?[`export const ${n}QueryParams = ${s.zod}`]:[],...o.consts?[o.consts]:[],...o.zod?[`export const ${n}Header = ${o.zod}`]:[],...u.consts?[u.consts]:[],...u.zod?[`export const ${n}Body = ${u.zod}`]:[],...O.consts?[O.consts]:[],...O.zod?[`export const ${n}Response = ${O.zod}`]:[]].join(`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _core = require('@orval/core');var v=[{exports:[{name:"* as zod",alias:"zod",default:!0,values:!0,syntheticDefaultImport:!0}],dependency:"zod"}],V= exports.getZodDependencies =()=>v,_=e=>{switch(e){case"integer":return"number";case"null":return"mixed";default:return e!=null?e:"any"}},S=(e,a,r)=>{var c,Z,B,h,O,C,k,x,$,g;if(!e)return{functions:[],consts:[]};let b=[],n=[],t=_(e.type),o=e.default!==void 0?!1:(c=a!=null?a:!e.nullable)!=null?c:!1,s=(h=(B=(Z=e.minimum)!=null?Z:e.exclusiveMinimum)!=null?B:e.minLength)!=null?h:void 0,m=(k=(C=(O=e.maximum)!=null?O:e.exclusiveMaximum)!=null?C:e.maxLength)!=null?k:void 0,u=(x=e.pattern)!=null?x:void 0;switch(t){case"array":let l=e.items;n.push(["array",S(l,!0,_core.camel.call(void 0, r))]);break;case"string":{if(e.enum&&t==="string")break;if(n.push([t,void 0]),e.format==="date-time"||e.format==="date"){n.push(["datetime",void 0]);break}if(e.format==="email"){n.push(["email",void 0]);break}if(e.format==="uri"||e.format==="hostname"){n.push(["url",void 0]);break}if(e.format==="uuid"){n.push(["uuid",void 0]);break}break}case"object":default:{if(e.allOf||e.oneOf||e.anyOf){let d=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf",f=(g=($=e.allOf)!=null?$:e.oneOf)!=null?g:e.anyOf;n.push([d,f.map(z=>S(z,!0,_core.camel.call(void 0, r)))]);break}if(e.properties){n.push(["object",Object.keys(e.properties).map(d=>{var f,z;return{[d]:S((f=e.properties)==null?void 0:f[d],(z=e.required)==null?void 0:z.includes(d),_core.camel.call(void 0, `${r}-${d}`))}}).reduce((d,f)=>({...d,...f}),{})]);break}if(e.additionalProperties){n.push(["additionalProperties",_core.isBoolean.call(void 0, e.additionalProperties)?e.additionalProperties:S(e.additionalProperties,!0,r)]);break}n.push([t,void 0]);break}}if(s!==void 0&&(b.push(`export const ${r}Min = ${s};`),n.push(["min",`${r}Min`])),m!==void 0&&(b.push(`export const ${r}Max = ${m};`),n.push(["max",`${r}Max`])),u){let l=u.startsWith("/"),d=u.endsWith("/"),f=`new RegExp('${_core.escape.call(void 0, u.slice(l?1:0,d?-1:void 0))}')`;b.push(`export const ${r}RegExp = ${f};`),n.push(["regex",`${r}RegExp`])}return e.enum&&t!=="number"&&n.push(["enum",[`[${e.enum.map(l=>_core.isString.call(void 0, l)?`'${_core.escape.call(void 0, l)}'`:`${l}`).join(", ")}]`]]),o||n.push(["optional",void 0]),{functions:n,consts:b}},D=e=>{if(!Object.keys(e).length)return{zod:"",consts:""};let a="",r=n=>{let[t,o=""]=n;if(t==="allOf")return o.reduce((s,{functions:m})=>{let u=m.map(r).join(""),c=`${u.startsWith(".")?"zod":""}${u}`;return s?(s+=`.and(${c})`,s):(s+=c,s)},"");if(t==="oneOf"||t==="anyOf")return o.reduce((s,{functions:m})=>{let u=m.map(r).join(""),c=`${u.startsWith(".")?"zod":""}${u}`;return s?(s+=`.or(${c})`,s):(s+=c,s)},"");if(t==="additionalProperties"){let s=o.functions.map(r).join("");return`zod.record(zod.string(), ${`${s.startsWith(".")?"zod":""}${s}`})`}if(t==="object"){let s=D(o);return a+=s.consts,` ${s.zod}`}if(t==="array"){let s=o.functions.map(r).join("");return`.array(${s.startsWith(".")?"zod":""}${s})`}return`.${t}(${o})`};return a+=Object.entries(e).reduce((n,[t,o])=>n+o.consts.join(`
2
+ `),""),{zod:`zod.object({
3
+ ${Object.entries(e).map(([n,t])=>{let o=t.functions.map(r).join("");return`"${n}": ${o.startsWith(".")?"zod":""}${o}`}).join(",")}
4
+ })`,consts:a}},F=(e,a)=>_core.isObject.call(void 0, e)?E(e,a):Array.isArray(e)?e.map(r=>F(r,a)):e,E=(e,a)=>{let{schema:r}=_core.resolveRef.call(void 0, e,a);return Object.entries(r).reduce((b,[n,t])=>(b[n]=F(t,a),b),{})},T=({operationName:e,body:a,verb:r},{pathRoute:b,context:n})=>{var z,G,q,M,w,I,A,H,L,Q;let t=n.specs[n.specKey].paths[b],o=(z=t==null?void 0:t[r])==null?void 0:z.parameters,s=(G=t==null?void 0:t[r])==null?void 0:G.requestBody,m=(M=(q=t==null?void 0:t[r])==null?void 0:q.responses)==null?void 0:M["200"],u=m?_core.resolveRef.call(void 0, m,n).schema:void 0,c=(I=(w=u==null?void 0:u.content)==null?void 0:w["application/json"])!=null&&I.schema?_core.resolveRef.call(void 0, u.content["application/json"].schema,n).schema:void 0,Z=(A=c==null?void 0:c.properties)!=null?A:{},B=Object.entries(Z).map(([i,j])=>{var y;let p=E(j,n);return{[i]:S(p,!!((y=c==null?void 0:c.required)!=null&&y.find(P=>P===i)),_core.camel.call(void 0, `${e}-${i}`))}}).reduce((i,j)=>({...i,...j}),{}),h=s?_core.resolveRef.call(void 0, s,n).schema:void 0,O=(L=(H=h==null?void 0:h.content)==null?void 0:H["application/json"])!=null&&L.schema?_core.resolveRef.call(void 0, h.content["application/json"].schema,n).schema:void 0,C=(Q=O==null?void 0:O.properties)!=null?Q:{},k=Object.entries(C).map(([i,j])=>{var y;let p=E(j,n);return{[i]:S(p,!!((y=O==null?void 0:O.required)!=null&&y.find(P=>P===i)),_core.camel.call(void 0, `${e}-${i}`))}}).reduce((i,j)=>({...i,...j}),{}),x=(o!=null?o:[]).reduce((i,j)=>{let{schema:p}=_core.resolveRef.call(void 0, j,n);if(!p.schema)return i;let y=E(p.schema,n),P=S(y,p.required,_core.camel.call(void 0, `${e}-${p.name}`));return p.in==="header"?{...i,headers:{...i.headers,[p.name]:P}}:p.in==="query"?{...i,queryParams:{...i.queryParams,[p.name]:P}}:p.in==="path"?{...i,params:{...i.params,[p.name]:P}}:i},{headers:{},queryParams:{},params:{}}),$=D(x.params),g=D(x.queryParams),l=D(x.headers),d=D(k),f=D(B);return!$.zod&&!g.zod&&!l.zod&&!d.zod&&!f.zod?"":[...$.consts?[$.consts]:[],...$.zod?[`export const ${e}Params = ${$.zod}`]:[],...g.consts?[g.consts]:[],...g.zod?[`export const ${e}QueryParams = ${g.zod}`]:[],...l.consts?[l.consts]:[],...l.zod?[`export const ${e}Header = ${l.zod}`]:[],...d.consts?[d.consts]:[],...d.zod?[`export const ${e}Body = ${d.zod}`]:[],...f.consts?[f.consts]:[],...f.zod?[`export const ${e}Response = ${f.zod}`]:[]].join(`
5
5
 
6
- `)},T= exports.generateZod =(n,p)=>{let i=_(n,p);return{implementation:i?`${i}
6
+ `)},N= exports.generateZod =(e,a)=>{let r=T(e,a);return{implementation:r?`${r}
7
7
 
8
- `:"",imports:[]}},N={client:T,dependencies:Y},J= exports.builder =()=>()=>N,en= exports.default =J;exports.builder = J; exports.default = en; exports.generateZod = T; exports.getZodDependencies = Y;
8
+ `:"",imports:[]}},J={client:N,dependencies:V},ee= exports.builder =()=>()=>J,de= exports.default =ee;exports.builder = ee; exports.default = de; exports.generateZod = N; exports.getZodDependencies = V;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orval/zod",
3
- "version": "6.13.0",
3
+ "version": "6.13.1",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -13,6 +13,6 @@
13
13
  "lint": "eslint src/**/*.ts"
14
14
  },
15
15
  "dependencies": {
16
- "@orval/core": "6.13.0"
16
+ "@orval/core": "6.13.1"
17
17
  }
18
18
  }