@kubb/fabric-core 0.2.14 → 0.2.16
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.
- package/README.md +5 -1
- package/dist/{Fabric-BfnUdEpq.d.cts → Fabric-AmREkq58.d.ts} +108 -63
- package/dist/{Fabric-CxMkO4Rt.d.ts → Fabric-CBrTERuf.d.cts} +108 -63
- package/dist/{defineProperty-CspRhtP3.cjs → defineProperty-Dlhh3lSJ.cjs} +58 -44
- package/dist/defineProperty-Dlhh3lSJ.cjs.map +1 -0
- package/dist/{defineProperty-BtekiGIK.js → defineProperty-_FBdEen_.js} +53 -39
- package/dist/defineProperty-_FBdEen_.js.map +1 -0
- package/dist/index.cjs +102 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -3
- package/dist/index.d.ts +25 -3
- package/dist/index.js +102 -60
- package/dist/index.js.map +1 -1
- package/dist/parsers/typescript.d.cts +2 -2
- package/dist/parsers/typescript.d.ts +2 -2
- package/dist/parsers.cjs.map +1 -1
- package/dist/parsers.d.cts +2 -2
- package/dist/parsers.d.ts +2 -2
- package/dist/parsers.js.map +1 -1
- package/dist/plugins.cjs +98 -104
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.d.cts +30 -40
- package/dist/plugins.d.ts +30 -40
- package/dist/plugins.js +94 -100
- package/dist/plugins.js.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +2 -3
- package/dist/types.d.ts +2 -3
- package/dist/types.js.map +1 -1
- package/dist/{typescriptParser-Dz9T1BQ1.d.cts → typescriptParser-C3B3dzh_.d.cts} +2 -2
- package/dist/typescriptParser-CNHO6H2_.cjs.map +1 -1
- package/dist/typescriptParser-CWT7zCJy.js.map +1 -1
- package/dist/{typescriptParser-DypTa1AN.d.ts → typescriptParser-DaOfAlmM.d.ts} +2 -2
- package/package.json +1 -1
- package/src/Fabric.ts +102 -52
- package/src/FileManager.ts +23 -6
- package/src/FileProcessor.ts +3 -4
- package/src/KubbFile.ts +0 -2
- package/src/createFile.ts +90 -74
- package/src/defineFabric.ts +53 -28
- package/src/index.ts +3 -3
- package/src/parsers/tsxParser.ts +1 -1
- package/src/parsers/types.ts +1 -1
- package/src/parsers/typescriptParser.ts +1 -1
- package/src/plugins/barrelPlugin.ts +13 -21
- package/src/plugins/fsPlugin.ts +8 -16
- package/src/plugins/graphPlugin.ts +8 -9
- package/src/plugins/index.ts +2 -3
- package/src/plugins/progressPlugin.ts +6 -6
- package/src/plugins/types.ts +1 -1
- package/src/types.ts +1 -2
- package/src/utils/AsyncEventEmitter.ts +29 -8
- package/dist/defineFabric-CR1OjcoI.d.ts +0 -9
- package/dist/defineFabric-TvKfRefj.d.cts +0 -9
- package/dist/defineProperty-BtekiGIK.js.map +0 -1
- package/dist/defineProperty-CspRhtP3.cjs.map +0 -1
- package/src/utils/EventEmitter.ts +0 -31
|
@@ -6,31 +6,6 @@ node_crypto = require_trimExtName.__toESM(node_crypto);
|
|
|
6
6
|
let node_path = require("node:path");
|
|
7
7
|
node_path = require_trimExtName.__toESM(node_path);
|
|
8
8
|
|
|
9
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/checkPrivateRedeclaration.js
|
|
10
|
-
function _checkPrivateRedeclaration(e$2, t$5) {
|
|
11
|
-
if (t$5.has(e$2)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldInitSpec.js
|
|
16
|
-
function _classPrivateFieldInitSpec(e$2, t$5, a$1) {
|
|
17
|
-
_checkPrivateRedeclaration(e$2, t$5), t$5.set(e$2, a$1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/assertClassBrand.js
|
|
22
|
-
function _assertClassBrand(e$2, t$5, n$4) {
|
|
23
|
-
if ("function" == typeof e$2 ? e$2 === t$5 : e$2.has(t$5)) return arguments.length < 3 ? t$5 : n$4;
|
|
24
|
-
throw new TypeError("Private element is not present on this object");
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//#endregion
|
|
28
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldGet2.js
|
|
29
|
-
function _classPrivateFieldGet2(s, a$1) {
|
|
30
|
-
return s.get(_assertClassBrand(s, a$1));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
9
|
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/lazyDataLastImpl-BDhrIOwR.js
|
|
35
10
|
function e$1(e$2, t$5, n$4) {
|
|
36
11
|
let r$4 = (n$5) => e$2(n$5, ...t$5);
|
|
@@ -197,10 +172,6 @@ function r(t$5) {
|
|
|
197
172
|
|
|
198
173
|
//#endregion
|
|
199
174
|
//#region src/createFile.ts
|
|
200
|
-
function hashObject(obj) {
|
|
201
|
-
const str = JSON.stringify(obj, Object.keys(obj).sort());
|
|
202
|
-
return (0, node_crypto.createHash)("sha256").update(str).digest("hex");
|
|
203
|
-
}
|
|
204
175
|
function combineSources(sources) {
|
|
205
176
|
return n(sources, (obj) => [
|
|
206
177
|
obj.name,
|
|
@@ -232,6 +203,25 @@ function combineExports(exports$1) {
|
|
|
232
203
|
}, []);
|
|
233
204
|
}
|
|
234
205
|
function combineImports(imports, exports$1, source) {
|
|
206
|
+
const exportedNameLookup = /* @__PURE__ */ new Set();
|
|
207
|
+
for (const item of exports$1) {
|
|
208
|
+
const { name } = item;
|
|
209
|
+
if (!name) continue;
|
|
210
|
+
if (Array.isArray(name)) {
|
|
211
|
+
for (const value of name) if (value) exportedNameLookup.add(value);
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
exportedNameLookup.add(name);
|
|
215
|
+
}
|
|
216
|
+
const usageCache = /* @__PURE__ */ new Map();
|
|
217
|
+
const hasImportInSource = (importName) => {
|
|
218
|
+
if (!source) return true;
|
|
219
|
+
const cached = usageCache.get(importName);
|
|
220
|
+
if (cached !== void 0) return cached;
|
|
221
|
+
const isUsed = source.includes(importName) || exportedNameLookup.has(importName);
|
|
222
|
+
usageCache.set(importName, isUsed);
|
|
223
|
+
return isUsed;
|
|
224
|
+
};
|
|
235
225
|
return (0, natural_orderby.orderBy)(imports, [
|
|
236
226
|
(v) => !!Array.isArray(v.name),
|
|
237
227
|
(v) => !v.isTypeOnly,
|
|
@@ -240,13 +230,6 @@ function combineImports(imports, exports$1, source) {
|
|
|
240
230
|
(v) => Array.isArray(v.name) ? (0, natural_orderby.orderBy)(v.name) : v.name
|
|
241
231
|
]).reduce((prev, curr) => {
|
|
242
232
|
let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name;
|
|
243
|
-
const hasImportInSource = (importName) => {
|
|
244
|
-
if (!source) return true;
|
|
245
|
-
const checker = (name$1) => {
|
|
246
|
-
return name$1 && source.includes(name$1);
|
|
247
|
-
};
|
|
248
|
-
return checker(importName) || exports$1.some(({ name: name$1 }) => Array.isArray(name$1) ? name$1.some(checker) : checker(name$1));
|
|
249
|
-
};
|
|
250
233
|
if (curr.path === curr.root) return prev;
|
|
251
234
|
if (Array.isArray(name)) name = name.filter((item) => typeof item === "string" ? hasImportInSource(item) : hasImportInSource(item.propertyName));
|
|
252
235
|
const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly);
|
|
@@ -278,7 +261,7 @@ function createFile(file) {
|
|
|
278
261
|
const sources = ((_file$sources = file.sources) === null || _file$sources === void 0 ? void 0 : _file$sources.length) ? combineSources(file.sources) : [];
|
|
279
262
|
return {
|
|
280
263
|
...file,
|
|
281
|
-
id:
|
|
264
|
+
id: (0, node_crypto.createHash)("sha256").update(file.path).digest("hex"),
|
|
282
265
|
name: require_trimExtName.trimExtName(file.baseName),
|
|
283
266
|
extname,
|
|
284
267
|
imports,
|
|
@@ -288,6 +271,37 @@ function createFile(file) {
|
|
|
288
271
|
};
|
|
289
272
|
}
|
|
290
273
|
|
|
274
|
+
//#endregion
|
|
275
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/checkPrivateRedeclaration.js
|
|
276
|
+
function _checkPrivateRedeclaration(e$2, t$5) {
|
|
277
|
+
if (t$5.has(e$2)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
//#endregion
|
|
281
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldInitSpec.js
|
|
282
|
+
function _classPrivateFieldInitSpec(e$2, t$5, a$1) {
|
|
283
|
+
_checkPrivateRedeclaration(e$2, t$5), t$5.set(e$2, a$1);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
//#endregion
|
|
287
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/assertClassBrand.js
|
|
288
|
+
function _assertClassBrand(e$2, t$5, n$4) {
|
|
289
|
+
if ("function" == typeof e$2 ? e$2 === t$5 : e$2.has(t$5)) return arguments.length < 3 ? t$5 : n$4;
|
|
290
|
+
throw new TypeError("Private element is not present on this object");
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
//#endregion
|
|
294
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldGet2.js
|
|
295
|
+
function _classPrivateFieldGet2(s, a$1) {
|
|
296
|
+
return s.get(_assertClassBrand(s, a$1));
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
//#endregion
|
|
300
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldSet2.js
|
|
301
|
+
function _classPrivateFieldSet2(s, a$1, r$4) {
|
|
302
|
+
return s.set(_assertClassBrand(s, a$1), r$4), r$4;
|
|
303
|
+
}
|
|
304
|
+
|
|
291
305
|
//#endregion
|
|
292
306
|
//#region \0@oxc-project+runtime@0.95.0/helpers/typeof.js
|
|
293
307
|
function _typeof(o) {
|
|
@@ -331,12 +345,6 @@ function _defineProperty(e$2, r$4, t$5) {
|
|
|
331
345
|
}
|
|
332
346
|
|
|
333
347
|
//#endregion
|
|
334
|
-
Object.defineProperty(exports, '_assertClassBrand', {
|
|
335
|
-
enumerable: true,
|
|
336
|
-
get: function () {
|
|
337
|
-
return _assertClassBrand;
|
|
338
|
-
}
|
|
339
|
-
});
|
|
340
348
|
Object.defineProperty(exports, '_classPrivateFieldGet2', {
|
|
341
349
|
enumerable: true,
|
|
342
350
|
get: function () {
|
|
@@ -349,6 +357,12 @@ Object.defineProperty(exports, '_classPrivateFieldInitSpec', {
|
|
|
349
357
|
return _classPrivateFieldInitSpec;
|
|
350
358
|
}
|
|
351
359
|
});
|
|
360
|
+
Object.defineProperty(exports, '_classPrivateFieldSet2', {
|
|
361
|
+
enumerable: true,
|
|
362
|
+
get: function () {
|
|
363
|
+
return _classPrivateFieldSet2;
|
|
364
|
+
}
|
|
365
|
+
});
|
|
352
366
|
Object.defineProperty(exports, '_defineProperty', {
|
|
353
367
|
enumerable: true,
|
|
354
368
|
get: function () {
|
|
@@ -361,4 +375,4 @@ Object.defineProperty(exports, 'createFile', {
|
|
|
361
375
|
return createFile;
|
|
362
376
|
}
|
|
363
377
|
});
|
|
364
|
-
//# sourceMappingURL=defineProperty-
|
|
378
|
+
//# sourceMappingURL=defineProperty-Dlhh3lSJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineProperty-Dlhh3lSJ.cjs","names":["e","r","n","t","t","i","n","e","r","t","n","r","e","t","a","e","r","i","n","t","r","n","i","e","t","e","n","r","i","a","e","t","n","r","i","a","uniqueBy","exports","isDeepEqual","path","trimExtName"],"sources":["../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/lazyDataLastImpl-BDhrIOwR.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purry-DH9cw9sy.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/utilityEvaluators-DORpnx39.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/pipe-jLehR9-P.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purryFromLazy-3oywCNIb.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isDeepEqual-jLo35Woq.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/uniqueBy-C_PxkF_D.js","../src/createFile.ts"],"sourcesContent":["function e(e,t,n){let r=n=>e(n,...t);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:t})}export{e as lazyDataLastImpl};\n//# sourceMappingURL=lazyDataLastImpl-BDhrIOwR.js.map","import{lazyDataLastImpl as e}from\"./lazyDataLastImpl-BDhrIOwR.js\";function t(t,n,r){let i=t.length-n.length;if(i===0)return t(...n);if(i===1)return e(t,n,r);throw Error(`Wrong number of arguments`)}export{t as purry};\n//# sourceMappingURL=purry-DH9cw9sy.js.map","const e={done:!0,hasNext:!1},t={done:!1,hasNext:!1},n=()=>e,r=e=>({hasNext:!0,next:e,done:!1});export{t as SKIP_ITEM,n as lazyEmptyEvaluator,r as lazyIdentityEvaluator};\n//# sourceMappingURL=utilityEvaluators-DORpnx39.js.map","import{SKIP_ITEM as e}from\"./utilityEvaluators-DORpnx39.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 as pipe};\n//# sourceMappingURL=pipe-jLehR9-P.js.map","import{pipe as e}from\"./pipe-jLehR9-P.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 as purryFromLazy};\n//# sourceMappingURL=purryFromLazy-3oywCNIb.js.map","import{purry as e}from\"./purry-DH9cw9sy.js\";function t(...t){return e(n,t)}function n(e,t){if(e===t||Object.is(e,t))return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Array.isArray(e))return r(e,t);if(e instanceof Map)return i(e,t);if(e instanceof Set)return a(e,t);if(e instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp)return e.toString()===t.toString();if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let[r,i]of Object.entries(e))if(!(r in t)||!n(i,t[r]))return!1;return!0}function r(e,t){if(e.length!==t.length)return!1;for(let[r,i]of e.entries())if(!n(i,t[r]))return!1;return!0}function i(e,t){if(e.size!==t.size)return!1;for(let[r,i]of e.entries())if(!t.has(r)||!n(i,t.get(r)))return!1;return!0}function a(e,t){if(e.size!==t.size)return!1;let r=[...t];for(let t of e){let e=!1;for(let[i,a]of r.entries())if(n(t,a)){e=!0,r.splice(i,1);break}if(!e)return!1}return!0}export{t as isDeepEqual};\n//# sourceMappingURL=isDeepEqual-jLo35Woq.js.map","import{SKIP_ITEM as e}from\"./utilityEvaluators-DORpnx39.js\";import{purryFromLazy as t}from\"./purryFromLazy-3oywCNIb.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-C_PxkF_D.js.map","import { createHash } from 'node:crypto'\nimport path from 'node:path'\nimport { orderBy } from 'natural-orderby'\nimport { isDeepEqual, 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) => [obj.name, obj.isExportable, obj.isTypeOnly] as const)\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n return 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 ]).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\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 return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\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\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\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 return 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 ]).reduce<Array<KubbFile.Import>>((prev, curr) => {\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 return prev\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 prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n // new item, append name\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\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\n return prev\n }\n\n // no import was found in the source, ignore import\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n }, [])\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"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
|
|
@@ -3,31 +3,6 @@ import { orderBy } from "natural-orderby";
|
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
6
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/checkPrivateRedeclaration.js
|
|
7
|
-
function _checkPrivateRedeclaration(e$2, t$5) {
|
|
8
|
-
if (t$5.has(e$2)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldInitSpec.js
|
|
13
|
-
function _classPrivateFieldInitSpec(e$2, t$5, a$1) {
|
|
14
|
-
_checkPrivateRedeclaration(e$2, t$5), t$5.set(e$2, a$1);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/assertClassBrand.js
|
|
19
|
-
function _assertClassBrand(e$2, t$5, n$4) {
|
|
20
|
-
if ("function" == typeof e$2 ? e$2 === t$5 : e$2.has(t$5)) return arguments.length < 3 ? t$5 : n$4;
|
|
21
|
-
throw new TypeError("Private element is not present on this object");
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldGet2.js
|
|
26
|
-
function _classPrivateFieldGet2(s, a$1) {
|
|
27
|
-
return s.get(_assertClassBrand(s, a$1));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
6
|
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/lazyDataLastImpl-BDhrIOwR.js
|
|
32
7
|
function e$1(e$2, t$5, n$4) {
|
|
33
8
|
let r$4 = (n$5) => e$2(n$5, ...t$5);
|
|
@@ -194,10 +169,6 @@ function r(t$5) {
|
|
|
194
169
|
|
|
195
170
|
//#endregion
|
|
196
171
|
//#region src/createFile.ts
|
|
197
|
-
function hashObject(obj) {
|
|
198
|
-
const str = JSON.stringify(obj, Object.keys(obj).sort());
|
|
199
|
-
return createHash("sha256").update(str).digest("hex");
|
|
200
|
-
}
|
|
201
172
|
function combineSources(sources) {
|
|
202
173
|
return n(sources, (obj) => [
|
|
203
174
|
obj.name,
|
|
@@ -229,6 +200,25 @@ function combineExports(exports) {
|
|
|
229
200
|
}, []);
|
|
230
201
|
}
|
|
231
202
|
function combineImports(imports, exports, source) {
|
|
203
|
+
const exportedNameLookup = /* @__PURE__ */ new Set();
|
|
204
|
+
for (const item of exports) {
|
|
205
|
+
const { name } = item;
|
|
206
|
+
if (!name) continue;
|
|
207
|
+
if (Array.isArray(name)) {
|
|
208
|
+
for (const value of name) if (value) exportedNameLookup.add(value);
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
exportedNameLookup.add(name);
|
|
212
|
+
}
|
|
213
|
+
const usageCache = /* @__PURE__ */ new Map();
|
|
214
|
+
const hasImportInSource = (importName) => {
|
|
215
|
+
if (!source) return true;
|
|
216
|
+
const cached = usageCache.get(importName);
|
|
217
|
+
if (cached !== void 0) return cached;
|
|
218
|
+
const isUsed = source.includes(importName) || exportedNameLookup.has(importName);
|
|
219
|
+
usageCache.set(importName, isUsed);
|
|
220
|
+
return isUsed;
|
|
221
|
+
};
|
|
232
222
|
return orderBy(imports, [
|
|
233
223
|
(v) => !!Array.isArray(v.name),
|
|
234
224
|
(v) => !v.isTypeOnly,
|
|
@@ -237,13 +227,6 @@ function combineImports(imports, exports, source) {
|
|
|
237
227
|
(v) => Array.isArray(v.name) ? orderBy(v.name) : v.name
|
|
238
228
|
]).reduce((prev, curr) => {
|
|
239
229
|
let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name;
|
|
240
|
-
const hasImportInSource = (importName) => {
|
|
241
|
-
if (!source) return true;
|
|
242
|
-
const checker = (name$1) => {
|
|
243
|
-
return name$1 && source.includes(name$1);
|
|
244
|
-
};
|
|
245
|
-
return checker(importName) || exports.some(({ name: name$1 }) => Array.isArray(name$1) ? name$1.some(checker) : checker(name$1));
|
|
246
|
-
};
|
|
247
230
|
if (curr.path === curr.root) return prev;
|
|
248
231
|
if (Array.isArray(name)) name = name.filter((item) => typeof item === "string" ? hasImportInSource(item) : hasImportInSource(item.propertyName));
|
|
249
232
|
const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly);
|
|
@@ -275,7 +258,7 @@ function createFile(file) {
|
|
|
275
258
|
const sources = ((_file$sources = file.sources) === null || _file$sources === void 0 ? void 0 : _file$sources.length) ? combineSources(file.sources) : [];
|
|
276
259
|
return {
|
|
277
260
|
...file,
|
|
278
|
-
id:
|
|
261
|
+
id: createHash("sha256").update(file.path).digest("hex"),
|
|
279
262
|
name: trimExtName(file.baseName),
|
|
280
263
|
extname,
|
|
281
264
|
imports,
|
|
@@ -285,6 +268,37 @@ function createFile(file) {
|
|
|
285
268
|
};
|
|
286
269
|
}
|
|
287
270
|
|
|
271
|
+
//#endregion
|
|
272
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/checkPrivateRedeclaration.js
|
|
273
|
+
function _checkPrivateRedeclaration(e$2, t$5) {
|
|
274
|
+
if (t$5.has(e$2)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
//#endregion
|
|
278
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldInitSpec.js
|
|
279
|
+
function _classPrivateFieldInitSpec(e$2, t$5, a$1) {
|
|
280
|
+
_checkPrivateRedeclaration(e$2, t$5), t$5.set(e$2, a$1);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
//#endregion
|
|
284
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/assertClassBrand.js
|
|
285
|
+
function _assertClassBrand(e$2, t$5, n$4) {
|
|
286
|
+
if ("function" == typeof e$2 ? e$2 === t$5 : e$2.has(t$5)) return arguments.length < 3 ? t$5 : n$4;
|
|
287
|
+
throw new TypeError("Private element is not present on this object");
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
//#endregion
|
|
291
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldGet2.js
|
|
292
|
+
function _classPrivateFieldGet2(s, a$1) {
|
|
293
|
+
return s.get(_assertClassBrand(s, a$1));
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
//#endregion
|
|
297
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldSet2.js
|
|
298
|
+
function _classPrivateFieldSet2(s, a$1, r$4) {
|
|
299
|
+
return s.set(_assertClassBrand(s, a$1), r$4), r$4;
|
|
300
|
+
}
|
|
301
|
+
|
|
288
302
|
//#endregion
|
|
289
303
|
//#region \0@oxc-project+runtime@0.95.0/helpers/typeof.js
|
|
290
304
|
function _typeof(o) {
|
|
@@ -328,5 +342,5 @@ function _defineProperty(e$2, r$4, t$5) {
|
|
|
328
342
|
}
|
|
329
343
|
|
|
330
344
|
//#endregion
|
|
331
|
-
export {
|
|
332
|
-
//# sourceMappingURL=defineProperty-
|
|
345
|
+
export { createFile as a, _classPrivateFieldInitSpec as i, _classPrivateFieldSet2 as n, _classPrivateFieldGet2 as r, _defineProperty as t };
|
|
346
|
+
//# sourceMappingURL=defineProperty-_FBdEen_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineProperty-_FBdEen_.js","names":["e","r","n","t","t","i","n","e","r","t","n","r","e","t","a","e","r","i","n","t","r","n","i","e","t","e","n","r","i","a","e","t","n","r","i","a","uniqueBy","isDeepEqual"],"sources":["../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/lazyDataLastImpl-BDhrIOwR.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purry-DH9cw9sy.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/utilityEvaluators-DORpnx39.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/pipe-jLehR9-P.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purryFromLazy-3oywCNIb.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isDeepEqual-jLo35Woq.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/uniqueBy-C_PxkF_D.js","../src/createFile.ts"],"sourcesContent":["function e(e,t,n){let r=n=>e(n,...t);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:t})}export{e as lazyDataLastImpl};\n//# sourceMappingURL=lazyDataLastImpl-BDhrIOwR.js.map","import{lazyDataLastImpl as e}from\"./lazyDataLastImpl-BDhrIOwR.js\";function t(t,n,r){let i=t.length-n.length;if(i===0)return t(...n);if(i===1)return e(t,n,r);throw Error(`Wrong number of arguments`)}export{t as purry};\n//# sourceMappingURL=purry-DH9cw9sy.js.map","const e={done:!0,hasNext:!1},t={done:!1,hasNext:!1},n=()=>e,r=e=>({hasNext:!0,next:e,done:!1});export{t as SKIP_ITEM,n as lazyEmptyEvaluator,r as lazyIdentityEvaluator};\n//# sourceMappingURL=utilityEvaluators-DORpnx39.js.map","import{SKIP_ITEM as e}from\"./utilityEvaluators-DORpnx39.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 as pipe};\n//# sourceMappingURL=pipe-jLehR9-P.js.map","import{pipe as e}from\"./pipe-jLehR9-P.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 as purryFromLazy};\n//# sourceMappingURL=purryFromLazy-3oywCNIb.js.map","import{purry as e}from\"./purry-DH9cw9sy.js\";function t(...t){return e(n,t)}function n(e,t){if(e===t||Object.is(e,t))return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Array.isArray(e))return r(e,t);if(e instanceof Map)return i(e,t);if(e instanceof Set)return a(e,t);if(e instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp)return e.toString()===t.toString();if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let[r,i]of Object.entries(e))if(!(r in t)||!n(i,t[r]))return!1;return!0}function r(e,t){if(e.length!==t.length)return!1;for(let[r,i]of e.entries())if(!n(i,t[r]))return!1;return!0}function i(e,t){if(e.size!==t.size)return!1;for(let[r,i]of e.entries())if(!t.has(r)||!n(i,t.get(r)))return!1;return!0}function a(e,t){if(e.size!==t.size)return!1;let r=[...t];for(let t of e){let e=!1;for(let[i,a]of r.entries())if(n(t,a)){e=!0,r.splice(i,1);break}if(!e)return!1}return!0}export{t as isDeepEqual};\n//# sourceMappingURL=isDeepEqual-jLo35Woq.js.map","import{SKIP_ITEM as e}from\"./utilityEvaluators-DORpnx39.js\";import{purryFromLazy as t}from\"./purryFromLazy-3oywCNIb.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-C_PxkF_D.js.map","import { createHash } from 'node:crypto'\nimport path from 'node:path'\nimport { orderBy } from 'natural-orderby'\nimport { isDeepEqual, 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) => [obj.name, obj.isExportable, obj.isTypeOnly] as const)\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n return 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 ]).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\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 return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\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\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\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 return 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 ]).reduce<Array<KubbFile.Import>>((prev, curr) => {\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 return prev\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 prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n // new item, append name\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\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\n return prev\n }\n\n // no import was found in the source, ignore import\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n }, [])\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"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_trimExtName = require('./trimExtName-Bb4zGVF1.cjs');
|
|
2
|
-
const require_defineProperty = require('./defineProperty-
|
|
2
|
+
const require_defineProperty = require('./defineProperty-Dlhh3lSJ.cjs');
|
|
3
3
|
require('./createParser-C4IkyTs5.cjs');
|
|
4
4
|
const require_defaultParser = require('./defaultParser-n9VW2iVf.cjs');
|
|
5
5
|
let natural_orderby = require("natural-orderby");
|
|
@@ -9,56 +9,38 @@ p_limit = require_trimExtName.__toESM(p_limit);
|
|
|
9
9
|
let node_events = require("node:events");
|
|
10
10
|
node_events = require_trimExtName.__toESM(node_events);
|
|
11
11
|
|
|
12
|
-
//#region src/utils/Cache.ts
|
|
13
|
-
var _buffer = /* @__PURE__ */ new WeakMap();
|
|
14
|
-
var Cache = class {
|
|
15
|
-
constructor() {
|
|
16
|
-
require_defineProperty._classPrivateFieldInitSpec(this, _buffer, /* @__PURE__ */ new Map());
|
|
17
|
-
}
|
|
18
|
-
get(key) {
|
|
19
|
-
var _this$buffer$get;
|
|
20
|
-
return (_this$buffer$get = require_defineProperty._classPrivateFieldGet2(_buffer, this).get(key)) !== null && _this$buffer$get !== void 0 ? _this$buffer$get : null;
|
|
21
|
-
}
|
|
22
|
-
set(key, value) {
|
|
23
|
-
require_defineProperty._classPrivateFieldGet2(_buffer, this).set(key, value);
|
|
24
|
-
}
|
|
25
|
-
delete(key) {
|
|
26
|
-
require_defineProperty._classPrivateFieldGet2(_buffer, this).delete(key);
|
|
27
|
-
}
|
|
28
|
-
clear() {
|
|
29
|
-
require_defineProperty._classPrivateFieldGet2(_buffer, this).clear();
|
|
30
|
-
}
|
|
31
|
-
keys() {
|
|
32
|
-
return [...require_defineProperty._classPrivateFieldGet2(_buffer, this).keys()];
|
|
33
|
-
}
|
|
34
|
-
values() {
|
|
35
|
-
return [...require_defineProperty._classPrivateFieldGet2(_buffer, this).values()];
|
|
36
|
-
}
|
|
37
|
-
flush() {}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
12
|
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isFunction-BJjFuZR7.js
|
|
42
13
|
const e = (e$1) => typeof e$1 == `function`;
|
|
43
14
|
|
|
44
15
|
//#endregion
|
|
45
16
|
//#region src/utils/AsyncEventEmitter.ts
|
|
46
17
|
var _emitter = /* @__PURE__ */ new WeakMap();
|
|
18
|
+
var _mode = /* @__PURE__ */ new WeakMap();
|
|
47
19
|
var AsyncEventEmitter = class {
|
|
48
|
-
constructor(maxListener = 100) {
|
|
20
|
+
constructor({ maxListener = 100, mode = "sequential" } = {}) {
|
|
49
21
|
require_defineProperty._classPrivateFieldInitSpec(this, _emitter, new node_events.EventEmitter());
|
|
22
|
+
require_defineProperty._classPrivateFieldInitSpec(this, _mode, void 0);
|
|
50
23
|
require_defineProperty._classPrivateFieldGet2(_emitter, this).setMaxListeners(maxListener);
|
|
24
|
+
require_defineProperty._classPrivateFieldSet2(_mode, this, mode);
|
|
51
25
|
}
|
|
52
26
|
async emit(eventName, ...eventArgs) {
|
|
53
27
|
const listeners = require_defineProperty._classPrivateFieldGet2(_emitter, this).listeners(eventName);
|
|
54
28
|
if (listeners.length === 0) return;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
29
|
+
if (require_defineProperty._classPrivateFieldGet2(_mode, this) === "sequential") for (const listener of listeners) try {
|
|
30
|
+
await listener(...eventArgs);
|
|
31
|
+
} catch (err) {
|
|
32
|
+
console.error(`Error in listener for "${eventName}":`, err);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const promises = listeners.map(async (listener) => {
|
|
36
|
+
try {
|
|
37
|
+
await listener(...eventArgs);
|
|
38
|
+
} catch (err) {
|
|
39
|
+
console.error(`Error in listener for "${eventName}":`, err);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
await Promise.all(promises);
|
|
43
|
+
}
|
|
62
44
|
}
|
|
63
45
|
on(eventName, handler) {
|
|
64
46
|
require_defineProperty._classPrivateFieldGet2(_emitter, this).on(eventName, handler);
|
|
@@ -149,6 +131,35 @@ var FileProcessor = class {
|
|
|
149
131
|
}
|
|
150
132
|
};
|
|
151
133
|
|
|
134
|
+
//#endregion
|
|
135
|
+
//#region src/utils/Cache.ts
|
|
136
|
+
var _buffer = /* @__PURE__ */ new WeakMap();
|
|
137
|
+
var Cache = class {
|
|
138
|
+
constructor() {
|
|
139
|
+
require_defineProperty._classPrivateFieldInitSpec(this, _buffer, /* @__PURE__ */ new Map());
|
|
140
|
+
}
|
|
141
|
+
get(key) {
|
|
142
|
+
var _this$buffer$get;
|
|
143
|
+
return (_this$buffer$get = require_defineProperty._classPrivateFieldGet2(_buffer, this).get(key)) !== null && _this$buffer$get !== void 0 ? _this$buffer$get : null;
|
|
144
|
+
}
|
|
145
|
+
set(key, value) {
|
|
146
|
+
require_defineProperty._classPrivateFieldGet2(_buffer, this).set(key, value);
|
|
147
|
+
}
|
|
148
|
+
delete(key) {
|
|
149
|
+
require_defineProperty._classPrivateFieldGet2(_buffer, this).delete(key);
|
|
150
|
+
}
|
|
151
|
+
clear() {
|
|
152
|
+
require_defineProperty._classPrivateFieldGet2(_buffer, this).clear();
|
|
153
|
+
}
|
|
154
|
+
keys() {
|
|
155
|
+
return [...require_defineProperty._classPrivateFieldGet2(_buffer, this).keys()];
|
|
156
|
+
}
|
|
157
|
+
values() {
|
|
158
|
+
return [...require_defineProperty._classPrivateFieldGet2(_buffer, this).values()];
|
|
159
|
+
}
|
|
160
|
+
flush() {}
|
|
161
|
+
};
|
|
162
|
+
|
|
152
163
|
//#endregion
|
|
153
164
|
//#region src/FileManager.ts
|
|
154
165
|
function mergeFile(a, b) {
|
|
@@ -160,9 +171,11 @@ function mergeFile(a, b) {
|
|
|
160
171
|
};
|
|
161
172
|
}
|
|
162
173
|
var _cache = /* @__PURE__ */ new WeakMap();
|
|
174
|
+
var _filesCache = /* @__PURE__ */ new WeakMap();
|
|
163
175
|
var FileManager = class {
|
|
164
176
|
constructor({ events = new AsyncEventEmitter() } = {}) {
|
|
165
177
|
require_defineProperty._classPrivateFieldInitSpec(this, _cache, new Cache());
|
|
178
|
+
require_defineProperty._classPrivateFieldInitSpec(this, _filesCache, null);
|
|
166
179
|
require_defineProperty._defineProperty(this, "events", void 0);
|
|
167
180
|
require_defineProperty._defineProperty(this, "processor", void 0);
|
|
168
181
|
this.processor = new FileProcessor({ events });
|
|
@@ -188,6 +201,7 @@ var FileManager = class {
|
|
|
188
201
|
return resolvedFiles;
|
|
189
202
|
}
|
|
190
203
|
flush() {
|
|
204
|
+
require_defineProperty._classPrivateFieldSet2(_filesCache, this, null);
|
|
191
205
|
require_defineProperty._classPrivateFieldGet2(_cache, this).flush();
|
|
192
206
|
}
|
|
193
207
|
getByPath(path) {
|
|
@@ -195,12 +209,22 @@ var FileManager = class {
|
|
|
195
209
|
}
|
|
196
210
|
deleteByPath(path) {
|
|
197
211
|
require_defineProperty._classPrivateFieldGet2(_cache, this).delete(path);
|
|
212
|
+
require_defineProperty._classPrivateFieldSet2(_filesCache, this, null);
|
|
198
213
|
}
|
|
199
214
|
clear() {
|
|
200
215
|
require_defineProperty._classPrivateFieldGet2(_cache, this).clear();
|
|
216
|
+
require_defineProperty._classPrivateFieldSet2(_filesCache, this, null);
|
|
201
217
|
}
|
|
202
218
|
get files() {
|
|
203
|
-
|
|
219
|
+
if (require_defineProperty._classPrivateFieldGet2(_filesCache, this)) return [...require_defineProperty._classPrivateFieldGet2(_filesCache, this)];
|
|
220
|
+
const keys = (0, natural_orderby.orderBy)(require_defineProperty._classPrivateFieldGet2(_cache, this).keys(), [(v) => v.length, (v) => require_trimExtName.trimExtName(v).endsWith("index")]);
|
|
221
|
+
const files = [];
|
|
222
|
+
for (const key of keys) {
|
|
223
|
+
const file = require_defineProperty._classPrivateFieldGet2(_cache, this).get(key);
|
|
224
|
+
if (file) files.push(file);
|
|
225
|
+
}
|
|
226
|
+
require_defineProperty._classPrivateFieldSet2(_filesCache, this, files);
|
|
227
|
+
return [...files];
|
|
204
228
|
}
|
|
205
229
|
async write(options) {
|
|
206
230
|
await this.events.emit("write:start", { files: this.files });
|
|
@@ -213,50 +237,68 @@ var FileManager = class {
|
|
|
213
237
|
|
|
214
238
|
//#endregion
|
|
215
239
|
//#region src/defineFabric.ts
|
|
216
|
-
|
|
217
|
-
|
|
240
|
+
/**
|
|
241
|
+
* Defines a new Fabric factory function.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* export const createFabric = defineFabric((fabric) => {
|
|
245
|
+
* fabric.use(myPlugin())
|
|
246
|
+
* })
|
|
247
|
+
*/
|
|
248
|
+
function defineFabric(init) {
|
|
249
|
+
function create(config) {
|
|
218
250
|
const events = new AsyncEventEmitter();
|
|
219
251
|
const installedPlugins = /* @__PURE__ */ new Set();
|
|
220
252
|
const installedParsers = /* @__PURE__ */ new Set();
|
|
221
253
|
const fileManager = new FileManager({ events });
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
installedParsers
|
|
254
|
+
const context = {
|
|
255
|
+
get files() {
|
|
256
|
+
return fileManager.files;
|
|
257
|
+
},
|
|
258
|
+
async addFile(...files) {
|
|
259
|
+
await fileManager.add(...files);
|
|
229
260
|
},
|
|
261
|
+
config,
|
|
262
|
+
fileManager,
|
|
263
|
+
installedPlugins,
|
|
264
|
+
installedParsers,
|
|
265
|
+
on: events.on.bind(events),
|
|
266
|
+
off: events.off.bind(events),
|
|
267
|
+
onOnce: events.onOnce.bind(events),
|
|
268
|
+
removeAll: events.removeAll.bind(events),
|
|
269
|
+
emit: events.emit.bind(events)
|
|
270
|
+
};
|
|
271
|
+
const fabric = {
|
|
272
|
+
context,
|
|
230
273
|
get files() {
|
|
231
274
|
return fileManager.files;
|
|
232
275
|
},
|
|
233
|
-
async addFile(...
|
|
234
|
-
await fileManager.add(...
|
|
276
|
+
async addFile(...files) {
|
|
277
|
+
await fileManager.add(...files);
|
|
235
278
|
},
|
|
236
279
|
async use(pluginOrParser, ...options) {
|
|
237
|
-
const args = options;
|
|
238
280
|
if (pluginOrParser.type === "plugin") {
|
|
239
|
-
if (installedPlugins.has(pluginOrParser)) console.warn(`Plugin ${pluginOrParser.name}
|
|
281
|
+
if (installedPlugins.has(pluginOrParser)) console.warn(`Plugin "${pluginOrParser.name}" already applied.`);
|
|
240
282
|
else installedPlugins.add(pluginOrParser);
|
|
241
|
-
if (
|
|
283
|
+
if (e(pluginOrParser.inject)) {
|
|
242
284
|
const injecter = pluginOrParser.inject;
|
|
243
|
-
const
|
|
244
|
-
Object.assign(fabric,
|
|
285
|
+
const injected = injecter(context, ...options);
|
|
286
|
+
Object.assign(fabric, injected);
|
|
245
287
|
}
|
|
246
288
|
}
|
|
247
|
-
if (pluginOrParser.type === "parser") if (installedParsers.has(pluginOrParser)) console.warn(`Parser ${pluginOrParser.name}
|
|
289
|
+
if (pluginOrParser.type === "parser") if (installedParsers.has(pluginOrParser)) console.warn(`Parser "${pluginOrParser.name}" already applied.`);
|
|
248
290
|
else installedParsers.add(pluginOrParser);
|
|
249
|
-
if (
|
|
291
|
+
if (e(pluginOrParser.install)) {
|
|
250
292
|
const installer = pluginOrParser.install;
|
|
251
|
-
await installer(
|
|
293
|
+
await installer(context, ...options);
|
|
252
294
|
}
|
|
253
295
|
return fabric;
|
|
254
296
|
}
|
|
255
297
|
};
|
|
256
|
-
if (
|
|
298
|
+
if (init) init(fabric);
|
|
257
299
|
return fabric;
|
|
258
300
|
}
|
|
259
|
-
return
|
|
301
|
+
return create;
|
|
260
302
|
}
|
|
261
303
|
|
|
262
304
|
//#endregion
|