@orval/core 6.13.1 → 6.14.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.ts CHANGED
@@ -120,6 +120,9 @@ declare type NormalizedInputOptions = {
120
120
  override: OverrideInput;
121
121
  converterOptions: swagger2openapi.Options;
122
122
  parserOptions: SwaggerParserOptions;
123
+ filters?: {
124
+ tags?: string[];
125
+ };
123
126
  };
124
127
  declare type OutputClientFunc = (clients: GeneratorClients) => ClientGeneratorsBuilder;
125
128
  declare type OutputOptions = {
@@ -146,6 +149,9 @@ declare type InputOptions = {
146
149
  override?: OverrideInput;
147
150
  converterOptions?: swagger2openapi.Options;
148
151
  parserOptions?: SwaggerParserOptions;
152
+ filters?: {
153
+ tags?: string[];
154
+ };
149
155
  };
150
156
  declare type OutputClient = 'axios' | 'axios-functions' | 'angular' | 'react-query' | 'svelte-query' | 'vue-query' | 'swr' | 'zod';
151
157
  declare const OutputClient: {
@@ -578,6 +584,7 @@ declare const SchemaType: {
578
584
  declare type ScalarValue = {
579
585
  value: string;
580
586
  isEnum: boolean;
587
+ hasReadonlyProps: boolean;
581
588
  type: SchemaType;
582
589
  imports: GeneratorImport[];
583
590
  schemas: GeneratorSchema[];
@@ -590,6 +597,7 @@ declare type ResReqTypesValue = ScalarValue & {
590
597
  formData?: string;
591
598
  formUrlEncoded?: string;
592
599
  isRef?: boolean;
600
+ hasReadonlyProps?: boolean;
593
601
  key: string;
594
602
  contentType: string;
595
603
  originalSchema?: SchemaObject;
@@ -774,8 +782,9 @@ declare const generateParameterDefinition: (parameters: ComponentsObject['parame
774
782
  */
775
783
  declare const generateSchemasDefinition: (schemas: SchemasObject | undefined, context: ContextSpecs, suffix: string) => GeneratorSchema[];
776
784
 
777
- declare const generateVerbsOptions: ({ verbs, output, route, context, }: {
785
+ declare const generateVerbsOptions: ({ verbs, input, output, route, context, }: {
778
786
  verbs: PathItemObject;
787
+ input: NormalizedInputOptions;
779
788
  output: NormalizedOutputOptions;
780
789
  route: string;
781
790
  context: ContextSpecs;
@@ -1154,6 +1163,8 @@ declare const writeSchemas: ({ schemaPath, schemas, target, specKey, isRootKey,
1154
1163
  header: string;
1155
1164
  }) => Promise<void>;
1156
1165
 
1166
+ declare const getOrvalGeneratedTypes: () => string;
1167
+
1157
1168
  declare const writeSingleMode: ({ builder, output, specsName, header, needSchema, }: WriteModeProps) => Promise<string[]>;
1158
1169
 
1159
1170
  declare const writeSplitMode: ({ builder, output, specsName, header, needSchema, }: WriteModeProps) => Promise<string[]>;
@@ -1166,4 +1177,4 @@ declare const generateTarget: (builder: WriteSpecsBuilder, options: NormalizedOu
1166
1177
 
1167
1178
  declare const generateTargetForTags: (builder: WriteSpecsBuilder, options: NormalizedOutputOptions) => Record<string, GeneratorTarget>;
1168
1179
 
1169
- export { AngularOptions, BODY_TYPE_NAME, ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, ContextSpecs, GenerateMockImports, GeneratorApiBuilder, GeneratorApiOperations, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClientFooter, GeneratorClientHeader, GeneratorClientImports, GeneratorClientTitle, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, GetterBody, GetterParam, GetterParameters, GetterParams, GetterProp, GetterPropType, GetterProps, GetterQueryParam, GetterResponse, GlobalOptions, Hook, HookCommand, HookFunction, HooksOptions, ImportOpenApi, InputOptions, InputTransformerFn, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, MockOptions, MockProperties, Mutator, MutatorObject, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedMutator, NormalizedOperationOptions, NormalizedOptions, NormalizedOutputOptions, NormalizedOverrideOutput, NormalizedQueryOptions, NormizaledConfig, OperationOptions, Options, OptionsExport, OptionsFn, OutputClient, OutputClientFunc, OutputMode, OutputOptions, OverrideInput, OverrideOutput, OverrideOutputContentType, PackageJson, QueryOptions, RefComponentSuffix, ResReqTypesValue, ResolverValue, ScalarValue, SchemaType, SwaggerParserOptions, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecsBuilder, addDependency, asyncReduce, camel, combineSchemas, compareVersions, count, createDebugger, createLogger, createSuccessMessage, dynamicImport, errorMessage, escape, generalJSTypes, generalJSTypesWithArray, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateComponentDefinition, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateModelInline, generateModelsInline, generateMutator, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateParameterDefinition, generateQueryParamsAxiosConfig, generateSchemasDefinition, generateTarget, generateTargetForTags, generateVerbImports, generateVerbsOptions, getArray, getBody, getEnum, getEnumImplementation, getExtension, getFileInfo, getKey, getNumberWord, getObject, getOperationId, getParameters, getParams, getParamsInPath, getProps, getQueryParams, getRefInfo, getResReqTypes, getResponse, getRoute, getScalar, ibmOpenapiValidator, ibmOpenapiValidatorErrors, ibmOpenapiValidatorWarnings, isBoolean, isDirectory, isFunction, isModule, isNull, isNumber, isNumeric, isObject, isReference, isRootKey, isSchema, isString, isSyntheticDefaultImportsAllow, isUndefined, isUrl, isVerb, jsDoc, kebab, loadFile, log, mergeDeep, mismatchArgsMessage, openApiConverter, pascal, removeFiles, resolveDiscriminators, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, startMessage, stringify, toObjectString, path as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
1180
+ export { AngularOptions, BODY_TYPE_NAME, ClientBuilder, ClientDependenciesBuilder, ClientFooterBuilder, ClientGeneratorsBuilder, ClientHeaderBuilder, ClientMSWBuilder, ClientTitleBuilder, Config, ConfigExternal, ConfigFn, ContextSpecs, GenerateMockImports, GeneratorApiBuilder, GeneratorApiOperations, GeneratorApiResponse, GeneratorClient, GeneratorClientExtra, GeneratorClientFooter, GeneratorClientHeader, GeneratorClientImports, GeneratorClientTitle, GeneratorClients, GeneratorDependency, GeneratorImport, GeneratorMutator, GeneratorMutatorParsingInfo, GeneratorOperation, GeneratorOperations, GeneratorOptions, GeneratorSchema, GeneratorTarget, GeneratorTargetFull, GeneratorVerbOptions, GeneratorVerbsOptions, GetterBody, GetterParam, GetterParameters, GetterParams, GetterProp, GetterPropType, GetterProps, GetterQueryParam, GetterResponse, GlobalOptions, Hook, HookCommand, HookFunction, HooksOptions, ImportOpenApi, InputOptions, InputTransformerFn, LogLevel, LogLevels, LogOptions, LogType, Logger, LoggerOptions, MockOptions, MockProperties, Mutator, MutatorObject, NormalizedHookCommand, NormalizedHookOptions, NormalizedInputOptions, NormalizedMutator, NormalizedOperationOptions, NormalizedOptions, NormalizedOutputOptions, NormalizedOverrideOutput, NormalizedQueryOptions, NormizaledConfig, OperationOptions, Options, OptionsExport, OptionsFn, OutputClient, OutputClientFunc, OutputMode, OutputOptions, OverrideInput, OverrideOutput, OverrideOutputContentType, PackageJson, QueryOptions, RefComponentSuffix, ResReqTypesValue, ResolverValue, ScalarValue, SchemaType, SwaggerParserOptions, Tsconfig, URL_REGEX, VERBS_WITH_BODY, Verbs, WriteModeProps, WriteSpecsBuilder, addDependency, asyncReduce, camel, combineSchemas, compareVersions, count, createDebugger, createLogger, createSuccessMessage, dynamicImport, errorMessage, escape, generalJSTypes, generalJSTypesWithArray, generateAxiosOptions, generateBodyMutatorConfig, generateBodyOptions, generateComponentDefinition, generateDependencyImports, generateFormDataAndUrlEncodedFunction, generateImports, generateModelInline, generateModelsInline, generateMutator, generateMutatorConfig, generateMutatorImports, generateMutatorRequestOptions, generateOptions, generateParameterDefinition, generateQueryParamsAxiosConfig, generateSchemasDefinition, generateTarget, generateTargetForTags, generateVerbImports, generateVerbsOptions, getArray, getBody, getEnum, getEnumImplementation, getExtension, getFileInfo, getKey, getNumberWord, getObject, getOperationId, getOrvalGeneratedTypes, getParameters, getParams, getParamsInPath, getProps, getQueryParams, getRefInfo, getResReqTypes, getResponse, getRoute, getScalar, ibmOpenapiValidator, ibmOpenapiValidatorErrors, ibmOpenapiValidatorWarnings, isBoolean, isDirectory, isFunction, isModule, isNull, isNumber, isNumeric, isObject, isReference, isRootKey, isSchema, isString, isSyntheticDefaultImportsAllow, isUndefined, isUrl, isVerb, jsDoc, kebab, loadFile, log, mergeDeep, mismatchArgsMessage, openApiConverter, pascal, removeFiles, resolveDiscriminators, resolveObject, resolveRef, resolveValue, sanitize, snake, sortByPriority, startMessage, stringify, toObjectString, path as upath, upper, writeModelInline, writeModelsInline, writeSchema, writeSchemas, writeSingleMode, writeSplitMode, writeSplitTagsMode, writeTagsMode };
package/dist/index.js CHANGED
@@ -1,118 +1,146 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var Xt=Object.defineProperty;var F=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Zt=(e,t)=>{for(var r in t)Xt(e,r,{get:t[r],enumerable:!0})};var U={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},dn= exports.OutputMode ={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},B= exports.Verbs ={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"},se= exports.GetterPropType ={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"},et= exports.SchemaType ={integer:"integer",number:"number",string:"string",boolean:"boolean",object:"object",null:"null",array:"array",enum:"enum",unknown:"unknown"};var er=["number","string","null","unknown","undefined","object","blob"],me= exports.generalJSTypesWithArray =er.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),tt= exports.VERBS_WITH_BODY =[B.POST,B.PUT,B.PATCH,B.DELETE],hn= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var _lodashisempty = require('lodash.isempty'); var _lodashisempty2 = _interopRequireDefault(_lodashisempty);var _esutils = require('esutils');var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var b={};Zt(b,{basename:()=>dr,dirname:()=>fr,extname:()=>Ve,getSchemaFileName:()=>br,getSpecName:()=>hr,isAbsolute:()=>gr,join:()=>ur,joinSafe:()=>le,normalizeSafe:()=>ue,relativeSafe:()=>yr,resolve:()=>Fe,separator:()=>dt});var _path = require('path'); var _path2 = _interopRequireDefault(_path);var ce=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _esbuild = require('esbuild');var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);var _globby = require('globby'); var _globby2 = _interopRequireDefault(_globby);var _micromatch = require('micromatch'); var _micromatch2 = _interopRequireDefault(_micromatch);var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var rt=process.env.ORVAL_DEBUG_FILTER,rr=process.env.DEBUG;function nt(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:s}=t,o=typeof s=="string"?s:e;return(n,...a)=>{rt&&!n.includes(rt)||s&&!_optionalChain([rr, 'optionalAccess', _2 => _2.includes, 'call', _3 => _3(o)])||r(n,...a)}}var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var V=console.log,Rn= exports.startMessage =({name:e,version:t,description:r})=>V(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Mn= exports.errorMessage =e=>V(_chalk2.default.red(e)),Gn= exports.mismatchArgsMessage =e=>V(_chalk2.default.yellow(`${e.join(", ")} ${e.length===1?"is":"are"} not defined in your configuration!`)),vn= exports.createSuccessMessage =e=>V(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),it= exports.ibmOpenapiValidatorWarnings =e=>{V(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>V(_chalk2.default.yellow(`Message : ${t.message}
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var Zt=Object.defineProperty;var W=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var er=(e,t)=>{for(var r in t)Zt(e,r,{get:t[r],enumerable:!0})};var U={ANGULAR:"angular",AXIOS:"axios",AXIOS_FUNCTIONS:"axios-functions",REACT_QUERY:"react-query",SVELTE_QUERY:"svelte-query",VUE_QUERY:"vue-query"},yn= exports.OutputMode ={SINGLE:"single",SPLIT:"split",TAGS:"tags",TAGS_SPLIT:"tags-split"},B= exports.Verbs ={POST:"post",PUT:"put",GET:"get",PATCH:"patch",DELETE:"delete",HEAD:"head"},se= exports.GetterPropType ={PARAM:"param",BODY:"body",QUERY_PARAM:"queryParam",HEADER:"header"},et= exports.SchemaType ={integer:"integer",number:"number",string:"string",boolean:"boolean",object:"object",null:"null",array:"array",enum:"enum",unknown:"unknown"};var tr=["number","string","null","unknown","undefined","object","blob"],me= exports.generalJSTypesWithArray =tr.reduce((e,t)=>(e.push(t,`Array<${t}>`,`${t}[]`),e),[]),tt= exports.VERBS_WITH_BODY =[B.POST,B.PUT,B.PATCH,B.DELETE],On= exports.URL_REGEX =/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;var _lodashisempty = require('lodash.isempty'); var _lodashisempty2 = _interopRequireDefault(_lodashisempty);var _esutils = require('esutils');var _isURL = require('validator/lib/isURL'); var _isURL2 = _interopRequireDefault(_isURL);var b={};er(b,{basename:()=>gr,dirname:()=>dr,extname:()=>We,getSchemaFileName:()=>Or,getSpecName:()=>br,isAbsolute:()=>yr,join:()=>fr,joinSafe:()=>le,normalizeSafe:()=>ue,relativeSafe:()=>hr,resolve:()=>Fe,separator:()=>dt});var _path = require('path'); var _path2 = _interopRequireDefault(_path);var ce=e=>e.toLowerCase().includes(".yaml")||e.toLowerCase().includes(".yml")?"yaml":"json";var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var _esbuild = require('esbuild');var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);var _globby = require('globby'); var _globby2 = _interopRequireDefault(_globby);var _micromatch = require('micromatch'); var _micromatch2 = _interopRequireDefault(_micromatch);var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);var rt=process.env.ORVAL_DEBUG_FILTER,nr=process.env.DEBUG;function nt(e,t={}){let r=_debug2.default.call(void 0, e),{onlyWhenFocused:s}=t,n=typeof s=="string"?s:e;return(o,...a)=>{rt&&!o.includes(rt)||s&&!_optionalChain([nr, 'optionalAccess', _2 => _2.includes, 'call', _3 => _3(n)])||r(o,...a)}}var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);var V=console.log,vn= exports.startMessage =({name:e,version:t,description:r})=>V(`\u{1F37B} Start ${_chalk2.default.cyan.bold(e)} ${_chalk2.default.green(`v${t}`)}${r?` - ${r}`:""}`),Mn= exports.errorMessage =e=>V(_chalk2.default.red(e)),Tn= exports.mismatchArgsMessage =e=>V(_chalk2.default.yellow(`${e.join(", ")} ${e.length===1?"is":"are"} not defined in your configuration!`)),Gn= exports.createSuccessMessage =e=>V(`\u{1F389} ${e?`${_chalk2.default.green(e)} - `:""}Your OpenAPI spec has been converted into ready to use orval!`),it= exports.ibmOpenapiValidatorWarnings =e=>{V(_chalk2.default.yellow("(!) Warnings")),e.forEach(t=>V(_chalk2.default.yellow(`Message : ${t.message}
2
2
  Path : ${t.path}`)))},pt= exports.ibmOpenapiValidatorErrors =e=>{V(_chalk2.default.red("(!) Errors")),e.forEach(t=>V(_chalk2.default.red(`Message : ${t.message}
3
- Path : ${t.path}`)))},Ce= exports.LogLevels ={silent:0,error:1,warn:2,info:3},st,at,Ie=0;function nr(){let e=process.stdout.rows-2,t=e>0?`
4
- `.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function H(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:s=!0}=t,o=Ce[e],n=s&&process.stdout.isTTY&&!process.env.CI?nr:()=>{};function a(p,c,l={}){if(o>=Ce[p]){let u=p==="info"?"log":p,f=()=>{if(l.timestamp){let y=p==="info"?_chalk2.default.cyan.bold(r):p==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${y} ${c}`}else return c};p===st&&c===at?(Ie++,n(),console[u](f(),_chalk2.default.yellow(`(x${Ie+1})`))):(Ie=0,at=c,st=p,l.clear&&n(),console[u](f()))}}let m=new Set,i={hasWarned:!1,info(p,c){a("info",p,c)},warn(p,c){i.hasWarned=!0,a("warn",p,c)},warnOnce(p,c){m.has(p)||(i.hasWarned=!0,a("warn",p,c),m.add(p))},error(p,c){i.hasWarned=!0,a("error",p,c)},clearScreen(p){o>=Ce[p]&&n()}};return i}var j=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let s=lt(e),o=s?_path.join.call(void 0, e,t+r):e,n=o.replace(/\.[^/.]+$/,""),a=_path.dirname.call(void 0, o),m=_path.basename.call(void 0, o,r[0]!=="."?`.${r}`:r);return{path:o,pathWithoutExtension:n,extension:r,isDirectory:s,dirname:a,filename:m}},mt=nt("orval:file-load"),ke=new Map;async function ct(e,t){let{root:r=process.cwd(),isDefault:s=!0,defaultFileName:o,logLevel:n,alias:a,tsconfig:m,load:i=!0}=_nullishCoalesce(t, () => ({})),p=Date.now(),c,l=!1,u=!1;if(e)c=_path.resolve.call(void 0, e),l=e.endsWith(".ts");else if(o){let g=_path.resolve.call(void 0, r,`${o}.js`);if(_fs2.default.existsSync(g)&&(c=g),!c){let d=_path.resolve.call(void 0, r,`${o}.mjs`);_fs2.default.existsSync(d)&&(c=d,u=!0)}if(!c){let d=_path.resolve.call(void 0, r,`${o}.ts`);_fs2.default.existsSync(d)&&(c=d,l=!0)}}c||(e?H(n).error(_chalk2.default.red(`File not found => ${e}`)):o?H(n).error(_chalk2.default.red(`File not found => ${o}.{js,mjs,ts}`)):H(n).error(_chalk2.default.red("File not found")),process.exit(1));let f=ue(c),y=ke.get(c);if(y)return{path:f,...y,cached:!0};try{let g;if(!g&&!l&&!u)try{delete F.cache[F.resolve(c)],g=F(c),mt(`cjs loaded in ${Date.now()-p}ms`)}catch(d){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(d.message))throw d}if(!g){let{code:d}=await mr(c,u,r||_path.dirname.call(void 0, f),a,_optionalChain([m, 'optionalAccess', _4 => _4.compilerOptions]));i?g=await cr(c,d,s):g=d,mt(`bundled file loaded in ${Date.now()-p}ms`)}return ke.set(c,{file:g}),{path:f,file:g}}catch(g){return ke.set(c,{error:g}),{path:f,error:g}}}async function mr(e,t=!1,r,s,o){let n=await _esbuild.build.call(void 0, {absWorkingDir:process.cwd(),entryPoints:[e],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:t?"esm":"cjs",sourcemap:"inline",metafile:!0,target:"es6",minifyWhitespace:!0,plugins:[...s||_optionalChain([o, 'optionalAccess', _5 => _5.paths])?[{name:"aliasing",setup(m){m.onResolve({filter:/^[\w@][^:]/},async({path:i})=>{if(s){let p=Object.keys(s),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(s[c]),f=_path.resolve.call(void 0, r,u.base),y=l.base?i.replace(l.base,f):le(f,i),d=_path.extname.call(void 0, y)?y:`${y}.ts`;return _fs2.default.existsSync(d)?{path:d}:void 0}}if(_optionalChain([o, 'optionalAccess', _6 => _6.paths])){let p=Object.keys(_optionalChain([o, 'optionalAccess', _7 => _7.paths])),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(_optionalChain([o, 'optionalAccess', _8 => _8.paths, 'access', _9 => _9[c], 'access', _10 => _10[0]])),f=_path.resolve.call(void 0, r,u.base),y=l.base?i.replace(l.base,f):le(f,i),d=_path.extname.call(void 0, y)?y:`${y}.ts`;return _fs2.default.existsSync(d)?{path:d}:void 0}}})}}]:[],{name:"externalize-deps",setup(m){m.onResolve({filter:/.*/},i=>{let p=i.path;if(p[0]!=="."&&!_path.isAbsolute.call(void 0, p))return{external:!0}})}},{name:"replace-import-meta",setup(m){m.onLoad({filter:/\.[jt]s$/},async i=>{let p=await _fs2.default.promises.readFile(i.path,"utf8");return{loader:i.path.endsWith(".ts")?"ts":"js",contents:p.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${i.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path.dirname.call(void 0, i.path))).replace(/\b__filename\b/g,JSON.stringify(i.path))}})}}]}),{text:a}=n.outputFiles[0];return{code:a,dependencies:n.metafile?Object.keys(n.metafile.inputs):[]}}async function cr(e,t,r){let s=_path.extname.call(void 0, e),o=F.extensions[s];F.extensions[s]=(m,i)=>{i===e?m._compile(t,i):o(m,i)},delete F.cache[F.resolve(e)];let n=F(e),a=r&&n.__esModule?n.default:n;return F.extensions[s]=o,a}async function Bn(e,t){let r=await _globby2.default.call(void 0, e,{cwd:t,absolute:!0});await Promise.all(r.map(s=>_fs2.default.promises.unlink(s)))}var z={},lr=e=>typeof e=="function",ft=e=>typeof e=="string"?!0:typeof e=="object"&&e!==null?Object.toString.call(e)=="[object String]":!1;Object.entries(_path2.default).forEach(([e,t])=>{lr(t)?z[e]=(r=>(...s)=>{s=s.map(n=>ft(n)?fe(n):n);let o=_path2.default[r](...s);return ft(o)?fe(o):o})(e):z[e]=t});var{join:ur,resolve:Fe,extname:Ve,dirname:fr,basename:dr,isAbsolute:gr}=z;var yr=(e,t)=>{let r=z.relative(e,t);return ue(`.${dt}${r}`)},hr=(e,t)=>{if(de(e)){let r=new URL(t);return e.replace(r.origin,"").replace(j(r.pathname).dirname,"").replace(`.${ce(e)}`,"")}return"/"+z.normalize(z.relative(j(t).dirname,e)).split("../").join("").replace(`.${ce(e)}`,"")},br=e=>e.replace(`.${ce(e)}`,"").slice(e.lastIndexOf("/")+1),dt="/",fe=function(e){return e=e.replace(/\\/g,"/"),e=e.replace(/(?<!^)\/+/g,"/"),e},ue=e=>{let t;return e=fe(e),t=z.normalize(e),e.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:e.startsWith("//")&&!t.startsWith("//")&&(e.startsWith("//./")?t="//."+t:t="/"+t),t},le=function(...e){let t=z.join(...e);if(e.length>0){let r=fe(e[0]);r.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:r.startsWith("//")&&!t.startsWith("//")&&(r.startsWith("//./")?t="//."+t:t="/"+t)}return t};var T=e=>Boolean(e.$ref),lt= exports.isDirectory =e=>!Ve(e);function I(e){return Object.prototype.toString.call(e)==="[object Object]"}function gt(e){return Object.prototype.toString.call(e)==="[object Module]"}function A(e){return typeof e=="string"}function yt(e){return typeof e=="number"}function ht(e){return/^-?\d+$/.test(e)}function ae(e){return typeof e=="boolean"}function bt(e){return typeof e=="function"}function ie(e){return typeof e>"u"}function Ot(e){return typeof e===null}function Jn(e){if(!I(e))return!1;if(A(e.type)&&Object.values(et).includes(e.type))return!0;let t=e.allOf||e.anyOf||e.oneOf;return!!(Array.isArray(t)||I(e.properties))}var xt=e=>Object.values(B).includes(e),Yn= exports.isRootKey =(e,t)=>e===t,xr=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,de= exports.isUrl =e=>_isURL2.default.call(void 0, e)||xr.test(e);async function St(e,t,r){let s=typeof r=="object"?Object.create(r):r;for(let o of e)s=await t(s,o);return s}var We=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},ge=We("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),ye="a-z"+We("DF-F6,F8-FF","00"),pe="A-Z"+We("C0-D6,D8-DE","00"),Sr="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",L={capitalize:new RegExp("(^|["+ge+"])(["+ye+"])","g"),pascal:new RegExp("(^|["+ge+"])+(["+ye+pe+"])","g"),fill:new RegExp("["+ge+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+ye+"])","g"),improper:new RegExp("\\b("+Sr+")\\b","g"),relax:new RegExp("([^"+pe+"])(["+pe+"]*)(["+pe+"])(?=[^"+pe+"]|$)","g"),upper:new RegExp("^[^"+ye+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+ge+"]")},$r=e=>e.replace(L.apostrophe,""),$t=String.prototype.toUpperCase,Be=String.prototype.toLowerCase,he=(e,t,r=!1)=>(t!=null&&(e=e.replace(L.fill,function(s,o){return o?t+o:""})),r&&(e=$r(e)),e),jr=(e,t=0)=>Be.call(e.charAt(t))+e.slice(t+1),Rr=(e,t,r,s)=>t+" "+(r?r+" ":"")+s,qe=(e,t=!1,r=!1,s=!1)=>{if(e=e==null?"":e+"",!s&&L.upper.test(e)&&(e=Be.call(e)),!t&&!L.hole.test(e)){var o=he(e," ");L.hole.test(o)&&(e=o)}return!r&&!L.room.test(e)&&(e=e.replace(L.relax,Rr)),e},jt=(e,t,r)=>he(Be.call(qe(e,!!t)),t,r),h= exports.pascal =e=>{let t=_optionalChain([e, 'optionalAccess', _11 => _11.startsWith, 'call', _12 => _12("_")]),r=he(qe(e,!1,!0).replace(L.pascal,(s,o,n)=>$t.call(n)),"",!0);return t?`_${r}`:r},O= exports.camel =e=>{let t=_optionalChain([e, 'optionalAccess', _13 => _13.startsWith, 'call', _14 => _14("_")]),r=jr(h(e),t?1:0);return t?`_${r}`:r},eo= exports.snake =e=>jt(e,"_",!0),be= exports.kebab =e=>jt(e,"-",!0),to= exports.upper =(e,t,r)=>he($t.call(qe(e,!!t,!1,!0)),t,r);var _compareversions = require('compare-versions');var Oe=(e,t,r=">=")=>e==="latest"?!0:_compareversions.compare.call(void 0, e.replace(/(\s(.*))/,""),t,r);var Gr="\\*/",Ue="*\\/",ze=new RegExp(Gr,"g");function v({description:e,deprecated:t,summary:r},s=!1){let o=(Array.isArray(e)?e.filter(p=>!p.includes("eslint-disable")):[e||""]).map(p=>p.replace(ze,Ue)),n=[e,t,r].reduce((p,c)=>c?p+1:p,0);if(!n)return"";let a=n===1&&s,m=Array.isArray(e)?_optionalChain([e, 'access', _15 => _15.find, 'call', _16 => _16(p=>p.includes("eslint-disable")), 'optionalAccess', _17 => _17.replace, 'call', _18 => _18(ze,Ue)]):void 0,i=`${m?`/* ${m} */
3
+ Path : ${t.path}`)))},Ce= exports.LogLevels ={silent:0,error:1,warn:2,info:3},st,at,Ie=0;function or(){let e=process.stdout.rows-2,t=e>0?`
4
+ `.repeat(e):"";console.log(t),_readline2.default.cursorTo(process.stdout,0,0),_readline2.default.clearScreenDown(process.stdout)}function H(e="info",t={}){let{prefix:r="[vite]",allowClearScreen:s=!0}=t,n=Ce[e],o=s&&process.stdout.isTTY&&!process.env.CI?or:()=>{};function a(p,c,l={}){if(n>=Ce[p]){let u=p==="info"?"log":p,f=()=>{if(l.timestamp){let d=p==="info"?_chalk2.default.cyan.bold(r):p==="warn"?_chalk2.default.yellow.bold(r):_chalk2.default.red.bold(r);return`${_chalk2.default.dim(new Date().toLocaleTimeString())} ${d} ${c}`}else return c};p===st&&c===at?(Ie++,o(),console[u](f(),_chalk2.default.yellow(`(x${Ie+1})`))):(Ie=0,at=c,st=p,l.clear&&o(),console[u](f()))}}let m=new Set,i={hasWarned:!1,info(p,c){a("info",p,c)},warn(p,c){i.hasWarned=!0,a("warn",p,c)},warnOnce(p,c){m.has(p)||(i.hasWarned=!0,a("warn",p,c),m.add(p))},error(p,c){i.hasWarned=!0,a("error",p,c)},clearScreen(p){n>=Ce[p]&&o()}};return i}var j=(e="",{backupFilename:t="filename",extension:r=".ts"}={})=>{let s=lt(e),n=s?_path.join.call(void 0, e,t+r):e,o=n.replace(/\.[^/.]+$/,""),a=_path.dirname.call(void 0, n),m=_path.basename.call(void 0, n,r[0]!=="."?`.${r}`:r);return{path:n,pathWithoutExtension:o,extension:r,isDirectory:s,dirname:a,filename:m}},mt=nt("orval:file-load"),ke=new Map;async function ct(e,t){let{root:r=process.cwd(),isDefault:s=!0,defaultFileName:n,logLevel:o,alias:a,tsconfig:m,load:i=!0}=_nullishCoalesce(t, () => ({})),p=Date.now(),c,l=!1,u=!1;if(e)c=_path.resolve.call(void 0, e),l=e.endsWith(".ts");else if(n){let y=_path.resolve.call(void 0, r,`${n}.js`);if(_fs2.default.existsSync(y)&&(c=y),!c){let g=_path.resolve.call(void 0, r,`${n}.mjs`);_fs2.default.existsSync(g)&&(c=g,u=!0)}if(!c){let g=_path.resolve.call(void 0, r,`${n}.ts`);_fs2.default.existsSync(g)&&(c=g,l=!0)}}c||(e?H(o).error(_chalk2.default.red(`File not found => ${e}`)):n?H(o).error(_chalk2.default.red(`File not found => ${n}.{js,mjs,ts}`)):H(o).error(_chalk2.default.red("File not found")),process.exit(1));let f=ue(c),d=ke.get(c);if(d)return{path:f,...d,cached:!0};try{let y;if(!y&&!l&&!u)try{delete W.cache[W.resolve(c)],y=W(c),mt(`cjs loaded in ${Date.now()-p}ms`)}catch(g){if(!new RegExp(["Cannot use import statement","Must use import to load ES Module","Unexpected token","Unexpected identifier"].join("|")).test(g.message))throw g}if(!y){let{code:g}=await cr(c,u,r||_path.dirname.call(void 0, f),a,_optionalChain([m, 'optionalAccess', _4 => _4.compilerOptions]));i?y=await lr(c,g,s):y=g,mt(`bundled file loaded in ${Date.now()-p}ms`)}return ke.set(c,{file:y}),{path:f,file:y}}catch(y){return ke.set(c,{error:y}),{path:f,error:y}}}async function cr(e,t=!1,r,s,n){let o=await _esbuild.build.call(void 0, {absWorkingDir:process.cwd(),entryPoints:[e],outfile:"out.js",write:!1,platform:"node",bundle:!0,format:t?"esm":"cjs",sourcemap:"inline",metafile:!0,target:"es6",minifyWhitespace:!0,plugins:[...s||_optionalChain([n, 'optionalAccess', _5 => _5.paths])?[{name:"aliasing",setup(m){m.onResolve({filter:/^[\w@][^:]/},async({path:i})=>{if(s){let p=Object.keys(s),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(s[c]),f=_path.resolve.call(void 0, r,u.base),d=l.base?i.replace(l.base,f):le(f,i),g=_path.extname.call(void 0, d)?d:`${d}.ts`;return _fs2.default.existsSync(g)?{path:g}:void 0}}if(_optionalChain([n, 'optionalAccess', _6 => _6.paths])){let p=Object.keys(_optionalChain([n, 'optionalAccess', _7 => _7.paths])),c=p.find(l=>i.startsWith(l)||_micromatch2.default.isMatch(i,p));if(c){let l=_micromatch2.default.scan(c),u=_micromatch2.default.scan(_optionalChain([n, 'optionalAccess', _8 => _8.paths, 'access', _9 => _9[c], 'access', _10 => _10[0]])),f=_path.resolve.call(void 0, r,u.base),d=l.base?i.replace(l.base,f):le(f,i),g=_path.extname.call(void 0, d)?d:`${d}.ts`;return _fs2.default.existsSync(g)?{path:g}:void 0}}})}}]:[],{name:"externalize-deps",setup(m){m.onResolve({filter:/.*/},i=>{let p=i.path;if(p[0]!=="."&&!_path.isAbsolute.call(void 0, p))return{external:!0}})}},{name:"replace-import-meta",setup(m){m.onLoad({filter:/\.[jt]s$/},async i=>{let p=await _fs2.default.promises.readFile(i.path,"utf8");return{loader:i.path.endsWith(".ts")?"ts":"js",contents:p.replace(/\bimport\.meta\.url\b/g,JSON.stringify(`file://${i.path}`)).replace(/\b__dirname\b/g,JSON.stringify(_path.dirname.call(void 0, i.path))).replace(/\b__filename\b/g,JSON.stringify(i.path))}})}}]}),{text:a}=o.outputFiles[0];return{code:a,dependencies:o.metafile?Object.keys(o.metafile.inputs):[]}}async function lr(e,t,r){let s=_path.extname.call(void 0, e),n=W.extensions[s];W.extensions[s]=(m,i)=>{i===e?m._compile(t,i):n(m,i)},delete W.cache[W.resolve(e)];let o=W(e),a=r&&o.__esModule?o.default:o;return W.extensions[s]=n,a}async function Un(e,t){let r=await _globby2.default.call(void 0, e,{cwd:t,absolute:!0});await Promise.all(r.map(s=>_fs2.default.promises.unlink(s)))}var z={},ur=e=>typeof e=="function",ft=e=>typeof e=="string"?!0:typeof e=="object"&&e!==null?Object.toString.call(e)=="[object String]":!1;Object.entries(_path2.default).forEach(([e,t])=>{ur(t)?z[e]=(r=>(...s)=>{s=s.map(o=>ft(o)?fe(o):o);let n=_path2.default[r](...s);return ft(n)?fe(n):n})(e):z[e]=t});var{join:fr,resolve:Fe,extname:We,dirname:dr,basename:gr,isAbsolute:yr}=z;var hr=(e,t)=>{let r=z.relative(e,t);return ue(`.${dt}${r}`)},br=(e,t)=>{if(de(e)){let r=new URL(t);return e.replace(r.origin,"").replace(j(r.pathname).dirname,"").replace(`.${ce(e)}`,"")}return"/"+z.normalize(z.relative(j(t).dirname,e)).split("../").join("").replace(`.${ce(e)}`,"")},Or=e=>e.replace(`.${ce(e)}`,"").slice(e.lastIndexOf("/")+1),dt="/",fe=function(e){return e=e.replace(/\\/g,"/"),e=e.replace(/(?<!^)\/+/g,"/"),e},ue=e=>{let t;return e=fe(e),t=z.normalize(e),e.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:e.startsWith("//")&&!t.startsWith("//")&&(e.startsWith("//./")?t="//."+t:t="/"+t),t},le=function(...e){let t=z.join(...e);if(e.length>0){let r=fe(e[0]);r.startsWith("./")&&!t.startsWith("./")&&!t.startsWith("..")?t="./"+t:r.startsWith("//")&&!t.startsWith("//")&&(r.startsWith("//./")?t="//."+t:t="/"+t)}return t};var w=e=>Boolean(e.$ref),lt= exports.isDirectory =e=>!We(e);function I(e){return Object.prototype.toString.call(e)==="[object Object]"}function gt(e){return Object.prototype.toString.call(e)==="[object Module]"}function A(e){return typeof e=="string"}function yt(e){return typeof e=="number"}function ht(e){return/^-?\d+$/.test(e)}function ae(e){return typeof e=="boolean"}function bt(e){return typeof e=="function"}function ie(e){return typeof e>"u"}function Ot(e){return typeof e===null}function Xn(e){if(!I(e))return!1;if(A(e.type)&&Object.values(et).includes(e.type))return!0;let t=e.allOf||e.anyOf||e.oneOf;return!!(Array.isArray(t)||I(e.properties))}var xt=e=>Object.values(B).includes(e),Zn= exports.isRootKey =(e,t)=>e===t,Sr=/^https?:\/\/\w+(\.\w+)*(:[0-9]+)?(\/.*)?$/,de= exports.isUrl =e=>_isURL2.default.call(void 0, e)||Sr.test(e);async function St(e,t,r){let s=typeof r=="object"?Object.create(r):r;for(let n of e)s=await t(s,n);return s}var Ve=function(e,t){return t=t||"",e.replace(/(^|-)/g,"$1\\u"+t).replace(/,/g,"\\u"+t)},ge=Ve("20-26,28-2F,3A-40,5B-60,7B-7E,A0-BF,D7,F7","00"),ye="a-z"+Ve("DF-F6,F8-FF","00"),pe="A-Z"+Ve("C0-D6,D8-DE","00"),$r="A|An|And|As|At|But|By|En|For|If|In|Of|On|Or|The|To|Vs?\\.?|Via",L={capitalize:new RegExp("(^|["+ge+"])(["+ye+"])","g"),pascal:new RegExp("(^|["+ge+"])+(["+ye+pe+"])","g"),fill:new RegExp("["+ge+"]+(.|$)","g"),sentence:new RegExp('(^\\s*|[\\?\\!\\.]+"?\\s+"?|,\\s+")(['+ye+"])","g"),improper:new RegExp("\\b("+$r+")\\b","g"),relax:new RegExp("([^"+pe+"])(["+pe+"]*)(["+pe+"])(?=[^"+pe+"]|$)","g"),upper:new RegExp("^[^"+ye+"]+$"),hole:/[^\s]\s[^\s]/,apostrophe:/'/g,room:new RegExp("["+ge+"]")},Rr=e=>e.replace(L.apostrophe,""),$t=String.prototype.toUpperCase,Be=String.prototype.toLowerCase,he=(e,t,r=!1)=>(t!=null&&(e=e.replace(L.fill,function(s,n){return n?t+n:""})),r&&(e=Rr(e)),e),jr=(e,t=0)=>Be.call(e.charAt(t))+e.slice(t+1),Pr=(e,t,r,s)=>t+" "+(r?r+" ":"")+s,qe=(e,t=!1,r=!1,s=!1)=>{if(e=e==null?"":e+"",!s&&L.upper.test(e)&&(e=Be.call(e)),!t&&!L.hole.test(e)){var n=he(e," ");L.hole.test(n)&&(e=n)}return!r&&!L.room.test(e)&&(e=e.replace(L.relax,Pr)),e},Rt=(e,t,r)=>he(Be.call(qe(e,!!t)),t,r),h= exports.pascal =e=>{let t=_optionalChain([e, 'optionalAccess', _11 => _11.startsWith, 'call', _12 => _12("_")]),r=he(qe(e,!1,!0).replace(L.pascal,(s,n,o)=>$t.call(o)),"",!0);return t?`_${r}`:r},O= exports.camel =e=>{let t=_optionalChain([e, 'optionalAccess', _13 => _13.startsWith, 'call', _14 => _14("_")]),r=jr(h(e),t?1:0);return t?`_${r}`:r},ro= exports.snake =e=>Rt(e,"_",!0),be= exports.kebab =e=>Rt(e,"-",!0),no= exports.upper =(e,t,r)=>he($t.call(qe(e,!!t,!1,!0)),t,r);var _compareversions = require('compare-versions');var Oe=(e,t,r=">=")=>e==="latest"?!0:_compareversions.compare.call(void 0, e.replace(/(\s(.*))/,""),t,r);var Mr="\\*/",Ue="*\\/",ze=new RegExp(Mr,"g");function M({description:e,deprecated:t,summary:r},s=!1){let n=(Array.isArray(e)?e.filter(p=>!p.includes("eslint-disable")):[e||""]).map(p=>p.replace(ze,Ue)),o=[e,t,r].reduce((p,c)=>c?p+1:p,0);if(!o)return"";let a=o===1&&s,m=Array.isArray(e)?_optionalChain([e, 'access', _15 => _15.find, 'call', _16 => _16(p=>p.includes("eslint-disable")), 'optionalAccess', _17 => _17.replace, 'call', _18 => _18(ze,Ue)]):void 0,i=`${m?`/* ${m} */
5
5
  `:""}/**`;return e&&(a||(i+=`
6
- ${s?" ":""} *`),i+=` ${o.join(`
6
+ ${s?" ":""} *`),i+=` ${n.join(`
7
7
  * `)}`),t&&(a||(i+=`
8
8
  ${s?" ":""} *`),i+=" @deprecated"),r&&(a||(i+=`
9
9
  ${s?" ":""} *`),i+=` @summary ${r.replace(ze,Ue)}`),i+=a?" ":`
10
10
  ${s?" ":""}`,i+=`*/
11
- `,i}var Rt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let o=await Promise.resolve().then(() => require(Fe(t,e)));return r&&(I(o)||gt(o))&&o.default?o.default:o}return Promise.resolve(e)}catch(s){throw`Oups... \u{1F37B}. Path: ${e} => ${s}`}};var xe=e=>e&&typeof e=="object";function Le(e,t){return!xe(t)||!xe(e)?e:Object.entries(t).reduce((r,[s,o])=>{let n=r[s];return Array.isArray(n)&&Array.isArray(o)?r[s]=[...n,...o]:xe(n)&&xe(o)?r[s]=Le(n,o):r[s]=o,r},Object.assign({},e))}var lo=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var ho=async(e,t={},r)=>{try{return new Promise(s=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(o,n)=>{o?(V(_chalk2.default.yellow(`${r}
12
- => ${o}`)),s(e)):s(n.openapi)}):s(e)})}catch(s){throw`Oups... \u{1F37B}.
11
+ `,i}var jt=async(e,t=process.cwd(),r=!0)=>{if(!e)return e;try{if(A(e)){let n=await Promise.resolve().then(() => require(Fe(t,e)));return r&&(I(n)||gt(n))&&n.default?n.default:n}return Promise.resolve(e)}catch(s){throw`Oups... \u{1F37B}. Path: ${e} => ${s}`}};var xe=e=>e&&typeof e=="object";function Le(e,t){return!xe(t)||!xe(e)?e:Object.entries(t).reduce((r,[s,n])=>{let o=r[s];return Array.isArray(o)&&Array.isArray(n)?r[s]=[...o,...n]:xe(o)&&xe(n)?r[s]=Le(o,n):r[s]=n,r},Object.assign({},e))}var fo=(e="",t)=>e?(_nullishCoalesce(e.match(new RegExp(t,"g")), () => ([]))).length:0;var _swagger2openapi = require('swagger2openapi'); var _swagger2openapi2 = _interopRequireDefault(_swagger2openapi);var Oo=async(e,t={},r)=>{try{return new Promise(s=>{!e.openapi&&e.swagger==="2.0"?_swagger2openapi2.default.convertObj(e,t,(n,o)=>{n?(V(_chalk2.default.yellow(`${r}
12
+ => ${n}`)),s(e)):s(o.openapi)}):s(e)})}catch(s){throw`Oups... \u{1F37B}.
13
13
  Path: ${r}
14
- Parsing Error: ${s}`}};var Mt=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var _=e=>{if(!(ie(e)||Ot(e)))return A(e)?`'${e}'`:yt(e)||ae(e)||bt(e)?`${e}`:Array.isArray(e)?`[${e.map(_).join(", ")}]`:Object.entries(e).reduce((t,[r,s],o,n)=>{let a=_(s);return n.length===1?`{ ${r}: ${a}, }`:o?n.length-1===o?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},G= exports.sanitize =(e,t)=>{let{whitespace:r="",underscore:s="",dot:o="",dash:n="",es5keyword:a=!1,es5IdentifierName:m=!1,special:i=!1}=_nullishCoalesce(t, () => ({})),p=e;return i!==!0&&(p=p.replace(/[!"`'#%&,:;<>=@{}~\$\(\)\*\+\/\\\?\[\]\^\|]/g,"")),r!==!0&&(p=p.replace(/[\s]/g,r)),s!==!0&&(p=p.replace(/['_']/g,s)),o!==!0&&(p=p.replace(/[.]/g,o)),n!==!0&&(p=p.replace(/[-]/g,n)),a&&(p=_esutils.keyword.isKeywordES5(p,!0)?`_${p}`:p),m&&(p.match(/^[0-9]/)?p=`N${p}`:p=_esutils.keyword.isIdentifierNameES5(p)?p:`_${p}`),p},jo= exports.toObjectString =(e,t)=>e.length?(t?e.map(s=>_lodashget2.default.call(void 0, s,t)):e).join(`,
15
- `)+",":"",Tr={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},Se= exports.getNumberWord =e=>e.toString().split("").reduce((r,s)=>r+Tr[s],""),_e= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`);var K=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _19 => _19.compilerOptions, 'optionalAccess', _20 => _20.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _21 => _21.compilerOptions, 'optionalAccess', _22 => _22.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var wo=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&it(r),t.length&&pt(t)};var te=(e,t,r)=>{let s=`export type ${t} = typeof ${t}[keyof typeof ${t}];
16
- `,o=$e(e,r);return s+=`
14
+ Parsing Error: ${s}`}};var Pt=e=>e.sort((t,r)=>t.default?1:r.default?-1:t.required&&r.required?0:t.required?-1:r.required?1:0);var _lodashget = require('lodash.get'); var _lodashget2 = _interopRequireDefault(_lodashget);var _=e=>{if(!(ie(e)||Ot(e)))return A(e)?`'${e}'`:yt(e)||ae(e)||bt(e)?`${e}`:Array.isArray(e)?`[${e.map(_).join(", ")}]`:Object.entries(e).reduce((t,[r,s],n,o)=>{let a=_(s);return o.length===1?`{ ${r}: ${a}, }`:n?o.length-1===n?t+`${r}: ${a}, }`:t+`${r}: ${a}, `:`{ ${r}: ${a}, `},"")},v= exports.sanitize =(e,t)=>{let{whitespace:r="",underscore:s="",dot:n="",dash:o="",es5keyword:a=!1,es5IdentifierName:m=!1,special:i=!1}=_nullishCoalesce(t, () => ({})),p=e;return i!==!0&&(p=p.replace(/[!"`'#%&,:;<>=@{}~\$\(\)\*\+\/\\\?\[\]\^\|]/g,"")),r!==!0&&(p=p.replace(/[\s]/g,r)),s!==!0&&(p=p.replace(/['_']/g,s)),n!==!0&&(p=p.replace(/[.]/g,n)),o!==!0&&(p=p.replace(/[-]/g,o)),a&&(p=_esutils.keyword.isKeywordES5(p,!0)?`_${p}`:p),m&&(p.match(/^[0-9]/)?p=`N${p}`:p=_esutils.keyword.isIdentifierNameES5(p)?p:`_${p}`),p},Po= exports.toObjectString =(e,t)=>e.length?(t?e.map(s=>_lodashget2.default.call(void 0, s,t)):e).join(`,
15
+ `)+",":"",Er={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine"},Se= exports.getNumberWord =e=>e.toString().split("").reduce((r,s)=>r+Er[s],""),_e= exports.escape =(e,t="'")=>e.replace(t,`\\${t}`);var K=e=>e?!!(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _19 => _19.compilerOptions, 'optionalAccess', _20 => _20.allowSyntheticDefaultImports]), () => (_optionalChain([e, 'optionalAccess', _21 => _21.compilerOptions, 'optionalAccess', _22 => _22.esModuleInterop])))):!0;var _ibmopenapivalidator = require('ibm-openapi-validator'); var _ibmopenapivalidator2 = _interopRequireDefault(_ibmopenapivalidator);var wo=async e=>{let{errors:t,warnings:r}=await _ibmopenapivalidator2.default.call(void 0, e);r.length&&it(r),t.length&&pt(t)};var te=(e,t,r)=>{let s=`export type ${t} = typeof ${t}[keyof typeof ${t}];
16
+ `,n=$e(e,r);return s+=`
17
17
 
18
18
  `,s+=`// eslint-disable-next-line @typescript-eslint/no-redeclare
19
19
  `,s+=`export const ${t} = {
20
- ${o}} as const;
21
- `,s},$e= exports.getEnumImplementation =(e,t)=>[...new Set(e.split(" | "))].reduce((r,s,o)=>{let n=_optionalChain([t, 'optionalAccess', _23 => _23[o]]);if(n)return r+` ${_esutils.keyword.isIdentifierNameES5(n)?n:`'${n}'`}: ${s},
22
- `;let a=s.startsWith("'")?s.slice(1,-1):s;return ht(a)&&(a=Cr(a)),a.length>1&&(a=G(a,{whitespace:"_",underscore:!0,dash:!0,special:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${s},
23
- `},""),Cr=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var Zo={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},Dr=new RegExp("~1","g"),kr=(e,t)=>{let r=new URL(t,new URL(e,"resolve://"));if(r.protocol==="resolve:"){let{pathname:s,search:o,hash:n}=r;return s+o+n}return r.toString()},re= exports.getRefInfo =(e,t)=>{let[r,s]=e.split("#"),o=_optionalChain([s, 'optionalAccess', _24 => _24.slice, 'call', _25 => _25(1), 'access', _26 => _26.split, 'call', _27 => _27("/"), 'access', _28 => _28.map, 'call', _29 => _29(i=>i.replace(Dr,"/"))]),n=o?_lodashget2.default.call(void 0, t.override,[...o.slice(0,2),"suffix"],""):"",a=s?o[o.length-1]:b.getSchemaFileName(r);if(!r)return{name:h(a)+n,originalName:a,refPaths:o};let m=de(t.specKey)?kr(t.specKey,r):b.resolve(j(t.specKey).dirname,r);return{name:h(a)+n,originalName:a,specKey:m,refPaths:o}};var D=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _30 => _30.schema, 'optionalAccess', _31 => _31.$ref])){let i=D(_optionalChain([e, 'optionalAccess', _32 => _32.schema]),t,r);return{schema:{...e,schema:i.schema},imports:r}}if(!T(e))return{schema:e,imports:r};let{name:s,originalName:o,specKey:n,refPaths:a}=re(e.$ref,t),m=a?_lodashget2.default.call(void 0, t.specs[n||t.specKey],a):t.specs[n||t.specKey];if(!m)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return D(m,{...t,specKey:n||t.specKey},[...r,{name:s,specKey:n,schemaName:o}])};var N=({schema:e,name:t,context:r})=>{if(T(e)){let{schema:o,imports:n}=D(e,r),{name:a,specKey:m,schemaName:i}=n[0],p=m||(r.specKey!==r.target?r.specKey:void 0);return{value:a,imports:[{name:a,specKey:p,schemaName:i}],type:_optionalChain([o, 'optionalAccess', _33 => _33.type])||"object",schemas:[],isEnum:!!_optionalChain([o, 'optionalAccess', _34 => _34.enum]),originalSchema:o,isRef:!0}}return{...ne({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var W=({schema:e,propName:t,combined:r=!1,context:s})=>{let o=N({schema:e,name:t,context:s}),n=v(_nullishCoalesce(o.originalSchema, () => ({})));if(t&&!o.isEnum&&_optionalChain([o, 'optionalAccess', _35 => _35.type])==="object"&&new RegExp(/{|&|\|/).test(o.value))return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:`${n}export type ${t} = ${o.value};
24
- `,imports:o.imports}],isEnum:!1,type:"object",originalSchema:o.originalSchema,isRef:o.isRef};if(t&&o.isEnum&&!r&&!o.isRef){let a=te(o.value,t,_optionalChain([o, 'access', _36 => _36.originalSchema, 'optionalAccess', _37 => _37["x-enumNames"]]));return{value:t,imports:[{name:t}],schemas:[...o.schemas,{name:t,model:n+a,imports:o.imports}],isEnum:!1,type:"enum",originalSchema:o.originalSchema,isRef:o.isRef}}return o};var wt=({schema:e,name:t,context:r})=>{if(e.items){let s=W({schema:e.items,propName:t+"Item",context:r});return{value:s.value.includes("|")?`(${s.value})[]`:`${s.value}[]`,imports:s.imports,schemas:s.schemas,isEnum:!1,type:"array",isRef:!1}}else throw new Error("All arrays must have an `items` key define")};var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var Pt=["multipart/form-data"],Tt=["application/x-www-form-urlencoded"],Vr=({mediaType:e,propName:t,context:r})=>e.schema?W({schema:e.schema,propName:t,context:r}):void 0,oe= exports.getResReqTypes =(e,t,r,s="unknown")=>{let o=e.filter(([n,a])=>Boolean(a)).map(([n,a])=>{if(T(a)){let{schema:m,imports:[{name:i,specKey:p,schemaName:c}]}=D(a,r),[l,u]=_nullishCoalesce(Object.entries(_nullishCoalesce(m.content, () => ({})))[0], () => ([])),f=Pt.includes(l),y=Tt.includes(l);if(!f&&!y||!_optionalChain([u, 'optionalAccess', _38 => _38.schema]))return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,originalSchema:_optionalChain([u, 'optionalAccess', _39 => _39.schema]),key:n,contentType:l}];let g=f?je({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _40 => _40.schema]),context:{...r,specKey:p||r.specKey},isRef:!0}):void 0,d=y?je({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _41 => _41.schema]),context:{...r,specKey:p||r.specKey},isUrlEncoded:!0,isRef:!0}):void 0;return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,formData:g,formUrlEncoded:d,isRef:!0,originalSchema:_optionalChain([u, 'optionalAccess', _42 => _42.schema]),key:n,contentType:l}]}return a.content?Object.entries(a.content).map(([i,p],c,l)=>{let u=n?h(t)+h(n):void 0;u&&l.length>1&&(u=u+h(Se(c+1)));let f=Vr({mediaType:p,propName:u,context:r});if(!f)return;let y=Pt.includes(i),g=Tt.includes(i);if(!y&&!g||!u)return{...f,contentType:i};let d=y?je({name:u,schemaObject:p.schema,context:r}):void 0,x=g?je({name:u,schemaObject:p.schema,context:r,isUrlEncoded:!0}):void 0;return{...f,formData:d,formUrlEncoded:x,contentType:i}}).filter(i=>i).map(i=>({...i,key:n})):[{value:s,imports:[],schemas:[],type:s,isEnum:!1,key:n,isRef:!1,contentType:"application/json"}]});return _lodashuniqby2.default.call(void 0, o.flatMap(n=>n),"value")},je=({name:e,schemaObject:t,context:r,isUrlEncoded:s,isRef:o})=>{let{schema:n,imports:a}=D(t,r),m=O(!o&&T(t)?a[0].name:e),i=s?"formUrlEncoded":"formData",p=s?`const ${i} = new URLSearchParams();
20
+ ${n}} as const;
21
+ `,s},$e= exports.getEnumImplementation =(e,t)=>[...new Set(e.split(" | "))].reduce((r,s,n)=>{let o=_optionalChain([t, 'optionalAccess', _23 => _23[n]]);if(o)return r+` ${_esutils.keyword.isIdentifierNameES5(o)?o:`'${o}'`}: ${s},
22
+ `;let a=s.startsWith("'")?s.slice(1,-1):s;return ht(a)&&(a=Ir(a)),a.length>1&&(a=v(a,{whitespace:"_",underscore:!0,dash:!0,special:!0})),r+` ${_esutils.keyword.isIdentifierNameES5(a)?a:`'${a}'`}: ${s},
23
+ `},""),Ir=e=>e[0]==="-"?`NUMBER_MINUS_${e.slice(1)}`:e[0]==="+"?`NUMBER_PLUS_${e.slice(1)}`:`NUMBER_${e}`;var ts={schemas:"",responses:"Response",parameters:"Parameter",requestBodies:"Body"},kr=new RegExp("~1","g"),Nr=(e,t)=>{let r=new URL(t,new URL(e,"resolve://"));if(r.protocol==="resolve:"){let{pathname:s,search:n,hash:o}=r;return s+n+o}return r.toString()},re= exports.getRefInfo =(e,t)=>{let[r,s]=e.split("#"),n=_optionalChain([s, 'optionalAccess', _24 => _24.slice, 'call', _25 => _25(1), 'access', _26 => _26.split, 'call', _27 => _27("/"), 'access', _28 => _28.map, 'call', _29 => _29(i=>i.replace(kr,"/"))]),o=n?_lodashget2.default.call(void 0, t.override,[...n.slice(0,2),"suffix"],""):"",a=s?n[n.length-1]:b.getSchemaFileName(r);if(!r)return{name:h(a)+o,originalName:a,refPaths:n};let m=de(t.specKey)?Nr(t.specKey,r):b.resolve(j(t.specKey).dirname,r);return{name:h(a)+o,originalName:a,specKey:m,refPaths:n}};var D=(e,t,r=[])=>{if(_optionalChain([e, 'optionalAccess', _30 => _30.schema, 'optionalAccess', _31 => _31.$ref])){let i=D(_optionalChain([e, 'optionalAccess', _32 => _32.schema]),t,r);return{schema:{...e,schema:i.schema},imports:r}}if(!w(e))return{schema:e,imports:r};let{name:s,originalName:n,specKey:o,refPaths:a}=re(e.$ref,t),m=a?_lodashget2.default.call(void 0, t.specs[o||t.specKey],a):t.specs[o||t.specKey];if(!m)throw`Oups... \u{1F37B}. Ref not found: ${e.$ref}`;return D(m,{...t,specKey:o||t.specKey},[...r,{name:s,specKey:o,schemaName:n}])};var F=({schema:e,name:t,context:r})=>{if(w(e)){let{schema:n,imports:o}=D(e,r),a=k({schema:n,context:r}),{name:m,specKey:i,schemaName:p}=o[0],c=i||(r.specKey!==r.target?r.specKey:void 0);return{value:m,imports:[{name:m,specKey:c,schemaName:p}],type:_optionalChain([n, 'optionalAccess', _33 => _33.type])||"object",schemas:[],isEnum:!!_optionalChain([n, 'optionalAccess', _34 => _34.enum]),originalSchema:n,hasReadonlyProps:a.hasReadonlyProps,isRef:!0}}return{...ne({item:e,name:t,context:r}),originalSchema:e,isRef:!1}};var k=({schema:e,propName:t,combined:r=!1,context:s})=>{let n=F({schema:e,name:t,context:s}),o=M(_nullishCoalesce(n.originalSchema, () => ({})));if(t&&!n.isEnum&&_optionalChain([n, 'optionalAccess', _35 => _35.type])==="object"&&new RegExp(/{|&|\|/).test(n.value))return{value:t,imports:[{name:t}],schemas:[...n.schemas,{name:t,model:`${o}export type ${t} = ${n.value};
24
+ `,imports:n.imports}],isEnum:!1,type:"object",originalSchema:n.originalSchema,isRef:n.isRef,hasReadonlyProps:n.hasReadonlyProps};if(t&&n.isEnum&&!r&&!n.isRef){let a=te(n.value,t,_optionalChain([n, 'access', _36 => _36.originalSchema, 'optionalAccess', _37 => _37["x-enumNames"]]));return{value:t,imports:[{name:t}],schemas:[...n.schemas,{name:t,model:o+a,imports:n.imports}],isEnum:!1,type:"enum",originalSchema:n.originalSchema,isRef:n.isRef,hasReadonlyProps:n.hasReadonlyProps}}return n};var Tt=({schema:e,name:t,context:r})=>{if(e.items){let s=k({schema:e.items,propName:t+"Item",context:r});return{value:s.value.includes("|")?`(${s.value})[]`:`${s.value}[]`,imports:s.imports,schemas:s.schemas,isEnum:!1,type:"array",isRef:!1,hasReadonlyProps:s.hasReadonlyProps}}else throw new Error("All arrays must have an `items` key define")};var _lodashuniqby = require('lodash.uniqby'); var _lodashuniqby2 = _interopRequireDefault(_lodashuniqby);var Gt=["multipart/form-data"],wt=["application/x-www-form-urlencoded"],Vr=({mediaType:e,propName:t,context:r})=>e.schema?k({schema:e.schema,propName:t,context:r}):void 0,oe= exports.getResReqTypes =(e,t,r,s="unknown")=>{let n=e.filter(([o,a])=>Boolean(a)).map(([o,a])=>{if(w(a)){let{schema:m,imports:[{name:i,specKey:p,schemaName:c}]}=D(a,r),[l,u]=_nullishCoalesce(Object.entries(_nullishCoalesce(m.content, () => ({})))[0], () => ([])),f=Gt.includes(l),d=wt.includes(l);if(!f&&!d||!_optionalChain([u, 'optionalAccess', _38 => _38.schema]))return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,isRef:!0,hasReadonlyProps:!1,originalSchema:_optionalChain([u, 'optionalAccess', _39 => _39.schema]),key:o,contentType:l}];let y=f?Re({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _40 => _40.schema]),context:{...r,specKey:p||r.specKey},isRef:!0}):void 0,g=d?Re({name:i,schemaObject:_optionalChain([u, 'optionalAccess', _41 => _41.schema]),context:{...r,specKey:p||r.specKey},isUrlEncoded:!0,isRef:!0}):void 0;return[{value:i,imports:[{name:i,specKey:p,schemaName:c}],schemas:[],type:"unknown",isEnum:!1,hasReadonlyProps:!1,formData:y,formUrlEncoded:g,isRef:!0,originalSchema:_optionalChain([u, 'optionalAccess', _42 => _42.schema]),key:o,contentType:l}]}return a.content?Object.entries(a.content).map(([i,p],c,l)=>{let u=o?h(t)+h(o):void 0;u&&l.length>1&&(u=u+h(Se(c+1)));let f=Vr({mediaType:p,propName:u,context:r});if(!f)return;let d=Gt.includes(i),y=wt.includes(i),g=[...f.imports,...f.hasReadonlyProps?[{name:"NonReadonly"}]:[]];if(!d&&!y||!u)return{...f,imports:g,contentType:i};let x=d?Re({name:u,schemaObject:p.schema,context:r}):void 0,R=y?Re({name:u,schemaObject:p.schema,context:r,isUrlEncoded:!0}):void 0;return{...f,imports:g,formData:x,formUrlEncoded:R,contentType:i}}).filter(i=>i).map(i=>({...i,key:o})):[{value:s,imports:[],schemas:[],type:s,isEnum:!1,key:o,isRef:!1,hasReadonlyProps:!1,contentType:"application/json"}]});return _lodashuniqby2.default.call(void 0, n.flatMap(o=>o),"value")},Re=({name:e,schemaObject:t,context:r,isUrlEncoded:s,isRef:n})=>{let{schema:o,imports:a}=D(t,r),m=O(!n&&w(t)?a[0].name:e),i=s?"formUrlEncoded":"formData",p=s?`const ${i} = new URLSearchParams();
25
25
  `:`const ${i} = new FormData();
26
- `;if(n.type==="object"&&n.properties){let c=Object.entries(n.properties).reduce((l,[u,f])=>{let{schema:y}=D(f,r),g="",d=_esutils.keyword.isIdentifierNameES5(u)?`.${u}`:`['${u}']`;y.type==="object"?g=`${i}.append('${u}', JSON.stringify(${m}${d}));
27
- `:y.type==="array"?g=`${m}${d}.forEach(value => ${i}.append('${u}', value));
28
- `:y.type==="number"||y.type==="integer"||y.type==="boolean"?g=`${i}.append('${u}', ${m}${d}.toString())
29
- `:g=`${i}.append('${u}', ${m}${d})
30
- `;let x=_optionalChain([n, 'access', _43 => _43.required, 'optionalAccess', _44 => _44.includes, 'call', _45 => _45(u)]);return y.nullable?x?l+`if(${m}${d} !== null) {
31
- ${g} }
32
- `:l+`if(${m}${d} !== undefined && ${m}${d} !== null) {
33
- ${g} }
34
- `:x?l+g:l+`if(${m}${d} !== undefined) {
35
- ${g} }
36
- `},"");return`${p}${c}`}return n.type==="array"?`${p}${m}.forEach(value => ${i}.append('data', value))
37
- `:n.type==="number"||n.type==="boolean"?`${p}${i}.append('data', ${m}.toString())
26
+ `;if(o.type==="object"&&o.properties){let c=Object.entries(o.properties).reduce((l,[u,f])=>{let{schema:d}=D(f,r),y="",g=_esutils.keyword.isIdentifierNameES5(u)?`.${u}`:`['${u}']`;d.type==="object"?y=`${i}.append('${u}', JSON.stringify(${m}${g}));
27
+ `:d.type==="array"?y=`${m}${g}.forEach(value => ${i}.append('${u}', value));
28
+ `:d.type==="number"||d.type==="integer"||d.type==="boolean"?y=`${i}.append('${u}', ${m}${g}.toString())
29
+ `:y=`${i}.append('${u}', ${m}${g})
30
+ `;let x=_optionalChain([o, 'access', _43 => _43.required, 'optionalAccess', _44 => _44.includes, 'call', _45 => _45(u)]);return d.nullable?x?l+`if(${m}${g} !== null) {
31
+ ${y} }
32
+ `:l+`if(${m}${g} !== undefined && ${m}${g} !== null) {
33
+ ${y} }
34
+ `:x?l+y:l+`if(${m}${g} !== undefined) {
35
+ ${y} }
36
+ `},"");return`${p}${c}`}return o.type==="array"?`${p}${m}.forEach(value => ${i}.append('data', value))
37
+ `:o.type==="number"||o.type==="boolean"?`${p}${i}.append('data', ${m}.toString())
38
38
  `:`${p}${i}.append('data', ${m})
39
- `};var Et=({requestBody:e,operationName:t,context:r,contentType:s})=>{let o=oe([[r.override.components.requestBodies.suffix,e]],t,r),n=s?o.filter(c=>{let l=!0,u=!1;return s.include&&(l=s.include.includes(c.contentType)),s.exclude&&(u=s.exclude.includes(c.contentType)),l&&!u}):o,a=n.flatMap(({imports:c})=>c),m=n.flatMap(({schemas:c})=>c),i=n.map(({value:c})=>c).join(" | "),p=me.includes(i.toLowerCase())||n.length>1?O(t)+r.override.components.requestBodies.suffix:O(i);return{originalSchema:e,definition:i,implementation:p,imports:a,schemas:m,...n.length===1?{formData:n[0].formData,formUrlEncoded:n[0].formUrlEncoded,contentType:n[0].contentType}:{formData:"",formUrlEncoded:"",contentType:""}}};var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);var Re=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Ct=({item:e,name:t,context:r,nullable:s})=>{if(T(e)){let{name:o,specKey:n}=re(e.$ref,r);return{value:o+s,imports:[{name:o,specKey:n}],schemas:[],isEnum:!1,type:"object",isRef:!0}}if(e.allOf||e.oneOf||e.anyOf){let o=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return Ke({schema:e,name:t,separator:o,context:r,nullable:s})}if(e.type instanceof Array)return Ke({schema:{anyOf:e.type.map(o=>({type:o}))},name:t,separator:"anyOf",context:r,nullable:s});if(e.properties&&Object.entries(e.properties).length>0)return Object.entries(e.properties).reduce((o,[n,a],m,i)=>{let p=(Array.isArray(e.required)?e.required:[]).includes(n),c="";if(t){let d=n.startsWith("_");c+=h(`${d?"_":""}${t}_${n}`)}let l=_nullishCoalesce(_optionalChain([r, 'access', _46 => _46.specs, 'access', _47 => _47[r.target], 'optionalAccess', _48 => _48.components, 'optionalAccess', _49 => _49.schemas]), () => ({}));Object.keys(l).some(d=>h(d)===c)&&(c=c+"Property");let f=W({schema:a,propName:c,context:r}),y=e.readOnly||a.readOnly;m||(o.value+="{");let g=v(a,!0);if(o.imports.push(...f.imports),o.value+=`
40
- ${g?`${g} `:""}${y?"readonly ":""}${Re(n)}${p?"":"?"}: ${f.value};`,o.schemas.push(...f.schemas),i.length-1===m){if(e.additionalProperties)if(ae(e.additionalProperties))o.value+=`
39
+ `};var Et=({requestBody:e,operationName:t,context:r,contentType:s})=>{let n=oe([[r.override.components.requestBodies.suffix,e]],t,r),o=s?n.filter(u=>{let f=!0,d=!1;return s.include&&(f=s.include.includes(u.contentType)),s.exclude&&(d=s.exclude.includes(u.contentType)),f&&!d}):n,a=o.flatMap(({imports:u})=>u),m=o.flatMap(({schemas:u})=>u),i=o.map(({value:u})=>u).join(" | "),c=o.some(u=>u.hasReadonlyProps)&&i?`NonReadonly<${i}>`:i,l=me.includes(i.toLowerCase())||o.length>1?O(t)+r.override.components.requestBodies.suffix:O(i);return{originalSchema:e,definition:c,implementation:l,imports:a,schemas:m,...o.length===1?{formData:o[0].formData,formUrlEncoded:o[0].formUrlEncoded,contentType:o[0].contentType}:{formData:"",formUrlEncoded:"",contentType:""}}};var _lodashomit = require('lodash.omit'); var _lodashomit2 = _interopRequireDefault(_lodashomit);var je=e=>_esutils.keyword.isIdentifierNameES5(e)?e:`'${e}'`;var Ct=({item:e,name:t,context:r,nullable:s})=>{if(w(e)){let{name:n,specKey:o}=re(e.$ref,r);return{value:n+s,imports:[{name:n,specKey:o}],schemas:[],isEnum:!1,type:"object",isRef:!0,hasReadonlyProps:e.readOnly||!1}}if(e.allOf||e.oneOf||e.anyOf){let n=e.allOf?"allOf":e.oneOf?"oneOf":"anyOf";return Ke({schema:e,name:t,separator:n,context:r,nullable:s})}if(e.type instanceof Array)return Ke({schema:{anyOf:e.type.map(n=>({type:n}))},name:t,separator:"anyOf",context:r,nullable:s});if(e.properties&&Object.entries(e.properties).length>0)return Object.entries(e.properties).reduce((n,[o,a],m,i)=>{let p=(Array.isArray(e.required)?e.required:[]).includes(o),c="";if(t){let g=o.startsWith("_");c+=h(`${g?"_":""}${t}_${o}`)}let l=_nullishCoalesce(_optionalChain([r, 'access', _46 => _46.specs, 'access', _47 => _47[r.target], 'optionalAccess', _48 => _48.components, 'optionalAccess', _49 => _49.schemas]), () => ({}));Object.keys(l).some(g=>h(g)===c)&&(c=c+"Property");let f=k({schema:a,propName:c,context:r}),d=e.readOnly||a.readOnly;m||(n.value+="{");let y=M(a,!0);if(n.hasReadonlyProps||=d||!1,n.imports.push(...f.imports),n.value+=`
40
+ ${y?`${y} `:""}${d?"readonly ":""}${je(o)}${p?"":"?"}: ${f.value};`,n.schemas.push(...f.schemas),i.length-1===m){if(e.additionalProperties)if(ae(e.additionalProperties))n.value+=`
41
41
  [key: string]: any;
42
- }`;else{let d=N({schema:e.additionalProperties,name:t,context:r});o.value+=`
43
- [key: string]: ${d.value};
44
- }`}else o.value+=`
45
- }`;o.value+=s}return o},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{}});if(e.additionalProperties){if(ae(e.additionalProperties))return{value:"{ [key: string]: any }"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1};let o=N({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${o.value}}`+s,imports:_nullishCoalesce(o.imports, () => ([])),schemas:_nullishCoalesce(o.schemas, () => ([])),isEnum:!1,type:"object",isRef:!1}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1}};var ne=({item:e,name:t,context:r})=>{let s=e.nullable?" | null":"";switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let o="number",n=!1;return e.enum&&(o=e.enum.map(a=>`${a}`).join(" | "),n=!0),{value:o+s,isEnum:n,type:"number",schemas:[],imports:[],isRef:!1}}case"boolean":return{value:"boolean"+s,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1};case"array":{let{value:o,...n}=wt({schema:e,name:t,context:r});return{value:o+s,...n}}case"string":{let o="string",n=!1;return e.enum&&(o=`'${e.enum.map(a=>A(a)?_e(a):`${a}`).filter(Boolean).join("' | '")}'`,n=!0),e.format==="binary"&&(o="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(o="Date"),{value:o+s,isEnum:n,type:"string",imports:[],schemas:[],isRef:!1}}case"null":return{value:"null",isEnum:!1,type:"null",imports:[],schemas:[],isRef:!1};case"object":default:{if(e.enum)return{value:`'${e.enum.map(m=>A(m)?_e(m):`${m}`).filter(Boolean).join("' | '")}'`+s,isEnum:!0,type:"string",imports:[],schemas:[],isRef:!1};let{value:o,...n}=Ct({item:e,name:t,context:r,nullable:s});return{value:o,...n}}}};var qr=({resolvedData:e,resolvedValue:t,separator:r})=>e.isEnum.every(o=>o)?`${e.values.join(" | ")}${t?` | ${t.value}`:""}`:r==="allOf"?`${e.values.join(" & ")}${t?` & ${t.value}`:""}`:t?`(${e.values.join(` & ${t.value}) | (`)} & ${t.value})`:e.values.join(" | "),Ke= exports.combineSchemas =({name:e,schema:t,separator:r,context:s,nullable:o})=>{let n=_nullishCoalesce(t[r], () => ([])),a=n.reduce((c,l)=>{let u=e?e+h(r):void 0;u&&c.schemas.length&&(u=u+h(Se(c.schemas.length+1)));let f=W({schema:l,propName:u,combined:!0,context:s});return c.values.push(f.value),c.imports.push(...f.imports),c.schemas.push(...f.schemas),c.isEnum.push(f.isEnum),c.types.push(f.type),c.isRef.push(f.isRef),c.originalSchema.push(f.originalSchema),c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[]}),m=a.isEnum.every(c=>c),i;t.properties&&(i=ne({item:_lodashomit2.default.call(void 0, t,r),name:e,context:s}));let p=qr({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&n.length>1){let c=`
42
+ }`;else{let g=F({schema:e.additionalProperties,name:t,context:r});n.value+=`
43
+ [key: string]: ${g.value};
44
+ }`}else n.value+=`
45
+ }`;n.value+=s}return n},{imports:[],schemas:[],value:"",isEnum:!1,type:"object",isRef:!1,schema:{},hasReadonlyProps:!1});if(e.additionalProperties){if(ae(e.additionalProperties))return{value:"{ [key: string]: any }"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:e.readOnly||!1};let n=F({schema:e.additionalProperties,name:t,context:r});return{value:`{[key: string]: ${n.value}}`+s,imports:_nullishCoalesce(n.imports, () => ([])),schemas:_nullishCoalesce(n.schemas, () => ([])),isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:n.hasReadonlyProps}}return{value:e.type==="object"?"{ [key: string]: any }":"unknown"+s,imports:[],schemas:[],isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:e.readOnly||!1}};var ne=({item:e,name:t,context:r})=>{let s=e.nullable?" | null":"";switch(!e.type&&e.items&&(e.type="array"),e.type){case"number":case"integer":{let n="number",o=!1;return e.enum&&(n=e.enum.map(a=>`${a}`).join(" | "),o=!0),{value:n+s,isEnum:o,type:"number",schemas:[],imports:[],isRef:!1,hasReadonlyProps:e.readOnly||!1}}case"boolean":return{value:"boolean"+s,type:"boolean",isEnum:!1,schemas:[],imports:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};case"array":{let{value:n,...o}=Tt({schema:e,name:t,context:r});return{value:n+s,...o}}case"string":{let n="string",o=!1;return e.enum&&(n=`'${e.enum.map(a=>A(a)?_e(a):`${a}`).filter(Boolean).join("' | '")}'`,o=!0),e.format==="binary"&&(n="Blob"),r.override.useDates&&(e.format==="date"||e.format==="date-time")&&(n="Date"),{value:n+s,isEnum:o,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1}}case"null":return{value:"null",isEnum:!1,type:"null",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};case"object":default:{if(e.enum)return{value:`'${e.enum.map(m=>A(m)?_e(m):`${m}`).filter(Boolean).join("' | '")}'`+s,isEnum:!0,type:"string",imports:[],schemas:[],isRef:!1,hasReadonlyProps:e.readOnly||!1};let{value:n,...o}=Ct({item:e,name:t,context:r,nullable:s});return{value:n,...o}}}};var Ur=({resolvedData:e,resolvedValue:t,separator:r})=>e.isEnum.every(n=>n)?`${e.values.join(" | ")}${t?` | ${t.value}`:""}`:r==="allOf"?`${e.values.join(" & ")}${t?` & ${t.value}`:""}`:t?`(${e.values.join(` & ${t.value}) | (`)} & ${t.value})`:e.values.join(" | "),Ke= exports.combineSchemas =({name:e,schema:t,separator:r,context:s,nullable:n})=>{let o=_nullishCoalesce(t[r], () => ([])),a=o.reduce((c,l)=>{let u=e?e+h(r):void 0;u&&c.schemas.length&&(u=u+h(Se(c.schemas.length+1)));let f=k({schema:l,propName:u,combined:!0,context:s});return c.values.push(f.value),c.imports.push(...f.imports),c.schemas.push(...f.schemas),c.isEnum.push(f.isEnum),c.types.push(f.type),c.isRef.push(f.isRef),c.originalSchema.push(f.originalSchema),c.hasReadonlyProps||=f.hasReadonlyProps,c},{values:[],imports:[],schemas:[],isEnum:[],isRef:[],types:[],originalSchema:[],hasReadonlyProps:!1}),m=a.isEnum.every(c=>c),i;t.properties&&(i=ne({item:_lodashomit2.default.call(void 0, t,r),name:e,context:s}));let p=Ur({resolvedData:a,separator:r,resolvedValue:i});if(m&&e&&o.length>1){let c=`
46
46
 
47
47
  // eslint-disable-next-line @typescript-eslint/no-redeclare
48
- export const ${h(e)} = ${Ur(a)}`;return{value:`typeof ${h(e)}[keyof typeof ${h(e)}] ${o};`+c,imports:a.imports.map(l=>({...l,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1}}return{value:p+o,imports:i?[...a.imports,...i.imports]:a.imports,schemas:i?[...a.schemas,...i.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1}},Ur=({values:e,isRef:t,originalSchema:r})=>e.length===1?t[0]?e[0]:`{${$e(e[0])}} as const`:`{${e.map((o,n)=>{if(t[n])return`...${o},`;let a=_optionalChain([r, 'access', _50 => _50[n], 'optionalAccess', _51 => _51["x-enumNames"]]);return $e(o,a)}).join("")}} as const`;var It=(e,t)=>{let r={...e};for(let s of Object.values(r))if(_optionalChain([s, 'access', _52 => _52.discriminator, 'optionalAccess', _53 => _53.mapping])){let{mapping:o,propertyName:n}=s.discriminator;for(let[a,m]of Object.entries(o)){let i;try{let{name:p}=re(m,t);i=r[p]}catch (e2){i=r[m]}!i||(i.properties={...i.properties,[n]:{type:"string",enum:[a]}},i.required=[..._nullishCoalesce(i.required, () => ([])),n])}}return r};var Dt=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(s=>G(s,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var kt=({parameters:e=[],context:t})=>e.reduce((r,s)=>{if(T(s)){let{schema:o,imports:n}=D(s,t);(o.in==="path"||o.in==="query"||o.in==="header")&&r[o.in].push({parameter:o,imports:n})}else(s.in==="query"||s.in==="path"||s.in==="header")&&r[s.in].push({parameter:s,imports:[]});return r},{path:[],query:[],header:[]});var zr=e=>{let t,r=[],s=/\{(.*?)\}/g;for(;(t=s.exec(e))!==null;)r.push(t[1]);return r},At= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:s})=>zr(e).map(n=>{let a=t.find(({parameter:y})=>G(O(y.name),{es5keyword:!0,underscore:!0,dash:!0})===n);if(!a)throw new Error(`The path params ${n} can't be found in parameters (${r})`);let{name:m,required:i=!1,schema:p}=a.parameter,c=G(O(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=N({schema:p,context:{...s,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),u=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${_(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:i,imports:l.imports,originalSchema:l.originalSchema}});var Nt=({body:e,queryParams:t,params:r,headers:s})=>{let o={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:se.BODY},n={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _54 => _54.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _55 => _55.schema, 'access', _56 => _56.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _57 => _57.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _58 => _58.schema, 'access', _59 => _59.name])}`,default:!1,required:ie(_optionalChain([t, 'optionalAccess', _60 => _60.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _61 => _61.isOptional]),type:se.QUERY_PARAM},a={name:"headers",definition:`headers${_optionalChain([s, 'optionalAccess', _62 => _62.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _63 => _63.schema, 'access', _64 => _64.name])}`,implementation:`headers${_optionalChain([s, 'optionalAccess', _65 => _65.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _66 => _66.schema, 'access', _67 => _67.name])}`,default:!1,required:ie(_optionalChain([s, 'optionalAccess', _68 => _68.isOptional]))?!1:!_optionalChain([s, 'optionalAccess', _69 => _69.isOptional]),type:se.HEADER},m=[...r.map(p=>({...p,type:se.PARAM})),...e.definition?[o]:[],...t?[n]:[],...s?[a]:[]];return Mt(m)};var Lr=(e,t,r)=>e.map(({parameter:s,imports:o})=>{let{name:n,required:a,schema:m,content:i}=s,p=G(`${h(t)}${h(n)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=m||i["application/json"].schema,l=N({schema:c,context:r,name:p}),u=Re(n),f=v(s);if(o.length)return{definition:`${f}${u}${!a||c.default?"?":""}: ${o[0].name};`,imports:o,schemas:[],originalSchema:l.originalSchema};if(l.isEnum&&!l.isRef){let g=p,d=te(l.value,g,_optionalChain([l, 'access', _70 => _70.originalSchema, 'optionalAccess', _71 => _71["x-enumNames"]]));return{definition:`${f}${u}${!a||c.default?"?":""}: ${g};`,imports:[{name:g}],schemas:[...l.schemas,{name:g,model:d,imports:l.imports}],originalSchema:l.originalSchema}}return{definition:`${f}${u}${!a||c.default?"?":""}: ${l.value};`,imports:l.imports,schemas:l.schemas,originalSchema:l.originalSchema}}),Qe= exports.getQueryParams =({queryParams:e=[],operationName:t,context:r,suffix:s="params"})=>{if(!e.length)return;let o=Lr(e,t,r),n=o.flatMap(({imports:l})=>l),a=o.flatMap(({schemas:l})=>l),m=`${h(t)}${h(s)}`,i=o.map(({definition:l})=>l).join(`
48
+ export const ${h(e)} = ${zr(a)}`;return{value:`typeof ${h(e)}[keyof typeof ${h(e)}] ${n};`+c,imports:a.imports.map(l=>({...l,values:!0})),schemas:a.schemas,isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:a.hasReadonlyProps}}return{value:p+n,imports:i?[...a.imports,...i.imports]:a.imports,schemas:i?[...a.schemas,...i.schemas]:a.schemas,isEnum:!1,type:"object",isRef:!1,hasReadonlyProps:_optionalChain([a, 'optionalAccess', _50 => _50.hasReadonlyProps])||_optionalChain([i, 'optionalAccess', _51 => _51.hasReadonlyProps])||!1}},zr=({values:e,isRef:t,originalSchema:r})=>e.length===1?t[0]?e[0]:`{${$e(e[0])}} as const`:`{${e.map((n,o)=>{if(t[o])return`...${n},`;let a=_optionalChain([r, 'access', _52 => _52[o], 'optionalAccess', _53 => _53["x-enumNames"]]);return $e(n,a)}).join("")}} as const`;var It=(e,t)=>{let r={...e};for(let s of Object.values(r))if(_optionalChain([s, 'access', _54 => _54.discriminator, 'optionalAccess', _55 => _55.mapping])){let{mapping:n,propertyName:o}=s.discriminator;for(let[a,m]of Object.entries(n)){let i;try{let{name:p}=re(m,t);i=r[p]}catch (e2){i=r[m]}!i||(i.properties={...i.properties,[o]:{type:"string",enum:[a]}},i.required=[..._nullishCoalesce(i.required, () => ([])),o])}}return r};var Dt=(e,t,r)=>e.operationId?e.operationId:h([r,...t.split("/").map(s=>v(s,{dash:!0,underscore:"-",dot:"-",whitespace:"-"}))].join("-"));var kt=({parameters:e=[],context:t})=>e.reduce((r,s)=>{if(w(s)){let{schema:n,imports:o}=D(s,t);(n.in==="path"||n.in==="query"||n.in==="header")&&r[n.in].push({parameter:n,imports:o})}else(s.in==="query"||s.in==="path"||s.in==="header")&&r[s.in].push({parameter:s,imports:[]});return r},{path:[],query:[],header:[]});var Lr=e=>{let t,r=[],s=/\{(.*?)\}/g;for(;(t=s.exec(e))!==null;)r.push(t[1]);return r},Nt= exports.getParams =({route:e,pathParams:t=[],operationId:r,context:s})=>Lr(e).map(o=>{let a=t.find(({parameter:d})=>v(O(d.name),{es5keyword:!0,underscore:!0,dash:!0})===o);if(!a)throw new Error(`The path params ${o} can't be found in parameters (${r})`);let{name:m,required:i=!1,schema:p}=a.parameter,c=v(O(m),{es5keyword:!0});if(!p)return{name:c,definition:`${c}${i?"":"?"}: unknown`,implementation:`${c}${i?"":"?"}: unknown`,default:!1,required:i,imports:[]};let l=F({schema:p,context:{...s,...a.imports.length?{specKey:a.imports[0].specKey}:{}}}),u=`${c}${!i||l.originalSchema.default?"?":""}: ${l.value}`,f=`${c}${!i&&!l.originalSchema.default?"?":""}${l.originalSchema.default?`= ${_(l.originalSchema.default)}`:`: ${l.value}`}`;return{name:c,definition:u,implementation:f,default:l.originalSchema.default,required:i,imports:l.imports,originalSchema:l.originalSchema}});var At=({body:e,queryParams:t,params:r,headers:s})=>{let n={name:e.implementation,definition:`${e.implementation}: ${e.definition}`,implementation:`${e.implementation}: ${e.definition}`,default:!1,required:!0,type:se.BODY},o={name:"params",definition:`params${_optionalChain([t, 'optionalAccess', _56 => _56.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _57 => _57.schema, 'access', _58 => _58.name])}`,implementation:`params${_optionalChain([t, 'optionalAccess', _59 => _59.isOptional])?"?":""}: ${_optionalChain([t, 'optionalAccess', _60 => _60.schema, 'access', _61 => _61.name])}`,default:!1,required:ie(_optionalChain([t, 'optionalAccess', _62 => _62.isOptional]))?!1:!_optionalChain([t, 'optionalAccess', _63 => _63.isOptional]),type:se.QUERY_PARAM},a={name:"headers",definition:`headers${_optionalChain([s, 'optionalAccess', _64 => _64.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _65 => _65.schema, 'access', _66 => _66.name])}`,implementation:`headers${_optionalChain([s, 'optionalAccess', _67 => _67.isOptional])?"?":""}: ${_optionalChain([s, 'optionalAccess', _68 => _68.schema, 'access', _69 => _69.name])}`,default:!1,required:ie(_optionalChain([s, 'optionalAccess', _70 => _70.isOptional]))?!1:!_optionalChain([s, 'optionalAccess', _71 => _71.isOptional]),type:se.HEADER},m=[...r.map(p=>({...p,type:se.PARAM})),...e.definition?[n]:[],...t?[o]:[],...s?[a]:[]];return Pt(m)};var _r=(e,t,r)=>e.map(({parameter:s,imports:n})=>{let{name:o,required:a,schema:m,content:i}=s,p=v(`${h(t)}${h(o)}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),c=m||i["application/json"].schema,l=F({schema:c,context:r,name:p}),u=je(o),f=M(s);if(n.length)return{definition:`${f}${u}${!a||c.default?"?":""}: ${n[0].name};`,imports:n,schemas:[],originalSchema:l.originalSchema};if(l.isEnum&&!l.isRef){let y=p,g=te(l.value,y,_optionalChain([l, 'access', _72 => _72.originalSchema, 'optionalAccess', _73 => _73["x-enumNames"]]));return{definition:`${f}${u}${!a||c.default?"?":""}: ${y};`,imports:[{name:y}],schemas:[...l.schemas,{name:y,model:g,imports:l.imports}],originalSchema:l.originalSchema}}return{definition:`${f}${u}${!a||c.default?"?":""}: ${l.value};`,imports:l.imports,schemas:l.schemas,originalSchema:l.originalSchema}}),Qe= exports.getQueryParams =({queryParams:e=[],operationName:t,context:r,suffix:s="params"})=>{if(!e.length)return;let n=_r(e,t,r),o=n.flatMap(({imports:l})=>l),a=n.flatMap(({schemas:l})=>l),m=`${h(t)}${h(s)}`,i=n.map(({definition:l})=>l).join(`
49
49
  `),p=e.every(({parameter:l})=>!l.required);return{schema:{name:m,model:`export type ${m} = {
50
50
  ${i}
51
51
  };
52
- `,imports:n},deps:a,isOptional:p}};var Ft=({responses:e,operationName:t,context:r,contentType:s})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let o=oe(Object.entries(e),t,r,"void"),n=s?o.filter(u=>{let f=!0,y=!1;return s.include&&(f=s.include.includes(u.contentType)),s.exclude&&(y=s.exclude.includes(u.contentType)),f&&!y}):o,a=n.reduce((u,f)=>(f.key.startsWith("2")?u.success.push(f):u.errors.push(f),u),{success:[],errors:[]}),m=n.flatMap(({imports:u})=>u),i=n.flatMap(({schemas:u})=>u),p=[...new Set(n.map(({contentType:u})=>u))],c=a.success.map(({value:u,formData:f})=>f?"Blob":u).join(" | "),l=a.errors.map(({value:u})=>u).join(" | ");return{imports:m,definition:{success:c||"unknown",errors:l||"unknown"},isBlob:c==="Blob",types:a,contentTypes:p,schemas:i,originalSchema:e}};var Vt=e=>/[^{]*{[\w*_-]*}.*/.test(e),Wt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _72 => _72.length]))return e;let r=t[1],s=G(O(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),o=Vt(t[3])?Wt(t[3]):t[3];return Vt(e)?`${r}\${${s}}${o}`:`${r}${s}${o}`},Sa= exports.getRoute =e=>e.split("/").reduce((r,s,o)=>!s&&!o?r:s.includes("{")?`${r}/${Wt(s)}`:`${r}/${s}`,"");var za=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((s,[o,n])=>{let a=oe([[r,n]],o,t,"void"),m=a.flatMap(({imports:f})=>f),i=a.flatMap(({schemas:f})=>f),p=a.map(({value:f})=>f).join(" | "),c=G(`${h(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),u=`${v(n)}export type ${c} = ${p||"unknown"};
53
- `;return s.push(...i),c!==p&&s.push({name:c,model:u,imports:m}),s},[]);var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var Ut=({imports:e=[],target:t,isRootKey:r,specsName:s,specKey:o})=>e.length?_lodashuniqwith2.default.call(void 0, e,(n,a)=>n.name===a.name&&n.default===a.default&&n.specKey===a.specKey).sort().map(({specKey:n,name:a,values:m,alias:i})=>{if(n&&!(o===n)){let c=n!==t?s[n]:"";return!r&&n?`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from '../${b.join(c,O(a))}';`:`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${b.join(c,O(a))}';`}return`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${O(a)}';`}).join(`
54
- `):"",R= exports.generateMutatorImports =({mutators:e,implementation:t,oneMore:r})=>_lodashuniqwith2.default.call(void 0, e,(o,n)=>o.name===n.name&&o.default===n.default).reduce((o,n)=>{let a=`${r?"../":""}${n.path}`;if(o+=`import ${n.default?n.name:`{ ${n.name} }`} from '${a}';`,o+=`
55
- `,t&&(n.hasErrorType||n.bodyTypeName)){let i="";n.hasErrorType&&t.includes(n.errorTypeName)&&!o.includes(n.errorTypeName)&&(i=n.default?`ErrorType as ${n.errorTypeName}`:n.errorTypeName);let p="";n.bodyTypeName&&t.includes(n.bodyTypeName)&&!o.includes(n.bodyTypeName)&&(p=n.default?`BodyType as ${n.bodyTypeName}`:n.bodyTypeName),(p||i)&&(o+=`import type { ${i}${i&&p?", ":""}${p} } from '${a}';`,o+=`
56
- `)}return o},""),Bt=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:s,key:o,onlyTypes:n})=>{let a=e.find(l=>l.default&&(t||!l.syntheticDefaultImport)),m=t?void 0:e.find(l=>l.syntheticDefaultImport),i=_lodashuniq2.default.call(void 0, e.filter(l=>!l.default&&!l.syntheticDefaultImport).map(({name:l,alias:u})=>u?`${l} as ${u}`:l)).join(`,
52
+ `,imports:o},deps:a,isOptional:p}};var Ft=({responses:e,operationName:t,context:r,contentType:s})=>{if(!e)return{imports:[],definition:{success:"",errors:""},isBlob:!1,types:{success:[],errors:[]},schemas:[],contentTypes:[]};let n=oe(Object.entries(e),t,r,"void"),o=s?n.filter(u=>{let f=!0,d=!1;return s.include&&(f=s.include.includes(u.contentType)),s.exclude&&(d=s.exclude.includes(u.contentType)),f&&!d}):n,a=o.reduce((u,f)=>(f.key.startsWith("2")?u.success.push(f):u.errors.push(f),u),{success:[],errors:[]}),m=o.flatMap(({imports:u})=>u),i=o.flatMap(({schemas:u})=>u),p=[...new Set(o.map(({contentType:u})=>u))],c=a.success.map(({value:u,formData:f})=>f?"Blob":u).join(" | "),l=a.errors.map(({value:u})=>u).join(" | ");return{imports:m,definition:{success:c||"unknown",errors:l||"unknown"},isBlob:c==="Blob",types:a,contentTypes:p,schemas:i,originalSchema:e}};var Wt=e=>/[^{]*{[\w*_-]*}.*/.test(e),Vt=e=>{let t=e.match(/([^{]*){?([\w*_-]*)}?(.*)/);if(!_optionalChain([t, 'optionalAccess', _74 => _74.length]))return e;let r=t[1],s=v(O(t[2]),{es5keyword:!0,underscore:!0,dash:!0,dot:!0}),n=Wt(t[3])?Vt(t[3]):t[3];return Wt(e)?`${r}\${${s}}${n}`:`${r}${s}${n}`},Pa= exports.getRoute =e=>e.split("/").reduce((r,s,n)=>!s&&!n?r:s.includes("{")?`${r}/${Vt(s)}`:`${r}/${s}`,"");var Qa=(e={},t,r)=>_lodashisempty2.default.call(void 0, e)?[]:Object.entries(e).reduce((s,[n,o])=>{let a=oe([[r,o]],n,t,"void"),m=a.flatMap(({imports:f})=>f),i=a.flatMap(({schemas:f})=>f),p=a.map(({value:f})=>f).join(" | "),c=v(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),u=`${M(o)}export type ${c} = ${p||"unknown"};
53
+ `;return s.push(...i),c!==p&&s.push({name:c,model:u,imports:m}),s},[]);var _lodashuniq = require('lodash.uniq'); var _lodashuniq2 = _interopRequireDefault(_lodashuniq);var _lodashuniqwith = require('lodash.uniqwith'); var _lodashuniqwith2 = _interopRequireDefault(_lodashuniqwith);var Ut=({imports:e=[],target:t,isRootKey:r,specsName:s,specKey:n})=>e.length?_lodashuniqwith2.default.call(void 0, e,(o,a)=>o.name===a.name&&o.default===a.default&&o.specKey===a.specKey).sort().map(({specKey:o,name:a,values:m,alias:i})=>{if(o&&!(n===o)){let c=o!==t?s[o]:"";return!r&&o?`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from '../${b.join(c,O(a))}';`:`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${b.join(c,O(a))}';`}return`import ${m?"":"type "}{ ${a}${i?` as ${i}`:""} } from './${O(a)}';`}).join(`
54
+ `):"",P= exports.generateMutatorImports =({mutators:e,implementation:t,oneMore:r})=>_lodashuniqwith2.default.call(void 0, e,(n,o)=>n.name===o.name&&n.default===o.default).reduce((n,o)=>{let a=`${r?"../":""}${o.path}`;if(n+=`import ${o.default?o.name:`{ ${o.name} }`} from '${a}';`,n+=`
55
+ `,t&&(o.hasErrorType||o.bodyTypeName)){let i="";o.hasErrorType&&t.includes(o.errorTypeName)&&!n.includes(o.errorTypeName)&&(i=o.default?`ErrorType as ${o.errorTypeName}`:o.errorTypeName);let p="";o.bodyTypeName&&t.includes(o.bodyTypeName)&&!n.includes(o.bodyTypeName)&&(p=o.default?`BodyType as ${o.bodyTypeName}`:o.bodyTypeName),(p||i)&&(n+=`import type { ${i}${i&&p?", ":""}${p} } from '${a}';`,n+=`
56
+ `)}return n},""),Bt=({deps:e,isAllowSyntheticDefaultImports:t,dependency:r,specsName:s,key:n,onlyTypes:o})=>{let a=e.find(l=>l.default&&(t||!l.syntheticDefaultImport)),m=t?void 0:e.find(l=>l.syntheticDefaultImport),i=_lodashuniq2.default.call(void 0, e.filter(l=>!l.default&&!l.syntheticDefaultImport).map(({name:l,alias:u})=>u?`${l} as ${u}`:l)).join(`,
57
57
  `),p="",c=m?`import * as ${m.name} from '${r}';`:"";if(c){if(e.length===1)return c;p+=`${c}
58
- `}return p+=`import ${n?"type ":""}${a?`${a.name}${i?",":""}`:""}${i?`{
58
+ `}return p+=`import ${o?"type ":""}${a?`${a.name}${i?",":""}`:""}${i?`{
59
59
  ${i}
60
- }`:""} from '${r}${o!=="default"&&s[o]?`/${s[o]}`:""}'`,p},Qr= exports.addDependency =({implementation:e,exports:t,dependency:r,specsName:s,hasSchemaDir:o,isAllowSyntheticDefaultImports:n})=>{let a=t.filter(i=>e.includes(i.alias||i.name));if(!a.length)return;let m=a.reduce((i,p)=>{let c=o&&p.specKey?p.specKey:"default";return p.values&&(n||!p.syntheticDefaultImport)?(i[c]={...i[c],values:[..._nullishCoalesce(_optionalChain([i, 'access', _73 => _73[c], 'optionalAccess', _74 => _74.values]), () => ([])),p]},i):(i[c]={...i[c],types:[..._nullishCoalesce(_optionalChain([i, 'access', _75 => _75[c], 'optionalAccess', _76 => _76.types]), () => ([])),p]},i)},{});return Object.entries(m).map(([i,{values:p,types:c}])=>{let l="";return p&&(l+=Bt({deps:p,isAllowSyntheticDefaultImports:n,dependency:r,specsName:s,key:i,onlyTypes:!1})),c&&(p&&(l+=`
61
- `),l+=Bt({deps:c,isAllowSyntheticDefaultImports:n,dependency:r,specsName:s,key:i,onlyTypes:!0})),l}).join(`
62
- `)},Ha= exports.generateDependencyImports =(e,t,r,s,o)=>{let n=t.map(a=>Qr({...a,implementation:e,specsName:r,hasSchemaDir:s,isAllowSyntheticDefaultImports:o})).filter(Boolean).join(`
63
- `);return n?n+`
64
- `:""},Ja= exports.generateVerbImports =({response:e,body:t,queryParams:r,headers:s,params:o})=>[...e.imports,...t.imports,...r?[{name:r.schema.name}]:[],...s?[{name:s.schema.name}]:[],...o.flatMap(({imports:n})=>n)];var Hr=(e,t)=>e+`${t}
65
- `,Q= exports.generateModelsInline =e=>Object.values(e).flatMap(r=>r).sort((r,s)=>r.imports.some(o=>o.name===s.name)?1:-1).reduce((r,{model:s})=>Hr(r,s),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var Me="BodyType",Lt=(e,t)=>{let r=j(e),s=j(t.path),{pathWithoutExtension:o}=j(b.relativeSafe(r.dirname,s.path));return o},ve= exports.generateMutator =async({output:e,mutator:t,name:r,workspace:s,tsconfig:o})=>{if(!t||!e)return;let n=t.default,a=t.name?t.name:`${r}Mutator`,m=t.path,i=await _fsextra2.default.readFile(m,"utf8"),p=i.includes("export type ErrorType")||i.includes("export interface ErrorType"),c=i.includes(`export type ${Me}`)||i.includes(`export interface ${Me}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",u=t.default?`${h(r)}${Me}`:Me,{file:f,cached:y}=await ct(m,{isDefault:!1,root:s,alias:t.alias,tsconfig:o,load:!1});if(f){let g=n?"default":t.name,d=Xr(f,g);d||(H().error(_chalk2.default.red(`Your mutator file doesn't have the ${g} exported function`)),process.exit(1));let x=Lt(e,t),M=t.name?!!t.name.startsWith("use")&&!d.numberOfParams:!d.numberOfParams;return{name:t.name||!M?a:`use${h(a)}`,path:x,default:n,hasErrorType:p,errorTypeName:l,hasSecondArg:M?d.returnNumberOfParams>1:d.numberOfParams>1,hasThirdArg:d.numberOfParams>2,isHook:M,...c?{bodyTypeName:u}:{}}}else{let g=Lt(e,t);return y||H().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:g,default:n,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:u}:{}}}},Xr=(e,t)=>{try{let r=_acorn.Parser.parse(e,{ecmaVersion:6}),s=_optionalChain([r, 'optionalAccess', _77 => _77.body, 'optionalAccess', _78 => _78.find, 'call', _79 => _79(n=>{if(n.type==="ExpressionStatement")return _optionalChain([n, 'access', _80 => _80.expression, 'access', _81 => _81.arguments, 'optionalAccess', _82 => _82[1], 'optionalAccess', _83 => _83.properties, 'optionalAccess', _84 => _84.some, 'call', _85 => _85(a=>_optionalChain([a, 'access', _86 => _86.key, 'optionalAccess', _87 => _87.name])===t)])||_optionalChain([n, 'access', _88 => _88.expression, 'access', _89 => _89.left, 'optionalAccess', _90 => _90.property, 'optionalAccess', _91 => _91.name])===t?!0:_optionalChain([n, 'access', _92 => _92.expression, 'access', _93 => _93.right, 'optionalAccess', _94 => _94.properties, 'optionalAccess', _95 => _95.some, 'call', _96 => _96(a=>a.key.name===t)])})]);if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return Ge(r,s.expression.right.name);let n=_optionalChain([s, 'access', _97 => _97.expression, 'access', _98 => _98.right, 'optionalAccess', _99 => _99.properties, 'access', _100 => _100.find, 'call', _101 => _101(a=>a.key.name===t)]);return n.value.name?Ge(r,n.value.name):n.value.type==="FunctionExpression"||n.value.type==="ArrowFunctionExpression"?{numberOfParams:n.value.params.length}:void 0}let o=s.expression.arguments[1].properties.find(n=>_optionalChain([n, 'access', _102 => _102.key, 'optionalAccess', _103 => _103.name])===t);return Ge(r,o.value.body.name)}catch (e3){return}},Ge=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _104 => _104.body, 'optionalAccess', _105 => _105.find, 'call', _106 => _106(n=>{if(n.type==="VariableDeclaration")return n.declarations.find(a=>a.id.name===t);if(n.type==="FunctionDeclaration"&&n.id.name===t)return n})]);if(!r)return;if(r.type==="FunctionDeclaration"){let n=_optionalChain([r, 'access', _107 => _107.body, 'optionalAccess', _108 => _108.body, 'optionalAccess', _109 => _109.find, 'call', _110 => _110(a=>a.type==="ReturnStatement")]);return _optionalChain([n, 'optionalAccess', _111 => _111.argument, 'optionalAccess', _112 => _112.params])?{numberOfParams:r.params.length,returnNumberOfParams:n.argument.params.length}:{numberOfParams:r.params.length}}let s=r.declarations.find(n=>n.id.name===t);if(s.init.name)return Ge(e,s.init.name);if(s.init.body.type==="ArrowFunctionExpression")return{numberOfParams:s.init.params.length,returnNumberOfParams:s.init.body.params.length};let o=_optionalChain([s, 'access', _113 => _113.init, 'access', _114 => _114.body, 'optionalAccess', _115 => _115.body, 'optionalAccess', _116 => _116.find, 'call', _117 => _117(n=>n.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _118 => _118.argument, 'optionalAccess', _119 => _119.params])?{numberOfParams:s.init.params.length,returnNumberOfParams:o.argument.params.length}:{numberOfParams:s.init.params.length}};var Zr=(e,t,r)=>t&&e.formData?`
60
+ }`:""} from '${r}${n!=="default"&&s[n]?`/${s[n]}`:""}'`,p},Hr= exports.addDependency =({implementation:e,exports:t,dependency:r,specsName:s,hasSchemaDir:n,isAllowSyntheticDefaultImports:o})=>{let a=t.filter(i=>e.includes(i.alias||i.name));if(!a.length)return;let m=a.reduce((i,p)=>{let c=n&&p.specKey?p.specKey:"default";return p.values&&(o||!p.syntheticDefaultImport)?(i[c]={...i[c],values:[..._nullishCoalesce(_optionalChain([i, 'access', _75 => _75[c], 'optionalAccess', _76 => _76.values]), () => ([])),p]},i):(i[c]={...i[c],types:[..._nullishCoalesce(_optionalChain([i, 'access', _77 => _77[c], 'optionalAccess', _78 => _78.types]), () => ([])),p]},i)},{});return Object.entries(m).map(([i,{values:p,types:c}])=>{let l="";return p&&(l+=Bt({deps:p,isAllowSyntheticDefaultImports:o,dependency:r,specsName:s,key:i,onlyTypes:!1})),c&&(p&&(l+=`
61
+ `),l+=Bt({deps:c,isAllowSyntheticDefaultImports:o,dependency:r,specsName:s,key:i,onlyTypes:!0})),l}).join(`
62
+ `)},Za= exports.generateDependencyImports =(e,t,r,s,n)=>{let o=t.map(a=>Hr({...a,implementation:e,specsName:r,hasSchemaDir:s,isAllowSyntheticDefaultImports:n})).filter(Boolean).join(`
63
+ `);return o?o+`
64
+ `:""},ei= exports.generateVerbImports =({response:e,body:t,queryParams:r,headers:s,params:n})=>[...e.imports,...t.imports,...r?[{name:r.schema.name}]:[],...s?[{name:s.schema.name}]:[],...n.flatMap(({imports:o})=>o)];var Jr=(e,t)=>e+`${t}
65
+ `,Q= exports.generateModelsInline =e=>Object.values(e).flatMap(r=>r).sort((r,s)=>r.imports.some(n=>n.name===s.name)?1:-1).reduce((r,{model:s})=>Jr(r,s),"");var _acorn = require('acorn');var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);var Pe="BodyType",Lt=(e,t)=>{let r=j(e),s=j(t.path),{pathWithoutExtension:n}=j(b.relativeSafe(r.dirname,s.path));return n},Me= exports.generateMutator =async({output:e,mutator:t,name:r,workspace:s,tsconfig:n})=>{if(!t||!e)return;let o=t.default,a=t.name?t.name:`${r}Mutator`,m=t.path,i=await _fsextra2.default.readFile(m,"utf8"),p=i.includes("export type ErrorType")||i.includes("export interface ErrorType"),c=i.includes(`export type ${Pe}`)||i.includes(`export interface ${Pe}`),l=t.default?`${h(r)}ErrorType`:"ErrorType",u=t.default?`${h(r)}${Pe}`:Pe,{file:f,cached:d}=await ct(m,{isDefault:!1,root:s,alias:t.alias,tsconfig:n,load:!1});if(f){let y=o?"default":t.name,g=Zr(f,y);g||(H().error(_chalk2.default.red(`Your mutator file doesn't have the ${y} exported function`)),process.exit(1));let x=Lt(e,t),R=t.name?!!t.name.startsWith("use")&&!g.numberOfParams:!g.numberOfParams;return{name:t.name||!R?a:`use${h(a)}`,path:x,default:o,hasErrorType:p,errorTypeName:l,hasSecondArg:R?g.returnNumberOfParams>1:g.numberOfParams>1,hasThirdArg:g.numberOfParams>2,isHook:R,...c?{bodyTypeName:u}:{}}}else{let y=Lt(e,t);return d||H().warn(_chalk2.default.yellow("Failed to parse provided mutator function")),{name:a,path:y,default:o,hasSecondArg:!1,hasThirdArg:!1,isHook:!1,hasErrorType:p,errorTypeName:l,...c?{bodyTypeName:u}:{}}}},Zr=(e,t)=>{try{let r=_acorn.Parser.parse(e,{ecmaVersion:6}),s=_optionalChain([r, 'optionalAccess', _79 => _79.body, 'optionalAccess', _80 => _80.find, 'call', _81 => _81(o=>{if(o.type==="ExpressionStatement")return _optionalChain([o, 'access', _82 => _82.expression, 'access', _83 => _83.arguments, 'optionalAccess', _84 => _84[1], 'optionalAccess', _85 => _85.properties, 'optionalAccess', _86 => _86.some, 'call', _87 => _87(a=>_optionalChain([a, 'access', _88 => _88.key, 'optionalAccess', _89 => _89.name])===t)])||_optionalChain([o, 'access', _90 => _90.expression, 'access', _91 => _91.left, 'optionalAccess', _92 => _92.property, 'optionalAccess', _93 => _93.name])===t?!0:_optionalChain([o, 'access', _94 => _94.expression, 'access', _95 => _95.right, 'optionalAccess', _96 => _96.properties, 'optionalAccess', _97 => _97.some, 'call', _98 => _98(a=>a.key.name===t)])})]);if(!s)return;if(s.expression.type==="AssignmentExpression"){if(s.expression.right.type==="FunctionExpression"||s.expression.right.type==="ArrowFunctionExpression")return{numberOfParams:s.expression.right.params.length};if(s.expression.right.name)return ve(r,s.expression.right.name);let o=_optionalChain([s, 'access', _99 => _99.expression, 'access', _100 => _100.right, 'optionalAccess', _101 => _101.properties, 'access', _102 => _102.find, 'call', _103 => _103(a=>a.key.name===t)]);return o.value.name?ve(r,o.value.name):o.value.type==="FunctionExpression"||o.value.type==="ArrowFunctionExpression"?{numberOfParams:o.value.params.length}:void 0}let n=s.expression.arguments[1].properties.find(o=>_optionalChain([o, 'access', _104 => _104.key, 'optionalAccess', _105 => _105.name])===t);return ve(r,n.value.body.name)}catch (e3){return}},ve=(e,t)=>{let r=_optionalChain([e, 'optionalAccess', _106 => _106.body, 'optionalAccess', _107 => _107.find, 'call', _108 => _108(o=>{if(o.type==="VariableDeclaration")return o.declarations.find(a=>a.id.name===t);if(o.type==="FunctionDeclaration"&&o.id.name===t)return o})]);if(!r)return;if(r.type==="FunctionDeclaration"){let o=_optionalChain([r, 'access', _109 => _109.body, 'optionalAccess', _110 => _110.body, 'optionalAccess', _111 => _111.find, 'call', _112 => _112(a=>a.type==="ReturnStatement")]);return _optionalChain([o, 'optionalAccess', _113 => _113.argument, 'optionalAccess', _114 => _114.params])?{numberOfParams:r.params.length,returnNumberOfParams:o.argument.params.length}:{numberOfParams:r.params.length}}let s=r.declarations.find(o=>o.id.name===t);if(s.init.name)return ve(e,s.init.name);if(s.init.body.type==="ArrowFunctionExpression")return{numberOfParams:s.init.params.length,returnNumberOfParams:s.init.body.params.length};let n=_optionalChain([s, 'access', _115 => _115.init, 'access', _116 => _116.body, 'optionalAccess', _117 => _117.body, 'optionalAccess', _118 => _118.find, 'call', _119 => _119(o=>o.type==="ReturnStatement")]);return _optionalChain([n, 'optionalAccess', _120 => _120.argument, 'optionalAccess', _121 => _121.params])?{numberOfParams:s.init.params.length,returnNumberOfParams:n.argument.params.length}:{numberOfParams:s.init.params.length}};var en=(e,t,r)=>t&&e.formData?`
66
66
  formData,`:r&&e.formUrlEncoded?`
67
67
  formUrlEncoded,`:e.implementation?`
68
- ${e.implementation},`:"",en= exports.generateAxiosOptions =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:s,requestOptions:o,hasSignal:n})=>{let a=o!==!1;if(!r&&!s&&!e.isBlob)return a?"options":n?t?"...(signal ? { signal } : {})":"signal":"";let m="";return a||(r&&(m+=`
68
+ ${e.implementation},`:"",tn= exports.generateAxiosOptions =({response:e,isExactOptionalPropertyTypes:t,queryParams:r,headers:s,requestOptions:n,hasSignal:o})=>{let a=n!==!1;if(!r&&!s&&!e.isBlob)return a?"options":o?t?"...(signal ? { signal } : {})":"signal":"";let m="";return a||(r&&(m+=`
69
69
  params,`),s&&(m+=`
70
- headers,`),n&&(m+=t?`
70
+ headers,`),o&&(m+=t?`
71
71
  ...(signal ? { signal } : {}),`:`
72
- signal,`)),e.isBlob&&(!I(o)||!o.hasOwnProperty("responseType"))&&(m+=`
73
- responseType: 'blob',`),I(o)&&(m+=`
74
- ${_optionalChain([_, 'call', _120 => _120(o), 'optionalAccess', _121 => _121.slice, 'call', _122 => _122(1,-1)])}`),a&&(m+=`
72
+ signal,`)),e.isBlob&&(!I(n)||!n.hasOwnProperty("responseType"))&&(m+=`
73
+ responseType: 'blob',`),I(n)&&(m+=`
74
+ ${_optionalChain([_, 'call', _122 => _122(n), 'optionalAccess', _123 => _123.slice, 'call', _124 => _124(1,-1)])}`),a&&(m+=`
75
75
  ...options,`,r&&(m+=`
76
76
  params: {...params, ...options?.params},`),s&&(m+=`
77
- headers: {...headers, ...options?.headers},`)),m},ui= exports.generateOptions =({route:e,body:t,headers:r,queryParams:s,response:o,verb:n,requestOptions:a,isFormData:m,isFormUrlEncoded:i,isAngular:p,isExactOptionalPropertyTypes:c,hasSignal:l})=>{let u=tt.includes(n),f=u?Zr(t,m,i):"",y=en({response:o,queryParams:_optionalChain([s, 'optionalAccess', _123 => _123.schema]),headers:_optionalChain([r, 'optionalAccess', _124 => _124.schema]),requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),g=y?`{${y}}`:"";return n===B.DELETE?f?`
78
- \`${e}\`,{${p?"body":"data"}:${f} ${y==="options"?`...${y}`:y}}
77
+ headers: {...headers, ...options?.headers},`)),m},yi= exports.generateOptions =({route:e,body:t,headers:r,queryParams:s,response:n,verb:o,requestOptions:a,isFormData:m,isFormUrlEncoded:i,isAngular:p,isExactOptionalPropertyTypes:c,hasSignal:l})=>{let u=tt.includes(o),f=u?en(t,m,i):"",d=tn({response:n,queryParams:_optionalChain([s, 'optionalAccess', _125 => _125.schema]),headers:_optionalChain([r, 'optionalAccess', _126 => _126.schema]),requestOptions:a,isExactOptionalPropertyTypes:c,hasSignal:l}),y=d?`{${d}}`:"";return o===B.DELETE?f?`
78
+ \`${e}\`,{${p?"body":"data"}:${f} ${d==="options"?`...${d}`:d}}
79
79
  `:`
80
- \`${e}\`,${y==="options"?y:g}
80
+ \`${e}\`,${d==="options"?d:y}
81
81
  `:`
82
- \`${e}\`,${u?f||"undefined,":""}${y==="options"?y:g}
83
- `},tn= exports.generateBodyMutatorConfig =(e,t,r)=>t&&e.formData?`,
82
+ \`${e}\`,${u?f||"undefined,":""}${d==="options"?d:y}
83
+ `},rn= exports.generateBodyMutatorConfig =(e,t,r)=>t&&e.formData?`,
84
84
  data: formData`:r&&e.formUrlEncoded?`,
85
85
  data: formUrlEncoded`:e.implementation?`,
86
- data: ${e.implementation}`:"",rn= exports.generateQueryParamsAxiosConfig =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
86
+ data: ${e.implementation}`:"",nn= exports.generateQueryParamsAxiosConfig =(e,t)=>{if(!t&&!e.isBlob)return"";let r="";return t&&(r+=`,
87
87
  params`),e.isBlob&&(r+=`,
88
- responseType: 'blob'`),r},fi= exports.generateMutatorConfig =({route:e,body:t,headers:r,queryParams:s,response:o,verb:n,isFormData:a,isFormUrlEncoded:m,isBodyVerb:i,hasSignal:p,isExactOptionalPropertyTypes:c})=>{let l=i?tn(t,a,m):"",u=rn(o,s),f=t.contentType?`,
88
+ responseType: 'blob'`),r},hi= exports.generateMutatorConfig =({route:e,body:t,headers:r,queryParams:s,response:n,verb:o,isFormData:a,isFormUrlEncoded:m,isBodyVerb:i,hasSignal:p,isExactOptionalPropertyTypes:c})=>{let l=i?rn(t,a,m):"",u=nn(n,s),f=t.contentType?`,
89
89
  headers: {'Content-Type': '${t.contentType}', ${r?"...headers":""}}`:r?`,
90
- headers`:"";return`{url: \`${e}\`, method: '${n}'${f}${l}${u}${!i&&p?`, ${c?"...(signal ? { signal }: {})":"signal"}`:""}
91
- }`},di= exports.generateMutatorRequestOptions =(e,t)=>t?I(e)?`{${_optionalChain([_, 'call', _125 => _125(e), 'optionalAccess', _126 => _126.slice, 'call', _127 => _127(1,-1)])} ...options}`:"options":I(e)?`{${_optionalChain([_, 'call', _128 => _128(e), 'optionalAccess', _129 => _129.slice, 'call', _130 => _130(1,-1)])}}`:"",gi= exports.generateFormDataAndUrlEncodedFunction =({body:e,formData:t,formUrlEncoded:r,isFormData:s,isFormUrlEncoded:o})=>s&&e.formData?t?`const formData = ${t.name}(${e.implementation})`:e.formData:o&&e.formUrlEncoded?r?`const formUrlEncoded = ${r.name}(${e.implementation})`:e.formUrlEncoded:"";var Oi=(e={},t,r)=>Object.entries(e).reduce((s,[o,n])=>{let a=G(`${h(o)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=D(n,t);if(m.in!=="query")return s;if(!m.schema||i.length)return s.push({name:a,imports:i.length?[{name:i[0].name,specKey:i[0].specKey,schemaName:i[0].schemaName}]:[],model:`export type ${a} = ${i.length?i[0].name:"unknown"};
92
- `}),s;let p=W({schema:m.schema,propName:a,context:t}),l=`${v(n)}export type ${a} = ${p.value||"unknown"};
93
- `;return s.push(...p.schemas),a!==p.value&&s.push({name:a,model:l,imports:p.imports}),s},[]);var _t=({name:e,schema:t,context:r,suffix:s})=>{let o=ne({item:t,name:e,context:r}),n=o.value==="{}",a="";a+=v(t),n&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
90
+ headers`:"";return`{url: \`${e}\`, method: '${o}'${f}${l}${u}${!i&&p?`, ${c?"...(signal ? { signal }: {})":"signal"}`:""}
91
+ }`},bi= exports.generateMutatorRequestOptions =(e,t)=>t?I(e)?`{${_optionalChain([_, 'call', _127 => _127(e), 'optionalAccess', _128 => _128.slice, 'call', _129 => _129(1,-1)])} ...options}`:"options":I(e)?`{${_optionalChain([_, 'call', _130 => _130(e), 'optionalAccess', _131 => _131.slice, 'call', _132 => _132(1,-1)])}}`:"",Oi= exports.generateFormDataAndUrlEncodedFunction =({body:e,formData:t,formUrlEncoded:r,isFormData:s,isFormUrlEncoded:n})=>s&&e.formData?t?`const formData = ${t.name}(${e.implementation})`:e.formData:n&&e.formUrlEncoded?r?`const formUrlEncoded = ${r.name}(${e.implementation})`:e.formUrlEncoded:"";var Ri=(e={},t,r)=>Object.entries(e).reduce((s,[n,o])=>{let a=v(`${h(n)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0}),{schema:m,imports:i}=D(o,t);if(m.in!=="query")return s;if(!m.schema||i.length)return s.push({name:a,imports:i.length?[{name:i[0].name,specKey:i[0].specKey,schemaName:i[0].schemaName}]:[],model:`export type ${a} = ${i.length?i[0].name:"unknown"};
92
+ `}),s;let p=k({schema:m.schema,propName:a,context:t}),l=`${M(o)}export type ${a} = ${p.value||"unknown"};
93
+ `;return s.push(...p.schemas),a!==p.value&&s.push({name:a,model:l,imports:p.imports}),s},[]);var _t=({name:e,schema:t,context:r,suffix:s})=>{let n=ne({item:t,name:e,context:r}),o=n.value==="{}",a="";a+=M(t),o&&(r.tslint?a+=`// tslint:disable-next-line:no-empty-interface
94
94
  `:a+=`// eslint-disable-next-line @typescript-eslint/no-empty-interface
95
- `),!me.includes(o.value)&&!_optionalChain([r, 'optionalAccess', _131 => _131.override, 'optionalAccess', _132 => _132.useTypeOverInterfaces])?a+=`export interface ${e} ${o.value}
96
- `:a+=`export type ${e} = ${o.value};
97
- `;let m=o.imports.filter(i=>i.name!==e);return[...o.schemas,{name:e,model:a,imports:m}]};var Ti=(e={},t,r)=>{if(_lodashisempty2.default.call(void 0, e))return[];let s=It(e,t);return Object.entries(s).reduce((n,[a,m])=>{let i=G(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!m.type||m.type==="object")&&!m.allOf&&!m.oneOf&&!m.anyOf&&!T(m)&&!m.nullable)return n.push(..._t({name:i,schema:m,context:t,suffix:r})),n;{let p=N({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=v(m),p.isEnum&&!p.isRef)c+=te(p.value,i,_optionalChain([p, 'access', _133 => _133.originalSchema, 'optionalAccess', _134 => _134["x-enumNames"]]));else if(i===p.value&&p.isRef){let u=p.imports.find(f=>f.name===i);if(!u)c+=`export type ${i} = ${p.value};
98
- `;else{let f=_optionalChain([u, 'optionalAccess', _135 => _135.specKey])?`${h(b.getSpecName(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${i} = ${f};
99
- `,l=l.map(y=>y.name===i?{...y,alias:f}:y)}}else c+=`export type ${i} = ${p.value};
100
- `;return n.push(...p.schemas,{name:i,model:c,imports:l}),n}},[])};var on=async({verb:e,output:t,operation:r,route:s,verbParameters:o=[],context:n})=>{let{responses:a,requestBody:m,parameters:i,tags:p=[],deprecated:c,description:l,summary:u}=r,f=Dt(r,s,e),y=t.override.operations[r.operationId],g=Object.entries(t.override.tags).reduce((Ze,[Jt,Yt])=>p.includes(Jt)?Le(Ze,Yt):Ze,{}),d={...t.override,...g,...y},x=_optionalChain([y, 'optionalAccess', _136 => _136.operationName])||_optionalChain([t, 'access', _137 => _137.override, 'optionalAccess', _138 => _138.operationName]),M=x?x(r,s,e):O(f),S=G(M,{es5keyword:!0}),k=Ft({responses:a,operationName:S,context:n,contentType:d.contentType}),$=Et({requestBody:m,operationName:S,context:n,contentType:d.contentType}),E=kt({parameters:[...o,..._nullishCoalesce(i, () => ([]))],context:n}),w=Qe({queryParams:E.query,operationName:S,context:n}),C=t.headers?await Qe({queryParams:E.header,operationName:S,context:n,suffix:"headers"}):void 0,q=At({route:s,pathParams:E.path,operationId:f,context:n}),Y=Nt({body:$,queryParams:w,params:q,headers:C}),X=await ve({output:t.target,name:S,mutator:_optionalChain([d, 'optionalAccess', _139 => _139.mutator]),workspace:n.workspace,tsconfig:n.tsconfig}),Ee=A(_optionalChain([d, 'optionalAccess', _140 => _140.formData]))||I(_optionalChain([d, 'optionalAccess', _141 => _141.formData]))?await ve({output:t.target,name:S,mutator:d.formData,workspace:n.workspace,tsconfig:n.tsconfig}):void 0,Qt=A(_optionalChain([d, 'optionalAccess', _142 => _142.formUrlEncoded]))||I(_optionalChain([d, 'optionalAccess', _143 => _143.formUrlEncoded]))?await ve({output:t.target,name:S,mutator:d.formUrlEncoded,workspace:n.workspace,tsconfig:n.tsconfig}):void 0,Ht=v({description:l,deprecated:c,summary:u}),Ye={verb:e,tags:p,summary:r.summary,operationId:f,operationName:S,response:k,body:$,headers:C,queryParams:w,params:q,props:Y,mutator:X,formData:Ee,formUrlEncoded:Qt,override:d,doc:Ht,deprecated:c},Xe=await Rt(_optionalChain([d, 'optionalAccess', _144 => _144.transformer]),n.workspace);return Xe?Xe(Ye):Ye},ki= exports.generateVerbsOptions =({verbs:e,output:t,route:r,context:s})=>St(Object.entries(e),async(o,[n,a])=>{if(xt(n)){let m=await on({verb:n,output:t,verbParameters:e.parameters,route:r,operation:a,context:s});o.push(m)}return o},[]);var sn=({schema:{imports:e,model:t},target:r,isRootKey:s,specsName:o,header:n,specKey:a})=>{let m=n;return m+=Ut({imports:e.filter(i=>!t.includes(`type ${i.alias||i.name} =`)&&!t.includes(`interface ${i.alias||i.name} {`)),target:r,isRootKey:s,specsName:o,specKey:a}),m+=e.length?`
95
+ `),!me.includes(n.value)&&!_optionalChain([r, 'optionalAccess', _133 => _133.override, 'optionalAccess', _134 => _134.useTypeOverInterfaces])?a+=`export interface ${e} ${n.value}
96
+ `:a+=`export type ${e} = ${n.value};
97
+ `;let m=n.imports.filter(i=>i.name!==e);return[...n.schemas,{name:e,model:a,imports:m}]};var Di=(e={},t,r)=>{if(_lodashisempty2.default.call(void 0, e))return[];let s=It(e,t);return Object.entries(s).reduce((o,[a,m])=>{let i=v(`${h(a)}${r}`,{underscore:"_",whitespace:"_",dash:!0,es5keyword:!0,es5IdentifierName:!0});if((!m.type||m.type==="object")&&!m.allOf&&!m.oneOf&&!m.anyOf&&!w(m)&&!m.nullable&&!m.enum)return o.push(..._t({name:i,schema:m,context:t,suffix:r})),o;{let p=F({schema:m,name:i,context:t}),c="",l=p.imports;if(c+=M(m),p.isEnum&&!p.isRef)c+=te(p.value,i,_optionalChain([p, 'access', _135 => _135.originalSchema, 'optionalAccess', _136 => _136["x-enumNames"]]));else if(i===p.value&&p.isRef){let u=p.imports.find(f=>f.name===i);if(!u)c+=`export type ${i} = ${p.value};
98
+ `;else{let f=_optionalChain([u, 'optionalAccess', _137 => _137.specKey])?`${h(b.getSpecName(u.specKey,t.specKey))}${p.value}`:`${p.value}Bis`;c+=`export type ${i} = ${f};
99
+ `,l=l.map(d=>d.name===i?{...d,alias:f}:d)}}else c+=`export type ${i} = ${p.value};
100
+ `;return o.push(...p.schemas,{name:i,model:c,imports:l}),o}},[])};var sn=async({verb:e,output:t,operation:r,route:s,verbParameters:n=[],context:o})=>{let{responses:a,requestBody:m,parameters:i,tags:p=[],deprecated:c,description:l,summary:u}=r,f=Dt(r,s,e),d=t.override.operations[r.operationId],y=Object.entries(t.override.tags).reduce((Ze,[Yt,Xt])=>p.includes(Yt)?Le(Ze,Xt):Ze,{}),g={...t.override,...y,...d},x=_optionalChain([d, 'optionalAccess', _138 => _138.operationName])||_optionalChain([t, 'access', _139 => _139.override, 'optionalAccess', _140 => _140.operationName]),R=x?x(r,s,e):O(f),S=v(R,{es5keyword:!0}),N=Ft({responses:a,operationName:S,context:o,contentType:g.contentType}),$=Et({requestBody:m,operationName:S,context:o,contentType:g.contentType}),E=kt({parameters:[...n,..._nullishCoalesce(i, () => ([]))],context:o}),T=Qe({queryParams:E.query,operationName:S,context:o}),C=t.headers?await Qe({queryParams:E.header,operationName:S,context:o,suffix:"headers"}):void 0,q=Nt({route:s,pathParams:E.path,operationId:f,context:o}),Y=At({body:$,queryParams:T,params:q,headers:C}),X=await Me({output:t.target,name:S,mutator:_optionalChain([g, 'optionalAccess', _141 => _141.mutator]),workspace:o.workspace,tsconfig:o.tsconfig}),Ee=A(_optionalChain([g, 'optionalAccess', _142 => _142.formData]))||I(_optionalChain([g, 'optionalAccess', _143 => _143.formData]))?await Me({output:t.target,name:S,mutator:g.formData,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Ht=A(_optionalChain([g, 'optionalAccess', _144 => _144.formUrlEncoded]))||I(_optionalChain([g, 'optionalAccess', _145 => _145.formUrlEncoded]))?await Me({output:t.target,name:S,mutator:g.formUrlEncoded,workspace:o.workspace,tsconfig:o.tsconfig}):void 0,Jt=M({description:l,deprecated:c,summary:u}),Ye={verb:e,tags:p,summary:r.summary,operationId:f,operationName:S,response:N,body:$,headers:C,queryParams:T,params:q,props:Y,mutator:X,formData:Ee,formUrlEncoded:Ht,override:g,doc:Jt,deprecated:c},Xe=await jt(_optionalChain([g, 'optionalAccess', _146 => _146.transformer]),o.workspace);return Xe?Xe(Ye):Ye},Wi= exports.generateVerbsOptions =({verbs:e,input:t,output:r,route:s,context:n})=>St(an(e,t.filters),async(o,[a,m])=>{if(xt(a)){let i=await sn({verb:a,output:r,verbParameters:e.parameters,route:s,operation:m,context:n});o.push(i)}return o},[]),an=(e,t)=>t===void 0||t.tags===void 0?Object.entries(e):Object.entries(e).filter(([r,s])=>_optionalChain([s, 'access', _147 => _147.tags, 'optionalAccess', _148 => _148.some, 'call', _149 => _149(n=>_optionalChain([t, 'access', _150 => _150.tags, 'optionalAccess', _151 => _151.includes, 'call', _152 => _152(n)]))]));var Kt=()=>`
101
+ // https://stackoverflow.com/questions/49579094/typescript-conditional-types-filter-out-readonly-properties-pick-only-requir/49579497#49579497
102
+ type IfEquals<X, Y, A = X, B = never> = (<T>() => T extends X ? 1 : 2) extends <
103
+ T,
104
+ >() => T extends Y ? 1 : 2
105
+ ? A
106
+ : B;
107
+
108
+ type WritableKeys<T> = {
109
+ [P in keyof T]-?: IfEquals<
110
+ { [Q in P]: T[P] },
111
+ { -readonly [Q in P]: T[P] },
112
+ P
113
+ >;
114
+ }[keyof T];
115
+
116
+ type UnionToIntersection<U> =
117
+ (U extends any ? (k: U)=>void : never) extends ((k: infer I)=>void) ? I : never;
118
+ type DistributeReadOnlyOverUnions<T> = T extends any ? NonReadonly<T> : never;
119
+
120
+ type Writable<T> = Pick<T, WritableKeys<T>>;
121
+ export type NonReadonly<T> = [T] extends [UnionToIntersection<T>] ? {
122
+ [P in keyof Writable<T>]: T[P] extends object
123
+ ? NonReadonly<NonNullable<T[P]>>
124
+ : T[P];
125
+ } : DistributeReadOnlyOverUnions<T>;
126
+ `;var pn=({schema:{imports:e,model:t},target:r,isRootKey:s,specsName:n,header:o,specKey:a})=>{let m=o;return m+=Ut({imports:e.filter(i=>!t.includes(`type ${i.alias||i.name} =`)&&!t.includes(`interface ${i.alias||i.name} {`)),target:r,isRootKey:s,specsName:n,specKey:a}),m+=e.length?`
101
127
 
102
128
  `:`
103
- `,m+=t,m},an=(e,t)=>b.join(e,`/${t}.ts`),pn= exports.writeModelInline =(e,t)=>e+`${t}
104
- `,Hi= exports.writeModelsInline =e=>e.reduce((t,{model:r})=>pn(t,r),""),mn= exports.writeSchema =async({path:e,schema:t,target:r,specKey:s,isRootKey:o,specsName:n,header:a})=>{let m=O(t.name);try{await _fsextra2.default.outputFile(an(e,m),sn({schema:t,target:r,isRootKey:o,specsName:n,header:a,specKey:s}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${m} => ${i}`}},Ji= exports.writeSchemas =async({schemaPath:e,schemas:t,target:r,specKey:s,isRootKey:o,specsName:n,header:a})=>{let m=b.join(e,"/index.ts");await _fsextra2.default.ensureFile(m),await Promise.all(t.map(i=>mn({path:e,schema:i,target:r,specKey:s,isRootKey:o,specsName:n,header:a})));try{let p=(await _fsextra2.default.readFile(m)).toString(),c=t.filter(f=>!p.includes(`export * from './${O(f.name)}'`)&&!p.includes(`export * from "./${O(f.name)}"`)).map(f=>`export * from './${O(f.name)}';`),u=[..._nullishCoalesce(_optionalChain([p, 'access', _145 => _145.match, 'call', _146 => _146(/export \* from(.*)('|")/g), 'optionalAccess', _147 => _147.map, 'call', _148 => _148(f=>f+";")]), () => ([])),...c].sort().join(`
105
- `);await _fsextra2.default.writeFile(m,u)}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema index file ${m} => ${i}`}};var Pe=(e,t)=>{let r=Object.values(e.operations).map(({operationName:a})=>a),s=_optionalChain([t, 'optionalAccess', _149 => _149.client])===U.ANGULAR,o=e.title({outputClient:t.client,title:h(e.info.title),customTitleFunc:t.override.title}),n=Object.values(e.operations).reduce((a,m,i,p)=>{if(a.imports.push(...m.imports),a.importsMSW.push(...m.importsMSW),a.implementation+=m.implementation+`
106
- `,a.implementationMSW.function+=m.implementationMSW.function,a.implementationMSW.handler+=m.implementationMSW.handler,m.mutator&&a.mutators.push(m.mutator),m.formData&&a.formData.push(m.formData),m.formUrlEncoded&&a.formUrlEncoded.push(m.formUrlEncoded),m.clientMutators&&a.clientMutators.push(...m.clientMutators),i===p.length-1){let c=a.mutators.some(g=>s?g.hasThirdArg:g.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _150 => _150.packageJson, 'optionalAccess', _151 => _151.dependencies, 'optionalAccess', _152 => _152.typescript]), () => (_optionalChain([t, 'access', _153 => _153.packageJson, 'optionalAccess', _154 => _154.devDependencies, 'optionalAccess', _155 => _155.typescript]))), () => ("4.4.0")),u=Oe(l,"4.5.0"),f=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:u,titles:o});a.implementation=f.implementation+a.implementation,a.implementationMSW.handler=f.implementationMSW+a.implementationMSW.handler;let y=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _156 => _156.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:u,titles:o});a.implementation+=y.implementation,a.implementationMSW.handler+=y.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...n,implementationMSW:n.implementationMSW.function+n.implementationMSW.handler}};var mp=async({builder:e,output:t,specsName:r,header:s,needSchema:o})=>{try{let{path:n,dirname:a}=j(t.target,{backupFilename:O(e.info.title)}),{imports:m,importsMSW:i,implementation:p,implementationMSW:c,mutators:l,clientMutators:u,formData:f,formUrlEncoded:y}=Pe(e,t),g=s,d=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):void 0,x=K(t.tsconfig);return g+=e.imports({client:t.client,implementation:p,imports:d?[{exports:m.filter(M=>!i.some(S=>M.name===S.name)),dependency:d}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:x,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(g+=e.importsMock({implementation:c,imports:d?[{exports:i,dependency:d}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:x})),l&&(g+=R({mutators:l,implementation:p})),u&&(g+=R({mutators:u})),f&&(g+=R({mutators:f})),y&&(g+=R({mutators:y})),!t.schemas&&o&&(g+=Q(e.schemas)),g+=`
129
+ `,m+=t,m},mn=(e,t)=>b.join(e,`/${t}.ts`),cn= exports.writeModelInline =(e,t)=>e+`${t}
130
+ `,tp= exports.writeModelsInline =e=>e.reduce((t,{model:r})=>cn(t,r),""),ln= exports.writeSchema =async({path:e,schema:t,target:r,specKey:s,isRootKey:n,specsName:o,header:a})=>{let m=O(t.name);try{await _fsextra2.default.outputFile(mn(e,m),pn({schema:t,target:r,isRootKey:n,specsName:o,header:a,specKey:s}))}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema ${m} => ${i}`}},rp= exports.writeSchemas =async({schemaPath:e,schemas:t,target:r,specKey:s,isRootKey:n,specsName:o,header:a})=>{let m=b.join(e,"/index.ts");await _fsextra2.default.ensureFile(m),await Promise.all(t.map(i=>ln({path:e,schema:i,target:r,specKey:s,isRootKey:n,specsName:o,header:a})));try{let p=(await _fsextra2.default.readFile(m)).toString(),c=t.filter(d=>!p.includes(`export * from './${O(d.name)}'`)&&!p.includes(`export * from "./${O(d.name)}"`)).map(d=>`export * from './${O(d.name)}';`),u=[..._nullishCoalesce(_optionalChain([p, 'access', _153 => _153.match, 'call', _154 => _154(/export \* from(.*)('|")/g), 'optionalAccess', _155 => _155.map, 'call', _156 => _156(d=>d+";")]), () => ([])),...c].sort().join(`
131
+ `),f=`${a}
132
+ ${u}
133
+ ${Kt()}`;await _fsextra2.default.writeFile(m,f)}catch(i){throw`Oups... \u{1F37B}. An Error occurred while writing schema index file ${m} => ${i}`}};var Ge=(e,t)=>{let r=Object.values(e.operations).map(({operationName:a})=>a),s=_optionalChain([t, 'optionalAccess', _157 => _157.client])===U.ANGULAR,n=e.title({outputClient:t.client,title:h(e.info.title),customTitleFunc:t.override.title}),o=Object.values(e.operations).reduce((a,m,i,p)=>{if(a.imports.push(...m.imports),a.importsMSW.push(...m.importsMSW),a.implementation+=m.implementation+`
134
+ `,a.implementationMSW.function+=m.implementationMSW.function,a.implementationMSW.handler+=m.implementationMSW.handler,m.mutator&&a.mutators.push(m.mutator),m.formData&&a.formData.push(m.formData),m.formUrlEncoded&&a.formUrlEncoded.push(m.formUrlEncoded),m.clientMutators&&a.clientMutators.push(...m.clientMutators),i===p.length-1){let c=a.mutators.some(y=>s?y.hasThirdArg:y.hasSecondArg),l=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _158 => _158.packageJson, 'optionalAccess', _159 => _159.dependencies, 'optionalAccess', _160 => _160.typescript]), () => (_optionalChain([t, 'access', _161 => _161.packageJson, 'optionalAccess', _162 => _162.devDependencies, 'optionalAccess', _163 => _163.typescript]))), () => ("4.4.0")),u=Oe(l,"4.5.0"),f=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:c,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:u,titles:n});a.implementation=f.implementation+a.implementation,a.implementationMSW.handler=f.implementationMSW+a.implementationMSW.handler;let d=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _164 => _164.client]),operationNames:r,hasMutator:!!a.mutators.length,hasAwaitedType:u,titles:n});a.implementation+=d.implementation,a.implementationMSW.handler+=d.implementationMSW}return a},{imports:[],implementation:"",implementationMSW:{function:"",handler:""},importsMSW:[],mutators:[],clientMutators:[],formData:[],formUrlEncoded:[]});return{...o,implementationMSW:o.implementationMSW.function+o.implementationMSW.handler}};var gp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{path:o,dirname:a}=j(t.target,{backupFilename:O(e.info.title)}),{imports:m,importsMSW:i,implementation:p,implementationMSW:c,mutators:l,clientMutators:u,formData:f,formUrlEncoded:d}=Ge(e,t),y=s,g=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):void 0,x=K(t.tsconfig);return y+=e.imports({client:t.client,implementation:p,imports:g?[{exports:m.filter(R=>!i.some(S=>R.name===S.name)),dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:x,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&(y+=e.importsMock({implementation:c,imports:g?[{exports:i,dependency:g}]:[],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:x})),l&&(y+=P({mutators:l,implementation:p})),u&&(y+=P({mutators:u})),f&&(y+=P({mutators:f})),d&&(y+=P({mutators:d})),!t.schemas&&n&&(y+=Q(e.schemas)),y+=`
107
135
 
108
- ${p}`,t.mock&&(g+=`
136
+ ${p}`,t.mock&&(y+=`
109
137
 
110
- `,g+=c),await _fsextra2.default.outputFile(n,g),[n]}catch(n){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${n}`}};var hp=async({builder:e,output:t,specsName:r,header:s,needSchema:o})=>{try{let{filename:n,dirname:a,extension:m}=j(t.target,{backupFilename:O(e.info.title)}),{imports:i,implementation:p,implementationMSW:c,importsMSW:l,mutators:u,clientMutators:f,formData:y,formUrlEncoded:g}=Pe(e,t),d=s,x=s,M=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+n+".schemas",S=K(t.tsconfig);d+=e.imports({client:t.client,implementation:p,imports:[{exports:i,dependency:M}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),x+=e.importsMock({implementation:c,imports:[{exports:l,dependency:M}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S});let k=t.schemas?void 0:b.join(a,n+".schemas"+m);if(k&&o){let C=s+Q(e.schemas);await _fsextra2.default.outputFile(b.join(a,n+".schemas"+m),C)}u&&(d+=R({mutators:u,implementation:p})),f&&(d+=R({mutators:f})),y&&(d+=R({mutators:y})),g&&(d+=R({mutators:g})),d+=`
138
+ `,y+=c),await _fsextra2.default.outputFile(o,y),[o]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while writing file => ${o}`}};var Rp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{try{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:O(e.info.title)}),{imports:i,implementation:p,implementationMSW:c,importsMSW:l,mutators:u,clientMutators:f,formData:d,formUrlEncoded:y}=Ge(e,t),g=s,x=s,R=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+o+".schemas",S=K(t.tsconfig);g+=e.imports({client:t.client,implementation:p,imports:[{exports:i,dependency:R}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),x+=e.importsMock({implementation:c,imports:[{exports:l,dependency:R}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:S});let N=t.schemas?void 0:b.join(a,o+".schemas"+m);if(N&&n){let C=s+Q(e.schemas);await _fsextra2.default.outputFile(b.join(a,o+".schemas"+m),C)}u&&(g+=P({mutators:u,implementation:p})),f&&(g+=P({mutators:f})),d&&(g+=P({mutators:d})),y&&(g+=P({mutators:y})),g+=`
111
139
  ${p}`,x+=`
112
- ${c}`;let $=n+(U.ANGULAR===t.client?".service":"")+m,E=b.join(a,$);await _fsextra2.default.outputFile(b.join(a,$),d);let w=t.mock?b.join(a,n+".msw"+m):void 0;return w&&await _fsextra2.default.outputFile(w,x),[E,...k?[k]:[],...w?[w]:[]]}catch(n){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${n}`}};var ln=e=>({...e,tags:e.tags.length?e.tags:["default"]}),un=(e,t)=>t.tags.map(be).reduce((r,s)=>{let o=r[s];return o?(r[s]={implementation:o.implementation+t.implementation,imports:[...o.imports,...t.imports],importsMSW:[...o.importsMSW,...t.importsMSW],implementationMSW:{function:o.implementationMSW.function+t.implementationMSW.function,handler:o.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[..._nullishCoalesce(o.mutators, () => ([])),t.mutator]:o.mutators,clientMutators:t.clientMutators?[..._nullishCoalesce(o.clientMutators, () => ([])),...t.clientMutators]:o.clientMutators,formData:t.formData?[..._nullishCoalesce(o.formData, () => ([])),t.formData]:o.formData,formUrlEncoded:t.formUrlEncoded?[..._nullishCoalesce(o.formUrlEncoded, () => ([])),t.formUrlEncoded]:o.formUrlEncoded},r):(r[s]={imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],clientMutators:_nullishCoalesce(t.clientMutators, () => ([])),formData:t.formData?[t.formData]:[],formUrlEncoded:t.formUrlEncoded?[t.formUrlEncoded]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}},r)},e),Te= exports.generateTargetForTags =(e,t)=>{let r=t.client===U.ANGULAR,s=Object.values(e.operations).map(ln).reduce((o,n,a,m)=>{let i=un(o,n);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let u=!!_optionalChain([l, 'access', _157 => _157.mutators, 'optionalAccess', _158 => _158.some, 'call', _159 => _159(S=>r?S.hasThirdArg:S.hasSecondArg)]),f=Object.values(e.operations).filter(({tags:S})=>S.includes(c)).map(({operationName:S})=>S),y=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _160 => _160.packageJson, 'optionalAccess', _161 => _161.dependencies, 'optionalAccess', _162 => _162.typescript]), () => (_optionalChain([t, 'access', _163 => _163.packageJson, 'optionalAccess', _164 => _164.devDependencies, 'optionalAccess', _165 => _165.typescript]))), () => ("4.4.0")),g=Oe(y,"4.5.0"),d=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),x=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _166 => _166.client]),operationNames:f,hasMutator:!!_optionalChain([l, 'access', _167 => _167.mutators, 'optionalAccess', _168 => _168.length]),hasAwaitedType:g,titles:d}),M=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:g,titles:d});return p[c]={implementation:M.implementation+l.implementation+x.implementation,implementationMSW:{function:l.implementationMSW.function,handler:M.implementationMSW+l.implementationMSW.handler+x.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(s).reduce((o,[n,a])=>(o[n]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},o),{})};var Ip=async({builder:e,output:t,specsName:r,header:s,needSchema:o})=>{let{filename:n,dirname:a,extension:m}=j(t.target,{backupFilename:O(e.info.title)}),i=Te(e,t),p=K(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:y,implementationMSW:g,importsMSW:d,mutators:x,clientMutators:M,formData:S,formUrlEncoded:k}=u,$=s,E=s,w=t.schemas?"../"+b.relativeSafe(a,j(t.schemas).dirname):"../"+n+".schemas";$+=e.imports({client:t.client,implementation:y,imports:[{exports:f,dependency:w}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),E+=e.importsMock({implementation:g,imports:[{exports:d,dependency:w}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p});let C=t.schemas?void 0:b.join(a,n+".schemas"+m);if(C&&o){let Ee=s+Q(e.schemas);await _fsextra2.default.outputFile(C,Ee)}x&&($+=R({mutators:x,implementation:y,oneMore:!0})),M&&($+=R({mutators:M,oneMore:!0})),S&&($+=R({mutators:S,oneMore:!0})),k&&($+=R({mutators:k,oneMore:!0})),$+=`
113
- ${y}`,E+=`
114
- ${g}`;let q=l+(U.ANGULAR===t.client?".service":"")+m,Y=b.join(a,l,q);await _fsextra2.default.outputFile(Y,$);let X=t.mock?b.join(a,l,l+".msw"+m):void 0;return X&&await _fsextra2.default.outputFile(X,E),[Y,...C?[C]:[],...X?[X]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).flatMap(l=>l)};var Vp=async({builder:e,output:t,specsName:r,header:s,needSchema:o})=>{let{filename:n,dirname:a,extension:m}=j(t.target,{backupFilename:O(e.info.title)}),i=Te(e,t),p=K(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:y,implementationMSW:g,importsMSW:d,mutators:x,clientMutators:M,formData:S,formUrlEncoded:k}=u,$=s,E=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+n+".schemas";$+=e.imports({client:t.client,implementation:y,imports:[{exports:f.filter(q=>!d.some(Y=>q.name===Y.name)),dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&($+=e.importsMock({implementation:g,imports:[{exports:d,dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p}));let w=t.schemas?void 0:b.join(a,n+".schemas"+m);if(w&&o){let q=s+Q(e.schemas);await _fsextra2.default.outputFile(w,q)}x&&($+=R({mutators:x,implementation:y})),M&&($+=R({mutators:M})),S&&($+=R({mutators:S})),k&&($+=R({mutators:k})),$+=`
140
+ ${c}`;let $=o+(U.ANGULAR===t.client?".service":"")+m,E=b.join(a,$);await _fsextra2.default.outputFile(b.join(a,$),g);let T=t.mock?b.join(a,o+".msw"+m):void 0;return T&&await _fsextra2.default.outputFile(T,x),[E,...N?[N]:[],...T?[T]:[]]}catch(o){throw`Oups... \u{1F37B}. An Error occurred while splitting => ${o}`}};var fn=e=>({...e,tags:e.tags.length?e.tags:["default"]}),dn=(e,t)=>t.tags.map(be).reduce((r,s)=>{let n=r[s];return n?(r[s]={implementation:n.implementation+t.implementation,imports:[...n.imports,...t.imports],importsMSW:[...n.importsMSW,...t.importsMSW],implementationMSW:{function:n.implementationMSW.function+t.implementationMSW.function,handler:n.implementationMSW.handler+t.implementationMSW.handler},mutators:t.mutator?[..._nullishCoalesce(n.mutators, () => ([])),t.mutator]:n.mutators,clientMutators:t.clientMutators?[..._nullishCoalesce(n.clientMutators, () => ([])),...t.clientMutators]:n.clientMutators,formData:t.formData?[..._nullishCoalesce(n.formData, () => ([])),t.formData]:n.formData,formUrlEncoded:t.formUrlEncoded?[..._nullishCoalesce(n.formUrlEncoded, () => ([])),t.formUrlEncoded]:n.formUrlEncoded},r):(r[s]={imports:t.imports,importsMSW:t.importsMSW,mutators:t.mutator?[t.mutator]:[],clientMutators:_nullishCoalesce(t.clientMutators, () => ([])),formData:t.formData?[t.formData]:[],formUrlEncoded:t.formUrlEncoded?[t.formUrlEncoded]:[],implementation:t.implementation,implementationMSW:{function:t.implementationMSW.function,handler:t.implementationMSW.handler}},r)},e),we= exports.generateTargetForTags =(e,t)=>{let r=t.client===U.ANGULAR,s=Object.values(e.operations).map(fn).reduce((n,o,a,m)=>{let i=dn(n,o);return a===m.length-1?Object.entries(i).reduce((p,[c,l])=>{let u=!!_optionalChain([l, 'access', _165 => _165.mutators, 'optionalAccess', _166 => _166.some, 'call', _167 => _167(S=>r?S.hasThirdArg:S.hasSecondArg)]),f=Object.values(e.operations).filter(({tags:S})=>S.includes(c)).map(({operationName:S})=>S),d=_nullishCoalesce(_nullishCoalesce(_optionalChain([t, 'access', _168 => _168.packageJson, 'optionalAccess', _169 => _169.dependencies, 'optionalAccess', _170 => _170.typescript]), () => (_optionalChain([t, 'access', _171 => _171.packageJson, 'optionalAccess', _172 => _172.devDependencies, 'optionalAccess', _173 => _173.typescript]))), () => ("4.4.0")),y=Oe(d,"4.5.0"),g=e.title({outputClient:t.client,title:h(c),customTitleFunc:t.override.title}),x=e.footer({outputClient:_optionalChain([t, 'optionalAccess', _174 => _174.client]),operationNames:f,hasMutator:!!_optionalChain([l, 'access', _175 => _175.mutators, 'optionalAccess', _176 => _176.length]),hasAwaitedType:y,titles:g}),R=e.header({outputClient:t.client,isRequestOptions:t.override.requestOptions!==!1,isMutator:u,isGlobalMutator:!!t.override.mutator,provideIn:t.override.angular.provideIn,hasAwaitedType:y,titles:g});return p[c]={implementation:R.implementation+l.implementation+x.implementation,implementationMSW:{function:l.implementationMSW.function,handler:R.implementationMSW+l.implementationMSW.handler+x.implementationMSW},imports:l.imports,importsMSW:l.importsMSW,mutators:l.mutators,clientMutators:l.clientMutators,formData:l.formData,formUrlEncoded:l.formUrlEncoded},p},{}):i},{});return Object.entries(s).reduce((n,[o,a])=>(n[o]={...a,implementationMSW:a.implementationMSW.function+a.implementationMSW.handler},n),{})};var Wp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:O(e.info.title)}),i=we(e,t),p=K(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:g,mutators:x,clientMutators:R,formData:S,formUrlEncoded:N}=u,$=s,E=s,T=t.schemas?"../"+b.relativeSafe(a,j(t.schemas).dirname):"../"+o+".schemas";$+=e.imports({client:t.client,implementation:d,imports:[{exports:f,dependency:T}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),E+=e.importsMock({implementation:y,imports:[{exports:g,dependency:T}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p});let C=t.schemas?void 0:b.join(a,o+".schemas"+m);if(C&&n){let Ee=s+Q(e.schemas);await _fsextra2.default.outputFile(C,Ee)}x&&($+=P({mutators:x,implementation:d,oneMore:!0})),R&&($+=P({mutators:R,oneMore:!0})),S&&($+=P({mutators:S,oneMore:!0})),N&&($+=P({mutators:N,oneMore:!0})),$+=`
141
+ ${d}`,E+=`
142
+ ${y}`;let q=l+(U.ANGULAR===t.client?".service":"")+m,Y=b.join(a,l,q);await _fsextra2.default.outputFile(Y,$);let X=t.mock?b.join(a,l,l+".msw"+m):void 0;return X&&await _fsextra2.default.outputFile(X,E),[Y,...C?[C]:[],...X?[X]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while splitting tag ${l} => ${f}`}}))).flatMap(l=>l)};var Lp=async({builder:e,output:t,specsName:r,header:s,needSchema:n})=>{let{filename:o,dirname:a,extension:m}=j(t.target,{backupFilename:O(e.info.title)}),i=we(e,t),p=K(t.tsconfig);return(await Promise.all(Object.entries(i).map(async([l,u])=>{try{let{imports:f,implementation:d,implementationMSW:y,importsMSW:g,mutators:x,clientMutators:R,formData:S,formUrlEncoded:N}=u,$=s,E=t.schemas?b.relativeSafe(a,j(t.schemas).dirname):"./"+o+".schemas";$+=e.imports({client:t.client,implementation:d,imports:[{exports:f.filter(q=>!g.some(Y=>q.name===Y.name)),dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p,hasGlobalMutator:!!t.override.mutator,packageJson:t.packageJson}),t.mock&&($+=e.importsMock({implementation:y,imports:[{exports:g,dependency:E}],specsName:r,hasSchemaDir:!!t.schemas,isAllowSyntheticDefaultImports:p}));let T=t.schemas?void 0:b.join(a,o+".schemas"+m);if(T&&n){let q=s+Q(e.schemas);await _fsextra2.default.outputFile(T,q)}x&&($+=P({mutators:x,implementation:d})),R&&($+=P({mutators:R})),S&&($+=P({mutators:S})),N&&($+=P({mutators:N})),$+=`
115
143
 
116
- `,$+=y,t.mock&&($+=`
144
+ `,$+=d,t.mock&&($+=`
117
145
 
118
- `,$+=g);let C=b.join(a,`${be(l)}${m}`);return await _fsextra2.default.outputFile(C,$),[C,...w?[w]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).flatMap(l=>l)};exports.BODY_TYPE_NAME = Me; exports.GetterPropType = se; exports.LogLevels = Ce; exports.OutputClient = U; exports.OutputMode = dn; exports.RefComponentSuffix = Zo; exports.SchemaType = et; exports.URL_REGEX = hn; exports.VERBS_WITH_BODY = tt; exports.Verbs = B; exports.addDependency = Qr; exports.asyncReduce = St; exports.camel = O; exports.combineSchemas = Ke; exports.compareVersions = Oe; exports.count = lo; exports.createDebugger = nt; exports.createLogger = H; exports.createSuccessMessage = vn; exports.dynamicImport = Rt; exports.errorMessage = Mn; exports.escape = _e; exports.generalJSTypes = er; exports.generalJSTypesWithArray = me; exports.generateAxiosOptions = en; exports.generateBodyMutatorConfig = tn; exports.generateBodyOptions = Zr; exports.generateComponentDefinition = za; exports.generateDependencyImports = Ha; exports.generateFormDataAndUrlEncodedFunction = gi; exports.generateImports = Ut; exports.generateModelInline = Hr; exports.generateModelsInline = Q; exports.generateMutator = ve; exports.generateMutatorConfig = fi; exports.generateMutatorImports = R; exports.generateMutatorRequestOptions = di; exports.generateOptions = ui; exports.generateParameterDefinition = Oi; exports.generateQueryParamsAxiosConfig = rn; exports.generateSchemasDefinition = Ti; exports.generateTarget = Pe; exports.generateTargetForTags = Te; exports.generateVerbImports = Ja; exports.generateVerbsOptions = ki; exports.getArray = wt; exports.getBody = Et; exports.getEnum = te; exports.getEnumImplementation = $e; exports.getExtension = ce; exports.getFileInfo = j; exports.getKey = Re; exports.getNumberWord = Se; exports.getObject = Ct; exports.getOperationId = Dt; exports.getParameters = kt; exports.getParams = At; exports.getParamsInPath = zr; exports.getProps = Nt; exports.getQueryParams = Qe; exports.getRefInfo = re; exports.getResReqTypes = oe; exports.getResponse = Ft; exports.getRoute = Sa; exports.getScalar = ne; exports.ibmOpenapiValidator = wo; exports.ibmOpenapiValidatorErrors = pt; exports.ibmOpenapiValidatorWarnings = it; exports.isBoolean = ae; exports.isDirectory = lt; exports.isFunction = bt; exports.isModule = gt; exports.isNull = Ot; exports.isNumber = yt; exports.isNumeric = ht; exports.isObject = I; exports.isReference = T; exports.isRootKey = Yn; exports.isSchema = Jn; exports.isString = A; exports.isSyntheticDefaultImportsAllow = K; exports.isUndefined = ie; exports.isUrl = de; exports.isVerb = xt; exports.jsDoc = v; exports.kebab = be; exports.loadFile = ct; exports.log = V; exports.mergeDeep = Le; exports.mismatchArgsMessage = Gn; exports.openApiConverter = ho; exports.pascal = h; exports.removeFiles = Bn; exports.resolveDiscriminators = It; exports.resolveObject = W; exports.resolveRef = D; exports.resolveValue = N; exports.sanitize = G; exports.snake = eo; exports.sortByPriority = Mt; exports.startMessage = Rn; exports.stringify = _; exports.toObjectString = jo; exports.upath = b; exports.upper = to; exports.writeModelInline = pn; exports.writeModelsInline = Hi; exports.writeSchema = mn; exports.writeSchemas = Ji; exports.writeSingleMode = mp; exports.writeSplitMode = hp; exports.writeSplitTagsMode = Ip; exports.writeTagsMode = Vp;
146
+ `,$+=y);let C=b.join(a,`${be(l)}${m}`);return await _fsextra2.default.outputFile(C,$),[C,...T?[T]:[]]}catch(f){throw`Oups... \u{1F37B}. An Error occurred while writing tag ${l} => ${f}`}}))).flatMap(l=>l)};exports.BODY_TYPE_NAME = Pe; exports.GetterPropType = se; exports.LogLevels = Ce; exports.OutputClient = U; exports.OutputMode = yn; exports.RefComponentSuffix = ts; exports.SchemaType = et; exports.URL_REGEX = On; exports.VERBS_WITH_BODY = tt; exports.Verbs = B; exports.addDependency = Hr; exports.asyncReduce = St; exports.camel = O; exports.combineSchemas = Ke; exports.compareVersions = Oe; exports.count = fo; exports.createDebugger = nt; exports.createLogger = H; exports.createSuccessMessage = Gn; exports.dynamicImport = jt; exports.errorMessage = Mn; exports.escape = _e; exports.generalJSTypes = tr; exports.generalJSTypesWithArray = me; exports.generateAxiosOptions = tn; exports.generateBodyMutatorConfig = rn; exports.generateBodyOptions = en; exports.generateComponentDefinition = Qa; exports.generateDependencyImports = Za; exports.generateFormDataAndUrlEncodedFunction = Oi; exports.generateImports = Ut; exports.generateModelInline = Jr; exports.generateModelsInline = Q; exports.generateMutator = Me; exports.generateMutatorConfig = hi; exports.generateMutatorImports = P; exports.generateMutatorRequestOptions = bi; exports.generateOptions = yi; exports.generateParameterDefinition = Ri; exports.generateQueryParamsAxiosConfig = nn; exports.generateSchemasDefinition = Di; exports.generateTarget = Ge; exports.generateTargetForTags = we; exports.generateVerbImports = ei; exports.generateVerbsOptions = Wi; exports.getArray = Tt; exports.getBody = Et; exports.getEnum = te; exports.getEnumImplementation = $e; exports.getExtension = ce; exports.getFileInfo = j; exports.getKey = je; exports.getNumberWord = Se; exports.getObject = Ct; exports.getOperationId = Dt; exports.getOrvalGeneratedTypes = Kt; exports.getParameters = kt; exports.getParams = Nt; exports.getParamsInPath = Lr; exports.getProps = At; exports.getQueryParams = Qe; exports.getRefInfo = re; exports.getResReqTypes = oe; exports.getResponse = Ft; exports.getRoute = Pa; exports.getScalar = ne; exports.ibmOpenapiValidator = wo; exports.ibmOpenapiValidatorErrors = pt; exports.ibmOpenapiValidatorWarnings = it; exports.isBoolean = ae; exports.isDirectory = lt; exports.isFunction = bt; exports.isModule = gt; exports.isNull = Ot; exports.isNumber = yt; exports.isNumeric = ht; exports.isObject = I; exports.isReference = w; exports.isRootKey = Zn; exports.isSchema = Xn; exports.isString = A; exports.isSyntheticDefaultImportsAllow = K; exports.isUndefined = ie; exports.isUrl = de; exports.isVerb = xt; exports.jsDoc = M; exports.kebab = be; exports.loadFile = ct; exports.log = V; exports.mergeDeep = Le; exports.mismatchArgsMessage = Tn; exports.openApiConverter = Oo; exports.pascal = h; exports.removeFiles = Un; exports.resolveDiscriminators = It; exports.resolveObject = k; exports.resolveRef = D; exports.resolveValue = F; exports.sanitize = v; exports.snake = ro; exports.sortByPriority = Pt; exports.startMessage = vn; exports.stringify = _; exports.toObjectString = Po; exports.upath = b; exports.upper = no; exports.writeModelInline = cn; exports.writeModelsInline = tp; exports.writeSchema = ln; exports.writeSchemas = rp; exports.writeSingleMode = gp; exports.writeSplitMode = Rp; exports.writeSplitTagsMode = Wp; exports.writeTagsMode = Lp;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orval/core",
3
- "version": "6.13.1",
3
+ "version": "6.14.0",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",