@kubb/core 4.1.4 → 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 (149) 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-Cg_eXN51.cjs → acorn-BAVXZMtK.cjs} +17 -21
  6. package/dist/{acorn-Cg_eXN51.cjs.map → acorn-BAVXZMtK.cjs.map} +1 -1
  7. package/dist/{acorn-Z0oy0vSt.js → acorn-D-VhIOLw.js} +17 -21
  8. package/dist/{acorn-Z0oy0vSt.js.map → acorn-D-VhIOLw.js.map} +1 -1
  9. package/dist/{angular-nBly58h0.cjs → angular-Bp0XO9db.cjs} +24 -29
  10. package/dist/{angular-nBly58h0.cjs.map → angular-Bp0XO9db.cjs.map} +1 -1
  11. package/dist/{angular-BUlb_iaU.js → angular-Czhp4eq5.js} +24 -29
  12. package/dist/{angular-BUlb_iaU.js.map → angular-Czhp4eq5.js.map} +1 -1
  13. package/dist/{babel-DfXTN9QX.js → babel-DCR_B4Qn.js} +27 -37
  14. package/dist/{babel-DfXTN9QX.js.map → babel-DCR_B4Qn.js.map} +1 -1
  15. package/dist/{babel-5qXjvTGO.cjs → babel-NI0v59ga.cjs} +27 -37
  16. package/dist/{babel-5qXjvTGO.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/{chunk-kPDogv7o.js → chunk-1SJ2vVWa.js} +1 -1
  22. package/dist/{estree-DyiFjXDy.cjs → estree-C3BZPlpU.cjs} +49 -64
  23. package/dist/{estree-DyiFjXDy.cjs.map → estree-C3BZPlpU.cjs.map} +1 -1
  24. package/dist/{estree-Bt3vRtV3.js → estree-DU2NummP.js} +49 -64
  25. package/dist/{estree-Bt3vRtV3.js.map → estree-DU2NummP.js.map} +1 -1
  26. package/dist/{flow-DdtBrX0O.cjs → flow-CWUBUkoi.cjs} +978 -1038
  27. package/dist/{flow-DdtBrX0O.cjs.map → flow-CWUBUkoi.cjs.map} +1 -1
  28. package/dist/{flow-Bb8_yYns.js → flow-JiEbweKj.js} +978 -1038
  29. package/dist/{flow-Bb8_yYns.js.map → flow-JiEbweKj.js.map} +1 -1
  30. package/dist/{fs-BNC5Fj6t.js → fs-BIPMUfpW.js} +3 -4
  31. package/dist/{fs-BNC5Fj6t.js.map → fs-BIPMUfpW.js.map} +1 -1
  32. package/dist/{fs-Bi2kuxAm.cjs → fs-RSVoUw3S.cjs} +2 -3
  33. package/dist/{fs-Bi2kuxAm.cjs.map → fs-RSVoUw3S.cjs.map} +1 -1
  34. package/dist/fs.cjs +1 -1
  35. package/dist/fs.d.cts +1 -1
  36. package/dist/fs.d.ts +1 -1
  37. package/dist/fs.js +2 -2
  38. package/dist/{glimmer-BuCRLjbI.cjs → glimmer-CX9OqG1j.cjs} +27 -41
  39. package/dist/{glimmer-BuCRLjbI.cjs.map → glimmer-CX9OqG1j.cjs.map} +1 -1
  40. package/dist/{glimmer-By8WZPkK.js → glimmer-t9nWn9aE.js} +27 -41
  41. package/dist/{glimmer-By8WZPkK.js.map → glimmer-t9nWn9aE.js.map} +1 -1
  42. package/dist/{graphql-DsrNefXx.js → graphql-DjErlIi5.js} +16 -20
  43. package/dist/{graphql-DsrNefXx.js.map → graphql-DjErlIi5.js.map} +1 -1
  44. package/dist/{graphql-TN0hv-fx.cjs → graphql-GOxQAKxM.cjs} +16 -20
  45. package/dist/{graphql-TN0hv-fx.cjs.map → graphql-GOxQAKxM.cjs.map} +1 -1
  46. package/dist/hooks.cjs +29 -0
  47. package/dist/hooks.cjs.map +1 -0
  48. package/dist/hooks.d.cts +16 -0
  49. package/dist/hooks.d.ts +16 -0
  50. package/dist/hooks.js +25 -0
  51. package/dist/hooks.js.map +1 -0
  52. package/dist/{html-1W4-2_9J.cjs → html-CWrdYAhQ.cjs} +26 -27
  53. package/dist/{html-1W4-2_9J.cjs.map → html-CWrdYAhQ.cjs.map} +1 -1
  54. package/dist/{html-Y5KDc150.js → html-_apcbx34.js} +26 -27
  55. package/dist/{html-Y5KDc150.js.map → html-_apcbx34.js.map} +1 -1
  56. package/dist/{index-CGJ3tdk-.d.ts → index-BTe91LHd.d.ts} +7 -2
  57. package/dist/{index-CWX6_-da.d.cts → index-BmQIxvw0.d.cts} +5 -2
  58. package/dist/index.cjs +383 -30
  59. package/dist/index.cjs.map +1 -1
  60. package/dist/index.d.cts +43 -10
  61. package/dist/index.d.ts +43 -10
  62. package/dist/index.js +376 -23
  63. package/dist/index.js.map +1 -1
  64. package/dist/{logger-OWS6fqk0.d.cts → logger-BA-za85-.d.ts} +2 -2
  65. package/dist/{logger-DBJsdlpZ.cjs → logger-BXL0YCrv.cjs} +8 -12
  66. package/dist/{logger-DBJsdlpZ.cjs.map → logger-BXL0YCrv.cjs.map} +1 -1
  67. package/dist/{logger-BKPT4rkB.js → logger-CDxSrFkR.js} +10 -14
  68. package/dist/{logger-BKPT4rkB.js.map → logger-CDxSrFkR.js.map} +1 -1
  69. package/dist/{logger-B-4AXUmB.d.ts → logger-DpoDtxfo.d.cts} +2 -2
  70. package/dist/logger.cjs +1 -1
  71. package/dist/logger.d.cts +1 -1
  72. package/dist/logger.d.ts +1 -1
  73. package/dist/logger.js +2 -2
  74. package/dist/{markdown-Drl4Cbq5.js → markdown-ckUc3Q6q.js} +25 -29
  75. package/dist/{markdown-Drl4Cbq5.js.map → markdown-ckUc3Q6q.js.map} +1 -1
  76. package/dist/{markdown-Bltb-uzO.cjs → markdown-pzqiRmft.cjs} +25 -29
  77. package/dist/{markdown-Bltb-uzO.cjs.map → markdown-pzqiRmft.cjs.map} +1 -1
  78. package/dist/{meriyah-Cz9whwp-.js → meriyah-BjnGqpUs.js} +21 -29
  79. package/dist/{meriyah-Cz9whwp-.js.map → meriyah-BjnGqpUs.js.map} +1 -1
  80. package/dist/{meriyah-CdG8HPS2.cjs → meriyah-D_x7itbT.cjs} +21 -29
  81. package/dist/{meriyah-CdG8HPS2.cjs.map → meriyah-D_x7itbT.cjs.map} +1 -1
  82. package/dist/mocks.cjs +87 -144
  83. package/dist/mocks.cjs.map +1 -1
  84. package/dist/mocks.d.cts +4 -3
  85. package/dist/mocks.d.ts +4 -3
  86. package/dist/mocks.js +83 -141
  87. package/dist/mocks.js.map +1 -1
  88. package/dist/{postcss-B7n9zUIy.cjs → postcss-B_c2wbFu.cjs} +41 -54
  89. package/dist/{postcss-B7n9zUIy.cjs.map → postcss-B_c2wbFu.cjs.map} +1 -1
  90. package/dist/{postcss-Dfx_9buT.js → postcss-v7BP6SZ-.js} +41 -54
  91. package/dist/{postcss-Dfx_9buT.js.map → postcss-v7BP6SZ-.js.map} +1 -1
  92. package/dist/{prompt-BMs_Y-vT.js → prompt-DBVnG4Me.js} +30 -32
  93. package/dist/{prompt-BMs_Y-vT.js.map → prompt-DBVnG4Me.js.map} +1 -1
  94. package/dist/{prompt-BXlYKArM.cjs → prompt-DgONOpPH.cjs} +29 -31
  95. package/dist/{prompt-BXlYKArM.cjs.map → prompt-DgONOpPH.cjs.map} +1 -1
  96. package/dist/{transformers-DZ22lE-S.cjs → transformers-BH0KLJJP.cjs} +130 -248
  97. package/dist/transformers-BH0KLJJP.cjs.map +1 -0
  98. package/dist/{transformers-BllSzdDt.js → transformers-DzHGqYO2.js} +130 -236
  99. package/dist/transformers-DzHGqYO2.js.map +1 -0
  100. package/dist/transformers.cjs +4 -3
  101. package/dist/transformers.js +2 -1
  102. package/dist/types-BzI9JlV8.d.ts +5 -0
  103. package/dist/types-C3ea5qNG.d.cts +5 -0
  104. package/dist/{PluginManager-BSUDeUfP.d.ts → types-DNxlynJr.d.cts} +187 -246
  105. package/dist/{PluginManager-a3RiDAFC.d.cts → types-DPeNK0FO.d.ts} +187 -246
  106. package/dist/{typescript-Evf8GXVW.cjs → typescript-6kMN6Wqz.cjs} +100 -152
  107. package/dist/{typescript-Evf8GXVW.cjs.map → typescript-6kMN6Wqz.cjs.map} +1 -1
  108. package/dist/{typescript-C8iCxnaF.js → typescript-B_IBfKSe.js} +101 -153
  109. package/dist/{typescript-C8iCxnaF.js.map → typescript-B_IBfKSe.js.map} +1 -1
  110. package/dist/typescript-C5hce4HG.cjs +4 -0
  111. package/dist/typescript-Cas1XcNz.js +3 -0
  112. package/dist/utils.cjs +165 -20
  113. package/dist/utils.cjs.map +1 -0
  114. package/dist/utils.d.cts +136 -5
  115. package/dist/utils.d.ts +136 -5
  116. package/dist/utils.js +156 -5
  117. package/dist/utils.js.map +1 -0
  118. package/dist/{write-O9QWtBJ_.js → write-CxO1CDML.js} +2 -2
  119. package/dist/{write-O9QWtBJ_.js.map → write-CxO1CDML.js.map} +1 -1
  120. package/dist/{yaml-Bi_nSoU_.js → yaml-BfWM_B73.js} +141 -157
  121. package/dist/{yaml-Bi_nSoU_.js.map → yaml-BfWM_B73.js.map} +1 -1
  122. package/dist/{yaml-B2qeXFgu.cjs → yaml-DZs6MhV1.cjs} +141 -157
  123. package/dist/{yaml-B2qeXFgu.cjs.map → yaml-DZs6MhV1.cjs.map} +1 -1
  124. package/package.json +15 -3
  125. package/src/FileManager.ts +34 -302
  126. package/src/PluginManager.ts +9 -8
  127. package/src/__snapshots__/barrel.json +5 -5
  128. package/src/build.ts +19 -5
  129. package/src/hooks/index.ts +3 -0
  130. package/src/hooks/useMode.ts +8 -0
  131. package/src/hooks/usePlugin.ts +8 -0
  132. package/src/hooks/usePluginManager.ts +8 -0
  133. package/src/index.ts +1 -2
  134. package/src/mocks/index.ts +4 -3
  135. package/src/plugin.ts +1 -1
  136. package/src/types.ts +4 -1
  137. package/src/utils/TreeNode.ts +3 -3
  138. package/src/utils/index.ts +2 -4
  139. package/dist/FileManager-B0V0rX5Z.js +0 -881
  140. package/dist/FileManager-B0V0rX5Z.js.map +0 -1
  141. package/dist/FileManager-COJW0Zp4.cjs +0 -1003
  142. package/dist/FileManager-COJW0Zp4.cjs.map +0 -1
  143. package/dist/index-B7KKQHG8.d.cts +0 -179
  144. package/dist/index-BhFFCWR1.d.ts +0 -179
  145. package/dist/transformers-BllSzdDt.js.map +0 -1
  146. package/dist/transformers-DZ22lE-S.cjs.map +0 -1
  147. package/dist/typescript-BY9-7pw9.js +0 -3
  148. package/dist/typescript-PxlX-TH7.cjs +0 -4
  149. 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-Bi2kuxAm.cjs');
2
- require('./write-BJfM7G1_.cjs');
3
- require('./transformers-DZ22lE-S.cjs');
4
- const require_FileManager = require('./FileManager-COJW0Zp4.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-CWX6_-da.cjs";
2
- import "./logger-OWS6fqk0.cjs";
3
- import "./PluginManager-a3RiDAFC.cjs";
4
- import { Cache, FunctionParams, FunctionParamsAST, ParserModule, URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from "./index-B7KKQHG8.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-CGJ3tdk-.js";
2
- import "./logger-B-4AXUmB.js";
3
- import "./PluginManager-BSUDeUfP.js";
4
- import { Cache, FunctionParams, FunctionParamsAST, ParserModule, URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from "./index-BhFFCWR1.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-BNC5Fj6t.js";
2
- import "./write-O9QWtBJ_.js";
3
- import "./transformers-BllSzdDt.js";
4
- import { Cache, FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getDefaultBanner, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from "./FileManager-B0V0rX5Z.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