@kubb/core 0.0.0-canary-20231213204140

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 (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -0
  3. package/dist/chunk-4A7WG6IA.js +128 -0
  4. package/dist/chunk-4A7WG6IA.js.map +1 -0
  5. package/dist/chunk-54P4AWHI.js +71 -0
  6. package/dist/chunk-54P4AWHI.js.map +1 -0
  7. package/dist/chunk-5TK7TMV6.cjs +131 -0
  8. package/dist/chunk-5TK7TMV6.cjs.map +1 -0
  9. package/dist/chunk-7S67BJXQ.js +85 -0
  10. package/dist/chunk-7S67BJXQ.js.map +1 -0
  11. package/dist/chunk-E3ANGQ5N.cjs +2290 -0
  12. package/dist/chunk-E3ANGQ5N.cjs.map +1 -0
  13. package/dist/chunk-H47IKRXJ.cjs +129 -0
  14. package/dist/chunk-H47IKRXJ.cjs.map +1 -0
  15. package/dist/chunk-HIE46T3F.js +129 -0
  16. package/dist/chunk-HIE46T3F.js.map +1 -0
  17. package/dist/chunk-K2H7BYQB.js +155 -0
  18. package/dist/chunk-K2H7BYQB.js.map +1 -0
  19. package/dist/chunk-NAWI7UXW.js +67 -0
  20. package/dist/chunk-NAWI7UXW.js.map +1 -0
  21. package/dist/chunk-PLVKILIY.cjs +162 -0
  22. package/dist/chunk-PLVKILIY.cjs.map +1 -0
  23. package/dist/chunk-W2FP7ZWW.cjs +71 -0
  24. package/dist/chunk-W2FP7ZWW.cjs.map +1 -0
  25. package/dist/chunk-WZQO3EPM.cjs +91 -0
  26. package/dist/chunk-WZQO3EPM.cjs.map +1 -0
  27. package/dist/chunk-XDHI63G7.cjs +104 -0
  28. package/dist/chunk-XDHI63G7.cjs.map +1 -0
  29. package/dist/chunk-XPOF4D5N.js +18 -0
  30. package/dist/chunk-XPOF4D5N.js.map +1 -0
  31. package/dist/fs.cjs +31 -0
  32. package/dist/fs.cjs.map +1 -0
  33. package/dist/fs.d.cts +5 -0
  34. package/dist/fs.d.ts +5 -0
  35. package/dist/fs.js +11 -0
  36. package/dist/fs.js.map +1 -0
  37. package/dist/index.cjs +3156 -0
  38. package/dist/index.cjs.map +1 -0
  39. package/dist/index.d.cts +693 -0
  40. package/dist/index.d.ts +693 -0
  41. package/dist/index.js +2160 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/logger.cjs +26 -0
  44. package/dist/logger.cjs.map +1 -0
  45. package/dist/logger.d.cts +32 -0
  46. package/dist/logger.d.ts +32 -0
  47. package/dist/logger.js +8 -0
  48. package/dist/logger.js.map +1 -0
  49. package/dist/transformers.cjs +124 -0
  50. package/dist/transformers.cjs.map +1 -0
  51. package/dist/transformers.d.cts +55 -0
  52. package/dist/transformers.d.ts +55 -0
  53. package/dist/transformers.js +95 -0
  54. package/dist/transformers.js.map +1 -0
  55. package/dist/utils.cjs +118 -0
  56. package/dist/utils.cjs.map +1 -0
  57. package/dist/utils.d.cts +94 -0
  58. package/dist/utils.d.ts +94 -0
  59. package/dist/utils.js +102 -0
  60. package/dist/utils.js.map +1 -0
  61. package/dist/write-A6VgHkYA.d.cts +10 -0
  62. package/dist/write-A6VgHkYA.d.ts +10 -0
  63. package/globals.d.ts +51 -0
  64. package/package.json +113 -0
  65. package/schema.json +86 -0
  66. package/src/BarrelManager.ts +113 -0
  67. package/src/FileManager.ts +581 -0
  68. package/src/Generator.ts +34 -0
  69. package/src/PackageManager.ts +178 -0
  70. package/src/PluginManager.ts +645 -0
  71. package/src/PromiseManager.ts +51 -0
  72. package/src/build.ts +221 -0
  73. package/src/config.ts +22 -0
  74. package/src/errors.ts +12 -0
  75. package/src/fs/clean.ts +5 -0
  76. package/src/fs/index.ts +3 -0
  77. package/src/fs/read.ts +68 -0
  78. package/src/fs/write.ts +79 -0
  79. package/src/index.ts +27 -0
  80. package/src/logger.ts +121 -0
  81. package/src/plugin.ts +80 -0
  82. package/src/transformers/casing.ts +9 -0
  83. package/src/transformers/combineCodes.ts +3 -0
  84. package/src/transformers/createJSDocBlockText.ts +9 -0
  85. package/src/transformers/escape.ts +31 -0
  86. package/src/transformers/indent.ts +3 -0
  87. package/src/transformers/index.ts +36 -0
  88. package/src/transformers/nameSorter.ts +9 -0
  89. package/src/transformers/searchAndReplace.ts +25 -0
  90. package/src/transformers/transformReservedWord.ts +97 -0
  91. package/src/transformers/trim.ts +7 -0
  92. package/src/types.ts +334 -0
  93. package/src/utils/EventEmitter.ts +24 -0
  94. package/src/utils/FunctionParams.ts +86 -0
  95. package/src/utils/TreeNode.ts +125 -0
  96. package/src/utils/URLPath.ts +133 -0
  97. package/src/utils/cache.ts +35 -0
  98. package/src/utils/executeStrategies.ts +83 -0
  99. package/src/utils/index.ts +8 -0
  100. package/src/utils/promise.ts +13 -0
  101. package/src/utils/renderTemplate.ts +31 -0
  102. package/src/utils/timeout.ts +7 -0
  103. package/src/utils/uniqueName.ts +20 -0
@@ -0,0 +1,124 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var chunk5TK7TMV6_cjs = require('./chunk-5TK7TMV6.cjs');
6
+ var chunkXDHI63G7_cjs = require('./chunk-XDHI63G7.cjs');
7
+ var chunkWZQO3EPM_cjs = require('./chunk-WZQO3EPM.cjs');
8
+
9
+ // src/transformers/index.ts
10
+ chunkWZQO3EPM_cjs.init_cjs_shims();
11
+
12
+ // src/transformers/combineCodes.ts
13
+ chunkWZQO3EPM_cjs.init_cjs_shims();
14
+ function combineCodes(codes) {
15
+ return codes.join("\n");
16
+ }
17
+
18
+ // src/transformers/createJSDocBlockText.ts
19
+ chunkWZQO3EPM_cjs.init_cjs_shims();
20
+ function createJSDocBlockText({ comments }) {
21
+ const filteredComments = comments.filter(Boolean);
22
+ if (!filteredComments.length) {
23
+ return "";
24
+ }
25
+ return `/**
26
+ * ${filteredComments.join("\n * ")}
27
+ */`;
28
+ }
29
+
30
+ // src/transformers/escape.ts
31
+ chunkWZQO3EPM_cjs.init_cjs_shims();
32
+ function escape(text) {
33
+ return text ? text.replaceAll("`", "\\`") : "";
34
+ }
35
+ function jsStringEscape(input) {
36
+ return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
37
+ switch (character) {
38
+ case '"':
39
+ case "'":
40
+ case "\\":
41
+ return "\\" + character;
42
+ case "\n":
43
+ return "\\n";
44
+ case "\r":
45
+ return "\\r";
46
+ case "\u2028":
47
+ return "\\u2028";
48
+ case "\u2029":
49
+ return "\\u2029";
50
+ default:
51
+ return "";
52
+ }
53
+ });
54
+ }
55
+
56
+ // src/transformers/indent.ts
57
+ chunkWZQO3EPM_cjs.init_cjs_shims();
58
+ function createIndent(size) {
59
+ return Array.from({ length: size + 1 }).join(" ");
60
+ }
61
+
62
+ // src/transformers/nameSorter.ts
63
+ chunkWZQO3EPM_cjs.init_cjs_shims();
64
+ function nameSorter(a, b) {
65
+ if (a.name < b.name) {
66
+ return -1;
67
+ }
68
+ if (a.name > b.name) {
69
+ return 1;
70
+ }
71
+ return 0;
72
+ }
73
+
74
+ // src/transformers/index.ts
75
+ var transformers_default = {
76
+ combineCodes,
77
+ escape,
78
+ jsStringEscape,
79
+ createIndent,
80
+ transformReservedWord: chunk5TK7TMV6_cjs.transformReservedWord,
81
+ nameSorter,
82
+ searchAndReplace: chunk5TK7TMV6_cjs.searchAndReplace,
83
+ trim: chunk5TK7TMV6_cjs.trim,
84
+ trimExtName: chunk5TK7TMV6_cjs.trimExtName,
85
+ JSDoc: {
86
+ createJSDocBlockText
87
+ },
88
+ camelCase: chunkXDHI63G7_cjs.camelCase,
89
+ pascalCase: chunkXDHI63G7_cjs.pascalCase
90
+ };
91
+
92
+ Object.defineProperty(exports, "searchAndReplace", {
93
+ enumerable: true,
94
+ get: function () { return chunk5TK7TMV6_cjs.searchAndReplace; }
95
+ });
96
+ Object.defineProperty(exports, "transformReservedWord", {
97
+ enumerable: true,
98
+ get: function () { return chunk5TK7TMV6_cjs.transformReservedWord; }
99
+ });
100
+ Object.defineProperty(exports, "trim", {
101
+ enumerable: true,
102
+ get: function () { return chunk5TK7TMV6_cjs.trim; }
103
+ });
104
+ Object.defineProperty(exports, "trimExtName", {
105
+ enumerable: true,
106
+ get: function () { return chunk5TK7TMV6_cjs.trimExtName; }
107
+ });
108
+ Object.defineProperty(exports, "camelCase", {
109
+ enumerable: true,
110
+ get: function () { return chunkXDHI63G7_cjs.camelCase; }
111
+ });
112
+ Object.defineProperty(exports, "pascalCase", {
113
+ enumerable: true,
114
+ get: function () { return chunkXDHI63G7_cjs.pascalCase; }
115
+ });
116
+ exports.combineCodes = combineCodes;
117
+ exports.createIndent = createIndent;
118
+ exports.createJSDocBlockText = createJSDocBlockText;
119
+ exports.default = transformers_default;
120
+ exports.escape = escape;
121
+ exports.jsStringEscape = jsStringEscape;
122
+ exports.nameSorter = nameSorter;
123
+ //# sourceMappingURL=out.js.map
124
+ //# sourceMappingURL=transformers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;ACAA;AAAO,SAAS,aAAa,OAAyB;AACpD,SAAO,MAAM,KAAK,IAAI;AACxB;;;ACFA;AAAO,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;;;ACRA;AAAO,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;;;AC9BA;AAAO,SAAS,aAAa,MAAsB;AACjD,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG;AAClD;;;ACFA;AAAO,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;;;ALYA,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;AAAA,EACA;AACF","sourcesContent":["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","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"]}
@@ -0,0 +1,55 @@
1
+ declare function camelCase(text: string): string;
2
+ declare function pascalCase(text: string): string;
3
+
4
+ declare function combineCodes(codes: string[]): string;
5
+
6
+ declare function createJSDocBlockText({ comments }: {
7
+ comments: Array<string>;
8
+ }): string;
9
+
10
+ declare function escape(text?: string): string;
11
+ /**
12
+ * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on
13
+ * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
14
+ * @link https://github.com/joliss/js-string-escape/blob/master/index.js
15
+ */
16
+ declare function jsStringEscape(input: any): string;
17
+
18
+ declare function createIndent(size: number): string;
19
+
20
+ declare function nameSorter<T extends {
21
+ name: string;
22
+ }>(a: T, b: T): 0 | 1 | -1;
23
+
24
+ type Options = {
25
+ text: string;
26
+ replaceBy: string;
27
+ prefix?: string;
28
+ key: string;
29
+ searchValues?: (prefix: string, key: string) => Array<RegExp | string>;
30
+ };
31
+ declare function searchAndReplace(options: Options): string;
32
+
33
+ declare function transformReservedWord(word: string): string;
34
+
35
+ declare function trim(text: string): string;
36
+ declare function trimExtName(text: string): string;
37
+
38
+ declare const _default: {
39
+ readonly combineCodes: typeof combineCodes;
40
+ readonly escape: typeof escape;
41
+ readonly jsStringEscape: typeof jsStringEscape;
42
+ readonly createIndent: typeof createIndent;
43
+ readonly transformReservedWord: typeof transformReservedWord;
44
+ readonly nameSorter: typeof nameSorter;
45
+ readonly searchAndReplace: typeof searchAndReplace;
46
+ readonly trim: typeof trim;
47
+ readonly trimExtName: typeof trimExtName;
48
+ readonly JSDoc: {
49
+ readonly createJSDocBlockText: typeof createJSDocBlockText;
50
+ };
51
+ readonly camelCase: typeof camelCase;
52
+ readonly pascalCase: typeof pascalCase;
53
+ };
54
+
55
+ export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, jsStringEscape, nameSorter, pascalCase, searchAndReplace, transformReservedWord, trim, trimExtName };
@@ -0,0 +1,55 @@
1
+ declare function camelCase(text: string): string;
2
+ declare function pascalCase(text: string): string;
3
+
4
+ declare function combineCodes(codes: string[]): string;
5
+
6
+ declare function createJSDocBlockText({ comments }: {
7
+ comments: Array<string>;
8
+ }): string;
9
+
10
+ declare function escape(text?: string): string;
11
+ /**
12
+ * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on
13
+ * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
14
+ * @link https://github.com/joliss/js-string-escape/blob/master/index.js
15
+ */
16
+ declare function jsStringEscape(input: any): string;
17
+
18
+ declare function createIndent(size: number): string;
19
+
20
+ declare function nameSorter<T extends {
21
+ name: string;
22
+ }>(a: T, b: T): 0 | 1 | -1;
23
+
24
+ type Options = {
25
+ text: string;
26
+ replaceBy: string;
27
+ prefix?: string;
28
+ key: string;
29
+ searchValues?: (prefix: string, key: string) => Array<RegExp | string>;
30
+ };
31
+ declare function searchAndReplace(options: Options): string;
32
+
33
+ declare function transformReservedWord(word: string): string;
34
+
35
+ declare function trim(text: string): string;
36
+ declare function trimExtName(text: string): string;
37
+
38
+ declare const _default: {
39
+ readonly combineCodes: typeof combineCodes;
40
+ readonly escape: typeof escape;
41
+ readonly jsStringEscape: typeof jsStringEscape;
42
+ readonly createIndent: typeof createIndent;
43
+ readonly transformReservedWord: typeof transformReservedWord;
44
+ readonly nameSorter: typeof nameSorter;
45
+ readonly searchAndReplace: typeof searchAndReplace;
46
+ readonly trim: typeof trim;
47
+ readonly trimExtName: typeof trimExtName;
48
+ readonly JSDoc: {
49
+ readonly createJSDocBlockText: typeof createJSDocBlockText;
50
+ };
51
+ readonly camelCase: typeof camelCase;
52
+ readonly pascalCase: typeof pascalCase;
53
+ };
54
+
55
+ export { camelCase, combineCodes, createIndent, createJSDocBlockText, _default as default, escape, jsStringEscape, nameSorter, pascalCase, searchAndReplace, transformReservedWord, trim, trimExtName };
@@ -0,0 +1,95 @@
1
+ import { createRequire } from 'module';
2
+ import { transformReservedWord, searchAndReplace, trim, trimExtName } from './chunk-HIE46T3F.js';
3
+ export { searchAndReplace, transformReservedWord, trim, trimExtName } from './chunk-HIE46T3F.js';
4
+ import { camelCase, pascalCase } from './chunk-XPOF4D5N.js';
5
+ export { camelCase, pascalCase } from './chunk-XPOF4D5N.js';
6
+ import { init_esm_shims } from './chunk-54P4AWHI.js';
7
+
8
+ createRequire(import.meta.url);
9
+
10
+ // src/transformers/index.ts
11
+ init_esm_shims();
12
+
13
+ // src/transformers/combineCodes.ts
14
+ init_esm_shims();
15
+ function combineCodes(codes) {
16
+ return codes.join("\n");
17
+ }
18
+
19
+ // src/transformers/createJSDocBlockText.ts
20
+ init_esm_shims();
21
+ function createJSDocBlockText({ comments }) {
22
+ const filteredComments = comments.filter(Boolean);
23
+ if (!filteredComments.length) {
24
+ return "";
25
+ }
26
+ return `/**
27
+ * ${filteredComments.join("\n * ")}
28
+ */`;
29
+ }
30
+
31
+ // src/transformers/escape.ts
32
+ init_esm_shims();
33
+ function escape(text) {
34
+ return text ? text.replaceAll("`", "\\`") : "";
35
+ }
36
+ function jsStringEscape(input) {
37
+ return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
38
+ switch (character) {
39
+ case '"':
40
+ case "'":
41
+ case "\\":
42
+ return "\\" + character;
43
+ case "\n":
44
+ return "\\n";
45
+ case "\r":
46
+ return "\\r";
47
+ case "\u2028":
48
+ return "\\u2028";
49
+ case "\u2029":
50
+ return "\\u2029";
51
+ default:
52
+ return "";
53
+ }
54
+ });
55
+ }
56
+
57
+ // src/transformers/indent.ts
58
+ init_esm_shims();
59
+ function createIndent(size) {
60
+ return Array.from({ length: size + 1 }).join(" ");
61
+ }
62
+
63
+ // src/transformers/nameSorter.ts
64
+ init_esm_shims();
65
+ function nameSorter(a, b) {
66
+ if (a.name < b.name) {
67
+ return -1;
68
+ }
69
+ if (a.name > b.name) {
70
+ return 1;
71
+ }
72
+ return 0;
73
+ }
74
+
75
+ // src/transformers/index.ts
76
+ var transformers_default = {
77
+ combineCodes,
78
+ escape,
79
+ jsStringEscape,
80
+ createIndent,
81
+ transformReservedWord,
82
+ nameSorter,
83
+ searchAndReplace,
84
+ trim,
85
+ trimExtName,
86
+ JSDoc: {
87
+ createJSDocBlockText
88
+ },
89
+ camelCase,
90
+ pascalCase
91
+ };
92
+
93
+ export { combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, jsStringEscape, nameSorter };
94
+ //# sourceMappingURL=out.js.map
95
+ //# sourceMappingURL=transformers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/transformers/index.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAAO,SAAS,aAAa,OAAyB;AACpD,SAAO,MAAM,KAAK,IAAI;AACxB;;;ACFA;AAAO,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;;;ACRA;AAAO,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;;;AC9BA;AAAO,SAAS,aAAa,MAAsB;AACjD,SAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG;AAClD;;;ACFA;AAAO,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;;;ALYA,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;AAAA,EACA;AACF","sourcesContent":["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","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"]}
package/dist/utils.cjs ADDED
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ var chunkH47IKRXJ_cjs = require('./chunk-H47IKRXJ.cjs');
4
+ var chunkXDHI63G7_cjs = require('./chunk-XDHI63G7.cjs');
5
+ var chunkWZQO3EPM_cjs = require('./chunk-WZQO3EPM.cjs');
6
+ var naturalOrderby = require('natural-orderby');
7
+
8
+ // src/utils/index.ts
9
+ chunkWZQO3EPM_cjs.init_cjs_shims();
10
+
11
+ // src/utils/FunctionParams.ts
12
+ chunkWZQO3EPM_cjs.init_cjs_shims();
13
+ var FunctionParams = class {
14
+ constructor(type) {
15
+ this.items = [];
16
+ this.type = type;
17
+ return this;
18
+ }
19
+ add(item) {
20
+ if (!item) {
21
+ return this;
22
+ }
23
+ if (Array.isArray(item)) {
24
+ item.filter(Boolean).forEach((it) => this.items.push(it));
25
+ return this;
26
+ }
27
+ this.items.push(item);
28
+ return this;
29
+ }
30
+ toString() {
31
+ const sortedData = naturalOrderby.orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ["desc", "desc"]);
32
+ return sortedData.filter(({ enabled = true }) => enabled).reduce((acc, { name, type, required = true, ...rest }) => {
33
+ if (!name) {
34
+ acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
35
+ return acc;
36
+ }
37
+ const parameterName = name.startsWith("{") ? name : chunkXDHI63G7_cjs.camelCase(name);
38
+ if (type) {
39
+ if (required) {
40
+ acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
41
+ } else {
42
+ acc.push(`${parameterName}?: ${type}`);
43
+ }
44
+ } else {
45
+ acc.push(`${parameterName}`);
46
+ }
47
+ return acc;
48
+ }, []).join(", ");
49
+ }
50
+ };
51
+
52
+ // src/utils/promise.ts
53
+ chunkWZQO3EPM_cjs.init_cjs_shims();
54
+ function isPromise(result) {
55
+ return !!result && typeof result?.then === "function";
56
+ }
57
+ function isPromiseFulfilledResult(result) {
58
+ return result.status === "fulfilled";
59
+ }
60
+ function isPromiseRejectedResult(result) {
61
+ return result.status === "rejected";
62
+ }
63
+
64
+ // src/utils/renderTemplate.ts
65
+ chunkWZQO3EPM_cjs.init_cjs_shims();
66
+ function renderTemplate(template, data = void 0) {
67
+ if (!data || !Object.keys(data).length) {
68
+ return template.replace(/{{(.*?)}}/g, "");
69
+ }
70
+ const matches = template.match(/{{(.*?)}}/g);
71
+ return matches?.reduce((prev, curr) => {
72
+ const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim();
73
+ if (index === void 0) {
74
+ return prev;
75
+ }
76
+ const value = data[index];
77
+ if (value === void 0) {
78
+ return prev;
79
+ }
80
+ return prev.replace(curr, () => {
81
+ if (typeof value === "boolean") {
82
+ return `${value.toString()}` || "false";
83
+ }
84
+ return value || "";
85
+ }).trim();
86
+ }, template) || "";
87
+ }
88
+
89
+ // src/utils/timeout.ts
90
+ chunkWZQO3EPM_cjs.init_cjs_shims();
91
+ async function timeout(ms) {
92
+ return new Promise((resolve) => {
93
+ setTimeout(() => {
94
+ resolve(true);
95
+ }, ms);
96
+ });
97
+ }
98
+
99
+ Object.defineProperty(exports, "URLPath", {
100
+ enumerable: true,
101
+ get: function () { return chunkH47IKRXJ_cjs.URLPath; }
102
+ });
103
+ Object.defineProperty(exports, "getUniqueName", {
104
+ enumerable: true,
105
+ get: function () { return chunkH47IKRXJ_cjs.getUniqueName; }
106
+ });
107
+ Object.defineProperty(exports, "setUniqueName", {
108
+ enumerable: true,
109
+ get: function () { return chunkH47IKRXJ_cjs.setUniqueName; }
110
+ });
111
+ exports.FunctionParams = FunctionParams;
112
+ exports.isPromise = isPromise;
113
+ exports.isPromiseFulfilledResult = isPromiseFulfilledResult;
114
+ exports.isPromiseRejectedResult = isPromiseRejectedResult;
115
+ exports.renderTemplate = renderTemplate;
116
+ exports.timeout = timeout;
117
+ //# sourceMappingURL=out.js.map
118
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,94 @@
1
+ import { PossiblePromise } from '@kubb/types';
2
+
3
+ type FunctionParamsASTWithoutType = {
4
+ name?: string;
5
+ type?: string;
6
+ /**
7
+ * @default true
8
+ */
9
+ required?: boolean;
10
+ /**
11
+ * @default true
12
+ */
13
+ enabled?: boolean;
14
+ default?: string;
15
+ };
16
+ type FunctionParamsASTWithType = {
17
+ name?: never;
18
+ type: string;
19
+ /**
20
+ * @default true
21
+ */
22
+ required?: boolean;
23
+ /**
24
+ * @default true
25
+ */
26
+ enabled?: boolean;
27
+ default?: string;
28
+ };
29
+ type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType;
30
+ declare class FunctionParams {
31
+ type?: 'generics' | 'typed';
32
+ items: FunctionParamsAST[];
33
+ constructor(type?: 'generics' | 'typed');
34
+ add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams;
35
+ toString(): string;
36
+ }
37
+
38
+ declare function isPromise<T>(result: PossiblePromise<T>): result is Promise<T>;
39
+ declare function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T>;
40
+ declare function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & {
41
+ reason: T;
42
+ };
43
+
44
+ declare function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data?: TData | undefined): string;
45
+
46
+ declare function timeout(ms: number): Promise<unknown>;
47
+
48
+ declare function getUniqueName(originalName: string, data: Record<string, number>): string;
49
+ declare function setUniqueName(originalName: string, data: Record<string, number>): string;
50
+
51
+ type URLObject = {
52
+ url: string;
53
+ params?: Record<string, string>;
54
+ };
55
+ type ObjectOptions = {
56
+ type?: 'path' | 'template';
57
+ replacer?: (pathParam: string) => string;
58
+ stringify?: boolean;
59
+ };
60
+ declare class URLPath {
61
+ path: string;
62
+ constructor(path: string);
63
+ /**
64
+ * Convert Swagger path to URLPath(syntax of Express)
65
+ * @example /pet/{petId} => /pet/:petId
66
+ */
67
+ get URL(): string;
68
+ get isURL(): boolean;
69
+ /**
70
+ * Convert Swagger path to template literals/ template strings(camelcase)
71
+ * @example /pet/{petId} => `/pet/${petId}`
72
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
73
+ * @example /account/userID => `/account/${userId}`
74
+ */
75
+ get template(): string;
76
+ get object(): URLObject | string;
77
+ get params(): Record<string, string> | undefined;
78
+ toObject({ type, replacer, stringify }?: ObjectOptions): URLObject | string;
79
+ /**
80
+ * Convert Swagger path to template literals/ template strings(camelcase)
81
+ * @example /pet/{petId} => `/pet/${petId}`
82
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
83
+ * @example /account/userID => `/account/${userId}`
84
+ */
85
+ toTemplateString(replacer?: (pathParam: string) => string): string;
86
+ getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined;
87
+ /**
88
+ * Convert Swagger path to URLPath(syntax of Express)
89
+ * @example /pet/{petId} => /pet/:petId
90
+ */
91
+ toURLPath(): string;
92
+ }
93
+
94
+ export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
@@ -0,0 +1,94 @@
1
+ import { PossiblePromise } from '@kubb/types';
2
+
3
+ type FunctionParamsASTWithoutType = {
4
+ name?: string;
5
+ type?: string;
6
+ /**
7
+ * @default true
8
+ */
9
+ required?: boolean;
10
+ /**
11
+ * @default true
12
+ */
13
+ enabled?: boolean;
14
+ default?: string;
15
+ };
16
+ type FunctionParamsASTWithType = {
17
+ name?: never;
18
+ type: string;
19
+ /**
20
+ * @default true
21
+ */
22
+ required?: boolean;
23
+ /**
24
+ * @default true
25
+ */
26
+ enabled?: boolean;
27
+ default?: string;
28
+ };
29
+ type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType;
30
+ declare class FunctionParams {
31
+ type?: 'generics' | 'typed';
32
+ items: FunctionParamsAST[];
33
+ constructor(type?: 'generics' | 'typed');
34
+ add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams;
35
+ toString(): string;
36
+ }
37
+
38
+ declare function isPromise<T>(result: PossiblePromise<T>): result is Promise<T>;
39
+ declare function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T>;
40
+ declare function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & {
41
+ reason: T;
42
+ };
43
+
44
+ declare function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data?: TData | undefined): string;
45
+
46
+ declare function timeout(ms: number): Promise<unknown>;
47
+
48
+ declare function getUniqueName(originalName: string, data: Record<string, number>): string;
49
+ declare function setUniqueName(originalName: string, data: Record<string, number>): string;
50
+
51
+ type URLObject = {
52
+ url: string;
53
+ params?: Record<string, string>;
54
+ };
55
+ type ObjectOptions = {
56
+ type?: 'path' | 'template';
57
+ replacer?: (pathParam: string) => string;
58
+ stringify?: boolean;
59
+ };
60
+ declare class URLPath {
61
+ path: string;
62
+ constructor(path: string);
63
+ /**
64
+ * Convert Swagger path to URLPath(syntax of Express)
65
+ * @example /pet/{petId} => /pet/:petId
66
+ */
67
+ get URL(): string;
68
+ get isURL(): boolean;
69
+ /**
70
+ * Convert Swagger path to template literals/ template strings(camelcase)
71
+ * @example /pet/{petId} => `/pet/${petId}`
72
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
73
+ * @example /account/userID => `/account/${userId}`
74
+ */
75
+ get template(): string;
76
+ get object(): URLObject | string;
77
+ get params(): Record<string, string> | undefined;
78
+ toObject({ type, replacer, stringify }?: ObjectOptions): URLObject | string;
79
+ /**
80
+ * Convert Swagger path to template literals/ template strings(camelcase)
81
+ * @example /pet/{petId} => `/pet/${petId}`
82
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
83
+ * @example /account/userID => `/account/${userId}`
84
+ */
85
+ toTemplateString(replacer?: (pathParam: string) => string): string;
86
+ getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined;
87
+ /**
88
+ * Convert Swagger path to URLPath(syntax of Express)
89
+ * @example /pet/{petId} => /pet/:petId
90
+ */
91
+ toURLPath(): string;
92
+ }
93
+
94
+ export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };