@kubb/core 2.16.3 → 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 (77) hide show
  1. package/dist/{chunk-ZRKR2HKR.cjs → chunk-2H4XNW5D.cjs} +436 -352
  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-LT7MMILS.cjs → chunk-5T2QA53B.cjs} +141 -5
  6. package/dist/chunk-5T2QA53B.cjs.map +1 -0
  7. package/dist/{chunk-5JJFBKBI.cjs → chunk-7HFYOZ7F.cjs} +14 -6
  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-5ECHVUOT.cjs → chunk-OCUNVJPQ.cjs} +18 -20
  14. package/dist/chunk-OCUNVJPQ.cjs.map +1 -0
  15. package/dist/{chunk-VHGMEMCF.cjs → chunk-OOZTXU7F.cjs} +3 -3
  16. package/dist/{chunk-VHGMEMCF.cjs.map → chunk-OOZTXU7F.cjs.map} +1 -1
  17. package/dist/chunk-PXP5K73S.js +1599 -0
  18. package/dist/chunk-PXP5K73S.js.map +1 -0
  19. package/dist/{chunk-E2N6ELJH.cjs → chunk-SU2W2A6V.cjs} +14 -14
  20. package/dist/chunk-T6TAUAYN.cjs +2586 -0
  21. package/dist/chunk-T6TAUAYN.cjs.map +1 -0
  22. package/dist/{chunk-YQ5ZU5PV.js → chunk-UCKFXEKM.js} +3 -5
  23. package/dist/{chunk-YQ5ZU5PV.js.map → chunk-UCKFXEKM.js.map} +1 -1
  24. package/dist/chunk-XF35HUZ2.cjs +322 -0
  25. package/dist/chunk-XF35HUZ2.cjs.map +1 -0
  26. package/dist/fs.cjs +5 -8
  27. package/dist/fs.cjs.map +1 -1
  28. package/dist/fs.js +5 -7
  29. package/dist/index.cjs +10 -2546
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.js +22 -1570
  34. package/dist/index.js.map +1 -1
  35. package/dist/logger.cjs +4 -5
  36. package/dist/mocks.cjs +21 -8
  37. package/dist/mocks.cjs.map +1 -1
  38. package/dist/mocks.d.cts +3 -2
  39. package/dist/mocks.d.ts +3 -2
  40. package/dist/mocks.js +16 -2
  41. package/dist/mocks.js.map +1 -1
  42. package/dist/transformers.cjs +4 -6
  43. package/dist/transformers.js +3 -5
  44. package/dist/utils.cjs +26 -195
  45. package/dist/utils.cjs.map +1 -1
  46. package/dist/utils.d.cts +11 -3
  47. package/dist/utils.d.ts +11 -3
  48. package/dist/utils.js +12 -173
  49. package/dist/utils.js.map +1 -1
  50. package/package.json +3 -3
  51. package/src/BarrelManager.ts +1 -1
  52. package/src/FileManager.ts +18 -12
  53. package/src/build.ts +22 -10
  54. package/src/utils/FunctionParams.ts +8 -5
  55. package/src/utils/getParser.ts +17 -0
  56. package/src/utils/index.ts +1 -0
  57. package/dist/chunk-4ARKZPSY.js +0 -36
  58. package/dist/chunk-4ARKZPSY.js.map +0 -1
  59. package/dist/chunk-5ECHVUOT.cjs.map +0 -1
  60. package/dist/chunk-5JJFBKBI.cjs.map +0 -1
  61. package/dist/chunk-5PLDNXZK.js +0 -10
  62. package/dist/chunk-5PLDNXZK.js.map +0 -1
  63. package/dist/chunk-7PQW23Z4.cjs +0 -132
  64. package/dist/chunk-7PQW23Z4.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-LT7MMILS.cjs.map +0 -1
  68. package/dist/chunk-NLZ2T737.js.map +0 -1
  69. package/dist/chunk-NT5TMOO2.cjs +0 -143
  70. package/dist/chunk-NT5TMOO2.cjs.map +0 -1
  71. package/dist/chunk-PVJACA4A.js.map +0 -1
  72. package/dist/chunk-VIYSO66S.cjs +0 -94
  73. package/dist/chunk-VIYSO66S.cjs.map +0 -1
  74. package/dist/chunk-X7VSDHLQ.cjs +0 -19
  75. package/dist/chunk-X7VSDHLQ.cjs.map +0 -1
  76. package/dist/chunk-ZRKR2HKR.cjs.map +0 -1
  77. /package/dist/{chunk-E2N6ELJH.cjs.map → chunk-SU2W2A6V.cjs.map} +0 -0
package/dist/utils.cjs CHANGED
@@ -1,196 +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 _chunk7PQW23Z4cjs = require('./chunk-7PQW23Z4.cjs');
6
-
7
-
8
- var _chunkLT7MMILScjs = require('./chunk-LT7MMILS.cjs');
9
-
10
-
11
- var _chunkNT5TMOO2cjs = require('./chunk-NT5TMOO2.cjs');
12
-
13
-
14
-
15
-
16
-
17
- var _chunkVHGMEMCFcjs = require('./chunk-VHGMEMCF.cjs');
18
-
19
- // src/utils/index.ts
20
- _chunkVHGMEMCFcjs.init_cjs_shims.call(void 0, );
21
-
22
- // src/utils/FunctionParams.ts
23
- _chunkVHGMEMCFcjs.init_cjs_shims.call(void 0, );
24
- var _items, _orderItems, orderItems_fn, _addParams, addParams_fn;
25
- var _FunctionParams = class _FunctionParams {
26
- constructor(type) {
27
- _chunkVHGMEMCFcjs.__privateAdd.call(void 0, this, _items, []);
28
- this.type = type;
29
- return this;
30
- }
31
- get items() {
32
- return _chunkVHGMEMCFcjs.__privateGet.call(void 0, this, _items).flat();
33
- }
34
- add(item) {
35
- if (!item) {
36
- return this;
37
- }
38
- if (Array.isArray(item)) {
39
- item.filter(Boolean).forEach((it) => _chunkVHGMEMCFcjs.__privateGet.call(void 0, this, _items).push(it));
40
- return this;
41
- }
42
- _chunkVHGMEMCFcjs.__privateGet.call(void 0, this, _items).push(item);
43
- return this;
44
- }
45
- static toObject(items) {
46
- let type = [];
47
- let name = [];
48
- const enabled = items.every((item) => item.enabled) ? _optionalChain([items, 'access', _ => _.at, 'call', _2 => _2(0), 'optionalAccess', _3 => _3.enabled]) : true;
49
- const required = _nullishCoalesce(items.every((item) => item.required), () => ( true));
50
- items.forEach((item) => {
51
- var _a, _b;
52
- name = _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _a = _FunctionParams, _addParams, addParams_fn).call(_a, name, { ...item, type: void 0 });
53
- if (items.some((item2) => item2.type)) {
54
- type = _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _b = _FunctionParams, _addParams, addParams_fn).call(_b, type, item);
55
- }
56
- });
57
- return {
58
- name: `{ ${name.join(", ")} }`,
59
- type: type.length ? `{ ${type.join("; ")} }` : void 0,
60
- enabled,
61
- required
62
- };
63
- }
64
- static toString(items) {
65
- var _a;
66
- const sortedData = _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _a = _FunctionParams, _orderItems, orderItems_fn).call(_a, items);
67
- return sortedData.reduce((acc, item) => {
68
- var _a2, _b, _c;
69
- if (Array.isArray(item)) {
70
- if (item.length <= 0) {
71
- return acc;
72
- }
73
- const subItems = _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _a2 = _FunctionParams, _orderItems, orderItems_fn).call(_a2, item);
74
- const objectItem = _FunctionParams.toObject(subItems);
75
- return _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _b = _FunctionParams, _addParams, addParams_fn).call(_b, acc, objectItem);
76
- }
77
- return _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _c = _FunctionParams, _addParams, addParams_fn).call(_c, acc, item);
78
- }, []).join(", ");
79
- }
80
- toObject() {
81
- var _a;
82
- const items = _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _a = _FunctionParams, _orderItems, orderItems_fn).call(_a, _chunkVHGMEMCFcjs.__privateGet.call(void 0, this, _items)).flat();
83
- return _FunctionParams.toObject(items);
84
- }
85
- toString() {
86
- var _a;
87
- const items = _chunkVHGMEMCFcjs.__privateMethod.call(void 0, _a = _FunctionParams, _orderItems, orderItems_fn).call(_a, _chunkVHGMEMCFcjs.__privateGet.call(void 0, this, _items));
88
- return _FunctionParams.toString(items);
89
- }
90
- };
91
- _items = new WeakMap();
92
- _orderItems = new WeakSet();
93
- orderItems_fn = function(items) {
94
- return _chunkLT7MMILScjs.orderBy.call(void 0,
95
- items.filter(Boolean),
96
- [
97
- (v) => {
98
- if (Array.isArray(v)) {
99
- return void 0;
100
- }
101
- return !v.default;
102
- },
103
- (v) => {
104
- if (Array.isArray(v)) {
105
- return void 0;
106
- }
107
- return _nullishCoalesce(v.required, () => ( true));
108
- }
109
- ],
110
- ["desc", "desc"]
111
- );
112
- };
113
- _addParams = new WeakSet();
114
- addParams_fn = function(acc, item) {
115
- const { enabled = true, name, type, required = true, ...rest } = item;
116
- if (!enabled) {
117
- return acc;
118
- }
119
- if (!name) {
120
- acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
121
- return acc;
122
- }
123
- const parameterName = name.startsWith("{") ? name : _chunkNT5TMOO2cjs.camelCase.call(void 0, name);
124
- if (type) {
125
- if (required) {
126
- acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
127
- } else {
128
- acc.push(`${parameterName}?: ${type}`);
129
- }
130
- } else {
131
- acc.push(`${parameterName}`);
132
- }
133
- return acc;
134
- };
135
- _chunkVHGMEMCFcjs.__privateAdd.call(void 0, _FunctionParams, _orderItems);
136
- _chunkVHGMEMCFcjs.__privateAdd.call(void 0, _FunctionParams, _addParams);
137
- var FunctionParams = _FunctionParams;
138
-
139
- // src/utils/promise.ts
140
- _chunkVHGMEMCFcjs.init_cjs_shims.call(void 0, );
141
- function isPromise(result) {
142
- return !!result && typeof _optionalChain([result, 'optionalAccess', _4 => _4.then]) === "function";
143
- }
144
- function isPromiseFulfilledResult(result) {
145
- return result.status === "fulfilled";
146
- }
147
- function isPromiseRejectedResult(result) {
148
- return result.status === "rejected";
149
- }
150
-
151
- // src/utils/renderTemplate.ts
152
- _chunkVHGMEMCFcjs.init_cjs_shims.call(void 0, );
153
- function renderTemplate(template, data = void 0) {
154
- if (!data || !Object.keys(data).length) {
155
- return template.replace(/{{(.*?)}}/g, "");
156
- }
157
- const matches = template.match(/{{(.*?)}}/g);
158
- return _optionalChain([matches, 'optionalAccess', _5 => _5.reduce, 'call', _6 => _6((prev, curr) => {
159
- 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()]);
160
- if (index === void 0) {
161
- return prev;
162
- }
163
- const value = data[index];
164
- if (value === void 0) {
165
- return prev;
166
- }
167
- return prev.replace(curr, () => {
168
- if (typeof value === "boolean") {
169
- return `${value.toString()}` || "false";
170
- }
171
- return value || "";
172
- }).trim();
173
- }, template)]) || "";
174
- }
175
-
176
- // src/utils/timeout.ts
177
- _chunkVHGMEMCFcjs.init_cjs_shims.call(void 0, );
178
- async function timeout(ms) {
179
- return new Promise((resolve) => {
180
- setTimeout(() => {
181
- resolve(true);
182
- }, ms);
183
- });
184
- }
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
- exports.FunctionParams = FunctionParams; exports.URLPath = _chunk7PQW23Z4cjs.URLPath; exports.getUniqueName = _chunk7PQW23Z4cjs.getUniqueName; exports.isPromise = isPromise; exports.isPromiseFulfilledResult = isPromiseFulfilledResult; exports.isPromiseRejectedResult = isPromiseRejectedResult; exports.renderTemplate = renderTemplate; exports.setUniqueName = _chunk7PQW23Z4cjs.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;
196
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\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n type?: 'generics' | 'typed'\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\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;
@@ -26,11 +27,16 @@ type FunctionParamsASTWithType = {
26
27
  enabled?: boolean;
27
28
  default?: string;
28
29
  };
30
+ /**
31
+ * @deprecated
32
+ */
29
33
  type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType;
34
+ /**
35
+ * @deprecated
36
+ */
30
37
  declare class FunctionParams {
31
38
  #private;
32
- type?: 'generics' | 'typed';
33
- constructor(type?: 'generics' | 'typed');
39
+ constructor();
34
40
  get items(): FunctionParamsAST[];
35
41
  add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams;
36
42
  static toObject(items: FunctionParamsAST[]): FunctionParamsAST;
@@ -95,4 +101,6 @@ declare class URLPath {
95
101
  toURLPath(): string;
96
102
  }
97
103
 
98
- 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;
@@ -26,11 +27,16 @@ type FunctionParamsASTWithType = {
26
27
  enabled?: boolean;
27
28
  default?: string;
28
29
  };
30
+ /**
31
+ * @deprecated
32
+ */
29
33
  type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType;
34
+ /**
35
+ * @deprecated
36
+ */
30
37
  declare class FunctionParams {
31
38
  #private;
32
- type?: 'generics' | 'typed';
33
- constructor(type?: 'generics' | 'typed');
39
+ constructor();
34
40
  get items(): FunctionParamsAST[];
35
41
  add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams;
36
42
  static toObject(items: FunctionParamsAST[]): FunctionParamsAST;
@@ -95,4 +101,6 @@ declare class URLPath {
95
101
  toURLPath(): string;
96
102
  }
97
103
 
98
- 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,182 +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(type) {
22
- __privateAdd(this, _items, []);
23
- this.type = type;
24
- return this;
25
- }
26
- get items() {
27
- return __privateGet(this, _items).flat();
28
- }
29
- add(item) {
30
- if (!item) {
31
- return this;
32
- }
33
- if (Array.isArray(item)) {
34
- item.filter(Boolean).forEach((it) => __privateGet(this, _items).push(it));
35
- return this;
36
- }
37
- __privateGet(this, _items).push(item);
38
- return this;
39
- }
40
- static toObject(items) {
41
- let type = [];
42
- let name = [];
43
- const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true;
44
- const required = items.every((item) => item.required) ?? true;
45
- items.forEach((item) => {
46
- var _a, _b;
47
- name = __privateMethod(_a = _FunctionParams, _addParams, addParams_fn).call(_a, name, { ...item, type: void 0 });
48
- if (items.some((item2) => item2.type)) {
49
- type = __privateMethod(_b = _FunctionParams, _addParams, addParams_fn).call(_b, type, item);
50
- }
51
- });
52
- return {
53
- name: `{ ${name.join(", ")} }`,
54
- type: type.length ? `{ ${type.join("; ")} }` : void 0,
55
- enabled,
56
- required
57
- };
58
- }
59
- static toString(items) {
60
- var _a;
61
- const sortedData = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, items);
62
- return sortedData.reduce((acc, item) => {
63
- var _a2, _b, _c;
64
- if (Array.isArray(item)) {
65
- if (item.length <= 0) {
66
- return acc;
67
- }
68
- const subItems = __privateMethod(_a2 = _FunctionParams, _orderItems, orderItems_fn).call(_a2, item);
69
- const objectItem = _FunctionParams.toObject(subItems);
70
- return __privateMethod(_b = _FunctionParams, _addParams, addParams_fn).call(_b, acc, objectItem);
71
- }
72
- return __privateMethod(_c = _FunctionParams, _addParams, addParams_fn).call(_c, acc, item);
73
- }, []).join(", ");
74
- }
75
- toObject() {
76
- var _a;
77
- const items = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, __privateGet(this, _items)).flat();
78
- return _FunctionParams.toObject(items);
79
- }
80
- toString() {
81
- var _a;
82
- const items = __privateMethod(_a = _FunctionParams, _orderItems, orderItems_fn).call(_a, __privateGet(this, _items));
83
- return _FunctionParams.toString(items);
84
- }
85
- };
86
- _items = new WeakMap();
87
- _orderItems = new WeakSet();
88
- orderItems_fn = function(items) {
89
- return orderBy(
90
- items.filter(Boolean),
91
- [
92
- (v) => {
93
- if (Array.isArray(v)) {
94
- return void 0;
95
- }
96
- return !v.default;
97
- },
98
- (v) => {
99
- if (Array.isArray(v)) {
100
- return void 0;
101
- }
102
- return v.required ?? true;
103
- }
104
- ],
105
- ["desc", "desc"]
106
- );
107
- };
108
- _addParams = new WeakSet();
109
- addParams_fn = function(acc, item) {
110
- const { enabled = true, name, type, required = true, ...rest } = item;
111
- if (!enabled) {
112
- return acc;
113
- }
114
- if (!name) {
115
- acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
116
- return acc;
117
- }
118
- const parameterName = name.startsWith("{") ? name : camelCase(name);
119
- if (type) {
120
- if (required) {
121
- acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
122
- } else {
123
- acc.push(`${parameterName}?: ${type}`);
124
- }
125
- } else {
126
- acc.push(`${parameterName}`);
127
- }
128
- return acc;
129
- };
130
- __privateAdd(_FunctionParams, _orderItems);
131
- __privateAdd(_FunctionParams, _addParams);
132
- var FunctionParams = _FunctionParams;
133
-
134
- // src/utils/promise.ts
135
- function isPromise(result) {
136
- return !!result && typeof result?.then === "function";
137
- }
138
- function isPromiseFulfilledResult(result) {
139
- return result.status === "fulfilled";
140
- }
141
- function isPromiseRejectedResult(result) {
142
- return result.status === "rejected";
143
- }
144
-
145
- // src/utils/renderTemplate.ts
146
- function renderTemplate(template, data = void 0) {
147
- if (!data || !Object.keys(data).length) {
148
- return template.replace(/{{(.*?)}}/g, "");
149
- }
150
- const matches = template.match(/{{(.*?)}}/g);
151
- return matches?.reduce((prev, curr) => {
152
- const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim();
153
- if (index === void 0) {
154
- return prev;
155
- }
156
- const value = data[index];
157
- if (value === void 0) {
158
- return prev;
159
- }
160
- return prev.replace(curr, () => {
161
- if (typeof value === "boolean") {
162
- return `${value.toString()}` || "false";
163
- }
164
- return value || "";
165
- }).trim();
166
- }, template) || "";
167
- }
168
-
169
- // src/utils/timeout.ts
170
- async function timeout(ms) {
171
- return new Promise((resolve) => {
172
- setTimeout(() => {
173
- resolve(true);
174
- }, ms);
175
- });
176
- }
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";
177
15
  export {
178
16
  FunctionParams,
179
17
  URLPath,
18
+ getParser,
180
19
  getUniqueName,
181
20
  isPromise,
182
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\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n type?: 'generics' | 'typed'\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\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.16.3",
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.16.3",
101
- "@kubb/types": "2.16.3"
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
 
@@ -297,7 +295,7 @@ export class FileManager {
297
295
 
298
296
  async addIndexes({ root, output, meta, logger, options = {} }: AddIndexesProps): Promise<void> {
299
297
  const { exportType = 'barrel' } = output
300
-
298
+ // ^?
301
299
  if (exportType === false) {
302
300
  return undefined
303
301
  }
@@ -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,32 +462,34 @@ 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) : []
477
477
 
478
478
  const importNodes = imports
479
479
  .filter((item) => {
480
- // isImportNotNeeded
480
+ const path = item.root ? getRelativePath(item.root, item.path) : item.path
481
481
  // trim extName
482
- return item.path !== trimExtName(file.path)
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> {
@@ -558,9 +558,15 @@ export function combineImports(imports: Array<KubbFile.Import>, exports: Array<K
558
558
  }
559
559
 
560
560
  const checker = (name?: string) => name && !!source.includes(name)
561
+
561
562
  return checker(importName) || exports.some(({ name }) => (Array.isArray(name) ? name.some(checker) : checker(name)))
562
563
  }
563
564
 
565
+ if (curr.path === curr.root) {
566
+ // root and path are the same file, remove the "./" import
567
+ return prev
568
+ }
569
+
564
570
  if (Array.isArray(name)) {
565
571
  name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))
566
572
  }