@adviser/cement 0.2.16 → 0.2.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/{sys_abstraction-CmSCeK7b.d.cts → base-sys-abstraction-BzVP_lX0.d.cts} +77 -1
  2. package/{sys_abstraction-CmSCeK7b.d.ts → base-sys-abstraction-BzVP_lX0.d.ts} +77 -1
  3. package/chunk-AO7BGISE.js +353 -0
  4. package/chunk-AO7BGISE.js.map +1 -0
  5. package/{chunk-J2IM7FHM.js → chunk-I4NUGWZ6.js} +6 -1
  6. package/{chunk-XJF7FQUN.js → chunk-LJRKN3XI.js} +3 -3
  7. package/{chunk-XJF7FQUN.js.map → chunk-LJRKN3XI.js.map} +1 -1
  8. package/{chunk-O4F5AURC.js → chunk-P4FB5FHU.js} +185 -179
  9. package/chunk-P4FB5FHU.js.map +1 -0
  10. package/index-_GuS2IT4.d.cts +93 -0
  11. package/index-_GuS2IT4.d.ts +93 -0
  12. package/index.cjs +416 -52
  13. package/index.cjs.map +1 -1
  14. package/index.d.cts +27 -21
  15. package/index.d.ts +27 -21
  16. package/index.js +86 -49
  17. package/index.js.map +1 -1
  18. package/node/index.cjs +5 -5
  19. package/node/index.cjs.map +1 -1
  20. package/node/index.d.cts +1 -2
  21. package/node/index.d.ts +1 -2
  22. package/node/index.js +5 -5
  23. package/node/index.js.map +1 -1
  24. package/package.json +4 -4
  25. package/utils/index.cjs +98 -2
  26. package/utils/index.cjs.map +1 -1
  27. package/utils/index.d.cts +2 -36
  28. package/utils/index.d.ts +2 -36
  29. package/utils/index.js +21 -221
  30. package/utils/index.js.map +1 -1
  31. package/web/index.cjs +3 -3
  32. package/web/index.cjs.map +1 -1
  33. package/web/index.d.cts +1 -2
  34. package/web/index.d.ts +1 -2
  35. package/web/index.js +3 -3
  36. package/base_sys_abstraction-CJqRmTui.d.ts +0 -21
  37. package/base_sys_abstraction-nsNTl07w.d.cts +0 -21
  38. package/chunk-O4F5AURC.js.map +0 -1
  39. /package/{chunk-J2IM7FHM.js.map → chunk-I4NUGWZ6.js.map} +0 -0
package/index.cjs CHANGED
@@ -74,11 +74,14 @@ var __yieldStar = (value) => {
74
74
  // src/index.ts
75
75
  var src_exports = {};
76
76
  __export(src_exports, {
77
+ BaseSysAbstraction: () => BaseSysAbstraction,
77
78
  BrowserEnvActions: () => BrowserEnvActions,
78
79
  BuildURI: () => BuildURI,
80
+ ConstTime: () => ConstTime,
79
81
  EnvImpl: () => EnvImpl,
80
82
  Future: () => Future,
81
83
  IDMode: () => IDMode,
84
+ IdService: () => IdService,
82
85
  IsLogger: () => IsLogger,
83
86
  Keyed: () => Keyed,
84
87
  KeyedResolvOnce: () => KeyedResolvOnce,
@@ -87,30 +90,37 @@ __export(src_exports, {
87
90
  LevelHandlerImpl: () => LevelHandlerImpl,
88
91
  LogCollector: () => LogCollector,
89
92
  LogValue: () => LogValue,
90
- LogWriter: () => LogWriter,
93
+ LogWriteStream: () => LogWriteStream,
94
+ LogWriterStream: () => LogWriterStream,
91
95
  LoggerImpl: () => LoggerImpl,
92
96
  MockLogger: () => MockLogger,
93
97
  None: () => None,
94
98
  Option: () => Option,
95
99
  RandomMode: () => RandomMode,
100
+ RandomService: () => RandomService,
96
101
  ResolveOnce: () => ResolveOnce,
97
102
  ResolveSeq: () => ResolveSeq,
98
103
  Result: () => Result,
99
104
  ResultError: () => ResultError,
100
105
  ResultOK: () => ResultOK,
101
106
  Some: () => Some,
107
+ StepTime: () => StepTime,
102
108
  String2TimeMode: () => String2TimeMode,
109
+ SysTime: () => SysTime,
103
110
  Time: () => Time,
111
+ TimeFactory: () => TimeFactory,
104
112
  TimeMode: () => TimeMode,
105
113
  TimeUnits: () => TimeUnits,
106
114
  URI: () => URI,
115
+ WrapperSysAbstraction: () => WrapperSysAbstraction,
107
116
  asyncLogValue: () => asyncLogValue,
108
117
  envFactory: () => envFactory,
109
118
  isURL: () => isURL,
110
119
  logValue: () => logValue,
111
120
  removeSelfRef: () => removeSelfRef,
112
121
  runtimeFn: () => runtimeFn,
113
- toCryptoRuntime: () => toCryptoRuntime
122
+ toCryptoRuntime: () => toCryptoRuntime,
123
+ utils: () => utils_exports
114
124
  });
115
125
  module.exports = __toCommonJS(src_exports);
116
126
 
@@ -195,7 +205,7 @@ function IsLogger(obj) {
195
205
  ].map((fn) => typeof obj[fn] === "function").reduce((a, b) => a && b, true);
196
206
  }
197
207
 
198
- // src/sys_abstraction.ts
208
+ // src/sys-abstraction.ts
199
209
  var TimeMode = /* @__PURE__ */ ((TimeMode2) => {
200
210
  TimeMode2["REAL"] = "real";
201
211
  TimeMode2["CONST"] = "const";
@@ -242,7 +252,7 @@ var TimeUnits = /* @__PURE__ */ ((TimeUnits2) => {
242
252
  return TimeUnits2;
243
253
  })(TimeUnits || {});
244
254
 
245
- // src/base_sys_abstraction.ts
255
+ // src/base-sys-abstraction.ts
246
256
  var SysTime = class extends Time {
247
257
  Now() {
248
258
  return /* @__PURE__ */ new Date();
@@ -586,7 +596,7 @@ var KeyedResolvSeq = class extends Keyed {
586
596
  }
587
597
  };
588
598
 
589
- // src/sys_env.ts
599
+ // src/sys-env.ts
590
600
  var _node;
591
601
  var NodeEnvActions = class {
592
602
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor, @typescript-eslint/no-unused-vars
@@ -756,7 +766,7 @@ var EnvImpl = class {
756
766
  }
757
767
  };
758
768
 
759
- // src/web/web_sys_abstraction.ts
769
+ // src/web/web-sys-abstraction.ts
760
770
  var WebFileService = class {
761
771
  get baseDir() {
762
772
  throw new Error("basedir-Method not implemented.");
@@ -1024,7 +1034,94 @@ var URI = class _URI {
1024
1034
  }
1025
1035
  };
1026
1036
 
1027
- // src/logger_impl.ts
1037
+ // src/runtime.ts
1038
+ function isSet(value, ref = globalThis) {
1039
+ const [head, ...tail] = value.split(".");
1040
+ if (["object", "function"].includes(typeof ref) && ref && ["object", "function"].includes(typeof ref[head]) && ref[head]) {
1041
+ if (tail.length <= 1) {
1042
+ return true;
1043
+ }
1044
+ return isSet(tail.join("."), ref[head]);
1045
+ }
1046
+ return false;
1047
+ }
1048
+ function runtimeFn() {
1049
+ const isReactNative = isSet("navigator.product") && globalThis.navigator.product === "ReactNative";
1050
+ const isNodeIsh = isSet("process.versions.node") && !isReactNative;
1051
+ const isDeno = isSet("Deno") && !isReactNative;
1052
+ return {
1053
+ isNodeIsh,
1054
+ isBrowser: !(isNodeIsh || isDeno) && !isReactNative,
1055
+ isDeno,
1056
+ isReactNative
1057
+ };
1058
+ }
1059
+
1060
+ // src/utils/console-write-stream.ts
1061
+ var ConsoleWriterStreamDefaultWriter = class {
1062
+ constructor(stream) {
1063
+ this.stream = stream;
1064
+ this.desiredSize = null;
1065
+ this.decoder = new TextDecoder();
1066
+ this._stream = stream;
1067
+ this.ready = Promise.resolve(void 0);
1068
+ this.closed = Promise.resolve(void 0);
1069
+ }
1070
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
1071
+ abort(reason) {
1072
+ throw new Error("Method not implemented.");
1073
+ }
1074
+ async close() {
1075
+ }
1076
+ releaseLock() {
1077
+ this._stream.locked = false;
1078
+ this.ready = Promise.resolve(void 0);
1079
+ this.closed = Promise.resolve(void 0);
1080
+ }
1081
+ async write(chunk) {
1082
+ const str = this.decoder.decode(chunk).trimEnd();
1083
+ let output = "log";
1084
+ try {
1085
+ const decode = JSON.parse(str);
1086
+ output = decode.level;
1087
+ } catch (e) {
1088
+ }
1089
+ switch (output) {
1090
+ case "error":
1091
+ console.error(str);
1092
+ break;
1093
+ case "warn":
1094
+ console.warn(str);
1095
+ break;
1096
+ default:
1097
+ console.log(str);
1098
+ }
1099
+ }
1100
+ };
1101
+ var ConsoleWriterStream = class {
1102
+ constructor() {
1103
+ this.locked = false;
1104
+ }
1105
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
1106
+ abort(reason) {
1107
+ throw new Error("Method not implemented.");
1108
+ }
1109
+ async close() {
1110
+ return;
1111
+ }
1112
+ getWriter() {
1113
+ if (this.locked) {
1114
+ throw new Error("Stream is locked");
1115
+ }
1116
+ this.locked = true;
1117
+ if (!this._writer) {
1118
+ this._writer = new ConsoleWriterStreamDefaultWriter(this);
1119
+ }
1120
+ return this._writer;
1121
+ }
1122
+ };
1123
+
1124
+ // src/logger-impl.ts
1028
1125
  var encoder = new TextEncoder();
1029
1126
  var LevelHandlerImpl = class {
1030
1127
  constructor() {
@@ -1102,7 +1199,7 @@ var LevelHandlerImpl = class {
1102
1199
  }
1103
1200
  };
1104
1201
  var levelSingleton = new LevelHandlerImpl();
1105
- var LogWriter = class {
1202
+ var LogWriterStream = class {
1106
1203
  constructor(out) {
1107
1204
  this._toFlush = [];
1108
1205
  this._flushIsRunning = false;
@@ -1184,9 +1281,20 @@ var LoggerImpl = class _LoggerImpl {
1184
1281
  this._logWriter = params.logWriter;
1185
1282
  } else {
1186
1283
  if (!params.out) {
1187
- this._logWriter = new LogWriter(this._sys.Stdout());
1284
+ const rt = runtimeFn();
1285
+ let stream;
1286
+ if (rt.isBrowser) {
1287
+ stream = new ConsoleWriterStream();
1288
+ } else {
1289
+ if (rt.isNodeIsh || rt.isReactNative) {
1290
+ stream = this._sys.Stdout();
1291
+ } else {
1292
+ throw new Error("No output defined for runtime");
1293
+ }
1294
+ }
1295
+ this._logWriter = new LogWriterStream(stream);
1188
1296
  } else {
1189
- this._logWriter = new LogWriter(params.out);
1297
+ this._logWriter = new LogWriterStream(params.out);
1190
1298
  }
1191
1299
  }
1192
1300
  if (!params.withAttributes) {
@@ -1482,29 +1590,52 @@ var WithLoggerBuilder = class {
1482
1590
  }
1483
1591
  };
1484
1592
 
1485
- // src/test/log_collector.ts
1486
- var LogWriter2 = class {
1487
- constructor() {
1488
- this._bufferArr = [];
1593
+ // src/utils/fanout-write-stream.ts
1594
+ var FanoutWriteStream = class {
1595
+ constructor(writers) {
1489
1596
  this.desiredSize = null;
1490
- this.ready = Promise.resolve(void 0);
1491
- this._resolveClosed = () => {
1492
- };
1493
- this.closed = new Promise((resolve) => {
1494
- this._resolveClosed = resolve;
1597
+ this._writers = writers;
1598
+ this.ready = Promise.all(this._writers.map((w) => w.ready)).then(() => void 0);
1599
+ this.closed = Promise.all(this._writers.map((w) => w.closed)).then(() => void 0);
1600
+ }
1601
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1602
+ abort(reason) {
1603
+ return Promise.all(this._writers.map((w) => w.abort(reason))).then(() => {
1495
1604
  });
1496
1605
  }
1606
+ close() {
1607
+ return Promise.all(this._writers.map((w) => w.close())).then(() => {
1608
+ });
1609
+ }
1610
+ releaseLock() {
1611
+ this._writers.map((w) => w.releaseLock());
1612
+ }
1613
+ write(chunk) {
1614
+ return Promise.all(this._writers.map((w) => w.write(chunk))).then(() => {
1615
+ });
1616
+ }
1617
+ };
1618
+
1619
+ // src/test/log-write-stream.ts
1620
+ var LogWriteStream = class {
1621
+ constructor(bufferArr) {
1622
+ this._resolveClosed = new Future();
1623
+ this.closed = this._resolveClosed.asPromise();
1624
+ this.desiredSize = null;
1625
+ this.ready = Promise.resolve(void 0);
1626
+ this._bufferArr = bufferArr;
1627
+ }
1497
1628
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
1498
1629
  abort(reason) {
1499
1630
  throw new Error("Method not implemented.");
1500
1631
  }
1501
- close() {
1502
- this._resolveClosed();
1632
+ async close() {
1633
+ await this.closed;
1503
1634
  return Promise.resolve(void 0);
1504
1635
  }
1505
1636
  releaseLock() {
1506
1637
  }
1507
- write(chunk) {
1638
+ async write(chunk) {
1508
1639
  if (chunk) {
1509
1640
  this._bufferArr.push(chunk);
1510
1641
  }
@@ -1512,8 +1643,10 @@ var LogWriter2 = class {
1512
1643
  }
1513
1644
  };
1514
1645
  var LogCollector = class {
1515
- constructor() {
1646
+ constructor(pass) {
1516
1647
  this.locked = false;
1648
+ this._bufferArr = [];
1649
+ this._pass = pass;
1517
1650
  }
1518
1651
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1519
1652
  abort(reason) {
@@ -1529,7 +1662,11 @@ var LogCollector = class {
1529
1662
  }
1530
1663
  getWriter() {
1531
1664
  if (!this._writer) {
1532
- this._writer = new LogWriter2();
1665
+ const dests = [new LogWriteStream(this._bufferArr)];
1666
+ if (this._pass) {
1667
+ dests.push(this._pass);
1668
+ }
1669
+ this._writer = new FanoutWriteStream(dests);
1533
1670
  }
1534
1671
  return this._writer;
1535
1672
  }
@@ -1544,7 +1681,7 @@ var LogCollector = class {
1544
1681
  for (const x of res) {
1545
1682
  yield* __yieldStar(x);
1546
1683
  }
1547
- }(this._writer._bufferArr)
1684
+ }(this._bufferArr)
1548
1685
  )
1549
1686
  );
1550
1687
  const splitStr = jsonNlStr.split("\n");
@@ -1554,9 +1691,9 @@ var LogCollector = class {
1554
1691
  }
1555
1692
  };
1556
1693
 
1557
- // src/test/mock_logger.ts
1694
+ // src/test/mock-logger.ts
1558
1695
  function MockLogger(params) {
1559
- const lc = new LogCollector();
1696
+ const lc = new LogCollector(params == null ? void 0 : params.pass);
1560
1697
  let modNames = ["MockLogger"];
1561
1698
  if (typeof (params == null ? void 0 : params.moduleName) === "string") {
1562
1699
  modNames = [params == null ? void 0 : params.moduleName];
@@ -1699,29 +1836,6 @@ var None = class extends Option {
1699
1836
  }
1700
1837
  };
1701
1838
 
1702
- // src/runtime.ts
1703
- function isSet(value, ref = globalThis) {
1704
- const [head, ...tail] = value.split(".");
1705
- if (["object", "function"].includes(typeof ref) && ref && ["object", "function"].includes(typeof ref[head]) && ref[head]) {
1706
- if (tail.length <= 1) {
1707
- return true;
1708
- }
1709
- return isSet(tail.join("."), ref[head]);
1710
- }
1711
- return false;
1712
- }
1713
- function runtimeFn() {
1714
- const isReactNative = isSet("navigator.product") && globalThis.navigator.product === "ReactNative";
1715
- const isNodeIsh = isSet("process.versions.node") && !isReactNative;
1716
- const isDeno = isSet("Deno") && !isReactNative;
1717
- return {
1718
- isNodeIsh,
1719
- isBrowser: !(isNodeIsh || isDeno) && !isReactNative,
1720
- isDeno,
1721
- isReactNative
1722
- };
1723
- }
1724
-
1725
1839
  // src/crypto.ts
1726
1840
  function randomBytes(size) {
1727
1841
  const bytes = new Uint8Array(size);
@@ -1743,13 +1857,256 @@ function toCryptoRuntime(cryptoOpts = {}) {
1743
1857
  };
1744
1858
  return runtime;
1745
1859
  }
1860
+
1861
+ // src/utils/index.ts
1862
+ var utils_exports = {};
1863
+ __export(utils_exports, {
1864
+ ConsoleWriterStream: () => ConsoleWriterStream,
1865
+ ConsoleWriterStreamDefaultWriter: () => ConsoleWriterStreamDefaultWriter,
1866
+ FanoutWriteStream: () => FanoutWriteStream,
1867
+ array2stream: () => array2stream,
1868
+ devnull: () => devnull,
1869
+ rebuffer: () => rebuffer,
1870
+ rebufferArray: () => rebufferArray,
1871
+ receiveFromStream: () => receiveFromStream,
1872
+ sendToStream: () => sendToStream,
1873
+ stream2array: () => stream2array,
1874
+ stream2string: () => stream2string,
1875
+ stream2uint8array: () => stream2uint8array,
1876
+ streamMap: () => streamMap,
1877
+ string2stream: () => string2stream,
1878
+ uint8array2stream: () => uint8array2stream
1879
+ });
1880
+
1881
+ // src/utils/stream-map.ts
1882
+ function streamMap(s, sm) {
1883
+ const state = { reader: s.getReader(), streamMap: sm, idx: 0 };
1884
+ return new ReadableStream({
1885
+ async pull(controller) {
1886
+ const { done, value } = await state.reader.read();
1887
+ if (done) {
1888
+ if (state.streamMap.Close) {
1889
+ state.streamMap.Close();
1890
+ }
1891
+ controller.close();
1892
+ return;
1893
+ }
1894
+ const promiseOrU = state.streamMap.Map(value, state.idx++);
1895
+ let mapped;
1896
+ if (promiseOrU instanceof Promise || typeof promiseOrU.then === "function") {
1897
+ mapped = await promiseOrU;
1898
+ } else {
1899
+ mapped = promiseOrU;
1900
+ }
1901
+ controller.enqueue(mapped);
1902
+ }
1903
+ });
1904
+ }
1905
+ async function devnull(a) {
1906
+ const reader = a.getReader();
1907
+ let cnt = 0;
1908
+ while (true) {
1909
+ const { done } = await reader.read();
1910
+ if (done) {
1911
+ break;
1912
+ }
1913
+ cnt++;
1914
+ }
1915
+ return cnt;
1916
+ }
1917
+ function array2stream(a) {
1918
+ let i = 0;
1919
+ return new ReadableStream({
1920
+ pull(controller) {
1921
+ if (i >= a.length) {
1922
+ controller.close();
1923
+ return;
1924
+ }
1925
+ controller.enqueue(a[i]);
1926
+ i++;
1927
+ }
1928
+ });
1929
+ }
1930
+ async function stream2array(a) {
1931
+ const ret = [];
1932
+ const reader = a.getReader();
1933
+ while (true) {
1934
+ const { done, value } = await reader.read();
1935
+ if (done) {
1936
+ break;
1937
+ }
1938
+ ret.push(value);
1939
+ }
1940
+ return ret;
1941
+ }
1942
+
1943
+ // src/utils/rebuffer.ts
1944
+ async function rebufferArray(a, chunkSize) {
1945
+ return stream2array(rebuffer(array2stream(a), chunkSize));
1946
+ }
1947
+ function reChunk(cs, chunkSize) {
1948
+ const len = cs.reduce((acc, v) => acc + v.length, 0);
1949
+ const last = cs[cs.length - 1];
1950
+ const lastOfs = len - last.length;
1951
+ const rest = last.subarray(chunkSize - lastOfs);
1952
+ cs[cs.length - 1] = last.subarray(0, chunkSize - lastOfs);
1953
+ const chunk = new Uint8Array(chunkSize);
1954
+ let ofs = 0;
1955
+ for (const c of cs) {
1956
+ chunk.set(c, ofs);
1957
+ ofs += c.length;
1958
+ }
1959
+ return { rest, chunk };
1960
+ }
1961
+ function pump(ps, controller, next) {
1962
+ ps.reader.read().then(({ done, value }) => {
1963
+ if (done) {
1964
+ if (ps.tmpLen > 0) {
1965
+ controller.enqueue(reChunk(ps.tmp, ps.tmpLen).chunk);
1966
+ }
1967
+ controller.close();
1968
+ next();
1969
+ return;
1970
+ }
1971
+ if (ps.tmpLen + value.length > ps.chunkSize) {
1972
+ ps.tmp.push(value);
1973
+ const res = reChunk(ps.tmp, ps.chunkSize);
1974
+ controller.enqueue(res.chunk);
1975
+ ps.tmp = [res.rest];
1976
+ ps.tmpLen = res.rest.length;
1977
+ next();
1978
+ return;
1979
+ } else if (value.length) {
1980
+ ps.tmp.push(value);
1981
+ ps.tmpLen += value.length;
1982
+ }
1983
+ pump(ps, controller, next);
1984
+ });
1985
+ }
1986
+ function rebuffer(a, chunkSize) {
1987
+ const state = {
1988
+ reader: a.getReader(),
1989
+ tmp: [],
1990
+ tmpLen: 0,
1991
+ chunkSize
1992
+ };
1993
+ return new ReadableStream({
1994
+ async pull(controller) {
1995
+ return new Promise((resolve) => {
1996
+ pump(state, controller, resolve);
1997
+ });
1998
+ }
1999
+ });
2000
+ }
2001
+
2002
+ // src/utils/stream2string.ts
2003
+ async function stream2string(stream, maxSize) {
2004
+ if (!stream) {
2005
+ return Promise.resolve("");
2006
+ }
2007
+ const reader = stream.getReader();
2008
+ let res = "";
2009
+ const decoder2 = new TextDecoder();
2010
+ let rSize = 0;
2011
+ while (typeof maxSize === "undefined" || rSize < maxSize) {
2012
+ try {
2013
+ const read = await reader.read();
2014
+ if (read.done) {
2015
+ break;
2016
+ }
2017
+ if (maxSize && rSize + read.value.length > maxSize) {
2018
+ read.value = read.value.slice(0, maxSize - rSize);
2019
+ }
2020
+ const block = decoder2.decode(read.value, { stream: true });
2021
+ rSize += read.value.length;
2022
+ res += block;
2023
+ } catch (err) {
2024
+ return Promise.reject(err);
2025
+ }
2026
+ }
2027
+ return Promise.resolve(res);
2028
+ }
2029
+ async function stream2uint8array(stream) {
2030
+ if (!stream) {
2031
+ return Promise.resolve(new Uint8Array());
2032
+ }
2033
+ const reader = stream.getReader();
2034
+ let res = new Uint8Array();
2035
+ while (1) {
2036
+ try {
2037
+ const { done, value } = await reader.read();
2038
+ if (done) {
2039
+ break;
2040
+ }
2041
+ res = new Uint8Array([...res, ...value]);
2042
+ } catch (err) {
2043
+ return Promise.reject(err);
2044
+ }
2045
+ }
2046
+ return Promise.resolve(res);
2047
+ }
2048
+
2049
+ // src/utils/stream-test-helper.ts
2050
+ async function receiveFromStream(reb, state) {
2051
+ return new Promise((resolve) => {
2052
+ let reBufferCalls = 0;
2053
+ const reader = reb.getReader();
2054
+ function pump2() {
2055
+ reader.read().then(({ done, value }) => {
2056
+ state.CollectorFn({ done, value, fillCalls: state.fillCalls, reBufferCalls });
2057
+ reBufferCalls++;
2058
+ if (done) {
2059
+ resolve();
2060
+ return;
2061
+ }
2062
+ pump2();
2063
+ });
2064
+ }
2065
+ pump2();
2066
+ });
2067
+ }
2068
+ async function sendToStream(reb, state) {
2069
+ return new Promise((resolve) => {
2070
+ const writer = reb.getWriter();
2071
+ function pump2(i) {
2072
+ if (i >= state.sendChunks) {
2073
+ writer.close();
2074
+ resolve();
2075
+ return;
2076
+ }
2077
+ writer.ready.then(() => {
2078
+ state.fillCalls++;
2079
+ writer.write(new Uint8Array(Array(state.sendChunkSize).fill(i)));
2080
+ pump2(i + 1);
2081
+ });
2082
+ }
2083
+ pump2(0);
2084
+ });
2085
+ }
2086
+
2087
+ // src/utils/string2stream.ts
2088
+ function string2stream(str) {
2089
+ const encoder2 = new TextEncoder();
2090
+ return uint8array2stream(encoder2.encode(str));
2091
+ }
2092
+ function uint8array2stream(str) {
2093
+ return new ReadableStream({
2094
+ start(controller) {
2095
+ controller.enqueue(str);
2096
+ controller.close();
2097
+ }
2098
+ });
2099
+ }
1746
2100
  // Annotate the CommonJS export names for ESM import in node:
1747
2101
  0 && (module.exports = {
2102
+ BaseSysAbstraction,
1748
2103
  BrowserEnvActions,
1749
2104
  BuildURI,
2105
+ ConstTime,
1750
2106
  EnvImpl,
1751
2107
  Future,
1752
2108
  IDMode,
2109
+ IdService,
1753
2110
  IsLogger,
1754
2111
  Keyed,
1755
2112
  KeyedResolvOnce,
@@ -1758,29 +2115,36 @@ function toCryptoRuntime(cryptoOpts = {}) {
1758
2115
  LevelHandlerImpl,
1759
2116
  LogCollector,
1760
2117
  LogValue,
1761
- LogWriter,
2118
+ LogWriteStream,
2119
+ LogWriterStream,
1762
2120
  LoggerImpl,
1763
2121
  MockLogger,
1764
2122
  None,
1765
2123
  Option,
1766
2124
  RandomMode,
2125
+ RandomService,
1767
2126
  ResolveOnce,
1768
2127
  ResolveSeq,
1769
2128
  Result,
1770
2129
  ResultError,
1771
2130
  ResultOK,
1772
2131
  Some,
2132
+ StepTime,
1773
2133
  String2TimeMode,
2134
+ SysTime,
1774
2135
  Time,
2136
+ TimeFactory,
1775
2137
  TimeMode,
1776
2138
  TimeUnits,
1777
2139
  URI,
2140
+ WrapperSysAbstraction,
1778
2141
  asyncLogValue,
1779
2142
  envFactory,
1780
2143
  isURL,
1781
2144
  logValue,
1782
2145
  removeSelfRef,
1783
2146
  runtimeFn,
1784
- toCryptoRuntime
2147
+ toCryptoRuntime,
2148
+ utils
1785
2149
  });
1786
2150
  //# sourceMappingURL=index.cjs.map