@kubb/core 2.17.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/{chunk-C6JPLJPT.cjs → chunk-2H4XNW5D.cjs} +351 -267
  2. package/dist/chunk-2H4XNW5D.cjs.map +1 -0
  3. package/dist/{chunk-PVJACA4A.js → chunk-4X5FFJPJ.js} +35 -2
  4. package/dist/chunk-4X5FFJPJ.js.map +1 -0
  5. package/dist/{chunk-6V72PGTE.cjs → chunk-5T2QA53B.cjs} +139 -3
  6. package/dist/chunk-5T2QA53B.cjs.map +1 -0
  7. package/dist/{chunk-CWXJJLZF.cjs → chunk-7HFYOZ7F.cjs} +12 -4
  8. package/dist/chunk-7HFYOZ7F.cjs.map +1 -0
  9. package/dist/chunk-ECWTIHD5.js +311 -0
  10. package/dist/chunk-ECWTIHD5.js.map +1 -0
  11. package/dist/{chunk-NLZ2T737.js → chunk-MDO6MCFJ.js} +9 -2
  12. package/dist/chunk-MDO6MCFJ.js.map +1 -0
  13. package/dist/{chunk-JFESCSNU.cjs → chunk-OCUNVJPQ.cjs} +6 -8
  14. package/dist/chunk-OCUNVJPQ.cjs.map +1 -0
  15. package/dist/chunk-PXP5K73S.js +1599 -0
  16. package/dist/chunk-PXP5K73S.js.map +1 -0
  17. package/dist/{chunk-PQ7P6QX5.cjs → chunk-SU2W2A6V.cjs} +3 -3
  18. package/dist/chunk-T6TAUAYN.cjs +2586 -0
  19. package/dist/chunk-T6TAUAYN.cjs.map +1 -0
  20. package/dist/{chunk-YQ5ZU5PV.js → chunk-UCKFXEKM.js} +3 -5
  21. package/dist/{chunk-YQ5ZU5PV.js.map → chunk-UCKFXEKM.js.map} +1 -1
  22. package/dist/chunk-XF35HUZ2.cjs +322 -0
  23. package/dist/chunk-XF35HUZ2.cjs.map +1 -0
  24. package/dist/fs.cjs +3 -6
  25. package/dist/fs.cjs.map +1 -1
  26. package/dist/fs.js +5 -7
  27. package/dist/index.cjs +10 -2550
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.cts +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +22 -1574
  32. package/dist/index.js.map +1 -1
  33. package/dist/logger.cjs +3 -4
  34. package/dist/mocks.cjs +19 -6
  35. package/dist/mocks.cjs.map +1 -1
  36. package/dist/mocks.d.cts +3 -2
  37. package/dist/mocks.d.ts +3 -2
  38. package/dist/mocks.js +16 -2
  39. package/dist/mocks.js.map +1 -1
  40. package/dist/transformers.cjs +3 -5
  41. package/dist/transformers.js +3 -5
  42. package/dist/utils.cjs +26 -194
  43. package/dist/utils.cjs.map +1 -1
  44. package/dist/utils.d.cts +4 -1
  45. package/dist/utils.d.ts +4 -1
  46. package/dist/utils.js +12 -172
  47. package/dist/utils.js.map +1 -1
  48. package/package.json +3 -3
  49. package/src/BarrelManager.ts +1 -1
  50. package/src/FileManager.ts +9 -9
  51. package/src/build.ts +22 -10
  52. package/src/utils/getParser.ts +17 -0
  53. package/src/utils/index.ts +1 -0
  54. package/dist/chunk-4ARKZPSY.js +0 -36
  55. package/dist/chunk-4ARKZPSY.js.map +0 -1
  56. package/dist/chunk-5PLDNXZK.js +0 -10
  57. package/dist/chunk-5PLDNXZK.js.map +0 -1
  58. package/dist/chunk-6V72PGTE.cjs.map +0 -1
  59. package/dist/chunk-C6JPLJPT.cjs.map +0 -1
  60. package/dist/chunk-CFHVVM3A.cjs +0 -132
  61. package/dist/chunk-CFHVVM3A.cjs.map +0 -1
  62. package/dist/chunk-CWXJJLZF.cjs.map +0 -1
  63. package/dist/chunk-FU3AZXHF.cjs +0 -19
  64. package/dist/chunk-FU3AZXHF.cjs.map +0 -1
  65. package/dist/chunk-GBVPADCA.js +0 -127
  66. package/dist/chunk-GBVPADCA.js.map +0 -1
  67. package/dist/chunk-JFESCSNU.cjs.map +0 -1
  68. package/dist/chunk-LEPKPXA4.cjs +0 -143
  69. package/dist/chunk-LEPKPXA4.cjs.map +0 -1
  70. package/dist/chunk-NLZ2T737.js.map +0 -1
  71. package/dist/chunk-PVJACA4A.js.map +0 -1
  72. package/dist/chunk-T7WVNL7N.cjs +0 -94
  73. package/dist/chunk-T7WVNL7N.cjs.map +0 -1
  74. /package/dist/{chunk-PQ7P6QX5.cjs.map → chunk-SU2W2A6V.cjs.map} +0 -0
package/dist/utils.cjs CHANGED
@@ -1,195 +1,27 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
-
4
-
5
- var _chunkCFHVVM3Acjs = require('./chunk-CFHVVM3A.cjs');
6
-
7
-
8
- var _chunk6V72PGTEcjs = require('./chunk-6V72PGTE.cjs');
9
-
10
-
11
- var _chunkLEPKPXA4cjs = require('./chunk-LEPKPXA4.cjs');
12
-
13
-
14
-
15
-
16
-
17
- var _chunkOOZTXU7Fcjs = require('./chunk-OOZTXU7F.cjs');
18
-
19
- // src/utils/index.ts
20
- _chunkOOZTXU7Fcjs.init_cjs_shims.call(void 0, );
21
-
22
- // src/utils/FunctionParams.ts
23
- _chunkOOZTXU7Fcjs.init_cjs_shims.call(void 0, );
24
- var _items, _orderItems, orderItems_fn, _addParams, addParams_fn;
25
- var _FunctionParams = class _FunctionParams {
26
- constructor() {
27
- _chunkOOZTXU7Fcjs.__privateAdd.call(void 0, this, _items, []);
28
- return this;
29
- }
30
- get items() {
31
- return _chunkOOZTXU7Fcjs.__privateGet.call(void 0, this, _items).flat();
32
- }
33
- add(item) {
34
- if (!item) {
35
- return this;
36
- }
37
- if (Array.isArray(item)) {
38
- item.filter(Boolean).forEach((it) => _chunkOOZTXU7Fcjs.__privateGet.call(void 0, this, _items).push(it));
39
- return this;
40
- }
41
- _chunkOOZTXU7Fcjs.__privateGet.call(void 0, this, _items).push(item);
42
- return this;
43
- }
44
- static toObject(items) {
45
- let type = [];
46
- let name = [];
47
- const enabled = items.every((item) => item.enabled) ? _optionalChain([items, 'access', _ => _.at, 'call', _2 => _2(0), 'optionalAccess', _3 => _3.enabled]) : true;
48
- const required = _nullishCoalesce(items.every((item) => item.required), () => ( true));
49
- items.forEach((item) => {
50
- var _a, _b;
51
- name = _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _a = _FunctionParams, _addParams, addParams_fn).call(_a, name, { ...item, type: void 0 });
52
- if (items.some((item2) => item2.type)) {
53
- type = _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _b = _FunctionParams, _addParams, addParams_fn).call(_b, type, item);
54
- }
55
- });
56
- return {
57
- name: `{ ${name.join(", ")} }`,
58
- type: type.length ? `{ ${type.join("; ")} }` : void 0,
59
- enabled,
60
- required
61
- };
62
- }
63
- static toString(items) {
64
- var _a;
65
- const sortedData = _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _a = _FunctionParams, _orderItems, orderItems_fn).call(_a, items);
66
- return sortedData.reduce((acc, item) => {
67
- var _a2, _b, _c;
68
- if (Array.isArray(item)) {
69
- if (item.length <= 0) {
70
- return acc;
71
- }
72
- const subItems = _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _a2 = _FunctionParams, _orderItems, orderItems_fn).call(_a2, item);
73
- const objectItem = _FunctionParams.toObject(subItems);
74
- return _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _b = _FunctionParams, _addParams, addParams_fn).call(_b, acc, objectItem);
75
- }
76
- return _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _c = _FunctionParams, _addParams, addParams_fn).call(_c, acc, item);
77
- }, []).join(", ");
78
- }
79
- toObject() {
80
- var _a;
81
- const items = _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _a = _FunctionParams, _orderItems, orderItems_fn).call(_a, _chunkOOZTXU7Fcjs.__privateGet.call(void 0, this, _items)).flat();
82
- return _FunctionParams.toObject(items);
83
- }
84
- toString() {
85
- var _a;
86
- const items = _chunkOOZTXU7Fcjs.__privateMethod.call(void 0, _a = _FunctionParams, _orderItems, orderItems_fn).call(_a, _chunkOOZTXU7Fcjs.__privateGet.call(void 0, this, _items));
87
- return _FunctionParams.toString(items);
88
- }
89
- };
90
- _items = new WeakMap();
91
- _orderItems = new WeakSet();
92
- orderItems_fn = function(items) {
93
- return _chunk6V72PGTEcjs.orderBy.call(void 0,
94
- items.filter(Boolean),
95
- [
96
- (v) => {
97
- if (Array.isArray(v)) {
98
- return void 0;
99
- }
100
- return !v.default;
101
- },
102
- (v) => {
103
- if (Array.isArray(v)) {
104
- return void 0;
105
- }
106
- return _nullishCoalesce(v.required, () => ( true));
107
- }
108
- ],
109
- ["desc", "desc"]
110
- );
111
- };
112
- _addParams = new WeakSet();
113
- addParams_fn = function(acc, item) {
114
- const { enabled = true, name, type, required = true, ...rest } = item;
115
- if (!enabled) {
116
- return acc;
117
- }
118
- if (!name) {
119
- acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
120
- return acc;
121
- }
122
- const parameterName = name.startsWith("{") ? name : _chunkLEPKPXA4cjs.camelCase.call(void 0, name);
123
- if (type) {
124
- if (required) {
125
- acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
126
- } else {
127
- acc.push(`${parameterName}?: ${type}`);
128
- }
129
- } else {
130
- acc.push(`${parameterName}`);
131
- }
132
- return acc;
133
- };
134
- _chunkOOZTXU7Fcjs.__privateAdd.call(void 0, _FunctionParams, _orderItems);
135
- _chunkOOZTXU7Fcjs.__privateAdd.call(void 0, _FunctionParams, _addParams);
136
- var FunctionParams = _FunctionParams;
137
-
138
- // src/utils/promise.ts
139
- _chunkOOZTXU7Fcjs.init_cjs_shims.call(void 0, );
140
- function isPromise(result) {
141
- return !!result && typeof _optionalChain([result, 'optionalAccess', _4 => _4.then]) === "function";
142
- }
143
- function isPromiseFulfilledResult(result) {
144
- return result.status === "fulfilled";
145
- }
146
- function isPromiseRejectedResult(result) {
147
- return result.status === "rejected";
148
- }
149
-
150
- // src/utils/renderTemplate.ts
151
- _chunkOOZTXU7Fcjs.init_cjs_shims.call(void 0, );
152
- function renderTemplate(template, data = void 0) {
153
- if (!data || !Object.keys(data).length) {
154
- return template.replace(/{{(.*?)}}/g, "");
155
- }
156
- const matches = template.match(/{{(.*?)}}/g);
157
- return _optionalChain([matches, 'optionalAccess', _5 => _5.reduce, 'call', _6 => _6((prev, curr) => {
158
- const index = _optionalChain([curr, 'access', _7 => _7.split, 'call', _8 => _8(/{{|}}/), 'access', _9 => _9.filter, 'call', _10 => _10(Boolean), 'access', _11 => _11[0], 'optionalAccess', _12 => _12.trim, 'call', _13 => _13()]);
159
- if (index === void 0) {
160
- return prev;
161
- }
162
- const value = data[index];
163
- if (value === void 0) {
164
- return prev;
165
- }
166
- return prev.replace(curr, () => {
167
- if (typeof value === "boolean") {
168
- return `${value.toString()}` || "false";
169
- }
170
- return value || "";
171
- }).trim();
172
- }, template)]) || "";
173
- }
174
-
175
- // src/utils/timeout.ts
176
- _chunkOOZTXU7Fcjs.init_cjs_shims.call(void 0, );
177
- async function timeout(ms) {
178
- return new Promise((resolve) => {
179
- setTimeout(() => {
180
- resolve(true);
181
- }, ms);
182
- });
183
- }
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
- exports.FunctionParams = FunctionParams; exports.URLPath = _chunkCFHVVM3Acjs.URLPath; exports.getUniqueName = _chunkCFHVVM3Acjs.getUniqueName; exports.isPromise = isPromise; exports.isPromiseFulfilledResult = isPromiseFulfilledResult; exports.isPromiseRejectedResult = isPromiseRejectedResult; exports.renderTemplate = renderTemplate; exports.setUniqueName = _chunkCFHVVM3Acjs.setUniqueName; exports.timeout = timeout;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+ var _chunkXF35HUZ2cjs = require('./chunk-XF35HUZ2.cjs');
13
+ require('./chunk-5T2QA53B.cjs');
14
+ require('./chunk-OOZTXU7F.cjs');
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+ exports.FunctionParams = _chunkXF35HUZ2cjs.FunctionParams; exports.URLPath = _chunkXF35HUZ2cjs.URLPath; exports.getParser = _chunkXF35HUZ2cjs.getParser; exports.getUniqueName = _chunkXF35HUZ2cjs.getUniqueName; exports.isPromise = _chunkXF35HUZ2cjs.isPromise; exports.isPromiseFulfilledResult = _chunkXF35HUZ2cjs.isPromiseFulfilledResult; exports.isPromiseRejectedResult = _chunkXF35HUZ2cjs.isPromiseRejectedResult; exports.renderTemplate = _chunkXF35HUZ2cjs.renderTemplate; exports.setUniqueName = _chunkXF35HUZ2cjs.setUniqueName; exports.timeout = _chunkXF35HUZ2cjs.timeout;
195
27
  //# sourceMappingURL=utils.cjs.map
@@ -1 +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":["item","_a"],"mappings":"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","sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport {\n isPromise,\n isPromiseFulfilledResult,\n isPromiseRejectedResult,\n} 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/**\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) => this.#items.push(it))\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 '@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"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
package/dist/utils.d.cts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PossiblePromise } from '@kubb/types';
2
+ import * as _kubb_ts_parser from '@kubb/ts-parser';
2
3
 
3
4
  type FunctionParamsASTWithoutType = {
4
5
  name?: string;
@@ -100,4 +101,6 @@ declare class URLPath {
100
101
  toURLPath(): string;
101
102
  }
102
103
 
103
- export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
104
+ declare function getParser(language: string | undefined): Promise<typeof _kubb_ts_parser>;
105
+
106
+ export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { PossiblePromise } from '@kubb/types';
2
+ import * as _kubb_ts_parser from '@kubb/ts-parser';
2
3
 
3
4
  type FunctionParamsASTWithoutType = {
4
5
  name?: string;
@@ -100,4 +101,6 @@ declare class URLPath {
100
101
  toURLPath(): string;
101
102
  }
102
103
 
103
- export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
104
+ declare function getParser(language: string | undefined): Promise<typeof _kubb_ts_parser>;
105
+
106
+ export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
package/dist/utils.js CHANGED
@@ -1,181 +1,21 @@
1
1
  import {
2
+ FunctionParams,
2
3
  URLPath,
4
+ getParser,
3
5
  getUniqueName,
4
- setUniqueName
5
- } from "./chunk-GBVPADCA.js";
6
- import {
7
- orderBy
8
- } from "./chunk-PVJACA4A.js";
9
- import {
10
- camelCase
11
- } from "./chunk-4ARKZPSY.js";
12
- import {
13
- __privateAdd,
14
- __privateGet,
15
- __privateMethod
16
- } from "./chunk-Z4BLTVTB.js";
17
-
18
- // src/utils/FunctionParams.ts
19
- var _items, _orderItems, orderItems_fn, _addParams, addParams_fn;
20
- var _FunctionParams = class _FunctionParams {
21
- constructor() {
22
- __privateAdd(this, _items, []);
23
- return this;
24
- }
25
- get items() {
26
- return __privateGet(this, _items).flat();
27
- }
28
- add(item) {
29
- if (!item) {
30
- return this;
31
- }
32
- if (Array.isArray(item)) {
33
- item.filter(Boolean).forEach((it) => __privateGet(this, _items).push(it));
34
- return this;
35
- }
36
- __privateGet(this, _items).push(item);
37
- return this;
38
- }
39
- static toObject(items) {
40
- let type = [];
41
- let name = [];
42
- const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true;
43
- const required = items.every((item) => item.required) ?? true;
44
- items.forEach((item) => {
45
- var _a, _b;
46
- name = __privateMethod(_a = _FunctionParams, _addParams, addParams_fn).call(_a, name, { ...item, type: void 0 });
47
- if (items.some((item2) => item2.type)) {
48
- type = __privateMethod(_b = _FunctionParams, _addParams, addParams_fn).call(_b, type, item);
49
- }
50
- });
51
- return {
52
- name: `{ ${name.join(", ")} }`,
53
- type: type.length ? `{ ${type.join("; ")} }` : void 0,
54
- enabled,
55
- required
56
- };
57
- }
58
- static toString(items) {
59
- var _a;
60
- const sortedData = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, items);
61
- return sortedData.reduce((acc, item) => {
62
- var _a2, _b, _c;
63
- if (Array.isArray(item)) {
64
- if (item.length <= 0) {
65
- return acc;
66
- }
67
- const subItems = __privateMethod(_a2 = _FunctionParams, _orderItems, orderItems_fn).call(_a2, item);
68
- const objectItem = _FunctionParams.toObject(subItems);
69
- return __privateMethod(_b = _FunctionParams, _addParams, addParams_fn).call(_b, acc, objectItem);
70
- }
71
- return __privateMethod(_c = _FunctionParams, _addParams, addParams_fn).call(_c, acc, item);
72
- }, []).join(", ");
73
- }
74
- toObject() {
75
- var _a;
76
- const items = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, __privateGet(this, _items)).flat();
77
- return _FunctionParams.toObject(items);
78
- }
79
- toString() {
80
- var _a;
81
- const items = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, __privateGet(this, _items));
82
- return _FunctionParams.toString(items);
83
- }
84
- };
85
- _items = new WeakMap();
86
- _orderItems = new WeakSet();
87
- orderItems_fn = function(items) {
88
- return orderBy(
89
- items.filter(Boolean),
90
- [
91
- (v) => {
92
- if (Array.isArray(v)) {
93
- return void 0;
94
- }
95
- return !v.default;
96
- },
97
- (v) => {
98
- if (Array.isArray(v)) {
99
- return void 0;
100
- }
101
- return v.required ?? true;
102
- }
103
- ],
104
- ["desc", "desc"]
105
- );
106
- };
107
- _addParams = new WeakSet();
108
- addParams_fn = function(acc, item) {
109
- const { enabled = true, name, type, required = true, ...rest } = item;
110
- if (!enabled) {
111
- return acc;
112
- }
113
- if (!name) {
114
- acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
115
- return acc;
116
- }
117
- const parameterName = name.startsWith("{") ? name : camelCase(name);
118
- if (type) {
119
- if (required) {
120
- acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
121
- } else {
122
- acc.push(`${parameterName}?: ${type}`);
123
- }
124
- } else {
125
- acc.push(`${parameterName}`);
126
- }
127
- return acc;
128
- };
129
- __privateAdd(_FunctionParams, _orderItems);
130
- __privateAdd(_FunctionParams, _addParams);
131
- var FunctionParams = _FunctionParams;
132
-
133
- // src/utils/promise.ts
134
- function isPromise(result) {
135
- return !!result && typeof result?.then === "function";
136
- }
137
- function isPromiseFulfilledResult(result) {
138
- return result.status === "fulfilled";
139
- }
140
- function isPromiseRejectedResult(result) {
141
- return result.status === "rejected";
142
- }
143
-
144
- // src/utils/renderTemplate.ts
145
- function renderTemplate(template, data = void 0) {
146
- if (!data || !Object.keys(data).length) {
147
- return template.replace(/{{(.*?)}}/g, "");
148
- }
149
- const matches = template.match(/{{(.*?)}}/g);
150
- return matches?.reduce((prev, curr) => {
151
- const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim();
152
- if (index === void 0) {
153
- return prev;
154
- }
155
- const value = data[index];
156
- if (value === void 0) {
157
- return prev;
158
- }
159
- return prev.replace(curr, () => {
160
- if (typeof value === "boolean") {
161
- return `${value.toString()}` || "false";
162
- }
163
- return value || "";
164
- }).trim();
165
- }, template) || "";
166
- }
167
-
168
- // src/utils/timeout.ts
169
- async function timeout(ms) {
170
- return new Promise((resolve) => {
171
- setTimeout(() => {
172
- resolve(true);
173
- }, ms);
174
- });
175
- }
6
+ isPromise,
7
+ isPromiseFulfilledResult,
8
+ isPromiseRejectedResult,
9
+ renderTemplate,
10
+ setUniqueName,
11
+ timeout
12
+ } from "./chunk-ECWTIHD5.js";
13
+ import "./chunk-4X5FFJPJ.js";
14
+ import "./chunk-Z4BLTVTB.js";
176
15
  export {
177
16
  FunctionParams,
178
17
  URLPath,
18
+ getParser,
179
19
  getUniqueName,
180
20
  isPromise,
181
21
  isPromiseFulfilledResult,
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["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) => this.#items.push(it))\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 '@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"],"mappings":"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","names":["item","_a"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "2.17.0",
3
+ "version": "2.18.0",
4
4
  "description": "Generator core",
5
5
  "keywords": [
6
6
  "typescript",
@@ -97,8 +97,8 @@
97
97
  "seedrandom": "^3.0.5",
98
98
  "semver": "^7.6.0",
99
99
  "unraw": "^3.0.0",
100
- "@kubb/parser": "2.17.0",
101
- "@kubb/types": "2.17.0"
100
+ "@kubb/ts-parser": "2.18.0",
101
+ "@kubb/types": "2.18.0"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@types/fs-extra": "^11.0.4",
@@ -1,4 +1,4 @@
1
- import { getExports } from '@kubb/parser'
1
+ import { getExports } from '@kubb/ts-parser'
2
2
 
3
3
  import path from 'node:path'
4
4
 
@@ -1,9 +1,6 @@
1
1
  import crypto from 'node:crypto'
2
2
  import { extname, resolve } from 'node:path'
3
3
 
4
- import { print } from '@kubb/parser'
5
- import * as factory from '@kubb/parser/factory'
6
-
7
4
  import { orderBy } from 'natural-orderby'
8
5
  import PQueue from 'p-queue'
9
6
  import { isDeepEqual } from 'remeda'
@@ -19,6 +16,7 @@ import type { BarrelManagerOptions } from './BarrelManager.ts'
19
16
  import type { Logger } from './logger.ts'
20
17
  import transformers from './transformers/index.ts'
21
18
  import type { Plugin } from './types.ts'
19
+ import { getParser } from './utils'
22
20
 
23
21
  type BasePath<T extends string = string> = `${T}/`
24
22
 
@@ -405,7 +403,7 @@ export class FileManager {
405
403
 
406
404
  // statics
407
405
 
408
- static getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): string {
406
+ static async getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): Promise<string> {
409
407
  return getSource<TMeta>(file)
410
408
  }
411
409
 
@@ -464,13 +462,15 @@ function combineFiles<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBas
464
462
  )
465
463
  }
466
464
 
467
- export function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): string {
465
+ export async function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMetaBase>(file: KubbFile.File<TMeta>): Promise<string> {
468
466
  // only use .js, .ts or .tsx files for ESM imports
469
467
 
470
468
  if (file.language ? !['typescript', 'javascript'].includes(file.language) : !FileManager.isJavascript(file.baseName)) {
471
469
  return file.source
472
470
  }
473
471
 
472
+ const parser = await getParser(file.language)
473
+
474
474
  const exports = file.exports ? combineExports(file.exports) : []
475
475
  // imports should be defined and source should contain code or we have imports without them being used
476
476
  const imports = file.imports && file.source ? combineImports(file.imports, exports, file.source) : []
@@ -482,14 +482,14 @@ export function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMet
482
482
  return path !== trimExtName(file.path)
483
483
  })
484
484
  .map((item) => {
485
- return factory.createImportDeclaration({
485
+ return parser.factory.createImportDeclaration({
486
486
  name: item.name,
487
487
  path: item.root ? getRelativePath(item.root, item.path) : item.path,
488
488
  isTypeOnly: item.isTypeOnly,
489
489
  })
490
490
  })
491
491
  const exportNodes = exports.map((item) =>
492
- factory.createExportDeclaration({
492
+ parser.factory.createExportDeclaration({
493
493
  name: item.name,
494
494
  path: item.path,
495
495
  isTypeOnly: item.isTypeOnly,
@@ -497,10 +497,10 @@ export function getSource<TMeta extends KubbFile.FileMetaBase = KubbFile.FileMet
497
497
  }),
498
498
  )
499
499
 
500
- const source = [print([...importNodes, ...exportNodes]), getEnvSource(file.source, file.env)].join('\n')
500
+ const source = [parser.print([...importNodes, ...exportNodes]), getEnvSource(file.source, file.env)].join('\n')
501
501
 
502
502
  // do some basic linting with the ts compiler
503
- return print([], { source, noEmitHelpers: false })
503
+ return parser.print([], { source, noEmitHelpers: false })
504
504
  }
505
505
 
506
506
  export function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {
package/src/build.ts CHANGED
@@ -65,7 +65,7 @@ async function setup(options: BuildOptions): Promise<PluginManager> {
65
65
  const task = async (file: KubbFile.ResolvedFile): Promise<KubbFile.ResolvedFile> => {
66
66
  const { path } = file
67
67
 
68
- let source: string | null = FileManager.getSource(file)
68
+ let source: string | null = await FileManager.getSource(file)
69
69
 
70
70
  const { result: loadedResult } = await pluginManager.hookFirst({
71
71
  hookName: 'load',
@@ -188,11 +188,15 @@ export async function build(options: BuildOptions): Promise<BuildOutput> {
188
188
  logger.emit('end', '💾 Writing completed')
189
189
  }
190
190
 
191
- return {
192
- files: fileManager.files.map((file) => ({
191
+ const files = await Promise.all(
192
+ fileManager.files.map(async (file) => ({
193
193
  ...file,
194
- source: FileManager.getSource(file),
194
+ source: await FileManager.getSource(file),
195
195
  })),
196
+ )
197
+
198
+ return {
199
+ files,
196
200
  pluginManager,
197
201
  }
198
202
  }
@@ -214,21 +218,29 @@ export async function safeBuild(options: BuildOptions): Promise<BuildOutput> {
214
218
  logger.emit('end', '💾 Writing completed')
215
219
  }
216
220
  } catch (e) {
217
- return {
218
- files: fileManager.files.map((file) => ({
221
+ const files = await Promise.all(
222
+ fileManager.files.map(async (file) => ({
219
223
  ...file,
220
- source: FileManager.getSource(file),
224
+ source: await FileManager.getSource(file),
221
225
  })),
226
+ )
227
+
228
+ return {
229
+ files,
222
230
  pluginManager,
223
231
  error: e as Error,
224
232
  }
225
233
  }
226
234
 
227
- return {
228
- files: fileManager.files.map((file) => ({
235
+ const files = await Promise.all(
236
+ fileManager.files.map(async (file) => ({
229
237
  ...file,
230
- source: FileManager.getSource(file),
238
+ source: await FileManager.getSource(file),
231
239
  })),
240
+ )
241
+
242
+ return {
243
+ files,
232
244
  pluginManager,
233
245
  }
234
246
  }
@@ -0,0 +1,17 @@
1
+ type ParserModuleTs = typeof import('@kubb/ts-parser')
2
+
3
+ export type ParserModule = ParserModuleTs
4
+
5
+ export async function getParser(language: string | undefined) {
6
+ let modulePromise: Promise<ParserModule>
7
+
8
+ switch (language) {
9
+ default:
10
+ modulePromise = import('@kubb/ts-parser')
11
+ break
12
+ }
13
+
14
+ const module = await modulePromise
15
+
16
+ return module
17
+ }