@kubb/fabric-core 0.11.5 → 0.11.7

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 (52) hide show
  1. package/dist/{Fabric-Cpp4iNdY.d.ts → Fabric-BoTE1-WX.d.cts} +2 -2
  2. package/dist/{Fabric-DqRpv9I1.d.cts → Fabric-CWquRFa2.d.ts} +4 -1
  3. package/dist/{TreeNode-BYnCGtlk.d.cts → TreeNode-C1VnIF0o.d.ts} +3 -2
  4. package/dist/{TreeNode-DE18I-6p.js → TreeNode-CC3a0Bae.js} +83 -75
  5. package/dist/TreeNode-CC3a0Bae.js.map +1 -0
  6. package/dist/{TreeNode-BiX1Ng_y.cjs → TreeNode-CFchatCw.cjs} +82 -75
  7. package/dist/TreeNode-CFchatCw.cjs.map +1 -0
  8. package/dist/{TreeNode-BE0-dn6I.d.ts → TreeNode-DomNP5og.d.cts} +2 -2
  9. package/dist/chunk-8X4u0d05.js +22 -0
  10. package/dist/{defaultParser-CIF-0xIK.cjs → defaultParser-CFIT3sEE.cjs} +3 -2
  11. package/dist/{defaultParser-CIF-0xIK.cjs.map → defaultParser-CFIT3sEE.cjs.map} +1 -1
  12. package/dist/{defaultParser-DPHcM2NR.js → defaultParser-DZ2kzujH.js} +3 -2
  13. package/dist/{defaultParser-DPHcM2NR.js.map → defaultParser-DZ2kzujH.js.map} +1 -1
  14. package/dist/{defineParser-DODGK4rM.cjs → defineParser-CVCxqqzB.cjs} +2 -1
  15. package/dist/{defineParser-DODGK4rM.cjs.map → defineParser-CVCxqqzB.cjs.map} +1 -1
  16. package/dist/{defineParser-Bxv4mb-N.js → defineParser-Lco7nlj0.js} +3 -1
  17. package/dist/{defineParser-Bxv4mb-N.js.map → defineParser-Lco7nlj0.js.map} +1 -1
  18. package/dist/{getRelativePath-D8QLC7JD.cjs → getRelativePath-BllDunh0.cjs} +11 -1
  19. package/dist/{getRelativePath-D8QLC7JD.cjs.map → getRelativePath-BllDunh0.cjs.map} +1 -1
  20. package/dist/{getRelativePath-BSA6Fd-F.js → getRelativePath-y7WcYR5C.js} +2 -1
  21. package/dist/{getRelativePath-BSA6Fd-F.js.map → getRelativePath-y7WcYR5C.js.map} +1 -1
  22. package/dist/index.cjs +4 -4
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +3 -3
  25. package/dist/index.d.ts +4 -3
  26. package/dist/index.js +5 -4
  27. package/dist/index.js.map +1 -1
  28. package/dist/parsers/typescript.cjs +2 -2
  29. package/dist/parsers/typescript.cjs.map +1 -1
  30. package/dist/parsers/typescript.d.cts +1 -1
  31. package/dist/parsers/typescript.d.ts +2 -2
  32. package/dist/parsers/typescript.js +3 -2
  33. package/dist/parsers/typescript.js.map +1 -1
  34. package/dist/parsers.cjs +3 -2
  35. package/dist/parsers.cjs.map +1 -1
  36. package/dist/parsers.d.cts +1 -1
  37. package/dist/parsers.d.ts +2 -1
  38. package/dist/parsers.js +3 -2
  39. package/dist/parsers.js.map +1 -1
  40. package/dist/plugins.cjs +2 -2
  41. package/dist/plugins.cjs.map +1 -1
  42. package/dist/plugins.d.cts +1 -1
  43. package/dist/plugins.d.ts +2 -1
  44. package/dist/plugins.js +3 -2
  45. package/dist/plugins.js.map +1 -1
  46. package/dist/{types-CroUAaLF.d.cts → types-DYepTJ6F.d.cts} +3 -3
  47. package/dist/{types-gW_Bfog7.d.ts → types-yNaQHNUB.d.ts} +4 -3
  48. package/dist/types.d.cts +2 -2
  49. package/dist/types.d.ts +2 -2
  50. package/package.json +1 -1
  51. package/dist/TreeNode-BiX1Ng_y.cjs.map +0 -1
  52. package/dist/TreeNode-DE18I-6p.js.map +0 -1
@@ -414,5 +414,5 @@ interface Fabric<T extends FabricOptions = FabricOptions> extends Kubb.Fabric {
414
414
  upsertFile(...files: File[]): Promise<void>;
415
415
  }
416
416
  //#endregion
417
- export { KubbFile_d_exports as _, FabricOptions as a, Source as b, FileManager as c, UserParser as d, BaseName as f, Import as g, File as h, FabricMode as i, FileProcessor as l, Extname as m, FabricConfig as n, Plugin as o, Export as p, FabricContext as r, UserPlugin as s, Fabric as t, Parser as u, Path as v, ResolvedFile as y };
418
- //# sourceMappingURL=Fabric-Cpp4iNdY.d.ts.map
417
+ export { KubbFile_d_exports as _, FabricOptions as a, Source as b, FileManager as c, UserParser as d, BaseName as f, Import as g, File as h, FabricMode as i, FileProcessor as l, Extname as m, FabricConfig as n, Plugin as o, Export as p, FabricContext as r, UserPlugin as s, Fabric as t, Parser as u, Path as v, __name as x, ResolvedFile as y };
418
+ //# sourceMappingURL=Fabric-BoTE1-WX.d.cts.map
@@ -1,3 +1,6 @@
1
+ import { n as __name, t as __exportAll } from "./chunk-8X4u0d05.js";
2
+
3
+ //#region src/KubbFile.d.ts
1
4
  declare namespace KubbFile_d_exports {
2
5
  export { AdvancedPath, BaseName, Export, Extname, File, Import, Mode, Path, ResolvedExport, ResolvedFile, ResolvedImport, Source };
3
6
  }
@@ -415,4 +418,4 @@ interface Fabric<T extends FabricOptions = FabricOptions> extends Kubb.Fabric {
415
418
  }
416
419
  //#endregion
417
420
  export { KubbFile_d_exports as _, FabricOptions as a, Source as b, FileManager as c, UserParser as d, BaseName as f, Import as g, File as h, FabricMode as i, FileProcessor as l, Extname as m, FabricConfig as n, Plugin as o, Export as p, FabricContext as r, UserPlugin as s, Fabric as t, Parser as u, Path as v, ResolvedFile as y };
418
- //# sourceMappingURL=Fabric-DqRpv9I1.d.cts.map
421
+ //# sourceMappingURL=Fabric-CWquRFa2.d.ts.map
@@ -1,4 +1,5 @@
1
- import { h as File } from "./Fabric-DqRpv9I1.cjs";
1
+ import { n as __name } from "./chunk-8X4u0d05.js";
2
+ import { h as File } from "./Fabric-CWquRFa2.js";
2
3
 
3
4
  //#region src/utils/TreeNode.d.ts
4
5
  type BarrelData = {
@@ -32,4 +33,4 @@ declare class TreeNode<TData = unknown> {
32
33
  }
33
34
  //#endregion
34
35
  export { TreeNode as t };
35
- //# sourceMappingURL=TreeNode-BYnCGtlk.d.cts.map
36
+ //# sourceMappingURL=TreeNode-C1VnIF0o.d.ts.map
@@ -1,52 +1,51 @@
1
- import { n as trimExtName } from "./getRelativePath-BSA6Fd-F.js";
1
+ import { n as __name } from "./chunk-8X4u0d05.js";
2
+ import { n as trimExtName } from "./getRelativePath-y7WcYR5C.js";
2
3
  import { orderBy } from "natural-orderby";
3
4
  import { createHash } from "node:crypto";
4
5
  import path from "node:path";
5
6
 
6
7
  //#region ../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/utilityEvaluators-D7O7U3FY.js
7
- const e = {
8
- done: !0,
9
- hasNext: !1
10
- }, t$2 = {
8
+ const t$2 = {
11
9
  done: !1,
12
10
  hasNext: !1
13
- }, n$2 = () => e, r$2 = (e$1) => ({
14
- hasNext: !0,
15
- next: e$1,
16
- done: !1
17
- });
11
+ };
18
12
 
19
13
  //#endregion
20
14
  //#region ../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/pipe-CRsqNjLF.js
21
- function t$1(e$1, ...t$3) {
22
- let a = e$1, o = t$3.map((e$2) => `lazy` in e$2 ? r$1(e$2) : void 0), s = 0;
15
+ function t$1(e, ...t$3) {
16
+ let a = e;
17
+ let o = t$3.map((e$1) => `lazy` in e$1 ? r$1(e$1) : void 0);
18
+ let s = 0;
23
19
  for (; s < t$3.length;) {
24
20
  if (o[s] === void 0 || !i(a)) {
25
- let e$3 = t$3[s];
26
- a = e$3(a), s += 1;
21
+ let e$2 = t$3[s];
22
+ a = e$2(a), s += 1;
27
23
  continue;
28
24
  }
29
- let e$2 = [];
30
- for (let n$3 = s; n$3 < t$3.length; n$3++) {
31
- let t$4 = o[n$3];
32
- if (t$4 === void 0 || (e$2.push(t$4), t$4.isSingle)) break;
25
+ let e$1 = [];
26
+ for (let n$2 = s; n$2 < t$3.length; n$2++) {
27
+ let t$4 = o[n$2];
28
+ if (t$4 === void 0 || (e$1.push(t$4), t$4.isSingle)) break;
33
29
  }
34
- let r$3 = [];
35
- for (let t$4 of a) if (n$1(t$4, r$3, e$2)) break;
36
- let { isSingle: c } = e$2.at(-1);
37
- a = c ? r$3[0] : r$3, s += e$2.length;
30
+ let r$2 = [];
31
+ for (let t$4 of a) if (n$1(t$4, r$2, e$1)) break;
32
+ let { isSingle: c } = e$1.at(-1);
33
+ a = c ? r$2[0] : r$2, s += e$1.length;
38
34
  }
39
35
  return a;
40
36
  }
41
- function n$1(t$3, r$3, i$1) {
42
- if (i$1.length === 0) return r$3.push(t$3), !1;
43
- let a = t$3, o = t$2, s = !1;
44
- for (let [e$1, t$4] of i$1.entries()) {
37
+ __name(t$1, "t");
38
+ function n$1(t$3, r$2, i$1) {
39
+ if (i$1.length === 0) return r$2.push(t$3), !1;
40
+ let a = t$3;
41
+ let o = t$2;
42
+ let s = !1;
43
+ for (let [e, t$4] of i$1.entries()) {
45
44
  let { index: c, items: l } = t$4;
46
45
  if (l.push(a), o = t$4(a, c, l), t$4.index += 1, o.hasNext) {
47
46
  var _o$hasMany;
48
47
  if ((_o$hasMany = o.hasMany) !== null && _o$hasMany !== void 0 ? _o$hasMany : !1) {
49
- for (let t$5 of o.next) if (n$1(t$5, r$3, i$1.slice(e$1 + 1))) return !0;
48
+ for (let t$5 of o.next) if (n$1(t$5, r$2, i$1.slice(e + 1))) return !0;
50
49
  return s;
51
50
  }
52
51
  a = o.next;
@@ -54,52 +53,56 @@ function n$1(t$3, r$3, i$1) {
54
53
  if (!o.hasNext) break;
55
54
  o.done && (s = !0);
56
55
  }
57
- return o.hasNext && r$3.push(a), s;
56
+ return o.hasNext && r$2.push(a), s;
58
57
  }
59
- function r$1(e$1) {
58
+ __name(n$1, "n");
59
+ function r$1(e) {
60
60
  var _t$single;
61
- let { lazy: t$3, lazyArgs: n$3 } = e$1, r$3 = t$3(...n$3);
62
- return Object.assign(r$3, {
61
+ let { lazy: t$3, lazyArgs: n$2 } = e;
62
+ let r$2 = t$3(...n$2);
63
+ return Object.assign(r$2, {
63
64
  isSingle: (_t$single = t$3.single) !== null && _t$single !== void 0 ? _t$single : !1,
64
65
  index: 0,
65
66
  items: []
66
67
  });
67
68
  }
68
- function i(e$1) {
69
- return typeof e$1 == `string` || typeof e$1 == `object` && !!e$1 && Symbol.iterator in e$1;
69
+ __name(r$1, "r");
70
+ function i(e) {
71
+ return typeof e == `string` || typeof e == `object` && !!e && Symbol.iterator in e;
70
72
  }
71
73
 
72
74
  //#endregion
73
75
  //#region ../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/purryFromLazy-C1RBdBlx.js
74
- function t(t$3, n$3) {
75
- let r$3 = n$3.length - t$3.length;
76
- if (r$3 === 1) {
77
- let [r$4, ...i$1] = n$3;
78
- return t$1(r$4, {
76
+ function t(t$3, n$2) {
77
+ let r$2 = n$2.length - t$3.length;
78
+ if (r$2 === 1) {
79
+ let [r$3, ...i$1] = n$2;
80
+ return t$1(r$3, {
79
81
  lazy: t$3,
80
82
  lazyArgs: i$1
81
83
  });
82
84
  }
83
- if (r$3 === 0) {
84
- let r$4 = {
85
+ if (r$2 === 0) {
86
+ let r$3 = {
85
87
  lazy: t$3,
86
- lazyArgs: n$3
88
+ lazyArgs: n$2
87
89
  };
88
- return Object.assign((t$4) => t$1(t$4, r$4), r$4);
90
+ return Object.assign((t$4) => t$1(t$4, r$3), r$3);
89
91
  }
90
92
  throw Error(`Wrong number of arguments`);
91
93
  }
92
94
 
93
95
  //#endregion
94
96
  //#region ../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/uniqueBy.js
95
- function n(...e$1) {
96
- return t(r, e$1);
97
+ function n(...e) {
98
+ return t(r, e);
97
99
  }
98
100
  function r(t$3) {
99
- let n$3 = t$3, r$3 = /* @__PURE__ */ new Set();
101
+ let n$2 = t$3;
102
+ let r$2 = /* @__PURE__ */ new Set();
100
103
  return (t$4, i$1, a) => {
101
- let o = n$3(t$4, i$1, a);
102
- return r$3.has(o) ? t$2 : (r$3.add(o), {
104
+ let o = n$2(t$4, i$1, a);
105
+ return r$2.has(o) ? t$2 : (r$2.add(o), {
103
106
  done: !1,
104
107
  hasNext: !0,
105
108
  next: t$4
@@ -111,7 +114,10 @@ function r(t$3) {
111
114
  //#region src/createFile.ts
112
115
  function combineSources(sources) {
113
116
  return n(sources, (obj) => {
114
- var _ref, _obj$name, _obj$isExportable, _obj$isTypeOnly;
117
+ var _ref;
118
+ var _obj$name;
119
+ var _obj$isExportable;
120
+ var _obj$isTypeOnly;
115
121
  return `${(_ref = (_obj$name = obj.name) !== null && _obj$name !== void 0 ? _obj$name : obj.value) !== null && _ref !== void 0 ? _ref : ""}:${(_obj$isExportable = obj.isExportable) !== null && _obj$isExportable !== void 0 ? _obj$isExportable : false}:${(_obj$isTypeOnly = obj.isTypeOnly) !== null && _obj$isTypeOnly !== void 0 ? _obj$isTypeOnly : false}`;
116
122
  });
117
123
  }
@@ -227,7 +233,9 @@ function combineImports(imports, exports, source) {
227
233
  * Helper to create a file with name and id set
228
234
  */
229
235
  function createFile(file) {
230
- var _file$exports, _file$imports, _file$sources;
236
+ var _file$exports;
237
+ var _file$imports;
238
+ var _file$sources;
231
239
  const extname = path.extname(file.baseName);
232
240
  if (!extname) throw new Error(`No extname found for ${file.baseName}`);
233
241
  const source = file.sources.map((item) => item.value).join("\n\n");
@@ -247,38 +255,38 @@ function createFile(file) {
247
255
  }
248
256
 
249
257
  //#endregion
250
- //#region \0@oxc-project+runtime@0.103.0/helpers/checkPrivateRedeclaration.js
251
- function _checkPrivateRedeclaration(e$1, t$3) {
252
- if (t$3.has(e$1)) throw new TypeError("Cannot initialize the same private elements twice on an object");
258
+ //#region \0@oxc-project+runtime@0.107.0/helpers/checkPrivateRedeclaration.js
259
+ function _checkPrivateRedeclaration(e, t$3) {
260
+ if (t$3.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
253
261
  }
254
262
 
255
263
  //#endregion
256
- //#region \0@oxc-project+runtime@0.103.0/helpers/classPrivateFieldInitSpec.js
257
- function _classPrivateFieldInitSpec(e$1, t$3, a) {
258
- _checkPrivateRedeclaration(e$1, t$3), t$3.set(e$1, a);
264
+ //#region \0@oxc-project+runtime@0.107.0/helpers/classPrivateFieldInitSpec.js
265
+ function _classPrivateFieldInitSpec(e, t$3, a) {
266
+ _checkPrivateRedeclaration(e, t$3), t$3.set(e, a);
259
267
  }
260
268
 
261
269
  //#endregion
262
- //#region \0@oxc-project+runtime@0.103.0/helpers/assertClassBrand.js
263
- function _assertClassBrand(e$1, t$3, n$3) {
264
- if ("function" == typeof e$1 ? e$1 === t$3 : e$1.has(t$3)) return arguments.length < 3 ? t$3 : n$3;
270
+ //#region \0@oxc-project+runtime@0.107.0/helpers/assertClassBrand.js
271
+ function _assertClassBrand(e, t$3, n$2) {
272
+ if ("function" == typeof e ? e === t$3 : e.has(t$3)) return arguments.length < 3 ? t$3 : n$2;
265
273
  throw new TypeError("Private element is not present on this object");
266
274
  }
267
275
 
268
276
  //#endregion
269
- //#region \0@oxc-project+runtime@0.103.0/helpers/classPrivateFieldGet2.js
277
+ //#region \0@oxc-project+runtime@0.107.0/helpers/classPrivateFieldGet2.js
270
278
  function _classPrivateFieldGet2(s, a) {
271
279
  return s.get(_assertClassBrand(s, a));
272
280
  }
273
281
 
274
282
  //#endregion
275
- //#region \0@oxc-project+runtime@0.103.0/helpers/classPrivateFieldSet2.js
276
- function _classPrivateFieldSet2(s, a, r$3) {
277
- return s.set(_assertClassBrand(s, a), r$3), r$3;
283
+ //#region \0@oxc-project+runtime@0.107.0/helpers/classPrivateFieldSet2.js
284
+ function _classPrivateFieldSet2(s, a, r$2) {
285
+ return s.set(_assertClassBrand(s, a), r$2), r$2;
278
286
  }
279
287
 
280
288
  //#endregion
281
- //#region \0@oxc-project+runtime@0.103.0/helpers/typeof.js
289
+ //#region \0@oxc-project+runtime@0.107.0/helpers/typeof.js
282
290
  function _typeof(o) {
283
291
  "@babel/helpers - typeof";
284
292
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o$1) {
@@ -289,34 +297,34 @@ function _typeof(o) {
289
297
  }
290
298
 
291
299
  //#endregion
292
- //#region \0@oxc-project+runtime@0.103.0/helpers/toPrimitive.js
293
- function toPrimitive(t$3, r$3) {
300
+ //#region \0@oxc-project+runtime@0.107.0/helpers/toPrimitive.js
301
+ function toPrimitive(t$3, r$2) {
294
302
  if ("object" != _typeof(t$3) || !t$3) return t$3;
295
- var e$1 = t$3[Symbol.toPrimitive];
296
- if (void 0 !== e$1) {
297
- var i$1 = e$1.call(t$3, r$3 || "default");
303
+ var e = t$3[Symbol.toPrimitive];
304
+ if (void 0 !== e) {
305
+ var i$1 = e.call(t$3, r$2 || "default");
298
306
  if ("object" != _typeof(i$1)) return i$1;
299
307
  throw new TypeError("@@toPrimitive must return a primitive value.");
300
308
  }
301
- return ("string" === r$3 ? String : Number)(t$3);
309
+ return ("string" === r$2 ? String : Number)(t$3);
302
310
  }
303
311
 
304
312
  //#endregion
305
- //#region \0@oxc-project+runtime@0.103.0/helpers/toPropertyKey.js
313
+ //#region \0@oxc-project+runtime@0.107.0/helpers/toPropertyKey.js
306
314
  function toPropertyKey(t$3) {
307
315
  var i$1 = toPrimitive(t$3, "string");
308
316
  return "symbol" == _typeof(i$1) ? i$1 : i$1 + "";
309
317
  }
310
318
 
311
319
  //#endregion
312
- //#region \0@oxc-project+runtime@0.103.0/helpers/defineProperty.js
313
- function _defineProperty(e$1, r$3, t$3) {
314
- return (r$3 = toPropertyKey(r$3)) in e$1 ? Object.defineProperty(e$1, r$3, {
320
+ //#region \0@oxc-project+runtime@0.107.0/helpers/defineProperty.js
321
+ function _defineProperty(e, r$2, t$3) {
322
+ return (r$2 = toPropertyKey(r$2)) in e ? Object.defineProperty(e, r$2, {
315
323
  value: t$3,
316
324
  enumerable: !0,
317
325
  configurable: !0,
318
326
  writable: !0
319
- }) : e$1[r$3] = t$3, e$1;
327
+ }) : e[r$2] = t$3, e;
320
328
  }
321
329
 
322
330
  //#endregion
@@ -436,4 +444,4 @@ var TreeNode = class TreeNode {
436
444
 
437
445
  //#endregion
438
446
  export { _assertClassBrand as a, createFile as c, _classPrivateFieldGet2 as i, _defineProperty as n, _classPrivateFieldInitSpec as o, _classPrivateFieldSet2 as r, _checkPrivateRedeclaration as s, TreeNode as t };
439
- //# sourceMappingURL=TreeNode-DE18I-6p.js.map
447
+ //# sourceMappingURL=TreeNode-CC3a0Bae.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeNode-CC3a0Bae.js","names":["t","t","e","r","n","i","r","n","t","i","e","n","t","r","i","e","uniqueBy","i"],"sources":["../../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/utilityEvaluators-D7O7U3FY.js","../../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/pipe-CRsqNjLF.js","../../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/purryFromLazy-C1RBdBlx.js","../../../node_modules/.pnpm/remeda@2.33.4/node_modules/remeda/dist/uniqueBy.js","../src/createFile.ts","../src/utils/TreeNode.ts"],"sourcesContent":["const e={done:!0,hasNext:!1},t={done:!1,hasNext:!1},n=()=>e,r=e=>({hasNext:!0,next:e,done:!1});export{n,r,t};\n//# sourceMappingURL=utilityEvaluators-D7O7U3FY.js.map","import{t as e}from\"./utilityEvaluators-D7O7U3FY.js\";function t(e,...t){let a=e,o=t.map(e=>`lazy`in e?r(e):void 0),s=0;for(;s<t.length;){if(o[s]===void 0||!i(a)){let e=t[s];a=e(a),s+=1;continue}let e=[];for(let n=s;n<t.length;n++){let t=o[n];if(t===void 0||(e.push(t),t.isSingle))break}let r=[];for(let t of a)if(n(t,r,e))break;let{isSingle:c}=e.at(-1);a=c?r[0]:r,s+=e.length}return a}function n(t,r,i){if(i.length===0)return r.push(t),!1;let a=t,o=e,s=!1;for(let[e,t]of i.entries()){let{index:c,items:l}=t;if(l.push(a),o=t(a,c,l),t.index+=1,o.hasNext){if(o.hasMany??!1){for(let t of o.next)if(n(t,r,i.slice(e+1)))return!0;return s}a=o.next}if(!o.hasNext)break;o.done&&(s=!0)}return o.hasNext&&r.push(a),s}function r(e){let{lazy:t,lazyArgs:n}=e,r=t(...n);return Object.assign(r,{isSingle:t.single??!1,index:0,items:[]})}function i(e){return typeof e==`string`||typeof e==`object`&&!!e&&Symbol.iterator in e}export{t};\n//# sourceMappingURL=pipe-CRsqNjLF.js.map","import{t as e}from\"./pipe-CRsqNjLF.js\";function t(t,n){let r=n.length-t.length;if(r===1){let[r,...i]=n;return e(r,{lazy:t,lazyArgs:i})}if(r===0){let r={lazy:t,lazyArgs:n};return Object.assign(t=>e(t,r),r)}throw Error(`Wrong number of arguments`)}export{t};\n//# sourceMappingURL=purryFromLazy-C1RBdBlx.js.map","import{t as e}from\"./utilityEvaluators-D7O7U3FY.js\";import{t}from\"./purryFromLazy-C1RBdBlx.js\";function n(...e){return t(r,e)}function r(t){let n=t,r=new Set;return(t,i,a)=>{let o=n(t,i,a);return r.has(o)?e:(r.add(o),{done:!1,hasNext:!0,next:t})}}export{n as uniqueBy};\n//# sourceMappingURL=uniqueBy.js.map","import { createHash } from 'node:crypto'\nimport path from 'node:path'\nimport { orderBy } from 'natural-orderby'\nimport { uniqueBy } from 'remeda'\nimport type * as KubbFile from './KubbFile.ts'\nimport { trimExtName } from './utils/trimExtName.ts'\n\nexport function combineSources(sources: Array<KubbFile.Source>): Array<KubbFile.Source> {\n return uniqueBy(sources, (obj) => {\n // For named sources, deduplicate by name, isExportable, and isTypeOnly\n // For unnamed sources, include the value to avoid deduplicating different code blocks\n // If both name and value are undefined, use an empty string as the unique identifier\n const uniqueId = obj.name ?? obj.value ?? ''\n const isExportable = obj.isExportable ?? false\n const isTypeOnly = obj.isTypeOnly ?? false\n return `${uniqueId}:${isExportable}:${isTypeOnly}`\n })\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n const sorted = orderBy(exports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ])\n\n const prev: Array<KubbFile.Export> = []\n // Map to track items by path for O(1) lookup\n const pathMap = new Map<string, KubbFile.Export>()\n // Map to track unique items by path+name+isTypeOnly+asAlias\n const uniqueMap = new Map<string, KubbFile.Export>()\n // Map to track items by path+name where isTypeOnly=true (for type-only check)\n const pathNameTypeTrueMap = new Map<string, KubbFile.Export>()\n\n for (const curr of sorted) {\n const name = curr.name\n const pathKey = curr.path\n const prevByPath = pathMap.get(pathKey)\n\n // Create unique key for path+name+isTypeOnly\n const nameKey = Array.isArray(name) ? JSON.stringify(name) : name || ''\n const pathNameTypeKey = `${pathKey}:${nameKey}:${curr.isTypeOnly}`\n // Check if there's already an item with the same path+name but with isTypeOnly=true\n const pathNameKey = `${pathKey}:${nameKey}`\n const prevByPathAndIsTypeOnly = pathNameTypeTrueMap.get(pathNameKey)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path and name but uses `isTypeOnly` (export type ...)\n continue\n }\n\n // Create unique key for path+name+isTypeOnly+asAlias\n const uniqueKey = `${pathNameTypeKey}:${curr.asAlias || ''}`\n const uniquePrev = uniqueMap.get(uniqueKey)\n\n // we already have an item that was unique enough or name field is empty or prev asAlias is set but current has no changes\n if (uniquePrev || (Array.isArray(name) && !name.length) || (prevByPath?.asAlias && !curr.asAlias)) {\n continue\n }\n\n if (!prevByPath) {\n const newItem = {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n }\n prev.push(newItem)\n pathMap.set(pathKey, newItem)\n uniqueMap.set(uniqueKey, newItem)\n // Track items with isTypeOnly=true for the type-only check\n if (newItem.isTypeOnly) {\n pathNameTypeTrueMap.set(pathNameKey, newItem)\n }\n continue\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])]\n continue\n }\n\n prev.push(curr)\n uniqueMap.set(uniqueKey, curr)\n // Track items with isTypeOnly=true for the type-only check\n if (curr.isTypeOnly) {\n pathNameTypeTrueMap.set(pathNameKey, curr)\n }\n }\n\n return prev\n}\n\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n const exportedNameLookup = new Set<string>()\n for (const item of exports) {\n const { name } = item\n if (!name) {\n continue\n }\n\n if (Array.isArray(name)) {\n for (const value of name) {\n if (value) {\n exportedNameLookup.add(value)\n }\n }\n continue\n }\n\n exportedNameLookup.add(name)\n }\n\n const usageCache = new Map<string, boolean>()\n const hasImportInSource = (importName: string): boolean => {\n if (!source) {\n return true\n }\n\n const cached = usageCache.get(importName)\n if (cached !== undefined) {\n return cached\n }\n\n const isUsed = source.includes(importName) || exportedNameLookup.has(importName)\n usageCache.set(importName, isUsed)\n\n return isUsed\n }\n\n const sorted = orderBy(imports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ])\n\n const prev: Array<KubbFile.Import> = []\n // Map to track items by path+isTypeOnly for O(1) lookup\n const pathTypeMap = new Map<string, KubbFile.Import>()\n // Map to track unique items by path+name+isTypeOnly\n const uniqueMap = new Map<string, KubbFile.Import>()\n // Map to track items by path+name where isTypeOnly=true (for type-only check)\n const pathNameTypeTrueMap = new Map<string, KubbFile.Import>()\n\n for (const curr of sorted) {\n let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name\n\n if (curr.path === curr.root) {\n // root and path are the same file, remove the \"./\" import\n continue\n }\n\n // merge all names and check if the importName is being used in the generated source and if not filter those imports out\n if (Array.isArray(name)) {\n name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))\n }\n\n const pathTypeKey = `${curr.path}:${curr.isTypeOnly}`\n const prevByPath = pathTypeMap.get(pathTypeKey)\n\n // Create key for name comparison\n const nameKey = Array.isArray(name) ? JSON.stringify(name) : name || ''\n const pathNameTypeKey = `${curr.path}:${nameKey}:${curr.isTypeOnly}`\n const uniquePrev = uniqueMap.get(pathNameTypeKey)\n // Check if there's already an item with the same path+name but with isTypeOnly=true\n const pathNameKey = `${curr.path}:${nameKey}`\n const prevByPathNameAndIsTypeOnly = pathNameTypeTrueMap.get(pathNameKey)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an import that has the same path and name but uses `isTypeOnly` (import type ...)\n continue\n }\n\n // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n continue\n }\n\n // new item, append name\n if (!prevByPath) {\n const newItem = {\n ...curr,\n name,\n }\n prev.push(newItem)\n pathTypeMap.set(pathTypeKey, newItem)\n uniqueMap.set(pathNameTypeKey, newItem)\n // Track items with isTypeOnly=true for the type-only check\n if (newItem.isTypeOnly) {\n pathNameTypeTrueMap.set(pathNameKey, newItem)\n }\n continue\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...name])]\n continue\n }\n\n // no import was found in the source, ignore import\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n continue\n }\n\n prev.push(curr)\n uniqueMap.set(pathNameTypeKey, curr)\n // Track items with isTypeOnly=true for the type-only check\n if (curr.isTypeOnly) {\n pathNameTypeTrueMap.set(pathNameKey, curr)\n }\n }\n\n return prev\n}\n\n/**\n * Helper to create a file with name and id set\n */\nexport function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta> {\n const extname = path.extname(file.baseName) as KubbFile.Extname\n if (!extname) {\n throw new Error(`No extname found for ${file.baseName}`)\n }\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n const exports = file.exports?.length ? combineExports(file.exports) : []\n const imports = file.imports?.length && source ? combineImports(file.imports, exports, source) : []\n const sources = file.sources?.length ? combineSources(file.sources) : []\n\n return {\n ...file,\n id: createHash('sha256').update(file.path).digest('hex'),\n name: trimExtName(file.baseName),\n extname,\n imports: imports,\n exports: exports,\n sources: sources,\n meta: file.meta || ({} as TMeta),\n }\n}\n","import type * as KubbFile from '../KubbFile.ts'\n\ntype BarrelData = {\n file?: KubbFile.File\n path: string\n name: string\n}\n\nexport type Graph = {\n nodes: Array<{ id: string; label: string }>\n edges: Array<{ from: string; to: string }>\n}\n\nexport class TreeNode<TData = unknown> {\n data: TData\n parent?: TreeNode<TData>\n children: Array<TreeNode<TData>> = []\n #childrenMap = new Map<string, TreeNode<TData>>()\n #cachedLeaves?: Array<TreeNode<TData>>\n\n constructor(data: TData, parent?: TreeNode<TData>) {\n this.data = data\n this.parent = parent\n }\n\n addChild(data: TData): TreeNode<TData> {\n const child = new TreeNode(data, this)\n this.children.push(child)\n // Update Map if data has a name property (for BarrelData)\n if (typeof data === 'object' && data !== null && 'name' in data) {\n this.#childrenMap.set((data as { name: string }).name, child)\n }\n this.#cachedLeaves = undefined // invalidate cached leaves\n return child\n }\n\n getChildByName(name: string): TreeNode<TData> | undefined {\n return this.#childrenMap.get(name)\n }\n\n get leaves(): Array<TreeNode<TData>> {\n if (this.#cachedLeaves) return this.#cachedLeaves\n if (this.children.length === 0) return [this]\n\n const result: Array<TreeNode<TData>> = []\n const stack: Array<TreeNode<TData>> = [...this.children]\n const visited = new Set<TreeNode<TData>>()\n\n while (stack.length > 0) {\n const node = stack.pop()!\n if (visited.has(node)) {\n continue\n }\n visited.add(node)\n\n if (node.children.length > 0) {\n stack.push(...node.children)\n } else {\n result.push(node)\n }\n }\n\n this.#cachedLeaves = result\n return result\n }\n\n forEach(callback: (node: TreeNode<TData>) => void): this {\n const stack: Array<TreeNode<TData>> = [this]\n\n for (let i = 0; i < stack.length; i++) {\n const node = stack[i]!\n callback(node)\n\n if (node.children.length > 0) {\n stack.push(...node.children)\n }\n }\n\n return this\n }\n\n findDeep(predicate: (node: TreeNode<TData>) => boolean): TreeNode<TData> | undefined {\n for (const leaf of this.leaves) {\n if (predicate(leaf)) return leaf\n }\n return undefined\n }\n\n static toGraph(root: TreeNode<BarrelData>): Graph {\n const nodes: Array<{ id: string; label: string }> = []\n const edges: Array<{ from: string; to: string }> = []\n\n const stack: Array<TreeNode<BarrelData>> = [root]\n\n for (let i = 0; i < stack.length; i++) {\n const node = stack[i]!\n\n nodes.push({\n id: node.data.path,\n label: node.data.name,\n })\n\n const children = node.children\n if (children.length > 0) {\n for (let j = 0, len = children.length; j < len; j++) {\n const child = children[j]!\n edges.push({\n from: node.data.path,\n to: child.data.path,\n })\n stack.push(child)\n }\n }\n }\n\n return { nodes, edges }\n }\n\n static fromFiles(files: Array<KubbFile.File>, rootFolder = ''): TreeNode<BarrelData> | null {\n const normalizePath = (p: string): string => p.replace(/\\\\/g, '/')\n const normalizedRoot = normalizePath(rootFolder)\n const rootPrefix = normalizedRoot.endsWith('/') ? normalizedRoot : `${normalizedRoot}/`\n\n const normalizedPaths = new Map<KubbFile.File, string>()\n const filteredFiles: Array<KubbFile.File> = []\n for (const file of files) {\n const filePath = normalizedPaths.get(file) ?? normalizePath(file.path)\n normalizedPaths.set(file, filePath)\n if (!filePath.endsWith('.json') && (!rootFolder || filePath.startsWith(rootPrefix))) {\n filteredFiles.push(file)\n }\n }\n\n if (filteredFiles.length === 0) {\n return null\n }\n\n const treeNode = new TreeNode<BarrelData>({\n name: rootFolder || '',\n path: rootFolder || '',\n file: undefined,\n })\n\n for (const file of filteredFiles) {\n const filePath = normalizedPaths.get(file)!\n const relPath = filePath.slice(rootPrefix.length)\n const parts = relPath.split('/')\n\n let current = treeNode\n let currentPath = rootFolder\n\n for (const [index, part] of parts.entries()) {\n const isLast = index === parts.length - 1\n currentPath += (currentPath.endsWith('/') ? '' : '/') + part\n\n let next = current.getChildByName(part)\n\n if (!next) {\n next = current.addChild({\n name: part,\n path: currentPath,\n file: isLast ? file : undefined,\n })\n }\n\n current = next\n }\n }\n\n return treeNode\n }\n}\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}