@devup-api/generator 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -6,7 +6,7 @@ ${J}`}else if(typeof X.default<"u")$+=`${J}/** @default {${X.default}} */
|
|
|
6
6
|
${J}`;else $=J;return`${$}${A}: ${B}`}if(u(X)){let B=T(X.type,L);return`${J}${W}: ${B}`}let k=typeof X==="object"&&X!==null&&!Array.isArray(X)&&m(X)?"?":"",x=T(X,L);return`${J}${W}${k}: ${x}`}).join(`;
|
|
7
7
|
`);if(Z.length===0)return"{}";return`{
|
|
8
8
|
${Z};
|
|
9
|
-
${Y}}`}function u(H){return typeof H==="object"&&H!==null&&"type"in H&&Object.keys(H).length<=2&&(!("default"in H)||Object.keys(H).length===2)}function LH(H){return typeof H==="object"&&H!==null&&"__isArray"in H&&H.__isArray===!0}function T(H,U=0){if(typeof H==="string")return H;if(LH(H))return`Array<${T(H.items,U)}>`;if(u(H))return T(H.type,U);if(typeof H==="object"&&H!==null&&!Array.isArray(H))return JH(H,U);return String(H)}function n(H,U,Y){let L={},J={},Z={},W=[...H?.parameters||[],...U?.parameters||[]];for(let X of W){if("$ref"in X){let M=d(X.$ref,Y);if(M&&"in"in M&&"name"in M&&typeof M.in==="string"&&typeof M.name==="string"){let A="schema"in M&&M.schema?M.schema:{},{type:$,default:D}=E(A,Y,{defaultNonNullable:!1}),G={...M,type:$,default:D};if(M.in==="path")L[M.name]=G;else if(M.in==="query")J[M.name]=G;else if(M.in==="header")Z[M.name]=G}continue}let F=X.schema||{},{type:k,default:x}=E(F,Y,{defaultNonNullable:!1}),B={...X,type:k,default:x};if(X.in==="path")L[X.name]=B;else if(X.in==="query")J[X.name]=B;else if(X.in==="header")Z[X.name]=B}return{pathParams:L,queryParams:J,headerParams:Z}}function v(H,U){if(!H)return;if("$ref"in H){let L=d(H.$ref,U);if(L&&"content"in L&&L.content){let Z=L.content["application/json"];if(Z&&"schema"in Z&&Z.schema)return E(Z.schema,U,{defaultNonNullable:!1}).type}return"unknown"}let Y=H.content;if(Y){let L=Y["application/json"];if(L&&"schema"in L&&L.schema)return E(L.schema,U,{defaultNonNullable:!1}).type}return}function N(H){if(H==="")return H;if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)||H.includes('"')||H.includes("'")||H.includes("`"))return`[\`${H}\`]`;return H}function y(H){if(H.startsWith("#/components/schemas/"))return H.replace("#/components/schemas/","");return null}function UH(H){return H.replace(/^\.\//,"")}function XH(H,U,Y){let L={get:{},post:{},put:{},delete:{},patch:{}},J=Y?.convertCase??"camel",Z=(A,$)=>{if("$ref"in A){let G=y(A.$ref);if(G)$.add(G);return}let D=A;if(D.allOf)D.allOf.forEach((G)=>{Z(G,$)});if(D.anyOf)D.anyOf.forEach((G)=>{Z(G,$)});if(D.oneOf)D.oneOf.forEach((G)=>{Z(G,$)});if(D.properties)Object.values(D.properties).forEach((G)=>{Z(G,$)});if(D.type==="array"&&"items"in D&&D.items)Z(D.items,$)},W=new Set,X=new Set,F=new Set,k=(A)=>{if(A==="default")return!0;let $=parseInt(A,10);return $>=400&&$<600};if(H.paths)for(let A of Object.values(H.paths)){if(!A)continue;let $=["get","post","put","delete","patch"];for(let D of $){let G=A[D];if(!G)continue;if(G.requestBody)if("$ref"in G.requestBody){let _=y(G.requestBody.$ref);if(_)W.add(_)}else{let K=G.requestBody.content?.["application/json"];if(K&&"schema"in K&&K.schema)Z(K.schema,W)}if(G.responses)for(let[_,K]of Object.entries(G.responses)){let R=k(_);if("$ref"in K){let q=y(K.$ref);if(q)if(R)F.add(q);else X.add(q)}else if("content"in K){let z=K.content?.["application/json"];if(z&&"schema"in z&&z.schema)if(R)Z(z.schema,F);else Z(z.schema,X)}}}}if(H.paths)for(let[A,$]of Object.entries(H.paths)){if(!$)continue;let D=["get","post","put","delete","patch"];for(let G of D){let _=$[G];if(!_)continue;let K={},{pathParams:R,queryParams:q}=n($,_,H),z={};for(let[w,O]of Object.entries(R)){let Q=C(w,J);z[Q]=O}let b={};for(let[w,O]of Object.entries(q)){let Q=C(w,J);b[Q]=O}if(Object.keys(z).length>0)K.params=z;if(Object.keys(b).length>0)K.query=b;let f;if(_.requestBody)if("$ref"in _.requestBody){let w=v(_.requestBody,H);if(w!==void 0)f=w}else{let O=_.requestBody.content?.["application/json"];if(O&&"schema"in O&&O.schema)if("$ref"in O.schema){let Q=y(O.schema.$ref);if(Q&&H.components?.schemas?.[Q]&&W.has(Q))f=`DevupObject<'${U}'
|
|
9
|
+
${Y}}`}function u(H){return typeof H==="object"&&H!==null&&"type"in H&&Object.keys(H).length<=2&&(!("default"in H)||Object.keys(H).length===2)}function LH(H){return typeof H==="object"&&H!==null&&"__isArray"in H&&H.__isArray===!0}function T(H,U=0){if(typeof H==="string")return H;if(LH(H))return`Array<${T(H.items,U)}>`;if(u(H))return T(H.type,U);if(typeof H==="object"&&H!==null&&!Array.isArray(H))return JH(H,U);return String(H)}function n(H,U,Y){let L={},J={},Z={},W=[...H?.parameters||[],...U?.parameters||[]];for(let X of W){if("$ref"in X){let M=d(X.$ref,Y);if(M&&"in"in M&&"name"in M&&typeof M.in==="string"&&typeof M.name==="string"){let A="schema"in M&&M.schema?M.schema:{},{type:$,default:D}=E(A,Y,{defaultNonNullable:!1}),G={...M,type:$,default:D};if(M.in==="path")L[M.name]=G;else if(M.in==="query")J[M.name]=G;else if(M.in==="header")Z[M.name]=G}continue}let F=X.schema||{},{type:k,default:x}=E(F,Y,{defaultNonNullable:!1}),B={...X,type:k,default:x};if(X.in==="path")L[X.name]=B;else if(X.in==="query")J[X.name]=B;else if(X.in==="header")Z[X.name]=B}return{pathParams:L,queryParams:J,headerParams:Z}}function v(H,U){if(!H)return;if("$ref"in H){let L=d(H.$ref,U);if(L&&"content"in L&&L.content){let Z=L.content["application/json"];if(Z&&"schema"in Z&&Z.schema)return E(Z.schema,U,{defaultNonNullable:!1}).type}return"unknown"}let Y=H.content;if(Y){let L=Y["application/json"];if(L&&"schema"in L&&L.schema)return E(L.schema,U,{defaultNonNullable:!1}).type}return}function N(H){if(H==="")return H;if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)||H.includes('"')||H.includes("'")||H.includes("`"))return`[\`${H}\`]`;return H}function y(H){if(H.startsWith("#/components/schemas/"))return H.replace("#/components/schemas/","");return null}function UH(H){return H.replace(/^\.\//,"")}function XH(H,U,Y){let L={get:{},post:{},put:{},delete:{},patch:{}},J=Y?.convertCase??"camel",Z=(A,$)=>{if("$ref"in A){let G=y(A.$ref);if(G)$.add(G);return}let D=A;if(D.allOf)D.allOf.forEach((G)=>{Z(G,$)});if(D.anyOf)D.anyOf.forEach((G)=>{Z(G,$)});if(D.oneOf)D.oneOf.forEach((G)=>{Z(G,$)});if(D.properties)Object.values(D.properties).forEach((G)=>{Z(G,$)});if(D.type==="array"&&"items"in D&&D.items)Z(D.items,$)},W=new Set,X=new Set,F=new Set,k=(A)=>{if(A==="default")return!0;let $=parseInt(A,10);return $>=400&&$<600};if(H.paths)for(let A of Object.values(H.paths)){if(!A)continue;let $=["get","post","put","delete","patch"];for(let D of $){let G=A[D];if(!G)continue;if(G.requestBody)if("$ref"in G.requestBody){let _=y(G.requestBody.$ref);if(_)W.add(_)}else{let K=G.requestBody.content?.["application/json"];if(K&&"schema"in K&&K.schema)Z(K.schema,W)}if(G.responses)for(let[_,K]of Object.entries(G.responses)){let R=k(_);if("$ref"in K){let q=y(K.$ref);if(q)if(R)F.add(q);else X.add(q)}else if("content"in K){let z=K.content?.["application/json"];if(z&&"schema"in z&&z.schema)if(R)Z(z.schema,F);else Z(z.schema,X)}}}}if(H.paths)for(let[A,$]of Object.entries(H.paths)){if(!$)continue;let D=["get","post","put","delete","patch"];for(let G of D){let _=$[G];if(!_)continue;let K={},{pathParams:R,queryParams:q}=n($,_,H),z={};for(let[w,O]of Object.entries(R)){let Q=C(w,J);z[Q]=O}let b={};for(let[w,O]of Object.entries(q)){let Q=C(w,J);b[Q]=O}if(Object.keys(z).length>0)K.params=z;if(Object.keys(b).length>0)K.query=b;let f;if(_.requestBody)if("$ref"in _.requestBody){let w=v(_.requestBody,H);if(w!==void 0)f=w}else{let O=_.requestBody.content?.["application/json"];if(O&&"schema"in O&&O.schema)if("$ref"in O.schema){let Q=y(O.schema.$ref);if(Q&&H.components?.schemas?.[Q]&&W.has(Q))f=`DevupObject<'request', '${U}'>['${Q}']`;else{let V=v(_.requestBody,H);if(V!==void 0)f=V}}else{let Q=v(_.requestBody,H);if(Q!==void 0)f=Q}}if(f!==void 0)K.body=f;let P;if(_.responses){let w=_.responses["200"]||_.responses["201"]||Object.values(_.responses)[0];if(w){if("$ref"in w);else if("content"in w){let Q=w.content?.["application/json"];if(Q&&"schema"in Q&&Q.schema)if("$ref"in Q.schema){let V=y(Q.schema.$ref);if(V&&H.components?.schemas?.[V]&&X.has(V))P=`DevupObject<'response', '${U}'>['${V}']`;else{let I=Y?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});P=S}}else{let V=Q.schema;if(V.type==="array"&&V.items&&"$ref"in V.items){let I=y(V.items.$ref);if(I&&H.components?.schemas?.[I]&&X.has(I))P=`Array<DevupObject<'response', '${U}'>['${I}']>`;else{let S=Y?.responseDefaultNonNullable??!0,{type:h}=E(Q.schema,H,{defaultNonNullable:S});P=h}}else{let I=Y?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});P=S}}}}}if(P!==void 0)K.response=P;let g;if(_.responses){let w=_.responses["400"]||_.responses["401"]||_.responses["403"]||_.responses["404"]||_.responses["422"]||_.responses["500"]||_.responses.default||Object.entries(_.responses).find(([O])=>k(O))?.[1];if(w){if("$ref"in w);else if("content"in w){let Q=w.content?.["application/json"];if(Q&&"schema"in Q&&Q.schema)if("$ref"in Q.schema){let V=y(Q.schema.$ref);if(V&&H.components?.schemas?.[V]&&F.has(V))g=`DevupObject<'error', '${U}'>['${V}']`;else{let I=Y?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});g=S}}else{let V=Q.schema;if(V.type==="array"&&V.items&&"$ref"in V.items){let I=y(V.items.$ref);if(I&&H.components?.schemas?.[I]&&F.has(I))g=`Array<DevupObject<'error', '${U}'>['${I}']>`;else{let S=Y?.responseDefaultNonNullable??!0,{type:h}=E(Q.schema,H,{defaultNonNullable:S});g=h}}else{let I=Y?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});g=S}}}}}if(g!==void 0)K.error=g;let j=A.replace(/\{([^}]+)\}/g,(w,O)=>{return`{${C(O,J)}}`});if(L[G][j]=K,_.operationId){let w=C(_.operationId,J);L[G][w]=K}}}let x={},B={},M={};if(H.components?.schemas){for(let[A,$]of Object.entries(H.components.schemas))if($){let D=Y?.requestDefaultNonNullable??!1,_=Y?.responseDefaultNonNullable??!0;if(W.has(A))_=D;let{type:K}=E($,H,{defaultNonNullable:_});if(W.has(A))x[A]=K;if(X.has(A))B[A]=K;if(F.has(A))M[A]=K}}return{endpoints:L,requestComponents:x,responseComponents:B,errorComponents:M}}function YH(H,U){let Y=[],L=new Map,J={},Z={},W={},X={};for(let[R,q]of Object.entries(H)){let z=UH(R);Y.push(z),L.set(z,R);let{endpoints:b,requestComponents:f,responseComponents:P,errorComponents:g}=XH(q,z,U);J[z]=b,Z[z]=f,W[z]=P,X[z]=g}let k=` interface DevupApiServers {
|
|
10
10
|
${Y.map((R)=>` ${N(R)}: never`).join(`;
|
|
11
11
|
`)}
|
|
12
12
|
}`,x=[],B=["get","post","put","delete","patch"];for(let R of B){let q=[];for(let z of Y){let b=J[z]?.[R];if(b&&Object.keys(b).length>0){let f=Object.entries(b).map(([g,j])=>{let w=T(j,3);return` ${N(g)}: ${w}`}).join(`;
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ ${J}`}else if(typeof L.default<"u")$+=`${J}/** @default {${L.default}} */
|
|
|
6
6
|
${J}`;else $=J;return`${$}${A}: ${B}`}if(h(L)){let B=T(L.type,U);return`${J}${W}: ${B}`}let k=typeof L==="object"&&L!==null&&!Array.isArray(L)&&u(L)?"?":"",x=T(L,U);return`${J}${W}${k}: ${x}`}).join(`;
|
|
7
7
|
`);if(X.length===0)return"{}";return`{
|
|
8
8
|
${X};
|
|
9
|
-
${Z}}`}function h(H){return typeof H==="object"&&H!==null&&"type"in H&&Object.keys(H).length<=2&&(!("default"in H)||Object.keys(H).length===2)}function r(H){return typeof H==="object"&&H!==null&&"__isArray"in H&&H.__isArray===!0}function T(H,Y=0){if(typeof H==="string")return H;if(r(H))return`Array<${T(H.items,Y)}>`;if(h(H))return T(H.type,Y);if(typeof H==="object"&&H!==null&&!Array.isArray(H))return o(H,Y);return String(H)}function p(H,Y,Z){let U={},J={},X={},W=[...H?.parameters||[],...Y?.parameters||[]];for(let L of W){if("$ref"in L){let M=i(L.$ref,Z);if(M&&"in"in M&&"name"in M&&typeof M.in==="string"&&typeof M.name==="string"){let A="schema"in M&&M.schema?M.schema:{},{type:$,default:D}=E(A,Z,{defaultNonNullable:!1}),G={...M,type:$,default:D};if(M.in==="path")U[M.name]=G;else if(M.in==="query")J[M.name]=G;else if(M.in==="header")X[M.name]=G}continue}let F=L.schema||{},{type:k,default:x}=E(F,Z,{defaultNonNullable:!1}),B={...L,type:k,default:x};if(L.in==="path")U[L.name]=B;else if(L.in==="query")J[L.name]=B;else if(L.in==="header")X[L.name]=B}return{pathParams:U,queryParams:J,headerParams:X}}function d(H,Y){if(!H)return;if("$ref"in H){let U=i(H.$ref,Y);if(U&&"content"in U&&U.content){let X=U.content["application/json"];if(X&&"schema"in X&&X.schema)return E(X.schema,Y,{defaultNonNullable:!1}).type}return"unknown"}let Z=H.content;if(Z){let U=Z["application/json"];if(U&&"schema"in U&&U.schema)return E(U.schema,Y,{defaultNonNullable:!1}).type}return}function N(H){if(H==="")return H;if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)||H.includes('"')||H.includes("'")||H.includes("`"))return`[\`${H}\`]`;return H}function y(H){if(H.startsWith("#/components/schemas/"))return H.replace("#/components/schemas/","");return null}function t(H){return H.replace(/^\.\//,"")}function a(H,Y,Z){let U={get:{},post:{},put:{},delete:{},patch:{}},J=Z?.convertCase??"camel",X=(A,$)=>{if("$ref"in A){let G=y(A.$ref);if(G)$.add(G);return}let D=A;if(D.allOf)D.allOf.forEach((G)=>{X(G,$)});if(D.anyOf)D.anyOf.forEach((G)=>{X(G,$)});if(D.oneOf)D.oneOf.forEach((G)=>{X(G,$)});if(D.properties)Object.values(D.properties).forEach((G)=>{X(G,$)});if(D.type==="array"&&"items"in D&&D.items)X(D.items,$)},W=new Set,L=new Set,F=new Set,k=(A)=>{if(A==="default")return!0;let $=parseInt(A,10);return $>=400&&$<600};if(H.paths)for(let A of Object.values(H.paths)){if(!A)continue;let $=["get","post","put","delete","patch"];for(let D of $){let G=A[D];if(!G)continue;if(G.requestBody)if("$ref"in G.requestBody){let _=y(G.requestBody.$ref);if(_)W.add(_)}else{let K=G.requestBody.content?.["application/json"];if(K&&"schema"in K&&K.schema)X(K.schema,W)}if(G.responses)for(let[_,K]of Object.entries(G.responses)){let R=k(_);if("$ref"in K){let q=y(K.$ref);if(q)if(R)F.add(q);else L.add(q)}else if("content"in K){let z=K.content?.["application/json"];if(z&&"schema"in z&&z.schema)if(R)X(z.schema,F);else X(z.schema,L)}}}}if(H.paths)for(let[A,$]of Object.entries(H.paths)){if(!$)continue;let D=["get","post","put","delete","patch"];for(let G of D){let _=$[G];if(!_)continue;let K={},{pathParams:R,queryParams:q}=p($,_,H),z={};for(let[w,O]of Object.entries(R)){let Q=C(w,J);z[Q]=O}let b={};for(let[w,O]of Object.entries(q)){let Q=C(w,J);b[Q]=O}if(Object.keys(z).length>0)K.params=z;if(Object.keys(b).length>0)K.query=b;let f;if(_.requestBody)if("$ref"in _.requestBody){let w=d(_.requestBody,H);if(w!==void 0)f=w}else{let O=_.requestBody.content?.["application/json"];if(O&&"schema"in O&&O.schema)if("$ref"in O.schema){let Q=y(O.schema.$ref);if(Q&&H.components?.schemas?.[Q]&&W.has(Q))f=`DevupObject<'${Y}'
|
|
9
|
+
${Z}}`}function h(H){return typeof H==="object"&&H!==null&&"type"in H&&Object.keys(H).length<=2&&(!("default"in H)||Object.keys(H).length===2)}function r(H){return typeof H==="object"&&H!==null&&"__isArray"in H&&H.__isArray===!0}function T(H,Y=0){if(typeof H==="string")return H;if(r(H))return`Array<${T(H.items,Y)}>`;if(h(H))return T(H.type,Y);if(typeof H==="object"&&H!==null&&!Array.isArray(H))return o(H,Y);return String(H)}function p(H,Y,Z){let U={},J={},X={},W=[...H?.parameters||[],...Y?.parameters||[]];for(let L of W){if("$ref"in L){let M=i(L.$ref,Z);if(M&&"in"in M&&"name"in M&&typeof M.in==="string"&&typeof M.name==="string"){let A="schema"in M&&M.schema?M.schema:{},{type:$,default:D}=E(A,Z,{defaultNonNullable:!1}),G={...M,type:$,default:D};if(M.in==="path")U[M.name]=G;else if(M.in==="query")J[M.name]=G;else if(M.in==="header")X[M.name]=G}continue}let F=L.schema||{},{type:k,default:x}=E(F,Z,{defaultNonNullable:!1}),B={...L,type:k,default:x};if(L.in==="path")U[L.name]=B;else if(L.in==="query")J[L.name]=B;else if(L.in==="header")X[L.name]=B}return{pathParams:U,queryParams:J,headerParams:X}}function d(H,Y){if(!H)return;if("$ref"in H){let U=i(H.$ref,Y);if(U&&"content"in U&&U.content){let X=U.content["application/json"];if(X&&"schema"in X&&X.schema)return E(X.schema,Y,{defaultNonNullable:!1}).type}return"unknown"}let Z=H.content;if(Z){let U=Z["application/json"];if(U&&"schema"in U&&U.schema)return E(U.schema,Y,{defaultNonNullable:!1}).type}return}function N(H){if(H==="")return H;if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)||H.includes('"')||H.includes("'")||H.includes("`"))return`[\`${H}\`]`;return H}function y(H){if(H.startsWith("#/components/schemas/"))return H.replace("#/components/schemas/","");return null}function t(H){return H.replace(/^\.\//,"")}function a(H,Y,Z){let U={get:{},post:{},put:{},delete:{},patch:{}},J=Z?.convertCase??"camel",X=(A,$)=>{if("$ref"in A){let G=y(A.$ref);if(G)$.add(G);return}let D=A;if(D.allOf)D.allOf.forEach((G)=>{X(G,$)});if(D.anyOf)D.anyOf.forEach((G)=>{X(G,$)});if(D.oneOf)D.oneOf.forEach((G)=>{X(G,$)});if(D.properties)Object.values(D.properties).forEach((G)=>{X(G,$)});if(D.type==="array"&&"items"in D&&D.items)X(D.items,$)},W=new Set,L=new Set,F=new Set,k=(A)=>{if(A==="default")return!0;let $=parseInt(A,10);return $>=400&&$<600};if(H.paths)for(let A of Object.values(H.paths)){if(!A)continue;let $=["get","post","put","delete","patch"];for(let D of $){let G=A[D];if(!G)continue;if(G.requestBody)if("$ref"in G.requestBody){let _=y(G.requestBody.$ref);if(_)W.add(_)}else{let K=G.requestBody.content?.["application/json"];if(K&&"schema"in K&&K.schema)X(K.schema,W)}if(G.responses)for(let[_,K]of Object.entries(G.responses)){let R=k(_);if("$ref"in K){let q=y(K.$ref);if(q)if(R)F.add(q);else L.add(q)}else if("content"in K){let z=K.content?.["application/json"];if(z&&"schema"in z&&z.schema)if(R)X(z.schema,F);else X(z.schema,L)}}}}if(H.paths)for(let[A,$]of Object.entries(H.paths)){if(!$)continue;let D=["get","post","put","delete","patch"];for(let G of D){let _=$[G];if(!_)continue;let K={},{pathParams:R,queryParams:q}=p($,_,H),z={};for(let[w,O]of Object.entries(R)){let Q=C(w,J);z[Q]=O}let b={};for(let[w,O]of Object.entries(q)){let Q=C(w,J);b[Q]=O}if(Object.keys(z).length>0)K.params=z;if(Object.keys(b).length>0)K.query=b;let f;if(_.requestBody)if("$ref"in _.requestBody){let w=d(_.requestBody,H);if(w!==void 0)f=w}else{let O=_.requestBody.content?.["application/json"];if(O&&"schema"in O&&O.schema)if("$ref"in O.schema){let Q=y(O.schema.$ref);if(Q&&H.components?.schemas?.[Q]&&W.has(Q))f=`DevupObject<'request', '${Y}'>['${Q}']`;else{let V=d(_.requestBody,H);if(V!==void 0)f=V}}else{let Q=d(_.requestBody,H);if(Q!==void 0)f=Q}}if(f!==void 0)K.body=f;let P;if(_.responses){let w=_.responses["200"]||_.responses["201"]||Object.values(_.responses)[0];if(w){if("$ref"in w);else if("content"in w){let Q=w.content?.["application/json"];if(Q&&"schema"in Q&&Q.schema)if("$ref"in Q.schema){let V=y(Q.schema.$ref);if(V&&H.components?.schemas?.[V]&&L.has(V))P=`DevupObject<'response', '${Y}'>['${V}']`;else{let I=Z?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});P=S}}else{let V=Q.schema;if(V.type==="array"&&V.items&&"$ref"in V.items){let I=y(V.items.$ref);if(I&&H.components?.schemas?.[I]&&L.has(I))P=`Array<DevupObject<'response', '${Y}'>['${I}']>`;else{let S=Z?.responseDefaultNonNullable??!0,{type:v}=E(Q.schema,H,{defaultNonNullable:S});P=v}}else{let I=Z?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});P=S}}}}}if(P!==void 0)K.response=P;let g;if(_.responses){let w=_.responses["400"]||_.responses["401"]||_.responses["403"]||_.responses["404"]||_.responses["422"]||_.responses["500"]||_.responses.default||Object.entries(_.responses).find(([O])=>k(O))?.[1];if(w){if("$ref"in w);else if("content"in w){let Q=w.content?.["application/json"];if(Q&&"schema"in Q&&Q.schema)if("$ref"in Q.schema){let V=y(Q.schema.$ref);if(V&&H.components?.schemas?.[V]&&F.has(V))g=`DevupObject<'error', '${Y}'>['${V}']`;else{let I=Z?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});g=S}}else{let V=Q.schema;if(V.type==="array"&&V.items&&"$ref"in V.items){let I=y(V.items.$ref);if(I&&H.components?.schemas?.[I]&&F.has(I))g=`Array<DevupObject<'error', '${Y}'>['${I}']>`;else{let S=Z?.responseDefaultNonNullable??!0,{type:v}=E(Q.schema,H,{defaultNonNullable:S});g=v}}else{let I=Z?.responseDefaultNonNullable??!0,{type:S}=E(Q.schema,H,{defaultNonNullable:I});g=S}}}}}if(g!==void 0)K.error=g;let j=A.replace(/\{([^}]+)\}/g,(w,O)=>{return`{${C(O,J)}}`});if(U[G][j]=K,_.operationId){let w=C(_.operationId,J);U[G][w]=K}}}let x={},B={},M={};if(H.components?.schemas){for(let[A,$]of Object.entries(H.components.schemas))if($){let D=Z?.requestDefaultNonNullable??!1,_=Z?.responseDefaultNonNullable??!0;if(W.has(A))_=D;let{type:K}=E($,H,{defaultNonNullable:_});if(W.has(A))x[A]=K;if(L.has(A))B[A]=K;if(F.has(A))M[A]=K}}return{endpoints:U,requestComponents:x,responseComponents:B,errorComponents:M}}function QH(H,Y){let Z=[],U=new Map,J={},X={},W={},L={};for(let[R,q]of Object.entries(H)){let z=t(R);Z.push(z),U.set(z,R);let{endpoints:b,requestComponents:f,responseComponents:P,errorComponents:g}=a(q,z,Y);J[z]=b,X[z]=f,W[z]=P,L[z]=g}let k=` interface DevupApiServers {
|
|
10
10
|
${Z.map((R)=>` ${N(R)}: never`).join(`;
|
|
11
11
|
`)}
|
|
12
12
|
}`,x=[],B=["get","post","put","delete","patch"];for(let R of B){let q=[];for(let z of Z){let b=J[z]?.[R];if(b&&Object.keys(b).length>0){let f=Object.entries(b).map(([g,j])=>{let w=T(j,3);return` ${N(g)}: ${w}`}).join(`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devup-api/generator",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@devup-api/core": "
|
|
24
|
-
"@devup-api/utils": "
|
|
23
|
+
"@devup-api/core": "^workspace:*",
|
|
24
|
+
"@devup-api/utils": "^workspace:*"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^25.0",
|