@adviser/cement 0.3.1 → 0.3.3
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/base-sys-abstraction-CR_Z-Ceg.d.ts +84 -0
- package/base-sys-abstraction-DWtPI7Kg.d.cts +84 -0
- package/cf/index.cjs +936 -0
- package/cf/index.cjs.map +1 -0
- package/cf/index.d.cts +27 -0
- package/cf/index.d.ts +27 -0
- package/cf/index.js +12 -0
- package/cf/index.js.map +1 -0
- package/{chunk-3RHIVQAA.js → chunk-A7OPSHUV.js} +6 -94
- package/chunk-A7OPSHUV.js.map +1 -0
- package/chunk-HFP74WLI.js +96 -0
- package/chunk-HFP74WLI.js.map +1 -0
- package/chunk-P6LDM7PY.js +1189 -0
- package/chunk-P6LDM7PY.js.map +1 -0
- package/chunk-PRCFKZR7.js +1742 -0
- package/chunk-PRCFKZR7.js.map +1 -0
- package/deno/index.cjs +947 -0
- package/deno/index.cjs.map +1 -0
- package/deno/index.d.cts +59 -0
- package/deno/index.d.ts +59 -0
- package/deno/index.js +16 -0
- package/deno/index.js.map +1 -0
- package/index-BfZxTAe_.d.cts +318 -0
- package/index-CfSl8Gmj.d.ts +318 -0
- package/index.cjs +400 -143
- package/index.cjs.map +1 -1
- package/index.d.cts +7 -317
- package/index.d.ts +7 -317
- package/index.js +34 -1729
- package/index.js.map +1 -1
- package/node/index.cjs +272 -217
- package/node/index.cjs.map +1 -1
- package/node/index.d.cts +16 -21
- package/node/index.d.ts +16 -21
- package/node/index.js +8 -352
- package/node/index.js.map +1 -1
- package/package.json +18 -11
- package/src/cf/cf-sys-abstraction.ts +86 -0
- package/src/cf/index.ts +1 -0
- package/src/{node → deno}/deno-file-service.ts +2 -2
- package/src/{node → deno}/deno-sys-abstraction.ts +64 -7
- package/src/deno/index.ts +2 -0
- package/src/index.ts +1 -2
- package/src/jsr.json +1 -1
- package/src/logger-impl.ts +2 -2
- package/src/logger.ts +10 -3
- package/src/node/index.ts +0 -1
- package/src/node/node-sys-abstraction.ts +45 -1
- package/src/runtime.ts +13 -3
- package/src/sys-env.ts +19 -113
- package/src/test/index.ts +2 -0
- package/src/web/web-sys-abstraction.ts +42 -2
- package/sys-abstraction-GNnBj2sz.d.cts +102 -0
- package/sys-abstraction-GNnBj2sz.d.ts +102 -0
- package/test/index.cjs +2688 -0
- package/test/index.cjs.map +1 -0
- package/test/index.d.cts +3 -0
- package/test/index.d.ts +3 -0
- package/test/index.js +14 -0
- package/test/index.js.map +1 -0
- package/ts/base-sys-abstraction.test.js +8 -2
- package/ts/base-sys-abstraction.test.js.map +1 -1
- package/ts/cf/cf-sys-abstraction.d.ts +25 -0
- package/ts/cf/cf-sys-abstraction.d.ts.map +1 -0
- package/ts/cf/cf-sys-abstraction.js +80 -0
- package/ts/cf/cf-sys-abstraction.js.map +1 -0
- package/ts/cf/index.d.ts +2 -0
- package/ts/cf/index.d.ts.map +1 -0
- package/ts/cf/index.js +2 -0
- package/ts/cf/index.js.map +1 -0
- package/ts/crypto.test.js +1 -1
- package/ts/crypto.test.js.map +1 -1
- package/ts/{node → deno}/deno-file-service.d.ts.map +1 -1
- package/ts/{node → deno}/deno-file-service.js +1 -1
- package/ts/{node → deno}/deno-file-service.js.map +1 -1
- package/ts/deno/deno-sys-abstraction.d.ts +43 -0
- package/ts/deno/deno-sys-abstraction.d.ts.map +1 -0
- package/ts/{node → deno}/deno-sys-abstraction.js +46 -2
- package/ts/deno/deno-sys-abstraction.js.map +1 -0
- package/ts/deno/index.d.ts +3 -0
- package/ts/deno/index.d.ts.map +1 -0
- package/ts/deno/index.js +3 -0
- package/ts/deno/index.js.map +1 -0
- package/ts/index.d.ts +1 -2
- package/ts/index.d.ts.map +1 -1
- package/ts/index.js +1 -2
- package/ts/index.js.map +1 -1
- package/ts/logger-impl.js +2 -2
- package/ts/logger-impl.js.map +1 -1
- package/ts/logger.d.ts.map +1 -1
- package/ts/logger.js +9 -3
- package/ts/logger.js.map +1 -1
- package/ts/logger.test.js +9 -9
- package/ts/logger.test.js.map +1 -1
- package/ts/node/index.d.ts +0 -1
- package/ts/node/index.d.ts.map +1 -1
- package/ts/node/index.js +0 -1
- package/ts/node/index.js.map +1 -1
- package/ts/node/node-sys-abstraction.d.ts +14 -1
- package/ts/node/node-sys-abstraction.d.ts.map +1 -1
- package/ts/node/node-sys-abstraction.js +43 -0
- package/ts/node/node-sys-abstraction.js.map +1 -1
- package/ts/runtime.d.ts +1 -0
- package/ts/runtime.d.ts.map +1 -1
- package/ts/runtime.js +10 -3
- package/ts/runtime.js.map +1 -1
- package/ts/sys-env.d.ts +0 -11
- package/ts/sys-env.d.ts.map +1 -1
- package/ts/sys-env.js +19 -104
- package/ts/sys-env.js.map +1 -1
- package/ts/sys-env.test.js +16 -3
- package/ts/sys-env.test.js.map +1 -1
- package/ts/test/index.d.ts +3 -0
- package/ts/test/index.d.ts.map +1 -0
- package/ts/test/index.js +3 -0
- package/ts/test/index.js.map +1 -0
- package/ts/test/test-exit-handler.js +1 -1
- package/ts/web/web-sys-abstraction.d.ts +27 -0
- package/ts/web/web-sys-abstraction.d.ts.map +1 -1
- package/ts/web/web-sys-abstraction.js +35 -1
- package/ts/web/web-sys-abstraction.js.map +1 -1
- package/utils/index.js +6 -4
- package/web/index.cjs +396 -67
- package/web/index.cjs.map +1 -1
- package/web/index.d.cts +28 -2
- package/web/index.d.ts +28 -2
- package/web/index.js +5 -2
- package/base-sys-abstraction-BPFyK8XL.d.ts +0 -195
- package/base-sys-abstraction-KYXfUGd6.d.cts +0 -195
- package/chunk-3RHIVQAA.js.map +0 -1
- package/chunk-PSPOGR2I.js +0 -627
- package/chunk-PSPOGR2I.js.map +0 -1
- package/chunk-STUPETPE.js +0 -87
- package/chunk-STUPETPE.js.map +0 -1
- package/ts/node/deno-sys-abstraction.d.ts +0 -22
- package/ts/node/deno-sys-abstraction.d.ts.map +0 -1
- package/ts/node/deno-sys-abstraction.js.map +0 -1
- /package/ts/{node → deno}/deno-file-service.d.ts +0 -0
package/node/index.cjs
CHANGED
@@ -37,10 +37,8 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
|
|
37
37
|
// src/node/index.ts
|
38
38
|
var node_exports = {};
|
39
39
|
__export(node_exports, {
|
40
|
-
DenoExitServiceImpl: () => DenoExitServiceImpl,
|
41
|
-
DenoSysAbstraction: () => DenoSysAbstraction,
|
42
|
-
DenoSystemService: () => DenoSystemService,
|
43
40
|
MockFileService: () => MockFileService,
|
41
|
+
NodeEnvActions: () => NodeEnvActions,
|
44
42
|
NodeExitServiceImpl: () => NodeExitServiceImpl,
|
45
43
|
NodeFileService: () => NodeFileService,
|
46
44
|
NodeSysAbstraction: () => NodeSysAbstraction,
|
@@ -448,54 +446,105 @@ var ResolveOnce = class {
|
|
448
446
|
}
|
449
447
|
}
|
450
448
|
};
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
// eslint-disable-next-line @typescript-eslint/no-useless-constructor, @typescript-eslint/no-unused-vars
|
456
|
-
constructor(opts) {
|
457
|
-
__privateAdd(this, _node, globalThis);
|
458
|
-
this._env = this.active() ? __privateGet(this, _node).process.env : {};
|
459
|
-
}
|
460
|
-
register(env) {
|
461
|
-
return env;
|
462
|
-
}
|
463
|
-
active() {
|
464
|
-
return typeof __privateGet(this, _node) === "object" && typeof __privateGet(this, _node).process === "object" && typeof __privateGet(this, _node).process.env === "object";
|
449
|
+
var Keyed = class {
|
450
|
+
constructor(factory) {
|
451
|
+
this._map = /* @__PURE__ */ new Map();
|
452
|
+
this.factory = factory;
|
465
453
|
}
|
466
|
-
|
467
|
-
return
|
454
|
+
async asyncGet(key) {
|
455
|
+
return this.get(await key());
|
468
456
|
}
|
469
457
|
get(key) {
|
470
|
-
|
471
|
-
|
472
|
-
set(key, value) {
|
473
|
-
if (value) {
|
474
|
-
this._env[key] = value;
|
458
|
+
if (typeof key === "function") {
|
459
|
+
key = key();
|
475
460
|
}
|
461
|
+
let keyed = this._map.get(key);
|
462
|
+
if (!keyed) {
|
463
|
+
keyed = this.factory(key);
|
464
|
+
this._map.set(key, keyed);
|
465
|
+
}
|
466
|
+
return keyed;
|
476
467
|
}
|
477
|
-
|
478
|
-
|
468
|
+
unget(key) {
|
469
|
+
const keyed = this._map.get(key);
|
470
|
+
keyed == null ? void 0 : keyed.reset();
|
471
|
+
this._map.delete(key);
|
472
|
+
}
|
473
|
+
reset() {
|
474
|
+
this._map.forEach((keyed) => keyed.reset());
|
475
|
+
this._map.clear();
|
479
476
|
}
|
480
477
|
};
|
481
|
-
|
478
|
+
var KeyedResolvOnce = class extends Keyed {
|
479
|
+
constructor() {
|
480
|
+
super((key) => new ResolveOnce(key));
|
481
|
+
}
|
482
|
+
};
|
483
|
+
|
484
|
+
// src/runtime.ts
|
485
|
+
function isSet(value, ref = globalThis) {
|
486
|
+
const [head, ...tail] = value.split(".");
|
487
|
+
if (["object", "function"].includes(typeof ref) && ref && ["object", "function"].includes(typeof ref[head]) && ref[head]) {
|
488
|
+
if (tail.length <= 1) {
|
489
|
+
return true;
|
490
|
+
}
|
491
|
+
return isSet(tail.join("."), ref[head]);
|
492
|
+
}
|
493
|
+
return false;
|
494
|
+
}
|
495
|
+
function runtimeFn() {
|
496
|
+
const gt = globalThis;
|
497
|
+
let isReactNative = isSet("navigator.product") && typeof gt["navigator"] === "object" && gt["navigator"]["product"] === "ReactNative";
|
498
|
+
let isNodeIsh = false;
|
499
|
+
if (!isSet("Deno")) {
|
500
|
+
isNodeIsh = isSet("process.versions.node") && !isReactNative;
|
501
|
+
}
|
502
|
+
let isDeno = isSet("Deno");
|
503
|
+
const isCFWorker = isSet("caches.default") && isSet("WebSocketPair");
|
504
|
+
if (isCFWorker) {
|
505
|
+
isDeno = false;
|
506
|
+
isNodeIsh = false;
|
507
|
+
isReactNative = false;
|
508
|
+
}
|
509
|
+
return {
|
510
|
+
isNodeIsh,
|
511
|
+
isBrowser: !(isNodeIsh || isDeno || isCFWorker || isReactNative),
|
512
|
+
isDeno,
|
513
|
+
isReactNative,
|
514
|
+
isCFWorker
|
515
|
+
};
|
516
|
+
}
|
517
|
+
|
518
|
+
// src/deno/deno-file-service.ts
|
519
|
+
var path2 = __toESM(require("path"), 1);
|
520
|
+
var Deno = globalThis.Deno;
|
521
|
+
|
522
|
+
// src/deno/deno-sys-abstraction.ts
|
523
|
+
var Deno2 = globalThis.Deno;
|
524
|
+
var once = new ResolveOnce();
|
482
525
|
var _deno;
|
483
|
-
var
|
484
|
-
// eslint-disable-next-line @typescript-eslint/no-useless-constructor, @typescript-eslint/no-unused-vars
|
526
|
+
var _DenoEnvActions = class _DenoEnvActions {
|
485
527
|
constructor(opts) {
|
486
528
|
__privateAdd(this, _deno, globalThis);
|
529
|
+
this.opts = opts;
|
530
|
+
}
|
531
|
+
static new(opts) {
|
532
|
+
return once.once(() => new _DenoEnvActions(opts));
|
487
533
|
}
|
488
534
|
get _env() {
|
489
535
|
return __privateGet(this, _deno).Deno.env;
|
490
536
|
}
|
491
537
|
register(env) {
|
538
|
+
for (const key of env.keys()) {
|
539
|
+
this._env.set(key, env.get(key) || "");
|
540
|
+
}
|
492
541
|
return env;
|
493
542
|
}
|
494
543
|
active() {
|
495
|
-
return
|
544
|
+
return runtimeFn().isDeno;
|
496
545
|
}
|
497
546
|
keys() {
|
498
|
-
return
|
547
|
+
return Object.keys(this._env.toObject());
|
499
548
|
}
|
500
549
|
get(key) {
|
501
550
|
return this._env.get(key);
|
@@ -510,11 +559,99 @@ var DenoEnvActions = class {
|
|
510
559
|
}
|
511
560
|
};
|
512
561
|
_deno = new WeakMap();
|
513
|
-
var
|
562
|
+
var DenoEnvActions = _DenoEnvActions;
|
563
|
+
var DenoExitServiceImpl = class {
|
564
|
+
constructor() {
|
565
|
+
this._exitHandlers = [];
|
566
|
+
this.invoked = false;
|
567
|
+
this._handleExit = async () => {
|
568
|
+
if (this.invoked) {
|
569
|
+
return;
|
570
|
+
}
|
571
|
+
this.invoked = true;
|
572
|
+
for (const h of this._exitHandlers) {
|
573
|
+
try {
|
574
|
+
const ret = h.hdl();
|
575
|
+
if (typeof ret.then === "function") {
|
576
|
+
await ret;
|
577
|
+
}
|
578
|
+
} finally {
|
579
|
+
}
|
580
|
+
}
|
581
|
+
};
|
582
|
+
globalThis.addEventListener("unhandledrejection", (e) => {
|
583
|
+
e.preventDefault();
|
584
|
+
this.exit(19);
|
585
|
+
});
|
586
|
+
globalThis.addEventListener("error", () => {
|
587
|
+
this.exit(19);
|
588
|
+
});
|
589
|
+
globalThis.addEventListener("uncaughtException", () => {
|
590
|
+
this.exit(19);
|
591
|
+
});
|
592
|
+
globalThis.addEventListener("unload", () => {
|
593
|
+
this.exit(0);
|
594
|
+
});
|
595
|
+
Deno2.addSignalListener("SIGQUIT", () => {
|
596
|
+
this.exit(3);
|
597
|
+
});
|
598
|
+
Deno2.addSignalListener("SIGINT", () => {
|
599
|
+
this.exit(2);
|
600
|
+
});
|
601
|
+
Deno2.addSignalListener("SIGTERM", () => {
|
602
|
+
this.exit(9);
|
603
|
+
});
|
604
|
+
}
|
605
|
+
injectExitHandlers(hdls) {
|
606
|
+
this._exitHandlers = hdls;
|
607
|
+
}
|
608
|
+
exit(code) {
|
609
|
+
this._handleExit().then(() => {
|
610
|
+
Deno2.exit(code);
|
611
|
+
}).catch((err) => {
|
612
|
+
console.error("ExitService: failed to handle exit", err);
|
613
|
+
Deno2.exit(code);
|
614
|
+
});
|
615
|
+
}
|
616
|
+
};
|
617
|
+
var _DenoSystemService = class _DenoSystemService {
|
618
|
+
constructor() {
|
619
|
+
this._exitService = new DenoExitServiceImpl();
|
620
|
+
this._exitService.injectExitHandlers(_DenoSystemService._exitHandlers);
|
621
|
+
}
|
622
|
+
Env() {
|
623
|
+
return envFactory();
|
624
|
+
}
|
625
|
+
Args() {
|
626
|
+
return Deno2.args;
|
627
|
+
}
|
628
|
+
OnExit(hdl) {
|
629
|
+
const id = crypto.randomUUID();
|
630
|
+
_DenoSystemService._exitHandlers.push({ hdl, id });
|
631
|
+
return () => {
|
632
|
+
const idx = _DenoSystemService._exitHandlers.findIndex((h) => h.id === id);
|
633
|
+
if (idx >= 0) {
|
634
|
+
_DenoSystemService._exitHandlers.splice(idx, 1);
|
635
|
+
}
|
636
|
+
};
|
637
|
+
}
|
638
|
+
Exit(code) {
|
639
|
+
this._exitService.exit(code);
|
640
|
+
}
|
641
|
+
};
|
642
|
+
_DenoSystemService._exitHandlers = [];
|
643
|
+
var DenoSystemService = _DenoSystemService;
|
644
|
+
|
645
|
+
// src/web/web-sys-abstraction.ts
|
646
|
+
var once2 = new ResolveOnce();
|
647
|
+
var BrowserEnvActions = class _BrowserEnvActions {
|
514
648
|
constructor(opts) {
|
515
649
|
this.env = /* @__PURE__ */ new Map();
|
516
650
|
this.opts = opts;
|
517
651
|
}
|
652
|
+
static new(opts) {
|
653
|
+
return once2.once(() => new _BrowserEnvActions(opts));
|
654
|
+
}
|
518
655
|
get(key) {
|
519
656
|
return this.env.get(key);
|
520
657
|
}
|
@@ -539,24 +676,77 @@ var BrowserEnvActions = class {
|
|
539
676
|
return env;
|
540
677
|
}
|
541
678
|
};
|
679
|
+
|
680
|
+
// src/cf/cf-sys-abstraction.ts
|
681
|
+
var once3 = new ResolveOnce();
|
682
|
+
var CFEnvActions = class _CFEnvActions {
|
683
|
+
constructor(env) {
|
684
|
+
this.injectOnRegister = {};
|
685
|
+
this.cfEnv = new Map(Object.entries(env.presetEnv || {}));
|
686
|
+
}
|
687
|
+
static new(opts) {
|
688
|
+
return once3.once(() => new _CFEnvActions(opts));
|
689
|
+
}
|
690
|
+
static inject(o) {
|
691
|
+
const env = _CFEnvActions.new({});
|
692
|
+
for (const key in o) {
|
693
|
+
const value = o[key];
|
694
|
+
if (typeof value === "string") {
|
695
|
+
if (env.env) {
|
696
|
+
env.env.set(key, value);
|
697
|
+
} else {
|
698
|
+
env.injectOnRegister[key] = value;
|
699
|
+
}
|
700
|
+
}
|
701
|
+
}
|
702
|
+
}
|
703
|
+
active() {
|
704
|
+
return runtimeFn().isCFWorker;
|
705
|
+
}
|
706
|
+
register(env) {
|
707
|
+
this.env = env;
|
708
|
+
for (const key in this.injectOnRegister) {
|
709
|
+
env.set(key, this.injectOnRegister[key]);
|
710
|
+
}
|
711
|
+
return env;
|
712
|
+
}
|
713
|
+
get(key) {
|
714
|
+
return this.cfEnv.get(key);
|
715
|
+
}
|
716
|
+
set(key, value) {
|
717
|
+
if (value) {
|
718
|
+
this.cfEnv.set(key, value);
|
719
|
+
}
|
720
|
+
}
|
721
|
+
delete(key) {
|
722
|
+
this.cfEnv.delete(key);
|
723
|
+
}
|
724
|
+
keys() {
|
725
|
+
return Array.from(this.cfEnv.keys());
|
726
|
+
}
|
727
|
+
};
|
728
|
+
|
729
|
+
// src/sys-env.ts
|
542
730
|
var envActions = [
|
543
|
-
{ id: "
|
544
|
-
{ id: "
|
545
|
-
{ id: "
|
731
|
+
{ id: "cf", fn: (opts) => CFEnvActions.new(opts) },
|
732
|
+
{ id: "node", fn: (opts) => NodeEnvActions.new(opts) },
|
733
|
+
{ id: "deno", fn: (opts) => DenoEnvActions.new(opts) },
|
734
|
+
{ id: "browser", fn: (opts) => BrowserEnvActions.new(opts) }
|
546
735
|
];
|
547
|
-
var
|
736
|
+
var _envFactories = new KeyedResolvOnce();
|
548
737
|
function envFactory(opts = {}) {
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
const
|
555
|
-
|
738
|
+
const found = envActions.find((fi) => fi.fn(opts).active());
|
739
|
+
if (!found) {
|
740
|
+
throw new Error("SysContainer:envFactory: no env available");
|
741
|
+
}
|
742
|
+
return _envFactories.get(found.id).once(() => {
|
743
|
+
const action = found.fn(opts);
|
744
|
+
const ret = new EnvImpl2(action, opts);
|
745
|
+
action.register(ret);
|
556
746
|
return ret;
|
557
747
|
});
|
558
748
|
}
|
559
|
-
var
|
749
|
+
var EnvImpl2 = class {
|
560
750
|
constructor(map, opts = {}) {
|
561
751
|
this._onSet = [];
|
562
752
|
this._map = map;
|
@@ -626,6 +816,43 @@ var EnvImpl = class {
|
|
626
816
|
|
627
817
|
// src/node/node-sys-abstraction.ts
|
628
818
|
var import_node_process2 = __toESM(require("process"), 1);
|
819
|
+
var once4 = new ResolveOnce();
|
820
|
+
var _node;
|
821
|
+
var _NodeEnvActions = class _NodeEnvActions {
|
822
|
+
constructor(opts) {
|
823
|
+
__privateAdd(this, _node, globalThis);
|
824
|
+
this._env = this.active() ? __privateGet(this, _node).process.env : {};
|
825
|
+
this.opts = opts;
|
826
|
+
}
|
827
|
+
static new(opts) {
|
828
|
+
return once4.once(() => new _NodeEnvActions(opts));
|
829
|
+
}
|
830
|
+
register(env) {
|
831
|
+
for (const key of env.keys()) {
|
832
|
+
this._env[key] = env.get(key) || "";
|
833
|
+
}
|
834
|
+
return env;
|
835
|
+
}
|
836
|
+
active() {
|
837
|
+
return runtimeFn().isNodeIsh;
|
838
|
+
}
|
839
|
+
keys() {
|
840
|
+
return Object.keys(this._env);
|
841
|
+
}
|
842
|
+
get(key) {
|
843
|
+
return this._env[key];
|
844
|
+
}
|
845
|
+
set(key, value) {
|
846
|
+
if (value) {
|
847
|
+
this._env[key] = value;
|
848
|
+
}
|
849
|
+
}
|
850
|
+
delete(key) {
|
851
|
+
delete this._env[key];
|
852
|
+
}
|
853
|
+
};
|
854
|
+
_node = new WeakMap();
|
855
|
+
var NodeEnvActions = _NodeEnvActions;
|
629
856
|
var NodeExitServiceImpl = class {
|
630
857
|
constructor() {
|
631
858
|
this._exitHandlers = [];
|
@@ -718,176 +945,6 @@ function NodeSysAbstraction(param) {
|
|
718
945
|
return new WrapperSysAbstraction(my, param);
|
719
946
|
}
|
720
947
|
|
721
|
-
// src/node/deno-sys-abstraction.ts
|
722
|
-
var process3 = __toESM(require("process"), 1);
|
723
|
-
|
724
|
-
// src/node/deno-file-service.ts
|
725
|
-
var path2 = __toESM(require("path"), 1);
|
726
|
-
var Deno = globalThis.Deno;
|
727
|
-
var DenoFileService = class {
|
728
|
-
constructor(baseDir = Deno.cwd(), txtEnde = Utf8EnDecoderSingleton()) {
|
729
|
-
this.baseDir = this.abs(baseDir);
|
730
|
-
this.txtEnde = txtEnde;
|
731
|
-
}
|
732
|
-
// nodeImport(fname: string): string {
|
733
|
-
// // console.log('nodeImport:'+ fname);
|
734
|
-
// if (path.isAbsolute(fname)) {
|
735
|
-
// return fname;
|
736
|
-
// } else {
|
737
|
-
// return "./" + path.normalize(fname);
|
738
|
-
// }
|
739
|
-
// }
|
740
|
-
async readFileString(fname) {
|
741
|
-
return this.txtEnde.decode(await Deno.readFile(fname));
|
742
|
-
}
|
743
|
-
dirname(fname) {
|
744
|
-
return path2.dirname(fname);
|
745
|
-
}
|
746
|
-
basename(fname) {
|
747
|
-
return path2.basename(fname);
|
748
|
-
}
|
749
|
-
join(...paths) {
|
750
|
-
return path2.join(...paths);
|
751
|
-
}
|
752
|
-
relative(from, to) {
|
753
|
-
if (to === void 0) {
|
754
|
-
to = from;
|
755
|
-
from = Deno.cwd();
|
756
|
-
}
|
757
|
-
const ret = path2.relative(from, to);
|
758
|
-
return ret;
|
759
|
-
}
|
760
|
-
abs(fname) {
|
761
|
-
if (path2.isAbsolute(fname)) {
|
762
|
-
return fname;
|
763
|
-
} else {
|
764
|
-
const cwd = Deno.cwd();
|
765
|
-
return path2.resolve(cwd, fname);
|
766
|
-
}
|
767
|
-
}
|
768
|
-
isAbsolute(fname) {
|
769
|
-
return path2.isAbsolute(fname);
|
770
|
-
}
|
771
|
-
async writeFileString(fname, content, ende = Utf8EnDecoderSingleton()) {
|
772
|
-
const o = await this.create(fname);
|
773
|
-
const wr = o.stream.getWriter();
|
774
|
-
await wr.write(ende.encode(content));
|
775
|
-
await wr.close();
|
776
|
-
}
|
777
|
-
async create(fname) {
|
778
|
-
let oName = fname;
|
779
|
-
if (!path2.isAbsolute(fname)) {
|
780
|
-
oName = this.abs(fname);
|
781
|
-
}
|
782
|
-
const base = path2.dirname(oName);
|
783
|
-
await Deno.mkdir(base, { recursive: true });
|
784
|
-
const out = await Deno.open(oName, {
|
785
|
-
write: true,
|
786
|
-
create: true,
|
787
|
-
truncate: true
|
788
|
-
});
|
789
|
-
return {
|
790
|
-
name: oName,
|
791
|
-
stream: out
|
792
|
-
};
|
793
|
-
}
|
794
|
-
};
|
795
|
-
|
796
|
-
// src/node/deno-sys-abstraction.ts
|
797
|
-
var Deno2 = globalThis.Deno;
|
798
|
-
var DenoExitServiceImpl = class {
|
799
|
-
constructor() {
|
800
|
-
this._exitHandlers = [];
|
801
|
-
this.invoked = false;
|
802
|
-
this._handleExit = async () => {
|
803
|
-
if (this.invoked) {
|
804
|
-
return;
|
805
|
-
}
|
806
|
-
this.invoked = true;
|
807
|
-
for (const h of this._exitHandlers) {
|
808
|
-
try {
|
809
|
-
const ret = h.hdl();
|
810
|
-
if (typeof ret.then === "function") {
|
811
|
-
await ret;
|
812
|
-
}
|
813
|
-
} finally {
|
814
|
-
}
|
815
|
-
}
|
816
|
-
};
|
817
|
-
globalThis.addEventListener("unhandledrejection", (e) => {
|
818
|
-
e.preventDefault();
|
819
|
-
this.exit(19);
|
820
|
-
});
|
821
|
-
globalThis.addEventListener("error", () => {
|
822
|
-
this.exit(19);
|
823
|
-
});
|
824
|
-
globalThis.addEventListener("uncaughtException", () => {
|
825
|
-
this.exit(19);
|
826
|
-
});
|
827
|
-
globalThis.addEventListener("unload", () => {
|
828
|
-
this.exit(0);
|
829
|
-
});
|
830
|
-
Deno2.addSignalListener("SIGQUIT", () => {
|
831
|
-
this.exit(3);
|
832
|
-
});
|
833
|
-
Deno2.addSignalListener("SIGINT", () => {
|
834
|
-
this.exit(2);
|
835
|
-
});
|
836
|
-
Deno2.addSignalListener("SIGTERM", () => {
|
837
|
-
this.exit(9);
|
838
|
-
});
|
839
|
-
}
|
840
|
-
injectExitHandlers(hdls) {
|
841
|
-
this._exitHandlers = hdls;
|
842
|
-
}
|
843
|
-
exit(code) {
|
844
|
-
this._handleExit().then(() => {
|
845
|
-
Deno2.exit(code);
|
846
|
-
}).catch((err) => {
|
847
|
-
console.error("ExitService: failed to handle exit", err);
|
848
|
-
Deno2.exit(code);
|
849
|
-
});
|
850
|
-
}
|
851
|
-
};
|
852
|
-
var _DenoSystemService = class _DenoSystemService {
|
853
|
-
constructor() {
|
854
|
-
this._exitService = new DenoExitServiceImpl();
|
855
|
-
this._exitService.injectExitHandlers(_DenoSystemService._exitHandlers);
|
856
|
-
}
|
857
|
-
Env() {
|
858
|
-
return envFactory();
|
859
|
-
}
|
860
|
-
Args() {
|
861
|
-
return process3.argv;
|
862
|
-
}
|
863
|
-
OnExit(hdl) {
|
864
|
-
const id = crypto.randomUUID();
|
865
|
-
_DenoSystemService._exitHandlers.push({ hdl, id });
|
866
|
-
return () => {
|
867
|
-
const idx = _DenoSystemService._exitHandlers.findIndex((h) => h.id === id);
|
868
|
-
if (idx >= 0) {
|
869
|
-
_DenoSystemService._exitHandlers.splice(idx, 1);
|
870
|
-
}
|
871
|
-
};
|
872
|
-
}
|
873
|
-
Exit(code) {
|
874
|
-
this._exitService.exit(code);
|
875
|
-
}
|
876
|
-
};
|
877
|
-
_DenoSystemService._exitHandlers = [];
|
878
|
-
var DenoSystemService = _DenoSystemService;
|
879
|
-
var my2 = void 0;
|
880
|
-
function DenoSysAbstraction(param) {
|
881
|
-
if (!my2) {
|
882
|
-
my2 = new BaseSysAbstraction({
|
883
|
-
TxtEnDecoder: (param == null ? void 0 : param.TxtEnDecoder) || Utf8EnDecoderSingleton(),
|
884
|
-
FileSystem: new DenoFileService(),
|
885
|
-
SystemService: new DenoSystemService()
|
886
|
-
});
|
887
|
-
}
|
888
|
-
return new WrapperSysAbstraction(my2, param);
|
889
|
-
}
|
890
|
-
|
891
948
|
// src/node/mock-file-service.ts
|
892
949
|
var MockFileService = class extends NodeFileService {
|
893
950
|
constructor() {
|
@@ -926,10 +983,8 @@ var MockFileService = class extends NodeFileService {
|
|
926
983
|
};
|
927
984
|
// Annotate the CommonJS export names for ESM import in node:
|
928
985
|
0 && (module.exports = {
|
929
|
-
DenoExitServiceImpl,
|
930
|
-
DenoSysAbstraction,
|
931
|
-
DenoSystemService,
|
932
986
|
MockFileService,
|
987
|
+
NodeEnvActions,
|
933
988
|
NodeExitServiceImpl,
|
934
989
|
NodeFileService,
|
935
990
|
NodeSysAbstraction,
|