@hey-api/openapi-ts 0.73.0 → 0.75.0

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.d.cts CHANGED
@@ -1,21 +1,34 @@
1
- import { P as PluginHandler, S as StringCase, U as UserConfig, C as Client, I as IR } from './types.d-CAqtwzfv.cjs';
2
- export { b as Client, L as LegacyIR, O as OpenApi, a as OpenApiSchemaObject, c as Plugin, d as defaultPlugins } from './types.d-CAqtwzfv.cjs';
1
+ import { P as PluginHandler, B as BaseConfig, a as Plugin, S as StringCase, U as UserConfig, C as Client, I as IR } from './types.d-CjrgVCUn.cjs';
2
+ export { c as Client, L as LegacyIR, O as OpenApi, b as OpenApiSchemaObject, d as defaultPlugins } from './types.d-CjrgVCUn.cjs';
3
3
  import 'node:fs';
4
4
  import 'typescript';
5
5
 
6
6
  declare const defaultPaginationKeywords: readonly ["after", "before", "cursor", "offset", "page", "start"];
7
7
 
8
8
  declare const clientDefaultConfig: {
9
- readonly _dependencies: readonly ["@hey-api/typescript"];
10
- readonly _tags: readonly ["client"];
11
9
  readonly baseUrl: true;
12
10
  readonly bundle: true;
13
11
  readonly exportFromIndex: false;
12
+ };
13
+ declare const clientDefaultMeta: {
14
+ readonly dependencies: readonly ["@hey-api/typescript"];
15
+ readonly handlerLegacy: () => void;
14
16
  readonly output: "client";
17
+ readonly tags: readonly ["client"];
15
18
  };
16
19
 
17
20
  declare const clientPluginHandler: PluginHandler;
18
21
 
22
+ declare const definePluginConfig: <Config extends BaseConfig, ResolvedConfig extends BaseConfig = Config>(defaultConfig: Plugin.Config<Config, ResolvedConfig>) => (userConfig?: Omit<Plugin.UserConfig<Config>, "name">) => Omit<Plugin.Config<Config, ResolvedConfig>, "name"> & {
23
+ /**
24
+ * Cast name to `any` so it doesn't throw type error in `plugins` array.
25
+ * We could allow any `string` as plugin `name` in the object syntax, but
26
+ * that TypeScript trick would cause all string methods to appear as
27
+ * suggested auto completions, which is undesirable.
28
+ */
29
+ name: any;
30
+ };
31
+
19
32
  declare const utils: {
20
33
  stringCase: ({ case: _case, stripLeadingSeparators, value, }: {
21
34
  readonly case: StringCase | undefined;
@@ -36,4 +49,4 @@ declare const createClient: (userConfig?: Configs) => Promise<ReadonlyArray<Clie
36
49
  */
37
50
  declare const defineConfig: (config: Configs) => Promise<UserConfig>;
38
51
 
39
- export { IR, UserConfig, clientDefaultConfig, clientPluginHandler, createClient, defaultPaginationKeywords, defineConfig, utils };
52
+ export { IR, Plugin, UserConfig, clientDefaultConfig, clientDefaultMeta, clientPluginHandler, createClient, defaultPaginationKeywords, defineConfig, definePluginConfig, utils };
package/dist/index.d.ts CHANGED
@@ -1,21 +1,34 @@
1
- import { P as PluginHandler, S as StringCase, U as UserConfig, C as Client, I as IR } from './types.d-CAqtwzfv.js';
2
- export { b as Client, L as LegacyIR, O as OpenApi, a as OpenApiSchemaObject, c as Plugin, d as defaultPlugins } from './types.d-CAqtwzfv.js';
1
+ import { P as PluginHandler, B as BaseConfig, a as Plugin, S as StringCase, U as UserConfig, C as Client, I as IR } from './types.d-CjrgVCUn.js';
2
+ export { c as Client, L as LegacyIR, O as OpenApi, b as OpenApiSchemaObject, d as defaultPlugins } from './types.d-CjrgVCUn.js';
3
3
  import 'node:fs';
4
4
  import 'typescript';
5
5
 
6
6
  declare const defaultPaginationKeywords: readonly ["after", "before", "cursor", "offset", "page", "start"];
7
7
 
8
8
  declare const clientDefaultConfig: {
9
- readonly _dependencies: readonly ["@hey-api/typescript"];
10
- readonly _tags: readonly ["client"];
11
9
  readonly baseUrl: true;
12
10
  readonly bundle: true;
13
11
  readonly exportFromIndex: false;
12
+ };
13
+ declare const clientDefaultMeta: {
14
+ readonly dependencies: readonly ["@hey-api/typescript"];
15
+ readonly handlerLegacy: () => void;
14
16
  readonly output: "client";
17
+ readonly tags: readonly ["client"];
15
18
  };
16
19
 
17
20
  declare const clientPluginHandler: PluginHandler;
18
21
 
22
+ declare const definePluginConfig: <Config extends BaseConfig, ResolvedConfig extends BaseConfig = Config>(defaultConfig: Plugin.Config<Config, ResolvedConfig>) => (userConfig?: Omit<Plugin.UserConfig<Config>, "name">) => Omit<Plugin.Config<Config, ResolvedConfig>, "name"> & {
23
+ /**
24
+ * Cast name to `any` so it doesn't throw type error in `plugins` array.
25
+ * We could allow any `string` as plugin `name` in the object syntax, but
26
+ * that TypeScript trick would cause all string methods to appear as
27
+ * suggested auto completions, which is undesirable.
28
+ */
29
+ name: any;
30
+ };
31
+
19
32
  declare const utils: {
20
33
  stringCase: ({ case: _case, stripLeadingSeparators, value, }: {
21
34
  readonly case: StringCase | undefined;
@@ -36,4 +49,4 @@ declare const createClient: (userConfig?: Configs) => Promise<ReadonlyArray<Clie
36
49
  */
37
50
  declare const defineConfig: (config: Configs) => Promise<UserConfig>;
38
51
 
39
- export { IR, UserConfig, clientDefaultConfig, clientPluginHandler, createClient, defaultPaginationKeywords, defineConfig, utils };
52
+ export { IR, Plugin, UserConfig, clientDefaultConfig, clientDefaultMeta, clientPluginHandler, createClient, defaultPaginationKeywords, defineConfig, definePluginConfig, utils };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import {createRequire}from'module';import {b,a,c,n,G,C,s,u,v,t,r,f as f$1,g,B,A,e,y,k,q,p as p$1,d,l,m,o,z,h,i,j,w}from'./chunk-QUDCWAFW.js';export{D as clientDefaultConfig,E as clientPluginHandler,x as defaultPaginationKeywords,F as defaultPlugins}from'./chunk-QUDCWAFW.js';import P from'ansi-colors';import ar from'color-support';import R from'node:path';import v$1 from'node:fs';import Pt from'typescript';import p from'handlebars';createRequire(import.meta.url);
2
- var He=b((Qr,Se)=>{Se.exports=Ee;Ee.sync=xt;var ke=a("fs");function bt(e,n){var s=n.pathExt!==void 0?n.pathExt:process.env.PATHEXT;if(!s||(s=s.split(";"),s.indexOf("")!==-1))return true;for(var t=0;t<s.length;t++){var r=s[t].toLowerCase();if(r&&e.substr(-r.length).toLowerCase()===r)return true}return false}function we(e,n,s){return !e.isSymbolicLink()&&!e.isFile()?false:bt(n,s)}function Ee(e,n,s){ke.stat(e,function(t,r){s(t,t?false:we(r,e,n));});}function xt(e,n){return we(ke.statSync(e),e,n)}});var je=b((Jr,$e)=>{$e.exports=Ie;Ie.sync=Ct;var De=a("fs");function Ie(e,n,s){De.stat(e,function(t,r){s(t,t?false:Be(r,n));});}function Ct(e,n){return Be(De.statSync(e),n)}function Be(e,n){return e.isFile()&&qt(e,n)}function qt(e,n){var s=e.mode,t=e.uid,r=e.gid,o=n.uid!==void 0?n.uid:process.getuid&&process.getuid(),a=n.gid!==void 0?n.gid:process.getgid&&process.getgid(),i=parseInt("100",8),u=parseInt("010",8),l=parseInt("001",8),c=i|u,m=s&l||s&u&&r===a||s&i&&t===o||s&c&&o===0;return m}});var _e=b((Zr,Ne)=>{a("fs");var F;process.platform==="win32"||global.TESTING_WINDOWS?F=He():F=je();Ne.exports=V;V.sync=At;function V(e,n,s){if(typeof n=="function"&&(s=n,n={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(t,r){V(e,n||{},function(o,a){o?r(o):t(a);});})}F(e,n||{},function(t,r){t&&(t.code==="EACCES"||n&&n.ignoreErrors)&&(t=null,r=false),s(t,r);});}function At(e,n){try{return F.sync(e,n||{})}catch(s){if(n&&n.ignoreErrors||s.code==="EACCES")return false;throw s}}});var Ge=b((eo,Ve)=>{var w=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Fe=a("path"),Tt=w?";":":",Me=_e(),We=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Le=(e,n)=>{let s=n.colon||Tt,t=e.match(/\//)||w&&e.match(/\\/)?[""]:[...w?[process.cwd()]:[],...(n.path||process.env.PATH||"").split(s)],r=w?n.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=w?r.split(s):[""];return w&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:t,pathExt:o,pathExtExe:r}},Ue=(e,n,s)=>{typeof n=="function"&&(s=n,n={}),n||(n={});let{pathEnv:t,pathExt:r,pathExtExe:o}=Le(e,n),a=[],i=l=>new Promise((c,m)=>{if(l===t.length)return n.all&&a.length?c(a):m(We(e));let d=t[l],A=/^".*"$/.test(d)?d.slice(1,-1):d,q=Fe.join(A,e),O=!A&&/^\.[\\\/]/.test(e)?e.slice(0,2)+q:q;c(u(O,l,0));}),u=(l,c,m)=>new Promise((d,A)=>{if(m===r.length)return d(i(c+1));let q=r[m];Me(l+q,{pathExt:o},(O,H)=>{if(!O&&H)if(n.all)a.push(l+q);else return d(l+q);return d(u(l,c,m+1))});});return s?i(0).then(l=>s(null,l),s):i(0)},Ot=(e,n)=>{n=n||{};let{pathEnv:s,pathExt:t,pathExtExe:r}=Le(e,n),o=[];for(let a=0;a<s.length;a++){let i=s[a],u=/^".*"$/.test(i)?i.slice(1,-1):i,l=Fe.join(u,e),c=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let m=0;m<t.length;m++){let d=c+t[m];try{if(Me.sync(d,{pathExt:r}))if(n.all)o.push(d);else return d}catch{}}}if(n.all&&o.length)return o;if(n.nothrow)return null;throw We(e)};Ve.exports=Ue;Ue.sync=Ot;});var Ke=b((no,G)=>{var ze=(e={})=>{let n=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(t=>t.toUpperCase()==="PATH")||"Path"};G.exports=ze;G.exports.default=ze;});var Ye=b((to,Je)=>{var Xe=a("path"),kt=Ge(),wt=Ke();function Qe(e,n){let s=e.options.env||process.env,t=process.cwd(),r=e.options.cwd!=null,o=r&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd);}catch{}let a;try{a=kt.sync(e.command,{path:s[wt({env:s})],pathExt:n?Xe.delimiter:void 0});}catch{}finally{o&&process.chdir(t);}return a&&(a=Xe.resolve(r?e.options.cwd:"",a)),a}function Et(e){return Qe(e)||Qe(e,true)}Je.exports=Et;});var Ze=b((ro,K)=>{var z=/([()\][%!^"`<>&|;, *?])/g;function St(e){return e=e.replace(z,"^$1"),e}function Ht(e,n){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(z,"^$1"),n&&(e=e.replace(z,"^$1")),e}K.exports.command=St;K.exports.argument=Ht;});var nn=b((oo,en)=>{en.exports=/^#!(.*)/;});var rn=b((so,tn)=>{var Dt=nn();tn.exports=(e="")=>{let n=e.match(Dt);if(!n)return null;let[s,t]=n[0].replace(/#! ?/,"").split(" "),r=s.split("/").pop();return r==="env"?t:t?`${r} ${t}`:r};});var sn=b((io,on)=>{var X=a("fs"),It=rn();function Bt(e){let s=Buffer.alloc(150),t;try{t=X.openSync(e,"r"),X.readSync(t,s,0,150,0),X.closeSync(t);}catch{}return It(s.toString())}on.exports=Bt;});var pn=b((ao,un)=>{var $t=a("path"),an=Ye(),ln=Ze(),jt=sn(),Nt=process.platform==="win32",_t=/\.(?:com|exe)$/i,Ft=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Mt(e){e.file=an(e);let n=e.file&&jt(e.file);return n?(e.args.unshift(e.file),e.command=n,an(e)):e.file}function Wt(e){if(!Nt)return e;let n=Mt(e),s=!_t.test(n);if(e.options.forceShell||s){let t=Ft.test(n);e.command=$t.normalize(e.command),e.command=ln.command(e.command),e.args=e.args.map(o=>ln.argument(o,t));let r=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${r}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=true;}return e}function Lt(e,n,s){n&&!Array.isArray(n)&&(s=n,n=null),n=n?n.slice(0):[],s=Object.assign({},s);let t={command:e,args:n,options:s,file:void 0,original:{command:e,args:n}};return s.shell?t:Wt(t)}un.exports=Lt;});var fn=b((lo,mn)=>{var Q=process.platform==="win32";function J(e,n){return Object.assign(new Error(`${n} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${n} ${e.command}`,path:e.command,spawnargs:e.args})}function Ut(e,n){if(!Q)return;let s=e.emit;e.emit=function(t,r){if(t==="exit"){let o=cn(r,n);if(o)return s.call(e,"error",o)}return s.apply(e,arguments)};}function cn(e,n){return Q&&e===1&&!n.file?J(n.original,"spawn"):null}function Vt(e,n){return Q&&e===1&&!n.file?J(n.original,"spawnSync"):null}mn.exports={hookChildProcess:Ut,verifyENOENT:cn,verifyENOENTSync:Vt,notFoundError:J};});var hn=b((uo,E)=>{var dn=a("child_process"),Y=pn(),Z=fn();function gn(e,n,s){let t=Y(e,n,s),r=dn.spawn(t.command,t.args,t.options);return Z.hookChildProcess(r,t),r}function Gt(e,n,s){let t=Y(e,n,s),r=dn.spawnSync(t.command,t.args,t.options);return r.error=r.error||Z.verifyENOENTSync(r.status,t),r}E.exports=gn;E.exports.spawn=gn;E.exports.sync=Gt;E.exports._parse=Y;E.exports._enoent=Z;});var _=e=>{switch(e){case "legacy/angular":return "AngularHttpRequest";case "legacy/axios":return "AxiosHttpRequest";case "legacy/fetch":return "FetchHttpRequest";case "legacy/node":return "NodeHttpRequest";case "legacy/xhr":return "XHRHttpRequest";default:return ""}};var be=async(e$1,n,s,t)=>{let r=e(),o=d(r),a=t.client({$config:r,...s,httpRequest:_(o.name),models:i(s.models),services:i(s.services)});g(r)&&(j(n),v$1.writeFileSync(R.resolve(n,`${g(r)}.ts`),a));};var xe=async(e$1,n,s)=>{let t=e();if(t.exportCore){let r=d(t),o={httpRequest:_(r.name),server:t.base!==void 0?t.base:n.server,version:n.version};if(v$1.rmSync(R.resolve(e$1),{force:true,recursive:true}),v$1.mkdirSync(R.resolve(e$1),{recursive:true}),await v$1.writeFileSync(R.resolve(e$1,"OpenAPI.ts"),s.core.settings({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiError.ts"),s.core.apiError({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiRequestOptions.ts"),s.core.apiRequestOptions({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiResult.ts"),s.core.apiResult({$config:t,...o})),r.name!=="legacy/angular"&&await v$1.writeFileSync(R.resolve(e$1,"CancelablePromise.ts"),s.core.cancelablePromise({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"request.ts"),s.core.request({$config:t,...o})),g(t)&&(await v$1.writeFileSync(R.resolve(e$1,"BaseHttpRequest.ts"),s.core.baseHttpRequest({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,`${o.httpRequest}.ts`),s.core.httpRequest({$config:t,...o}))),t.request){let a=R.resolve(process.cwd(),t.request);if(!await v$1.existsSync(a))throw new Error(`Custom request file "${a}" does not exists`);await v$1.copyFileSync(a,R.resolve(e$1,"request.ts"));}}};var Ce=({files:e$1})=>{let n=e();e$1.index=new o({dir:n.output.path,id:"index",name:"index.ts"}),g(n)&&e$1.index.add(m.exportNamedDeclaration({exports:g(n),module:`./${g(n)}`})),n.exportCore&&(e$1.index.add(m.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),n.plugins["@hey-api/sdk"]?.response==="response"&&e$1.index.add(m.exportNamedDeclaration({exports:{asType:true,name:"ApiResult"},module:"./core/ApiResult"})),g(n)&&e$1.index.add(m.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),d(n).name!=="legacy/angular"&&e$1.index.add(m.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e$1.index.add(m.exportNamedDeclaration({exports:["OpenAPI",{asType:true,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e$1).sort().forEach(s=>{let t=e$1[s];s==="index"||t.isEmpty()||t.exportFromIndex&&e$1.index.add(m.exportAllDeclaration({module:`./${t.nameWithoutExtension()}`}));});};var qe=async({client:e$1,openApi:n,templates:s})=>{let t=e(),r=n;if(e$1){if(t.plugins["@hey-api/sdk"]?.include&&t.plugins["@hey-api/sdk"].asClass){let l=new RegExp(t.plugins["@hey-api/sdk"].include);e$1.services=e$1.services.filter(c=>l.test(c.name));}if(t.plugins["@hey-api/typescript"]?.include){let l=new RegExp(t.plugins["@hey-api/typescript"].include);e$1.models=e$1.models.filter(c=>l.test(c.name));}}let o$1=R.resolve(t.output.path);t.output.clean&&k(o$1);let a=q(p$1(t.output.tsConfigPath)),i=d(t);!f$1(t)&&"bundle"in i&&i.bundle&&l({outputPath:o$1,plugin:i,tsConfig:a}),await be(r,o$1,e$1,s),await xe(R.resolve(t.output.path,"core"),e$1,s);let u={};for(let l of t.pluginOrder){let c=t.plugins[l],m=(c.output??"").split("/"),d=R.resolve(t.output.path,...m.slice(0,m.length-1));u[c.name]=new o({dir:d,id:`legacy-unused-${c.name}`,name:`${m[m.length-1]}.ts`}),c._handlerLegacy({client:e$1,files:u,openApi:r,plugin:c});}Ce({files:u}),Object.entries(u).forEach(([l,c])=>{t.dryRun||(l==="index"?c.write(`
1
+ import {createRequire}from'module';import {b,a,c,n,I,C,s,u,v,t,r,f as f$1,g,B,A,e,y,k,q,p as p$1,d,l,m,o,z,h,i,j,w}from'./chunk-D24GAR6J.js';export{E as clientDefaultConfig,F as clientDefaultMeta,G as clientPluginHandler,x as defaultPaginationKeywords,H as defaultPlugins,D as definePluginConfig}from'./chunk-D24GAR6J.js';import x from'ansi-colors';import lr from'color-support';import R from'node:path';import v$1 from'node:fs';import Ct from'typescript';import p from'handlebars';createRequire(import.meta.url);
2
+ var Se=b((Xr,we)=>{we.exports=Ee;Ee.sync=qt;var ke=a("fs");function bt(e,n){var s=n.pathExt!==void 0?n.pathExt:process.env.PATHEXT;if(!s||(s=s.split(";"),s.indexOf("")!==-1))return true;for(var t=0;t<s.length;t++){var r=s[t].toLowerCase();if(r&&e.substr(-r.length).toLowerCase()===r)return true}return false}function Oe(e,n,s){return !e.isSymbolicLink()&&!e.isFile()?false:bt(n,s)}function Ee(e,n,s){ke.stat(e,function(t,r){s(t,t?false:Oe(r,e,n));});}function qt(e,n){return Oe(ke.statSync(e),e,n)}});var $e=b((Qr,Be)=>{Be.exports=De;De.sync=At;var He=a("fs");function De(e,n,s){He.stat(e,function(t,r){s(t,t?false:Ie(r,n));});}function At(e,n){return Ie(He.statSync(e),n)}function Ie(e,n){return e.isFile()&&Tt(e,n)}function Tt(e,n){var s=e.mode,t=e.uid,r=e.gid,o=n.uid!==void 0?n.uid:process.getuid&&process.getuid(),a=n.gid!==void 0?n.gid:process.getgid&&process.getgid(),i=parseInt("100",8),u=parseInt("010",8),l=parseInt("001",8),c=i|u,m=s&l||s&u&&r===a||s&i&&t===o||s&c&&o===0;return m}});var Ne=b((Yr,je)=>{a("fs");var _;process.platform==="win32"||global.TESTING_WINDOWS?_=Se():_=$e();je.exports=V;V.sync=kt;function V(e,n,s){if(typeof n=="function"&&(s=n,n={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(t,r){V(e,n||{},function(o,a){o?r(o):t(a);});})}_(e,n||{},function(t,r){t&&(t.code==="EACCES"||n&&n.ignoreErrors)&&(t=null,r=false),s(t,r);});}function kt(e,n){try{return _.sync(e,n||{})}catch(s){if(n&&n.ignoreErrors||s.code==="EACCES")return false;throw s}}});var Ve=b((Zr,Ue)=>{var E=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Fe=a("path"),Ot=E?";":":",_e=Ne(),Me=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),We=(e,n)=>{let s=n.colon||Ot,t=e.match(/\//)||E&&e.match(/\\/)?[""]:[...E?[process.cwd()]:[],...(n.path||process.env.PATH||"").split(s)],r=E?n.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=E?r.split(s):[""];return E&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:t,pathExt:o,pathExtExe:r}},Le=(e,n,s)=>{typeof n=="function"&&(s=n,n={}),n||(n={});let{pathEnv:t,pathExt:r,pathExtExe:o}=We(e,n),a=[],i=l=>new Promise((c,m)=>{if(l===t.length)return n.all&&a.length?c(a):m(Me(e));let d=t[l],A=/^".*"$/.test(d)?d.slice(1,-1):d,q=Fe.join(A,e),k=!A&&/^\.[\\\/]/.test(e)?e.slice(0,2)+q:q;c(u(k,l,0));}),u=(l,c,m)=>new Promise((d,A)=>{if(m===r.length)return d(i(c+1));let q=r[m];_e(l+q,{pathExt:o},(k,H)=>{if(!k&&H)if(n.all)a.push(l+q);else return d(l+q);return d(u(l,c,m+1))});});return s?i(0).then(l=>s(null,l),s):i(0)},Et=(e,n)=>{n=n||{};let{pathEnv:s,pathExt:t,pathExtExe:r}=We(e,n),o=[];for(let a=0;a<s.length;a++){let i=s[a],u=/^".*"$/.test(i)?i.slice(1,-1):i,l=Fe.join(u,e),c=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let m=0;m<t.length;m++){let d=c+t[m];try{if(_e.sync(d,{pathExt:r}))if(n.all)o.push(d);else return d}catch{}}}if(n.all&&o.length)return o;if(n.nothrow)return null;throw Me(e)};Ue.exports=Le;Le.sync=Et;});var ze=b((eo,G)=>{var Ge=(e={})=>{let n=e.env||process.env;return (e.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(t=>t.toUpperCase()==="PATH")||"Path"};G.exports=Ge;G.exports.default=Ge;});var Je=b((no,Qe)=>{var Ke=a("path"),wt=Ve(),St=ze();function Xe(e,n){let s=e.options.env||process.env,t=process.cwd(),r=e.options.cwd!=null,o=r&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd);}catch{}let a;try{a=wt.sync(e.command,{path:s[St({env:s})],pathExt:n?Ke.delimiter:void 0});}catch{}finally{o&&process.chdir(t);}return a&&(a=Ke.resolve(r?e.options.cwd:"",a)),a}function Ht(e){return Xe(e)||Xe(e,true)}Qe.exports=Ht;});var Ye=b((to,K)=>{var z=/([()\][%!^"`<>&|;, *?])/g;function Dt(e){return e=e.replace(z,"^$1"),e}function It(e,n){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(z,"^$1"),n&&(e=e.replace(z,"^$1")),e}K.exports.command=Dt;K.exports.argument=It;});var en=b((ro,Ze)=>{Ze.exports=/^#!(.*)/;});var tn=b((oo,nn)=>{var Bt=en();nn.exports=(e="")=>{let n=e.match(Bt);if(!n)return null;let[s,t]=n[0].replace(/#! ?/,"").split(" "),r=s.split("/").pop();return r==="env"?t:t?`${r} ${t}`:r};});var on=b((so,rn)=>{var X=a("fs"),$t=tn();function jt(e){let s=Buffer.alloc(150),t;try{t=X.openSync(e,"r"),X.readSync(t,s,0,150,0),X.closeSync(t);}catch{}return $t(s.toString())}rn.exports=jt;});var un=b((io,ln)=>{var Nt=a("path"),sn=Je(),an=Ye(),Ft=on(),_t=process.platform==="win32",Mt=/\.(?:com|exe)$/i,Wt=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Lt(e){e.file=sn(e);let n=e.file&&Ft(e.file);return n?(e.args.unshift(e.file),e.command=n,sn(e)):e.file}function Ut(e){if(!_t)return e;let n=Lt(e),s=!Mt.test(n);if(e.options.forceShell||s){let t=Wt.test(n);e.command=Nt.normalize(e.command),e.command=an.command(e.command),e.args=e.args.map(o=>an.argument(o,t));let r=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${r}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=true;}return e}function Vt(e,n,s){n&&!Array.isArray(n)&&(s=n,n=null),n=n?n.slice(0):[],s=Object.assign({},s);let t={command:e,args:n,options:s,file:void 0,original:{command:e,args:n}};return s.shell?t:Ut(t)}ln.exports=Vt;});var mn=b((ao,cn)=>{var Q=process.platform==="win32";function J(e,n){return Object.assign(new Error(`${n} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${n} ${e.command}`,path:e.command,spawnargs:e.args})}function Gt(e,n){if(!Q)return;let s=e.emit;e.emit=function(t,r){if(t==="exit"){let o=pn(r,n);if(o)return s.call(e,"error",o)}return s.apply(e,arguments)};}function pn(e,n){return Q&&e===1&&!n.file?J(n.original,"spawn"):null}function zt(e,n){return Q&&e===1&&!n.file?J(n.original,"spawnSync"):null}cn.exports={hookChildProcess:Gt,verifyENOENT:pn,verifyENOENTSync:zt,notFoundError:J};});var gn=b((lo,w)=>{var fn=a("child_process"),Y=un(),Z=mn();function dn(e,n,s){let t=Y(e,n,s),r=fn.spawn(t.command,t.args,t.options);return Z.hookChildProcess(r,t),r}function Kt(e,n,s){let t=Y(e,n,s),r=fn.spawnSync(t.command,t.args,t.options);return r.error=r.error||Z.verifyENOENTSync(r.status,t),r}w.exports=dn;w.exports.spawn=dn;w.exports.sync=Kt;w.exports._parse=Y;w.exports._enoent=Z;});var F=e=>{switch(e){case "legacy/angular":return "AngularHttpRequest";case "legacy/axios":return "AxiosHttpRequest";case "legacy/fetch":return "FetchHttpRequest";case "legacy/node":return "NodeHttpRequest";case "legacy/xhr":return "XHRHttpRequest";default:return ""}};var xe=async(e$1,n,s,t)=>{let r=e(),o=d(r),a=t.client({$config:r,...s,httpRequest:F(o.name),models:i(s.models),services:i(s.services)});g(r)&&(j(n),v$1.writeFileSync(R.resolve(n,`${g(r)}.ts`),a));};var Ce=async(e$1,n,s)=>{let t=e();if(t.exportCore){let r=d(t),o={httpRequest:F(r.name),server:t.base!==void 0?t.base:n.server,version:n.version};if(v$1.rmSync(R.resolve(e$1),{force:true,recursive:true}),v$1.mkdirSync(R.resolve(e$1),{recursive:true}),await v$1.writeFileSync(R.resolve(e$1,"OpenAPI.ts"),s.core.settings({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiError.ts"),s.core.apiError({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiRequestOptions.ts"),s.core.apiRequestOptions({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"ApiResult.ts"),s.core.apiResult({$config:t,...o})),r.name!=="legacy/angular"&&await v$1.writeFileSync(R.resolve(e$1,"CancelablePromise.ts"),s.core.cancelablePromise({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,"request.ts"),s.core.request({$config:t,...o})),g(t)&&(await v$1.writeFileSync(R.resolve(e$1,"BaseHttpRequest.ts"),s.core.baseHttpRequest({$config:t,...o})),await v$1.writeFileSync(R.resolve(e$1,`${o.httpRequest}.ts`),s.core.httpRequest({$config:t,...o}))),t.request){let a=R.resolve(process.cwd(),t.request);if(!await v$1.existsSync(a))throw new Error(`Custom request file "${a}" does not exists`);await v$1.copyFileSync(a,R.resolve(e$1,"request.ts"));}}};var be=({files:e$1})=>{let n=e();e$1.index=new o({dir:n.output.path,id:"index",name:"index.ts"}),g(n)&&e$1.index.add(m.exportNamedDeclaration({exports:g(n),module:`./${g(n)}`})),n.exportCore&&(e$1.index.add(m.exportNamedDeclaration({exports:"ApiError",module:"./core/ApiError"})),n.plugins["@hey-api/sdk"]?.config.response==="response"&&e$1.index.add(m.exportNamedDeclaration({exports:{asType:true,name:"ApiResult"},module:"./core/ApiResult"})),g(n)&&e$1.index.add(m.exportNamedDeclaration({exports:"BaseHttpRequest",module:"./core/BaseHttpRequest"})),d(n).name!=="legacy/angular"&&e$1.index.add(m.exportNamedDeclaration({exports:["CancelablePromise","CancelError"],module:"./core/CancelablePromise"})),e$1.index.add(m.exportNamedDeclaration({exports:["OpenAPI",{asType:true,name:"OpenAPIConfig"}],module:"./core/OpenAPI"}))),Object.keys(e$1).sort().forEach(s=>{let t=e$1[s];s==="index"||t.isEmpty()||t.exportFromIndex&&e$1.index.add(m.exportAllDeclaration({module:`./${t.nameWithoutExtension()}`}));});};var qe=async({client:e$1,openApi:n,templates:s})=>{let t=e(),r=n;if(e$1){if(t.plugins["@hey-api/sdk"]?.config.include&&t.plugins["@hey-api/sdk"].config.asClass){let l=new RegExp(t.plugins["@hey-api/sdk"].config.include);e$1.services=e$1.services.filter(c=>l.test(c.name));}if(t.plugins["@hey-api/typescript"]?.config.include){let l=new RegExp(t.plugins["@hey-api/typescript"].config.include);e$1.models=e$1.models.filter(c=>l.test(c.name));}}let o$1=R.resolve(t.output.path);t.output.clean&&k(o$1);let a=q(p$1(t.output.tsConfigPath)),i=d(t);!f$1(t)&&"bundle"in i.config&&i.config.bundle&&l({outputPath:o$1,plugin:i,tsConfig:a}),await xe(r,o$1,e$1,s),await Ce(R.resolve(t.output.path,"core"),e$1,s);let u={};for(let l of t.pluginOrder){let c=t.plugins[l],m=(c.output??"").split("/"),d=R.resolve(t.output.path,...m.slice(0,m.length-1));u[c.name]=new o({dir:d,id:`legacy-unused-${c.name}`,name:`${m[m.length-1]}.ts`}),c.handlerLegacy({client:e$1,files:u,openApi:r,plugin:c});}be({files:u}),Object.entries(u).forEach(([l,c])=>{t.dryRun||(l==="index"?c.write(`
3
3
  `,a):c.write(`
4
4
 
5
- `,a));});};var Ae=async({context:e})=>{await e.broadcast("before");for(let n of e.ir.servers??[])await e.broadcast("server",{server:n});if(e.ir.components){for(let n in e.ir.components.schemas){let s=e.ir.components.schemas[n],t=`#/components/schemas/${n}`;await e.broadcast("schema",{$ref:t,name:n,schema:s});}for(let n in e.ir.components.parameters){let s=e.ir.components.parameters[n],t=`#/components/parameters/${n}`;await e.broadcast("parameter",{$ref:t,name:n,parameter:s});}for(let n in e.ir.components.requestBodies){let s=e.ir.components.requestBodies[n],t=`#/components/requestBodies/${n}`;await e.broadcast("requestBody",{$ref:t,name:n,requestBody:s});}}for(let n in e.ir.paths){let s=e.ir.paths[n];for(let t in s){let r=t,o=s[r];await e.broadcast("operation",{method:r,operation:o,path:n});}}await e.broadcast("after");};var Te=async({context:e})=>{let n=R.resolve(e.config.output.path);e.config.output.clean&&k(n);let s=q(p$1(e.config.output.tsConfigPath)),t=s?.options.moduleResolution===Pt.ModuleResolutionKind.NodeNext,r=d(e.config);"bundle"in r&&r.bundle&&l({outputPath:n,plugin:r,tsConfig:s});for(let o of e.config.pluginOrder){let a=e.config.plugins[o],i=e.subscribe.bind(e);e.subscribe=(u,l)=>{i(u,l,o);},a._handler({context:e,plugin:a}),e.subscribe=i;}if(await Ae({context:e}),!e.config.dryRun){let o=e.createFile({id:"_index",path:"index"});for(let a of Object.values(e.files))if(a.nameWithoutExtension()!==o.nameWithoutExtension()){if(!a.isEmpty()&&a.exportFromIndex&&e.config.output.indexFile){let u=o.relativePathToFile({context:e,id:a.id});t&&(u.startsWith("./")||u.startsWith("../"))&&(u==="./client"?u="./client/index.js":u=`${u}.js`),o.add(m.exportAllDeclaration({module:u}));}a.write(`
5
+ `,a));});};var Ae=async({context:e})=>{let n=R.resolve(e.config.output.path);e.config.output.clean&&k(n);let s=q(p$1(e.config.output.tsConfigPath)),t=s?.options.moduleResolution===Ct.ModuleResolutionKind.NodeNext,r=d(e.config);"bundle"in r.config&&r.config.bundle&&l({outputPath:n,plugin:r,tsConfig:s});for(let o of e.registerPlugins())await o.run();if(!e.config.dryRun){let o=e.createFile({id:"_index",path:"index"});for(let a of Object.values(e.files))if(a.nameWithoutExtension()!==o.nameWithoutExtension()){if(!a.isEmpty()&&a.exportFromIndex&&e.config.output.indexFile){let u=o.relativePathToFile({context:e,id:a.id});t&&(u.startsWith("./")||u.startsWith("../"))&&(u==="./client"?u="./client/index.js":u=`${u}.js`),o.add(m.exportAllDeclaration({module:u}));}a.write(`
6
6
 
7
7
  `,s);}e.config.output.indexFile&&o.write(`
8
- `,s);}};var Oe=({patchOptions:e,spec:n})=>{if(!e)return;let s=n;if("swagger"in s){if(s.definitions&&e?.schemas)for(let t in e.schemas){let r=e.schemas[t],o=s.definitions[t];o&&typeof o=="object"&&r(o);}return}if(s.components){if(s.components.parameters&&e.parameters)for(let t in e.parameters){let r=e.parameters[t],o=s.components.parameters[t];o&&typeof o=="object"&&r(o);}if(s.components.requestBodies&&e.requestBodies)for(let t in e.requestBodies){let r=e.requestBodies[t],o=s.components.requestBodies[t];o&&typeof o=="object"&&r(o);}if(s.components.responses&&e.responses)for(let t in e.responses){let r=e.responses[t],o=s.components.responses[t];o&&typeof o=="object"&&r(o);}if(s.components.schemas&&e?.schemas)for(let t in e.schemas){let r=e.schemas[t],o=s.components.schemas[t];o&&typeof o=="object"&&r(o);}}};var ee=c(hn(),1),zt={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"}},Kt={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"},oxlint:{args:e=>["--fix",e],command:"oxlint",name:"oxlint"}},yn=({config:e})=>{if(e.output.format){let n=zt[e.output.format];console.log(`\u2728 Running ${n.name}`),(0, ee.sync)(n.command,n.args(e.output.path));}if(e.output.lint){let n=Kt[e.output.lint];console.log(`\u2728 Running ${n.name}`),(0, ee.sync)(n.command,n.args(e.output.path));}};var vn=e=>`${e}-end`,ne=e=>`${e}-length`,Rn=e=>`${e}-start`,f={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(vn(e)),getEntriesByName:e=>performance.getEntriesByName(ne(e)),measure:e=>performance.measure(ne(e),Rn(e),vn(e)),start:e=>performance.mark(Rn(e))},M=class{totalMeasure;constructor({totalMark:n}){this.totalMeasure=f.measure(n);}report({marks:n}){let s=Math.ceil(this.totalMeasure.duration*100)/100,t=this.totalMeasure.name;console.warn(`${t.substring(0,t.length-ne("").length)}: ${s.toFixed(2)}ms`),n.forEach(r=>{try{let o=f.measure(r),a=Math.ceil(o.duration*100)/100,i=Math.ceil(o.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${r}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);}catch{}});}};function Pn(e,n){return {...e,config:n,models:e.models.map(s=>Xt(s)),services:Qt(e.operations).map(Jt),types:{}}}var Xt=e=>({...e,$refs:e.$refs.filter((n,s,t)=>z(n,s,t)),enum:e.enum.filter((n,s,t)=>t.findIndex(r=>r.value===n.value)===s),enums:e.enums.filter((n,s,t)=>t.findIndex(r=>r.name===n.name)===s),imports:e.imports.filter((n,s,t)=>z(n,s,t)&&n!==e.name).sort(h)}),Qt=e$1=>{let n=e(),s=new Map;return e$1.forEach(t=>{(t.tags?.length&&(n.plugins["@hey-api/sdk"]?.asClass||g(n))?t.tags.filter(z):["Default"]).forEach(o=>{let a={...t,service:er(o)},i=s.get(a.service)||Zt(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],s.set(a.service,i);});}),Array.from(s.values())},Jt=e=>{let n={...e};return n.operations=Yt(n),n.operations.forEach(s=>{n.imports.push(...s.imports);}),n.imports=n.imports.filter(z).sort(h),n},Yt=e=>{let n=new Map;return e.operations.map(s=>{let t={...s};t.imports.push(...t.parameters.flatMap(i=>i.imports));let r=t.responses.filter(i=>i.responseTypes.includes("success"));t.imports.push(...r.flatMap(i=>i.imports));let o=t.name,a=n.get(o)||0;return a>0&&(t.name=`${o}${a}`),n.set(o,a+1),t})},Zt=e=>({$refs:[],imports:[],name:e.service,operations:[]}),er=e=>n({case:"PascalCase",value:w(e)});var te=e=>e.startsWith("https://get.heyapi.dev"),tr=e=>{let n={path:""};if(e.path&&(typeof e.path!="string"||!te(e.path)))return n.path=e.path,n;let[s,t]=e.path.split("?"),o=(t||"").split("&").map(b=>b.split("=")),a=s||"";a.endsWith("/")&&(a=a.slice(0,a.length-1));let[,i]=a.split("://"),[u,l,c]=(i||"").split("/");n.organization=l||e.organization,n.project=c||e.project;let m=[],d="api_key";n.api_key=o.find(([b])=>b===d)?.[1]||e.api_key||process.env.HEY_API_TOKEN,n.api_key&&m.push(`${d}=${n.api_key}`);let A="branch";n.branch=o.find(([b])=>b===A)?.[1]||e.branch,n.branch&&m.push(`${A}=${n.branch}`);let q="commit_sha";n.commit_sha=o.find(([b])=>b===q)?.[1]||e.commit_sha,n.commit_sha&&m.push(`${q}=${n.commit_sha}`);let O="tags";n.tags=o.find(([b])=>b===O)?.[1]?.split(",")||e.tags,n.tags?.length&&m.push(`${O}=${n.tags.join(",")}`);let H="version";if(n.version=o.find(([b])=>b===H)?.[1]||e.version,n.version&&m.push(`${H}=${n.version}`),!n.organization)throw new Error("missing organization - from which Hey API platform organization do you want to generate your output?");if(!n.project)throw new Error("missing project - from which Hey API platform project do you want to generate your output?");let oe=m.join("&"),se=u||"get.heyapi.dev",ie=se.startsWith("localhost"),ae=[ie?"http":"https",se].join("://"),le=ie?[ae,"v1","get",n.organization,n.project].join("/"):[ae,n.organization,n.project].join("/");return n.path=oe?`${le}?${oe}`:le,n},rr=({config:e,inputPath:n,watch:s})=>{if(e.logs.level==="silent")return;s&&console.clear();let t=s?P.magenta("Input changed, generating from"):P.cyan("Generating from");if(typeof n.path=="string"){let r=te(n.path)?`${n.organization??""}/${n.project??""}`:n.path;console.log(`\u23F3 ${t} ${r}`),te(n.path)&&(n.branch&&console.log(`${P.gray("branch:")} ${P.green(n.branch)}`),n.commit_sha&&console.log(`${P.gray("commit:")} ${P.green(n.commit_sha)}`),n.tags?.length&&console.log(`${P.gray("tags:")} ${P.green(n.tags.join(", "))}`),n.version&&console.log(`${P.gray("version:")} ${P.green(n.version)}`));}else console.log(`\u23F3 ${t} raw OpenAPI specification`);},re=async({config:e,templates:n,watch:s})=>{let t=tr(e.input),{timeout:r$1}=e.input.watch,o=s||{headers:new Headers};rr({config:e,inputPath:t,watch:!!s}),f.start("spec");let{data:a,error:i,response:u}=await r({fetchOptions:e.input.fetch,inputPath:t.path,timeout:r$1,watch:o});if(f.end("spec"),i&&!s)throw new Error(`Request failed with status ${u.status}: ${u.statusText}`);let l,c;if(a){if(f.start("input.patch"),Oe({patchOptions:e.input.patch,spec:a}),f.end("input.patch"),f.start("parser"),e.experimentalParser&&!f$1(e)&&!g(e)&&(c=B({config:e,spec:a})),!c){let m=A({openApi:a});l=Pn(m,e);}if(f.end("parser"),f.start("generator"),c?await Te({context:c}):l&&await qe({client:l,openApi:a,templates:n}),f.end("generator"),f.start("postprocess"),!e.dryRun&&(yn({config:e}),e.logs.level!=="silent")){let m=process.env.INIT_CWD?`./${R.relative(process.env.INIT_CWD,e.output.path)}`:e.output.path;console.log(`${P.green("\u{1F680} Done!")} Your output is in ${P.cyanBright(m)}`);}f.end("postprocess");}return e.input.watch.enabled&&typeof t.path=="string"&&setTimeout(()=>{re({config:e,templates:n,watch:o});},e.input.watch.interval),c||l};var bn={1:function(e,n,s,t,r){return `import { NgModule} from '@angular/core';
8
+ `,s);}};var Te=({patchOptions:e,spec:n})=>{if(!e)return;let s=n;if("swagger"in s){if(e.version&&s.swagger&&(s.swagger=e.version(s.swagger)),e.meta&&s.info&&e.meta(s.info),e.schemas&&s.definitions)for(let t in e.schemas){let r=e.schemas[t],o=s.definitions[t];o&&typeof o=="object"&&r(o);}return}if(e.version&&s.openapi&&(s.openapi=e.version(s.openapi)),e.meta&&s.info&&e.meta(s.info),s.components){if(e.schemas&&s.components.schemas)for(let t in e.schemas){let r=e.schemas[t],o=s.components.schemas[t];o&&typeof o=="object"&&r(o);}if(e.parameters&&s.components.parameters)for(let t in e.parameters){let r=e.parameters[t],o=s.components.parameters[t];o&&typeof o=="object"&&r(o);}if(e.requestBodies&&s.components.requestBodies)for(let t in e.requestBodies){let r=e.requestBodies[t],o=s.components.requestBodies[t];o&&typeof o=="object"&&r(o);}if(e.responses&&s.components.responses)for(let t in e.responses){let r=e.responses[t],o=s.components.responses[t];o&&typeof o=="object"&&r(o);}}};var ee=c(gn(),1),Xt={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"}},Qt={biome:{args:e=>["lint","--apply",e],command:"biome",name:"Biome (Lint)"},eslint:{args:e=>[e,"--fix"],command:"eslint",name:"ESLint"},oxlint:{args:e=>["--fix",e],command:"oxlint",name:"oxlint"}},hn=({config:e})=>{if(e.output.format){let n=Xt[e.output.format];console.log(`\u2728 Running ${n.name}`),(0, ee.sync)(n.command,n.args(e.output.path));}if(e.output.lint){let n=Qt[e.output.lint];console.log(`\u2728 Running ${n.name}`),(0, ee.sync)(n.command,n.args(e.output.path));}};var yn=e=>`${e}-end`,ne=e=>`${e}-length`,vn=e=>`${e}-start`,f={clear:()=>{performance.clearMarks(),performance.clearMeasures();},end:e=>performance.mark(yn(e)),getEntriesByName:e=>performance.getEntriesByName(ne(e)),measure:e=>performance.measure(ne(e),vn(e),yn(e)),start:e=>performance.mark(vn(e))},M=class{totalMeasure;constructor({totalMark:n}){this.totalMeasure=f.measure(n);}report({marks:n}){let s=Math.ceil(this.totalMeasure.duration*100)/100,t=this.totalMeasure.name;console.warn(`${t.substring(0,t.length-ne("").length)}: ${s.toFixed(2)}ms`),n.forEach(r=>{try{let o=f.measure(r),a=Math.ceil(o.duration*100)/100,i=Math.ceil(o.duration/this.totalMeasure.duration*100*100)/100;console.warn(`${r}: ${a.toFixed(2)}ms (${i.toFixed(2)}%)`);}catch{}});}};function Rn(e,n){return {...e,config:n,models:e.models.map(s=>Jt(s)),services:Yt(e.operations).map(Zt),types:{}}}var Jt=e=>({...e,$refs:e.$refs.filter((n,s,t)=>z(n,s,t)),enum:e.enum.filter((n,s,t)=>t.findIndex(r=>r.value===n.value)===s),enums:e.enums.filter((n,s,t)=>t.findIndex(r=>r.name===n.name)===s),imports:e.imports.filter((n,s,t)=>z(n,s,t)&&n!==e.name).sort(h)}),Yt=e$1=>{let n=e(),s=new Map;return e$1.forEach(t=>{(t.tags?.length&&(n.plugins["@hey-api/sdk"]?.config.asClass||g(n))?t.tags.filter(z):["Default"]).forEach(o=>{let a={...t,service:tr(o)},i=s.get(a.service)||nr(a);i.$refs=[...i.$refs,...a.$refs],i.imports=[...i.imports,...a.imports],i.operations=[...i.operations,a],s.set(a.service,i);});}),Array.from(s.values())},Zt=e=>{let n={...e};return n.operations=er(n),n.operations.forEach(s=>{n.imports.push(...s.imports);}),n.imports=n.imports.filter(z).sort(h),n},er=e=>{let n=new Map;return e.operations.map(s=>{let t={...s};t.imports.push(...t.parameters.flatMap(i=>i.imports));let r=t.responses.filter(i=>i.responseTypes.includes("success"));t.imports.push(...r.flatMap(i=>i.imports));let o=t.name,a=n.get(o)||0;return a>0&&(t.name=`${o}${a}`),n.set(o,a+1),t})},nr=e=>({$refs:[],imports:[],name:e.service,operations:[]}),tr=e=>n({case:"PascalCase",value:w(e)});var te=e=>e.startsWith("https://get.heyapi.dev"),or=e=>{let n={path:""};if(e.path&&(typeof e.path!="string"||!te(e.path)))return n.path=e.path,n;let[s,t]=e.path.split("?"),o=(t||"").split("&").map(P=>P.split("=")),a=s||"";a.endsWith("/")&&(a=a.slice(0,a.length-1));let[,i]=a.split("://"),[u,l,c]=(i||"").split("/");n.organization=l||e.organization,n.project=c||e.project;let m=[],d="api_key";n.api_key=o.find(([P])=>P===d)?.[1]||e.api_key||process.env.HEY_API_TOKEN,n.api_key&&m.push(`${d}=${n.api_key}`);let A="branch";n.branch=o.find(([P])=>P===A)?.[1]||e.branch,n.branch&&m.push(`${A}=${n.branch}`);let q="commit_sha";n.commit_sha=o.find(([P])=>P===q)?.[1]||e.commit_sha,n.commit_sha&&m.push(`${q}=${n.commit_sha}`);let k="tags";n.tags=o.find(([P])=>P===k)?.[1]?.split(",")||e.tags,n.tags?.length&&m.push(`${k}=${n.tags.join(",")}`);let H="version";if(n.version=o.find(([P])=>P===H)?.[1]||e.version,n.version&&m.push(`${H}=${n.version}`),!n.organization)throw new Error("missing organization - from which Hey API platform organization do you want to generate your output?");if(!n.project)throw new Error("missing project - from which Hey API platform project do you want to generate your output?");let oe=m.join("&"),se=u||"get.heyapi.dev",ie=se.startsWith("localhost"),ae=[ie?"http":"https",se].join("://"),le=ie?[ae,"v1","get",n.organization,n.project].join("/"):[ae,n.organization,n.project].join("/");return n.path=oe?`${le}?${oe}`:le,n},Pn=e=>{let n=x.cyan("Generating from");if(typeof e.path=="string"){let s=te(e.path)?`${e.organization??""}/${e.project??""}`:e.path;console.log(`\u23F3 ${n} ${s}`),te(e.path)&&(e.branch&&console.log(`${x.gray("branch:")} ${x.green(e.branch)}`),e.commit_sha&&console.log(`${x.gray("commit:")} ${x.green(e.commit_sha)}`),e.tags?.length&&console.log(`${x.gray("tags:")} ${x.green(e.tags.join(", "))}`),e.version&&console.log(`${x.gray("version:")} ${x.green(e.version)}`));}else console.log(`\u23F3 ${n} raw OpenAPI specification`);},re=async({config:e,templates:n,watch:s})=>{let t=or(e.input),{timeout:r$1}=e.input.watch,o=s||{headers:new Headers};e.logs.level!=="silent"&&!s&&Pn(t),f.start("spec");let{data:a,error:i,response:u}=await r({fetchOptions:e.input.fetch,inputPath:t.path,timeout:r$1,watch:o});if(f.end("spec"),i&&!s)throw new Error(`Request failed with status ${u.status}: ${u.statusText}`);let l,c;if(a){if(e.logs.level!=="silent"&&s&&(console.clear(),Pn(t)),f.start("input.patch"),Te({patchOptions:e.input.patch,spec:a}),f.end("input.patch"),f.start("parser"),e.experimentalParser&&!f$1(e)&&!g(e)&&(c=B({config:e,spec:a})),!c){let m=A({openApi:a});l=Rn(m,e);}if(f.end("parser"),f.start("generator"),c?await Ae({context:c}):l&&await qe({client:l,openApi:a,templates:n}),f.end("generator"),f.start("postprocess"),!e.dryRun&&(hn({config:e}),e.logs.level!=="silent")){let m=process.env.INIT_CWD?`./${R.relative(process.env.INIT_CWD,e.output.path)}`:e.output.path;console.log(`${x.green("\u{1F680} Done!")} Your output is in ${x.cyanBright(m)}`);}f.end("postprocess");}return e.input.watch.enabled&&typeof t.path=="string"&&setTimeout(()=>{re({config:e,templates:n,watch:o});},e.input.watch.interval),c||l};var xn={1:function(e,n,s,t,r){return `import { NgModule} from '@angular/core';
9
9
  import { HttpClientModule } from '@angular/common/http';
10
10
 
11
11
  import { AngularHttpRequest } from './core/AngularHttpRequest';
@@ -76,7 +76,7 @@ export class `+((o=i(a(l(l(r,"root"),"$config"),"name",{start:{line:57,column:16
76
76
  `},14:function(e,n,s,t,r){var o,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return " this."+((o=i(s,"camelCase").call(a,i(n,"name"),{name:"camelCase",hash:{},data:r,loc:{start:{line:83,column:7},end:{line:83,column:27}}}))!=null?o:"")+" = new "+((o=i(s,"transformServiceName").call(a,i(n,"name"),{name:"transformServiceName",hash:{},data:r,loc:{start:{line:83,column:34},end:{line:83,column:65}}}))!=null?o:"")+`(this.request);
77
77
  `},compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){var o,a=n??(e.nullContext||{}),i=e.lookupProperty||function(u,l){if(Object.prototype.hasOwnProperty.call(u,l))return u[l]};return ((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(1,r,0),inverse:e.program(3,r,0),data:r,loc:{start:{line:1,column:0},end:{line:15,column:11}}}))!=null?o:"")+`
78
78
  `+((o=i(s,"if").call(a,i(n,"services"),{name:"if",hash:{},fn:e.program(5,r,0),inverse:e.noop,data:r,loc:{start:{line:17,column:0},end:{line:21,column:7}}}))!=null?o:"")+`
79
- `+((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(8,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:23,column:0},end:{line:87,column:11}}}))!=null?o:"")},useData:true};var xn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getHeaders = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Observable<HttpHeaders> => {
79
+ `+((o=i(s,"equals").call(a,i(i(i(i(r,"root"),"$config"),"client"),"name"),"legacy/angular",{name:"equals",hash:{},fn:e.program(8,r,0),inverse:e.program(11,r,0),data:r,loc:{start:{line:23,column:0},end:{line:87,column:11}}}))!=null?o:"")},useData:true};var Cn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getHeaders = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Observable<HttpHeaders> => {
80
80
  return forkJoin({
81
81
  // @ts-ignore
82
82
  token: resolve(options, config.TOKEN),
@@ -123,7 +123,7 @@ export class `+((o=i(a(l(l(r,"root"),"$config"),"name",{start:{line:57,column:16
123
123
  return new HttpHeaders(headers);
124
124
  }),
125
125
  );
126
- };`},useData:true};var Cn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getRequestBody = (options: ApiRequestOptions): unknown => {
126
+ };`},useData:true};var bn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getRequestBody = (options: ApiRequestOptions): unknown => {
127
127
  if (options.body) {
128
128
  if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {
129
129
  return JSON.stringify(options.body);
@@ -245,7 +245,7 @@ export const request = <T>(config: OpenAPIConfig, http: HttpClient, options: Api
245
245
  return throwError(() => error);
246
246
  }),
247
247
  );
248
- };`},usePartial:true,useData:true};var On={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const sendRequest = <T>(
248
+ };`},usePartial:true,useData:true};var kn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const sendRequest = <T>(
249
249
  config: OpenAPIConfig,
250
250
  options: ApiRequestOptions<T>,
251
251
  http: HttpClient,
@@ -260,7 +260,7 @@ export const request = <T>(config: OpenAPIConfig, http: HttpClient, options: Api
260
260
  withCredentials: config.WITH_CREDENTIALS,
261
261
  observe: 'response',
262
262
  });
263
- };`},useData:true};var kn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `import type { ApiRequestOptions } from './ApiRequestOptions';
263
+ };`},useData:true};var On={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `import type { ApiRequestOptions } from './ApiRequestOptions';
264
264
  import type { ApiResult } from './ApiResult';
265
265
 
266
266
  export class ApiError extends Error {
@@ -280,7 +280,7 @@ export class ApiError extends Error {
280
280
  this.body = response.body;
281
281
  this.request = request;
282
282
  }
283
- }`},useData:true};var wn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export type ApiRequestOptions<T = unknown> = {
283
+ }`},useData:true};var En={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export type ApiRequestOptions<T = unknown> = {
284
284
  readonly body?: any;
285
285
  readonly cookies?: Record<string, unknown>;
286
286
  readonly errors?: Record<number | string, string>;
@@ -300,7 +300,7 @@ export class ApiError extends Error {
300
300
  readonly responseHeader?: string;
301
301
  readonly responseTransformer?: (data: unknown) => Promise<T>;
302
302
  readonly url: string;
303
- };`},useData:true};var En={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export type ApiResult<TData = any> = {
303
+ };`},useData:true};var wn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export type ApiResult<TData = any> = {
304
304
  readonly body: TData;
305
305
  readonly ok: boolean;
306
306
  readonly status: number;
@@ -642,7 +642,7 @@ export class CancelablePromise<T> implements Promise<T> {
642
642
  public get isCancelled(): boolean {
643
643
  return this._isCancelled;
644
644
  }
645
- }`},useData:true};var _n={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {
645
+ }`},useData:true};var Fn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getHeaders = async <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>): Promise<Headers> => {
646
646
  const [token, username, password, additionalHeaders] = await Promise.all([
647
647
  // @ts-ignore
648
648
  resolve(options, config.TOKEN),
@@ -687,7 +687,7 @@ export class CancelablePromise<T> implements Promise<T> {
687
687
  }
688
688
 
689
689
  return new Headers(headers);
690
- };`},useData:true};var Fn={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getRequestBody = (options: ApiRequestOptions): unknown => {
690
+ };`},useData:true};var _n={compiler:[8,">= 4.3.0"],main:function(e,n,s,t,r){return `export const getRequestBody = (options: ApiRequestOptions): unknown => {
691
691
  if (options.body !== undefined) {
692
692
  if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {
693
693
  return JSON.stringify(options.body);
@@ -1301,5 +1301,5 @@ export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions<T>)
1301
1301
 
1302
1302
  onCancel(() => xhr.abort());
1303
1303
  });
1304
- };`},useData:true};var or=()=>{p.registerHelper("camelCase",function(e){return n({case:"camelCase",value:e})}),p.registerHelper("equals",function(e,n,s){return e===n?s.fn(this):s.inverse(this)}),p.registerHelper("ifServicesResponse",function(e$1,n){return e().plugins["@hey-api/sdk"]?.response===e$1?n.fn(this):n.inverse(this)}),p.registerHelper("ifdef",function(...e){let n=e.pop();return e.every(s=>!s)?n.inverse(this):n.fn(this)}),p.registerHelper("notEquals",function(e,n,s){return e!==n?s.fn(this):s.inverse(this)}),p.registerHelper("transformServiceName",function(e$1){return y({config:e(),name:e$1})});},ct=()=>{or();let e={client:p.template(bn),core:{apiError:p.template(kn),apiRequestOptions:p.template(wn),apiResult:p.template(En),baseHttpRequest:p.template(jn),cancelablePromise:p.template(Nn),httpRequest:p.template(tt),request:p.template(ot),settings:p.template(rt)}};return p.registerPartial("functions/base64",p.template(Vn)),p.registerPartial("functions/catchErrorCodes",p.template(Gn)),p.registerPartial("functions/getFormData",p.template(zn)),p.registerPartial("functions/getQueryString",p.template(Kn)),p.registerPartial("functions/getUrl",p.template(Xn)),p.registerPartial("functions/isBlob",p.template(Qn)),p.registerPartial("functions/isFormData",p.template(Jn)),p.registerPartial("functions/isString",p.template(Yn)),p.registerPartial("functions/isStringWithValue",p.template(Zn)),p.registerPartial("functions/isSuccess",p.template(et)),p.registerPartial("functions/resolve",p.template(nt)),p.registerPartial("fetch/getHeaders",p.template(_n)),p.registerPartial("fetch/getRequestBody",p.template(Fn)),p.registerPartial("fetch/getResponseBody",p.template(Mn)),p.registerPartial("fetch/getResponseHeader",p.template(Wn)),p.registerPartial("fetch/request",p.template(Ln)),p.registerPartial("fetch/sendRequest",p.template(Un)),p.registerPartial("xhr/getHeaders",p.template(st)),p.registerPartial("xhr/getRequestBody",p.template(it)),p.registerPartial("xhr/getResponseBody",p.template(at)),p.registerPartial("xhr/getResponseHeader",p.template(lt)),p.registerPartial("xhr/request",p.template(ut)),p.registerPartial("xhr/sendRequest",p.template(pt)),p.registerPartial("axios/getHeaders",p.template(Sn)),p.registerPartial("axios/getRequestBody",p.template(Hn)),p.registerPartial("axios/getResponseBody",p.template(Dn)),p.registerPartial("axios/getResponseHeader",p.template(In)),p.registerPartial("axios/request",p.template(Bn)),p.registerPartial("axios/sendRequest",p.template($n)),p.registerPartial("angular/getHeaders",p.template(xn)),p.registerPartial("angular/getRequestBody",p.template(Cn)),p.registerPartial("angular/getResponseBody",p.template(qn)),p.registerPartial("angular/getResponseHeader",p.template(An)),p.registerPartial("angular/request",p.template(Tn)),p.registerPartial("angular/sendRequest",p.template(On)),e};var sr={stringCase:n};P.enabled=ar().hasBasic;var Ti=async e=>{let n=typeof e=="function"?await e():e,s$1=[];try{f.start("createClient"),f.start("config");for(let i of await G(n))if(s$1.push(i.config),i.errors.length)throw i.errors[0];f.end("config"),f.start("handlebars");let t=ct();f.end("handlebars");let o=(await Promise.all(s$1.map(i=>re({config:i,templates:t})))).filter(i=>!!i);f.end("createClient");let a=s$1[0];return a&&a.logs.level==="debug"&&new M({totalMark:"createClient"}).report({marks:["config","openapi","handlebars","parser","generator","postprocess"]}),o}catch(t$1){let r=s$1[0],o=r?r.dryRun:n?.dryRun,a=r?.logs??C(n),i;throw a.level!=="silent"&&a.file&&!o&&(i=s(t$1,a.path??"")),a.level!=="silent"&&(u({error:t$1,logPath:i}),await v()&&await t(t$1)),t$1}},Oi=async e=>typeof e=="function"?await e():e;export{Ti as createClient,Oi as defineConfig,sr as utils};//# sourceMappingURL=index.js.map
1304
+ };`},useData:true};var sr=()=>{p.registerHelper("camelCase",function(e){return n({case:"camelCase",value:e})}),p.registerHelper("equals",function(e,n,s){return e===n?s.fn(this):s.inverse(this)}),p.registerHelper("ifServicesResponse",function(e$1,n){return e().plugins["@hey-api/sdk"]?.config.response===e$1?n.fn(this):n.inverse(this)}),p.registerHelper("ifdef",function(...e){let n=e.pop();return e.every(s=>!s)?n.inverse(this):n.fn(this)}),p.registerHelper("notEquals",function(e,n,s){return e!==n?s.fn(this):s.inverse(this)}),p.registerHelper("transformServiceName",function(e$1){return y({config:e(),name:e$1})});},ct=()=>{sr();let e={client:p.template(xn),core:{apiError:p.template(On),apiRequestOptions:p.template(En),apiResult:p.template(wn),baseHttpRequest:p.template(jn),cancelablePromise:p.template(Nn),httpRequest:p.template(tt),request:p.template(ot),settings:p.template(rt)}};return p.registerPartial("functions/base64",p.template(Vn)),p.registerPartial("functions/catchErrorCodes",p.template(Gn)),p.registerPartial("functions/getFormData",p.template(zn)),p.registerPartial("functions/getQueryString",p.template(Kn)),p.registerPartial("functions/getUrl",p.template(Xn)),p.registerPartial("functions/isBlob",p.template(Qn)),p.registerPartial("functions/isFormData",p.template(Jn)),p.registerPartial("functions/isString",p.template(Yn)),p.registerPartial("functions/isStringWithValue",p.template(Zn)),p.registerPartial("functions/isSuccess",p.template(et)),p.registerPartial("functions/resolve",p.template(nt)),p.registerPartial("fetch/getHeaders",p.template(Fn)),p.registerPartial("fetch/getRequestBody",p.template(_n)),p.registerPartial("fetch/getResponseBody",p.template(Mn)),p.registerPartial("fetch/getResponseHeader",p.template(Wn)),p.registerPartial("fetch/request",p.template(Ln)),p.registerPartial("fetch/sendRequest",p.template(Un)),p.registerPartial("xhr/getHeaders",p.template(st)),p.registerPartial("xhr/getRequestBody",p.template(it)),p.registerPartial("xhr/getResponseBody",p.template(at)),p.registerPartial("xhr/getResponseHeader",p.template(lt)),p.registerPartial("xhr/request",p.template(ut)),p.registerPartial("xhr/sendRequest",p.template(pt)),p.registerPartial("axios/getHeaders",p.template(Sn)),p.registerPartial("axios/getRequestBody",p.template(Hn)),p.registerPartial("axios/getResponseBody",p.template(Dn)),p.registerPartial("axios/getResponseHeader",p.template(In)),p.registerPartial("axios/request",p.template(Bn)),p.registerPartial("axios/sendRequest",p.template($n)),p.registerPartial("angular/getHeaders",p.template(Cn)),p.registerPartial("angular/getRequestBody",p.template(bn)),p.registerPartial("angular/getResponseBody",p.template(qn)),p.registerPartial("angular/getResponseHeader",p.template(An)),p.registerPartial("angular/request",p.template(Tn)),p.registerPartial("angular/sendRequest",p.template(kn)),e};var ir={stringCase:n};x.enabled=lr().hasBasic;var Ai=async e=>{let n=typeof e=="function"?await e():e,s$1=[];try{f.start("createClient"),f.start("config");for(let i of await I(n))if(s$1.push(i.config),i.errors.length)throw i.errors[0];f.end("config"),f.start("handlebars");let t=ct();f.end("handlebars");let o=(await Promise.all(s$1.map(i=>re({config:i,templates:t})))).filter(i=>!!i);f.end("createClient");let a=s$1[0];return a&&a.logs.level==="debug"&&new M({totalMark:"createClient"}).report({marks:["config","openapi","handlebars","parser","generator","postprocess"]}),o}catch(t$1){let r=s$1[0],o=r?r.dryRun:n?.dryRun,a=r?.logs??C(n),i;throw a.level!=="silent"&&a.file&&!o&&(i=s(t$1,a.path??"")),a.level!=="silent"&&(u({error:t$1,logPath:i}),await v()&&await t(t$1)),t$1}},Ti=async e=>typeof e=="function"?await e():e;export{Ai as createClient,Ti as defineConfig,ir as utils};//# sourceMappingURL=index.js.map
1305
1305
  //# sourceMappingURL=index.js.map