@adviser/cement 0.1.11 → 0.1.13

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.
Files changed (167) hide show
  1. package/base_sys_abstraction-BCdXJHNa.d.ts +21 -0
  2. package/base_sys_abstraction-BYZvxqsW.d.cts +21 -0
  3. package/chunk-J2IM7FHM.js +65 -0
  4. package/chunk-J2IM7FHM.js.map +1 -0
  5. package/chunk-MWAFFTM4.js +82 -0
  6. package/chunk-MWAFFTM4.js.map +1 -0
  7. package/chunk-PZTL4UNG.js +233 -0
  8. package/chunk-PZTL4UNG.js.map +1 -0
  9. package/index.cjs +986 -0
  10. package/index.cjs.map +1 -0
  11. package/index.d.cts +196 -0
  12. package/index.d.ts +196 -11
  13. package/index.js +610 -26
  14. package/index.js.map +1 -1
  15. package/node/index.cjs +436 -0
  16. package/node/index.cjs.map +1 -0
  17. package/node/index.d.cts +47 -0
  18. package/node/index.d.ts +47 -4
  19. package/node/index.js +215 -17
  20. package/node/index.js.map +1 -1
  21. package/package.json +34 -8
  22. package/sys_abstraction-CjljYIkv.d.cts +65 -0
  23. package/sys_abstraction-CjljYIkv.d.ts +65 -0
  24. package/utils/index.cjs +270 -0
  25. package/utils/index.cjs.map +1 -0
  26. package/utils/index.d.cts +33 -0
  27. package/utils/index.d.ts +33 -6
  28. package/utils/index.js +232 -20
  29. package/utils/index.js.map +1 -1
  30. package/web/index.cjs +286 -0
  31. package/web/index.cjs.map +1 -0
  32. package/web/index.d.cts +6 -0
  33. package/web/index.d.ts +6 -2
  34. package/web/index.js +7 -16
  35. package/web/index.js.map +1 -1
  36. package/base_sys_abstraction.d.ts +0 -79
  37. package/base_sys_abstraction.d.ts.map +0 -1
  38. package/base_sys_abstraction.js +0 -186
  39. package/base_sys_abstraction.js.map +0 -1
  40. package/base_sys_abstraction.test.d.ts +0 -2
  41. package/base_sys_abstraction.test.d.ts.map +0 -1
  42. package/base_sys_abstraction.test.js +0 -77
  43. package/base_sys_abstraction.test.js.map +0 -1
  44. package/file_service.d.ts +0 -18
  45. package/file_service.d.ts.map +0 -1
  46. package/file_service.js +0 -3
  47. package/file_service.js.map +0 -1
  48. package/future.d.ts +0 -8
  49. package/future.d.ts.map +0 -1
  50. package/future.js +0 -42
  51. package/future.js.map +0 -1
  52. package/future.test.d.ts +0 -2
  53. package/future.test.d.ts.map +0 -1
  54. package/future.test.js +0 -30
  55. package/future.test.js.map +0 -1
  56. package/index.d.ts.map +0 -1
  57. package/logger.d.ts +0 -36
  58. package/logger.d.ts.map +0 -1
  59. package/logger.js +0 -11
  60. package/logger.js.map +0 -1
  61. package/logger.test.d.ts +0 -2
  62. package/logger.test.d.ts.map +0 -1
  63. package/logger.test.js +0 -372
  64. package/logger.test.js.map +0 -1
  65. package/logger_impl.d.ts +0 -64
  66. package/logger_impl.d.ts.map +0 -1
  67. package/logger_impl.js +0 -331
  68. package/logger_impl.js.map +0 -1
  69. package/node/index.d.ts.map +0 -1
  70. package/node/mock_file_service.d.ts +0 -11
  71. package/node/mock_file_service.d.ts.map +0 -1
  72. package/node/mock_file_service.js +0 -38
  73. package/node/mock_file_service.js.map +0 -1
  74. package/node/mock_file_service.test.d.ts +0 -2
  75. package/node/mock_file_service.test.d.ts.map +0 -1
  76. package/node/mock_file_service.test.js +0 -19
  77. package/node/mock_file_service.test.js.map +0 -1
  78. package/node/node_file_service.d.ts +0 -16
  79. package/node/node_file_service.d.ts.map +0 -1
  80. package/node/node_file_service.js +0 -84
  81. package/node/node_file_service.js.map +0 -1
  82. package/node/node_sys_abstraction.d.ts +0 -21
  83. package/node/node_sys_abstraction.d.ts.map +0 -1
  84. package/node/node_sys_abstraction.js +0 -101
  85. package/node/node_sys_abstraction.js.map +0 -1
  86. package/node/node_sys_abstraction.test.d.ts +0 -2
  87. package/node/node_sys_abstraction.test.d.ts.map +0 -1
  88. package/node/node_sys_abstraction.test.js +0 -57
  89. package/node/node_sys_abstraction.test.js.map +0 -1
  90. package/option.d.ts +0 -25
  91. package/option.d.ts.map +0 -1
  92. package/option.js +0 -53
  93. package/option.js.map +0 -1
  94. package/result.d.ts +0 -31
  95. package/result.d.ts.map +0 -1
  96. package/result.js +0 -69
  97. package/result.js.map +0 -1
  98. package/result.test.d.ts +0 -2
  99. package/result.test.d.ts.map +0 -1
  100. package/result.test.js +0 -39
  101. package/result.test.js.map +0 -1
  102. package/sys_abstraction.d.ts +0 -35
  103. package/sys_abstraction.d.ts.map +0 -1
  104. package/sys_abstraction.js +0 -35
  105. package/sys_abstraction.js.map +0 -1
  106. package/test/log_collector.d.ts +0 -22
  107. package/test/log_collector.d.ts.map +0 -1
  108. package/test/log_collector.js +0 -66
  109. package/test/log_collector.js.map +0 -1
  110. package/test/mock_logger.d.ts +0 -13
  111. package/test/mock_logger.d.ts.map +0 -1
  112. package/test/mock_logger.js +0 -30
  113. package/test/mock_logger.js.map +0 -1
  114. package/test/mock_logger.test.d.ts +0 -2
  115. package/test/mock_logger.test.d.ts.map +0 -1
  116. package/test/mock_logger.test.js +0 -49
  117. package/test/mock_logger.test.js.map +0 -1
  118. package/test/test-exit-handler.d.ts +0 -1
  119. package/test/test-exit-handler.d.ts.map +0 -1
  120. package/test/test-exit-handler.js +0 -76
  121. package/test/test-exit-handler.js.map +0 -1
  122. package/time.d.ts +0 -13
  123. package/time.d.ts.map +0 -1
  124. package/time.js +0 -18
  125. package/time.js.map +0 -1
  126. package/utils/index.d.ts.map +0 -1
  127. package/utils/rebuffer.d.ts +0 -3
  128. package/utils/rebuffer.d.ts.map +0 -1
  129. package/utils/rebuffer.js +0 -65
  130. package/utils/rebuffer.js.map +0 -1
  131. package/utils/rebuffer.test.d.ts +0 -2
  132. package/utils/rebuffer.test.d.ts.map +0 -1
  133. package/utils/rebuffer.test.js +0 -79
  134. package/utils/rebuffer.test.js.map +0 -1
  135. package/utils/stream2string.d.ts +0 -3
  136. package/utils/stream2string.d.ts.map +0 -1
  137. package/utils/stream2string.js +0 -53
  138. package/utils/stream2string.js.map +0 -1
  139. package/utils/stream2string.test.d.ts +0 -2
  140. package/utils/stream2string.test.d.ts.map +0 -1
  141. package/utils/stream2string.test.js +0 -31
  142. package/utils/stream2string.test.js.map +0 -1
  143. package/utils/stream_map.d.ts +0 -9
  144. package/utils/stream_map.d.ts.map +0 -1
  145. package/utils/stream_map.js +0 -67
  146. package/utils/stream_map.js.map +0 -1
  147. package/utils/stream_map.test.d.ts +0 -2
  148. package/utils/stream_map.test.d.ts.map +0 -1
  149. package/utils/stream_map.test.js +0 -89
  150. package/utils/stream_map.test.js.map +0 -1
  151. package/utils/stream_test_helper.d.ts +0 -15
  152. package/utils/stream_test_helper.d.ts.map +0 -1
  153. package/utils/stream_test_helper.js +0 -42
  154. package/utils/stream_test_helper.js.map +0 -1
  155. package/utils/string2stream.d.ts +0 -3
  156. package/utils/string2stream.d.ts.map +0 -1
  157. package/utils/string2stream.js +0 -18
  158. package/utils/string2stream.js.map +0 -1
  159. package/utils/string2stream.test.d.ts +0 -2
  160. package/utils/string2stream.test.d.ts.map +0 -1
  161. package/utils/string2stream.test.js +0 -9
  162. package/utils/string2stream.test.js.map +0 -1
  163. package/web/index.d.ts.map +0 -1
  164. package/web/web_sys_abstraction.d.ts +0 -4
  165. package/web/web_sys_abstraction.d.ts.map +0 -1
  166. package/web/web_sys_abstraction.js +0 -65
  167. package/web/web_sys_abstraction.js.map +0 -1
package/web/index.cjs ADDED
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/web/index.ts
21
+ var web_exports = {};
22
+ __export(web_exports, {
23
+ WebSysAbstraction: () => WebSysAbstraction
24
+ });
25
+ module.exports = __toCommonJS(web_exports);
26
+
27
+ // src/time.ts
28
+ var Time = class {
29
+ TimeSince(start) {
30
+ const now = this.Now();
31
+ return now.getTime() - start.getTime();
32
+ }
33
+ };
34
+
35
+ // src/base_sys_abstraction.ts
36
+ var SysTime = class extends Time {
37
+ Now() {
38
+ return /* @__PURE__ */ new Date();
39
+ }
40
+ Sleep(duration) {
41
+ return new Promise((resolve) => {
42
+ setTimeout(() => {
43
+ resolve();
44
+ }, duration);
45
+ });
46
+ }
47
+ };
48
+ var ConstTime = class extends Time {
49
+ Now() {
50
+ return new Date(2021, 1, 1, 0, 0, 0, 0);
51
+ }
52
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
53
+ Sleep(duration) {
54
+ return Promise.resolve();
55
+ }
56
+ };
57
+ var StepTime = class extends Time {
58
+ constructor() {
59
+ super();
60
+ this._step = new ConstTime().Now();
61
+ }
62
+ Now() {
63
+ if (this._step.getTime() === 0) {
64
+ this._step = new ConstTime().Now();
65
+ return this._step;
66
+ }
67
+ this._step = new Date(this._step.getTime() + 1e3);
68
+ return this._step;
69
+ }
70
+ Sleep(duration) {
71
+ this._step = new Date(this._step.getTime() + duration);
72
+ return Promise.resolve();
73
+ }
74
+ };
75
+ function TimeFactory(timeMode) {
76
+ switch (timeMode) {
77
+ case "real" /* REAL */:
78
+ return new SysTime();
79
+ case "const" /* CONST */:
80
+ return new ConstTime();
81
+ case "step" /* STEP */:
82
+ return new StepTime();
83
+ }
84
+ return new SysTime();
85
+ }
86
+ var RandomService = class {
87
+ constructor(mode) {
88
+ this._step = 0;
89
+ this._mode = mode;
90
+ }
91
+ Random0ToValue(value) {
92
+ switch (this._mode) {
93
+ case "const" /* CONST */:
94
+ return 0.5 * value;
95
+ case "step" /* STEP */:
96
+ this._step += 1e-4;
97
+ return this._step * value;
98
+ case "random" /* RANDOM */:
99
+ return Math.random() * value;
100
+ default:
101
+ throw new Error("Unknown RandomMode");
102
+ }
103
+ }
104
+ };
105
+ var IdService = class {
106
+ constructor(mode) {
107
+ this._step = 0;
108
+ if (!mode) {
109
+ mode = "uuid" /* UUID */;
110
+ }
111
+ this._mode = mode;
112
+ }
113
+ NextId() {
114
+ switch (this._mode) {
115
+ case "uuid" /* UUID */:
116
+ return crypto.randomUUID();
117
+ case "const" /* CONST */:
118
+ return "VeryUniqueID";
119
+ case "step" /* STEP */:
120
+ return `STEPId-${this._step++}`;
121
+ default:
122
+ throw new Error("Unknown IDMode");
123
+ }
124
+ }
125
+ };
126
+ var decoder = new TextDecoder();
127
+ var BaseSysAbstraction = class {
128
+ constructor(params) {
129
+ this._time = new SysTime();
130
+ this._stdout = new WritableStream({
131
+ write(chunk) {
132
+ return new Promise((resolve) => {
133
+ const decoded = decoder.decode(chunk);
134
+ console.log(decoded.trimEnd());
135
+ resolve();
136
+ });
137
+ }
138
+ });
139
+ this._stderr = new WritableStream({
140
+ write(chunk) {
141
+ return new Promise((resolve) => {
142
+ const decoded = decoder.decode(chunk);
143
+ console.error(decoded.trimEnd());
144
+ resolve();
145
+ });
146
+ }
147
+ });
148
+ this._idService = new IdService();
149
+ this._randomService = new RandomService("random" /* RANDOM */);
150
+ this._fileSystem = params.FileSystem;
151
+ this._systemService = params.SystemService;
152
+ }
153
+ };
154
+ var WrapperSysAbstraction = class {
155
+ constructor(base, params) {
156
+ this._time = base._time;
157
+ this._stdout = base._stdout;
158
+ this._stderr = base._stderr;
159
+ this._idService = base._idService;
160
+ this._randomService = base._randomService;
161
+ this._fileSystem = base._fileSystem;
162
+ this._systemService = base._systemService;
163
+ if (params) {
164
+ if (params.TimeMode) {
165
+ this._time = TimeFactory(params.TimeMode);
166
+ }
167
+ if (params.Stdout) {
168
+ this._stdout = params.Stdout;
169
+ }
170
+ if (params.Stderr) {
171
+ this._stderr = params.Stderr;
172
+ }
173
+ if (params.IdMode) {
174
+ this._idService = new IdService(params.IdMode);
175
+ }
176
+ if (params.RandomMode) {
177
+ this._randomService = new RandomService(params.RandomMode);
178
+ }
179
+ if (params.FileSystem) {
180
+ this._fileSystem = params.FileSystem;
181
+ }
182
+ if (params.SystemService) {
183
+ this._systemService = params.SystemService;
184
+ }
185
+ }
186
+ }
187
+ Time() {
188
+ return this._time;
189
+ }
190
+ NextId() {
191
+ return this._idService.NextId();
192
+ }
193
+ Random0ToValue(value) {
194
+ return this._randomService.Random0ToValue(value);
195
+ }
196
+ Stdout() {
197
+ return this._stdout;
198
+ }
199
+ Stderr() {
200
+ return this._stderr;
201
+ }
202
+ System() {
203
+ return this._systemService;
204
+ }
205
+ FileSystem() {
206
+ return this._fileSystem;
207
+ }
208
+ };
209
+
210
+ // src/web/web_sys_abstraction.ts
211
+ var WebFileService = class {
212
+ get baseDir() {
213
+ throw new Error("basedir-Method not implemented.");
214
+ }
215
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
216
+ create(fname) {
217
+ throw new Error("create-Method not implemented.");
218
+ }
219
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
220
+ readFileString(fname) {
221
+ throw new Error("readFileString-Method not implemented.");
222
+ }
223
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
224
+ writeFileString(fname, content) {
225
+ throw new Error("writeFileString-Method not implemented.");
226
+ }
227
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
228
+ abs(fname) {
229
+ throw new Error("abs-Method not implemented.");
230
+ }
231
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
232
+ join(...paths) {
233
+ throw new Error("join-Method not implemented.");
234
+ }
235
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
236
+ relative(from, to) {
237
+ throw new Error("relative-Method not implemented.");
238
+ }
239
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
240
+ dirname(fname) {
241
+ throw new Error("dirname-Method not implemented.");
242
+ }
243
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
244
+ basename(fname) {
245
+ throw new Error("basename-Method not implemented.");
246
+ }
247
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
248
+ nodeImport(fname) {
249
+ throw new Error("nodeImport-Method not implemented.");
250
+ }
251
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
252
+ isAbsolute(fname) {
253
+ throw new Error("isAbsolute-Method not implemented.");
254
+ }
255
+ };
256
+ var WebSystemService = class {
257
+ Env() {
258
+ throw new Error("Env-Method not implemented.");
259
+ }
260
+ Args() {
261
+ throw new Error("Args-Method not implemented.");
262
+ }
263
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
264
+ OnExit(hdl) {
265
+ throw new Error("OnExit-Method not implemented.");
266
+ }
267
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
268
+ Exit(code) {
269
+ throw new Error("Exit-Method not implemented.");
270
+ }
271
+ };
272
+ var my = void 0;
273
+ function WebSysAbstraction(param) {
274
+ if (!my) {
275
+ my = new BaseSysAbstraction({
276
+ FileSystem: new WebFileService(),
277
+ SystemService: new WebSystemService()
278
+ });
279
+ }
280
+ return new WrapperSysAbstraction(my, param);
281
+ }
282
+ // Annotate the CommonJS export names for ESM import in node:
283
+ 0 && (module.exports = {
284
+ WebSysAbstraction
285
+ });
286
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/web/index.ts","../../../src/time.ts","../../../src/base_sys_abstraction.ts","../../../src/web/web_sys_abstraction.ts"],"sourcesContent":["export * from \"./web_sys_abstraction\";\n","export abstract class Time {\n abstract Now(): Date;\n abstract Sleep(duration: Duration): Promise<void>;\n TimeSince(start: Date): Duration {\n const now = this.Now();\n return now.getTime() - start.getTime();\n }\n}\n\nexport type Duration = number;\n\nexport enum TimeUnits {\n Microsecond = 1,\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n Second = 1000 * Microsecond,\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n Minute = 60 * Second,\n // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member\n Hour = 60 * Minute,\n}\n","import { FileService } from \"./file_service\";\nimport { TimeMode, RandomMode, IDMode, SystemService, VoidFunc, SysAbstraction } from \"./sys_abstraction\";\nimport { Time } from \"./time\";\n\nexport class SysTime extends Time {\n Now(): Date {\n return new Date();\n }\n Sleep(duration: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve();\n }, duration);\n });\n }\n}\n\nexport class ConstTime extends Time {\n Now(): Date {\n return new Date(2021, 1, 1, 0, 0, 0, 0);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Sleep(duration: number): Promise<void> {\n return Promise.resolve();\n }\n}\n\nexport class StepTime extends Time {\n _step: Date;\n constructor() {\n super();\n this._step = new ConstTime().Now();\n }\n Now() {\n if (this._step.getTime() === 0) {\n this._step = new ConstTime().Now();\n return this._step;\n }\n this._step = new Date(this._step.getTime() + 1000);\n return this._step;\n }\n Sleep(duration: number): Promise<void> {\n this._step = new Date(this._step.getTime() + duration);\n return Promise.resolve();\n }\n}\n\nexport function TimeFactory(timeMode: TimeMode): Time {\n switch (timeMode) {\n case TimeMode.REAL:\n return new SysTime();\n case TimeMode.CONST:\n return new ConstTime();\n case TimeMode.STEP:\n return new StepTime();\n }\n return new SysTime();\n}\n\nexport class RandomService {\n readonly _mode: RandomMode;\n _step = 0;\n constructor(mode: RandomMode) {\n this._mode = mode;\n }\n Random0ToValue(value: number): number {\n switch (this._mode) {\n case RandomMode.CONST:\n return 0.5 * value;\n case RandomMode.STEP:\n this._step += 0.0001;\n return this._step * value;\n case RandomMode.RANDOM:\n return Math.random() * value;\n default:\n throw new Error(\"Unknown RandomMode\");\n }\n }\n}\n\nexport class IdService {\n readonly _mode: IDMode;\n _step = 0;\n constructor(mode?: IDMode) {\n if (!mode) {\n mode = IDMode.UUID;\n }\n this._mode = mode;\n }\n NextId(): string {\n switch (this._mode) {\n case IDMode.UUID:\n return crypto.randomUUID();\n case IDMode.CONST:\n return \"VeryUniqueID\";\n case IDMode.STEP:\n return `STEPId-${this._step++}`;\n default:\n throw new Error(\"Unknown IDMode\");\n }\n }\n}\n\nexport interface BaseSysAbstractionParams {\n readonly FileSystem: FileService;\n readonly SystemService: SystemService;\n}\n\nexport interface ExitHandler {\n readonly hdl: VoidFunc;\n readonly id: string;\n}\n\nexport interface ExitService {\n injectExitHandlers(hdls: ExitHandler[]): void;\n exit(code: number): void;\n}\n\nconst decoder = new TextDecoder();\nexport class BaseSysAbstraction {\n readonly _time = new SysTime();\n readonly _stdout = new WritableStream({\n write(chunk) {\n return new Promise((resolve) => {\n const decoded = decoder.decode(chunk);\n console.log(decoded.trimEnd());\n resolve();\n });\n },\n });\n readonly _stderr = new WritableStream({\n write(chunk) {\n return new Promise((resolve) => {\n const decoded = decoder.decode(chunk);\n console.error(decoded.trimEnd());\n resolve();\n });\n },\n });\n\n readonly _idService = new IdService();\n readonly _randomService = new RandomService(RandomMode.RANDOM);\n readonly _fileSystem: FileService;\n readonly _systemService: SystemService;\n\n constructor(params: BaseSysAbstractionParams) {\n this._fileSystem = params.FileSystem;\n this._systemService = params.SystemService;\n }\n}\n\nexport interface WrapperSysAbstractionParams {\n readonly TimeMode?: TimeMode;\n readonly IdMode?: IDMode;\n readonly Stdout?: WritableStream<Uint8Array>;\n readonly Stderr?: WritableStream<Uint8Array>;\n readonly RandomMode?: RandomMode;\n readonly FileSystem?: FileService;\n readonly SystemService?: SystemService;\n}\n\nexport class WrapperSysAbstraction implements SysAbstraction {\n readonly _time: Time;\n readonly _stdout: WritableStream<Uint8Array>;\n readonly _stderr: WritableStream<Uint8Array>;\n readonly _idService: IdService;\n readonly _randomService: RandomService;\n readonly _fileSystem: FileService;\n readonly _systemService: SystemService;\n constructor(base: BaseSysAbstraction, params?: WrapperSysAbstractionParams) {\n this._time = base._time;\n this._stdout = base._stdout;\n this._stderr = base._stderr;\n this._idService = base._idService;\n this._randomService = base._randomService;\n this._fileSystem = base._fileSystem;\n this._systemService = base._systemService;\n if (params) {\n if (params.TimeMode) {\n this._time = TimeFactory(params.TimeMode);\n }\n if (params.Stdout) {\n this._stdout = params.Stdout;\n }\n if (params.Stderr) {\n this._stderr = params.Stderr;\n }\n if (params.IdMode) {\n this._idService = new IdService(params.IdMode);\n }\n if (params.RandomMode) {\n this._randomService = new RandomService(params.RandomMode);\n }\n if (params.FileSystem) {\n this._fileSystem = params.FileSystem;\n }\n if (params.SystemService) {\n this._systemService = params.SystemService;\n }\n }\n }\n Time(): Time {\n return this._time;\n }\n NextId(): string {\n return this._idService.NextId();\n }\n Random0ToValue(value: number): number {\n return this._randomService.Random0ToValue(value);\n }\n Stdout(): WritableStream {\n return this._stdout;\n }\n Stderr(): WritableStream {\n return this._stderr;\n }\n\n System(): SystemService {\n return this._systemService;\n }\n FileSystem(): FileService {\n return this._fileSystem;\n }\n}\n// export const BaseSysAbstraction = new BaseSysAbstractionImpl()\n","import { BaseSysAbstraction, WrapperSysAbstraction, WrapperSysAbstractionParams } from \"../base_sys_abstraction\";\nimport { FileService, NamedWritableStream } from \"../file_service\";\nimport { SysAbstraction, SystemService, VoidFunc } from \"../sys_abstraction\";\n\nclass WebFileService implements FileService {\n get baseDir(): string {\n throw new Error(\"basedir-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n create(fname: string): Promise<NamedWritableStream> {\n throw new Error(\"create-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n readFileString(fname: string): Promise<string> {\n throw new Error(\"readFileString-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n writeFileString(fname: string, content: string): Promise<void> {\n throw new Error(\"writeFileString-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n abs(fname: string): string {\n throw new Error(\"abs-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n join(...paths: string[]): string {\n throw new Error(\"join-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n relative(from: string, to?: string | undefined): string {\n throw new Error(\"relative-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname(fname: string): string {\n throw new Error(\"dirname-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n basename(fname: string): string {\n throw new Error(\"basename-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n nodeImport(fname: string): string {\n throw new Error(\"nodeImport-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n isAbsolute(fname: string): boolean {\n throw new Error(\"isAbsolute-Method not implemented.\");\n }\n}\n\nclass WebSystemService implements SystemService {\n Env(): Record<string, string> {\n throw new Error(\"Env-Method not implemented.\");\n }\n Args(): string[] {\n throw new Error(\"Args-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n OnExit(hdl: VoidFunc): VoidFunc {\n throw new Error(\"OnExit-Method not implemented.\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Exit(code: number): void {\n throw new Error(\"Exit-Method not implemented.\");\n }\n}\n\nlet my: BaseSysAbstraction | undefined = undefined;\nexport function WebSysAbstraction(param?: WrapperSysAbstractionParams): SysAbstraction {\n if (!my) {\n my = new BaseSysAbstraction({\n FileSystem: new WebFileService(),\n SystemService: new WebSystemService(),\n });\n }\n return new WrapperSysAbstraction(my, param);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,6 @@
1
+ import { W as WrapperSysAbstractionParams } from '../base_sys_abstraction-BYZvxqsW.cjs';
2
+ import { S as SysAbstraction } from '../sys_abstraction-CjljYIkv.cjs';
3
+
4
+ declare function WebSysAbstraction(param?: WrapperSysAbstractionParams): SysAbstraction;
5
+
6
+ export { WebSysAbstraction };
package/web/index.d.ts CHANGED
@@ -1,2 +1,6 @@
1
- export * from "./web_sys_abstraction";
2
- //# sourceMappingURL=index.d.ts.map
1
+ import { W as WrapperSysAbstractionParams } from '../base_sys_abstraction-BCdXJHNa.js';
2
+ import { S as SysAbstraction } from '../sys_abstraction-CjljYIkv.js';
3
+
4
+ declare function WebSysAbstraction(param?: WrapperSysAbstractionParams): SysAbstraction;
5
+
6
+ export { WebSysAbstraction };
package/web/index.js CHANGED
@@ -1,18 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1
+ import {
2
+ WebSysAbstraction
3
+ } from "../chunk-MWAFFTM4.js";
4
+ import "../chunk-PZTL4UNG.js";
5
+ import "../chunk-J2IM7FHM.js";
6
+ export {
7
+ WebSysAbstraction
15
8
  };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./web_sys_abstraction"), exports);
18
9
  //# sourceMappingURL=index.js.map
package/web/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,79 +0,0 @@
1
- import { FileService } from "./file_service";
2
- import { TimeMode, RandomMode, IDMode, SystemService, VoidFunc, SysAbstraction } from "./sys_abstraction";
3
- import { Time } from "./time";
4
- export declare class SysTime extends Time {
5
- Now(): Date;
6
- Sleep(duration: number): Promise<void>;
7
- }
8
- export declare class ConstTime extends Time {
9
- Now(): Date;
10
- Sleep(duration: number): Promise<void>;
11
- }
12
- export declare class StepTime extends Time {
13
- _step: Date;
14
- constructor();
15
- Now(): Date;
16
- Sleep(duration: number): Promise<void>;
17
- }
18
- export declare function TimeFactory(timeMode: TimeMode): Time;
19
- export declare class RandomService {
20
- readonly _mode: RandomMode;
21
- _step: number;
22
- constructor(mode: RandomMode);
23
- Random0ToValue(value: number): number;
24
- }
25
- export declare class IdService {
26
- readonly _mode: IDMode;
27
- _step: number;
28
- constructor(mode?: IDMode);
29
- NextId(): string;
30
- }
31
- export interface BaseSysAbstractionParams {
32
- readonly FileSystem: FileService;
33
- readonly SystemService: SystemService;
34
- }
35
- export interface ExitHandler {
36
- readonly hdl: VoidFunc;
37
- readonly id: string;
38
- }
39
- export interface ExitService {
40
- injectExitHandlers(hdls: ExitHandler[]): void;
41
- exit(code: number): void;
42
- }
43
- export declare class BaseSysAbstraction {
44
- readonly _time: SysTime;
45
- readonly _stdout: WritableStream<any>;
46
- readonly _stderr: WritableStream<any>;
47
- readonly _idService: IdService;
48
- readonly _randomService: RandomService;
49
- readonly _fileSystem: FileService;
50
- readonly _systemService: SystemService;
51
- constructor(params: BaseSysAbstractionParams);
52
- }
53
- export interface WrapperSysAbstractionParams {
54
- readonly TimeMode?: TimeMode;
55
- readonly IdMode?: IDMode;
56
- readonly Stdout?: WritableStream<Uint8Array>;
57
- readonly Stderr?: WritableStream<Uint8Array>;
58
- readonly RandomMode?: RandomMode;
59
- readonly FileSystem?: FileService;
60
- readonly SystemService?: SystemService;
61
- }
62
- export declare class WrapperSysAbstraction implements SysAbstraction {
63
- readonly _time: Time;
64
- readonly _stdout: WritableStream<Uint8Array>;
65
- readonly _stderr: WritableStream<Uint8Array>;
66
- readonly _idService: IdService;
67
- readonly _randomService: RandomService;
68
- readonly _fileSystem: FileService;
69
- readonly _systemService: SystemService;
70
- constructor(base: BaseSysAbstraction, params?: WrapperSysAbstractionParams);
71
- Time(): Time;
72
- NextId(): string;
73
- Random0ToValue(value: number): number;
74
- Stdout(): WritableStream;
75
- Stderr(): WritableStream;
76
- System(): SystemService;
77
- FileSystem(): FileService;
78
- }
79
- //# sourceMappingURL=base_sys_abstraction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base_sys_abstraction.d.ts","sourceRoot":"","sources":["../src/base_sys_abstraction.ts"],"names":[],"mappings":"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"}
@@ -1,186 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WrapperSysAbstraction = exports.BaseSysAbstraction = exports.IdService = exports.RandomService = exports.TimeFactory = exports.StepTime = exports.ConstTime = exports.SysTime = void 0;
4
- const sys_abstraction_1 = require("./sys_abstraction");
5
- const time_1 = require("./time");
6
- class SysTime extends time_1.Time {
7
- Now() {
8
- return new Date();
9
- }
10
- Sleep(duration) {
11
- return new Promise((resolve) => {
12
- setTimeout(() => {
13
- resolve();
14
- }, duration);
15
- });
16
- }
17
- }
18
- exports.SysTime = SysTime;
19
- class ConstTime extends time_1.Time {
20
- Now() {
21
- return new Date(2021, 1, 1, 0, 0, 0, 0);
22
- }
23
- Sleep(duration) {
24
- return Promise.resolve();
25
- }
26
- }
27
- exports.ConstTime = ConstTime;
28
- class StepTime extends time_1.Time {
29
- constructor() {
30
- super();
31
- this._step = new ConstTime().Now();
32
- }
33
- Now() {
34
- if (this._step.getTime() === 0) {
35
- this._step = new ConstTime().Now();
36
- return this._step;
37
- }
38
- this._step = new Date(this._step.getTime() + 1000);
39
- return this._step;
40
- }
41
- Sleep(duration) {
42
- this._step = new Date(this._step.getTime() + duration);
43
- return Promise.resolve();
44
- }
45
- }
46
- exports.StepTime = StepTime;
47
- function TimeFactory(timeMode) {
48
- switch (timeMode) {
49
- case sys_abstraction_1.TimeMode.REAL:
50
- return new SysTime();
51
- case sys_abstraction_1.TimeMode.CONST:
52
- return new ConstTime();
53
- case sys_abstraction_1.TimeMode.STEP:
54
- return new StepTime();
55
- }
56
- return new SysTime();
57
- }
58
- exports.TimeFactory = TimeFactory;
59
- class RandomService {
60
- constructor(mode) {
61
- this._step = 0;
62
- this._mode = mode;
63
- }
64
- Random0ToValue(value) {
65
- switch (this._mode) {
66
- case sys_abstraction_1.RandomMode.CONST:
67
- return 0.5 * value;
68
- case sys_abstraction_1.RandomMode.STEP:
69
- this._step += 0.0001;
70
- return this._step * value;
71
- case sys_abstraction_1.RandomMode.RANDOM:
72
- return Math.random() * value;
73
- default:
74
- throw new Error("Unknown RandomMode");
75
- }
76
- }
77
- }
78
- exports.RandomService = RandomService;
79
- class IdService {
80
- constructor(mode) {
81
- this._step = 0;
82
- if (!mode) {
83
- mode = sys_abstraction_1.IDMode.UUID;
84
- }
85
- this._mode = mode;
86
- }
87
- NextId() {
88
- switch (this._mode) {
89
- case sys_abstraction_1.IDMode.UUID:
90
- return crypto.randomUUID();
91
- case sys_abstraction_1.IDMode.CONST:
92
- return "VeryUniqueID";
93
- case sys_abstraction_1.IDMode.STEP:
94
- return `STEPId-${this._step++}`;
95
- default:
96
- throw new Error("Unknown IDMode");
97
- }
98
- }
99
- }
100
- exports.IdService = IdService;
101
- const decoder = new TextDecoder();
102
- class BaseSysAbstraction {
103
- constructor(params) {
104
- this._time = new SysTime();
105
- this._stdout = new WritableStream({
106
- write(chunk) {
107
- return new Promise((resolve) => {
108
- const decoded = decoder.decode(chunk);
109
- console.log(decoded.trimEnd());
110
- resolve();
111
- });
112
- },
113
- });
114
- this._stderr = new WritableStream({
115
- write(chunk) {
116
- return new Promise((resolve) => {
117
- const decoded = decoder.decode(chunk);
118
- console.error(decoded.trimEnd());
119
- resolve();
120
- });
121
- },
122
- });
123
- this._idService = new IdService();
124
- this._randomService = new RandomService(sys_abstraction_1.RandomMode.RANDOM);
125
- this._fileSystem = params.FileSystem;
126
- this._systemService = params.SystemService;
127
- }
128
- }
129
- exports.BaseSysAbstraction = BaseSysAbstraction;
130
- class WrapperSysAbstraction {
131
- constructor(base, params) {
132
- this._time = base._time;
133
- this._stdout = base._stdout;
134
- this._stderr = base._stderr;
135
- this._idService = base._idService;
136
- this._randomService = base._randomService;
137
- this._fileSystem = base._fileSystem;
138
- this._systemService = base._systemService;
139
- if (params) {
140
- if (params.TimeMode) {
141
- this._time = TimeFactory(params.TimeMode);
142
- }
143
- if (params.Stdout) {
144
- this._stdout = params.Stdout;
145
- }
146
- if (params.Stderr) {
147
- this._stderr = params.Stderr;
148
- }
149
- if (params.IdMode) {
150
- this._idService = new IdService(params.IdMode);
151
- }
152
- if (params.RandomMode) {
153
- this._randomService = new RandomService(params.RandomMode);
154
- }
155
- if (params.FileSystem) {
156
- this._fileSystem = params.FileSystem;
157
- }
158
- if (params.SystemService) {
159
- this._systemService = params.SystemService;
160
- }
161
- }
162
- }
163
- Time() {
164
- return this._time;
165
- }
166
- NextId() {
167
- return this._idService.NextId();
168
- }
169
- Random0ToValue(value) {
170
- return this._randomService.Random0ToValue(value);
171
- }
172
- Stdout() {
173
- return this._stdout;
174
- }
175
- Stderr() {
176
- return this._stderr;
177
- }
178
- System() {
179
- return this._systemService;
180
- }
181
- FileSystem() {
182
- return this._fileSystem;
183
- }
184
- }
185
- exports.WrapperSysAbstraction = WrapperSysAbstraction;
186
- //# sourceMappingURL=base_sys_abstraction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base_sys_abstraction.js","sourceRoot":"","sources":["../src/base_sys_abstraction.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=base_sys_abstraction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base_sys_abstraction.test.d.ts","sourceRoot":"","sources":["../src/base_sys_abstraction.test.ts"],"names":[],"mappings":""}