@adviser/cement 0.3.20 → 0.4.1
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-PHS255C5.js → chunk-FOALXQST.js} +1 -68
- package/chunk-FOALXQST.js.map +1 -0
- package/{chunk-UEER5ZC2.js → chunk-NPMIRK4R.js} +8 -22
- package/chunk-NPMIRK4R.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-BhmvYS_t.d.ts → index-N0bkrgSt.d.ts} +2 -2
- package/{index-DoK1OTgQ.d.cts → index-TtYD7HhB.d.cts} +2 -2
- package/index.cjs +1935 -1806
- package/index.cjs.map +1 -1
- package/index.d.cts +15 -8
- package/index.d.ts +15 -8
- package/index.js +58 -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 +5 -5
- 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/coerce-binary.ts +39 -0
- 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/index.ts +1 -0
- package/src/jsr.json +1 -1
- package/src/log-writer-impl.ts +6 -0
- package/src/logger-impl.ts +18 -20
- 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/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 +1146 -1085
- 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/coerce-binary.d.ts +6 -0
- package/ts/src/coerce-binary.d.ts.map +1 -0
- package/ts/src/coerce-binary.js +32 -0
- package/ts/src/coerce-binary.js.map +1 -0
- package/ts/src/coerce-binary.test.d.ts +2 -0
- package/ts/src/coerce-binary.test.d.ts.map +1 -0
- package/ts/src/coerce-binary.test.js +39 -0
- package/ts/src/coerce-binary.test.js.map +1 -0
- 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/index.d.ts +1 -0
- package/ts/src/index.d.ts.map +1 -1
- package/ts/src/index.js +1 -0
- package/ts/src/index.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 +4 -4
- package/ts/src/logger-impl.d.ts.map +1 -1
- package/ts/src/logger-impl.js +4 -19
- 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/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/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/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-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/chunk-UEER5ZC2.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
package/node/index.cjs
CHANGED
@@ -50,449 +50,6 @@ var import_node_path = __toESM(require("path"), 1);
|
|
50
50
|
var import_node_fs = __toESM(require("fs"), 1);
|
51
51
|
var import_node_process = __toESM(require("process"), 1);
|
52
52
|
|
53
|
-
// src/result.ts
|
54
|
-
var Result = class _Result {
|
55
|
-
static Ok(t) {
|
56
|
-
return new ResultOK(t);
|
57
|
-
}
|
58
|
-
static Err(t) {
|
59
|
-
if (typeof t === "string") {
|
60
|
-
return new ResultError(new Error(t));
|
61
|
-
}
|
62
|
-
if (_Result.Is(t)) {
|
63
|
-
if (t.is_ok()) {
|
64
|
-
return new ResultError(new Error("Result Error is Ok"));
|
65
|
-
}
|
66
|
-
return t;
|
67
|
-
}
|
68
|
-
return new ResultError(t);
|
69
|
-
}
|
70
|
-
static Is(t) {
|
71
|
-
if (!t) {
|
72
|
-
return false;
|
73
|
-
}
|
74
|
-
if (t instanceof _Result) {
|
75
|
-
return true;
|
76
|
-
}
|
77
|
-
const rt = t;
|
78
|
-
if ([typeof rt.is_ok, typeof rt.is_err, typeof rt.unwrap, typeof rt.unwrap_err].every((x) => x === "function")) {
|
79
|
-
return true;
|
80
|
-
}
|
81
|
-
return false;
|
82
|
-
}
|
83
|
-
isOk() {
|
84
|
-
return this.is_ok();
|
85
|
-
}
|
86
|
-
isErr() {
|
87
|
-
return this.is_err();
|
88
|
-
}
|
89
|
-
Ok() {
|
90
|
-
return this.unwrap();
|
91
|
-
}
|
92
|
-
Err() {
|
93
|
-
return this.unwrap_err();
|
94
|
-
}
|
95
|
-
};
|
96
|
-
var ResultOK = class extends Result {
|
97
|
-
constructor(t) {
|
98
|
-
super();
|
99
|
-
this._t = t;
|
100
|
-
}
|
101
|
-
is_ok() {
|
102
|
-
return true;
|
103
|
-
}
|
104
|
-
is_err() {
|
105
|
-
return false;
|
106
|
-
}
|
107
|
-
unwrap_err() {
|
108
|
-
throw new Error("Result is Ok");
|
109
|
-
}
|
110
|
-
unwrap() {
|
111
|
-
return this._t;
|
112
|
-
}
|
113
|
-
};
|
114
|
-
var ResultError = class extends Result {
|
115
|
-
constructor(t) {
|
116
|
-
super();
|
117
|
-
this._error = t;
|
118
|
-
}
|
119
|
-
is_ok() {
|
120
|
-
return false;
|
121
|
-
}
|
122
|
-
is_err() {
|
123
|
-
return true;
|
124
|
-
}
|
125
|
-
unwrap() {
|
126
|
-
throw new Error(`Result is Err: ${this._error}`);
|
127
|
-
}
|
128
|
-
unwrap_err() {
|
129
|
-
return this._error;
|
130
|
-
}
|
131
|
-
};
|
132
|
-
|
133
|
-
// src/utils/coerce-uint8.ts
|
134
|
-
var globalBuffer = globalThis;
|
135
|
-
function coerceIntoUint8(raw) {
|
136
|
-
if (raw instanceof ArrayBuffer) {
|
137
|
-
return Result.Ok(new Uint8Array(raw));
|
138
|
-
}
|
139
|
-
if (ArrayBuffer.isView(raw)) {
|
140
|
-
return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));
|
141
|
-
}
|
142
|
-
if (raw instanceof Blob) {
|
143
|
-
return Result.Err("Blob not supported");
|
144
|
-
}
|
145
|
-
if (globalBuffer.Buffer && globalBuffer.Buffer.isBuffer(raw)) {
|
146
|
-
return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));
|
147
|
-
}
|
148
|
-
if (raw instanceof Uint8Array) {
|
149
|
-
return Result.Ok(raw);
|
150
|
-
}
|
151
|
-
if (Result.Is(raw)) {
|
152
|
-
if (raw.isErr()) {
|
153
|
-
return Result.Err(raw);
|
154
|
-
}
|
155
|
-
return coerceIntoUint8(raw.unwrap());
|
156
|
-
}
|
157
|
-
return Result.Err("Not a Uint8Array");
|
158
|
-
}
|
159
|
-
|
160
|
-
// src/txt-en-decoder.ts
|
161
|
-
var TxtOps = class {
|
162
|
-
constructor() {
|
163
|
-
this.encoder = new TextEncoder();
|
164
|
-
this.decoder = new TextDecoder();
|
165
|
-
}
|
166
|
-
encode(str) {
|
167
|
-
return this.encoder.encode(str);
|
168
|
-
}
|
169
|
-
decode(data) {
|
170
|
-
if (Result.Is(data)) {
|
171
|
-
if (data.isErr()) {
|
172
|
-
throw data.Err();
|
173
|
-
}
|
174
|
-
const unwrapped = data.unwrap();
|
175
|
-
if (typeof unwrapped === "string") {
|
176
|
-
return this.decode(unwrapped);
|
177
|
-
}
|
178
|
-
}
|
179
|
-
if (typeof data === "string") {
|
180
|
-
return data;
|
181
|
-
}
|
182
|
-
return this.decoder.decode(coerceIntoUint8(data).Ok());
|
183
|
-
}
|
184
|
-
async asyncDecode(data) {
|
185
|
-
let resolved = await data;
|
186
|
-
if (resolved instanceof Blob) {
|
187
|
-
resolved = await resolved.arrayBuffer();
|
188
|
-
}
|
189
|
-
return this.decode(resolved);
|
190
|
-
}
|
191
|
-
};
|
192
|
-
var txtEnDecoder;
|
193
|
-
function TxtEnDecoderSingleton() {
|
194
|
-
txtEnDecoder = txtEnDecoder != null ? txtEnDecoder : new TxtOps();
|
195
|
-
return txtEnDecoder;
|
196
|
-
}
|
197
|
-
|
198
|
-
// src/node/node-file-service.ts
|
199
|
-
var NodeFileService = class {
|
200
|
-
constructor(baseDir = import_node_process.default.cwd()) {
|
201
|
-
this.baseDir = this.abs(baseDir);
|
202
|
-
}
|
203
|
-
// nodeImport(fname: string): string {
|
204
|
-
// // console.log('nodeImport:'+ fname);
|
205
|
-
// if (path.isAbsolute(fname)) {
|
206
|
-
// return fname;
|
207
|
-
// } else {
|
208
|
-
// return "./" + path.normalize(fname);
|
209
|
-
// }
|
210
|
-
// }
|
211
|
-
readFileString(fname) {
|
212
|
-
return import_node_fs.default.promises.readFile(fname, { encoding: "utf-8" });
|
213
|
-
}
|
214
|
-
dirname(fname) {
|
215
|
-
return import_node_path.default.dirname(fname);
|
216
|
-
}
|
217
|
-
basename(fname) {
|
218
|
-
return import_node_path.default.basename(fname);
|
219
|
-
}
|
220
|
-
join(...paths) {
|
221
|
-
return import_node_path.default.join(...paths);
|
222
|
-
}
|
223
|
-
relative(from, to) {
|
224
|
-
if (to === void 0) {
|
225
|
-
to = from;
|
226
|
-
from = import_node_process.default.cwd();
|
227
|
-
}
|
228
|
-
const ret = import_node_path.default.relative(from, to);
|
229
|
-
return ret;
|
230
|
-
}
|
231
|
-
abs(fname) {
|
232
|
-
if (import_node_path.default.isAbsolute(fname)) {
|
233
|
-
return fname;
|
234
|
-
} else {
|
235
|
-
const cwd = import_node_process.default.cwd();
|
236
|
-
return import_node_path.default.resolve(cwd, fname);
|
237
|
-
}
|
238
|
-
}
|
239
|
-
isAbsolute(fname) {
|
240
|
-
return import_node_path.default.isAbsolute(fname);
|
241
|
-
}
|
242
|
-
async writeFileString(fname, content, ende = TxtEnDecoderSingleton()) {
|
243
|
-
const o = await this.create(fname);
|
244
|
-
const wr = o.stream.getWriter();
|
245
|
-
await wr.write(ende.encode(content));
|
246
|
-
await wr.close();
|
247
|
-
}
|
248
|
-
async create(fname) {
|
249
|
-
let oName = fname;
|
250
|
-
if (!import_node_path.default.isAbsolute(fname)) {
|
251
|
-
oName = this.abs(fname);
|
252
|
-
}
|
253
|
-
const base = import_node_path.default.dirname(oName);
|
254
|
-
await import_node_fs.default.promises.mkdir(base, { recursive: true });
|
255
|
-
const out = import_node_fs.default.createWriteStream(oName);
|
256
|
-
return {
|
257
|
-
name: oName,
|
258
|
-
stream: new WritableStream({
|
259
|
-
write(chunk) {
|
260
|
-
out.write(chunk);
|
261
|
-
},
|
262
|
-
close() {
|
263
|
-
out.close();
|
264
|
-
},
|
265
|
-
abort() {
|
266
|
-
throw new Error("not implemented");
|
267
|
-
}
|
268
|
-
})
|
269
|
-
};
|
270
|
-
}
|
271
|
-
};
|
272
|
-
|
273
|
-
// src/sys-abstraction.ts
|
274
|
-
var TimeMode = {
|
275
|
-
REAL: "real",
|
276
|
-
CONST: "const",
|
277
|
-
STEP: "step"
|
278
|
-
};
|
279
|
-
var RandomMode = {
|
280
|
-
CONST: "const",
|
281
|
-
STEP: "step",
|
282
|
-
RANDOM: "random"
|
283
|
-
};
|
284
|
-
var IDMode = {
|
285
|
-
UUID: "uuid",
|
286
|
-
CONST: "const",
|
287
|
-
STEP: "step"
|
288
|
-
};
|
289
|
-
|
290
|
-
// src/time.ts
|
291
|
-
var Time = class {
|
292
|
-
TimeSince(start) {
|
293
|
-
const now = this.Now();
|
294
|
-
return now.getTime() - start.getTime();
|
295
|
-
}
|
296
|
-
};
|
297
|
-
var TimeUnits = {
|
298
|
-
Microsecond: 1,
|
299
|
-
Second: 1e3 * 1,
|
300
|
-
//Microsecond,
|
301
|
-
Minute: 60 * 1e3 * 1,
|
302
|
-
//Second,
|
303
|
-
Hour: 60 * 60 * 1e3 * 1
|
304
|
-
// Minute,
|
305
|
-
};
|
306
|
-
|
307
|
-
// src/base-sys-abstraction.ts
|
308
|
-
var SysTime = class extends Time {
|
309
|
-
Now() {
|
310
|
-
return /* @__PURE__ */ new Date();
|
311
|
-
}
|
312
|
-
Sleep(duration) {
|
313
|
-
return new Promise((resolve) => {
|
314
|
-
setTimeout(() => {
|
315
|
-
resolve();
|
316
|
-
}, duration);
|
317
|
-
});
|
318
|
-
}
|
319
|
-
};
|
320
|
-
var ConstTime = class extends Time {
|
321
|
-
Now() {
|
322
|
-
return new Date(2021, 1, 1, 0, 0, 0, 0);
|
323
|
-
}
|
324
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
325
|
-
Sleep(duration) {
|
326
|
-
return Promise.resolve();
|
327
|
-
}
|
328
|
-
};
|
329
|
-
var StepTime = class extends Time {
|
330
|
-
constructor() {
|
331
|
-
super();
|
332
|
-
this._step = new ConstTime().Now();
|
333
|
-
this._start = this._step;
|
334
|
-
}
|
335
|
-
Now(steps = 1) {
|
336
|
-
for (let i = 0; steps > 0 && i < steps; i++) {
|
337
|
-
this._step = new Date(this._step.getTime() + 1e3);
|
338
|
-
}
|
339
|
-
if (steps < 1) {
|
340
|
-
this._step = new Date(this._start.getTime() + steps * -1e3);
|
341
|
-
}
|
342
|
-
return this._step;
|
343
|
-
}
|
344
|
-
Sleep(duration) {
|
345
|
-
this._step = new Date(this._step.getTime() + duration);
|
346
|
-
return Promise.resolve();
|
347
|
-
}
|
348
|
-
};
|
349
|
-
function TimeFactory(timeMode) {
|
350
|
-
switch (timeMode) {
|
351
|
-
case TimeMode.REAL:
|
352
|
-
return new SysTime();
|
353
|
-
case TimeMode.CONST:
|
354
|
-
return new ConstTime();
|
355
|
-
case TimeMode.STEP:
|
356
|
-
return new StepTime();
|
357
|
-
}
|
358
|
-
return new SysTime();
|
359
|
-
}
|
360
|
-
var RandomService = class {
|
361
|
-
constructor(mode) {
|
362
|
-
this._step = 0;
|
363
|
-
this._mode = mode;
|
364
|
-
}
|
365
|
-
Random0ToValue(value) {
|
366
|
-
switch (this._mode) {
|
367
|
-
case RandomMode.CONST:
|
368
|
-
return 0.5 * value;
|
369
|
-
case RandomMode.STEP:
|
370
|
-
this._step += 1e-4;
|
371
|
-
return this._step * value;
|
372
|
-
case RandomMode.RANDOM:
|
373
|
-
return Math.random() * value;
|
374
|
-
default:
|
375
|
-
throw new Error("Unknown RandomMode");
|
376
|
-
}
|
377
|
-
}
|
378
|
-
};
|
379
|
-
var IdService = class {
|
380
|
-
constructor(mode) {
|
381
|
-
this._step = 0;
|
382
|
-
if (!mode) {
|
383
|
-
mode = IDMode.UUID;
|
384
|
-
}
|
385
|
-
this._mode = mode;
|
386
|
-
}
|
387
|
-
NextId() {
|
388
|
-
switch (this._mode) {
|
389
|
-
case IDMode.UUID:
|
390
|
-
return crypto.randomUUID();
|
391
|
-
case IDMode.CONST:
|
392
|
-
return "VeryUniqueID";
|
393
|
-
case IDMode.STEP:
|
394
|
-
return `STEPId-${this._step++}`;
|
395
|
-
default:
|
396
|
-
throw new Error("Unknown IDMode");
|
397
|
-
}
|
398
|
-
}
|
399
|
-
};
|
400
|
-
function consumeReadableStream(reader, writeFn) {
|
401
|
-
reader.read().then(({ done, value }) => {
|
402
|
-
if (done) {
|
403
|
-
return;
|
404
|
-
}
|
405
|
-
writeFn(value).then(() => {
|
406
|
-
consumeReadableStream(reader, writeFn);
|
407
|
-
}).catch((e) => {
|
408
|
-
console.error("consumeReadableStream:writeFn", e);
|
409
|
-
});
|
410
|
-
}).catch((e) => {
|
411
|
-
console.error("consumeReadableStream:read", e);
|
412
|
-
});
|
413
|
-
}
|
414
|
-
function CFWriteableStream(writeFn) {
|
415
|
-
const ts = new TransformStream();
|
416
|
-
consumeReadableStream(ts.readable.getReader(), writeFn);
|
417
|
-
return ts.writable;
|
418
|
-
}
|
419
|
-
var BaseSysAbstraction = class {
|
420
|
-
constructor(params) {
|
421
|
-
this._time = new SysTime();
|
422
|
-
this._idService = new IdService();
|
423
|
-
this._randomService = new RandomService(RandomMode.RANDOM);
|
424
|
-
this._fileSystem = params.FileSystem;
|
425
|
-
this._systemService = params.SystemService;
|
426
|
-
this._txtEnDe = params.TxtEnDecoder;
|
427
|
-
const decoder = this._txtEnDe;
|
428
|
-
this._stdout = CFWriteableStream((chunk) => {
|
429
|
-
const decoded = decoder.decode(chunk);
|
430
|
-
console.log(decoded.trimEnd());
|
431
|
-
return Promise.resolve();
|
432
|
-
});
|
433
|
-
this._stderr = CFWriteableStream((chunk) => {
|
434
|
-
const decoded = decoder.decode(chunk);
|
435
|
-
console.error(decoded.trimEnd());
|
436
|
-
return Promise.resolve();
|
437
|
-
});
|
438
|
-
}
|
439
|
-
};
|
440
|
-
var WrapperSysAbstraction = class {
|
441
|
-
constructor(base, params) {
|
442
|
-
this._time = base._time;
|
443
|
-
this._stdout = base._stdout;
|
444
|
-
this._stderr = base._stderr;
|
445
|
-
this._idService = base._idService;
|
446
|
-
this._randomService = base._randomService;
|
447
|
-
this._fileSystem = base._fileSystem;
|
448
|
-
this._systemService = base._systemService;
|
449
|
-
if (params) {
|
450
|
-
if (params.TimeMode) {
|
451
|
-
this._time = TimeFactory(params.TimeMode);
|
452
|
-
}
|
453
|
-
if (params.Stdout) {
|
454
|
-
this._stdout = params.Stdout;
|
455
|
-
}
|
456
|
-
if (params.Stderr) {
|
457
|
-
this._stderr = params.Stderr;
|
458
|
-
}
|
459
|
-
if (params.IdMode) {
|
460
|
-
this._idService = new IdService(params.IdMode);
|
461
|
-
}
|
462
|
-
if (params.RandomMode) {
|
463
|
-
this._randomService = new RandomService(params.RandomMode);
|
464
|
-
}
|
465
|
-
if (params.FileSystem) {
|
466
|
-
this._fileSystem = params.FileSystem;
|
467
|
-
}
|
468
|
-
if (params.SystemService) {
|
469
|
-
this._systemService = params.SystemService;
|
470
|
-
}
|
471
|
-
}
|
472
|
-
}
|
473
|
-
Time() {
|
474
|
-
return this._time;
|
475
|
-
}
|
476
|
-
NextId() {
|
477
|
-
return this._idService.NextId();
|
478
|
-
}
|
479
|
-
Random0ToValue(value) {
|
480
|
-
return this._randomService.Random0ToValue(value);
|
481
|
-
}
|
482
|
-
Stdout() {
|
483
|
-
return this._stdout;
|
484
|
-
}
|
485
|
-
Stderr() {
|
486
|
-
return this._stderr;
|
487
|
-
}
|
488
|
-
System() {
|
489
|
-
return this._systemService;
|
490
|
-
}
|
491
|
-
FileSystem() {
|
492
|
-
return this._fileSystem;
|
493
|
-
}
|
494
|
-
};
|
495
|
-
|
496
53
|
// src/future.ts
|
497
54
|
var _promise, _resolveFn, _rejectFn;
|
498
55
|
var Future = class {
|
@@ -617,6 +174,86 @@ var LRUMap = class {
|
|
617
174
|
// }
|
618
175
|
};
|
619
176
|
|
177
|
+
// src/result.ts
|
178
|
+
var Result = class _Result {
|
179
|
+
static Ok(t) {
|
180
|
+
return new ResultOK(t);
|
181
|
+
}
|
182
|
+
static Err(t) {
|
183
|
+
if (typeof t === "string") {
|
184
|
+
return new ResultError(new Error(t));
|
185
|
+
}
|
186
|
+
if (_Result.Is(t)) {
|
187
|
+
if (t.is_ok()) {
|
188
|
+
return new ResultError(new Error("Result Error is Ok"));
|
189
|
+
}
|
190
|
+
return t;
|
191
|
+
}
|
192
|
+
return new ResultError(t);
|
193
|
+
}
|
194
|
+
static Is(t) {
|
195
|
+
if (!t) {
|
196
|
+
return false;
|
197
|
+
}
|
198
|
+
if (t instanceof _Result) {
|
199
|
+
return true;
|
200
|
+
}
|
201
|
+
const rt = t;
|
202
|
+
if ([typeof rt.is_ok, typeof rt.is_err, typeof rt.unwrap, typeof rt.unwrap_err].every((x) => x === "function")) {
|
203
|
+
return true;
|
204
|
+
}
|
205
|
+
return false;
|
206
|
+
}
|
207
|
+
isOk() {
|
208
|
+
return this.is_ok();
|
209
|
+
}
|
210
|
+
isErr() {
|
211
|
+
return this.is_err();
|
212
|
+
}
|
213
|
+
Ok() {
|
214
|
+
return this.unwrap();
|
215
|
+
}
|
216
|
+
Err() {
|
217
|
+
return this.unwrap_err();
|
218
|
+
}
|
219
|
+
};
|
220
|
+
var ResultOK = class extends Result {
|
221
|
+
constructor(t) {
|
222
|
+
super();
|
223
|
+
this._t = t;
|
224
|
+
}
|
225
|
+
is_ok() {
|
226
|
+
return true;
|
227
|
+
}
|
228
|
+
is_err() {
|
229
|
+
return false;
|
230
|
+
}
|
231
|
+
unwrap_err() {
|
232
|
+
throw new Error("Result is Ok");
|
233
|
+
}
|
234
|
+
unwrap() {
|
235
|
+
return this._t;
|
236
|
+
}
|
237
|
+
};
|
238
|
+
var ResultError = class extends Result {
|
239
|
+
constructor(t) {
|
240
|
+
super();
|
241
|
+
this._error = t;
|
242
|
+
}
|
243
|
+
is_ok() {
|
244
|
+
return false;
|
245
|
+
}
|
246
|
+
is_err() {
|
247
|
+
return true;
|
248
|
+
}
|
249
|
+
unwrap() {
|
250
|
+
throw new Error(`Result is Err: ${this._error}`);
|
251
|
+
}
|
252
|
+
unwrap_err() {
|
253
|
+
return this._error;
|
254
|
+
}
|
255
|
+
};
|
256
|
+
|
620
257
|
// src/resolve-once.ts
|
621
258
|
var ResolveOnce = class {
|
622
259
|
constructor(ctx) {
|
@@ -746,26 +383,165 @@ var KeyedResolvOnce = class extends Keyed {
|
|
746
383
|
constructor(kp = {}) {
|
747
384
|
super((key) => new ResolveOnce(key), kp);
|
748
385
|
}
|
749
|
-
/**
|
750
|
-
*
|
751
|
-
* @returns The values of the resolved keys
|
752
|
-
*/
|
753
|
-
values() {
|
754
|
-
return Array.from(this._map.entries()).filter(([_, v]) => v._onceDone).map(([k, v]) => {
|
755
|
-
if (v._onceDone) {
|
756
|
-
if (v._onceError) {
|
757
|
-
return {
|
758
|
-
key: k,
|
759
|
-
value: Result.Err(v._onceError)
|
760
|
-
};
|
386
|
+
/**
|
387
|
+
*
|
388
|
+
* @returns The values of the resolved keys
|
389
|
+
*/
|
390
|
+
values() {
|
391
|
+
return Array.from(this._map.entries()).filter(([_, v]) => v._onceDone).map(([k, v]) => {
|
392
|
+
if (v._onceDone) {
|
393
|
+
if (v._onceError) {
|
394
|
+
return {
|
395
|
+
key: k,
|
396
|
+
value: Result.Err(v._onceError)
|
397
|
+
};
|
398
|
+
}
|
399
|
+
return {
|
400
|
+
key: k,
|
401
|
+
value: Result.Ok(v._onceValue)
|
402
|
+
};
|
403
|
+
}
|
404
|
+
throw new Error("KeyedResolvOnce.values impossible");
|
405
|
+
});
|
406
|
+
}
|
407
|
+
};
|
408
|
+
|
409
|
+
// src/utils/coerce-uint8.ts
|
410
|
+
var globalBuffer = globalThis;
|
411
|
+
function coerceIntoUint8(raw) {
|
412
|
+
if (raw instanceof ArrayBuffer) {
|
413
|
+
return Result.Ok(new Uint8Array(raw));
|
414
|
+
}
|
415
|
+
if (ArrayBuffer.isView(raw)) {
|
416
|
+
return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));
|
417
|
+
}
|
418
|
+
if (raw instanceof Blob) {
|
419
|
+
return Result.Err("Blob not supported");
|
420
|
+
}
|
421
|
+
if (globalBuffer.Buffer && globalBuffer.Buffer.isBuffer(raw)) {
|
422
|
+
return Result.Ok(new Uint8Array(raw.buffer, raw.byteOffset, raw.byteLength));
|
423
|
+
}
|
424
|
+
if (raw instanceof Uint8Array) {
|
425
|
+
return Result.Ok(raw);
|
426
|
+
}
|
427
|
+
if (Result.Is(raw)) {
|
428
|
+
if (raw.isErr()) {
|
429
|
+
return Result.Err(raw);
|
430
|
+
}
|
431
|
+
return coerceIntoUint8(raw.unwrap());
|
432
|
+
}
|
433
|
+
return Result.Err("Not a Uint8Array");
|
434
|
+
}
|
435
|
+
|
436
|
+
// src/txt-en-decoder.ts
|
437
|
+
var TxtOps = class {
|
438
|
+
constructor() {
|
439
|
+
this.encoder = new TextEncoder();
|
440
|
+
this.decoder = new TextDecoder();
|
441
|
+
}
|
442
|
+
encode(str) {
|
443
|
+
return this.encoder.encode(str);
|
444
|
+
}
|
445
|
+
decode(data) {
|
446
|
+
if (Result.Is(data)) {
|
447
|
+
if (data.isErr()) {
|
448
|
+
throw data.Err();
|
449
|
+
}
|
450
|
+
const unwrapped = data.unwrap();
|
451
|
+
if (typeof unwrapped === "string") {
|
452
|
+
return this.decode(unwrapped);
|
453
|
+
}
|
454
|
+
}
|
455
|
+
if (typeof data === "string") {
|
456
|
+
return data;
|
457
|
+
}
|
458
|
+
return this.decoder.decode(coerceIntoUint8(data).Ok());
|
459
|
+
}
|
460
|
+
async asyncDecode(data) {
|
461
|
+
let resolved = await data;
|
462
|
+
if (resolved instanceof Blob) {
|
463
|
+
resolved = await resolved.arrayBuffer();
|
464
|
+
}
|
465
|
+
return this.decode(resolved);
|
466
|
+
}
|
467
|
+
};
|
468
|
+
var txtEnDecoder = new ResolveOnce();
|
469
|
+
function TxtEnDecoderSingleton() {
|
470
|
+
return txtEnDecoder.once(() => new TxtOps());
|
471
|
+
}
|
472
|
+
|
473
|
+
// src/node/node-file-service.ts
|
474
|
+
var NodeFileService = class {
|
475
|
+
constructor(baseDir = import_node_process.default.cwd()) {
|
476
|
+
this.baseDir = this.abs(baseDir);
|
477
|
+
}
|
478
|
+
// nodeImport(fname: string): string {
|
479
|
+
// // console.log('nodeImport:'+ fname);
|
480
|
+
// if (path.isAbsolute(fname)) {
|
481
|
+
// return fname;
|
482
|
+
// } else {
|
483
|
+
// return "./" + path.normalize(fname);
|
484
|
+
// }
|
485
|
+
// }
|
486
|
+
readFileString(fname) {
|
487
|
+
return import_node_fs.default.promises.readFile(fname, { encoding: "utf-8" });
|
488
|
+
}
|
489
|
+
dirname(fname) {
|
490
|
+
return import_node_path.default.dirname(fname);
|
491
|
+
}
|
492
|
+
basename(fname) {
|
493
|
+
return import_node_path.default.basename(fname);
|
494
|
+
}
|
495
|
+
join(...paths) {
|
496
|
+
return import_node_path.default.join(...paths);
|
497
|
+
}
|
498
|
+
relative(from, to) {
|
499
|
+
if (to === void 0) {
|
500
|
+
to = from;
|
501
|
+
from = import_node_process.default.cwd();
|
502
|
+
}
|
503
|
+
const ret = import_node_path.default.relative(from, to);
|
504
|
+
return ret;
|
505
|
+
}
|
506
|
+
abs(fname) {
|
507
|
+
if (import_node_path.default.isAbsolute(fname)) {
|
508
|
+
return fname;
|
509
|
+
} else {
|
510
|
+
const cwd = import_node_process.default.cwd();
|
511
|
+
return import_node_path.default.resolve(cwd, fname);
|
512
|
+
}
|
513
|
+
}
|
514
|
+
isAbsolute(fname) {
|
515
|
+
return import_node_path.default.isAbsolute(fname);
|
516
|
+
}
|
517
|
+
async writeFileString(fname, content, ende = TxtEnDecoderSingleton()) {
|
518
|
+
const o = await this.create(fname);
|
519
|
+
const wr = o.stream.getWriter();
|
520
|
+
await wr.write(ende.encode(content));
|
521
|
+
await wr.close();
|
522
|
+
}
|
523
|
+
async create(fname) {
|
524
|
+
let oName = fname;
|
525
|
+
if (!import_node_path.default.isAbsolute(fname)) {
|
526
|
+
oName = this.abs(fname);
|
527
|
+
}
|
528
|
+
const base = import_node_path.default.dirname(oName);
|
529
|
+
await import_node_fs.default.promises.mkdir(base, { recursive: true });
|
530
|
+
const out = import_node_fs.default.createWriteStream(oName);
|
531
|
+
return {
|
532
|
+
name: oName,
|
533
|
+
stream: new WritableStream({
|
534
|
+
write(chunk) {
|
535
|
+
out.write(chunk);
|
536
|
+
},
|
537
|
+
close() {
|
538
|
+
out.close();
|
539
|
+
},
|
540
|
+
abort() {
|
541
|
+
throw new Error("not implemented");
|
761
542
|
}
|
762
|
-
|
763
|
-
|
764
|
-
value: Result.Ok(v._onceValue)
|
765
|
-
};
|
766
|
-
}
|
767
|
-
throw new Error("KeyedResolvOnce.values impossible");
|
768
|
-
});
|
543
|
+
})
|
544
|
+
};
|
769
545
|
}
|
770
546
|
};
|
771
547
|
|
@@ -806,6 +582,40 @@ function runtimeFn() {
|
|
806
582
|
};
|
807
583
|
}
|
808
584
|
|
585
|
+
// src/sys-abstraction.ts
|
586
|
+
var TimeMode = {
|
587
|
+
REAL: "real",
|
588
|
+
CONST: "const",
|
589
|
+
STEP: "step"
|
590
|
+
};
|
591
|
+
var RandomMode = {
|
592
|
+
CONST: "const",
|
593
|
+
STEP: "step",
|
594
|
+
RANDOM: "random"
|
595
|
+
};
|
596
|
+
var IDMode = {
|
597
|
+
UUID: "uuid",
|
598
|
+
CONST: "const",
|
599
|
+
STEP: "step"
|
600
|
+
};
|
601
|
+
|
602
|
+
// src/time.ts
|
603
|
+
var Time = class {
|
604
|
+
TimeSince(start) {
|
605
|
+
const now = this.Now();
|
606
|
+
return now.getTime() - start.getTime();
|
607
|
+
}
|
608
|
+
};
|
609
|
+
var TimeUnits = {
|
610
|
+
Microsecond: 1,
|
611
|
+
Second: 1e3 * 1,
|
612
|
+
//Microsecond,
|
613
|
+
Minute: 60 * 1e3 * 1,
|
614
|
+
//Second,
|
615
|
+
Hour: 60 * 60 * 1e3 * 1
|
616
|
+
// Minute,
|
617
|
+
};
|
618
|
+
|
809
619
|
// src/deno/deno-env-actions.ts
|
810
620
|
var once = new ResolveOnce();
|
811
621
|
var _deno;
|
@@ -1169,6 +979,224 @@ var EnvImpl = class {
|
|
1169
979
|
}
|
1170
980
|
};
|
1171
981
|
|
982
|
+
// src/web/web-basic-sys-abstraction.ts
|
983
|
+
var baseSysAbstraction = new ResolveOnce();
|
984
|
+
|
985
|
+
// src/cf/cf-basic-sys-abstraction.ts
|
986
|
+
var baseSysAbstraction2 = new ResolveOnce();
|
987
|
+
|
988
|
+
// src/deno/deno-basic-sys-abstraction.ts
|
989
|
+
var baseSysAbstraction3 = new ResolveOnce();
|
990
|
+
|
991
|
+
// src/node/node-basic-sys-abstraction.ts
|
992
|
+
var NodeRuntimeService = class {
|
993
|
+
constructor(ende) {
|
994
|
+
this._txtEnDe = ende;
|
995
|
+
this._gthis = globalThis;
|
996
|
+
}
|
997
|
+
Env() {
|
998
|
+
return envFactory();
|
999
|
+
}
|
1000
|
+
Args() {
|
1001
|
+
return this._gthis.process.argv;
|
1002
|
+
}
|
1003
|
+
Stdout() {
|
1004
|
+
return new WritableStream({
|
1005
|
+
write: (chunk) => {
|
1006
|
+
this._gthis.process.stdout.write(chunk);
|
1007
|
+
}
|
1008
|
+
});
|
1009
|
+
}
|
1010
|
+
Stderr() {
|
1011
|
+
return new WritableStream({
|
1012
|
+
write: (chunk) => {
|
1013
|
+
this._gthis.process.stderr.write(chunk);
|
1014
|
+
}
|
1015
|
+
});
|
1016
|
+
}
|
1017
|
+
};
|
1018
|
+
var baseSysAbstraction4 = new ResolveOnce();
|
1019
|
+
function NodeBasicSysAbstraction(param2) {
|
1020
|
+
var _a;
|
1021
|
+
const my = baseSysAbstraction4.once(() => {
|
1022
|
+
return new BaseBasicSysAbstraction({
|
1023
|
+
TxtEnDecoder: (param2 == null ? void 0 : param2.TxtEnDecoder) || TxtEnDecoderSingleton()
|
1024
|
+
});
|
1025
|
+
});
|
1026
|
+
return new WrapperBasicSysAbstraction(my, {
|
1027
|
+
basicRuntimeService: new NodeRuntimeService((_a = param2 == null ? void 0 : param2.TxtEnDecoder) != null ? _a : my._txtEnDe),
|
1028
|
+
...param2
|
1029
|
+
});
|
1030
|
+
}
|
1031
|
+
|
1032
|
+
// src/base-sys-abstraction.ts
|
1033
|
+
var SysTime = class extends Time {
|
1034
|
+
Now() {
|
1035
|
+
return /* @__PURE__ */ new Date();
|
1036
|
+
}
|
1037
|
+
Sleep(duration) {
|
1038
|
+
return new Promise((resolve) => {
|
1039
|
+
setTimeout(() => {
|
1040
|
+
resolve();
|
1041
|
+
}, duration);
|
1042
|
+
});
|
1043
|
+
}
|
1044
|
+
};
|
1045
|
+
var ConstTime = class extends Time {
|
1046
|
+
Now() {
|
1047
|
+
return new Date(2021, 1, 1, 0, 0, 0, 0);
|
1048
|
+
}
|
1049
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1050
|
+
Sleep(duration) {
|
1051
|
+
return Promise.resolve();
|
1052
|
+
}
|
1053
|
+
};
|
1054
|
+
var StepTime = class extends Time {
|
1055
|
+
constructor() {
|
1056
|
+
super();
|
1057
|
+
this._step = new ConstTime().Now();
|
1058
|
+
this._start = this._step;
|
1059
|
+
}
|
1060
|
+
Now(steps = 1) {
|
1061
|
+
for (let i = 0; steps > 0 && i < steps; i++) {
|
1062
|
+
this._step = new Date(this._step.getTime() + 1e3);
|
1063
|
+
}
|
1064
|
+
if (steps < 1) {
|
1065
|
+
this._step = new Date(this._start.getTime() + steps * -1e3);
|
1066
|
+
}
|
1067
|
+
return this._step;
|
1068
|
+
}
|
1069
|
+
Sleep(duration) {
|
1070
|
+
this._step = new Date(this._step.getTime() + duration);
|
1071
|
+
return Promise.resolve();
|
1072
|
+
}
|
1073
|
+
};
|
1074
|
+
function TimeFactory(timeMode) {
|
1075
|
+
switch (timeMode) {
|
1076
|
+
case TimeMode.REAL:
|
1077
|
+
return new SysTime();
|
1078
|
+
case TimeMode.CONST:
|
1079
|
+
return new ConstTime();
|
1080
|
+
case TimeMode.STEP:
|
1081
|
+
return new StepTime();
|
1082
|
+
}
|
1083
|
+
return new SysTime();
|
1084
|
+
}
|
1085
|
+
var RandomService = class {
|
1086
|
+
constructor(mode) {
|
1087
|
+
this._step = 0;
|
1088
|
+
this._mode = mode;
|
1089
|
+
}
|
1090
|
+
Random0ToValue(value) {
|
1091
|
+
switch (this._mode) {
|
1092
|
+
case RandomMode.CONST:
|
1093
|
+
return 0.5 * value;
|
1094
|
+
case RandomMode.STEP:
|
1095
|
+
this._step += 1e-4;
|
1096
|
+
return this._step * value;
|
1097
|
+
case RandomMode.RANDOM:
|
1098
|
+
return Math.random() * value;
|
1099
|
+
default:
|
1100
|
+
throw new Error("Unknown RandomMode");
|
1101
|
+
}
|
1102
|
+
}
|
1103
|
+
};
|
1104
|
+
var IdService = class {
|
1105
|
+
constructor(mode) {
|
1106
|
+
this._step = 0;
|
1107
|
+
if (!mode) {
|
1108
|
+
mode = IDMode.UUID;
|
1109
|
+
}
|
1110
|
+
this._mode = mode;
|
1111
|
+
}
|
1112
|
+
NextId() {
|
1113
|
+
switch (this._mode) {
|
1114
|
+
case IDMode.UUID:
|
1115
|
+
return crypto.randomUUID();
|
1116
|
+
case IDMode.CONST:
|
1117
|
+
return "VeryUniqueID";
|
1118
|
+
case IDMode.STEP:
|
1119
|
+
return `STEPId-${this._step++}`;
|
1120
|
+
default:
|
1121
|
+
throw new Error("Unknown IDMode");
|
1122
|
+
}
|
1123
|
+
}
|
1124
|
+
};
|
1125
|
+
var BaseBasicSysAbstraction = class {
|
1126
|
+
constructor(params) {
|
1127
|
+
this._time = new SysTime();
|
1128
|
+
// system independent services
|
1129
|
+
this._idService = new IdService();
|
1130
|
+
this._randomService = new RandomService(RandomMode.RANDOM);
|
1131
|
+
this._txtEnDe = params.TxtEnDecoder;
|
1132
|
+
}
|
1133
|
+
};
|
1134
|
+
var BaseSysAbstraction = class extends BaseBasicSysAbstraction {
|
1135
|
+
constructor(params) {
|
1136
|
+
super(params);
|
1137
|
+
this._fileSystem = params.FileSystem;
|
1138
|
+
this._systemService = params.SystemService;
|
1139
|
+
}
|
1140
|
+
};
|
1141
|
+
var WrapperBasicSysAbstraction = class {
|
1142
|
+
constructor(base, params) {
|
1143
|
+
this._time = base._time;
|
1144
|
+
this._basicRuntimeService = params.basicRuntimeService;
|
1145
|
+
this._idService = base._idService;
|
1146
|
+
this._randomService = base._randomService;
|
1147
|
+
if (params.TimeMode) {
|
1148
|
+
this._time = TimeFactory(params.TimeMode);
|
1149
|
+
}
|
1150
|
+
if (params.IdMode) {
|
1151
|
+
this._idService = new IdService(params.IdMode);
|
1152
|
+
}
|
1153
|
+
if (params.RandomMode) {
|
1154
|
+
this._randomService = new RandomService(params.RandomMode);
|
1155
|
+
}
|
1156
|
+
}
|
1157
|
+
Time() {
|
1158
|
+
return this._time;
|
1159
|
+
}
|
1160
|
+
NextId() {
|
1161
|
+
return this._idService.NextId();
|
1162
|
+
}
|
1163
|
+
Random0ToValue(value) {
|
1164
|
+
return this._randomService.Random0ToValue(value);
|
1165
|
+
}
|
1166
|
+
Stdout() {
|
1167
|
+
return this._basicRuntimeService.Stdout();
|
1168
|
+
}
|
1169
|
+
Stderr() {
|
1170
|
+
return this._basicRuntimeService.Stderr();
|
1171
|
+
}
|
1172
|
+
Env() {
|
1173
|
+
return this._basicRuntimeService.Env();
|
1174
|
+
}
|
1175
|
+
Args() {
|
1176
|
+
return this._basicRuntimeService.Args();
|
1177
|
+
}
|
1178
|
+
// System(): SystemService {
|
1179
|
+
// return this._systemService;
|
1180
|
+
// }
|
1181
|
+
// FileSystem(): FileService {
|
1182
|
+
// return this._fileSystem;
|
1183
|
+
// }
|
1184
|
+
};
|
1185
|
+
var WrapperRuntimeSysAbstraction = class extends WrapperBasicSysAbstraction {
|
1186
|
+
constructor(base, params) {
|
1187
|
+
var _a, _b;
|
1188
|
+
super(base, params);
|
1189
|
+
this._systemService = (_a = params.systemService) != null ? _a : base._systemService;
|
1190
|
+
this._fileSystem = (_b = params.fileSystem) != null ? _b : base._fileSystem;
|
1191
|
+
}
|
1192
|
+
System() {
|
1193
|
+
return this._systemService;
|
1194
|
+
}
|
1195
|
+
FileSystem() {
|
1196
|
+
return this._fileSystem;
|
1197
|
+
}
|
1198
|
+
};
|
1199
|
+
|
1172
1200
|
// src/node/node-sys-abstraction.ts
|
1173
1201
|
var import_node_process2 = __toESM(require("process"), 1);
|
1174
1202
|
var NodeExitServiceImpl = class {
|
@@ -1229,12 +1257,6 @@ var _NodeSystemService = class _NodeSystemService {
|
|
1229
1257
|
this._exitService = new NodeExitServiceImpl();
|
1230
1258
|
this._exitService.injectExitHandlers(_NodeSystemService._exitHandlers);
|
1231
1259
|
}
|
1232
|
-
Env() {
|
1233
|
-
return envFactory();
|
1234
|
-
}
|
1235
|
-
Args() {
|
1236
|
-
return import_node_process2.default.argv;
|
1237
|
-
}
|
1238
1260
|
OnExit(hdl) {
|
1239
1261
|
const id = crypto.randomUUID();
|
1240
1262
|
_NodeSystemService._exitHandlers.push({ hdl, id });
|
@@ -1251,16 +1273,19 @@ var _NodeSystemService = class _NodeSystemService {
|
|
1251
1273
|
};
|
1252
1274
|
_NodeSystemService._exitHandlers = [];
|
1253
1275
|
var NodeSystemService = _NodeSystemService;
|
1254
|
-
var
|
1276
|
+
var baseSysAbstraction5 = new ResolveOnce();
|
1255
1277
|
function NodeSysAbstraction(param2) {
|
1256
|
-
|
1257
|
-
|
1278
|
+
const my = baseSysAbstraction5.once(
|
1279
|
+
() => new BaseSysAbstraction({
|
1258
1280
|
TxtEnDecoder: (param2 == null ? void 0 : param2.TxtEnDecoder) || TxtEnDecoderSingleton(),
|
1259
1281
|
FileSystem: new NodeFileService(),
|
1260
1282
|
SystemService: new NodeSystemService()
|
1261
|
-
})
|
1262
|
-
|
1263
|
-
return new
|
1283
|
+
})
|
1284
|
+
);
|
1285
|
+
return new WrapperRuntimeSysAbstraction(my, {
|
1286
|
+
basicRuntimeService: NodeBasicSysAbstraction(param2),
|
1287
|
+
...param2
|
1288
|
+
});
|
1264
1289
|
}
|
1265
1290
|
|
1266
1291
|
// src/node/mock-file-service.ts
|