@bluelibs/runner 4.5.10 → 4.6.0-alpha
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 +7 -2
- package/dist/browser/index.mjs +4492 -0
- package/dist/browser/index.mjs.map +1 -0
- package/dist/{index.mjs → edge/index.mjs} +473 -306
- package/dist/edge/index.mjs.map +1 -0
- package/dist/index.unused.js +4344 -0
- package/dist/index.unused.js.map +1 -0
- package/dist/{index.cjs → node/index.cjs} +473 -312
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.mjs +4492 -0
- package/dist/node/index.mjs.map +1 -0
- package/dist/universal/index.cjs +4524 -0
- package/dist/universal/index.cjs.map +1 -0
- package/dist/universal/index.mjs +4524 -0
- package/dist/universal/index.mjs.map +1 -0
- package/package.json +49 -11
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs.map +0 -1
- /package/dist/{index.d.ts → index.d.mts} +0 -0
|
@@ -3,24 +3,11 @@
|
|
|
3
3
|
var lruCache = require('lru-cache');
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
|
-
var __typeError = (msg) => {
|
|
7
|
-
throw TypeError(msg);
|
|
8
|
-
};
|
|
9
6
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
11
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
12
|
-
}) : x)(function(x) {
|
|
13
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
14
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
15
|
-
});
|
|
16
7
|
var __export = (target, all) => {
|
|
17
8
|
for (var name in all)
|
|
18
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
10
|
};
|
|
20
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
21
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
22
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
23
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
24
11
|
|
|
25
12
|
// src/defs.ts
|
|
26
13
|
var defs_exports = {};
|
|
@@ -238,7 +225,224 @@ __export(errors_exports, {
|
|
|
238
225
|
ValidationError: () => ValidationError
|
|
239
226
|
});
|
|
240
227
|
|
|
241
|
-
// src/platform/
|
|
228
|
+
// src/platform/adapters/node-als.ts
|
|
229
|
+
async function loadAsyncLocalStorageClass() {
|
|
230
|
+
const mod = await import('async_hooks');
|
|
231
|
+
return mod.AsyncLocalStorage;
|
|
232
|
+
}
|
|
233
|
+
__name(loadAsyncLocalStorageClass, "loadAsyncLocalStorageClass");
|
|
234
|
+
|
|
235
|
+
// src/platform/adapters/node.ts
|
|
236
|
+
var NodePlatformAdapter = class {
|
|
237
|
+
constructor() {
|
|
238
|
+
this.setTimeout = globalThis.setTimeout;
|
|
239
|
+
this.clearTimeout = globalThis.clearTimeout;
|
|
240
|
+
}
|
|
241
|
+
static {
|
|
242
|
+
__name(this, "NodePlatformAdapter");
|
|
243
|
+
}
|
|
244
|
+
async init() {
|
|
245
|
+
this.alsClass = await loadAsyncLocalStorageClass();
|
|
246
|
+
}
|
|
247
|
+
onUncaughtException(handler) {
|
|
248
|
+
process.on("uncaughtException", handler);
|
|
249
|
+
return () => process.off("uncaughtException", handler);
|
|
250
|
+
}
|
|
251
|
+
onUnhandledRejection(handler) {
|
|
252
|
+
const h = /* @__PURE__ */ __name((reason) => handler(reason), "h");
|
|
253
|
+
process.on("unhandledRejection", h);
|
|
254
|
+
return () => process.off("unhandledRejection", h);
|
|
255
|
+
}
|
|
256
|
+
onShutdownSignal(handler) {
|
|
257
|
+
process.on("SIGINT", handler);
|
|
258
|
+
process.on("SIGTERM", handler);
|
|
259
|
+
return () => {
|
|
260
|
+
process.off("SIGINT", handler);
|
|
261
|
+
process.off("SIGTERM", handler);
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
exit(code) {
|
|
265
|
+
process.exit(code);
|
|
266
|
+
}
|
|
267
|
+
getEnv(key) {
|
|
268
|
+
return process.env[key];
|
|
269
|
+
}
|
|
270
|
+
hasAsyncLocalStorage() {
|
|
271
|
+
return true;
|
|
272
|
+
}
|
|
273
|
+
createAsyncLocalStorage() {
|
|
274
|
+
let instance;
|
|
275
|
+
const ensure = /* @__PURE__ */ __name(() => {
|
|
276
|
+
if (!this.alsClass) {
|
|
277
|
+
throw new PlatformUnsupportedFunction(
|
|
278
|
+
"createAsyncLocalStorage: Platform not initialized"
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
return instance ??= new this.alsClass();
|
|
282
|
+
}, "ensure");
|
|
283
|
+
return {
|
|
284
|
+
getStore: /* @__PURE__ */ __name(() => ensure().getStore(), "getStore"),
|
|
285
|
+
run: /* @__PURE__ */ __name((store2, callback) => ensure().run(store2, callback), "run")
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
// src/platform/adapters/browser.ts
|
|
291
|
+
var BrowserPlatformAdapter = class {
|
|
292
|
+
constructor() {
|
|
293
|
+
this.setTimeout = globalThis.setTimeout;
|
|
294
|
+
this.clearTimeout = globalThis.clearTimeout;
|
|
295
|
+
}
|
|
296
|
+
static {
|
|
297
|
+
__name(this, "BrowserPlatformAdapter");
|
|
298
|
+
}
|
|
299
|
+
async init() {
|
|
300
|
+
}
|
|
301
|
+
onUncaughtException(handler) {
|
|
302
|
+
const target = globalThis.window ?? globalThis;
|
|
303
|
+
const h = /* @__PURE__ */ __name((e) => handler(e?.error ?? e), "h");
|
|
304
|
+
target.addEventListener?.("error", h);
|
|
305
|
+
return () => target.removeEventListener?.("error", h);
|
|
306
|
+
}
|
|
307
|
+
onUnhandledRejection(handler) {
|
|
308
|
+
const target = globalThis.window ?? globalThis;
|
|
309
|
+
const wrap = /* @__PURE__ */ __name((e) => handler(e?.reason ?? e), "wrap");
|
|
310
|
+
target.addEventListener?.("unhandledrejection", wrap);
|
|
311
|
+
return () => target.removeEventListener?.("unhandledrejection", wrap);
|
|
312
|
+
}
|
|
313
|
+
onShutdownSignal(handler) {
|
|
314
|
+
const win = globalThis.window ?? globalThis;
|
|
315
|
+
const handlers = {};
|
|
316
|
+
handlers.before = (e) => handler();
|
|
317
|
+
win.addEventListener?.("beforeunload", handlers.before);
|
|
318
|
+
const doc = globalThis.document;
|
|
319
|
+
if (doc && typeof win.addEventListener === "function") {
|
|
320
|
+
handlers.visibility = () => {
|
|
321
|
+
if (doc.visibilityState === "hidden") handler();
|
|
322
|
+
};
|
|
323
|
+
win.addEventListener?.("visibilitychange", handlers.visibility);
|
|
324
|
+
}
|
|
325
|
+
return () => {
|
|
326
|
+
win.removeEventListener?.("beforeunload", handlers.before);
|
|
327
|
+
if (handlers.visibility) win.removeEventListener?.("visibilitychange", handlers.visibility);
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
exit() {
|
|
331
|
+
throw new PlatformUnsupportedFunction("exit");
|
|
332
|
+
}
|
|
333
|
+
getEnv(key) {
|
|
334
|
+
const g = globalThis;
|
|
335
|
+
if (g.__ENV__ && typeof g.__ENV__ === "object") return g.__ENV__[key];
|
|
336
|
+
if (typeof process !== "undefined" && process.env)
|
|
337
|
+
return process.env[key];
|
|
338
|
+
if (g.env && typeof g.env === "object") return g.env[key];
|
|
339
|
+
return void 0;
|
|
340
|
+
}
|
|
341
|
+
hasAsyncLocalStorage() {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
createAsyncLocalStorage() {
|
|
345
|
+
return {
|
|
346
|
+
getStore: /* @__PURE__ */ __name(() => {
|
|
347
|
+
throw new PlatformUnsupportedFunction("createAsyncLocalStorage");
|
|
348
|
+
}, "getStore"),
|
|
349
|
+
run: /* @__PURE__ */ __name(() => {
|
|
350
|
+
throw new PlatformUnsupportedFunction("createAsyncLocalStorage");
|
|
351
|
+
}, "run")
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
// src/platform/adapters/edge.ts
|
|
357
|
+
var EdgePlatformAdapter = class extends BrowserPlatformAdapter {
|
|
358
|
+
static {
|
|
359
|
+
__name(this, "EdgePlatformAdapter");
|
|
360
|
+
}
|
|
361
|
+
onShutdownSignal(handler) {
|
|
362
|
+
return () => {
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
// src/platform/adapters/universal-generic.ts
|
|
368
|
+
var GenericUniversalPlatformAdapter = class {
|
|
369
|
+
constructor() {
|
|
370
|
+
this.setTimeout = globalThis.setTimeout;
|
|
371
|
+
this.clearTimeout = globalThis.clearTimeout;
|
|
372
|
+
}
|
|
373
|
+
static {
|
|
374
|
+
__name(this, "GenericUniversalPlatformAdapter");
|
|
375
|
+
}
|
|
376
|
+
async init() {
|
|
377
|
+
}
|
|
378
|
+
onUncaughtException(handler) {
|
|
379
|
+
const tgt = globalThis;
|
|
380
|
+
if (tgt.addEventListener) {
|
|
381
|
+
const h = /* @__PURE__ */ __name((e) => handler(e?.error ?? e), "h");
|
|
382
|
+
tgt.addEventListener("error", h);
|
|
383
|
+
return () => tgt.removeEventListener?.("error", h);
|
|
384
|
+
}
|
|
385
|
+
return () => {
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
onUnhandledRejection(handler) {
|
|
389
|
+
const tgt = globalThis;
|
|
390
|
+
if (tgt.addEventListener) {
|
|
391
|
+
const wrap = /* @__PURE__ */ __name((e) => handler(e?.reason ?? e), "wrap");
|
|
392
|
+
tgt.addEventListener("unhandledrejection", wrap);
|
|
393
|
+
return () => tgt.removeEventListener?.("unhandledrejection", wrap);
|
|
394
|
+
}
|
|
395
|
+
return () => {
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
onShutdownSignal(handler) {
|
|
399
|
+
const tgt = globalThis;
|
|
400
|
+
if (tgt.addEventListener) {
|
|
401
|
+
const handlers = {};
|
|
402
|
+
handlers.before = (e) => handler();
|
|
403
|
+
tgt.addEventListener("beforeunload", handlers.before);
|
|
404
|
+
const doc = globalThis.document;
|
|
405
|
+
if (doc) {
|
|
406
|
+
handlers.visibility = () => {
|
|
407
|
+
if (doc.visibilityState === "hidden") handler();
|
|
408
|
+
};
|
|
409
|
+
tgt.addEventListener?.("visibilitychange", handlers.visibility);
|
|
410
|
+
}
|
|
411
|
+
return () => {
|
|
412
|
+
tgt.removeEventListener?.("beforeunload", handlers.before);
|
|
413
|
+
if (handlers.visibility) tgt.removeEventListener?.("visibilitychange", handlers.visibility);
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
return () => {
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
exit() {
|
|
420
|
+
throw new PlatformUnsupportedFunction("exit");
|
|
421
|
+
}
|
|
422
|
+
getEnv(key) {
|
|
423
|
+
const g = globalThis;
|
|
424
|
+
if (g.__ENV__ && typeof g.__ENV__ === "object") return g.__ENV__[key];
|
|
425
|
+
if (typeof process !== "undefined" && process.env)
|
|
426
|
+
return process.env[key];
|
|
427
|
+
if (g.env && typeof g.env === "object") return g.env[key];
|
|
428
|
+
return void 0;
|
|
429
|
+
}
|
|
430
|
+
hasAsyncLocalStorage() {
|
|
431
|
+
return false;
|
|
432
|
+
}
|
|
433
|
+
createAsyncLocalStorage() {
|
|
434
|
+
return {
|
|
435
|
+
getStore: /* @__PURE__ */ __name(() => {
|
|
436
|
+
throw new PlatformUnsupportedFunction("createAsyncLocalStorage");
|
|
437
|
+
}, "getStore"),
|
|
438
|
+
run: /* @__PURE__ */ __name(() => {
|
|
439
|
+
throw new PlatformUnsupportedFunction("createAsyncLocalStorage");
|
|
440
|
+
}, "run")
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
|
|
445
|
+
// src/platform/adapters/universal.ts
|
|
242
446
|
function detectEnvironment() {
|
|
243
447
|
if (typeof window !== "undefined" && typeof document !== "undefined") {
|
|
244
448
|
return "browser";
|
|
@@ -246,211 +450,141 @@ function detectEnvironment() {
|
|
|
246
450
|
if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
247
451
|
return "node";
|
|
248
452
|
}
|
|
453
|
+
if (typeof globalThis.Deno !== "undefined") {
|
|
454
|
+
return "universal";
|
|
455
|
+
}
|
|
456
|
+
if (typeof globalThis.Bun !== "undefined" || typeof process !== "undefined" && process.versions?.bun) {
|
|
457
|
+
return "universal";
|
|
458
|
+
}
|
|
459
|
+
if (typeof globalThis.WorkerGlobalScope !== "undefined" && typeof self !== "undefined" && self instanceof globalThis.WorkerGlobalScope) {
|
|
460
|
+
return "edge";
|
|
461
|
+
}
|
|
249
462
|
return "universal";
|
|
250
463
|
}
|
|
251
464
|
__name(detectEnvironment, "detectEnvironment");
|
|
252
|
-
var
|
|
253
|
-
constructor(
|
|
254
|
-
this.
|
|
255
|
-
this.nodeALSClass = null;
|
|
256
|
-
// timers
|
|
465
|
+
var UniversalPlatformAdapter = class {
|
|
466
|
+
constructor() {
|
|
467
|
+
this.inner = null;
|
|
257
468
|
this.setTimeout = globalThis.setTimeout;
|
|
258
469
|
this.clearTimeout = globalThis.clearTimeout;
|
|
259
|
-
|
|
470
|
+
}
|
|
471
|
+
static {
|
|
472
|
+
__name(this, "UniversalPlatformAdapter");
|
|
260
473
|
}
|
|
261
474
|
async init() {
|
|
262
|
-
if (this.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
475
|
+
if (!this.inner) {
|
|
476
|
+
const kind = detectEnvironment();
|
|
477
|
+
if (typeof globalThis.document !== "undefined" || typeof globalThis.addEventListener === "function") {
|
|
478
|
+
this.inner = new BrowserPlatformAdapter();
|
|
479
|
+
} else {
|
|
480
|
+
switch (kind) {
|
|
481
|
+
case "node":
|
|
482
|
+
this.inner = new NodePlatformAdapter();
|
|
483
|
+
break;
|
|
484
|
+
// istanbul ignore next: this branch is unreachable in practice because detectEnvironment()
|
|
485
|
+
// returns "browser" only when document is defined; we keep it for completeness.
|
|
486
|
+
case "browser":
|
|
487
|
+
this.inner = new BrowserPlatformAdapter();
|
|
488
|
+
break;
|
|
489
|
+
case "edge":
|
|
490
|
+
this.inner = new EdgePlatformAdapter();
|
|
491
|
+
break;
|
|
492
|
+
default:
|
|
493
|
+
this.inner = new GenericUniversalPlatformAdapter();
|
|
267
494
|
}
|
|
268
495
|
}
|
|
269
496
|
}
|
|
497
|
+
await this.inner.init();
|
|
270
498
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
499
|
+
get() {
|
|
500
|
+
if (!this.inner) {
|
|
501
|
+
const kind = detectEnvironment();
|
|
502
|
+
if (typeof globalThis.document !== "undefined" || typeof globalThis.addEventListener === "function") {
|
|
503
|
+
this.inner = new BrowserPlatformAdapter();
|
|
504
|
+
} else {
|
|
505
|
+
switch (kind) {
|
|
506
|
+
case "node":
|
|
507
|
+
this.inner = new NodePlatformAdapter();
|
|
508
|
+
break;
|
|
509
|
+
// istanbul ignore next: this branch is unreachable in practice because detectEnvironment()
|
|
510
|
+
// returns "browser" only when document is defined; we keep it for completeness.
|
|
511
|
+
case "browser":
|
|
512
|
+
this.inner = new BrowserPlatformAdapter();
|
|
513
|
+
break;
|
|
514
|
+
case "edge":
|
|
515
|
+
this.inner = new EdgePlatformAdapter();
|
|
516
|
+
break;
|
|
517
|
+
default:
|
|
518
|
+
this.inner = new GenericUniversalPlatformAdapter();
|
|
289
519
|
}
|
|
290
|
-
return () => {
|
|
291
|
-
};
|
|
292
520
|
}
|
|
293
521
|
}
|
|
522
|
+
return this.inner;
|
|
523
|
+
}
|
|
524
|
+
onUncaughtException(handler) {
|
|
525
|
+
return this.get().onUncaughtException(handler);
|
|
294
526
|
}
|
|
295
527
|
onUnhandledRejection(handler) {
|
|
296
|
-
|
|
297
|
-
case "node": {
|
|
298
|
-
const h = /* @__PURE__ */ __name((reason) => handler(reason), "h");
|
|
299
|
-
process.on("unhandledRejection", h);
|
|
300
|
-
return () => process.off("unhandledRejection", h);
|
|
301
|
-
}
|
|
302
|
-
case "browser": {
|
|
303
|
-
const target = globalThis.window;
|
|
304
|
-
const wrap = /* @__PURE__ */ __name((e) => handler(e.reason), "wrap");
|
|
305
|
-
target.addEventListener?.("unhandledrejection", wrap);
|
|
306
|
-
return () => target.removeEventListener?.("unhandledrejection", wrap);
|
|
307
|
-
}
|
|
308
|
-
default: {
|
|
309
|
-
const tgt = globalThis;
|
|
310
|
-
if (tgt.addEventListener) {
|
|
311
|
-
const wrap = /* @__PURE__ */ __name((e) => handler(e.reason ?? e), "wrap");
|
|
312
|
-
tgt.addEventListener("unhandledrejection", wrap);
|
|
313
|
-
return () => tgt.removeEventListener("unhandledrejection", wrap);
|
|
314
|
-
}
|
|
315
|
-
return () => {
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
}
|
|
528
|
+
return this.get().onUnhandledRejection(handler);
|
|
319
529
|
}
|
|
320
530
|
onShutdownSignal(handler) {
|
|
321
|
-
|
|
322
|
-
case "node": {
|
|
323
|
-
process.on("SIGINT", handler);
|
|
324
|
-
process.on("SIGTERM", handler);
|
|
325
|
-
return () => {
|
|
326
|
-
process.off("SIGINT", handler);
|
|
327
|
-
process.off("SIGTERM", handler);
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
case "browser": {
|
|
331
|
-
const win = window;
|
|
332
|
-
win.addEventListener?.("beforeunload", handler);
|
|
333
|
-
return () => {
|
|
334
|
-
win.removeEventListener?.("beforeunload", handler);
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
default: {
|
|
338
|
-
const tgt = globalThis;
|
|
339
|
-
const cleanup = [];
|
|
340
|
-
if (tgt.addEventListener) {
|
|
341
|
-
tgt.addEventListener("beforeunload", handler);
|
|
342
|
-
cleanup.push(
|
|
343
|
-
() => tgt.removeEventListener?.("beforeunload", handler)
|
|
344
|
-
);
|
|
345
|
-
const vis = /* @__PURE__ */ __name(() => {
|
|
346
|
-
const doc = globalThis.document;
|
|
347
|
-
if (doc && doc.visibilityState === "hidden") handler();
|
|
348
|
-
}, "vis");
|
|
349
|
-
tgt.addEventListener("visibilitychange", vis);
|
|
350
|
-
cleanup.push(
|
|
351
|
-
() => tgt.removeEventListener?.("visibilitychange", vis)
|
|
352
|
-
);
|
|
353
|
-
}
|
|
354
|
-
if (typeof process !== "undefined" && process.on) {
|
|
355
|
-
process.on("SIGINT", handler);
|
|
356
|
-
process.on("SIGTERM", handler);
|
|
357
|
-
cleanup.push(() => {
|
|
358
|
-
process.off?.("SIGINT", handler);
|
|
359
|
-
process.off?.("SIGTERM", handler);
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
return () => cleanup.forEach((fn) => fn());
|
|
363
|
-
}
|
|
364
|
-
}
|
|
531
|
+
return this.get().onShutdownSignal(handler);
|
|
365
532
|
}
|
|
366
533
|
exit(code) {
|
|
367
|
-
|
|
368
|
-
case "node":
|
|
369
|
-
process.exit(code);
|
|
370
|
-
return;
|
|
371
|
-
default:
|
|
372
|
-
throw new PlatformUnsupportedFunction("exit");
|
|
373
|
-
}
|
|
534
|
+
return this.get().exit(code);
|
|
374
535
|
}
|
|
375
536
|
getEnv(key) {
|
|
376
|
-
|
|
377
|
-
case "node":
|
|
378
|
-
return process.env[key];
|
|
379
|
-
default: {
|
|
380
|
-
const g = globalThis;
|
|
381
|
-
if (g.__ENV__ && typeof g.__ENV__ === "object") return g.__ENV__[key];
|
|
382
|
-
if (typeof process !== "undefined" && process.env)
|
|
383
|
-
return process.env[key];
|
|
384
|
-
if (g.env && typeof g.env === "object") return g.env[key];
|
|
385
|
-
return void 0;
|
|
386
|
-
}
|
|
387
|
-
}
|
|
537
|
+
return this.get().getEnv(key);
|
|
388
538
|
}
|
|
389
539
|
hasAsyncLocalStorage() {
|
|
390
|
-
|
|
391
|
-
case "node":
|
|
392
|
-
return true;
|
|
393
|
-
// We'll try native, else polyfill
|
|
394
|
-
case "browser":
|
|
395
|
-
default:
|
|
396
|
-
return false;
|
|
397
|
-
}
|
|
540
|
+
return this.get().hasAsyncLocalStorage();
|
|
398
541
|
}
|
|
399
542
|
createAsyncLocalStorage() {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
instance = new this.nodeALSClass();
|
|
411
|
-
}
|
|
412
|
-
return instance;
|
|
413
|
-
}, "get");
|
|
414
|
-
return {
|
|
415
|
-
getStore: /* @__PURE__ */ __name(() => get().getStore(), "getStore"),
|
|
416
|
-
run: /* @__PURE__ */ __name((store2, callback) => get().run(store2, callback), "run")
|
|
417
|
-
};
|
|
418
|
-
}
|
|
543
|
+
return this.get().createAsyncLocalStorage();
|
|
544
|
+
}
|
|
545
|
+
};
|
|
546
|
+
|
|
547
|
+
// src/platform/factory.ts
|
|
548
|
+
function createPlatformAdapter() {
|
|
549
|
+
{
|
|
550
|
+
switch ("node") {
|
|
551
|
+
case "node":
|
|
552
|
+
return new NodePlatformAdapter();
|
|
419
553
|
case "browser":
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
throw new PlatformUnsupportedFunction("createAsyncLocalStorage");
|
|
424
|
-
}, "getStore"),
|
|
425
|
-
run: /* @__PURE__ */ __name(() => {
|
|
426
|
-
throw new PlatformUnsupportedFunction("createAsyncLocalStorage");
|
|
427
|
-
}, "run")
|
|
428
|
-
};
|
|
554
|
+
return new BrowserPlatformAdapter();
|
|
555
|
+
case "edge":
|
|
556
|
+
return new EdgePlatformAdapter();
|
|
429
557
|
}
|
|
430
558
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
559
|
+
return new UniversalPlatformAdapter();
|
|
560
|
+
}
|
|
561
|
+
__name(createPlatformAdapter, "createPlatformAdapter");
|
|
562
|
+
|
|
563
|
+
// src/platform/index.ts
|
|
434
564
|
var platformInstance = null;
|
|
435
565
|
function getPlatform() {
|
|
436
566
|
if (!platformInstance) {
|
|
437
|
-
|
|
438
|
-
|
|
567
|
+
platformInstance = createPlatformAdapter();
|
|
568
|
+
detectEnvironment();
|
|
439
569
|
}
|
|
440
570
|
return platformInstance;
|
|
441
571
|
}
|
|
442
572
|
__name(getPlatform, "getPlatform");
|
|
443
573
|
|
|
444
574
|
// src/errors.ts
|
|
445
|
-
var
|
|
575
|
+
var RuntimeError = class extends Error {
|
|
576
|
+
static {
|
|
577
|
+
__name(this, "RuntimeError");
|
|
578
|
+
}
|
|
446
579
|
constructor(message) {
|
|
447
580
|
super(message);
|
|
448
581
|
this.name = "RuntimeError";
|
|
449
582
|
}
|
|
450
583
|
};
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
584
|
+
var DuplicateRegistrationError = class extends RuntimeError {
|
|
585
|
+
static {
|
|
586
|
+
__name(this, "DuplicateRegistrationError");
|
|
587
|
+
}
|
|
454
588
|
constructor(type, id2) {
|
|
455
589
|
super(
|
|
456
590
|
`${type} "${id2.toString()}" already registered. You might have used the same 'id' in two different components or you may have registered the same element twice.`
|
|
@@ -458,9 +592,10 @@ var _DuplicateRegistrationError = class _DuplicateRegistrationError extends Runt
|
|
|
458
592
|
this.name = "DuplicateRegistrationError";
|
|
459
593
|
}
|
|
460
594
|
};
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
595
|
+
var DependencyNotFoundError = class extends RuntimeError {
|
|
596
|
+
static {
|
|
597
|
+
__name(this, "DependencyNotFoundError");
|
|
598
|
+
}
|
|
464
599
|
constructor(key) {
|
|
465
600
|
super(
|
|
466
601
|
`Dependency ${key.toString()} not found. Did you forget to register it through a resource?`
|
|
@@ -468,9 +603,10 @@ var _DependencyNotFoundError = class _DependencyNotFoundError extends RuntimeErr
|
|
|
468
603
|
this.name = "DependencyNotFoundError";
|
|
469
604
|
}
|
|
470
605
|
};
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
606
|
+
var UnknownItemTypeError = class extends RuntimeError {
|
|
607
|
+
static {
|
|
608
|
+
__name(this, "UnknownItemTypeError");
|
|
609
|
+
}
|
|
474
610
|
constructor(item) {
|
|
475
611
|
super(
|
|
476
612
|
`Unknown item type: ${item}. Please ensure you are not using different versions of '@bluelibs/runner'`
|
|
@@ -478,17 +614,19 @@ var _UnknownItemTypeError = class _UnknownItemTypeError extends RuntimeError {
|
|
|
478
614
|
this.name = "UnknownItemTypeError";
|
|
479
615
|
}
|
|
480
616
|
};
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
617
|
+
var ContextError = class extends Error {
|
|
618
|
+
static {
|
|
619
|
+
__name(this, "ContextError");
|
|
620
|
+
}
|
|
484
621
|
constructor(message) {
|
|
485
622
|
super(message);
|
|
486
623
|
this.name = "ContextError";
|
|
487
624
|
}
|
|
488
625
|
};
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
626
|
+
var CircularDependenciesError = class extends RuntimeError {
|
|
627
|
+
static {
|
|
628
|
+
__name(this, "CircularDependenciesError");
|
|
629
|
+
}
|
|
492
630
|
constructor(cycles) {
|
|
493
631
|
const cycleDetails = cycles.map((cycle) => ` \u2022 ${cycle}`).join("\n");
|
|
494
632
|
const hasMiddleware = cycles.some((cycle) => cycle.includes("middleware"));
|
|
@@ -504,17 +642,19 @@ ${cycleDetails}${guidance}`);
|
|
|
504
642
|
this.name = "CircularDependenciesError";
|
|
505
643
|
}
|
|
506
644
|
};
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
645
|
+
var EventNotFoundError = class extends RuntimeError {
|
|
646
|
+
static {
|
|
647
|
+
__name(this, "EventNotFoundError");
|
|
648
|
+
}
|
|
510
649
|
constructor(id2) {
|
|
511
650
|
super(`Event "${id2.toString()}" not found. Did you forget to register it?`);
|
|
512
651
|
this.name = "EventNotFoundError";
|
|
513
652
|
}
|
|
514
653
|
};
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
654
|
+
var ResourceNotFoundError = class extends RuntimeError {
|
|
655
|
+
static {
|
|
656
|
+
__name(this, "ResourceNotFoundError");
|
|
657
|
+
}
|
|
518
658
|
constructor(id2) {
|
|
519
659
|
super(
|
|
520
660
|
`Resource "${id2.toString()}" not found. Did you forget to register it or are you using the correct id?`
|
|
@@ -522,9 +662,10 @@ var _ResourceNotFoundError = class _ResourceNotFoundError extends RuntimeError {
|
|
|
522
662
|
this.name = "ResourceNotFoundError";
|
|
523
663
|
}
|
|
524
664
|
};
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
665
|
+
var MiddlewareNotRegisteredError = class extends RuntimeError {
|
|
666
|
+
static {
|
|
667
|
+
__name(this, "MiddlewareNotRegisteredError");
|
|
668
|
+
}
|
|
528
669
|
constructor(type, source, middlewareId) {
|
|
529
670
|
super(
|
|
530
671
|
`Middleware inside ${type} "${source}" depends on "${middlewareId}" but it's not registered. Did you forget to register it?`
|
|
@@ -532,9 +673,10 @@ var _MiddlewareNotRegisteredError = class _MiddlewareNotRegisteredError extends
|
|
|
532
673
|
this.name = `MiddlewareNotRegisteredError: ${type} ${source} ${middlewareId}`;
|
|
533
674
|
}
|
|
534
675
|
};
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
676
|
+
var TagNotFoundError = class extends RuntimeError {
|
|
677
|
+
static {
|
|
678
|
+
__name(this, "TagNotFoundError");
|
|
679
|
+
}
|
|
538
680
|
constructor(id2) {
|
|
539
681
|
super(
|
|
540
682
|
`Tag "${id2}" not registered. Did you forget to register it inside a resource?`
|
|
@@ -542,34 +684,38 @@ var _TagNotFoundError = class _TagNotFoundError extends RuntimeError {
|
|
|
542
684
|
this.name = "TagNotRegisteredError";
|
|
543
685
|
}
|
|
544
686
|
};
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
687
|
+
var LockedError = class extends RuntimeError {
|
|
688
|
+
static {
|
|
689
|
+
__name(this, "LockedError");
|
|
690
|
+
}
|
|
548
691
|
constructor(what) {
|
|
549
692
|
super(`Cannot modify the ${what.toString()} when it is locked.`);
|
|
550
693
|
this.name = "LockedError";
|
|
551
694
|
}
|
|
552
695
|
};
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
696
|
+
var StoreAlreadyInitializedError = class extends RuntimeError {
|
|
697
|
+
static {
|
|
698
|
+
__name(this, "StoreAlreadyInitializedError");
|
|
699
|
+
}
|
|
556
700
|
constructor() {
|
|
557
701
|
super("Store already initialized. Cannot reinitialize.");
|
|
558
702
|
this.name = "StoreAlreadyInitializedError";
|
|
559
703
|
}
|
|
560
704
|
};
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
705
|
+
var ValidationError = class extends RuntimeError {
|
|
706
|
+
static {
|
|
707
|
+
__name(this, "ValidationError");
|
|
708
|
+
}
|
|
564
709
|
constructor(type, id2, originalError) {
|
|
565
710
|
const errorMessage = originalError instanceof Error ? originalError.message : String(originalError);
|
|
566
711
|
super(`${type} validation failed for ${id2.toString()}: ${errorMessage}`);
|
|
567
712
|
this.name = "ValidationError";
|
|
568
713
|
}
|
|
569
714
|
};
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
715
|
+
var EventCycleError = class extends RuntimeError {
|
|
716
|
+
static {
|
|
717
|
+
__name(this, "EventCycleError");
|
|
718
|
+
}
|
|
573
719
|
constructor(path) {
|
|
574
720
|
const chain = path.map((p) => `${p.id}\u2190${p.source}`).join(" -> ");
|
|
575
721
|
super(
|
|
@@ -581,9 +727,10 @@ Break the cycle by changing hook logic (avoid mutual emits) or gate with conditi
|
|
|
581
727
|
this.name = "EventCycleError";
|
|
582
728
|
}
|
|
583
729
|
};
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
730
|
+
var EventEmissionCycleError = class extends RuntimeError {
|
|
731
|
+
static {
|
|
732
|
+
__name(this, "EventEmissionCycleError");
|
|
733
|
+
}
|
|
587
734
|
constructor(cycles) {
|
|
588
735
|
const list = cycles.map((c) => ` \u2022 ${c}`).join("\n");
|
|
589
736
|
super(
|
|
@@ -595,9 +742,10 @@ This was detected at compile time (dry-run). Break the cycle by avoiding mutual
|
|
|
595
742
|
this.name = "EventEmissionCycleError";
|
|
596
743
|
}
|
|
597
744
|
};
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
745
|
+
var PlatformUnsupportedFunction = class extends RuntimeError {
|
|
746
|
+
static {
|
|
747
|
+
__name(this, "PlatformUnsupportedFunction");
|
|
748
|
+
}
|
|
601
749
|
constructor(functionName) {
|
|
602
750
|
super(
|
|
603
751
|
`Platform function not supported in this environment: ${functionName}. Detected platform: ${detectEnvironment()}.`
|
|
@@ -605,8 +753,6 @@ var _PlatformUnsupportedFunction = class _PlatformUnsupportedFunction extends Ru
|
|
|
605
753
|
this.name = "PlatformUnsupportedFunction";
|
|
606
754
|
}
|
|
607
755
|
};
|
|
608
|
-
__name(_PlatformUnsupportedFunction, "PlatformUnsupportedFunction");
|
|
609
|
-
var PlatformUnsupportedFunction = _PlatformUnsupportedFunction;
|
|
610
756
|
|
|
611
757
|
// src/definers/defineResource.ts
|
|
612
758
|
function defineResource(constConfig) {
|
|
@@ -999,7 +1145,7 @@ var globalEvents = {
|
|
|
999
1145
|
var globalEventsArray = [globalEvents.ready];
|
|
1000
1146
|
|
|
1001
1147
|
// src/models/Queue.ts
|
|
1002
|
-
var
|
|
1148
|
+
var Queue = class {
|
|
1003
1149
|
constructor() {
|
|
1004
1150
|
this.tail = Promise.resolve();
|
|
1005
1151
|
this.disposed = false;
|
|
@@ -1008,6 +1154,9 @@ var _Queue = class _Queue {
|
|
|
1008
1154
|
this.executionContext = getPlatform().createAsyncLocalStorage();
|
|
1009
1155
|
this.hasAsyncLocalStorage = getPlatform().hasAsyncLocalStorage();
|
|
1010
1156
|
}
|
|
1157
|
+
static {
|
|
1158
|
+
__name(this, "Queue");
|
|
1159
|
+
}
|
|
1011
1160
|
/**
|
|
1012
1161
|
* Schedule an asynchronous task.
|
|
1013
1162
|
* @param task – receives an AbortSignal so it can cancel early if desired.
|
|
@@ -1046,8 +1195,6 @@ var _Queue = class _Queue {
|
|
|
1046
1195
|
});
|
|
1047
1196
|
}
|
|
1048
1197
|
};
|
|
1049
|
-
__name(_Queue, "Queue");
|
|
1050
|
-
var Queue = _Queue;
|
|
1051
1198
|
|
|
1052
1199
|
// src/globals/resources/queue.resource.ts
|
|
1053
1200
|
var queueResource = defineResource({
|
|
@@ -1246,7 +1393,7 @@ var globalMiddlewares = {
|
|
|
1246
1393
|
};
|
|
1247
1394
|
|
|
1248
1395
|
// src/models/TaskRunner.ts
|
|
1249
|
-
var
|
|
1396
|
+
var TaskRunner = class {
|
|
1250
1397
|
constructor(store2, eventManager, logger) {
|
|
1251
1398
|
this.store = store2;
|
|
1252
1399
|
this.eventManager = eventManager;
|
|
@@ -1254,6 +1401,9 @@ var _TaskRunner = class _TaskRunner {
|
|
|
1254
1401
|
this.runnerStore = /* @__PURE__ */ new Map();
|
|
1255
1402
|
this.middlewareManager = this.store.getMiddlewareManager();
|
|
1256
1403
|
}
|
|
1404
|
+
static {
|
|
1405
|
+
__name(this, "TaskRunner");
|
|
1406
|
+
}
|
|
1257
1407
|
/**
|
|
1258
1408
|
* Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
|
|
1259
1409
|
* This function can throw only if any of the event listeners or run function throws
|
|
@@ -1291,12 +1441,9 @@ var _TaskRunner = class _TaskRunner {
|
|
|
1291
1441
|
return this.middlewareManager.composeTaskRunner(task);
|
|
1292
1442
|
}
|
|
1293
1443
|
};
|
|
1294
|
-
__name(_TaskRunner, "TaskRunner");
|
|
1295
|
-
var TaskRunner = _TaskRunner;
|
|
1296
1444
|
|
|
1297
1445
|
// src/models/MiddlewareManager.ts
|
|
1298
|
-
var
|
|
1299
|
-
var _MiddlewareManager = class _MiddlewareManager {
|
|
1446
|
+
var MiddlewareManager = class {
|
|
1300
1447
|
constructor(store2, eventManager, logger) {
|
|
1301
1448
|
this.store = store2;
|
|
1302
1449
|
this.eventManager = eventManager;
|
|
@@ -1308,25 +1455,29 @@ var _MiddlewareManager = class _MiddlewareManager {
|
|
|
1308
1455
|
this.perMiddlewareInterceptors = /* @__PURE__ */ new Map();
|
|
1309
1456
|
this.perResourceMiddlewareInterceptors = /* @__PURE__ */ new Map();
|
|
1310
1457
|
// Locking mechanism to prevent modifications after initialization
|
|
1311
|
-
|
|
1458
|
+
this.#isLocked = false;
|
|
1459
|
+
}
|
|
1460
|
+
static {
|
|
1461
|
+
__name(this, "MiddlewareManager");
|
|
1312
1462
|
}
|
|
1463
|
+
#isLocked;
|
|
1313
1464
|
/**
|
|
1314
1465
|
* Gets the current lock status of the MiddlewareManager
|
|
1315
1466
|
*/
|
|
1316
1467
|
get isLocked() {
|
|
1317
|
-
return
|
|
1468
|
+
return this.#isLocked;
|
|
1318
1469
|
}
|
|
1319
1470
|
/**
|
|
1320
1471
|
* Locks the MiddlewareManager, preventing any further modifications to interceptors
|
|
1321
1472
|
*/
|
|
1322
1473
|
lock() {
|
|
1323
|
-
|
|
1474
|
+
this.#isLocked = true;
|
|
1324
1475
|
}
|
|
1325
1476
|
/**
|
|
1326
1477
|
* Throws an error if the MiddlewareManager is locked
|
|
1327
1478
|
*/
|
|
1328
1479
|
checkLock() {
|
|
1329
|
-
if (
|
|
1480
|
+
if (this.#isLocked) {
|
|
1330
1481
|
throw new LockedError("MiddlewareManager");
|
|
1331
1482
|
}
|
|
1332
1483
|
}
|
|
@@ -1657,12 +1808,9 @@ var _MiddlewareManager = class _MiddlewareManager {
|
|
|
1657
1808
|
}).map((x) => x.middleware);
|
|
1658
1809
|
}
|
|
1659
1810
|
};
|
|
1660
|
-
_isLocked = new WeakMap();
|
|
1661
|
-
__name(_MiddlewareManager, "MiddlewareManager");
|
|
1662
|
-
var MiddlewareManager = _MiddlewareManager;
|
|
1663
1811
|
|
|
1664
1812
|
// src/models/ResourceInitializer.ts
|
|
1665
|
-
var
|
|
1813
|
+
var ResourceInitializer = class {
|
|
1666
1814
|
constructor(store2, eventManager, logger) {
|
|
1667
1815
|
this.store = store2;
|
|
1668
1816
|
this.eventManager = eventManager;
|
|
@@ -1673,6 +1821,9 @@ var _ResourceInitializer = class _ResourceInitializer {
|
|
|
1673
1821
|
this.logger
|
|
1674
1822
|
);
|
|
1675
1823
|
}
|
|
1824
|
+
static {
|
|
1825
|
+
__name(this, "ResourceInitializer");
|
|
1826
|
+
}
|
|
1676
1827
|
/**
|
|
1677
1828
|
* Begins the execution of an task. These are registered tasks and all sanity checks have been performed at this stage to ensure consistency of the object.
|
|
1678
1829
|
* This function can throw only if any of the event listeners or run function throws
|
|
@@ -1703,8 +1854,6 @@ var _ResourceInitializer = class _ResourceInitializer {
|
|
|
1703
1854
|
);
|
|
1704
1855
|
}
|
|
1705
1856
|
};
|
|
1706
|
-
__name(_ResourceInitializer, "ResourceInitializer");
|
|
1707
|
-
var ResourceInitializer = _ResourceInitializer;
|
|
1708
1857
|
|
|
1709
1858
|
// src/models/utils/safeStringify.ts
|
|
1710
1859
|
function safeStringify(value, space, options) {
|
|
@@ -1771,7 +1920,10 @@ var ICONS = {
|
|
|
1771
1920
|
error: "\u2715",
|
|
1772
1921
|
critical: "\u2588"
|
|
1773
1922
|
};
|
|
1774
|
-
var
|
|
1923
|
+
var LogPrinter = class _LogPrinter {
|
|
1924
|
+
static {
|
|
1925
|
+
__name(this, "LogPrinter");
|
|
1926
|
+
}
|
|
1775
1927
|
constructor(options) {
|
|
1776
1928
|
this.strategy = options.strategy;
|
|
1777
1929
|
if (options.strategy === "plain") {
|
|
@@ -1903,6 +2055,30 @@ var _LogPrinter = class _LogPrinter {
|
|
|
1903
2055
|
}
|
|
1904
2056
|
return normalized;
|
|
1905
2057
|
}
|
|
2058
|
+
static {
|
|
2059
|
+
this.NO_COLORS = {
|
|
2060
|
+
trace: "",
|
|
2061
|
+
debug: "",
|
|
2062
|
+
info: "",
|
|
2063
|
+
warn: "",
|
|
2064
|
+
error: "",
|
|
2065
|
+
critical: "",
|
|
2066
|
+
reset: "",
|
|
2067
|
+
bold: "",
|
|
2068
|
+
dim: "",
|
|
2069
|
+
blue: "",
|
|
2070
|
+
cyan: "",
|
|
2071
|
+
gray: ""
|
|
2072
|
+
};
|
|
2073
|
+
}
|
|
2074
|
+
static {
|
|
2075
|
+
this.writers = {
|
|
2076
|
+
// eslint-disable-next-line no-console
|
|
2077
|
+
log: /* @__PURE__ */ __name((msg) => console.log(msg), "log"),
|
|
2078
|
+
// eslint-disable-next-line no-console
|
|
2079
|
+
error: /* @__PURE__ */ __name((msg) => console.error?.(msg), "error")
|
|
2080
|
+
};
|
|
2081
|
+
}
|
|
1906
2082
|
static setWriters(writers) {
|
|
1907
2083
|
_LogPrinter.writers = { ..._LogPrinter.writers, ...writers };
|
|
1908
2084
|
}
|
|
@@ -1913,31 +2089,9 @@ var _LogPrinter = class _LogPrinter {
|
|
|
1913
2089
|
};
|
|
1914
2090
|
}
|
|
1915
2091
|
};
|
|
1916
|
-
__name(_LogPrinter, "LogPrinter");
|
|
1917
|
-
_LogPrinter.NO_COLORS = {
|
|
1918
|
-
trace: "",
|
|
1919
|
-
debug: "",
|
|
1920
|
-
info: "",
|
|
1921
|
-
warn: "",
|
|
1922
|
-
error: "",
|
|
1923
|
-
critical: "",
|
|
1924
|
-
reset: "",
|
|
1925
|
-
bold: "",
|
|
1926
|
-
dim: "",
|
|
1927
|
-
blue: "",
|
|
1928
|
-
cyan: "",
|
|
1929
|
-
gray: ""
|
|
1930
|
-
};
|
|
1931
|
-
_LogPrinter.writers = {
|
|
1932
|
-
// eslint-disable-next-line no-console
|
|
1933
|
-
log: /* @__PURE__ */ __name((msg) => console.log(msg), "log"),
|
|
1934
|
-
// eslint-disable-next-line no-console
|
|
1935
|
-
error: /* @__PURE__ */ __name((msg) => console.error?.(msg), "error")
|
|
1936
|
-
};
|
|
1937
|
-
var LogPrinter = _LogPrinter;
|
|
1938
2092
|
|
|
1939
2093
|
// src/models/Logger.ts
|
|
1940
|
-
var
|
|
2094
|
+
var Logger = class _Logger {
|
|
1941
2095
|
constructor(options, boundContext = {}, source, printer) {
|
|
1942
2096
|
this.printThreshold = "info";
|
|
1943
2097
|
this.printStrategy = "pretty";
|
|
@@ -1959,6 +2113,19 @@ var _Logger = class _Logger {
|
|
|
1959
2113
|
useColors: this.useColors
|
|
1960
2114
|
});
|
|
1961
2115
|
}
|
|
2116
|
+
static {
|
|
2117
|
+
__name(this, "Logger");
|
|
2118
|
+
}
|
|
2119
|
+
static {
|
|
2120
|
+
this.Severity = {
|
|
2121
|
+
trace: 0,
|
|
2122
|
+
debug: 1,
|
|
2123
|
+
info: 2,
|
|
2124
|
+
warn: 3,
|
|
2125
|
+
error: 4,
|
|
2126
|
+
critical: 5
|
|
2127
|
+
};
|
|
2128
|
+
}
|
|
1962
2129
|
detectColorSupport() {
|
|
1963
2130
|
const noColor = typeof process !== "undefined" && !!process.env.NO_COLOR;
|
|
1964
2131
|
if (noColor) return false;
|
|
@@ -2109,19 +2276,9 @@ var _Logger = class _Logger {
|
|
|
2109
2276
|
}
|
|
2110
2277
|
}
|
|
2111
2278
|
};
|
|
2112
|
-
__name(_Logger, "Logger");
|
|
2113
|
-
_Logger.Severity = {
|
|
2114
|
-
trace: 0,
|
|
2115
|
-
debug: 1,
|
|
2116
|
-
info: 2,
|
|
2117
|
-
warn: 3,
|
|
2118
|
-
error: 4,
|
|
2119
|
-
critical: 5
|
|
2120
|
-
};
|
|
2121
|
-
var Logger = _Logger;
|
|
2122
2279
|
|
|
2123
2280
|
// src/models/DependencyProcessor.ts
|
|
2124
|
-
var
|
|
2281
|
+
var DependencyProcessor = class {
|
|
2125
2282
|
constructor(store2, eventManager, taskRunner, logger) {
|
|
2126
2283
|
this.store = store2;
|
|
2127
2284
|
this.eventManager = eventManager;
|
|
@@ -2133,6 +2290,9 @@ var _DependencyProcessor = class _DependencyProcessor {
|
|
|
2133
2290
|
logger
|
|
2134
2291
|
);
|
|
2135
2292
|
}
|
|
2293
|
+
static {
|
|
2294
|
+
__name(this, "DependencyProcessor");
|
|
2295
|
+
}
|
|
2136
2296
|
/**
|
|
2137
2297
|
* This function is going to go through all the resources, tasks and middleware to compute their required dependencies.
|
|
2138
2298
|
*/
|
|
@@ -2397,13 +2557,10 @@ var _DependencyProcessor = class _DependencyProcessor {
|
|
|
2397
2557
|
return storeResource.value;
|
|
2398
2558
|
}
|
|
2399
2559
|
};
|
|
2400
|
-
__name(_DependencyProcessor, "DependencyProcessor");
|
|
2401
|
-
var DependencyProcessor = _DependencyProcessor;
|
|
2402
2560
|
|
|
2403
2561
|
// src/models/EventManager.ts
|
|
2404
2562
|
var HandlerOptionsDefaults = { order: 0 };
|
|
2405
|
-
var
|
|
2406
|
-
var _EventManager = class _EventManager {
|
|
2563
|
+
var EventManager = class {
|
|
2407
2564
|
constructor(options) {
|
|
2408
2565
|
// Core storage for event listeners
|
|
2409
2566
|
this.listeners = /* @__PURE__ */ new Map();
|
|
@@ -2415,7 +2572,7 @@ var _EventManager = class _EventManager {
|
|
|
2415
2572
|
this.emissionInterceptors = [];
|
|
2416
2573
|
this.hookInterceptors = [];
|
|
2417
2574
|
// Locking mechanism to prevent modifications after initialization
|
|
2418
|
-
|
|
2575
|
+
this.#isLocked = false;
|
|
2419
2576
|
this.runtimeCycleDetection = options?.runtimeCycleDetection ?? true;
|
|
2420
2577
|
if (getPlatform().hasAsyncLocalStorage() && this.runtimeCycleDetection) {
|
|
2421
2578
|
this.emissionStack = getPlatform().createAsyncLocalStorage();
|
|
@@ -2426,18 +2583,22 @@ var _EventManager = class _EventManager {
|
|
|
2426
2583
|
this.currentHookIdContext = null;
|
|
2427
2584
|
}
|
|
2428
2585
|
}
|
|
2586
|
+
static {
|
|
2587
|
+
__name(this, "EventManager");
|
|
2588
|
+
}
|
|
2589
|
+
#isLocked;
|
|
2429
2590
|
// ==================== PUBLIC API ====================
|
|
2430
2591
|
/**
|
|
2431
2592
|
* Gets the current lock status of the EventManager
|
|
2432
2593
|
*/
|
|
2433
2594
|
get isLocked() {
|
|
2434
|
-
return
|
|
2595
|
+
return this.#isLocked;
|
|
2435
2596
|
}
|
|
2436
2597
|
/**
|
|
2437
2598
|
* Locks the EventManager, preventing any further modifications to listeners
|
|
2438
2599
|
*/
|
|
2439
2600
|
lock() {
|
|
2440
|
-
|
|
2601
|
+
this.#isLocked = true;
|
|
2441
2602
|
}
|
|
2442
2603
|
/**
|
|
2443
2604
|
* Emits an event to all registered listeners for that event type.
|
|
@@ -2678,7 +2839,7 @@ var _EventManager = class _EventManager {
|
|
|
2678
2839
|
* Throws an error if the EventManager is locked
|
|
2679
2840
|
*/
|
|
2680
2841
|
checkLock() {
|
|
2681
|
-
if (
|
|
2842
|
+
if (this.#isLocked) {
|
|
2682
2843
|
throw new LockedError("EventManager");
|
|
2683
2844
|
}
|
|
2684
2845
|
}
|
|
@@ -2780,9 +2941,6 @@ var _EventManager = class _EventManager {
|
|
|
2780
2941
|
}
|
|
2781
2942
|
}
|
|
2782
2943
|
};
|
|
2783
|
-
_isLocked2 = new WeakMap();
|
|
2784
|
-
__name(_EventManager, "EventManager");
|
|
2785
|
-
var EventManager = _EventManager;
|
|
2786
2944
|
|
|
2787
2945
|
// src/models/utils/findCircularDependencies.ts
|
|
2788
2946
|
function findCircularDependencies(nodes) {
|
|
@@ -2829,10 +2987,13 @@ function findCircularDependencies(nodes) {
|
|
|
2829
2987
|
__name(findCircularDependencies, "findCircularDependencies");
|
|
2830
2988
|
|
|
2831
2989
|
// src/models/StoreValidator.ts
|
|
2832
|
-
var
|
|
2990
|
+
var StoreValidator = class {
|
|
2833
2991
|
constructor(registry) {
|
|
2834
2992
|
this.registry = registry;
|
|
2835
2993
|
}
|
|
2994
|
+
static {
|
|
2995
|
+
__name(this, "StoreValidator");
|
|
2996
|
+
}
|
|
2836
2997
|
checkIfIDExists(id2) {
|
|
2837
2998
|
if (this.registry.tasks.has(id2)) {
|
|
2838
2999
|
throw new DuplicateRegistrationError("Task", id2);
|
|
@@ -2908,11 +3069,9 @@ var _StoreValidator = class _StoreValidator {
|
|
|
2908
3069
|
}
|
|
2909
3070
|
}
|
|
2910
3071
|
};
|
|
2911
|
-
__name(_StoreValidator, "StoreValidator");
|
|
2912
|
-
var StoreValidator = _StoreValidator;
|
|
2913
3072
|
|
|
2914
3073
|
// src/models/StoreRegistry.ts
|
|
2915
|
-
var
|
|
3074
|
+
var StoreRegistry = class {
|
|
2916
3075
|
constructor(store2) {
|
|
2917
3076
|
this.store = store2;
|
|
2918
3077
|
this.tasks = /* @__PURE__ */ new Map();
|
|
@@ -2924,6 +3083,9 @@ var _StoreRegistry = class _StoreRegistry {
|
|
|
2924
3083
|
this.tags = /* @__PURE__ */ new Map();
|
|
2925
3084
|
this.validator = new StoreValidator(this);
|
|
2926
3085
|
}
|
|
3086
|
+
static {
|
|
3087
|
+
__name(this, "StoreRegistry");
|
|
3088
|
+
}
|
|
2927
3089
|
getValidator() {
|
|
2928
3090
|
return this.validator;
|
|
2929
3091
|
}
|
|
@@ -3263,16 +3425,17 @@ var _StoreRegistry = class _StoreRegistry {
|
|
|
3263
3425
|
return currentItem;
|
|
3264
3426
|
}
|
|
3265
3427
|
};
|
|
3266
|
-
__name(_StoreRegistry, "StoreRegistry");
|
|
3267
|
-
var StoreRegistry = _StoreRegistry;
|
|
3268
3428
|
|
|
3269
3429
|
// src/models/OverrideManager.ts
|
|
3270
|
-
var
|
|
3430
|
+
var OverrideManager = class {
|
|
3271
3431
|
constructor(registry) {
|
|
3272
3432
|
this.registry = registry;
|
|
3273
3433
|
this.overrides = /* @__PURE__ */ new Map();
|
|
3274
3434
|
this.overrideRequests = /* @__PURE__ */ new Set();
|
|
3275
3435
|
}
|
|
3436
|
+
static {
|
|
3437
|
+
__name(this, "OverrideManager");
|
|
3438
|
+
}
|
|
3276
3439
|
storeOverridesDeeply(element) {
|
|
3277
3440
|
element.overrides.forEach((override) => {
|
|
3278
3441
|
if (!override) {
|
|
@@ -3330,23 +3493,23 @@ var _OverrideManager = class _OverrideManager {
|
|
|
3330
3493
|
}
|
|
3331
3494
|
}
|
|
3332
3495
|
};
|
|
3333
|
-
__name(_OverrideManager, "OverrideManager");
|
|
3334
|
-
var OverrideManager = _OverrideManager;
|
|
3335
3496
|
|
|
3336
3497
|
// src/models/Store.ts
|
|
3337
|
-
var
|
|
3338
|
-
var _Store = class _Store {
|
|
3498
|
+
var Store = class {
|
|
3339
3499
|
constructor(eventManager, logger, onUnhandledError) {
|
|
3340
3500
|
this.eventManager = eventManager;
|
|
3341
3501
|
this.logger = logger;
|
|
3342
3502
|
this.onUnhandledError = onUnhandledError;
|
|
3343
|
-
__privateAdd(this, _isLocked3, false);
|
|
3344
|
-
__privateAdd(this, _isInitialized, false);
|
|
3345
3503
|
this.registry = new StoreRegistry(this);
|
|
3346
3504
|
this.validator = this.registry.getValidator();
|
|
3347
3505
|
this.overrideManager = new OverrideManager(this.registry);
|
|
3348
3506
|
this.middlewareManager = new MiddlewareManager(this, eventManager, logger);
|
|
3349
3507
|
}
|
|
3508
|
+
static {
|
|
3509
|
+
__name(this, "Store");
|
|
3510
|
+
}
|
|
3511
|
+
#isLocked = false;
|
|
3512
|
+
#isInitialized = false;
|
|
3350
3513
|
// Delegate properties to registry
|
|
3351
3514
|
get tasks() {
|
|
3352
3515
|
return this.registry.tasks;
|
|
@@ -3381,13 +3544,13 @@ var _Store = class _Store {
|
|
|
3381
3544
|
return this.middlewareManager;
|
|
3382
3545
|
}
|
|
3383
3546
|
get isLocked() {
|
|
3384
|
-
return
|
|
3547
|
+
return this.#isLocked;
|
|
3385
3548
|
}
|
|
3386
3549
|
lock() {
|
|
3387
|
-
|
|
3550
|
+
this.#isLocked = true;
|
|
3388
3551
|
}
|
|
3389
3552
|
checkLock() {
|
|
3390
|
-
if (
|
|
3553
|
+
if (this.#isLocked) {
|
|
3391
3554
|
throw new Error("Cannot modify the Store when it is locked.");
|
|
3392
3555
|
}
|
|
3393
3556
|
}
|
|
@@ -3471,7 +3634,7 @@ var _Store = class _Store {
|
|
|
3471
3634
|
}
|
|
3472
3635
|
}
|
|
3473
3636
|
initializeStore(root, config) {
|
|
3474
|
-
if (
|
|
3637
|
+
if (this.#isInitialized) {
|
|
3475
3638
|
throw new StoreAlreadyInitializedError();
|
|
3476
3639
|
}
|
|
3477
3640
|
this.registerGlobalComponents();
|
|
@@ -3480,7 +3643,7 @@ var _Store = class _Store {
|
|
|
3480
3643
|
for (const resource of this.resources.values()) {
|
|
3481
3644
|
this.overrideManager.storeOverridesDeeply(resource.resource);
|
|
3482
3645
|
}
|
|
3483
|
-
|
|
3646
|
+
this.#isInitialized = true;
|
|
3484
3647
|
}
|
|
3485
3648
|
async dispose() {
|
|
3486
3649
|
for (const resource of this.resources.values()) {
|
|
@@ -3525,10 +3688,6 @@ var _Store = class _Store {
|
|
|
3525
3688
|
return this.registry.getResourcesWithTag(tag);
|
|
3526
3689
|
}
|
|
3527
3690
|
};
|
|
3528
|
-
_isLocked3 = new WeakMap();
|
|
3529
|
-
_isInitialized = new WeakMap();
|
|
3530
|
-
__name(_Store, "Store");
|
|
3531
|
-
var Store = _Store;
|
|
3532
3691
|
|
|
3533
3692
|
// src/globals/resources/debug/types.ts
|
|
3534
3693
|
var allFalse = Object.freeze({
|
|
@@ -3955,7 +4114,7 @@ async function safeReportUnhandledError(handler, info) {
|
|
|
3955
4114
|
__name(safeReportUnhandledError, "safeReportUnhandledError");
|
|
3956
4115
|
|
|
3957
4116
|
// src/models/RunResult.ts
|
|
3958
|
-
var
|
|
4117
|
+
var RunResult = class {
|
|
3959
4118
|
constructor(value, logger, store2, eventManager, taskRunner, disposeFn) {
|
|
3960
4119
|
this.value = value;
|
|
3961
4120
|
this.logger = logger;
|
|
@@ -4010,9 +4169,10 @@ var _RunResult = class _RunResult {
|
|
|
4010
4169
|
return this.disposeFn();
|
|
4011
4170
|
}, "dispose");
|
|
4012
4171
|
}
|
|
4172
|
+
static {
|
|
4173
|
+
__name(this, "RunResult");
|
|
4174
|
+
}
|
|
4013
4175
|
};
|
|
4014
|
-
__name(_RunResult, "RunResult");
|
|
4015
|
-
var RunResult = _RunResult;
|
|
4016
4176
|
|
|
4017
4177
|
// src/run.ts
|
|
4018
4178
|
var platform3 = getPlatform();
|
|
@@ -4173,7 +4333,7 @@ function buildTestFacade(deps) {
|
|
|
4173
4333
|
__name(buildTestFacade, "buildTestFacade");
|
|
4174
4334
|
|
|
4175
4335
|
// src/models/Semaphore.ts
|
|
4176
|
-
var
|
|
4336
|
+
var Semaphore = class {
|
|
4177
4337
|
constructor(maxPermits) {
|
|
4178
4338
|
this.waitingQueue = [];
|
|
4179
4339
|
this.disposed = false;
|
|
@@ -4183,6 +4343,9 @@ var _Semaphore = class _Semaphore {
|
|
|
4183
4343
|
this.permits = maxPermits;
|
|
4184
4344
|
this.maxPermits = maxPermits;
|
|
4185
4345
|
}
|
|
4346
|
+
static {
|
|
4347
|
+
__name(this, "Semaphore");
|
|
4348
|
+
}
|
|
4186
4349
|
/**
|
|
4187
4350
|
* Acquire a permit. If no permits are available, waits until one becomes available.
|
|
4188
4351
|
*/
|
|
@@ -4317,8 +4480,6 @@ var _Semaphore = class _Semaphore {
|
|
|
4317
4480
|
};
|
|
4318
4481
|
}
|
|
4319
4482
|
};
|
|
4320
|
-
__name(_Semaphore, "Semaphore");
|
|
4321
|
-
var Semaphore = _Semaphore;
|
|
4322
4483
|
|
|
4323
4484
|
// src/index.ts
|
|
4324
4485
|
var globals = {
|