@kubb/core 2.0.0-beta.12 → 2.0.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/chunk-35FDNG5F.cjs +71 -0
  2. package/dist/chunk-35FDNG5F.cjs.map +1 -0
  3. package/dist/chunk-7CNPSL5M.js +85 -0
  4. package/dist/chunk-7CNPSL5M.js.map +1 -0
  5. package/dist/chunk-DKYWBKNH.js +18 -0
  6. package/dist/chunk-DKYWBKNH.js.map +1 -0
  7. package/dist/chunk-EZSRGYAY.js +128 -0
  8. package/dist/chunk-EZSRGYAY.js.map +1 -0
  9. package/dist/chunk-GBX7KRCX.cjs +162 -0
  10. package/dist/chunk-GBX7KRCX.cjs.map +1 -0
  11. package/dist/chunk-ICRPOCV4.cjs +2290 -0
  12. package/dist/chunk-ICRPOCV4.cjs.map +1 -0
  13. package/dist/chunk-LAS7UYTK.cjs +129 -0
  14. package/dist/chunk-LAS7UYTK.cjs.map +1 -0
  15. package/dist/chunk-LJHT3DNH.js +67 -0
  16. package/dist/chunk-LJHT3DNH.js.map +1 -0
  17. package/dist/chunk-MM42A6GN.cjs +91 -0
  18. package/dist/chunk-MM42A6GN.cjs.map +1 -0
  19. package/dist/chunk-SRGTC4FJ.js +129 -0
  20. package/dist/chunk-SRGTC4FJ.js.map +1 -0
  21. package/dist/chunk-ST7GHHSU.cjs +104 -0
  22. package/dist/chunk-ST7GHHSU.cjs.map +1 -0
  23. package/dist/chunk-U4C2WTCI.cjs +131 -0
  24. package/dist/chunk-U4C2WTCI.cjs.map +1 -0
  25. package/dist/chunk-UIQUKFF4.js +155 -0
  26. package/dist/chunk-UIQUKFF4.js.map +1 -0
  27. package/dist/chunk-WTSDXEWD.js +71 -0
  28. package/dist/chunk-WTSDXEWD.js.map +1 -0
  29. package/dist/fs.cjs +20 -2372
  30. package/dist/fs.cjs.map +1 -1
  31. package/dist/fs.d.cts +1 -1
  32. package/dist/fs.d.ts +1 -1
  33. package/dist/fs.js +4 -2373
  34. package/dist/fs.js.map +1 -1
  35. package/dist/index.cjs +930 -3261
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +17 -15
  38. package/dist/index.d.ts +17 -15
  39. package/dist/index.js +208 -3490
  40. package/dist/index.js.map +1 -1
  41. package/dist/logger.cjs +19 -141
  42. package/dist/logger.cjs.map +1 -1
  43. package/dist/logger.d.cts +1 -0
  44. package/dist/logger.d.ts +1 -0
  45. package/dist/logger.js +3 -135
  46. package/dist/logger.js.map +1 -1
  47. package/dist/transformers.cjs +40 -208
  48. package/dist/transformers.cjs.map +1 -1
  49. package/dist/transformers.js +15 -201
  50. package/dist/transformers.js.map +1 -1
  51. package/dist/utils.cjs +22 -524
  52. package/dist/utils.cjs.map +1 -1
  53. package/dist/utils.d.cts +0 -1
  54. package/dist/utils.d.ts +0 -1
  55. package/dist/utils.js +11 -517
  56. package/dist/utils.js.map +1 -1
  57. package/dist/{write-46ytbnu9.d.cts → write-A6VgHkYA.d.cts} +4 -1
  58. package/dist/{write-46ytbnu9.d.ts → write-A6VgHkYA.d.ts} +4 -1
  59. package/package.json +9 -8
  60. package/src/BarrelManager.ts +3 -3
  61. package/src/FileManager.ts +66 -62
  62. package/src/PluginManager.ts +11 -18
  63. package/src/build.ts +57 -32
  64. package/src/fs/clean.ts +2 -2
  65. package/src/fs/read.ts +1 -0
  66. package/src/fs/write.ts +40 -24
  67. package/src/logger.ts +10 -0
  68. package/src/utils/FunctionParams.ts +2 -2
  69. package/src/utils/URLPath.ts +5 -5
  70. package/src/utils/index.ts +0 -2
  71. package/dist/Queue-2-6pMcCx.d.cts +0 -32
  72. package/dist/Queue-2-6pMcCx.d.ts +0 -32
  73. package/src/utils/Queue.ts +0 -110
package/dist/utils.js CHANGED
@@ -1,316 +1,16 @@
1
1
  import { createRequire } from 'module';
2
+ export { URLPath, getUniqueName, setUniqueName } from './chunk-EZSRGYAY.js';
3
+ import { camelCase } from './chunk-DKYWBKNH.js';
4
+ import { init_esm_shims } from './chunk-WTSDXEWD.js';
2
5
  import { orderBy } from 'natural-orderby';
3
- import crypto from 'crypto';
4
- import { performance } from 'perf_hooks';
5
- import { EventEmitter as EventEmitter$1 } from 'events';
6
6
 
7
7
  createRequire(import.meta.url);
8
-
9
- var __accessCheck = (obj, member, msg) => {
10
- if (!member.has(obj))
11
- throw TypeError("Cannot " + msg);
12
- };
13
- var __privateGet = (obj, member, getter) => {
14
- __accessCheck(obj, member, "read from private field");
15
- return getter ? getter.call(obj) : member.get(obj);
16
- };
17
- var __privateAdd = (obj, member, value) => {
18
- if (member.has(obj))
19
- throw TypeError("Cannot add the same private member more than once");
20
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
21
- };
22
- var __privateSet = (obj, member, value, setter) => {
23
- __accessCheck(obj, member, "write to private field");
24
- setter ? setter.call(obj, value) : member.set(obj, value);
25
- return value;
26
- };
27
- var __privateWrapper = (obj, member, setter, getter) => ({
28
- set _(value) {
29
- __privateSet(obj, member, value, setter);
30
- },
31
- get _() {
32
- return __privateGet(obj, member, getter);
33
- }
34
- });
35
- var __privateMethod = (obj, member, method) => {
36
- __accessCheck(obj, member, "access private method");
37
- return method;
38
- };
39
8
 
40
- // ../../node_modules/.pnpm/change-case@5.2.0/node_modules/change-case/dist/index.js
41
- var SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;
42
- var SPLIT_UPPER_UPPER_RE = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu;
43
- var SPLIT_NUMBER_LOWER_RE = /(\d)(\p{Ll})/gu;
44
- var SPLIT_LETTER_NUMBER_RE = /(\p{L})(\d)/gu;
45
- var DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
46
- var SPLIT_REPLACE_VALUE = "$1\0$2";
47
- var DEFAULT_PREFIX_CHARACTERS = "";
48
- function split(input, options) {
49
- let result = input.trim();
50
- result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
51
- if (options?.separateNumbers) {
52
- result = result.replace(SPLIT_NUMBER_LOWER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_LETTER_NUMBER_RE, SPLIT_REPLACE_VALUE);
53
- }
54
- result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
55
- let start = 0;
56
- let end = result.length;
57
- while (result.charAt(start) === "\0")
58
- start++;
59
- if (start === end)
60
- return [];
61
- while (result.charAt(end - 1) === "\0")
62
- end--;
63
- return result.slice(start, end).split(/\0/g);
64
- }
65
- function camelCase(input, options) {
66
- const prefix = getPrefix(input, options?.prefixCharacters);
67
- const lower = lowerFactory(options?.locale);
68
- const upper = upperFactory(options?.locale);
69
- const transform = options?.mergeAmbiguousCharacters ? capitalCaseTransformFactory(lower, upper) : pascalCaseTransformFactory(lower, upper);
70
- return prefix + split(input, options).map((word, index) => {
71
- if (index === 0)
72
- return lower(word);
73
- return transform(word, index);
74
- }).join(options?.delimiter ?? "");
75
- }
76
- function pascalCase(input, options) {
77
- const prefix = getPrefix(input, options?.prefixCharacters);
78
- const lower = lowerFactory(options?.locale);
79
- const upper = upperFactory(options?.locale);
80
- const transform = options?.mergeAmbiguousCharacters ? capitalCaseTransformFactory(lower, upper) : pascalCaseTransformFactory(lower, upper);
81
- return prefix + split(input, options).map(transform).join(options?.delimiter ?? "");
82
- }
83
- function lowerFactory(locale) {
84
- return locale === false ? (input) => input.toLowerCase() : (input) => input.toLocaleLowerCase(locale);
85
- }
86
- function upperFactory(locale) {
87
- return locale === false ? (input) => input.toUpperCase() : (input) => input.toLocaleUpperCase(locale);
88
- }
89
- function capitalCaseTransformFactory(lower, upper) {
90
- return (word) => `${upper(word[0])}${lower(word.slice(1))}`;
91
- }
92
- function pascalCaseTransformFactory(lower, upper) {
93
- return (word, index) => {
94
- const char0 = word[0];
95
- const initial = index > 0 && char0 >= "0" && char0 <= "9" ? "_" + char0 : upper(char0);
96
- return initial + lower(word.slice(1));
97
- };
98
- }
99
- function getPrefix(input, prefixCharacters = DEFAULT_PREFIX_CHARACTERS) {
100
- let prefix = "";
101
- for (let i = 0; i < input.length; i++) {
102
- const char = input.charAt(i);
103
- if (prefixCharacters.includes(char)) {
104
- prefix += char;
105
- } else {
106
- break;
107
- }
108
- }
109
- return prefix;
110
- }
111
-
112
- // src/transformers/casing.ts
113
- function camelCase2(text) {
114
- return camelCase(text, { delimiter: "", mergeAmbiguousCharacters: true });
115
- }
116
- function pascalCase2(text) {
117
- return pascalCase(text, { delimiter: "", mergeAmbiguousCharacters: true });
118
- }
119
-
120
- // src/transformers/combineCodes.ts
121
- function combineCodes(codes) {
122
- return codes.join("\n");
123
- }
124
-
125
- // src/transformers/createJSDocBlockText.ts
126
- function createJSDocBlockText({ comments }) {
127
- const filteredComments = comments.filter(Boolean);
128
- if (!filteredComments.length) {
129
- return "";
130
- }
131
- return `/**
132
- * ${filteredComments.join("\n * ")}
133
- */`;
134
- }
135
-
136
- // src/transformers/escape.ts
137
- function escape(text) {
138
- return text ? text.replaceAll("`", "\\`") : "";
139
- }
140
- function jsStringEscape(input) {
141
- return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
142
- switch (character) {
143
- case '"':
144
- case "'":
145
- case "\\":
146
- return "\\" + character;
147
- case "\n":
148
- return "\\n";
149
- case "\r":
150
- return "\\r";
151
- case "\u2028":
152
- return "\\u2028";
153
- case "\u2029":
154
- return "\\u2029";
155
- default:
156
- return "";
157
- }
158
- });
159
- }
160
-
161
- // src/transformers/indent.ts
162
- function createIndent(size) {
163
- return Array.from({ length: size + 1 }).join(" ");
164
- }
165
-
166
- // src/transformers/nameSorter.ts
167
- function nameSorter(a, b) {
168
- if (a.name < b.name) {
169
- return -1;
170
- }
171
- if (a.name > b.name) {
172
- return 1;
173
- }
174
- return 0;
175
- }
176
-
177
- // src/transformers/searchAndReplace.ts
178
- function searchAndReplace(options) {
179
- const { text, replaceBy, prefix = "", key } = options;
180
- const searchValues = options.searchValues?.(prefix, key) || [
181
- `${prefix}["${key}"]`,
182
- `${prefix}['${key}']`,
183
- `${prefix}[\`${key}\`]`,
184
- `${prefix}"${key}"`,
185
- `${prefix}'${key}'`,
186
- `${prefix}\`${key}\``,
187
- new RegExp(`${prefix}${key}`, "g")
188
- ];
189
- return searchValues.reduce((prev, searchValue) => {
190
- return prev.toString().replaceAll(searchValue, replaceBy);
191
- }, text);
192
- }
193
-
194
- // src/transformers/transformReservedWord.ts
195
- var reservedWords = [
196
- "abstract",
197
- "arguments",
198
- "boolean",
199
- "break",
200
- "byte",
201
- "case",
202
- "catch",
203
- "char",
204
- "class",
205
- "const",
206
- "continue",
207
- "debugger",
208
- "default",
209
- "delete",
210
- "do",
211
- "double",
212
- "else",
213
- "enum",
214
- "eval",
215
- "export",
216
- "extends",
217
- "false",
218
- "final",
219
- "finally",
220
- "float",
221
- "for",
222
- "function",
223
- "goto",
224
- "if",
225
- "implements",
226
- "import",
227
- "in",
228
- "instanceof",
229
- "int",
230
- "interface",
231
- "let",
232
- "long",
233
- "native",
234
- "new",
235
- "null",
236
- "package",
237
- "private",
238
- "protected",
239
- "public",
240
- "return",
241
- "short",
242
- "static",
243
- "super",
244
- "switch",
245
- "synchronized",
246
- "this",
247
- "throw",
248
- "throws",
249
- "transient",
250
- "true",
251
- "try",
252
- "typeof",
253
- "var",
254
- "void",
255
- "volatile",
256
- "while",
257
- "with",
258
- "yield",
259
- "Array",
260
- "Date",
261
- "eval",
262
- "function",
263
- "hasOwnProperty",
264
- "Infinity",
265
- "isFinite",
266
- "isNaN",
267
- "isPrototypeOf",
268
- "length",
269
- "Math",
270
- "name",
271
- "NaN",
272
- "Number",
273
- "Object",
274
- "prototype",
275
- "String",
276
- "toString",
277
- "undefined",
278
- "valueOf"
279
- ];
280
- function transformReservedWord(word) {
281
- if (word && reservedWords.includes(word) || word?.match(/^\d/)) {
282
- return `_${word}`;
283
- }
284
- return word;
285
- }
286
-
287
- // src/transformers/trim.ts
288
- function trim(text) {
289
- return text.replaceAll(/\n/g, "").trim();
290
- }
291
- function trimExtName(text) {
292
- return text.replace(/\.[^/.]+$/, "");
293
- }
294
-
295
- // src/transformers/index.ts
296
- var transformers_default = {
297
- combineCodes,
298
- escape,
299
- jsStringEscape,
300
- createIndent,
301
- transformReservedWord,
302
- nameSorter,
303
- searchAndReplace,
304
- trim,
305
- trimExtName,
306
- JSDoc: {
307
- createJSDocBlockText
308
- },
309
- camelCase: camelCase2,
310
- pascalCase: pascalCase2
311
- };
9
+ // src/utils/index.ts
10
+ init_esm_shims();
312
11
 
313
12
  // src/utils/FunctionParams.ts
13
+ init_esm_shims();
314
14
  var FunctionParams = class {
315
15
  constructor(type) {
316
16
  this.items = [];
@@ -335,7 +35,7 @@ var FunctionParams = class {
335
35
  acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
336
36
  return acc;
337
37
  }
338
- const parameterName = name.startsWith("{") ? name : transformers_default.camelCase(name);
38
+ const parameterName = name.startsWith("{") ? name : camelCase(name);
339
39
  if (type) {
340
40
  if (required) {
341
41
  acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
@@ -351,6 +51,7 @@ var FunctionParams = class {
351
51
  };
352
52
 
353
53
  // src/utils/promise.ts
54
+ init_esm_shims();
354
55
  function isPromise(result) {
355
56
  return !!result && typeof result?.then === "function";
356
57
  }
@@ -360,100 +61,9 @@ function isPromiseFulfilledResult(result) {
360
61
  function isPromiseRejectedResult(result) {
361
62
  return result.status === "rejected";
362
63
  }
363
- var _emitter;
364
- var EventEmitter = class {
365
- constructor() {
366
- __privateAdd(this, _emitter, new EventEmitter$1());
367
- __privateGet(this, _emitter).setMaxListeners(100);
368
- }
369
- emit(eventName, ...eventArg) {
370
- __privateGet(this, _emitter).emit(eventName, ...eventArg);
371
- }
372
- on(eventName, handler) {
373
- __privateGet(this, _emitter).on(eventName, handler);
374
- }
375
- off(eventName, handler) {
376
- __privateGet(this, _emitter).off(eventName, handler);
377
- }
378
- removeAll() {
379
- __privateGet(this, _emitter).removeAllListeners();
380
- }
381
- };
382
- _emitter = new WeakMap();
383
-
384
- // src/utils/Queue.ts
385
- var _queue, _workerCount, _maxParallel, _debug, _work, work_fn;
386
- var Queue = class {
387
- constructor(maxParallel, debug = false) {
388
- __privateAdd(this, _work);
389
- __privateAdd(this, _queue, []);
390
- this.eventEmitter = new EventEmitter();
391
- __privateAdd(this, _workerCount, 0);
392
- __privateAdd(this, _maxParallel, void 0);
393
- __privateAdd(this, _debug, false);
394
- __privateSet(this, _maxParallel, maxParallel);
395
- __privateSet(this, _debug, debug);
396
- }
397
- run(job, options = { controller: new AbortController(), name: crypto.randomUUID(), description: "" }) {
398
- return new Promise((resolve, reject) => {
399
- const item = { reject, resolve, job, name: options.name, description: options.description || options.name };
400
- options.controller?.signal.addEventListener("abort", () => {
401
- __privateSet(this, _queue, __privateGet(this, _queue).filter((queueItem) => queueItem.name === item.name));
402
- reject("Aborted");
403
- });
404
- __privateGet(this, _queue).push(item);
405
- __privateMethod(this, _work, work_fn).call(this);
406
- });
407
- }
408
- runSync(job, options = { controller: new AbortController(), name: crypto.randomUUID(), description: "" }) {
409
- new Promise((resolve, reject) => {
410
- const item = { reject, resolve, job, name: options.name, description: options.description || options.name };
411
- options.controller?.signal.addEventListener("abort", () => {
412
- __privateSet(this, _queue, __privateGet(this, _queue).filter((queueItem) => queueItem.name === item.name));
413
- });
414
- __privateGet(this, _queue).push(item);
415
- __privateMethod(this, _work, work_fn).call(this);
416
- });
417
- }
418
- get hasJobs() {
419
- return __privateGet(this, _workerCount) > 0 || __privateGet(this, _queue).length > 0;
420
- }
421
- get count() {
422
- return __privateGet(this, _workerCount);
423
- }
424
- };
425
- _queue = new WeakMap();
426
- _workerCount = new WeakMap();
427
- _maxParallel = new WeakMap();
428
- _debug = new WeakMap();
429
- _work = new WeakSet();
430
- work_fn = function() {
431
- if (__privateGet(this, _workerCount) >= __privateGet(this, _maxParallel)) {
432
- return;
433
- }
434
- __privateWrapper(this, _workerCount)._++;
435
- let entry;
436
- while (entry = __privateGet(this, _queue).shift()) {
437
- const { reject, resolve, job, name, description } = entry;
438
- if (__privateGet(this, _debug)) {
439
- performance.mark(name + "_start");
440
- }
441
- job().then((result) => {
442
- this.eventEmitter.emit("jobDone", result);
443
- resolve(result);
444
- if (__privateGet(this, _debug)) {
445
- performance.mark(name + "_stop");
446
- performance.measure(description, name + "_start", name + "_stop");
447
- }
448
- }).catch((err) => {
449
- this.eventEmitter.emit("jobFailed", err);
450
- reject(err);
451
- });
452
- }
453
- __privateWrapper(this, _workerCount)._--;
454
- };
455
64
 
456
65
  // src/utils/renderTemplate.ts
66
+ init_esm_shims();
457
67
  function renderTemplate(template, data = void 0) {
458
68
  if (!data || !Object.keys(data).length) {
459
69
  return template.replace(/{{(.*?)}}/g, "");
@@ -478,6 +88,7 @@ function renderTemplate(template, data = void 0) {
478
88
  }
479
89
 
480
90
  // src/utils/timeout.ts
91
+ init_esm_shims();
481
92
  async function timeout(ms) {
482
93
  return new Promise((resolve) => {
483
94
  setTimeout(() => {
@@ -486,123 +97,6 @@ async function timeout(ms) {
486
97
  });
487
98
  }
488
99
 
489
- // src/utils/uniqueName.ts
490
- function getUniqueName(originalName, data) {
491
- let used = data[originalName] || 0;
492
- if (used) {
493
- data[originalName] = ++used;
494
- originalName += used;
495
- }
496
- data[originalName] = 1;
497
- return originalName;
498
- }
499
- function setUniqueName(originalName, data) {
500
- let used = data[originalName] || 0;
501
- if (used) {
502
- data[originalName] = ++used;
503
- return originalName;
504
- }
505
- data[originalName] = 1;
506
- return originalName;
507
- }
508
-
509
- // src/utils/URLPath.ts
510
- var URLPath = class {
511
- constructor(path) {
512
- this.path = path;
513
- return this;
514
- }
515
- /**
516
- * Convert Swagger path to URLPath(syntax of Express)
517
- * @example /pet/{petId} => /pet/:petId
518
- */
519
- get URL() {
520
- return this.toURLPath();
521
- }
522
- get isURL() {
523
- try {
524
- const url = new URL(this.path);
525
- if (url?.href) {
526
- return true;
527
- }
528
- } catch (error) {
529
- return false;
530
- }
531
- return false;
532
- }
533
- /**
534
- * Convert Swagger path to template literals/ template strings(camelcase)
535
- * @example /pet/{petId} => `/pet/${petId}`
536
- * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
537
- * @example /account/userID => `/account/${userId}`
538
- */
539
- get template() {
540
- return this.toTemplateString();
541
- }
542
- get object() {
543
- return this.toObject();
544
- }
545
- get params() {
546
- return this.getParams();
547
- }
548
- toObject({ type = "path", replacer, stringify } = {}) {
549
- const object = {
550
- url: type === "path" ? this.toURLPath() : this.toTemplateString(replacer),
551
- params: this.getParams()
552
- };
553
- if (stringify) {
554
- if (type === "template") {
555
- return JSON.stringify(object).replaceAll("'", "").replaceAll(`"`, "");
556
- }
557
- if (object.params) {
558
- return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll("'", "").replaceAll(`"`, "")} }`;
559
- }
560
- return `{ url: '${object.url}' }`;
561
- }
562
- return object;
563
- }
564
- /**
565
- * Convert Swagger path to template literals/ template strings(camelcase)
566
- * @example /pet/{petId} => `/pet/${petId}`
567
- * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
568
- * @example /account/userID => `/account/${userId}`
569
- */
570
- toTemplateString(replacer) {
571
- const regex = /{(\w|-)*}/g;
572
- const found = this.path.match(regex);
573
- let newPath = this.path.replaceAll("{", "${");
574
- if (found) {
575
- newPath = found.reduce((prev, curr) => {
576
- const pathParam = replacer ? replacer(transformers_default.camelCase(curr)) : transformers_default.camelCase(curr);
577
- const replacement = `\${${pathParam}}`;
578
- return prev.replace(curr, replacement);
579
- }, this.path);
580
- }
581
- return `\`${newPath}\``;
582
- }
583
- getParams(replacer) {
584
- const regex = /{(\w|-)*}/g;
585
- const found = this.path.match(regex);
586
- if (!found) {
587
- return void 0;
588
- }
589
- const params = {};
590
- found.forEach((item) => {
591
- item = item.replaceAll("{", "").replaceAll("}", "");
592
- const pathParam = replacer ? replacer(transformers_default.camelCase(item)) : transformers_default.camelCase(item);
593
- params[pathParam] = pathParam;
594
- }, this.path);
595
- return params;
596
- }
597
- /**
598
- * Convert Swagger path to URLPath(syntax of Express)
599
- * @example /pet/{petId} => /pet/:petId
600
- */
601
- toURLPath() {
602
- return this.path.replaceAll("{", ":").replaceAll("}", "");
603
- }
604
- };
605
-
606
- export { FunctionParams, Queue, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
100
+ export { FunctionParams, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, timeout };
607
101
  //# sourceMappingURL=out.js.map
608
102
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/FunctionParams.ts","../../../node_modules/.pnpm/change-case@5.2.0/node_modules/change-case/src/index.ts","../src/transformers/casing.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/transformReservedWord.ts","../src/transformers/trim.ts","../src/transformers/index.ts","../src/utils/promise.ts","../src/utils/Queue.ts","../src/utils/EventEmitter.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts"],"names":["camelCase","pascalCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAAe;;;ACCxB,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,wBAAwB;AAC9B,IAAM,yBAAyB;AAG/B,IAAM,uBAAuB;AAG7B,IAAM,sBAAsB;AAG5B,IAAM,4BAA4B;AAkC5B,SAAU,MAAM,OAAe,SAAsB;AACzD,MAAI,SAAS,MAAM,KAAI;AAEvB,WAAS,OACN,QAAQ,sBAAsB,mBAAmB,EACjD,QAAQ,sBAAsB,mBAAmB;AAEpD,MAAI,SAAS,iBAAiB;AAC5B,aAAS,OACN,QAAQ,uBAAuB,mBAAmB,EAClD,QAAQ,wBAAwB,mBAAmB;;AAGxD,WAAS,OAAO,QAAQ,sBAAsB,IAAI;AAElD,MAAI,QAAQ;AACZ,MAAI,MAAM,OAAO;AAGjB,SAAO,OAAO,OAAO,KAAK,MAAM;AAAM;AACtC,MAAI,UAAU;AAAK,WAAO,CAAA;AAC1B,SAAO,OAAO,OAAO,MAAM,CAAC,MAAM;AAAM;AAExC,SAAO,OAAO,MAAM,OAAO,GAAG,EAAE,MAAM,KAAK;AAC7C;AAkBM,SAAU,UAAU,OAAe,SAA2B;AAClE,QAAM,SAAS,UAAU,OAAO,SAAS,gBAAgB;AACzD,QAAM,QAAQ,aAAa,SAAS,MAAM;AAC1C,QAAM,QAAQ,aAAa,SAAS,MAAM;AAC1C,QAAM,YAAY,SAAS,2BACvB,4BAA4B,OAAO,KAAK,IACxC,2BAA2B,OAAO,KAAK;AAC3C,SACE,SACA,MAAM,OAAO,OAAO,EACjB,IAAI,CAAC,MAAM,UAAS;AACnB,QAAI,UAAU;AAAG,aAAO,MAAM,IAAI;AAClC,WAAO,UAAU,MAAM,KAAK;EAC9B,CAAC,EACA,KAAK,SAAS,aAAa,EAAE;AAEpC;AAKM,SAAU,WAAW,OAAe,SAA2B;AACnE,QAAM,SAAS,UAAU,OAAO,SAAS,gBAAgB;AACzD,QAAM,QAAQ,aAAa,SAAS,MAAM;AAC1C,QAAM,QAAQ,aAAa,SAAS,MAAM;AAC1C,QAAM,YAAY,SAAS,2BACvB,4BAA4B,OAAO,KAAK,IACxC,2BAA2B,OAAO,KAAK;AAC3C,SACE,SACA,MAAM,OAAO,OAAO,EACjB,IAAI,SAAS,EACb,KAAK,SAAS,aAAa,EAAE;AAEpC;AA2FA,SAAS,aAAa,QAAc;AAClC,SAAO,WAAW,QACd,CAAC,UAAkB,MAAM,YAAW,IACpC,CAAC,UAAkB,MAAM,kBAAkB,MAAM;AACvD;AAEA,SAAS,aAAa,QAAc;AAClC,SAAO,WAAW,QACd,CAAC,UAAkB,MAAM,YAAW,IACpC,CAAC,UAAkB,MAAM,kBAAkB,MAAM;AACvD;AAEA,SAAS,4BACP,OACA,OAAgC;AAEhC,SAAO,CAAC,SAAiB,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;AACnE;AAEA,SAAS,2BACP,OACA,OAAgC;AAEhC,SAAO,CAAC,MAAc,UAAiB;AACrC,UAAM,QAAQ,KAAK,CAAC;AACpB,UAAM,UACJ,QAAQ,KAAK,SAAS,OAAO,SAAS,MAAM,MAAM,QAAQ,MAAM,KAAK;AACvE,WAAO,UAAU,MAAM,KAAK,MAAM,CAAC,CAAC;EACtC;AACF;AAEA,SAAS,UACP,OACA,mBAAmB,2BAAyB;AAE5C,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,UAAM,OAAO,MAAM,OAAO,CAAC;AAC3B,QAAI,iBAAiB,SAAS,IAAI,GAAG;AACnC,gBAAU;WACL;AACL;;;AAGJ,SAAO;AACT;;;ACjQO,SAASA,WAAU,MAAsB;AAC9C,SAAO,UAAgB,MAAM,EAAE,WAAW,IAAI,0BAA0B,KAAK,CAAC;AAChF;AAEO,SAASC,YAAW,MAAsB;AAC/C,SAAO,WAAiB,MAAM,EAAE,WAAW,IAAI,0BAA0B,KAAK,CAAC;AACjF;;;ACRO,SAAS,aAAa,OAAyB;AACpD,SAAO,MAAM,KAAK,IAAI;AACxB;;;ACFO,SAAS,qBAAqB,EAAE,SAAS,GAAwC;AACtF,QAAM,mBAAmB,SAAS,OAAO,OAAO;AAEhD,MAAI,CAAC,iBAAiB,QAAQ;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,KAAW,iBAAiB,KAAK,OAAO,CAAC;AAAA;AAClD;;;ACRO,SAAS,OAAO,MAAuB;AAC5C,SAAO,OAAO,KAAK,WAAW,KAAK,KAAK,IAAI;AAC9C;AAQO,SAAS,eAAe,OAAoB;AACjD,SAAO,GAAG,KAAK,GAAG,QAAQ,2BAA2B,CAAC,cAAc;AAClE,YAAQ,WAAW;AAAA,MACjB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,OAAO;AAAA,MAEhB,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IACX;AAAA,EACF,CAAC;AACH;;;AC9BO,SAAS,aAAa,MAAsB;AACjD,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG;AAClD;;;ACFO,SAAS,WAAuC,GAAM,GAAkB;AAC7E,MAAI,EAAE,OAAO,EAAE,MAAM;AACnB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,OAAO,EAAE,MAAM;AACnB,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ACAO,SAAS,iBAAiB,SAA0B;AACzD,QAAM,EAAE,MAAM,WAAW,SAAS,IAAI,IAAI,IAAI;AAE9C,QAAM,eAAe,QAAQ,eAAe,QAAQ,GAAG,KAAK;AAAA,IAC1D,GAAG,MAAM,KAAK,GAAG;AAAA,IACjB,GAAG,MAAM,KAAK,GAAG;AAAA,IACjB,GAAG,MAAM,MAAM,GAAG;AAAA,IAClB,GAAG,MAAM,IAAI,GAAG;AAAA,IAChB,GAAG,MAAM,IAAI,GAAG;AAAA,IAChB,GAAG,MAAM,KAAK,GAAG;AAAA,IACjB,IAAI,OAAO,GAAG,MAAM,GAAG,GAAG,IAAI,GAAG;AAAA,EACnC;AAEA,SAAO,aAAa,OAAO,CAAC,MAAM,gBAAgB;AAChD,WAAO,KAAK,SAAS,EAAE,WAAW,aAAa,SAAS;AAAA,EAC1D,GAAG,IAAI;AACT;;;ACrBA,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,sBAAsB,MAAsB;AAC1D,MAAK,QAAQ,cAAc,SAAS,IAAI,KAAM,MAAM,MAAM,KAAK,GAAG;AAChE,WAAO,IAAI,IAAI;AAAA,EACjB;AAEA,SAAO;AACT;;;AChGO,SAAS,KAAK,MAAsB;AACzC,SAAO,KAAK,WAAW,OAAO,EAAE,EAAE,KAAK;AACzC;AAEO,SAAS,YAAY,MAAsB;AAChD,SAAO,KAAK,QAAQ,aAAa,EAAE;AACrC;;;ACcA,IAAO,uBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EACA,WAAAD;AAAA,EACA,YAAAC;AACF;;;AXFO,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,qBAAa,UAAU,IAAI;AAE/E,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;AYnFO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA,OAAO,YAAY;AACnB,SAAS,mBAAmB;;;ACA5B,SAAS,gBAAgB,wBAAwB;AADjD;AAGO,IAAM,eAAN,MAAwD;AAAA,EAC7D,cAAc;AAGd,iCAAW,IAAI,iBAAiB;AAF9B,uBAAK,UAAS,gBAAgB,GAAG;AAAA,EACnC;AAAA,EAGA,KAAgD,cAA0B,UAAqC;AAC7G,uBAAK,UAAS,KAAK,WAAW,GAAI,QAAe;AAAA,EACnD;AAAA,EAEA,GAA8C,WAAuB,SAA2D;AAC9H,uBAAK,UAAS,GAAG,WAAW,OAAc;AAAA,EAC5C;AAAA,EAEA,IAA+C,WAAuB,SAA2D;AAC/H,uBAAK,UAAS,IAAI,WAAW,OAAc;AAAA,EAC7C;AAAA,EACA,YAAkB;AAChB,uBAAK,UAAS,mBAAmB;AAAA,EACnC;AACF;AAhBE;;;ADPF;AA0BO,IAAM,QAAN,MAAY;AAAA,EASjB,YAAY,aAAqB,QAAQ,OAAO;AAyChD;AAjDA,+BAAsB,CAAC;AACvB,SAAS,eAAqC,IAAI,aAAa;AAE/D,qCAAe;AAEf;AACA,+BAAS;AAGP,uBAAK,cAAe;AACpB,uBAAK,QAAS;AAAA,EAChB;AAAA,EAEA,IAAO,KAAkB,UAAsB,EAAE,YAAY,IAAI,gBAAgB,GAAG,MAAM,OAAO,WAAW,GAAG,aAAa,GAAG,GAAe;AAC5I,WAAO,IAAI,QAAW,CAAC,SAAS,WAAW;AACzC,YAAM,OAAO,EAAE,QAAQ,SAAS,KAAK,MAAM,QAAQ,MAAM,aAAa,QAAQ,eAAe,QAAQ,KAAK;AAE1G,cAAQ,YAAY,OAAO,iBAAiB,SAAS,MAAM;AACzD,2BAAK,QAAS,mBAAK,QAAO,OAAO,CAAC,cAAc,UAAU,SAAS,KAAK,IAAI;AAE5E,eAAO,SAAS;AAAA,MAClB,CAAC;AAED,yBAAK,QAAO,KAAK,IAAI;AACrB,4BAAK,gBAAL;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,QAAW,KAAkB,UAAsB,EAAE,YAAY,IAAI,gBAAgB,GAAG,MAAM,OAAO,WAAW,GAAG,aAAa,GAAG,GAAS;AAC1I,QAAI,QAAW,CAAC,SAAS,WAAW;AAClC,YAAM,OAAO,EAAE,QAAQ,SAAS,KAAK,MAAM,QAAQ,MAAM,aAAa,QAAQ,eAAe,QAAQ,KAAK;AAE1G,cAAQ,YAAY,OAAO,iBAAiB,SAAS,MAAM;AACzD,2BAAK,QAAS,mBAAK,QAAO,OAAO,CAAC,cAAc,UAAU,SAAS,KAAK,IAAI;AAAA,MAC9E,CAAC;AAED,yBAAK,QAAO,KAAK,IAAI;AACrB,4BAAK,gBAAL;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO,mBAAK,gBAAe,KAAK,mBAAK,QAAO,SAAS;AAAA,EACvD;AAAA,EAEA,IAAI,QAAgB;AAClB,WAAO,mBAAK;AAAA,EACd;AAmCF;AAlFE;AAGA;AAEA;AACA;AA2CA;AAAA,UAAK,WAAS;AACZ,MAAI,mBAAK,iBAAgB,mBAAK,eAAc;AAC1C;AAAA,EACF;AAEA,yBAAK,cAAL;AAEA,MAAI;AACJ,SAAQ,QAAQ,mBAAK,QAAO,MAAM,GAAI;AACpC,UAAM,EAAE,QAAQ,SAAS,KAAK,MAAM,YAAY,IAAI;AAEpD,QAAI,mBAAK,SAAQ;AACf,kBAAY,KAAK,OAAO,QAAQ;AAAA,IAClC;AAEA,QAAI,EACD,KAAK,CAAC,WAAW;AAChB,WAAK,aAAa,KAAK,WAAW,MAAM;AAExC,cAAQ,MAAM;AAEd,UAAI,mBAAK,SAAQ;AACf,oBAAY,KAAK,OAAO,OAAO;AAC/B,oBAAY,QAAQ,aAAa,OAAO,UAAU,OAAO,OAAO;AAAA,MAClE;AAAA,IACF,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,WAAK,aAAa,KAAK,aAAa,GAAY;AAChD,aAAO,GAAG;AAAA,IACZ,CAAC;AAAA,EACL;AACA,yBAAK,cAAL;AACF;;;AE5GK,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB;;;AC9BA,eAAsB,QAAQ,IAA8B;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,MAAM;AACf,cAAQ,IAAI;AAAA,IACd,GAAG,EAAE;AAAA,EACP,CAAC;AACH;;;ACNO,SAAS,cAAc,cAAsB,MAAsC;AACxF,MAAI,OAAO,KAAK,YAAY,KAAK;AACjC,MAAI,MAAM;AACR,SAAK,YAAY,IAAI,EAAE;AACvB,oBAAgB;AAAA,EAClB;AACA,OAAK,YAAY,IAAI;AACrB,SAAO;AACT;AAEO,SAAS,cAAc,cAAsB,MAAsC;AACxF,MAAI,OAAO,KAAK,YAAY,KAAK;AACjC,MAAI,MAAM;AACR,SAAK,YAAY,IAAI,EAAE;AAEvB,WAAO;AAAA,EACT;AACA,OAAK,YAAY,IAAI;AACrB,SAAO;AACT;;;ACNO,IAAM,UAAN,MAAc;AAAA,EAGnB,YAAY,MAAc;AACxB,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,MAAc;AAChB,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EACA,IAAI,QAAiB;AACnB,QAAI;AACF,YAAM,MAAM,IAAI,IAAI,KAAK,IAAI;AAC7B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,MACT;AAAA,IACF,SAAS,OAAO;AACd,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,WAAmB;AACrB,WAAO,KAAK,iBAAiB;AAAA,EAC/B;AAAA,EACA,IAAI,SAA6B;AAC/B,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EACA,IAAI,SAA6C;AAC/C,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,SAAS,EAAE,OAAO,QAAQ,UAAU,UAAU,IAAmB,CAAC,GAAuB;AACvF,UAAM,SAAS;AAAA,MACb,KAAK,SAAS,SAAS,KAAK,UAAU,IAAI,KAAK,iBAAiB,QAAQ;AAAA,MACxE,QAAQ,KAAK,UAAU;AAAA,IACzB;AAEA,QAAI,WAAW;AACb,UAAI,SAAS,YAAY;AACvB,eAAO,KAAK,UAAU,MAAM,EAAE,WAAW,KAAK,EAAE,EAAE,WAAW,KAAK,EAAE;AAAA,MACtE;AAEA,UAAI,OAAO,QAAQ;AACjB,eAAO,WAAW,OAAO,GAAG,cAAc,KAAK,UAAU,OAAO,MAAM,EAAE,WAAW,KAAK,EAAE,EAAE,WAAW,KAAK,EAAE,CAAC;AAAA,MACjH;AAEA,aAAO,WAAW,OAAO,GAAG;AAAA,IAC9B;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,iBAAiB,UAAkD;AACjE,UAAM,QAAQ;AACd,UAAM,QAAQ,KAAK,KAAK,MAAM,KAAK;AACnC,QAAI,UAAU,KAAK,KAAK,WAAW,KAAK,IAAI;AAE5C,QAAI,OAAO;AACT,gBAAU,MAAM,OAAO,CAAC,MAAM,SAAS;AACrC,cAAM,YAAY,WACd,SAAS,qBAAa,UAAU,IAAI,CAAC,IACrC,qBAAa,UAAU,IAAI;AAC/B,cAAM,cAAc,MAAM,SAAS;AAEnC,eAAO,KAAK,QAAQ,MAAM,WAAW;AAAA,MACvC,GAAG,KAAK,IAAI;AAAA,IACd;AAEA,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,UAAU,UAA8E;AACtF,UAAM,QAAQ;AACd,UAAM,QAAQ,KAAK,KAAK,MAAM,KAAK;AAEnC,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAEA,UAAM,SAAiC,CAAC;AACxC,UAAM,QAAQ,CAAC,SAAS;AACtB,aAAO,KAAK,WAAW,KAAK,EAAE,EAAE,WAAW,KAAK,EAAE;AAElD,YAAM,YAAY,WACd,SAAS,qBAAa,UAAU,IAAI,CAAC,IACrC,qBAAa,UAAU,IAAI;AAE/B,aAAO,SAAS,IAAI;AAAA,IACtB,GAAG,KAAK,IAAI;AAEZ,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAoB;AAClB,WAAO,KAAK,KAAK,WAAW,KAAK,GAAG,EAAE,WAAW,KAAK,EAAE;AAAA,EAC1D;AACF","sourcesContent":["import { orderBy } from 'natural-orderby'\n\nimport transformers from '../transformers/index.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.items.push(it))\n return this\n }\n this.items.push(item)\n\n return this\n }\n\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : transformers.camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }, [] as string[])\n .join(', ')\n }\n}\n","// Regexps involved with splitting words in various case formats.\nconst SPLIT_LOWER_UPPER_RE = /([\\p{Ll}\\d])(\\p{Lu})/gu;\nconst SPLIT_UPPER_UPPER_RE = /(\\p{Lu})([\\p{Lu}][\\p{Ll}])/gu;\nconst SPLIT_NUMBER_LOWER_RE = /(\\d)(\\p{Ll})/gu;\nconst SPLIT_LETTER_NUMBER_RE = /(\\p{L})(\\d)/gu;\n\n// Regexp involved with stripping non-word characters from the result.\nconst DEFAULT_STRIP_REGEXP = /[^\\p{L}\\d]+/giu;\n\n// The replacement value for splits.\nconst SPLIT_REPLACE_VALUE = \"$1\\0$2\";\n\n// The default characters to keep after transforming case.\nconst DEFAULT_PREFIX_CHARACTERS = \"\";\n\n/**\n * Supported locale values. Use `false` to ignore locale.\n * Defaults to `undefined`, which uses the host environment.\n */\nexport type Locale = string[] | string | false | undefined;\n\n/**\n * Options used for converting strings to pascal/camel case.\n */\nexport interface PascalCaseOptions extends Options {\n mergeAmbiguousCharacters?: boolean;\n}\n\n/**\n * Options used for converting strings to any case.\n */\nexport interface Options extends SplitOptions {\n locale?: Locale;\n delimiter?: string;\n prefixCharacters?: string;\n}\n\n/**\n * Options used for splitting strings into word segments.\n */\nexport interface SplitOptions {\n separateNumbers?: boolean;\n}\n\n/**\n * Split any cased input strings into an array of words.\n */\nexport function split(input: string, options?: SplitOptions) {\n let result = input.trim();\n\n result = result\n .replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);\n\n if (options?.separateNumbers) {\n result = result\n .replace(SPLIT_NUMBER_LOWER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_LETTER_NUMBER_RE, SPLIT_REPLACE_VALUE);\n }\n\n result = result.replace(DEFAULT_STRIP_REGEXP, \"\\0\");\n\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n if (start === end) return [];\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n return result.slice(start, end).split(/\\0/g);\n}\n\n/**\n * Convert a string to space separated lower case (`foo bar`).\n */\nexport function noCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n return (\n prefix +\n split(input, options)\n .map(lowerFactory(options?.locale))\n .join(options?.delimiter ?? \" \")\n );\n}\n\n/**\n * Convert a string to camel case (`fooBar`).\n */\nexport function camelCase(input: string, options?: PascalCaseOptions) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (\n prefix +\n split(input, options)\n .map((word, index) => {\n if (index === 0) return lower(word);\n return transform(word, index);\n })\n .join(options?.delimiter ?? \"\")\n );\n}\n\n/**\n * Convert a string to pascal case (`FooBar`).\n */\nexport function pascalCase(input: string, options?: PascalCaseOptions) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (\n prefix +\n split(input, options)\n .map(transform)\n .join(options?.delimiter ?? \"\")\n );\n}\n\n/**\n * Convert a string to pascal snake case (`Foo_Bar`).\n */\nexport function pascalSnakeCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to capital case (`Foo Bar`).\n */\nexport function capitalCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n return (\n prefix +\n split(input, options)\n .map(capitalCaseTransformFactory(lower, upper))\n .join(options?.delimiter ?? \" \")\n );\n}\n\n/**\n * Convert a string to constant case (`FOO_BAR`).\n */\nexport function constantCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n return (\n prefix +\n split(input, options)\n .map(upperFactory(options?.locale))\n .join(options?.delimiter ?? \"_\")\n );\n}\n\n/**\n * Convert a string to dot case (`foo.bar`).\n */\nexport function dotCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \".\", ...options });\n}\n\n/**\n * Convert a string to kebab case (`foo-bar`).\n */\nexport function kebabCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"-\", ...options });\n}\n\n/**\n * Convert a string to path case (`foo/bar`).\n */\nexport function pathCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"/\", ...options });\n}\n\n/**\n * Convert a string to path case (`Foo bar`).\n */\nexport function sentenceCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = capitalCaseTransformFactory(lower, upper);\n return (\n prefix +\n split(input, options)\n .map((word, index) => {\n if (index === 0) return transform(word);\n return lower(word);\n })\n .join(options?.delimiter ?? \" \")\n );\n}\n\n/**\n * Convert a string to snake case (`foo_bar`).\n */\nexport function snakeCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to header case (`Foo-Bar`).\n */\nexport function trainCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"-\", ...options });\n}\n\nfunction lowerFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toLowerCase()\n : (input: string) => input.toLocaleLowerCase(locale);\n}\n\nfunction upperFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toUpperCase()\n : (input: string) => input.toLocaleUpperCase(locale);\n}\n\nfunction capitalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string) => `${upper(word[0])}${lower(word.slice(1))}`;\n}\n\nfunction pascalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string, index: number) => {\n const char0 = word[0];\n const initial =\n index > 0 && char0 >= \"0\" && char0 <= \"9\" ? \"_\" + char0 : upper(char0);\n return initial + lower(word.slice(1));\n };\n}\n\nfunction getPrefix(\n input: string,\n prefixCharacters = DEFAULT_PREFIX_CHARACTERS,\n): string {\n let prefix = \"\";\n for (let i = 0; i < input.length; i++) {\n const char = input.charAt(i);\n if (prefixCharacters.includes(char)) {\n prefix += char;\n } else {\n break;\n }\n }\n return prefix;\n}\n","import { camelCase as changeCaseCamel, pascalCase as changePascalCase } from 'change-case'\n\nexport function camelCase(text: string): string {\n return changeCaseCamel(text, { delimiter: '', mergeAmbiguousCharacters: true })\n}\n\nexport function pascalCase(text: string): string {\n return changePascalCase(text, { delimiter: '', mergeAmbiguousCharacters: true })\n}\n","export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return '\\\\' + character\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","/**\n * @link https://github.com/jonschlinkert/reserved/blob/master/index.js\n */\nconst reservedWords = [\n 'abstract',\n 'arguments',\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'eval',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'let',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n 'yield',\n\n 'Array',\n 'Date',\n 'eval',\n 'function',\n 'hasOwnProperty',\n 'Infinity',\n 'isFinite',\n 'isNaN',\n 'isPrototypeOf',\n 'length',\n 'Math',\n 'name',\n 'NaN',\n 'Number',\n 'Object',\n 'prototype',\n 'String',\n 'toString',\n 'undefined',\n 'valueOf',\n]\n\nexport function transformReservedWord(word: string): string {\n if ((word && reservedWords.includes(word)) || word?.match(/^\\d/)) {\n return `_${word}`\n }\n\n return word\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\n}\n","import { camelCase, pascalCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimExtName } from './trim.ts'\n\nexport { camelCase, pascalCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimExtName } from './trim.ts'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n trim,\n trimExtName,\n JSDoc: {\n createJSDocBlockText,\n },\n camelCase,\n pascalCase,\n} as const\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","import crypto from 'node:crypto'\nimport { performance } from 'node:perf_hooks'\n\nimport { EventEmitter } from './EventEmitter.ts'\n\nexport type QueueJob<T = unknown> = {\n (...args: unknown[]): Promise<T | void>\n}\n\ntype RunOptions = {\n controller?: AbortController\n name?: string\n description?: string\n}\n\ntype QueueItem = {\n reject: <T>(reason?: T) => void\n resolve: <T>(value: T | PromiseLike<T>) => void\n job: QueueJob<unknown>\n} & Required<RunOptions>\n\ntype Events = {\n jobDone: [result: unknown]\n jobFailed: [error: Error]\n}\n\nexport class Queue {\n #queue: QueueItem[] = []\n readonly eventEmitter: EventEmitter<Events> = new EventEmitter()\n\n #workerCount = 0\n\n #maxParallel: number\n #debug = false\n\n constructor(maxParallel: number, debug = false) {\n this.#maxParallel = maxParallel\n this.#debug = debug\n }\n\n run<T>(job: QueueJob<T>, options: RunOptions = { controller: new AbortController(), name: crypto.randomUUID(), description: '' }): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const item = { reject, resolve, job, name: options.name, description: options.description || options.name } as QueueItem\n\n options.controller?.signal.addEventListener('abort', () => {\n this.#queue = this.#queue.filter((queueItem) => queueItem.name === item.name)\n\n reject('Aborted')\n })\n\n this.#queue.push(item)\n this.#work()\n })\n }\n\n runSync<T>(job: QueueJob<T>, options: RunOptions = { controller: new AbortController(), name: crypto.randomUUID(), description: '' }): void {\n new Promise<T>((resolve, reject) => {\n const item = { reject, resolve, job, name: options.name, description: options.description || options.name } as QueueItem\n\n options.controller?.signal.addEventListener('abort', () => {\n this.#queue = this.#queue.filter((queueItem) => queueItem.name === item.name)\n })\n\n this.#queue.push(item)\n this.#work()\n })\n }\n\n get hasJobs(): boolean {\n return this.#workerCount > 0 || this.#queue.length > 0\n }\n\n get count(): number {\n return this.#workerCount\n }\n\n #work(): void {\n if (this.#workerCount >= this.#maxParallel) {\n return\n }\n\n this.#workerCount++\n\n let entry: QueueItem | undefined\n while ((entry = this.#queue.shift())) {\n const { reject, resolve, job, name, description } = entry\n\n if (this.#debug) {\n performance.mark(name + '_start')\n }\n\n job()\n .then((result) => {\n this.eventEmitter.emit('jobDone', result)\n\n resolve(result)\n\n if (this.#debug) {\n performance.mark(name + '_stop')\n performance.measure(description, name + '_start', name + '_stop')\n }\n })\n .catch((err) => {\n this.eventEmitter.emit('jobFailed', err as Error)\n reject(err)\n })\n }\n this.#workerCount--\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import transformers from '../transformers/index.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer\n ? replacer(transformers.camelCase(curr))\n : transformers.camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer\n ? replacer(transformers.camelCase(item))\n : transformers.camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,eAAe;AAiCjB,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,UAAU,IAAI;AAElE,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;ACrFA;AAEO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA;AAAO,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB;;;AC9BA;AAAA,eAAsB,QAAQ,IAA8B;AAC1D,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,MAAM;AACf,cAAQ,IAAI;AAAA,IACd,GAAG,EAAE;AAAA,EACP,CAAC;AACH","sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport { isPromise, isPromiseFulfilledResult, isPromiseRejectedResult } from './promise.ts'\nexport { renderTemplate } from './renderTemplate.ts'\nexport { timeout } from './timeout.ts'\nexport { getUniqueName, setUniqueName } from './uniqueName.ts'\nexport type { URLObject } from './URLPath.ts'\nexport { URLPath } from './URLPath.ts'\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.items.push(it))\n return this\n }\n this.items.push(item)\n\n return this\n }\n\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }, [] as string[])\n .join(', ')\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"]}