@hey-api/openapi-ts 0.53.9 → 0.53.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/README.md +7 -9
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +15 -9
package/dist/index.js
CHANGED
|
@@ -1313,7 +1313,7 @@ export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>)
|
|
|
1313
1313
|
|
|
1314
1314
|
onCancel(() => xhr.abort());
|
|
1315
1315
|
});
|
|
1316
|
-
};`},useData:!0};var mp=()=>{f.registerHelper("camelCase",function(e){return j({input:e})}),f.registerHelper("equals",function(e,t,r){return e===t?r.fn(this):r.inverse(this)}),f.registerHelper("ifdef",function(...e){let t=e.pop();return e.every(r=>!r)?t.inverse(this):t.fn(this)}),f.registerHelper("notEquals",function(e,t,r){return e!==t?r.fn(this):r.inverse(this)}),f.registerHelper("transformServiceName",Le);},ri=()=>{mp();let e={client:f.template(fs),core:{apiError:f.template(bs),apiRequestOptions:f.template(Ps),apiResult:f.template(Cs),baseHttpRequest:f.template(Ss),cancelablePromise:f.template(ks),httpRequest:f.template(Gs),request:f.template(zs),settings:f.template(Xs)}};return f.registerPartial("functions/base64",f.template(js)),f.registerPartial("functions/catchErrorCodes",f.template(Hs)),f.registerPartial("functions/getFormData",f.template(Fs)),f.registerPartial("functions/getQueryString",f.template(Bs)),f.registerPartial("functions/getUrl",f.template(Ls)),f.registerPartial("functions/isBlob",f.template(_s)),f.registerPartial("functions/isFormData",f.template(Us)),f.registerPartial("functions/isString",f.template(Vs)),f.registerPartial("functions/isStringWithValue",f.template(Ks)),f.registerPartial("functions/isSuccess",f.template(Qs)),f.registerPartial("functions/resolve",f.template(Ws)),f.registerPartial("fetch/getHeaders",f.template(Ns)),f.registerPartial("fetch/getRequestBody",f.template(ws)),f.registerPartial("fetch/getResponseBody",f.template($s)),f.registerPartial("fetch/getResponseHeader",f.template(Is)),f.registerPartial("fetch/request",f.template(Ds)),f.registerPartial("fetch/sendRequest",f.template(Ms)),f.registerPartial("xhr/getHeaders",f.template(Js)),f.registerPartial("xhr/getRequestBody",f.template(Ys)),f.registerPartial("xhr/getResponseBody",f.template(Zs)),f.registerPartial("xhr/getResponseHeader",f.template(ei)),f.registerPartial("xhr/request",f.template(ti)),f.registerPartial("xhr/sendRequest",f.template(ni)),f.registerPartial("axios/getHeaders",f.template(Ts)),f.registerPartial("axios/getRequestBody",f.template(Rs)),f.registerPartial("axios/getResponseBody",f.template(As)),f.registerPartial("axios/getResponseHeader",f.template(vs)),f.registerPartial("axios/request",f.template(Es)),f.registerPartial("axios/sendRequest",f.template(qs)),f.registerPartial("angular/getHeaders",f.template(ds)),f.registerPartial("angular/getRequestBody",f.template(ys)),f.registerPartial("angular/getResponseBody",f.template(gs)),f.registerPartial("angular/getResponseHeader",f.template(hs)),f.registerPartial("angular/request",f.template(xs)),f.registerPartial("angular/sendRequest",f.template(Os)),e};var oi=e=>{let t=g(),r=t.services.filter?new RegExp(t.services.filter):void 0;return !r||r.test(e)},si=e=>{let t=g();return !R(t)||e.prop!=="api-version"},ii=e=>{let t=g();if(t.services.operationId&&e.id)return j({input:Ue(e.id)});let r=e.path;return R(t)&&(r=r.replace(/[^/]*?{api-version}.*?\//g,"")),r=r.replace(/{(.*?)}/g,"by-$1").replace(/[/:]/g,"-"),j({input:`${e.method}-${r}`})},ai=e=>{let t=g();return R(t)?un(e.prop):e.prop};var pi=e=>`${e}-end`,On=e=>`${e}-length`,ci=e=>`${e}-start`,N={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(pi(e)),getEntriesByName:e=>performance.getEntriesByName(On(e)),measure:e=>performance.measure(On(e),ci(e),pi(e)),start:e=>performance.mark(ci(e))},Lt=class{totalMeasure;constructor({totalMark:t}){this.totalMeasure=N.measure(t);}report({marks:t}){let r=Math.ceil(this.totalMeasure.duration*100)/100,s=this.totalMeasure.name;console.warn(`${s.substring(0,s.length-On("").length)}: ${r.toFixed(2)}ms`),t.forEach(n=>{let o=N.measure(n),a=Math.ceil(o.duration*100)/100,i=Math.ceil(o.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${n}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);});}};function mi(e){return {...e,models:e.models.map(t=>lp(t)),services:up(e.operations).map(fp),types:{}}}var lp=e=>({...e,$refs:e.$refs.filter((t,r,s)=>H(t,r,s)),enum:e.enum.filter((t,r,s)=>s.findIndex(n=>n.value===t.value)===r),enums:e.enums.filter((t,r,s)=>s.findIndex(n=>n.name===t.name)===r),imports:e.imports.filter((t,r,s)=>H(t,r,s)&&t!==e.name).sort($e)}),up=e=>{let t=g(),r=new Map;return e.forEach(s=>{(s.tags?.length&&(t.services.asClass||t.name)?s.tags.filter(H):["Default"]).forEach(o=>{let a={...s,service:gp(o)},i=r.get(a.service)||yp(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],r.set(a.service,i);});}),Array.from(r.values())},fp=e=>{let t={...e};return t.operations=dp(t),t.operations.forEach(r=>{t.imports.push(...r.imports);}),t.imports=t.imports.filter(H).sort($e),t},dp=e=>{let t=new Map;return e.operations.map(r=>{let s={...r};s.imports.push(...s.parameters.flatMap(i=>i.imports));let n=s.responses.filter(i=>i.responseTypes.includes("success"));s.imports.push(...n.flatMap(i=>i.imports));let o=s.name,a=t.get(o)||0;return a>0&&(s.name=`${o}${a}`),t.set(o,a+1),s})},yp=e=>({$refs:[],imports:[],name:e.service,operations:[]}),gp=e=>j({input:Ue(e),pascalCase:!0});var Op={biome:{args:e=>["format","--write",e],command:"biome",name:"Biome (Format)"},prettier:{args:e=>["--ignore-unknown",e,"--write","--ignore-path","./.prettierignore"],command:"prettier",name:"Prettier"}},bp={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},Pp=()=>{let e=g();if(e.output.format){let t=Op[e.output.format];console.log(`\u2728 Running ${t.name}`),(0, bn.sync)(t.command,t.args(e.output.path));}if(e.output.lint){let t=bp[e.output.lint];console.log(`\u2728 Running ${t.name}`),(0, bn.sync)(t.command,t.args(e.output.path));}},Cp=()=>{let{client:e}=g();switch(e.name){case"legacy/angular":return console.log("\u2728 Creating Angular client");case"@hey-api/client-axios":case"legacy/axios":return console.log("\u2728 Creating Axios client");case"@hey-api/client-fetch":case"legacy/fetch":return console.log("\u2728 Creating Fetch client");case"legacy/node":return console.log("\u2728 Creating Node.js client");case"legacy/xhr":return console.log("\u2728 Creating XHR client")}},Tp=e=>{let t={bundle:!1,name:""};return typeof e.client=="string"?t.name=e.client:e.client&&(t={...t,...e.client}),t},Rp=e=>{let t={format:!1,lint:!1,path:""};return typeof e.output=="string"?t.path=e.output:t={...t,...e.output},t},Ap=e=>(e.plugins??[]).map(r=>typeof r=="string"?xn[r]:{...xn[r.name],...r}),vp=e=>{let t={export:!0,type:"json"};return typeof e.schemas=="boolean"?t.export=e.schemas:t={...t,...e.schemas},t},Ep=e=>{let t={asClass:!1,export:!0,name:"{{name}}Service",operationId:!0,response:"body"};return typeof e.services=="boolean"?t.export=e.services:typeof e.services=="string"?t.include=e.services:t={...t,...e.services},t},qp=(e,t)=>{let r={dates:!1,enums:!1,export:!0,name:"preserve",tree:!t.export};return typeof e.types=="boolean"?r.export=e.types:typeof e.types=="string"?r.include=e.types:r={...r,...e.types},r},Sp=async e=>{let t;if(e.configFile){let n=e.configFile.split(".");t=n.slice(0,n.length-1).join(".");}let{config:r}=await loadConfig({configFile:t,name:"openapi-ts"});return (Array.isArray(e)?e:Array.isArray(r)?r.map(n=>({...n,...e})):[{...r??{},...e}]).map(n=>{let{base:o,configFile:a="",debug:i=!1,dryRun:p=!1,exportCore:c=!0,experimental_parser:m=!1,input:u,name:d,request:h,useOptions:O=!0}=n;i&&console.warn("userConfig:",n);let x=Rp(n);if(!u)throw new Error("\u{1F6AB} missing input - which OpenAPI specification should we use to generate your client?");if(!x.path)throw new Error("\u{1F6AB} missing output - where should we generate your client?");let E=Tp(n);if(E.name&&!ls.includes(E.name))throw new Error("\u{1F6AB} invalid client - select a valid client value");O||console.warn("\u2757\uFE0F Deprecation warning: useOptions set to false. This setting will be removed in future versions. Please migrate useOptions to true https://heyapi.
|
|
1316
|
+
};`},useData:!0};var mp=()=>{f.registerHelper("camelCase",function(e){return j({input:e})}),f.registerHelper("equals",function(e,t,r){return e===t?r.fn(this):r.inverse(this)}),f.registerHelper("ifdef",function(...e){let t=e.pop();return e.every(r=>!r)?t.inverse(this):t.fn(this)}),f.registerHelper("notEquals",function(e,t,r){return e!==t?r.fn(this):r.inverse(this)}),f.registerHelper("transformServiceName",Le);},ri=()=>{mp();let e={client:f.template(fs),core:{apiError:f.template(bs),apiRequestOptions:f.template(Ps),apiResult:f.template(Cs),baseHttpRequest:f.template(Ss),cancelablePromise:f.template(ks),httpRequest:f.template(Gs),request:f.template(zs),settings:f.template(Xs)}};return f.registerPartial("functions/base64",f.template(js)),f.registerPartial("functions/catchErrorCodes",f.template(Hs)),f.registerPartial("functions/getFormData",f.template(Fs)),f.registerPartial("functions/getQueryString",f.template(Bs)),f.registerPartial("functions/getUrl",f.template(Ls)),f.registerPartial("functions/isBlob",f.template(_s)),f.registerPartial("functions/isFormData",f.template(Us)),f.registerPartial("functions/isString",f.template(Vs)),f.registerPartial("functions/isStringWithValue",f.template(Ks)),f.registerPartial("functions/isSuccess",f.template(Qs)),f.registerPartial("functions/resolve",f.template(Ws)),f.registerPartial("fetch/getHeaders",f.template(Ns)),f.registerPartial("fetch/getRequestBody",f.template(ws)),f.registerPartial("fetch/getResponseBody",f.template($s)),f.registerPartial("fetch/getResponseHeader",f.template(Is)),f.registerPartial("fetch/request",f.template(Ds)),f.registerPartial("fetch/sendRequest",f.template(Ms)),f.registerPartial("xhr/getHeaders",f.template(Js)),f.registerPartial("xhr/getRequestBody",f.template(Ys)),f.registerPartial("xhr/getResponseBody",f.template(Zs)),f.registerPartial("xhr/getResponseHeader",f.template(ei)),f.registerPartial("xhr/request",f.template(ti)),f.registerPartial("xhr/sendRequest",f.template(ni)),f.registerPartial("axios/getHeaders",f.template(Ts)),f.registerPartial("axios/getRequestBody",f.template(Rs)),f.registerPartial("axios/getResponseBody",f.template(As)),f.registerPartial("axios/getResponseHeader",f.template(vs)),f.registerPartial("axios/request",f.template(Es)),f.registerPartial("axios/sendRequest",f.template(qs)),f.registerPartial("angular/getHeaders",f.template(ds)),f.registerPartial("angular/getRequestBody",f.template(ys)),f.registerPartial("angular/getResponseBody",f.template(gs)),f.registerPartial("angular/getResponseHeader",f.template(hs)),f.registerPartial("angular/request",f.template(xs)),f.registerPartial("angular/sendRequest",f.template(Os)),e};var oi=e=>{let t=g(),r=t.services.filter?new RegExp(t.services.filter):void 0;return !r||r.test(e)},si=e=>{let t=g();return !R(t)||e.prop!=="api-version"},ii=e=>{let t=g();if(t.services.operationId&&e.id)return j({input:Ue(e.id)});let r=e.path;return R(t)&&(r=r.replace(/[^/]*?{api-version}.*?\//g,"")),r=r.replace(/{(.*?)}/g,"by-$1").replace(/[/:]/g,"-"),j({input:`${e.method}-${r}`})},ai=e=>{let t=g();return R(t)?un(e.prop):e.prop};var pi=e=>`${e}-end`,On=e=>`${e}-length`,ci=e=>`${e}-start`,N={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(pi(e)),getEntriesByName:e=>performance.getEntriesByName(On(e)),measure:e=>performance.measure(On(e),ci(e),pi(e)),start:e=>performance.mark(ci(e))},Lt=class{totalMeasure;constructor({totalMark:t}){this.totalMeasure=N.measure(t);}report({marks:t}){let r=Math.ceil(this.totalMeasure.duration*100)/100,s=this.totalMeasure.name;console.warn(`${s.substring(0,s.length-On("").length)}: ${r.toFixed(2)}ms`),t.forEach(n=>{let o=N.measure(n),a=Math.ceil(o.duration*100)/100,i=Math.ceil(o.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${n}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);});}};function mi(e){return {...e,models:e.models.map(t=>lp(t)),services:up(e.operations).map(fp),types:{}}}var lp=e=>({...e,$refs:e.$refs.filter((t,r,s)=>H(t,r,s)),enum:e.enum.filter((t,r,s)=>s.findIndex(n=>n.value===t.value)===r),enums:e.enums.filter((t,r,s)=>s.findIndex(n=>n.name===t.name)===r),imports:e.imports.filter((t,r,s)=>H(t,r,s)&&t!==e.name).sort($e)}),up=e=>{let t=g(),r=new Map;return e.forEach(s=>{(s.tags?.length&&(t.services.asClass||t.name)?s.tags.filter(H):["Default"]).forEach(o=>{let a={...s,service:gp(o)},i=r.get(a.service)||yp(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],r.set(a.service,i);});}),Array.from(r.values())},fp=e=>{let t={...e};return t.operations=dp(t),t.operations.forEach(r=>{t.imports.push(...r.imports);}),t.imports=t.imports.filter(H).sort($e),t},dp=e=>{let t=new Map;return e.operations.map(r=>{let s={...r};s.imports.push(...s.parameters.flatMap(i=>i.imports));let n=s.responses.filter(i=>i.responseTypes.includes("success"));s.imports.push(...n.flatMap(i=>i.imports));let o=s.name,a=t.get(o)||0;return a>0&&(s.name=`${o}${a}`),t.set(o,a+1),s})},yp=e=>({$refs:[],imports:[],name:e.service,operations:[]}),gp=e=>j({input:Ue(e),pascalCase:!0});var Op={biome:{args:e=>["format","--write",e],command:"biome",name:"Biome (Format)"},prettier:{args:e=>["--ignore-unknown",e,"--write","--ignore-path","./.prettierignore"],command:"prettier",name:"Prettier"}},bp={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"}},Pp=()=>{let e=g();if(e.output.format){let t=Op[e.output.format];console.log(`\u2728 Running ${t.name}`),(0, bn.sync)(t.command,t.args(e.output.path));}if(e.output.lint){let t=bp[e.output.lint];console.log(`\u2728 Running ${t.name}`),(0, bn.sync)(t.command,t.args(e.output.path));}},Cp=()=>{let{client:e}=g();switch(e.name){case"legacy/angular":return console.log("\u2728 Creating Angular client");case"@hey-api/client-axios":case"legacy/axios":return console.log("\u2728 Creating Axios client");case"@hey-api/client-fetch":case"legacy/fetch":return console.log("\u2728 Creating Fetch client");case"legacy/node":return console.log("\u2728 Creating Node.js client");case"legacy/xhr":return console.log("\u2728 Creating XHR client")}},Tp=e=>{let t={bundle:!1,name:""};return typeof e.client=="string"?t.name=e.client:e.client&&(t={...t,...e.client}),t},Rp=e=>{let t={format:!1,lint:!1,path:""};return typeof e.output=="string"?t.path=e.output:t={...t,...e.output},t},Ap=e=>(e.plugins??[]).map(r=>typeof r=="string"?xn[r]:{...xn[r.name],...r}),vp=e=>{let t={export:!0,type:"json"};return typeof e.schemas=="boolean"?t.export=e.schemas:t={...t,...e.schemas},t},Ep=e=>{let t={asClass:!1,export:!0,name:"{{name}}Service",operationId:!0,response:"body"};return typeof e.services=="boolean"?t.export=e.services:typeof e.services=="string"?t.include=e.services:t={...t,...e.services},t},qp=(e,t)=>{let r={dates:!1,enums:!1,export:!0,name:"preserve",tree:!t.export};return typeof e.types=="boolean"?r.export=e.types:typeof e.types=="string"?r.include=e.types:r={...r,...e.types},r},Sp=async e=>{let t;if(e.configFile){let n=e.configFile.split(".");t=n.slice(0,n.length-1).join(".");}let{config:r}=await loadConfig({configFile:t,name:"openapi-ts"});return (Array.isArray(e)?e:Array.isArray(r)?r.map(n=>({...n,...e})):[{...r??{},...e}]).map(n=>{let{base:o,configFile:a="",debug:i=!1,dryRun:p=!1,exportCore:c=!0,experimental_parser:m=!1,input:u,name:d,request:h,useOptions:O=!0}=n;i&&console.warn("userConfig:",n);let x=Rp(n);if(!u)throw new Error("\u{1F6AB} missing input - which OpenAPI specification should we use to generate your client?");if(!x.path)throw new Error("\u{1F6AB} missing output - where should we generate your client?");let E=Tp(n);if(E.name&&!ls.includes(E.name))throw new Error("\u{1F6AB} invalid client - select a valid client value");O||console.warn("\u2757\uFE0F Deprecation warning: useOptions set to false. This setting will be removed in future versions. Please migrate useOptions to true https://heyapi.dev/openapi-ts/migrating.html#v0-27-38");let C=Ap(n),ue=vp(n),ke=Ep(n),F=qp(n,ke);x.path=K.resolve(process.cwd(),x.path);let J=ur({base:o,client:E,configFile:a,debug:i,dryRun:p,experimental_parser:m,exportCore:R(E)?c:!1,input:u,name:d,output:x,plugins:C,request:h,schemas:ue,services:ke,types:F,useOptions:O});return i&&console.warn("config:",J),J})};async function kp(e){N.start("createClient"),N.start("config");let t=await Sp(e);N.end("config"),N.start("handlebars");let r=ri();N.end("handlebars");let s=a=>async()=>{N.start("openapi");let i=typeof a.input=="string"?await us(a.input):a.input;if(N.end("openapi"),a.experimental_parser)N.start("experimental_parser"),Mo({spec:i}),N.end("experimental_parser");else {N.start("parser");let p=Do({config:{filterFn:{operation:oi,operationParameter:si},nameFn:{operation:ii,operationParameter:ai}},openApi:i}),c=mi(p);return N.end("parser"),Cp(),N.start("generator"),await es(i,c,r),N.end("generator"),N.start("postprocess"),a.dryRun||(Pp(),console.log("\u2728 Done! Your client is located in:",a.output.path)),N.end("postprocess"),c}},n=[],o=t.map(a=>s(a));for(let a of o){let i=await a();i&&n.push(i);}return N.end("createClient"),e.debug&&new Lt({totalMark:"createClient"}).report({marks:["config","openapi","handlebars","parser","generator","postprocess"]}),n}var Np=e=>e,nx={createClient:kp,defineConfig:Np};
|
|
1317
1317
|
|
|
1318
1318
|
export { kp as createClient, nx as default, Np as defineConfig };
|
|
1319
1319
|
//# sourceMappingURL=index.js.map
|