@adviser/cement 0.3.19 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base-sys-abstraction-DgTynXGV.d.cts +95 -0
- package/base-sys-abstraction-h0dB3nZ5.d.ts +95 -0
- package/cf/index.cjs +232 -283
- package/cf/index.cjs.map +1 -1
- package/cf/index.d.cts +10 -8
- package/cf/index.d.ts +10 -8
- package/cf/index.js +6 -41
- package/cf/index.js.map +1 -1
- package/{chunk-GDTTUMIL.js → chunk-6F3ACVHD.js} +62 -22
- package/chunk-6F3ACVHD.js.map +1 -0
- package/{chunk-PHS255C5.js → chunk-FOALXQST.js} +1 -68
- package/chunk-FOALXQST.js.map +1 -0
- package/{chunk-23MCJYE6.js → chunk-X3IV2RYT.js} +422 -602
- package/chunk-X3IV2RYT.js.map +1 -0
- package/chunk-YKGCONBX.js +677 -0
- package/chunk-YKGCONBX.js.map +1 -0
- package/{chunk-55W4AK2Z.js → chunk-YVACAIUX.js} +5 -5
- package/deno/index.cjs +257 -241
- package/deno/index.cjs.map +1 -1
- package/deno/index.d.cts +3 -5
- package/deno/index.d.ts +3 -5
- package/deno/index.js +14 -16
- package/deno/index.js.map +1 -1
- package/{index-D1j1fPYg.d.ts → index-N0bkrgSt.d.ts} +15 -3
- package/{index-Cp1NspHH.d.cts → index-TtYD7HhB.d.cts} +15 -3
- package/index.cjs +1851 -1709
- package/index.cjs.map +1 -1
- package/index.d.cts +9 -8
- package/index.d.ts +9 -8
- package/index.js +21 -16
- package/index.js.map +1 -1
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/node/index.cjs +499 -474
- package/node/index.cjs.map +1 -1
- package/node/index.d.cts +3 -5
- package/node/index.d.ts +3 -5
- package/node/index.js +14 -16
- package/node/index.js.map +1 -1
- package/package.json +6 -6
- package/src/base-sys-abstraction.ts +106 -116
- package/src/cf/cf-basic-sys-abstraction.ts +79 -0
- package/src/cf/index.ts +1 -1
- package/src/cf-test-main.ts +10 -1
- package/src/deno/deno-basic-sys-abstraction.ts +39 -0
- package/src/deno/deno-file-service.ts +1 -1
- package/src/deno/deno-sys-abstraction.ts +19 -22
- package/src/jsr.json +1 -1
- package/src/log-writer-impl.ts +6 -0
- package/src/logger-impl.ts +17 -19
- package/src/node/node-basic-sys-abstraction.ts +59 -0
- package/src/node/node-sys-abstraction.ts +19 -22
- package/src/sys-abstraction.ts +12 -6
- package/src/test/mock-logger.ts +2 -2
- package/src/txt-en-decoder.ts +3 -3
- package/src/uri.ts +71 -0
- package/src/web/index.ts +1 -1
- package/src/web/web-basic-sys-abstraction.ts +105 -0
- package/{sys-abstraction-B0x6IE7r.d.ts → sys-abstraction-CeAxxg9H.d.ts} +11 -7
- package/{sys-abstraction-BTs3Vzy4.d.cts → sys-abstraction-DDAwGTnk.d.cts} +11 -7
- package/test/index.cjs +1534 -1419
- package/test/index.cjs.map +1 -1
- package/test/index.d.cts +2 -2
- package/test/index.d.ts +2 -2
- package/test/index.js +4 -5
- package/ts/smoke/smoke.js +7 -8
- package/ts/smoke/smoke.js.map +1 -1
- package/ts/src/base-basic-sys-abstraction.test.d.ts +2 -0
- package/ts/src/base-basic-sys-abstraction.test.d.ts.map +1 -0
- package/ts/src/{base-sys-abstraction.test.js → base-basic-sys-abstraction.test.js} +9 -9
- package/ts/src/base-basic-sys-abstraction.test.js.map +1 -0
- package/ts/src/base-sys-abstraction.d.ts +33 -21
- package/ts/src/base-sys-abstraction.d.ts.map +1 -1
- package/ts/src/base-sys-abstraction.js +54 -67
- package/ts/src/base-sys-abstraction.js.map +1 -1
- package/ts/src/cf/cf-basic-sys-abstraction.d.ts +14 -0
- package/ts/src/cf/cf-basic-sys-abstraction.d.ts.map +1 -0
- package/ts/src/cf/cf-basic-sys-abstraction.js +67 -0
- package/ts/src/cf/cf-basic-sys-abstraction.js.map +1 -0
- package/ts/src/cf/index.d.ts +1 -1
- package/ts/src/cf/index.d.ts.map +1 -1
- package/ts/src/cf/index.js +1 -1
- package/ts/src/cf/index.js.map +1 -1
- package/ts/src/cf-test-main.d.ts.map +1 -1
- package/ts/src/cf-test-main.js +7 -1
- package/ts/src/cf-test-main.js.map +1 -1
- package/ts/src/deno/deno-basic-sys-abstraction.d.ts +14 -0
- package/ts/src/deno/deno-basic-sys-abstraction.d.ts.map +1 -0
- package/ts/src/deno/deno-basic-sys-abstraction.js +35 -0
- package/ts/src/deno/deno-basic-sys-abstraction.js.map +1 -0
- package/ts/src/deno/deno-file-service.d.ts +1 -1
- package/ts/src/deno/deno-file-service.d.ts.map +1 -1
- package/ts/src/deno/deno-sys-abstraction.d.ts +3 -6
- package/ts/src/deno/deno-sys-abstraction.d.ts.map +1 -1
- package/ts/src/deno/deno-sys-abstraction.js +13 -17
- package/ts/src/deno/deno-sys-abstraction.js.map +1 -1
- package/ts/src/log-writer-impl.d.ts +1 -0
- package/ts/src/log-writer-impl.d.ts.map +1 -1
- package/ts/src/log-writer-impl.js +1 -0
- package/ts/src/log-writer-impl.js.map +1 -1
- package/ts/src/logger-impl.d.ts +3 -3
- package/ts/src/logger-impl.d.ts.map +1 -1
- package/ts/src/logger-impl.js +3 -18
- package/ts/src/logger-impl.js.map +1 -1
- package/ts/src/logger.test.js +3 -4
- package/ts/src/logger.test.js.map +1 -1
- package/ts/src/node/node-basic-sys-abstraction.d.ts +25 -0
- package/ts/src/node/node-basic-sys-abstraction.d.ts.map +1 -0
- package/ts/src/node/node-basic-sys-abstraction.js +44 -0
- package/ts/src/node/node-basic-sys-abstraction.js.map +1 -0
- package/ts/src/node/node-sys-abstraction.d.ts +3 -6
- package/ts/src/node/node-sys-abstraction.d.ts.map +1 -1
- package/ts/src/node/node-sys-abstraction.js +13 -17
- package/ts/src/node/node-sys-abstraction.js.map +1 -1
- package/ts/src/node/node-sys-abstraction.test.js +1 -1
- package/ts/src/node/node-sys-abstraction.test.js.map +1 -1
- package/ts/src/resolve-once.test.js +1 -1
- package/ts/src/sys-abstraction.d.ts +10 -6
- package/ts/src/sys-abstraction.d.ts.map +1 -1
- package/ts/src/test/mock-logger.d.ts +2 -2
- package/ts/src/test/mock-logger.d.ts.map +1 -1
- package/ts/src/test/mock-logger.js.map +1 -1
- package/ts/src/tracer.test.js +5 -8
- package/ts/src/tracer.test.js.map +1 -1
- package/ts/src/txt-en-decoder.d.ts.map +1 -1
- package/ts/src/txt-en-decoder.js +3 -3
- package/ts/src/txt-en-decoder.js.map +1 -1
- package/ts/src/uri.d.ts +12 -0
- package/ts/src/uri.d.ts.map +1 -1
- package/ts/src/uri.js +55 -0
- package/ts/src/uri.js.map +1 -1
- package/ts/src/uri.test.js +48 -0
- package/ts/src/uri.test.js.map +1 -1
- package/ts/src/web/index.d.ts +1 -1
- package/ts/src/web/index.d.ts.map +1 -1
- package/ts/src/web/index.js +1 -1
- package/ts/src/web/index.js.map +1 -1
- package/ts/src/web/web-basic-sys-abstraction.d.ts +4 -0
- package/ts/src/web/web-basic-sys-abstraction.d.ts.map +1 -0
- package/ts/src/web/web-basic-sys-abstraction.js +45 -0
- package/ts/src/web/web-basic-sys-abstraction.js.map +1 -0
- package/ts/vitest.workspace.d.ts +1 -1
- package/utils/index.cjs +132 -3
- package/utils/index.cjs.map +1 -1
- package/utils/index.js +5 -5
- package/web/index.cjs +277 -281
- package/web/index.cjs.map +1 -1
- package/web/index.d.cts +4 -17
- package/web/index.d.ts +4 -17
- package/web/index.js +4 -7
- package/base-sys-abstraction-BnBZ6zd0.d.ts +0 -84
- package/base-sys-abstraction-DAZ8tx5F.d.cts +0 -84
- package/chunk-23MCJYE6.js.map +0 -1
- package/chunk-GDTTUMIL.js.map +0 -1
- package/chunk-H6MLKWIZ.js +0 -88
- package/chunk-H6MLKWIZ.js.map +0 -1
- package/chunk-LXTKPZ6M.js +0 -255
- package/chunk-LXTKPZ6M.js.map +0 -1
- package/chunk-PHS255C5.js.map +0 -1
- package/src/cf/cf-sys-abstraction.ts +0 -34
- package/src/web/web-sys-abstraction.ts +0 -80
- package/ts/src/base-sys-abstraction.test.d.ts +0 -2
- package/ts/src/base-sys-abstraction.test.d.ts.map +0 -1
- package/ts/src/base-sys-abstraction.test.js.map +0 -1
- package/ts/src/cf/cf-sys-abstraction.d.ts +0 -11
- package/ts/src/cf/cf-sys-abstraction.d.ts.map +0 -1
- package/ts/src/cf/cf-sys-abstraction.js +0 -30
- package/ts/src/cf/cf-sys-abstraction.js.map +0 -1
- package/ts/src/web/web-sys-abstraction.d.ts +0 -18
- package/ts/src/web/web-sys-abstraction.d.ts.map +0 -1
- package/ts/src/web/web-sys-abstraction.js +0 -64
- package/ts/src/web/web-sys-abstraction.js.map +0 -1
- /package/{chunk-55W4AK2Z.js.map → chunk-YVACAIUX.js.map} +0 -0
@@ -1,594 +1,12 @@
|
|
1
1
|
import {
|
2
|
-
|
2
|
+
ConsoleWriterStream,
|
3
|
+
KeyedResolvOnce,
|
4
|
+
ResolveOnce,
|
5
|
+
TxtEnDecoderSingleton,
|
3
6
|
__privateAdd,
|
4
7
|
__privateGet,
|
5
|
-
__privateSet,
|
6
8
|
getParamsResult
|
7
|
-
} from "./chunk-
|
8
|
-
|
9
|
-
// src/sys-abstraction.ts
|
10
|
-
var TimeMode = {
|
11
|
-
REAL: "real",
|
12
|
-
CONST: "const",
|
13
|
-
STEP: "step"
|
14
|
-
};
|
15
|
-
var RandomMode = {
|
16
|
-
CONST: "const",
|
17
|
-
STEP: "step",
|
18
|
-
RANDOM: "random"
|
19
|
-
};
|
20
|
-
var IDMode = {
|
21
|
-
UUID: "uuid",
|
22
|
-
CONST: "const",
|
23
|
-
STEP: "step"
|
24
|
-
};
|
25
|
-
function String2TimeMode(s) {
|
26
|
-
switch (s == null ? void 0 : s.toLowerCase()) {
|
27
|
-
case "real":
|
28
|
-
return TimeMode.REAL;
|
29
|
-
case "const":
|
30
|
-
return TimeMode.CONST;
|
31
|
-
case "step":
|
32
|
-
return TimeMode.STEP;
|
33
|
-
default:
|
34
|
-
return TimeMode.REAL;
|
35
|
-
}
|
36
|
-
}
|
37
|
-
|
38
|
-
// src/time.ts
|
39
|
-
var Time = class {
|
40
|
-
TimeSince(start) {
|
41
|
-
const now = this.Now();
|
42
|
-
return now.getTime() - start.getTime();
|
43
|
-
}
|
44
|
-
};
|
45
|
-
var TimeUnits = {
|
46
|
-
Microsecond: 1,
|
47
|
-
Second: 1e3 * 1,
|
48
|
-
//Microsecond,
|
49
|
-
Minute: 60 * 1e3 * 1,
|
50
|
-
//Second,
|
51
|
-
Hour: 60 * 60 * 1e3 * 1
|
52
|
-
// Minute,
|
53
|
-
};
|
54
|
-
|
55
|
-
// src/base-sys-abstraction.ts
|
56
|
-
var SysTime = class extends Time {
|
57
|
-
Now() {
|
58
|
-
return /* @__PURE__ */ new Date();
|
59
|
-
}
|
60
|
-
Sleep(duration) {
|
61
|
-
return new Promise((resolve) => {
|
62
|
-
setTimeout(() => {
|
63
|
-
resolve();
|
64
|
-
}, duration);
|
65
|
-
});
|
66
|
-
}
|
67
|
-
};
|
68
|
-
var ConstTime = class extends Time {
|
69
|
-
Now() {
|
70
|
-
return new Date(2021, 1, 1, 0, 0, 0, 0);
|
71
|
-
}
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
73
|
-
Sleep(duration) {
|
74
|
-
return Promise.resolve();
|
75
|
-
}
|
76
|
-
};
|
77
|
-
var StepTime = class extends Time {
|
78
|
-
constructor() {
|
79
|
-
super();
|
80
|
-
this._step = new ConstTime().Now();
|
81
|
-
this._start = this._step;
|
82
|
-
}
|
83
|
-
Now(steps = 1) {
|
84
|
-
for (let i = 0; steps > 0 && i < steps; i++) {
|
85
|
-
this._step = new Date(this._step.getTime() + 1e3);
|
86
|
-
}
|
87
|
-
if (steps < 1) {
|
88
|
-
this._step = new Date(this._start.getTime() + steps * -1e3);
|
89
|
-
}
|
90
|
-
return this._step;
|
91
|
-
}
|
92
|
-
Sleep(duration) {
|
93
|
-
this._step = new Date(this._step.getTime() + duration);
|
94
|
-
return Promise.resolve();
|
95
|
-
}
|
96
|
-
};
|
97
|
-
function TimeFactory(timeMode) {
|
98
|
-
switch (timeMode) {
|
99
|
-
case TimeMode.REAL:
|
100
|
-
return new SysTime();
|
101
|
-
case TimeMode.CONST:
|
102
|
-
return new ConstTime();
|
103
|
-
case TimeMode.STEP:
|
104
|
-
return new StepTime();
|
105
|
-
}
|
106
|
-
return new SysTime();
|
107
|
-
}
|
108
|
-
var RandomService = class {
|
109
|
-
constructor(mode) {
|
110
|
-
this._step = 0;
|
111
|
-
this._mode = mode;
|
112
|
-
}
|
113
|
-
Random0ToValue(value) {
|
114
|
-
switch (this._mode) {
|
115
|
-
case RandomMode.CONST:
|
116
|
-
return 0.5 * value;
|
117
|
-
case RandomMode.STEP:
|
118
|
-
this._step += 1e-4;
|
119
|
-
return this._step * value;
|
120
|
-
case RandomMode.RANDOM:
|
121
|
-
return Math.random() * value;
|
122
|
-
default:
|
123
|
-
throw new Error("Unknown RandomMode");
|
124
|
-
}
|
125
|
-
}
|
126
|
-
};
|
127
|
-
var IdService = class {
|
128
|
-
constructor(mode) {
|
129
|
-
this._step = 0;
|
130
|
-
if (!mode) {
|
131
|
-
mode = IDMode.UUID;
|
132
|
-
}
|
133
|
-
this._mode = mode;
|
134
|
-
}
|
135
|
-
NextId() {
|
136
|
-
switch (this._mode) {
|
137
|
-
case IDMode.UUID:
|
138
|
-
return crypto.randomUUID();
|
139
|
-
case IDMode.CONST:
|
140
|
-
return "VeryUniqueID";
|
141
|
-
case IDMode.STEP:
|
142
|
-
return `STEPId-${this._step++}`;
|
143
|
-
default:
|
144
|
-
throw new Error("Unknown IDMode");
|
145
|
-
}
|
146
|
-
}
|
147
|
-
};
|
148
|
-
function consumeReadableStream(reader, writeFn) {
|
149
|
-
reader.read().then(({ done, value }) => {
|
150
|
-
if (done) {
|
151
|
-
return;
|
152
|
-
}
|
153
|
-
writeFn(value).then(() => {
|
154
|
-
consumeReadableStream(reader, writeFn);
|
155
|
-
}).catch((e) => {
|
156
|
-
console.error("consumeReadableStream:writeFn", e);
|
157
|
-
});
|
158
|
-
}).catch((e) => {
|
159
|
-
console.error("consumeReadableStream:read", e);
|
160
|
-
});
|
161
|
-
}
|
162
|
-
function CFWriteableStream(writeFn) {
|
163
|
-
const ts = new TransformStream();
|
164
|
-
consumeReadableStream(ts.readable.getReader(), writeFn);
|
165
|
-
return ts.writable;
|
166
|
-
}
|
167
|
-
var BaseSysAbstraction = class {
|
168
|
-
constructor(params) {
|
169
|
-
this._time = new SysTime();
|
170
|
-
this._idService = new IdService();
|
171
|
-
this._randomService = new RandomService(RandomMode.RANDOM);
|
172
|
-
this._fileSystem = params.FileSystem;
|
173
|
-
this._systemService = params.SystemService;
|
174
|
-
this._txtEnDe = params.TxtEnDecoder;
|
175
|
-
const decoder = this._txtEnDe;
|
176
|
-
this._stdout = CFWriteableStream((chunk) => {
|
177
|
-
const decoded = decoder.decode(chunk);
|
178
|
-
console.log(decoded.trimEnd());
|
179
|
-
return Promise.resolve();
|
180
|
-
});
|
181
|
-
this._stderr = CFWriteableStream((chunk) => {
|
182
|
-
const decoded = decoder.decode(chunk);
|
183
|
-
console.error(decoded.trimEnd());
|
184
|
-
return Promise.resolve();
|
185
|
-
});
|
186
|
-
}
|
187
|
-
};
|
188
|
-
var WrapperSysAbstraction = class {
|
189
|
-
constructor(base, params) {
|
190
|
-
this._time = base._time;
|
191
|
-
this._stdout = base._stdout;
|
192
|
-
this._stderr = base._stderr;
|
193
|
-
this._idService = base._idService;
|
194
|
-
this._randomService = base._randomService;
|
195
|
-
this._fileSystem = base._fileSystem;
|
196
|
-
this._systemService = base._systemService;
|
197
|
-
if (params) {
|
198
|
-
if (params.TimeMode) {
|
199
|
-
this._time = TimeFactory(params.TimeMode);
|
200
|
-
}
|
201
|
-
if (params.Stdout) {
|
202
|
-
this._stdout = params.Stdout;
|
203
|
-
}
|
204
|
-
if (params.Stderr) {
|
205
|
-
this._stderr = params.Stderr;
|
206
|
-
}
|
207
|
-
if (params.IdMode) {
|
208
|
-
this._idService = new IdService(params.IdMode);
|
209
|
-
}
|
210
|
-
if (params.RandomMode) {
|
211
|
-
this._randomService = new RandomService(params.RandomMode);
|
212
|
-
}
|
213
|
-
if (params.FileSystem) {
|
214
|
-
this._fileSystem = params.FileSystem;
|
215
|
-
}
|
216
|
-
if (params.SystemService) {
|
217
|
-
this._systemService = params.SystemService;
|
218
|
-
}
|
219
|
-
}
|
220
|
-
}
|
221
|
-
Time() {
|
222
|
-
return this._time;
|
223
|
-
}
|
224
|
-
NextId() {
|
225
|
-
return this._idService.NextId();
|
226
|
-
}
|
227
|
-
Random0ToValue(value) {
|
228
|
-
return this._randomService.Random0ToValue(value);
|
229
|
-
}
|
230
|
-
Stdout() {
|
231
|
-
return this._stdout;
|
232
|
-
}
|
233
|
-
Stderr() {
|
234
|
-
return this._stderr;
|
235
|
-
}
|
236
|
-
System() {
|
237
|
-
return this._systemService;
|
238
|
-
}
|
239
|
-
FileSystem() {
|
240
|
-
return this._fileSystem;
|
241
|
-
}
|
242
|
-
};
|
243
|
-
|
244
|
-
// src/future.ts
|
245
|
-
var _promise, _resolveFn, _rejectFn;
|
246
|
-
var Future = class {
|
247
|
-
constructor() {
|
248
|
-
__privateAdd(this, _promise);
|
249
|
-
__privateAdd(this, _resolveFn, () => {
|
250
|
-
throw new Error("This Promise is not working as expected.");
|
251
|
-
});
|
252
|
-
__privateAdd(this, _rejectFn, () => {
|
253
|
-
throw new Error("This Promise is not working as expected.");
|
254
|
-
});
|
255
|
-
__privateSet(this, _promise, new Promise((resolve, reject) => {
|
256
|
-
__privateSet(this, _resolveFn, resolve);
|
257
|
-
__privateSet(this, _rejectFn, reject);
|
258
|
-
}));
|
259
|
-
}
|
260
|
-
async asPromise() {
|
261
|
-
return __privateGet(this, _promise);
|
262
|
-
}
|
263
|
-
resolve(value) {
|
264
|
-
__privateGet(this, _resolveFn).call(this, value);
|
265
|
-
}
|
266
|
-
reject(reason) {
|
267
|
-
__privateGet(this, _rejectFn).call(this, reason);
|
268
|
-
}
|
269
|
-
};
|
270
|
-
_promise = new WeakMap();
|
271
|
-
_resolveFn = new WeakMap();
|
272
|
-
_rejectFn = new WeakMap();
|
273
|
-
|
274
|
-
// src/lru-map-set.ts
|
275
|
-
var LRUSet = class {
|
276
|
-
constructor(param = {}) {
|
277
|
-
this._lruMap = new LRUMap(param);
|
278
|
-
}
|
279
|
-
setParam(param = {}) {
|
280
|
-
this._lruMap.setParam(param);
|
281
|
-
}
|
282
|
-
get size() {
|
283
|
-
return this._lruMap.size;
|
284
|
-
}
|
285
|
-
has(key) {
|
286
|
-
return this._lruMap.has(key);
|
287
|
-
}
|
288
|
-
add(key) {
|
289
|
-
this._lruMap.set(key, key);
|
290
|
-
}
|
291
|
-
delete(key) {
|
292
|
-
this._lruMap.delete(key);
|
293
|
-
}
|
294
|
-
clear() {
|
295
|
-
this._lruMap.clear();
|
296
|
-
}
|
297
|
-
forEach(callbackfn) {
|
298
|
-
this._lruMap.forEach((value) => callbackfn(value, value));
|
299
|
-
}
|
300
|
-
entries() {
|
301
|
-
return this._lruMap.entries();
|
302
|
-
}
|
303
|
-
};
|
304
|
-
var LRUMap = class {
|
305
|
-
constructor(c = {}) {
|
306
|
-
this._map = /* @__PURE__ */ new Map();
|
307
|
-
this.param = {
|
308
|
-
maxEntries: c.maxEntries || 100,
|
309
|
-
maxAge: c.maxAge || 0
|
310
|
-
};
|
311
|
-
}
|
312
|
-
touch(key) {
|
313
|
-
if (!this._map.has(key)) {
|
314
|
-
throw new Error(`key not found in cache: ${key}`);
|
315
|
-
}
|
316
|
-
const value = this._map.get(key);
|
317
|
-
this._map.delete(key);
|
318
|
-
this._map.set(key, value);
|
319
|
-
return value;
|
320
|
-
}
|
321
|
-
setParam(param = {}) {
|
322
|
-
if (typeof param.maxEntries === "number") {
|
323
|
-
this.param.maxEntries = param.maxEntries;
|
324
|
-
if (param.maxEntries > 0 && this._map.size > param.maxEntries) {
|
325
|
-
const toDelete = [];
|
326
|
-
let cacheSize = this._map.size;
|
327
|
-
for (const key of this._map.keys()) {
|
328
|
-
if (cacheSize > param.maxEntries) {
|
329
|
-
toDelete.push(key);
|
330
|
-
cacheSize--;
|
331
|
-
} else {
|
332
|
-
break;
|
333
|
-
}
|
334
|
-
}
|
335
|
-
for (const key of toDelete) {
|
336
|
-
this._map.delete(key);
|
337
|
-
}
|
338
|
-
}
|
339
|
-
}
|
340
|
-
}
|
341
|
-
has(key) {
|
342
|
-
return this._map.has(key);
|
343
|
-
}
|
344
|
-
get size() {
|
345
|
-
return this._map.size;
|
346
|
-
}
|
347
|
-
async getSet(key, createFN) {
|
348
|
-
const val = this.get(key);
|
349
|
-
if (val) {
|
350
|
-
return val;
|
351
|
-
} else {
|
352
|
-
const val2 = await createFN(key);
|
353
|
-
this.set(key, val2);
|
354
|
-
return val2;
|
355
|
-
}
|
356
|
-
}
|
357
|
-
get(key) {
|
358
|
-
if (this._map.has(key)) {
|
359
|
-
return this.touch(key);
|
360
|
-
}
|
361
|
-
return this._map.get(key);
|
362
|
-
}
|
363
|
-
set(key, value) {
|
364
|
-
this._map.delete(key);
|
365
|
-
if (this.param.maxEntries > 0 && this._map.size >= this.param.maxEntries) {
|
366
|
-
this._map.delete(this._map.keys().next().value);
|
367
|
-
this._map.set(key, value);
|
368
|
-
} else {
|
369
|
-
this._map.set(key, value);
|
370
|
-
}
|
371
|
-
}
|
372
|
-
delete(key) {
|
373
|
-
this._map.delete(key);
|
374
|
-
}
|
375
|
-
clear() {
|
376
|
-
this._map.clear();
|
377
|
-
}
|
378
|
-
forEach(callbackfn) {
|
379
|
-
this._map.forEach(callbackfn);
|
380
|
-
}
|
381
|
-
entries() {
|
382
|
-
return this._map.entries();
|
383
|
-
}
|
384
|
-
// *entries(): IterableIterator<[T, K]> {
|
385
|
-
// for (const x of this._cache.entries()) {
|
386
|
-
// yield x;
|
387
|
-
// }
|
388
|
-
// }
|
389
|
-
// getLeastRecent(): K {
|
390
|
-
// return Array.from(this.cache)[0];
|
391
|
-
// }
|
392
|
-
// getMostRecent(): K {
|
393
|
-
// return Array.from(this.cache)[this.cache.size - 1];
|
394
|
-
// }
|
395
|
-
};
|
396
|
-
|
397
|
-
// src/resolve-once.ts
|
398
|
-
var ResolveSeq = class {
|
399
|
-
constructor(ctx) {
|
400
|
-
this._flushWaiting = [];
|
401
|
-
this._seqFutures = [];
|
402
|
-
this.ctx = ctx;
|
403
|
-
}
|
404
|
-
reset() {
|
405
|
-
}
|
406
|
-
flush() {
|
407
|
-
var _a;
|
408
|
-
if (this._seqFutures.length > 0) {
|
409
|
-
const waitForFlush = new Future();
|
410
|
-
(_a = this._flushWaiting) == null ? void 0 : _a.push(waitForFlush);
|
411
|
-
return waitForFlush.asPromise();
|
412
|
-
}
|
413
|
-
return Promise.resolve();
|
414
|
-
}
|
415
|
-
_step(item) {
|
416
|
-
var _a;
|
417
|
-
if (!item) {
|
418
|
-
this._flushWaiting.forEach((f) => f.resolve());
|
419
|
-
(_a = this._flushWaiting) == null ? void 0 : _a.splice(0, this._flushWaiting.length);
|
420
|
-
return Promise.resolve();
|
421
|
-
}
|
422
|
-
item.fn(this.ctx).then((value) => item.future.resolve(value)).catch((e) => item.future.reject(e)).finally(() => {
|
423
|
-
this._seqFutures.shift();
|
424
|
-
void this._step(this._seqFutures[0]);
|
425
|
-
});
|
426
|
-
return Promise.resolve();
|
427
|
-
}
|
428
|
-
async add(fn, id) {
|
429
|
-
const future = new Future();
|
430
|
-
this._seqFutures.push({ future, fn, id });
|
431
|
-
if (this._seqFutures.length === 1) {
|
432
|
-
void this._step(this._seqFutures[0]);
|
433
|
-
}
|
434
|
-
return future.asPromise();
|
435
|
-
}
|
436
|
-
};
|
437
|
-
var ResolveOnce = class {
|
438
|
-
constructor(ctx) {
|
439
|
-
this._onceDone = false;
|
440
|
-
this._onceFutures = [];
|
441
|
-
this._onceOk = false;
|
442
|
-
this._isPromise = false;
|
443
|
-
this.ctx = ctx;
|
444
|
-
}
|
445
|
-
get ready() {
|
446
|
-
return this._onceDone;
|
447
|
-
}
|
448
|
-
reset() {
|
449
|
-
this._onceDone = false;
|
450
|
-
this._onceOk = false;
|
451
|
-
this._onceValue = void 0;
|
452
|
-
this._onceError = void 0;
|
453
|
-
if (this._inProgress) {
|
454
|
-
const idx = this._onceFutures.findIndex((f) => f === this._inProgress);
|
455
|
-
if (idx >= 0) {
|
456
|
-
this._onceFutures.push(...this._onceFutures.splice(2).slice(1));
|
457
|
-
}
|
458
|
-
} else {
|
459
|
-
this._onceFutures.length = 0;
|
460
|
-
}
|
461
|
-
}
|
462
|
-
// T extends Option<infer U> ? U : T
|
463
|
-
once(fn) {
|
464
|
-
if (this._onceDone) {
|
465
|
-
if (this._onceError) {
|
466
|
-
if (this._isPromise) {
|
467
|
-
return Promise.reject(this._onceError);
|
468
|
-
} else {
|
469
|
-
throw this._onceError;
|
470
|
-
}
|
471
|
-
}
|
472
|
-
if (this._onceOk) {
|
473
|
-
if (this._isPromise) {
|
474
|
-
return Promise.resolve(this._onceValue);
|
475
|
-
} else {
|
476
|
-
return this._onceValue;
|
477
|
-
}
|
478
|
-
}
|
479
|
-
throw new Error("ResolveOnce.once impossible");
|
480
|
-
}
|
481
|
-
const future = new Future();
|
482
|
-
this._onceFutures.push(future);
|
483
|
-
if (this._onceFutures.length === 1) {
|
484
|
-
const okFn = (value) => {
|
485
|
-
this._onceValue = value;
|
486
|
-
this._onceOk = true;
|
487
|
-
this._onceDone = true;
|
488
|
-
if (this._isPromise) {
|
489
|
-
this._onceFutures.forEach((f) => f.resolve(this._onceValue));
|
490
|
-
}
|
491
|
-
this._onceFutures.length = 0;
|
492
|
-
};
|
493
|
-
const catchFn = (e) => {
|
494
|
-
this._onceError = e;
|
495
|
-
this._onceOk = false;
|
496
|
-
this._onceValue = void 0;
|
497
|
-
this._onceDone = true;
|
498
|
-
if (this._isPromise) {
|
499
|
-
this._onceFutures.forEach((f) => f.reject(this._onceError));
|
500
|
-
}
|
501
|
-
this._onceFutures.length = 0;
|
502
|
-
};
|
503
|
-
this._inProgress = future;
|
504
|
-
try {
|
505
|
-
const ret = fn(this.ctx);
|
506
|
-
if (typeof ret.then === "function") {
|
507
|
-
this._isPromise = true;
|
508
|
-
ret.then(okFn).catch(catchFn).finally(() => {
|
509
|
-
this._inProgress = void 0;
|
510
|
-
});
|
511
|
-
} else {
|
512
|
-
okFn(ret);
|
513
|
-
}
|
514
|
-
} catch (e) {
|
515
|
-
catchFn(e);
|
516
|
-
}
|
517
|
-
if (!this._isPromise) {
|
518
|
-
this._inProgress = void 0;
|
519
|
-
}
|
520
|
-
}
|
521
|
-
if (this._isPromise) {
|
522
|
-
return future.asPromise();
|
523
|
-
} else {
|
524
|
-
return this.once(fn);
|
525
|
-
}
|
526
|
-
}
|
527
|
-
};
|
528
|
-
var Keyed = class {
|
529
|
-
constructor(factory, params) {
|
530
|
-
var _a;
|
531
|
-
this.factory = factory;
|
532
|
-
this._map = new LRUMap((_a = params == null ? void 0 : params.lru) != null ? _a : { maxEntries: -1 });
|
533
|
-
}
|
534
|
-
setParam(params) {
|
535
|
-
this._map.setParam(params.lru);
|
536
|
-
}
|
537
|
-
async asyncGet(key) {
|
538
|
-
return this.get(await key());
|
539
|
-
}
|
540
|
-
get(key) {
|
541
|
-
if (typeof key === "function") {
|
542
|
-
key = key();
|
543
|
-
}
|
544
|
-
let keyed = this._map.get(key);
|
545
|
-
if (!keyed) {
|
546
|
-
keyed = this.factory(key);
|
547
|
-
this._map.set(key, keyed);
|
548
|
-
}
|
549
|
-
return keyed;
|
550
|
-
}
|
551
|
-
unget(key) {
|
552
|
-
const keyed = this._map.get(key);
|
553
|
-
keyed == null ? void 0 : keyed.reset();
|
554
|
-
this._map.delete(key);
|
555
|
-
}
|
556
|
-
reset() {
|
557
|
-
this._map.forEach((keyed) => keyed.reset());
|
558
|
-
this._map.clear();
|
559
|
-
}
|
560
|
-
};
|
561
|
-
var KeyedResolvOnce = class extends Keyed {
|
562
|
-
constructor(kp = {}) {
|
563
|
-
super((key) => new ResolveOnce(key), kp);
|
564
|
-
}
|
565
|
-
/**
|
566
|
-
*
|
567
|
-
* @returns The values of the resolved keys
|
568
|
-
*/
|
569
|
-
values() {
|
570
|
-
return Array.from(this._map.entries()).filter(([_, v]) => v._onceDone).map(([k, v]) => {
|
571
|
-
if (v._onceDone) {
|
572
|
-
if (v._onceError) {
|
573
|
-
return {
|
574
|
-
key: k,
|
575
|
-
value: Result.Err(v._onceError)
|
576
|
-
};
|
577
|
-
}
|
578
|
-
return {
|
579
|
-
key: k,
|
580
|
-
value: Result.Ok(v._onceValue)
|
581
|
-
};
|
582
|
-
}
|
583
|
-
throw new Error("KeyedResolvOnce.values impossible");
|
584
|
-
});
|
585
|
-
}
|
586
|
-
};
|
587
|
-
var KeyedResolvSeq = class extends Keyed {
|
588
|
-
constructor(kp = {}) {
|
589
|
-
super((key) => new ResolveSeq(key), kp);
|
590
|
-
}
|
591
|
-
};
|
9
|
+
} from "./chunk-YKGCONBX.js";
|
592
10
|
|
593
11
|
// src/runtime.ts
|
594
12
|
function isSet(value, ref = globalThis) {
|
@@ -627,6 +45,52 @@ function runtimeFn() {
|
|
627
45
|
};
|
628
46
|
}
|
629
47
|
|
48
|
+
// src/sys-abstraction.ts
|
49
|
+
var TimeMode = {
|
50
|
+
REAL: "real",
|
51
|
+
CONST: "const",
|
52
|
+
STEP: "step"
|
53
|
+
};
|
54
|
+
var RandomMode = {
|
55
|
+
CONST: "const",
|
56
|
+
STEP: "step",
|
57
|
+
RANDOM: "random"
|
58
|
+
};
|
59
|
+
var IDMode = {
|
60
|
+
UUID: "uuid",
|
61
|
+
CONST: "const",
|
62
|
+
STEP: "step"
|
63
|
+
};
|
64
|
+
function String2TimeMode(s) {
|
65
|
+
switch (s == null ? void 0 : s.toLowerCase()) {
|
66
|
+
case "real":
|
67
|
+
return TimeMode.REAL;
|
68
|
+
case "const":
|
69
|
+
return TimeMode.CONST;
|
70
|
+
case "step":
|
71
|
+
return TimeMode.STEP;
|
72
|
+
default:
|
73
|
+
return TimeMode.REAL;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
// src/time.ts
|
78
|
+
var Time = class {
|
79
|
+
TimeSince(start) {
|
80
|
+
const now = this.Now();
|
81
|
+
return now.getTime() - start.getTime();
|
82
|
+
}
|
83
|
+
};
|
84
|
+
var TimeUnits = {
|
85
|
+
Microsecond: 1,
|
86
|
+
Second: 1e3 * 1,
|
87
|
+
//Microsecond,
|
88
|
+
Minute: 60 * 1e3 * 1,
|
89
|
+
//Second,
|
90
|
+
Hour: 60 * 60 * 1e3 * 1
|
91
|
+
// Minute,
|
92
|
+
};
|
93
|
+
|
630
94
|
// src/cf/cf-env-actions.ts
|
631
95
|
var once = new ResolveOnce();
|
632
96
|
var CFEnvActions = class _CFEnvActions {
|
@@ -940,33 +404,389 @@ var EnvImpl = class {
|
|
940
404
|
}
|
941
405
|
};
|
942
406
|
|
407
|
+
// src/cf/cf-basic-sys-abstraction.ts
|
408
|
+
var CFRuntimeService = class {
|
409
|
+
constructor(ende) {
|
410
|
+
this._txtEnDe = ende;
|
411
|
+
}
|
412
|
+
Env() {
|
413
|
+
return envFactory();
|
414
|
+
}
|
415
|
+
Args() {
|
416
|
+
throw new Error("Args-Method not implemented.");
|
417
|
+
}
|
418
|
+
Stdout() {
|
419
|
+
return CFWriteableStream((chunk) => {
|
420
|
+
const decoded = this._txtEnDe.decode(chunk);
|
421
|
+
console.log(decoded.trimEnd());
|
422
|
+
return Promise.resolve();
|
423
|
+
});
|
424
|
+
}
|
425
|
+
Stderr() {
|
426
|
+
return CFWriteableStream((chunk) => {
|
427
|
+
const decoded = this._txtEnDe.decode(chunk);
|
428
|
+
console.error(decoded.trimEnd());
|
429
|
+
return Promise.resolve();
|
430
|
+
});
|
431
|
+
}
|
432
|
+
};
|
433
|
+
function consumeReadableStream(reader, writeFn) {
|
434
|
+
reader.read().then(({ done, value }) => {
|
435
|
+
if (done) {
|
436
|
+
return;
|
437
|
+
}
|
438
|
+
writeFn(value).then(() => {
|
439
|
+
consumeReadableStream(reader, writeFn);
|
440
|
+
}).catch((e) => {
|
441
|
+
console.error("consumeReadableStream:writeFn", e);
|
442
|
+
});
|
443
|
+
}).catch((e) => {
|
444
|
+
console.error("consumeReadableStream:read", e);
|
445
|
+
});
|
446
|
+
}
|
447
|
+
function CFWriteableStream(writeFn) {
|
448
|
+
const ts = new TransformStream();
|
449
|
+
consumeReadableStream(ts.readable.getReader(), writeFn);
|
450
|
+
return ts.writable;
|
451
|
+
}
|
452
|
+
var baseSysAbstraction = new ResolveOnce();
|
453
|
+
function CFBasicSysAbstraction(param) {
|
454
|
+
var _a;
|
455
|
+
const my = baseSysAbstraction.once(() => {
|
456
|
+
return new BaseBasicSysAbstraction({
|
457
|
+
TxtEnDecoder: (param == null ? void 0 : param.TxtEnDecoder) || TxtEnDecoderSingleton()
|
458
|
+
});
|
459
|
+
});
|
460
|
+
return new WrapperBasicSysAbstraction(my, {
|
461
|
+
basicRuntimeService: new CFRuntimeService((_a = param == null ? void 0 : param.TxtEnDecoder) != null ? _a : my._txtEnDe),
|
462
|
+
...param
|
463
|
+
});
|
464
|
+
}
|
465
|
+
|
466
|
+
// src/deno/deno-basic-sys-abstraction.ts
|
467
|
+
var DenoRuntimeService = class {
|
468
|
+
constructor(ende) {
|
469
|
+
this._txtEnDe = ende;
|
470
|
+
}
|
471
|
+
Env() {
|
472
|
+
return envFactory();
|
473
|
+
}
|
474
|
+
Args() {
|
475
|
+
return globalThis.Deno.args;
|
476
|
+
}
|
477
|
+
Stdout() {
|
478
|
+
return globalThis.Deno.stdout.writable;
|
479
|
+
}
|
480
|
+
Stderr() {
|
481
|
+
return globalThis.Deno.stderr.writable;
|
482
|
+
}
|
483
|
+
};
|
484
|
+
var baseSysAbstraction2 = new ResolveOnce();
|
485
|
+
function DenoBasicSysAbstraction(param) {
|
486
|
+
var _a;
|
487
|
+
const my = baseSysAbstraction2.once(() => {
|
488
|
+
return new BaseBasicSysAbstraction({
|
489
|
+
TxtEnDecoder: (param == null ? void 0 : param.TxtEnDecoder) || TxtEnDecoderSingleton()
|
490
|
+
});
|
491
|
+
});
|
492
|
+
return new WrapperBasicSysAbstraction(my, {
|
493
|
+
basicRuntimeService: new DenoRuntimeService((_a = param == null ? void 0 : param.TxtEnDecoder) != null ? _a : my._txtEnDe),
|
494
|
+
...param
|
495
|
+
});
|
496
|
+
}
|
497
|
+
|
498
|
+
// src/node/node-basic-sys-abstraction.ts
|
499
|
+
var NodeRuntimeService = class {
|
500
|
+
constructor(ende) {
|
501
|
+
this._txtEnDe = ende;
|
502
|
+
this._gthis = globalThis;
|
503
|
+
}
|
504
|
+
Env() {
|
505
|
+
return envFactory();
|
506
|
+
}
|
507
|
+
Args() {
|
508
|
+
return this._gthis.process.argv;
|
509
|
+
}
|
510
|
+
Stdout() {
|
511
|
+
return new WritableStream({
|
512
|
+
write: (chunk) => {
|
513
|
+
this._gthis.process.stdout.write(chunk);
|
514
|
+
}
|
515
|
+
});
|
516
|
+
}
|
517
|
+
Stderr() {
|
518
|
+
return new WritableStream({
|
519
|
+
write: (chunk) => {
|
520
|
+
this._gthis.process.stderr.write(chunk);
|
521
|
+
}
|
522
|
+
});
|
523
|
+
}
|
524
|
+
};
|
525
|
+
var baseSysAbstraction3 = new ResolveOnce();
|
526
|
+
function NodeBasicSysAbstraction(param) {
|
527
|
+
var _a;
|
528
|
+
const my = baseSysAbstraction3.once(() => {
|
529
|
+
return new BaseBasicSysAbstraction({
|
530
|
+
TxtEnDecoder: (param == null ? void 0 : param.TxtEnDecoder) || TxtEnDecoderSingleton()
|
531
|
+
});
|
532
|
+
});
|
533
|
+
return new WrapperBasicSysAbstraction(my, {
|
534
|
+
basicRuntimeService: new NodeRuntimeService((_a = param == null ? void 0 : param.TxtEnDecoder) != null ? _a : my._txtEnDe),
|
535
|
+
...param
|
536
|
+
});
|
537
|
+
}
|
538
|
+
|
539
|
+
// src/base-sys-abstraction.ts
|
540
|
+
var SysTime = class extends Time {
|
541
|
+
Now() {
|
542
|
+
return /* @__PURE__ */ new Date();
|
543
|
+
}
|
544
|
+
Sleep(duration) {
|
545
|
+
return new Promise((resolve) => {
|
546
|
+
setTimeout(() => {
|
547
|
+
resolve();
|
548
|
+
}, duration);
|
549
|
+
});
|
550
|
+
}
|
551
|
+
};
|
552
|
+
var ConstTime = class extends Time {
|
553
|
+
Now() {
|
554
|
+
return new Date(2021, 1, 1, 0, 0, 0, 0);
|
555
|
+
}
|
556
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
557
|
+
Sleep(duration) {
|
558
|
+
return Promise.resolve();
|
559
|
+
}
|
560
|
+
};
|
561
|
+
var StepTime = class extends Time {
|
562
|
+
constructor() {
|
563
|
+
super();
|
564
|
+
this._step = new ConstTime().Now();
|
565
|
+
this._start = this._step;
|
566
|
+
}
|
567
|
+
Now(steps = 1) {
|
568
|
+
for (let i = 0; steps > 0 && i < steps; i++) {
|
569
|
+
this._step = new Date(this._step.getTime() + 1e3);
|
570
|
+
}
|
571
|
+
if (steps < 1) {
|
572
|
+
this._step = new Date(this._start.getTime() + steps * -1e3);
|
573
|
+
}
|
574
|
+
return this._step;
|
575
|
+
}
|
576
|
+
Sleep(duration) {
|
577
|
+
this._step = new Date(this._step.getTime() + duration);
|
578
|
+
return Promise.resolve();
|
579
|
+
}
|
580
|
+
};
|
581
|
+
function TimeFactory(timeMode) {
|
582
|
+
switch (timeMode) {
|
583
|
+
case TimeMode.REAL:
|
584
|
+
return new SysTime();
|
585
|
+
case TimeMode.CONST:
|
586
|
+
return new ConstTime();
|
587
|
+
case TimeMode.STEP:
|
588
|
+
return new StepTime();
|
589
|
+
}
|
590
|
+
return new SysTime();
|
591
|
+
}
|
592
|
+
var RandomService = class {
|
593
|
+
constructor(mode) {
|
594
|
+
this._step = 0;
|
595
|
+
this._mode = mode;
|
596
|
+
}
|
597
|
+
Random0ToValue(value) {
|
598
|
+
switch (this._mode) {
|
599
|
+
case RandomMode.CONST:
|
600
|
+
return 0.5 * value;
|
601
|
+
case RandomMode.STEP:
|
602
|
+
this._step += 1e-4;
|
603
|
+
return this._step * value;
|
604
|
+
case RandomMode.RANDOM:
|
605
|
+
return Math.random() * value;
|
606
|
+
default:
|
607
|
+
throw new Error("Unknown RandomMode");
|
608
|
+
}
|
609
|
+
}
|
610
|
+
};
|
611
|
+
var IdService = class {
|
612
|
+
constructor(mode) {
|
613
|
+
this._step = 0;
|
614
|
+
if (!mode) {
|
615
|
+
mode = IDMode.UUID;
|
616
|
+
}
|
617
|
+
this._mode = mode;
|
618
|
+
}
|
619
|
+
NextId() {
|
620
|
+
switch (this._mode) {
|
621
|
+
case IDMode.UUID:
|
622
|
+
return crypto.randomUUID();
|
623
|
+
case IDMode.CONST:
|
624
|
+
return "VeryUniqueID";
|
625
|
+
case IDMode.STEP:
|
626
|
+
return `STEPId-${this._step++}`;
|
627
|
+
default:
|
628
|
+
throw new Error("Unknown IDMode");
|
629
|
+
}
|
630
|
+
}
|
631
|
+
};
|
632
|
+
var BaseBasicSysAbstraction = class {
|
633
|
+
constructor(params) {
|
634
|
+
this._time = new SysTime();
|
635
|
+
// system independent services
|
636
|
+
this._idService = new IdService();
|
637
|
+
this._randomService = new RandomService(RandomMode.RANDOM);
|
638
|
+
this._txtEnDe = params.TxtEnDecoder;
|
639
|
+
}
|
640
|
+
};
|
641
|
+
var BaseSysAbstraction = class extends BaseBasicSysAbstraction {
|
642
|
+
constructor(params) {
|
643
|
+
super(params);
|
644
|
+
this._fileSystem = params.FileSystem;
|
645
|
+
this._systemService = params.SystemService;
|
646
|
+
}
|
647
|
+
};
|
648
|
+
function BasicSysAbstractionFactory(params) {
|
649
|
+
const fn = runtimeFn();
|
650
|
+
switch (true) {
|
651
|
+
case fn.isBrowser:
|
652
|
+
return WebBasicSysAbstraction(params);
|
653
|
+
case fn.isDeno:
|
654
|
+
return DenoBasicSysAbstraction(params);
|
655
|
+
case fn.isCFWorker:
|
656
|
+
return CFBasicSysAbstraction(params);
|
657
|
+
case fn.isNodeIsh:
|
658
|
+
return NodeBasicSysAbstraction(params);
|
659
|
+
default:
|
660
|
+
throw new Error("Unknown runtime");
|
661
|
+
}
|
662
|
+
}
|
663
|
+
var WrapperBasicSysAbstraction = class {
|
664
|
+
constructor(base, params) {
|
665
|
+
this._time = base._time;
|
666
|
+
this._basicRuntimeService = params.basicRuntimeService;
|
667
|
+
this._idService = base._idService;
|
668
|
+
this._randomService = base._randomService;
|
669
|
+
if (params.TimeMode) {
|
670
|
+
this._time = TimeFactory(params.TimeMode);
|
671
|
+
}
|
672
|
+
if (params.IdMode) {
|
673
|
+
this._idService = new IdService(params.IdMode);
|
674
|
+
}
|
675
|
+
if (params.RandomMode) {
|
676
|
+
this._randomService = new RandomService(params.RandomMode);
|
677
|
+
}
|
678
|
+
}
|
679
|
+
Time() {
|
680
|
+
return this._time;
|
681
|
+
}
|
682
|
+
NextId() {
|
683
|
+
return this._idService.NextId();
|
684
|
+
}
|
685
|
+
Random0ToValue(value) {
|
686
|
+
return this._randomService.Random0ToValue(value);
|
687
|
+
}
|
688
|
+
Stdout() {
|
689
|
+
return this._basicRuntimeService.Stdout();
|
690
|
+
}
|
691
|
+
Stderr() {
|
692
|
+
return this._basicRuntimeService.Stderr();
|
693
|
+
}
|
694
|
+
Env() {
|
695
|
+
return this._basicRuntimeService.Env();
|
696
|
+
}
|
697
|
+
Args() {
|
698
|
+
return this._basicRuntimeService.Args();
|
699
|
+
}
|
700
|
+
// System(): SystemService {
|
701
|
+
// return this._systemService;
|
702
|
+
// }
|
703
|
+
// FileSystem(): FileService {
|
704
|
+
// return this._fileSystem;
|
705
|
+
// }
|
706
|
+
};
|
707
|
+
var WrapperRuntimeSysAbstraction = class extends WrapperBasicSysAbstraction {
|
708
|
+
constructor(base, params) {
|
709
|
+
var _a, _b;
|
710
|
+
super(base, params);
|
711
|
+
this._systemService = (_a = params.systemService) != null ? _a : base._systemService;
|
712
|
+
this._fileSystem = (_b = params.fileSystem) != null ? _b : base._fileSystem;
|
713
|
+
}
|
714
|
+
System() {
|
715
|
+
return this._systemService;
|
716
|
+
}
|
717
|
+
FileSystem() {
|
718
|
+
return this._fileSystem;
|
719
|
+
}
|
720
|
+
};
|
721
|
+
|
722
|
+
// src/web/web-basic-sys-abstraction.ts
|
723
|
+
var WebSystemService = class {
|
724
|
+
constructor(ende) {
|
725
|
+
this._txtEnDe = ende;
|
726
|
+
}
|
727
|
+
Env() {
|
728
|
+
return envFactory();
|
729
|
+
}
|
730
|
+
Args() {
|
731
|
+
throw new Error("Args-Method not implemented.");
|
732
|
+
}
|
733
|
+
Stdout() {
|
734
|
+
return new ConsoleWriterStream();
|
735
|
+
}
|
736
|
+
Stderr() {
|
737
|
+
const decoder = this._txtEnDe;
|
738
|
+
return new WritableStream({
|
739
|
+
write(chunk) {
|
740
|
+
return new Promise((resolve) => {
|
741
|
+
const decoded = decoder.decode(chunk);
|
742
|
+
console.error(decoded.trimEnd());
|
743
|
+
resolve();
|
744
|
+
});
|
745
|
+
}
|
746
|
+
});
|
747
|
+
}
|
748
|
+
};
|
749
|
+
var baseSysAbstraction4 = new ResolveOnce();
|
750
|
+
function WebBasicSysAbstraction(param) {
|
751
|
+
var _a;
|
752
|
+
const my = baseSysAbstraction4.once(() => {
|
753
|
+
return new BaseBasicSysAbstraction({
|
754
|
+
TxtEnDecoder: (param == null ? void 0 : param.TxtEnDecoder) || TxtEnDecoderSingleton()
|
755
|
+
});
|
756
|
+
});
|
757
|
+
return new WrapperBasicSysAbstraction(my, {
|
758
|
+
basicRuntimeService: new WebSystemService((_a = param == null ? void 0 : param.TxtEnDecoder) != null ? _a : my._txtEnDe),
|
759
|
+
...param
|
760
|
+
});
|
761
|
+
}
|
762
|
+
|
943
763
|
export {
|
764
|
+
runtimeFn,
|
944
765
|
TimeMode,
|
945
766
|
RandomMode,
|
946
767
|
IDMode,
|
947
768
|
String2TimeMode,
|
948
769
|
Time,
|
949
770
|
TimeUnits,
|
771
|
+
CFEnvActions,
|
772
|
+
registerEnvAction,
|
773
|
+
envFactory,
|
774
|
+
EnvImpl,
|
775
|
+
WebBasicSysAbstraction,
|
776
|
+
CFRuntimeService,
|
777
|
+
CFBasicSysAbstraction,
|
778
|
+
DenoBasicSysAbstraction,
|
779
|
+
NodeBasicSysAbstraction,
|
950
780
|
SysTime,
|
951
781
|
ConstTime,
|
952
782
|
StepTime,
|
953
783
|
TimeFactory,
|
954
784
|
RandomService,
|
955
785
|
IdService,
|
786
|
+
BaseBasicSysAbstraction,
|
956
787
|
BaseSysAbstraction,
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
LRUMap,
|
961
|
-
ResolveSeq,
|
962
|
-
ResolveOnce,
|
963
|
-
Keyed,
|
964
|
-
KeyedResolvOnce,
|
965
|
-
KeyedResolvSeq,
|
966
|
-
runtimeFn,
|
967
|
-
CFEnvActions,
|
968
|
-
registerEnvAction,
|
969
|
-
envFactory,
|
970
|
-
EnvImpl
|
788
|
+
BasicSysAbstractionFactory,
|
789
|
+
WrapperBasicSysAbstraction,
|
790
|
+
WrapperRuntimeSysAbstraction
|
971
791
|
};
|
972
|
-
//# sourceMappingURL=chunk-
|
792
|
+
//# sourceMappingURL=chunk-X3IV2RYT.js.map
|