@adviser/cement 0.2.39 → 0.2.41

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/index.cjs CHANGED
@@ -113,6 +113,7 @@ __export(src_exports, {
113
113
  MutableURL: () => MutableURL,
114
114
  None: () => None,
115
115
  Option: () => Option,
116
+ REQUIRED: () => REQUIRED,
116
117
  RandomMode: () => RandomMode,
117
118
  RandomService: () => RandomService,
118
119
  ResolveOnce: () => ResolveOnce,
@@ -224,7 +225,16 @@ var LogValue = class {
224
225
  function asyncLogValue(val) {
225
226
  throw new Error("Not implemented");
226
227
  }
227
- function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
228
+ function logValue(val, ctx) {
229
+ return logValueInternal(val, __spreadProps(__spreadValues({}, ctx), {
230
+ state: ctx.state || /* @__PURE__ */ new Set([Math.random()])
231
+ }));
232
+ }
233
+ function logValueInternal(val, ctx) {
234
+ var _a, _b;
235
+ ctx = __spreadProps(__spreadValues({}, ctx), {
236
+ state: ctx.state || /* @__PURE__ */ new Set([Math.random()])
237
+ });
228
238
  switch (typeof val) {
229
239
  case "function":
230
240
  return new LogValue(val);
@@ -232,7 +242,7 @@ function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
232
242
  try {
233
243
  const ret = JSON.parse(val);
234
244
  if (typeof ret === "object" && ret !== null) {
235
- return logValue(ret, state);
245
+ return logValueInternal(ret, ctx);
236
246
  }
237
247
  } catch (e) {
238
248
  if (val.match(/[\n\r]/)) {
@@ -255,13 +265,15 @@ function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
255
265
  const decoder2 = new TextDecoder();
256
266
  const asStr = decoder2.decode(val);
257
267
  const obj = JSON.parse(asStr);
258
- return logValue(obj, state);
268
+ return logValueInternal(obj, ctx);
259
269
  } catch (e) {
260
- return logValue(bin2string(val, 512));
270
+ return logValueInternal(bin2string(val, 512), ctx);
261
271
  }
262
272
  }
263
273
  if (Array.isArray(val)) {
264
- return new LogValue(() => val.map((v) => logValue(v).value()));
274
+ return new LogValue(
275
+ () => val.map((v) => logValue(v, __spreadProps(__spreadValues({}, ctx), { state: void 0 })).value())
276
+ );
265
277
  }
266
278
  if (val instanceof Headers) {
267
279
  return new LogValue(() => Object.fromEntries(val.entries()));
@@ -272,22 +284,25 @@ function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
272
284
  if (val instanceof Promise) {
273
285
  return new LogValue(() => ">Promise<");
274
286
  }
275
- if (state.has(val)) {
287
+ if ((_a = ctx.state) == null ? void 0 : _a.has(val)) {
276
288
  return new LogValue(() => "...");
277
289
  }
278
- state.add(val);
290
+ (_b = ctx.state) == null ? void 0 : _b.add(val);
279
291
  if (typeof val.toJSON === "function") {
280
292
  return new LogValue(() => val.toJSON());
281
293
  }
282
294
  const res = {};
283
295
  const typedVal = val;
284
296
  for (const key in typedVal) {
297
+ if (ctx.ignoreAttr.IsSome() && ctx.ignoreAttr.unwrap().test(key)) {
298
+ continue;
299
+ }
285
300
  const element = typedVal[key];
286
301
  if (element instanceof LogValue) {
287
302
  res[key] = element;
288
303
  } else {
289
304
  if (typeof element !== "function") {
290
- res[key] = logValue(element, state);
305
+ res[key] = logValueInternal(element, ctx);
291
306
  }
292
307
  }
293
308
  }
@@ -998,6 +1013,12 @@ var Result = class _Result {
998
1013
  if (typeof t === "string") {
999
1014
  return new ResultError(new Error(t));
1000
1015
  }
1016
+ if (_Result.Is(t)) {
1017
+ if (t.is_ok()) {
1018
+ return new ResultError(new Error("Result Error is Ok"));
1019
+ }
1020
+ return t;
1021
+ }
1001
1022
  return new ResultError(t);
1002
1023
  }
1003
1024
  static Is(t) {
@@ -1133,6 +1154,7 @@ function localStripper(path, restrips, obj) {
1133
1154
  }
1134
1155
 
1135
1156
  // src/uri.ts
1157
+ var REQUIRED = 4711;
1136
1158
  function coerceKey(key, def) {
1137
1159
  if (typeof key === "object") {
1138
1160
  const keys = Object.keys(key);
@@ -1342,23 +1364,10 @@ var BuildURI = class _BuildURI {
1342
1364
  this._url.hostname = h;
1343
1365
  return this;
1344
1366
  }
1345
- // password(p: string) {
1346
- // this._url.password = p;
1347
- // return this;
1348
- // }
1349
- // port(p: string) {
1350
- // this._url.port = p;
1351
- // return this;
1352
- // }
1353
- // username(u: string) {
1354
- // this._url.username = u;
1355
- // return this;
1356
- // }
1357
- // search(s: string) {
1358
- // this._url.search = s;
1359
- // return this;
1360
- // }
1361
1367
  protocol(p) {
1368
+ if (!p.endsWith(":")) {
1369
+ p = `${p}:`;
1370
+ }
1362
1371
  this._url.protocol = p;
1363
1372
  return this;
1364
1373
  }
@@ -1366,14 +1375,6 @@ var BuildURI = class _BuildURI {
1366
1375
  this._url.pathname = p;
1367
1376
  return this;
1368
1377
  }
1369
- // hash(h: string) {
1370
- // this._url.hash = h;
1371
- // return this;
1372
- // }
1373
- // host(h: string) {
1374
- // this._url.host = h;
1375
- // return this;
1376
- // }
1377
1378
  appendRelative(p) {
1378
1379
  const appendUrl = URI.from(p);
1379
1380
  let pathname = appendUrl.pathname;
@@ -1390,6 +1391,12 @@ var BuildURI = class _BuildURI {
1390
1391
  }
1391
1392
  return this;
1392
1393
  }
1394
+ cleanParams() {
1395
+ for (const key of Array.from(this._url.searchParams.keys())) {
1396
+ this._url.searchParams.delete(key);
1397
+ }
1398
+ return this;
1399
+ }
1393
1400
  delParam(key) {
1394
1401
  this._url.searchParams.delete(key);
1395
1402
  return this;
@@ -1698,11 +1705,66 @@ var LogWriterStream = class {
1698
1705
  }
1699
1706
  };
1700
1707
 
1708
+ // src/option.ts
1709
+ var Option = class _Option {
1710
+ static Some(t) {
1711
+ return new Some(t);
1712
+ }
1713
+ static None() {
1714
+ return new None();
1715
+ }
1716
+ static Is(t) {
1717
+ return t instanceof _Option;
1718
+ }
1719
+ static From(t) {
1720
+ if (!t) {
1721
+ return new None();
1722
+ }
1723
+ return new Some(t);
1724
+ }
1725
+ IsNone() {
1726
+ return this.is_none();
1727
+ }
1728
+ IsSome() {
1729
+ return this.is_some();
1730
+ }
1731
+ Unwrap() {
1732
+ return this.unwrap();
1733
+ }
1734
+ };
1735
+ var Some = class extends Option {
1736
+ constructor(_t) {
1737
+ super();
1738
+ this._t = _t;
1739
+ }
1740
+ is_none() {
1741
+ return false;
1742
+ }
1743
+ is_some() {
1744
+ return true;
1745
+ }
1746
+ unwrap() {
1747
+ return this._t;
1748
+ }
1749
+ };
1750
+ var None = class extends Option {
1751
+ is_none() {
1752
+ return true;
1753
+ }
1754
+ is_some() {
1755
+ return false;
1756
+ }
1757
+ unwrap() {
1758
+ throw new Error("None.unwrap");
1759
+ }
1760
+ };
1761
+
1701
1762
  // src/log-level-impl.ts
1702
1763
  var LevelHandlerImpl = class {
1703
1764
  constructor() {
1704
1765
  this._globalLevels = /* @__PURE__ */ new Set(["info" /* INFO */, "error" /* ERROR */, "warn" /* WARN */]);
1705
1766
  this._modules = /* @__PURE__ */ new Map();
1767
+ this.ignoreAttr = Option.Some(/^_/);
1706
1768
  this.isStackExposed = false;
1707
1769
  }
1708
1770
  enableLevel(level, ...modules) {
@@ -1734,6 +1796,9 @@ var LevelHandlerImpl = class {
1734
1796
  setExposeStack(enable) {
1735
1797
  this.isStackExposed = !!enable;
1736
1798
  }
1799
+ setIgnoreAttr(re) {
1800
+ this.ignoreAttr = Option.From(re);
1801
+ }
1737
1802
  forModules(level, fnAction, ...modules) {
1738
1803
  for (const m of modules.flat()) {
1739
1804
  if (typeof m !== "string") {
@@ -1780,20 +1845,20 @@ function LevelHandlerSingleton() {
1780
1845
  }
1781
1846
 
1782
1847
  // src/logger-impl.ts
1783
- function getLen(value) {
1848
+ function getLen(value, lvs) {
1784
1849
  if (Array.isArray(value)) {
1785
- return logValue(() => value.length);
1850
+ return logValue(() => value.length, lvs);
1786
1851
  } else if (typeof value === "string") {
1787
- return logValue(() => value.length);
1852
+ return logValue(() => value.length, lvs);
1788
1853
  } else if (typeof value === "object" && value !== null) {
1789
1854
  if (typeof value.size === "number") {
1790
- return logValue(() => value.size);
1855
+ return logValue(() => value.size, lvs);
1791
1856
  } else if (typeof value.length === "number") {
1792
- return logValue(() => value.length);
1857
+ return logValue(() => value.length, lvs);
1793
1858
  }
1794
- return logValue(() => Object.keys(value).length);
1859
+ return logValue(() => Object.keys(value).length, lvs);
1795
1860
  }
1796
- return logValue(() => -1);
1861
+ return logValue(() => -1, lvs);
1797
1862
  }
1798
1863
  function hash(value) {
1799
1864
  return "not implemented";
@@ -1828,6 +1893,11 @@ var YAMLFormatter = class {
1828
1893
  return this._txtEnDe.encode("---\n" + import_yaml.default.stringify(attr, null, this._space) + "\n");
1829
1894
  }
1830
1895
  };
1896
+ function toLogValueCtx(lvh) {
1897
+ return {
1898
+ ignoreAttr: lvh.ignoreAttr
1899
+ };
1900
+ }
1831
1901
  var LoggerImpl = class _LoggerImpl {
1832
1902
  // readonly _id: string = "logger-" + Math.random().toString(36)
1833
1903
  constructor(params) {
@@ -1877,9 +1947,9 @@ var LoggerImpl = class _LoggerImpl {
1877
1947
  }
1878
1948
  this._attributes = __spreadValues({}, this._withAttributes);
1879
1949
  if (params.levelHandler) {
1880
- this._levelHandler = params.levelHandler;
1950
+ this.levelHandler = params.levelHandler;
1881
1951
  } else {
1882
- this._levelHandler = LevelHandlerSingleton();
1952
+ this.levelHandler = LevelHandlerSingleton();
1883
1953
  }
1884
1954
  }
1885
1955
  TxtEnDe() {
@@ -1889,25 +1959,29 @@ var LoggerImpl = class _LoggerImpl {
1889
1959
  return JSON.parse(JSON.stringify(this._attributes, null));
1890
1960
  }
1891
1961
  SetExposeStack(enable) {
1892
- this._levelHandler.setExposeStack(enable);
1962
+ this.levelHandler.setExposeStack(enable);
1893
1963
  return this;
1894
1964
  }
1895
1965
  EnableLevel(level, ...modules) {
1896
- this._levelHandler.enableLevel(level, ...modules);
1966
+ this.levelHandler.enableLevel(level, ...modules);
1897
1967
  return this;
1898
1968
  }
1899
1969
  DisableLevel(level, ...modules) {
1900
- this._levelHandler.disableLevel(level, ...modules);
1970
+ this.levelHandler.disableLevel(level, ...modules);
1901
1971
  return this;
1902
1972
  }
1903
1973
  Module(key) {
1904
- this._attributes["module"] = logValue(key);
1905
- this._withAttributes["module"] = logValue(key);
1974
+ this._attributes["module"] = logValue(key, toLogValueCtx(this.levelHandler));
1975
+ this._withAttributes["module"] = logValue(key, toLogValueCtx(this.levelHandler));
1906
1976
  return this;
1907
1977
  }
1908
1978
  // if the string is "*" it will enable for all modules
1909
1979
  SetDebug(...modules) {
1910
- this._levelHandler.setDebug(...modules);
1980
+ this.levelHandler.setDebug(...modules);
1981
+ return this;
1982
+ }
1983
+ SetIgnoreAttribute(re) {
1984
+ this.levelHandler.setIgnoreAttr(re);
1911
1985
  return this;
1912
1986
  }
1913
1987
  SetFormatter(formatter) {
@@ -1915,57 +1989,63 @@ var LoggerImpl = class _LoggerImpl {
1915
1989
  return this;
1916
1990
  }
1917
1991
  Timestamp() {
1918
- this._attributes["ts"] = logValue(() => this._sys.Time().Now().toISOString());
1992
+ this._attributes["ts"] = logValue(() => this._sys.Time().Now().toISOString(), toLogValueCtx(this.levelHandler));
1919
1993
  return this;
1920
1994
  }
1921
1995
  Warn() {
1922
- this._attributes["level"] = logValue("warn" /* WARN */);
1996
+ this._attributes["level"] = logValue("warn" /* WARN */, toLogValueCtx(this.levelHandler));
1923
1997
  return this;
1924
1998
  }
1925
1999
  Log() {
1926
2000
  return this;
1927
2001
  }
1928
2002
  Debug() {
1929
- this._attributes["level"] = logValue("debug" /* DEBUG */);
2003
+ this._attributes["level"] = logValue("debug" /* DEBUG */, toLogValueCtx(this.levelHandler));
1930
2004
  return this;
1931
2005
  }
1932
2006
  Error() {
1933
- this._attributes["level"] = logValue("error" /* ERROR */);
2007
+ this._attributes["level"] = logValue("error" /* ERROR */, toLogValueCtx(this.levelHandler));
1934
2008
  return this;
1935
2009
  }
1936
2010
  Info() {
1937
- this._attributes["level"] = logValue("info" /* INFO */);
2011
+ this._attributes["level"] = logValue("info" /* INFO */, toLogValueCtx(this.levelHandler));
1938
2012
  return this;
1939
2013
  }
1940
2014
  Err(err) {
1941
2015
  var _a;
2016
+ let key = "error";
1942
2017
  if (Result.Is(err)) {
1943
2018
  if (err.isOk()) {
1944
- this.Result("noerror", err);
2019
+ key = "noerror";
2020
+ err = err.Ok();
1945
2021
  } else {
1946
- this.Result("error", err);
2022
+ err = err.Err();
1947
2023
  }
1948
- } else if (err instanceof Error) {
1949
- this._attributes["error"] = logValue(err.message);
1950
- if (this._levelHandler.isStackExposed) {
1951
- this._attributes["stack"] = logValue((_a = err.stack) == null ? void 0 : _a.split("\n").map((s) => s.trim()));
2024
+ }
2025
+ if (err instanceof Error) {
2026
+ this._attributes[key] = logValue(err.message, toLogValueCtx(this.levelHandler));
2027
+ if (this.levelHandler.isStackExposed) {
2028
+ this._attributes["stack"] = logValue(
2029
+ (_a = err.stack) == null ? void 0 : _a.split("\n").map((s) => s.trim()),
2030
+ toLogValueCtx(this.levelHandler)
2031
+ );
1952
2032
  }
1953
2033
  } else {
1954
- this._attributes["error"] = logValue("" + err);
2034
+ this.Any(key, err);
1955
2035
  }
1956
2036
  return this;
1957
2037
  }
1958
2038
  WithLevel(l) {
1959
- this._attributes["level"] = logValue(l);
2039
+ this._attributes["level"] = logValue(l, toLogValueCtx(this.levelHandler));
1960
2040
  return this;
1961
2041
  }
1962
2042
  Ref(key, action) {
1963
2043
  if (typeof action === "function") {
1964
- this._attributes[key] = logValue(action);
2044
+ this._attributes[key] = logValue(action, toLogValueCtx(this.levelHandler));
1965
2045
  } else if (typeof action.toString === "function") {
1966
- this._attributes[key] = logValue(() => action.toString());
2046
+ this._attributes[key] = logValue(() => action.toString(), toLogValueCtx(this.levelHandler));
1967
2047
  } else {
1968
- this._attributes[key] = logValue("INVALID REF");
2048
+ this._attributes[key] = logValue("INVALID REF", toLogValueCtx(this.levelHandler));
1969
2049
  }
1970
2050
  return this;
1971
2051
  }
@@ -2015,18 +2095,20 @@ var LoggerImpl = class _LoggerImpl {
2015
2095
  }
2016
2096
  Result(key, res) {
2017
2097
  if (res.isOk()) {
2018
- this._attributes[key] = logValue(res.Ok());
2098
+ this._attributes[key] = logValue(res.Ok(), toLogValueCtx(this.levelHandler));
2019
2099
  } else {
2020
2100
  this.Err(res.Err());
2021
2101
  }
2022
2102
  return this;
2023
2103
  }
2024
2104
  Len(value, key = "len") {
2025
- this._attributes[key] = getLen(value);
2105
+ this._attributes[key] = getLen(value, toLogValueCtx(this.levelHandler));
2026
2106
  return this;
2027
2107
  }
2028
2108
  Hash(value, key = "hash") {
2029
- this._attributes[key] = asyncLogValue(async () => `${getLen(value).value()}:${await hash(value)}`);
2109
+ this._attributes[key] = asyncLogValue(
2110
+ async () => `${getLen(value, toLogValueCtx(this.levelHandler)).value()}:${await hash(value)}`
2111
+ );
2030
2112
  return this;
2031
2113
  }
2032
2114
  Url(url, key = "url") {
@@ -2035,7 +2117,7 @@ var LoggerImpl = class _LoggerImpl {
2035
2117
  }
2036
2118
  coerceKey(key, value) {
2037
2119
  if (typeof key === "string") {
2038
- this._attributes[key] = logValue(value);
2120
+ this._attributes[key] = logValue(value, toLogValueCtx(this.levelHandler));
2039
2121
  } else {
2040
2122
  this.Pair(key);
2041
2123
  }
@@ -2049,7 +2131,7 @@ var LoggerImpl = class _LoggerImpl {
2049
2131
  return this;
2050
2132
  }
2051
2133
  Dur(key, nsec) {
2052
- this._attributes[key] = logValue(`${nsec}ms`);
2134
+ this._attributes[key] = logValue(`${nsec}ms`, toLogValueCtx(this.levelHandler));
2053
2135
  return this;
2054
2136
  }
2055
2137
  Uint64(key, value) {
@@ -2069,7 +2151,7 @@ var LoggerImpl = class _LoggerImpl {
2069
2151
  new _LoggerImpl({
2070
2152
  logWriter: this._logWriter,
2071
2153
  sys: this._sys,
2072
- levelHandler: this._levelHandler,
2154
+ levelHandler: this.levelHandler,
2073
2155
  formatter: this._formatter,
2074
2156
  withAttributes: __spreadValues({
2075
2157
  module: this._attributes["module"]
@@ -2088,11 +2170,11 @@ var LoggerImpl = class _LoggerImpl {
2088
2170
  Msg(...args) {
2089
2171
  const fnError = this._resetAttributes(() => {
2090
2172
  var _a, _b;
2091
- const doWrite = this._levelHandler.isEnabled(
2173
+ const doWrite = this.levelHandler.isEnabled(
2092
2174
  (_a = toLogValue(this._attributes["level"])) == null ? void 0 : _a.value(),
2093
2175
  (_b = toLogValue(this._attributes["module"])) == null ? void 0 : _b.value()
2094
2176
  );
2095
- this._attributes["msg"] = logValue(args.join(" "));
2177
+ this._attributes["msg"] = logValue(args.join(" "), toLogValueCtx(this.levelHandler));
2096
2178
  const msg = this._attributes["msg"].value();
2097
2179
  if (typeof msg === "string" && !msg.trim().length) {
2098
2180
  delete this._attributes["msg"];
@@ -2115,6 +2197,7 @@ var LoggerImpl = class _LoggerImpl {
2115
2197
  var WithLoggerBuilder = class {
2116
2198
  constructor(li) {
2117
2199
  this._li = li;
2200
+ this.levelHandler = li.levelHandler;
2118
2201
  }
2119
2202
  TxtEnDe() {
2120
2203
  return this._li.TxtEnDe();
@@ -2127,7 +2210,11 @@ var WithLoggerBuilder = class {
2127
2210
  return __spreadValues({}, this._li._attributes);
2128
2211
  }
2129
2212
  SetExposeStack(enable) {
2130
- this._li._levelHandler.setExposeStack(enable);
2213
+ this._li.levelHandler.setExposeStack(enable);
2214
+ return this;
2215
+ }
2216
+ SetIgnoreAttribute(re) {
2217
+ this._li.levelHandler.setIgnoreAttr(re);
2131
2218
  return this;
2132
2219
  }
2133
2220
  SetFormatter(fmt) {
@@ -2135,11 +2222,11 @@ var WithLoggerBuilder = class {
2135
2222
  return this;
2136
2223
  }
2137
2224
  EnableLevel(level, ...modules) {
2138
- this._li._levelHandler.enableLevel(level, ...modules);
2225
+ this._li.levelHandler.enableLevel(level, ...modules);
2139
2226
  return this;
2140
2227
  }
2141
2228
  DisableLevel(level, ...modules) {
2142
- this._li._levelHandler.enableLevel(level, ...modules);
2229
+ this._li.levelHandler.enableLevel(level, ...modules);
2143
2230
  return this;
2144
2231
  }
2145
2232
  Module(key) {
@@ -2364,54 +2451,6 @@ function MockLogger(params) {
2364
2451
  };
2365
2452
  }
2366
2453
 
2367
- // src/option.ts
2368
- var Option = class _Option {
2369
- static Some(t) {
2370
- return new Some(t);
2371
- }
2372
- static None() {
2373
- return new None();
2374
- }
2375
- static Is(t) {
2376
- return t instanceof _Option;
2377
- }
2378
- IsNone() {
2379
- return this.is_none();
2380
- }
2381
- IsSome() {
2382
- return this.is_some();
2383
- }
2384
- Unwrap() {
2385
- return this.unwrap();
2386
- }
2387
- };
2388
- var Some = class extends Option {
2389
- constructor(_t) {
2390
- super();
2391
- this._t = _t;
2392
- }
2393
- is_none() {
2394
- return false;
2395
- }
2396
- is_some() {
2397
- return true;
2398
- }
2399
- unwrap() {
2400
- return this._t;
2401
- }
2402
- };
2403
- var None = class extends Option {
2404
- is_none() {
2405
- return true;
2406
- }
2407
- is_some() {
2408
- return false;
2409
- }
2410
- unwrap() {
2411
- throw new Error("None.unwrap");
2412
- }
2413
- };
2414
-
2415
2454
  // src/tracer.ts
2416
2455
  var Metric = class {
2417
2456
  constructor(path) {
@@ -2818,6 +2857,7 @@ function uint8array2stream(str) {
2818
2857
  MutableURL,
2819
2858
  None,
2820
2859
  Option,
2860
+ REQUIRED,
2821
2861
  RandomMode,
2822
2862
  RandomService,
2823
2863
  ResolveOnce,