@kubb/core 4.2.0 → 4.2.1

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 (130) hide show
  1. package/dist/URLPath-8WVzHBnA.cjs +134 -0
  2. package/dist/URLPath-8WVzHBnA.cjs.map +1 -0
  3. package/dist/URLPath-BYceu_vY.js +117 -0
  4. package/dist/URLPath-BYceu_vY.js.map +1 -0
  5. package/dist/{acorn-DExO7r0H.cjs → acorn-BAVXZMtK.cjs} +1 -1
  6. package/dist/{acorn-DExO7r0H.cjs.map → acorn-BAVXZMtK.cjs.map} +1 -1
  7. package/dist/{acorn-B0JdnMwY.js → acorn-D-VhIOLw.js} +1 -1
  8. package/dist/{acorn-B0JdnMwY.js.map → acorn-D-VhIOLw.js.map} +1 -1
  9. package/dist/{angular-C2M8l5eL.cjs → angular-Bp0XO9db.cjs} +1 -1
  10. package/dist/{angular-C2M8l5eL.cjs.map → angular-Bp0XO9db.cjs.map} +1 -1
  11. package/dist/{angular-CmU_K35W.js → angular-Czhp4eq5.js} +1 -1
  12. package/dist/{angular-CmU_K35W.js.map → angular-Czhp4eq5.js.map} +1 -1
  13. package/dist/{babel-CfF0c5A9.js → babel-DCR_B4Qn.js} +1 -1
  14. package/dist/{babel-CfF0c5A9.js.map → babel-DCR_B4Qn.js.map} +1 -1
  15. package/dist/{babel-BKn0s9Rj.cjs → babel-NI0v59ga.cjs} +1 -1
  16. package/dist/{babel-BKn0s9Rj.cjs.map → babel-NI0v59ga.cjs.map} +1 -1
  17. package/dist/casing-BSeq_teY.js +100 -0
  18. package/dist/casing-BSeq_teY.js.map +1 -0
  19. package/dist/casing-CP-9GGdK.cjs +112 -0
  20. package/dist/casing-CP-9GGdK.cjs.map +1 -0
  21. package/dist/{estree-Br3l79C5.cjs → estree-C3BZPlpU.cjs} +1 -1
  22. package/dist/{estree-Br3l79C5.cjs.map → estree-C3BZPlpU.cjs.map} +1 -1
  23. package/dist/{estree-B_YMDsR7.js → estree-DU2NummP.js} +1 -1
  24. package/dist/{estree-B_YMDsR7.js.map → estree-DU2NummP.js.map} +1 -1
  25. package/dist/{flow-B_3vaVXc.cjs → flow-CWUBUkoi.cjs} +1 -1
  26. package/dist/{flow-B_3vaVXc.cjs.map → flow-CWUBUkoi.cjs.map} +1 -1
  27. package/dist/{flow-Dc3wao4M.js → flow-JiEbweKj.js} +1 -1
  28. package/dist/{flow-Dc3wao4M.js.map → flow-JiEbweKj.js.map} +1 -1
  29. package/dist/fs.d.cts +1 -1
  30. package/dist/fs.d.ts +1 -1
  31. package/dist/{glimmer-BF35HI3l.cjs → glimmer-CX9OqG1j.cjs} +1 -1
  32. package/dist/{glimmer-BF35HI3l.cjs.map → glimmer-CX9OqG1j.cjs.map} +1 -1
  33. package/dist/{glimmer-CwM1XZA1.js → glimmer-t9nWn9aE.js} +1 -1
  34. package/dist/{glimmer-CwM1XZA1.js.map → glimmer-t9nWn9aE.js.map} +1 -1
  35. package/dist/{graphql-KQQTidk7.js → graphql-DjErlIi5.js} +1 -1
  36. package/dist/{graphql-KQQTidk7.js.map → graphql-DjErlIi5.js.map} +1 -1
  37. package/dist/{graphql-DhaHiYrP.cjs → graphql-GOxQAKxM.cjs} +1 -1
  38. package/dist/{graphql-DhaHiYrP.cjs.map → graphql-GOxQAKxM.cjs.map} +1 -1
  39. package/dist/hooks.d.cts +3 -2
  40. package/dist/hooks.d.ts +4 -3
  41. package/dist/{html-B2QWX43c.cjs → html-CWrdYAhQ.cjs} +1 -1
  42. package/dist/{html-B2QWX43c.cjs.map → html-CWrdYAhQ.cjs.map} +1 -1
  43. package/dist/{html-DQoJX7Yj.js → html-_apcbx34.js} +1 -1
  44. package/dist/{html-DQoJX7Yj.js.map → html-_apcbx34.js.map} +1 -1
  45. package/dist/{index-BY_kka8d.d.ts → index-BTe91LHd.d.ts} +2 -2
  46. package/dist/{index-Iq8NJRgc.d.cts → index-BmQIxvw0.d.cts} +2 -2
  47. package/dist/index.cjs +378 -22
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +37 -4
  50. package/dist/index.d.ts +38 -5
  51. package/dist/index.js +371 -15
  52. package/dist/index.js.map +1 -1
  53. package/dist/{logger-BkGPbocD.d.ts → logger-BA-za85-.d.ts} +1 -1
  54. package/dist/{logger-S_t55o9n.cjs → logger-BXL0YCrv.cjs} +2 -2
  55. package/dist/{logger-S_t55o9n.cjs.map → logger-BXL0YCrv.cjs.map} +1 -1
  56. package/dist/{logger-CsQ2EGpR.js → logger-CDxSrFkR.js} +2 -2
  57. package/dist/{logger-CsQ2EGpR.js.map → logger-CDxSrFkR.js.map} +1 -1
  58. package/dist/logger.cjs +1 -1
  59. package/dist/logger.d.ts +1 -1
  60. package/dist/logger.js +1 -1
  61. package/dist/{markdown-CDf4HsAQ.js → markdown-ckUc3Q6q.js} +1 -1
  62. package/dist/{markdown-CDf4HsAQ.js.map → markdown-ckUc3Q6q.js.map} +1 -1
  63. package/dist/{markdown-HXmAlxeH.cjs → markdown-pzqiRmft.cjs} +1 -1
  64. package/dist/{markdown-HXmAlxeH.cjs.map → markdown-pzqiRmft.cjs.map} +1 -1
  65. package/dist/{meriyah-D8fyVkyI.js → meriyah-BjnGqpUs.js} +1 -1
  66. package/dist/{meriyah-D8fyVkyI.js.map → meriyah-BjnGqpUs.js.map} +1 -1
  67. package/dist/{meriyah-CWoiYjq_.cjs → meriyah-D_x7itbT.cjs} +1 -1
  68. package/dist/{meriyah-CWoiYjq_.cjs.map → meriyah-D_x7itbT.cjs.map} +1 -1
  69. package/dist/mocks.cjs +24 -24
  70. package/dist/mocks.cjs.map +1 -1
  71. package/dist/mocks.d.cts +3 -2
  72. package/dist/mocks.d.ts +4 -3
  73. package/dist/mocks.js +19 -20
  74. package/dist/mocks.js.map +1 -1
  75. package/dist/{postcss-bESf1Yzf.cjs → postcss-B_c2wbFu.cjs} +1 -1
  76. package/dist/{postcss-bESf1Yzf.cjs.map → postcss-B_c2wbFu.cjs.map} +1 -1
  77. package/dist/{postcss-Dqh1XvaI.js → postcss-v7BP6SZ-.js} +1 -1
  78. package/dist/{postcss-Dqh1XvaI.js.map → postcss-v7BP6SZ-.js.map} +1 -1
  79. package/dist/{prompt-C5GR2LPU.js → prompt-DBVnG4Me.js} +1 -1
  80. package/dist/{prompt-C5GR2LPU.js.map → prompt-DBVnG4Me.js.map} +1 -1
  81. package/dist/{prompt-ZBXNC-aV.cjs → prompt-DgONOpPH.cjs} +1 -1
  82. package/dist/{prompt-ZBXNC-aV.cjs.map → prompt-DgONOpPH.cjs.map} +1 -1
  83. package/dist/{transformers-BIx7CVmw.cjs → transformers-BH0KLJJP.cjs} +119 -228
  84. package/dist/transformers-BH0KLJJP.cjs.map +1 -0
  85. package/dist/{transformers-5BubQvcu.js → transformers-DzHGqYO2.js} +118 -215
  86. package/dist/transformers-DzHGqYO2.js.map +1 -0
  87. package/dist/transformers.cjs +4 -3
  88. package/dist/transformers.js +2 -1
  89. package/dist/types-BzI9JlV8.d.ts +5 -0
  90. package/dist/types-C3ea5qNG.d.cts +5 -0
  91. package/dist/{types-IOE1JAFC.d.cts → types-DNxlynJr.d.cts} +11 -70
  92. package/dist/{types-DtokChaW.d.ts → types-DPeNK0FO.d.ts} +12 -71
  93. package/dist/{typescript-BYxryL2A.cjs → typescript-6kMN6Wqz.cjs} +1 -1
  94. package/dist/{typescript-BYxryL2A.cjs.map → typescript-6kMN6Wqz.cjs.map} +1 -1
  95. package/dist/{typescript-B7n7vRma.js → typescript-B_IBfKSe.js} +1 -1
  96. package/dist/{typescript-B7n7vRma.js.map → typescript-B_IBfKSe.js.map} +1 -1
  97. package/dist/typescript-C5hce4HG.cjs +4 -0
  98. package/dist/typescript-Cas1XcNz.js +3 -0
  99. package/dist/utils.cjs +165 -20
  100. package/dist/utils.cjs.map +1 -0
  101. package/dist/utils.d.cts +136 -5
  102. package/dist/utils.d.ts +136 -5
  103. package/dist/utils.js +156 -5
  104. package/dist/utils.js.map +1 -0
  105. package/dist/{yaml-BMiF8MYP.js → yaml-BfWM_B73.js} +1 -1
  106. package/dist/{yaml-BMiF8MYP.js.map → yaml-BfWM_B73.js.map} +1 -1
  107. package/dist/{yaml-DQCs4b_O.cjs → yaml-DZs6MhV1.cjs} +1 -1
  108. package/dist/{yaml-DQCs4b_O.cjs.map → yaml-DZs6MhV1.cjs.map} +1 -1
  109. package/package.json +3 -3
  110. package/src/FileManager.ts +34 -302
  111. package/src/PluginManager.ts +9 -8
  112. package/src/__snapshots__/barrel.json +5 -5
  113. package/src/build.ts +19 -5
  114. package/src/index.ts +1 -2
  115. package/src/mocks/index.ts +4 -3
  116. package/src/plugin.ts +1 -1
  117. package/src/types.ts +4 -1
  118. package/src/utils/TreeNode.ts +3 -3
  119. package/src/utils/index.ts +2 -4
  120. package/dist/FileManager-DlkY9W5A.cjs +0 -1001
  121. package/dist/FileManager-DlkY9W5A.cjs.map +0 -1
  122. package/dist/FileManager-zlhCXf6A.js +0 -879
  123. package/dist/FileManager-zlhCXf6A.js.map +0 -1
  124. package/dist/index-CYcjcRdj.d.ts +0 -179
  125. package/dist/index-DaYv9bst.d.cts +0 -179
  126. package/dist/transformers-5BubQvcu.js.map +0 -1
  127. package/dist/transformers-BIx7CVmw.cjs.map +0 -1
  128. package/dist/typescript-CIdP4XPm.js +0 -3
  129. package/dist/typescript-CbuCkdxv.cjs +0 -4
  130. package/src/utils/parser.ts +0 -199
@@ -0,0 +1,4 @@
1
+ const require_typescript = require('./typescript-6kMN6Wqz.cjs');
2
+
3
+ exports.default = require_typescript.r9;
4
+ exports.parsers = require_typescript.md;
@@ -0,0 +1,3 @@
1
+ import { n as r9, t as md } from "./typescript-B_IBfKSe.js";
2
+
3
+ export { r9 as default, md as parsers };
package/dist/utils.cjs CHANGED
@@ -1,21 +1,166 @@
1
- require('./fs-RSVoUw3S.cjs');
2
- require('./write-BJfM7G1_.cjs');
3
- require('./transformers-BIx7CVmw.cjs');
4
- const require_FileManager = require('./FileManager-DlkY9W5A.cjs');
1
+ const require_chunk = require('./chunk-CZg_9w7l.cjs');
2
+ const require_transformers = require('./transformers-BH0KLJJP.cjs');
3
+ const require_URLPath = require('./URLPath-8WVzHBnA.cjs');
4
+ const require_casing = require('./casing-CP-9GGdK.cjs');
5
5
 
6
- exports.Cache = require_FileManager.Cache;
7
- exports.FunctionParams = require_FileManager.FunctionParams;
8
- exports.URLPath = require_FileManager.URLPath;
9
- exports.createFile = require_FileManager.createFile;
10
- exports.createFileExport = require_FileManager.createFileExport;
11
- exports.createFileImport = require_FileManager.createFileImport;
12
- exports.createFileParser = require_FileManager.createFileParser;
13
- exports.getDefaultBanner = require_FileManager.getDefaultBanner;
14
- exports.getFileParser = require_FileManager.getFileParser;
15
- exports.getUniqueName = require_FileManager.getUniqueName;
16
- exports.isPromise = require_FileManager.isPromise;
17
- exports.isPromiseFulfilledResult = require_FileManager.isPromiseFulfilledResult;
18
- exports.isPromiseRejectedResult = require_FileManager.isPromiseRejectedResult;
19
- exports.renderTemplate = require_FileManager.renderTemplate;
20
- exports.setUniqueName = require_FileManager.setUniqueName;
21
- exports.timeout = require_FileManager.timeout;
6
+ //#region src/utils/Cache.ts
7
+ var Cache = class {
8
+ #buffer = /* @__PURE__ */ new Map();
9
+ async get(key) {
10
+ return this.#buffer.get(key) ?? null;
11
+ }
12
+ async set(key, value) {
13
+ this.#buffer.set(key, value);
14
+ }
15
+ async delete(key) {
16
+ this.#buffer.delete(key);
17
+ }
18
+ async clear() {
19
+ this.#buffer.clear();
20
+ }
21
+ async keys() {
22
+ return [...this.#buffer.keys()];
23
+ }
24
+ async values() {
25
+ return [...this.#buffer.values()];
26
+ }
27
+ async flush() {}
28
+ };
29
+
30
+ //#endregion
31
+ //#region src/utils/FunctionParams.ts
32
+ var import_main = /* @__PURE__ */ require_chunk.__toESM(require_transformers.require_main(), 1);
33
+ /**
34
+ * @deprecated
35
+ */
36
+ var FunctionParams = class FunctionParams {
37
+ #items = [];
38
+ constructor() {
39
+ return this;
40
+ }
41
+ get items() {
42
+ return this.#items.flat();
43
+ }
44
+ add(item) {
45
+ if (!item) return this;
46
+ if (Array.isArray(item)) {
47
+ item.filter(Boolean).forEach((it) => {
48
+ this.#items.push(it);
49
+ });
50
+ return this;
51
+ }
52
+ this.#items.push(item);
53
+ return this;
54
+ }
55
+ static #orderItems(items) {
56
+ return (0, import_main.orderBy)(items.filter(Boolean), [(v) => {
57
+ if (Array.isArray(v)) return;
58
+ return !v.default;
59
+ }, (v) => {
60
+ if (Array.isArray(v)) return;
61
+ return v.required ?? true;
62
+ }], ["desc", "desc"]);
63
+ }
64
+ static #addParams(acc, item) {
65
+ const { enabled = true, name, type, required = true,...rest } = item;
66
+ if (!enabled) return acc;
67
+ if (!name) {
68
+ acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
69
+ return acc;
70
+ }
71
+ const parameterName = name.startsWith("{") ? name : require_casing.camelCase(name);
72
+ if (type) if (required) acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
73
+ else acc.push(`${parameterName}?: ${type}`);
74
+ else acc.push(`${parameterName}`);
75
+ return acc;
76
+ }
77
+ static toObject(items) {
78
+ let type = [];
79
+ let name = [];
80
+ const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true;
81
+ const required = items.every((item) => item.required) ?? true;
82
+ items.forEach((item) => {
83
+ name = FunctionParams.#addParams(name, {
84
+ ...item,
85
+ type: void 0
86
+ });
87
+ if (items.some((item$1) => item$1.type)) type = FunctionParams.#addParams(type, item);
88
+ });
89
+ return {
90
+ name: `{ ${name.join(", ")} }`,
91
+ type: type.length ? `{ ${type.join("; ")} }` : void 0,
92
+ enabled,
93
+ required
94
+ };
95
+ }
96
+ static toString(items) {
97
+ return FunctionParams.#orderItems(items).reduce((acc, item) => {
98
+ if (Array.isArray(item)) {
99
+ if (item.length <= 0) return acc;
100
+ const subItems = FunctionParams.#orderItems(item);
101
+ const objectItem = FunctionParams.toObject(subItems);
102
+ return FunctionParams.#addParams(acc, objectItem);
103
+ }
104
+ return FunctionParams.#addParams(acc, item);
105
+ }, []).join(", ");
106
+ }
107
+ toObject() {
108
+ const items = FunctionParams.#orderItems(this.#items).flat();
109
+ return FunctionParams.toObject(items);
110
+ }
111
+ toString() {
112
+ const items = FunctionParams.#orderItems(this.#items);
113
+ return FunctionParams.toString(items);
114
+ }
115
+ };
116
+
117
+ //#endregion
118
+ //#region src/utils/promise.ts
119
+ function isPromise(result) {
120
+ return !!result && typeof result?.then === "function";
121
+ }
122
+ function isPromiseFulfilledResult(result) {
123
+ return result.status === "fulfilled";
124
+ }
125
+ function isPromiseRejectedResult(result) {
126
+ return result.status === "rejected";
127
+ }
128
+
129
+ //#endregion
130
+ //#region src/utils/renderTemplate.ts
131
+ function renderTemplate(template, data = void 0) {
132
+ if (!data || !Object.keys(data).length) return template.replace(/{{(.*?)}}/g, "");
133
+ return template.match(/{{(.*?)}}/g)?.reduce((prev, curr) => {
134
+ const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim();
135
+ if (index === void 0) return prev;
136
+ const value = data[index];
137
+ if (value === void 0) return prev;
138
+ return prev.replace(curr, () => {
139
+ if (typeof value === "boolean") return `${value.toString()}` || "false";
140
+ return value || "";
141
+ }).trim();
142
+ }, template) || "";
143
+ }
144
+
145
+ //#endregion
146
+ //#region src/utils/timeout.ts
147
+ async function timeout(ms) {
148
+ return new Promise((resolve) => {
149
+ setTimeout(() => {
150
+ resolve(true);
151
+ }, ms);
152
+ });
153
+ }
154
+
155
+ //#endregion
156
+ exports.Cache = Cache;
157
+ exports.FunctionParams = FunctionParams;
158
+ exports.URLPath = require_URLPath.URLPath;
159
+ exports.getUniqueName = require_URLPath.getUniqueName;
160
+ exports.isPromise = isPromise;
161
+ exports.isPromiseFulfilledResult = isPromiseFulfilledResult;
162
+ exports.isPromiseRejectedResult = isPromiseRejectedResult;
163
+ exports.renderTemplate = renderTemplate;
164
+ exports.setUniqueName = require_URLPath.setUniqueName;
165
+ exports.timeout = timeout;
166
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","names":["#buffer","#items","#orderItems","#addParams","camelCase","type: string[]","name: string[]","item"],"sources":["../src/utils/Cache.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n async get(key: string): Promise<T | null> {\n return this.#buffer.get(key) ?? null\n }\n\n async set(key: string, value: T): Promise<void> {\n this.#buffer.set(key, value)\n }\n\n async delete(key: string): Promise<void> {\n this.#buffer.delete(key)\n }\n\n async clear(): Promise<void> {\n this.#buffer.clear()\n }\n\n async keys(): Promise<string[]> {\n return [...this.#buffer.keys()]\n }\n\n async values(): Promise<T[]> {\n return [...this.#buffer.values()]\n }\n\n async flush(): Promise<void> {\n // No-op for base cache\n }\n}\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/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => {\n this.#items.push(it)\n })\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\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 }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from './types.ts'\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"],"mappings":"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"}
package/dist/utils.d.cts CHANGED
@@ -1,5 +1,136 @@
1
- import "./index-Iq8NJRgc.cjs";
2
- import "./logger-DpoDtxfo.cjs";
3
- import "./types-IOE1JAFC.cjs";
4
- import { _ as isPromiseRejectedResult, a as createFileImport, c as getFileParser, d as getUniqueName, f as setUniqueName, g as isPromiseFulfilledResult, h as isPromise, i as createFileExport, l as URLObject, m as renderTemplate, n as ParserModule, o as createFileParser, p as timeout, r as createFile, s as getDefaultBanner, t as Cache, u as URLPath, v as FunctionParams, y as FunctionParamsAST } from "./index-DaYv9bst.cjs";
5
- export { Cache, FunctionParams, FunctionParamsAST, ParserModule, URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
1
+ import { t as PossiblePromise } from "./types-C3ea5qNG.cjs";
2
+
3
+ //#region src/utils/Cache.d.ts
4
+ declare class Cache<T> {
5
+ #private;
6
+ get(key: string): Promise<T | null>;
7
+ set(key: string, value: T): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ clear(): Promise<void>;
10
+ keys(): Promise<string[]>;
11
+ values(): Promise<T[]>;
12
+ flush(): Promise<void>;
13
+ }
14
+ //#endregion
15
+ //#region src/utils/FunctionParams.d.ts
16
+ type FunctionParamsASTWithoutType = {
17
+ name?: string;
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 FunctionParamsASTWithType = {
30
+ name?: never;
31
+ type: string;
32
+ /**
33
+ * @default true
34
+ */
35
+ required?: boolean;
36
+ /**
37
+ * @default true
38
+ */
39
+ enabled?: boolean;
40
+ default?: string;
41
+ };
42
+ /**
43
+ * @deprecated
44
+ */
45
+ type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType;
46
+ /**
47
+ * @deprecated
48
+ */
49
+ declare class FunctionParams {
50
+ #private;
51
+ constructor();
52
+ get items(): FunctionParamsAST[];
53
+ add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams;
54
+ static toObject(items: FunctionParamsAST[]): FunctionParamsAST;
55
+ static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string;
56
+ toObject(): FunctionParamsAST;
57
+ toString(): string;
58
+ }
59
+ //#endregion
60
+ //#region src/utils/promise.d.ts
61
+ declare function isPromise<T>(result: PossiblePromise<T>): result is Promise<T>;
62
+ declare function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T>;
63
+ declare function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & {
64
+ reason: T;
65
+ };
66
+ //#endregion
67
+ //#region src/utils/renderTemplate.d.ts
68
+ declare function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data?: TData | undefined): string;
69
+ //#endregion
70
+ //#region src/utils/timeout.d.ts
71
+ declare function timeout(ms: number): Promise<unknown>;
72
+ //#endregion
73
+ //#region src/utils/URLPath.d.ts
74
+ type URLObject = {
75
+ url: string;
76
+ params?: Record<string, string>;
77
+ };
78
+ type ObjectOptions = {
79
+ type?: 'path' | 'template';
80
+ replacer?: (pathParam: string) => string;
81
+ stringify?: boolean;
82
+ };
83
+ type Options = {
84
+ casing?: 'camelcase';
85
+ };
86
+ declare class URLPath {
87
+ #private;
88
+ path: string;
89
+ constructor(path: string, options?: Options);
90
+ /**
91
+ * Convert Swagger path to URLPath(syntax of Express)
92
+ * @example /pet/{petId} => /pet/:petId
93
+ */
94
+ get URL(): string;
95
+ get isURL(): boolean;
96
+ /**
97
+ * Convert Swagger path to template literals/ template strings(camelcase)
98
+ * @example /pet/{petId} => `/pet/${petId}`
99
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
100
+ * @example /account/userID => `/account/${userId}`
101
+ */
102
+ get template(): string;
103
+ get object(): URLObject | string;
104
+ get params(): Record<string, string> | undefined;
105
+ toObject({
106
+ type,
107
+ replacer,
108
+ stringify
109
+ }?: ObjectOptions): URLObject | string;
110
+ /**
111
+ * Convert Swagger path to template literals/ template strings(camelcase)
112
+ * @example /pet/{petId} => `/pet/${petId}`
113
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
114
+ * @example /account/userID => `/account/${userId}`
115
+ */
116
+ toTemplateString({
117
+ prefix,
118
+ replacer
119
+ }?: {
120
+ prefix?: string;
121
+ replacer?: (pathParam: string) => string;
122
+ }): string;
123
+ getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined;
124
+ /**
125
+ * Convert Swagger path to URLPath(syntax of Express)
126
+ * @example /pet/{petId} => /pet/:petId
127
+ */
128
+ toURLPath(): string;
129
+ }
130
+ //#endregion
131
+ //#region src/utils/uniqueName.d.ts
132
+ declare function getUniqueName(originalName: string, data: Record<string, number>): string;
133
+ declare function setUniqueName(originalName: string, data: Record<string, number>): string;
134
+ //#endregion
135
+ export { Cache, FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
136
+ //# sourceMappingURL=utils.d.cts.map
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,136 @@
1
- import "./index-BY_kka8d.js";
2
- import "./logger-BkGPbocD.js";
3
- import "./types-DtokChaW.js";
4
- import { _ as isPromiseRejectedResult, a as createFileImport, c as getFileParser, d as getUniqueName, f as setUniqueName, g as isPromiseFulfilledResult, h as isPromise, i as createFileExport, l as URLObject, m as renderTemplate, n as ParserModule, o as createFileParser, p as timeout, r as createFile, s as getDefaultBanner, t as Cache, u as URLPath, v as FunctionParams, y as FunctionParamsAST } from "./index-CYcjcRdj.js";
5
- export { Cache, FunctionParams, FunctionParamsAST, ParserModule, URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
1
+ import { t as PossiblePromise } from "./types-BzI9JlV8.js";
2
+
3
+ //#region src/utils/Cache.d.ts
4
+ declare class Cache<T> {
5
+ #private;
6
+ get(key: string): Promise<T | null>;
7
+ set(key: string, value: T): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ clear(): Promise<void>;
10
+ keys(): Promise<string[]>;
11
+ values(): Promise<T[]>;
12
+ flush(): Promise<void>;
13
+ }
14
+ //#endregion
15
+ //#region src/utils/FunctionParams.d.ts
16
+ type FunctionParamsASTWithoutType = {
17
+ name?: string;
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 FunctionParamsASTWithType = {
30
+ name?: never;
31
+ type: string;
32
+ /**
33
+ * @default true
34
+ */
35
+ required?: boolean;
36
+ /**
37
+ * @default true
38
+ */
39
+ enabled?: boolean;
40
+ default?: string;
41
+ };
42
+ /**
43
+ * @deprecated
44
+ */
45
+ type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType;
46
+ /**
47
+ * @deprecated
48
+ */
49
+ declare class FunctionParams {
50
+ #private;
51
+ constructor();
52
+ get items(): FunctionParamsAST[];
53
+ add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams;
54
+ static toObject(items: FunctionParamsAST[]): FunctionParamsAST;
55
+ static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string;
56
+ toObject(): FunctionParamsAST;
57
+ toString(): string;
58
+ }
59
+ //#endregion
60
+ //#region src/utils/promise.d.ts
61
+ declare function isPromise<T>(result: PossiblePromise<T>): result is Promise<T>;
62
+ declare function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T>;
63
+ declare function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & {
64
+ reason: T;
65
+ };
66
+ //#endregion
67
+ //#region src/utils/renderTemplate.d.ts
68
+ declare function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data?: TData | undefined): string;
69
+ //#endregion
70
+ //#region src/utils/timeout.d.ts
71
+ declare function timeout(ms: number): Promise<unknown>;
72
+ //#endregion
73
+ //#region src/utils/URLPath.d.ts
74
+ type URLObject = {
75
+ url: string;
76
+ params?: Record<string, string>;
77
+ };
78
+ type ObjectOptions = {
79
+ type?: 'path' | 'template';
80
+ replacer?: (pathParam: string) => string;
81
+ stringify?: boolean;
82
+ };
83
+ type Options = {
84
+ casing?: 'camelcase';
85
+ };
86
+ declare class URLPath {
87
+ #private;
88
+ path: string;
89
+ constructor(path: string, options?: Options);
90
+ /**
91
+ * Convert Swagger path to URLPath(syntax of Express)
92
+ * @example /pet/{petId} => /pet/:petId
93
+ */
94
+ get URL(): string;
95
+ get isURL(): boolean;
96
+ /**
97
+ * Convert Swagger path to template literals/ template strings(camelcase)
98
+ * @example /pet/{petId} => `/pet/${petId}`
99
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
100
+ * @example /account/userID => `/account/${userId}`
101
+ */
102
+ get template(): string;
103
+ get object(): URLObject | string;
104
+ get params(): Record<string, string> | undefined;
105
+ toObject({
106
+ type,
107
+ replacer,
108
+ stringify
109
+ }?: ObjectOptions): URLObject | string;
110
+ /**
111
+ * Convert Swagger path to template literals/ template strings(camelcase)
112
+ * @example /pet/{petId} => `/pet/${petId}`
113
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
114
+ * @example /account/userID => `/account/${userId}`
115
+ */
116
+ toTemplateString({
117
+ prefix,
118
+ replacer
119
+ }?: {
120
+ prefix?: string;
121
+ replacer?: (pathParam: string) => string;
122
+ }): string;
123
+ getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined;
124
+ /**
125
+ * Convert Swagger path to URLPath(syntax of Express)
126
+ * @example /pet/{petId} => /pet/:petId
127
+ */
128
+ toURLPath(): string;
129
+ }
130
+ //#endregion
131
+ //#region src/utils/uniqueName.d.ts
132
+ declare function getUniqueName(originalName: string, data: Record<string, number>): string;
133
+ declare function setUniqueName(originalName: string, data: Record<string, number>): string;
134
+ //#endregion
135
+ export { Cache, FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
136
+ //# sourceMappingURL=utils.d.ts.map
package/dist/utils.js CHANGED
@@ -1,6 +1,157 @@
1
- import "./fs-BIPMUfpW.js";
2
- import "./write-CxO1CDML.js";
3
- import "./transformers-5BubQvcu.js";
4
- import { _ as isPromiseRejectedResult, a as createFileExport, c as getDefaultBanner, d as getUniqueName, f as setUniqueName, g as isPromiseFulfilledResult, h as isPromise, i as createFile, l as getFileParser, m as renderTemplate, o as createFileImport, p as timeout, r as Cache, s as createFileParser, u as URLPath, v as FunctionParams } from "./FileManager-zlhCXf6A.js";
1
+ import { r as __toESM } from "./chunk-1SJ2vVWa.js";
2
+ import { m as require_main } from "./transformers-DzHGqYO2.js";
3
+ import { n as getUniqueName, r as setUniqueName, t as URLPath } from "./URLPath-BYceu_vY.js";
4
+ import { t as camelCase } from "./casing-BSeq_teY.js";
5
5
 
6
- export { Cache, FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
6
+ //#region src/utils/Cache.ts
7
+ var Cache = class {
8
+ #buffer = /* @__PURE__ */ new Map();
9
+ async get(key) {
10
+ return this.#buffer.get(key) ?? null;
11
+ }
12
+ async set(key, value) {
13
+ this.#buffer.set(key, value);
14
+ }
15
+ async delete(key) {
16
+ this.#buffer.delete(key);
17
+ }
18
+ async clear() {
19
+ this.#buffer.clear();
20
+ }
21
+ async keys() {
22
+ return [...this.#buffer.keys()];
23
+ }
24
+ async values() {
25
+ return [...this.#buffer.values()];
26
+ }
27
+ async flush() {}
28
+ };
29
+
30
+ //#endregion
31
+ //#region src/utils/FunctionParams.ts
32
+ var import_main = /* @__PURE__ */ __toESM(require_main(), 1);
33
+ /**
34
+ * @deprecated
35
+ */
36
+ var FunctionParams = class FunctionParams {
37
+ #items = [];
38
+ constructor() {
39
+ return this;
40
+ }
41
+ get items() {
42
+ return this.#items.flat();
43
+ }
44
+ add(item) {
45
+ if (!item) return this;
46
+ if (Array.isArray(item)) {
47
+ item.filter(Boolean).forEach((it) => {
48
+ this.#items.push(it);
49
+ });
50
+ return this;
51
+ }
52
+ this.#items.push(item);
53
+ return this;
54
+ }
55
+ static #orderItems(items) {
56
+ return (0, import_main.orderBy)(items.filter(Boolean), [(v) => {
57
+ if (Array.isArray(v)) return;
58
+ return !v.default;
59
+ }, (v) => {
60
+ if (Array.isArray(v)) return;
61
+ return v.required ?? true;
62
+ }], ["desc", "desc"]);
63
+ }
64
+ static #addParams(acc, item) {
65
+ const { enabled = true, name, type, required = true,...rest } = item;
66
+ if (!enabled) return acc;
67
+ if (!name) {
68
+ acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
69
+ return acc;
70
+ }
71
+ const parameterName = name.startsWith("{") ? name : camelCase(name);
72
+ if (type) if (required) acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
73
+ else acc.push(`${parameterName}?: ${type}`);
74
+ else acc.push(`${parameterName}`);
75
+ return acc;
76
+ }
77
+ static toObject(items) {
78
+ let type = [];
79
+ let name = [];
80
+ const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true;
81
+ const required = items.every((item) => item.required) ?? true;
82
+ items.forEach((item) => {
83
+ name = FunctionParams.#addParams(name, {
84
+ ...item,
85
+ type: void 0
86
+ });
87
+ if (items.some((item$1) => item$1.type)) type = FunctionParams.#addParams(type, item);
88
+ });
89
+ return {
90
+ name: `{ ${name.join(", ")} }`,
91
+ type: type.length ? `{ ${type.join("; ")} }` : void 0,
92
+ enabled,
93
+ required
94
+ };
95
+ }
96
+ static toString(items) {
97
+ return FunctionParams.#orderItems(items).reduce((acc, item) => {
98
+ if (Array.isArray(item)) {
99
+ if (item.length <= 0) return acc;
100
+ const subItems = FunctionParams.#orderItems(item);
101
+ const objectItem = FunctionParams.toObject(subItems);
102
+ return FunctionParams.#addParams(acc, objectItem);
103
+ }
104
+ return FunctionParams.#addParams(acc, item);
105
+ }, []).join(", ");
106
+ }
107
+ toObject() {
108
+ const items = FunctionParams.#orderItems(this.#items).flat();
109
+ return FunctionParams.toObject(items);
110
+ }
111
+ toString() {
112
+ const items = FunctionParams.#orderItems(this.#items);
113
+ return FunctionParams.toString(items);
114
+ }
115
+ };
116
+
117
+ //#endregion
118
+ //#region src/utils/promise.ts
119
+ function isPromise(result) {
120
+ return !!result && typeof result?.then === "function";
121
+ }
122
+ function isPromiseFulfilledResult(result) {
123
+ return result.status === "fulfilled";
124
+ }
125
+ function isPromiseRejectedResult(result) {
126
+ return result.status === "rejected";
127
+ }
128
+
129
+ //#endregion
130
+ //#region src/utils/renderTemplate.ts
131
+ function renderTemplate(template, data = void 0) {
132
+ if (!data || !Object.keys(data).length) return template.replace(/{{(.*?)}}/g, "");
133
+ return template.match(/{{(.*?)}}/g)?.reduce((prev, curr) => {
134
+ const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim();
135
+ if (index === void 0) return prev;
136
+ const value = data[index];
137
+ if (value === void 0) return prev;
138
+ return prev.replace(curr, () => {
139
+ if (typeof value === "boolean") return `${value.toString()}` || "false";
140
+ return value || "";
141
+ }).trim();
142
+ }, template) || "";
143
+ }
144
+
145
+ //#endregion
146
+ //#region src/utils/timeout.ts
147
+ async function timeout(ms) {
148
+ return new Promise((resolve) => {
149
+ setTimeout(() => {
150
+ resolve(true);
151
+ }, ms);
152
+ });
153
+ }
154
+
155
+ //#endregion
156
+ export { Cache, FunctionParams, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
157
+ //# sourceMappingURL=utils.js.map