zeed 0.25.0 → 0.25.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.
Files changed (118) hide show
  1. package/dist/browser/localstorage.spec.cjs +5 -5
  2. package/dist/browser/localstorage.spec.js +5 -5
  3. package/dist/{chunk-6UYYLWYZ.js → chunk-2TKBSFBA.js} +4 -4
  4. package/dist/{chunk-D46UZDEX.js → chunk-3V5PWXL6.js} +2 -2
  5. package/dist/{chunk-R4I2HR4S.js → chunk-4C3OMNSX.js} +6 -2
  6. package/dist/{chunk-R4I2HR4S.js.map → chunk-4C3OMNSX.js.map} +1 -1
  7. package/dist/{chunk-GRFP6IKE.cjs → chunk-B5PIG6YL.cjs} +5 -1
  8. package/dist/chunk-B5PIG6YL.cjs.map +1 -0
  9. package/dist/{chunk-G7WANTEK.cjs → chunk-CRJXATRH.cjs} +8 -8
  10. package/dist/{chunk-G7WANTEK.cjs.map → chunk-CRJXATRH.cjs.map} +1 -1
  11. package/dist/{chunk-EAM7QSTF.js → chunk-DYTWZLOR.js} +2 -2
  12. package/dist/{chunk-FKHI7ASJ.cjs → chunk-EIBIA44Q.cjs} +5 -5
  13. package/dist/{chunk-FKHI7ASJ.cjs.map → chunk-EIBIA44Q.cjs.map} +1 -1
  14. package/dist/{chunk-4L3PWYRW.js → chunk-HDSJYWGU.js} +2 -2
  15. package/dist/{chunk-IQEW5KTI.cjs → chunk-L3IADASD.cjs} +3 -3
  16. package/dist/{chunk-IQEW5KTI.cjs.map → chunk-L3IADASD.cjs.map} +1 -1
  17. package/dist/{chunk-SVLYETPO.cjs → chunk-MUYEMHP5.cjs} +6 -2
  18. package/dist/chunk-MUYEMHP5.cjs.map +1 -0
  19. package/dist/{chunk-J5SM53KP.cjs → chunk-N7BCGFNY.cjs} +5 -5
  20. package/dist/{chunk-J5SM53KP.cjs.map → chunk-N7BCGFNY.cjs.map} +1 -1
  21. package/dist/{chunk-LT2F6LQX.cjs → chunk-ODTID2TC.cjs} +3 -3
  22. package/dist/{chunk-LT2F6LQX.cjs.map → chunk-ODTID2TC.cjs.map} +1 -1
  23. package/dist/{chunk-KGHBDTFF.js → chunk-QGUPJAJO.js} +5 -1
  24. package/dist/chunk-QGUPJAJO.js.map +1 -0
  25. package/dist/{chunk-KHDAGCHA.cjs → chunk-SSXUFY3A.cjs} +3 -3
  26. package/dist/{chunk-KHDAGCHA.cjs.map → chunk-SSXUFY3A.cjs.map} +1 -1
  27. package/dist/{chunk-PTOT32QZ.js → chunk-WQJ47BZ7.js} +2 -2
  28. package/dist/{chunk-VCSRBH2M.js → chunk-YBJDAY56.js} +2 -2
  29. package/dist/common/bin/index.spec.cjs +5 -5
  30. package/dist/common/bin/index.spec.js +5 -5
  31. package/dist/common/crypto.spec.cjs +5 -5
  32. package/dist/common/crypto.spec.js +5 -5
  33. package/dist/common/data/bin.spec.cjs +1 -1
  34. package/dist/common/data/bin.spec.js +1 -1
  35. package/dist/common/data/convert.cjs +5 -2
  36. package/dist/common/data/convert.cjs.map +1 -1
  37. package/dist/common/data/convert.js +4 -1
  38. package/dist/common/data/convert.spec.cjs +27 -24
  39. package/dist/common/data/convert.spec.cjs.map +1 -1
  40. package/dist/common/data/convert.spec.js +4 -1
  41. package/dist/common/data/convert.spec.js.map +1 -1
  42. package/dist/common/data/deep.spec.cjs +1 -1
  43. package/dist/common/data/deep.spec.js +1 -1
  44. package/dist/common/data/index.cjs +2 -2
  45. package/dist/common/data/index.js +1 -1
  46. package/dist/common/data/sorted.spec.cjs +5 -5
  47. package/dist/common/data/sorted.spec.js +5 -5
  48. package/dist/common/dispose-defer.spec.cjs +1 -1
  49. package/dist/common/dispose-defer.spec.js +1 -1
  50. package/dist/common/index.cjs +6 -6
  51. package/dist/common/index.js +5 -5
  52. package/dist/common/log/index.cjs +2 -2
  53. package/dist/common/log/index.js +1 -1
  54. package/dist/common/log/log-memory.cjs +2 -2
  55. package/dist/common/log/log-memory.js +1 -1
  56. package/dist/common/log/log-memory.spec.cjs +2 -2
  57. package/dist/common/log/log-memory.spec.js +1 -1
  58. package/dist/common/msg/channel.spec.cjs +1 -1
  59. package/dist/common/msg/channel.spec.js +1 -1
  60. package/dist/common/msg/encoder.spec.cjs +5 -5
  61. package/dist/common/msg/encoder.spec.js +5 -5
  62. package/dist/common/msg/index.cjs +4 -3
  63. package/dist/common/msg/index.cjs.map +1 -1
  64. package/dist/common/msg/index.js +3 -2
  65. package/dist/common/msg/messages.cjs +4 -3
  66. package/dist/common/msg/messages.cjs.map +1 -1
  67. package/dist/common/msg/messages.js +3 -2
  68. package/dist/common/msg/messages.spec.cjs +5 -4
  69. package/dist/common/msg/messages.spec.cjs.map +1 -1
  70. package/dist/common/msg/messages.spec.js +3 -2
  71. package/dist/common/msg/messages.spec.js.map +1 -1
  72. package/dist/common/schema/args.cjs +3 -3
  73. package/dist/common/schema/args.js +2 -2
  74. package/dist/common/schema/args.spec.cjs +4 -4
  75. package/dist/common/schema/args.spec.js +2 -2
  76. package/dist/common/schema/env.cjs +3 -3
  77. package/dist/common/schema/env.js +2 -2
  78. package/dist/common/schema/env.spec.cjs +5 -5
  79. package/dist/common/schema/env.spec.js +2 -2
  80. package/dist/common/schema/index.cjs +4 -4
  81. package/dist/common/schema/index.js +3 -3
  82. package/dist/common/schema/schema.spec.cjs +1 -1
  83. package/dist/common/schema/schema.spec.js +1 -1
  84. package/dist/index.all.cjs +8 -8
  85. package/dist/index.all.js +7 -7
  86. package/dist/index.browser.cjs +6 -6
  87. package/dist/index.browser.js +5 -5
  88. package/dist/index.node.cjs +9 -9
  89. package/dist/index.node.js +8 -8
  90. package/dist/node/index.cjs +5 -4
  91. package/dist/node/index.cjs.map +1 -1
  92. package/dist/node/index.js +4 -3
  93. package/dist/node/log/index.cjs +5 -4
  94. package/dist/node/log/index.cjs.map +1 -1
  95. package/dist/node/log/index.js +4 -3
  96. package/dist/node/log/log-context-node.cjs +6 -5
  97. package/dist/node/log/log-context-node.cjs.map +1 -1
  98. package/dist/node/log/log-context-node.js +5 -4
  99. package/dist/node/log/log-file.cjs +4 -3
  100. package/dist/node/log/log-file.cjs.map +1 -1
  101. package/dist/node/log/log-file.js +3 -2
  102. package/dist/node/log/log-file.spec.cjs +4 -4
  103. package/dist/node/log/log-file.spec.js +3 -3
  104. package/dist/node/log/log-node.cjs +4 -3
  105. package/dist/node/log/log-node.cjs.map +1 -1
  106. package/dist/node/log/log-node.js +3 -2
  107. package/dist/node/log/log-node.spec.cjs +7 -7
  108. package/dist/node/log/log-node.spec.js +3 -3
  109. package/package.json +1 -1
  110. package/dist/chunk-GRFP6IKE.cjs.map +0 -1
  111. package/dist/chunk-KGHBDTFF.js.map +0 -1
  112. package/dist/chunk-SVLYETPO.cjs.map +0 -1
  113. /package/dist/{chunk-6UYYLWYZ.js.map → chunk-2TKBSFBA.js.map} +0 -0
  114. /package/dist/{chunk-D46UZDEX.js.map → chunk-3V5PWXL6.js.map} +0 -0
  115. /package/dist/{chunk-EAM7QSTF.js.map → chunk-DYTWZLOR.js.map} +0 -0
  116. /package/dist/{chunk-4L3PWYRW.js.map → chunk-HDSJYWGU.js.map} +0 -0
  117. /package/dist/{chunk-PTOT32QZ.js.map → chunk-WQJ47BZ7.js.map} +0 -0
  118. /package/dist/{chunk-VCSRBH2M.js.map → chunk-YBJDAY56.js.map} +0 -0
@@ -2,13 +2,13 @@
2
2
  require('../chunk-Q2SNIYQS.cjs');
3
3
  require('../chunk-HHIITKT4.cjs');
4
4
  require('../chunk-XKOTJK3W.cjs');
5
- require('../chunk-IQEW5KTI.cjs');
6
- require('../chunk-FKHI7ASJ.cjs');
5
+ require('../chunk-L3IADASD.cjs');
6
+ require('../chunk-EIBIA44Q.cjs');
7
7
  require('../chunk-2Q4Q3VX6.cjs');
8
8
  require('../chunk-HN6JW3BL.cjs');
9
9
  require('../chunk-HEYAOG5D.cjs');
10
10
  require('../chunk-O33QJMGR.cjs');
11
- require('../chunk-LT2F6LQX.cjs');
11
+ require('../chunk-ODTID2TC.cjs');
12
12
  require('../chunk-GAB4VEWK.cjs');
13
13
  require('../chunk-2P6TEB5M.cjs');
14
14
  require('../chunk-DR4WHI2S.cjs');
@@ -40,7 +40,7 @@ require('../chunk-V3MFEGRK.cjs');
40
40
  require('../chunk-2UTQQDPY.cjs');
41
41
  require('../chunk-SFUIGVPA.cjs');
42
42
  require('../chunk-X23ZSPZC.cjs');
43
- require('../chunk-GRFP6IKE.cjs');
43
+ require('../chunk-B5PIG6YL.cjs');
44
44
  require('../chunk-TUWUD5A6.cjs');
45
45
  require('../chunk-3TNVJY4F.cjs');
46
46
  require('../chunk-MJ7L4G3V.cjs');
@@ -52,7 +52,7 @@ require('../chunk-MPD2DJAD.cjs');
52
52
  require('../chunk-7BEQHGH5.cjs');
53
53
  require('../chunk-FLTWM56V.cjs');
54
54
  require('../chunk-4B2XCWGL.cjs');
55
- require('../chunk-SVLYETPO.cjs');
55
+ require('../chunk-MUYEMHP5.cjs');
56
56
  require('../chunk-5CIFX7O6.cjs');
57
57
  require('../chunk-SSHZQKW7.cjs');
58
58
  require('../chunk-NU2LARFE.cjs');
@@ -2,13 +2,13 @@ import "../chunk-W7SXHTUN.js";
2
2
  import "../chunk-UMUHNSGZ.js";
3
3
  import "../chunk-WQPRL26Y.js";
4
4
  import "../chunk-6NLXLMPR.js";
5
- import "../chunk-4L3PWYRW.js";
6
- import "../chunk-PTOT32QZ.js";
5
+ import "../chunk-HDSJYWGU.js";
6
+ import "../chunk-WQJ47BZ7.js";
7
7
  import "../chunk-HIX6EHLQ.js";
8
8
  import "../chunk-RSB2DP4K.js";
9
9
  import "../chunk-HOPWS6D4.js";
10
10
  import "../chunk-OWFULLVR.js";
11
- import "../chunk-VCSRBH2M.js";
11
+ import "../chunk-YBJDAY56.js";
12
12
  import "../chunk-TZ5CXZYL.js";
13
13
  import "../chunk-2AXVHLEB.js";
14
14
  import "../chunk-O7MQBX35.js";
@@ -40,7 +40,7 @@ import "../chunk-SZJLXMYP.js";
40
40
  import "../chunk-GKKLBSFA.js";
41
41
  import "../chunk-RNL46FQ3.js";
42
42
  import "../chunk-MWUFUBY5.js";
43
- import "../chunk-KGHBDTFF.js";
43
+ import "../chunk-QGUPJAJO.js";
44
44
  import "../chunk-X56GIAWQ.js";
45
45
  import "../chunk-FLFB2K34.js";
46
46
  import "../chunk-264HKVNG.js";
@@ -52,7 +52,7 @@ import "../chunk-FL5CT6MC.js";
52
52
  import "../chunk-LAWEUL6N.js";
53
53
  import "../chunk-3YFOOUF5.js";
54
54
  import "../chunk-TSCDX4AS.js";
55
- import "../chunk-R4I2HR4S.js";
55
+ import "../chunk-4C3OMNSX.js";
56
56
  import "../chunk-D6B6MYVG.js";
57
57
  import "../chunk-NEFIJY6U.js";
58
58
  import "../chunk-EW6FHLFK.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  LoggerFileHandler
3
- } from "./chunk-D46UZDEX.js";
3
+ } from "./chunk-3V5PWXL6.js";
4
4
  import {
5
5
  LoggerNodeHandler
6
- } from "./chunk-EAM7QSTF.js";
6
+ } from "./chunk-DYTWZLOR.js";
7
7
  import {
8
8
  toPath
9
9
  } from "./chunk-YIU6EKNX.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-6Y6SHAML.js";
13
13
  import {
14
14
  valueToBoolean
15
- } from "./chunk-KGHBDTFF.js";
15
+ } from "./chunk-QGUPJAJO.js";
16
16
  import {
17
17
  getGlobalLogger
18
18
  } from "./chunk-XYJV3SSU.js";
@@ -44,4 +44,4 @@ export {
44
44
  Logger,
45
45
  LoggerFromConfig
46
46
  };
47
- //# sourceMappingURL=chunk-6UYYLWYZ.js.map
47
+ //# sourceMappingURL=chunk-2TKBSFBA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  renderMessages
3
- } from "./chunk-KGHBDTFF.js";
3
+ } from "./chunk-QGUPJAJO.js";
4
4
  import {
5
5
  useLevelFilter,
6
6
  useNamespaceFilter
@@ -66,4 +66,4 @@ function LoggerFileHandler(path, opt = {}) {
66
66
  export {
67
67
  LoggerFileHandler
68
68
  };
69
- //# sourceMappingURL=chunk-D46UZDEX.js.map
69
+ //# sourceMappingURL=chunk-3V5PWXL6.js.map
@@ -25,7 +25,11 @@ function LoggerMemoryHandler(opt) {
25
25
  if (!matchesNamespace(msg.name))
26
26
  return;
27
27
  msg.timestamp ?? (msg.timestamp = getTimestamp());
28
- const m = objectPlain(msg, { maxDepth, errorTrace });
28
+ const m = objectPlain(msg, {
29
+ maxDepth,
30
+ errorTrace,
31
+ keepAsIs: (v) => v instanceof Error
32
+ });
29
33
  if (compact === true)
30
34
  messages.push([m.timestamp, m.level, m.name, ...m.messages]);
31
35
  else
@@ -41,4 +45,4 @@ export {
41
45
  logMessageFromCompact,
42
46
  LoggerMemoryHandler
43
47
  };
44
- //# sourceMappingURL=chunk-R4I2HR4S.js.map
48
+ //# sourceMappingURL=chunk-4C3OMNSX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/log/log-memory.ts"],"sourcesContent":["import type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { objectPlain } from '../data/object'\nimport { getTimestamp } from '../time'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, { maxDepth, errorTrace })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"],"mappings":";;;;;;;;;;;;AAKO,SAAS,sBAAsB,GAAkC;AACtE,QAAM,CAAC,WAAW,OAAO,MAAM,GAAG,QAAQ,IAAI;AAC9C,SAAO,EAAE,WAAW,OAAO,MAAM,SAAS;AAC5C;AAGO,SAAS,oBACd,KAOY;AACZ,QAAM,EAAE,QAAQ,QAAW,SAAS,QAAW,UAAU,OAAO,WAAW,CAAC,GAAG,aAAa,OAAO,WAAW,GAAG,IAAI;AACrH,QAAM,mBAAmB,mBAAmB,MAAM;AAClD,QAAM,eAAe,eAAe,KAAK;AAEzC,MAAI,UAAU,IAAI,SAAS,OAAO;AAElC,SAAO,CAAC,QAAoB;AAC1B,QAAI,CAAC,aAAa,IAAI,KAAK;AACzB;AACF,QAAI,CAAC,iBAAiB,IAAI,IAAI;AAC5B;AAEF,QAAI,cAAJ,IAAI,YAAc,aAAa;AAE/B,UAAM,IAAI,YAAY,KAAK,EAAE,UAAU,WAAW,CAAC;AAEnD,QAAI,YAAY;AACd,MAAC,SAAiC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,QAAQ,CAAC;AAAA;AAEpF,MAAC,SAA0B,KAAK,CAAC;AAEnC,QAAI,WAAW;AACb,eAAS,MAAM;AAAA;AAEf,QAAE;AAAA,EACN;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/common/log/log-memory.ts"],"sourcesContent":["import type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { objectPlain } from '../data/object'\nimport { getTimestamp } from '../time'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, {\n maxDepth,\n errorTrace,\n keepAsIs: v => v instanceof Error,\n })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"],"mappings":";;;;;;;;;;;;AAKO,SAAS,sBAAsB,GAAkC;AACtE,QAAM,CAAC,WAAW,OAAO,MAAM,GAAG,QAAQ,IAAI;AAC9C,SAAO,EAAE,WAAW,OAAO,MAAM,SAAS;AAC5C;AAGO,SAAS,oBACd,KAOY;AACZ,QAAM,EAAE,QAAQ,QAAW,SAAS,QAAW,UAAU,OAAO,WAAW,CAAC,GAAG,aAAa,OAAO,WAAW,GAAG,IAAI;AACrH,QAAM,mBAAmB,mBAAmB,MAAM;AAClD,QAAM,eAAe,eAAe,KAAK;AAEzC,MAAI,UAAU,IAAI,SAAS,OAAO;AAElC,SAAO,CAAC,QAAoB;AAC1B,QAAI,CAAC,aAAa,IAAI,KAAK;AACzB;AACF,QAAI,CAAC,iBAAiB,IAAI,IAAI;AAC5B;AAEF,QAAI,cAAJ,IAAI,YAAc,aAAa;AAE/B,UAAM,IAAI,YAAY,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA,UAAU,OAAK,aAAa;AAAA,IAC9B,CAAC;AAED,QAAI,YAAY;AACd,MAAC,SAAiC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,QAAQ,CAAC;AAAA;AAEpF,MAAC,SAA0B,KAAK,CAAC;AAEnC,QAAI,WAAW;AACb,eAAS,MAAM;AAAA;AAEf,QAAE;AAAA,EACN;AACF;","names":[]}
@@ -1,5 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
+ var _chunkSSHZQKW7cjs = require('./chunk-SSHZQKW7.cjs');
4
+
5
+
3
6
  var _chunkEZB4PXZZcjs = require('./chunk-EZB4PXZZ.cjs');
4
7
 
5
8
  // src/common/data/convert.ts
@@ -80,6 +83,7 @@ ${_chunkEZB4PXZZcjs.Uint8ArrayToHexDump.call(void 0, obj)}
80
83
  ${obj.stack}`;
81
84
  }
82
85
  try {
86
+ obj = _chunkSSHZQKW7cjs.objectPlain.call(void 0, obj);
83
87
  return pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj);
84
88
  } catch (err) {
85
89
  }
@@ -115,4 +119,4 @@ function fixBrokenUtf8String(brokenString) {
115
119
 
116
120
 
117
121
  exports.stringToBoolean = stringToBoolean; exports.stringToInteger = stringToInteger; exports.stringToFloat = stringToFloat; exports.valueToBoolean = valueToBoolean; exports.valueToBooleanNotFalse = valueToBooleanNotFalse; exports.valueToInteger = valueToInteger; exports.valueToFloat = valueToFloat; exports.valueToString = valueToString; exports.toFloat = toFloat; exports.toInt = toInt; exports.toString = toString; exports.toBool = toBool; exports.formatMessages = formatMessages; exports.renderMessages = renderMessages; exports.fixBrokenUtf8String = fixBrokenUtf8String;
118
- //# sourceMappingURL=chunk-GRFP6IKE.cjs.map
122
+ //# sourceMappingURL=chunk-B5PIG6YL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-B5PIG6YL.cjs","../src/common/data/convert.ts"],"names":[],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-B5PIG6YL.cjs","sourcesContent":[null,"import { Uint8ArrayToHexDump } from './bin'\nimport { objectPlain } from './object'\n\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return Number.parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return Number.parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return Number.parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return Number.parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n// Strings\n\nexport interface RenderMessagesOptions {\n trace?: boolean // = true\n pretty?: boolean // = true\n}\n\nexport function formatMessages(\n messages: any[],\n opt: RenderMessagesOptions = {},\n): any[] {\n const { trace = true, pretty = true } = opt\n return messages.map((obj) => {\n if (obj && typeof obj === 'object') {\n if (pretty && (obj instanceof Uint8Array || obj instanceof ArrayBuffer))\n return `\\n${Uint8ArrayToHexDump(obj)}\\n`\n if (obj instanceof Error) {\n if (!trace)\n return `${obj.name || 'Error'}: ${obj.message}`\n return `${obj.name || 'Error'}: ${obj.message}\\n${obj.stack}`\n }\n try {\n obj = objectPlain(obj)\n return pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj)\n }\n catch (err) {}\n }\n return String(obj)\n })\n}\n\nexport function renderMessages(\n messages: any[],\n opt: RenderMessagesOptions = {},\n): string {\n return formatMessages(messages, opt).join(' ')\n}\n\n//\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunkKHDAGCHAcjs = require('./chunk-KHDAGCHA.cjs');
3
+ var _chunkSSXUFY3Acjs = require('./chunk-SSXUFY3A.cjs');
4
4
 
5
5
 
6
- var _chunkJ5SM53KPcjs = require('./chunk-J5SM53KP.cjs');
6
+ var _chunkN7BCGFNYcjs = require('./chunk-N7BCGFNY.cjs');
7
7
 
8
8
 
9
9
  var _chunkKM2MJVXIcjs = require('./chunk-KM2MJVXI.cjs');
@@ -12,7 +12,7 @@ var _chunkKM2MJVXIcjs = require('./chunk-KM2MJVXI.cjs');
12
12
  var _chunkX4UFBMH7cjs = require('./chunk-X4UFBMH7.cjs');
13
13
 
14
14
 
15
- var _chunkGRFP6IKEcjs = require('./chunk-GRFP6IKE.cjs');
15
+ var _chunkB5PIG6YLcjs = require('./chunk-B5PIG6YL.cjs');
16
16
 
17
17
 
18
18
  var _chunk2AGPRCO5cjs = require('./chunk-2AGPRCO5.cjs');
@@ -22,17 +22,17 @@ var _process = require('process'); var _process2 = _interopRequireDefault(_proce
22
22
  function Logger(name, level) {
23
23
  return _chunk2AGPRCO5cjs.getGlobalLogger.call(void 0, (context) => {
24
24
  const handlers = [
25
- _chunkJ5SM53KPcjs.LoggerNodeHandler.call(void 0, {
25
+ _chunkN7BCGFNYcjs.LoggerNodeHandler.call(void 0, {
26
26
  padding: 32,
27
27
  nameBrackets: false
28
28
  // levelHelper: false,
29
29
  })
30
30
  ];
31
31
  const logFilePath = _nullishCoalesce(_process2.default.env.ZEED_LOG, () => ( _process2.default.env.LOG));
32
- const time = _chunkGRFP6IKEcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_TIME, true);
33
- const pretty = _chunkGRFP6IKEcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_PRETTY, false);
32
+ const time = _chunkB5PIG6YLcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_TIME, true);
33
+ const pretty = _chunkB5PIG6YLcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_PRETTY, false);
34
34
  if (logFilePath)
35
- handlers.unshift(_chunkKHDAGCHAcjs.LoggerFileHandler.call(void 0, _chunkKM2MJVXIcjs.toPath.call(void 0, logFilePath), { time, pretty }));
35
+ handlers.unshift(_chunkSSXUFY3Acjs.LoggerFileHandler.call(void 0, _chunkKM2MJVXIcjs.toPath.call(void 0, logFilePath), { time, pretty }));
36
36
  context.setHandlers(handlers);
37
37
  })(name, level);
38
38
  }
@@ -44,4 +44,4 @@ function LoggerFromConfig(config, name, level) {
44
44
 
45
45
 
46
46
  exports.Logger = Logger; exports.LoggerFromConfig = LoggerFromConfig;
47
- //# sourceMappingURL=chunk-G7WANTEK.cjs.map
47
+ //# sourceMappingURL=chunk-CRJXATRH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-G7WANTEK.cjs","../src/node/log/log-context-node.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACjBA,oFAAoB;AAQb,SAAS,MAAA,CAAO,IAAA,EAAe,KAAA,EAA4C;AAChF,EAAA,OAAO,+CAAA,CAAiB,OAAA,EAAA,GAAY;AAClC,IAAA,MAAM,SAAA,EAAW;AAAA,MACf,iDAAA;AAAkB,QAChB,OAAA,EAAS,EAAA;AAAA,QACT,YAAA,EAAc;AAAA;AAAA,MAEhB,CAAC;AAAA,IACH,CAAA;AAEA,IAAA,MAAM,YAAA,mBAAc,iBAAA,CAAQ,GAAA,CAAI,QAAA,UAAY,iBAAA,CAAQ,GAAA,CAAI,KAAA;AACxD,IAAA,MAAM,KAAA,EAAO,8CAAA,iBAAe,CAAQ,GAAA,CAAI,SAAA,EAAW,IAAI,CAAA;AACvD,IAAA,MAAM,OAAA,EAAS,8CAAA,iBAAe,CAAQ,GAAA,CAAI,WAAA,EAAa,KAAK,CAAA;AAC5D,IAAA,GAAA,CAAI,WAAA;AACF,MAAA,QAAA,CAAS,OAAA,CAAQ,iDAAA,sCAAkB,WAAkB,CAAA,EAAG,EAAE,IAAA,EAAM,OAAO,CAAC,CAAC,CAAA;AAE3E,IAAA,OAAA,CAAQ,WAAA,CAAY,QAAQ,CAAA;AAAA,EAC9B,CAAC,CAAA,CAAE,IAAA,EAAM,KAAK,CAAA;AAChB;AAGO,SAAS,gBAAA,CAAiB,MAAA,EAAmB,IAAA,EAAc,KAAA,EAA4C;AAC5G,EAAA,OAAO,iDAAA,MAAkB,EAAQ,MAAA,EAAQ,IAAA,EAAM,KAAK,CAAA;AACtD;ADQA;AACA;AACE;AACA;AACF,qEAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-G7WANTEK.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport process from 'node:process'\nimport { valueToBoolean } from '../../common/data/convert'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { toPath } from '../env'\nimport { LoggerFileHandler } from './log-file'\nimport { LoggerNodeHandler } from './log-node'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n const handlers = [\n LoggerNodeHandler({\n padding: 32,\n nameBrackets: false,\n // levelHelper: false,\n }),\n ]\n\n const logFilePath = process.env.ZEED_LOG ?? process.env.LOG\n const time = valueToBoolean(process.env.ZEED_TIME, true)\n const pretty = valueToBoolean(process.env.ZEED_PRETTY, false)\n if (logFilePath)\n handlers.unshift(LoggerFileHandler(toPath(logFilePath), { time, pretty }))\n\n context.setHandlers(handlers)\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-CRJXATRH.cjs","../src/node/log/log-context-node.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACjBA,oFAAoB;AAQb,SAAS,MAAA,CAAO,IAAA,EAAe,KAAA,EAA4C;AAChF,EAAA,OAAO,+CAAA,CAAiB,OAAA,EAAA,GAAY;AAClC,IAAA,MAAM,SAAA,EAAW;AAAA,MACf,iDAAA;AAAkB,QAChB,OAAA,EAAS,EAAA;AAAA,QACT,YAAA,EAAc;AAAA;AAAA,MAEhB,CAAC;AAAA,IACH,CAAA;AAEA,IAAA,MAAM,YAAA,mBAAc,iBAAA,CAAQ,GAAA,CAAI,QAAA,UAAY,iBAAA,CAAQ,GAAA,CAAI,KAAA;AACxD,IAAA,MAAM,KAAA,EAAO,8CAAA,iBAAe,CAAQ,GAAA,CAAI,SAAA,EAAW,IAAI,CAAA;AACvD,IAAA,MAAM,OAAA,EAAS,8CAAA,iBAAe,CAAQ,GAAA,CAAI,WAAA,EAAa,KAAK,CAAA;AAC5D,IAAA,GAAA,CAAI,WAAA;AACF,MAAA,QAAA,CAAS,OAAA,CAAQ,iDAAA,sCAAkB,WAAkB,CAAA,EAAG,EAAE,IAAA,EAAM,OAAO,CAAC,CAAC,CAAA;AAE3E,IAAA,OAAA,CAAQ,WAAA,CAAY,QAAQ,CAAA;AAAA,EAC9B,CAAC,CAAA,CAAE,IAAA,EAAM,KAAK,CAAA;AAChB;AAGO,SAAS,gBAAA,CAAiB,MAAA,EAAmB,IAAA,EAAc,KAAA,EAA4C;AAC5G,EAAA,OAAO,iDAAA,MAAkB,EAAQ,MAAA,EAAQ,IAAA,EAAM,KAAK,CAAA;AACtD;ADQA;AACA;AACE;AACA;AACF,qEAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-CRJXATRH.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport process from 'node:process'\nimport { valueToBoolean } from '../../common/data/convert'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { toPath } from '../env'\nimport { LoggerFileHandler } from './log-file'\nimport { LoggerNodeHandler } from './log-node'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n const handlers = [\n LoggerNodeHandler({\n padding: 32,\n nameBrackets: false,\n // levelHelper: false,\n }),\n ]\n\n const logFilePath = process.env.ZEED_LOG ?? process.env.LOG\n const time = valueToBoolean(process.env.ZEED_TIME, true)\n const pretty = valueToBoolean(process.env.ZEED_PRETTY, false)\n if (logFilePath)\n handlers.unshift(LoggerFileHandler(toPath(logFilePath), { time, pretty }))\n\n context.setHandlers(handlers)\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  renderMessages,
8
8
  valueToBoolean
9
- } from "./chunk-KGHBDTFF.js";
9
+ } from "./chunk-QGUPJAJO.js";
10
10
  import {
11
11
  formatMilliseconds,
12
12
  getTimestamp
@@ -200,4 +200,4 @@ export {
200
200
  loggerStackTraceDebug,
201
201
  LoggerNodeHandler
202
202
  };
203
- //# sourceMappingURL=chunk-EAM7QSTF.js.map
203
+ //# sourceMappingURL=chunk-DYTWZLOR.js.map
@@ -5,7 +5,7 @@ var _chunk2Q4Q3VX6cjs = require('./chunk-2Q4Q3VX6.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkGRFP6IKEcjs = require('./chunk-GRFP6IKE.cjs');
8
+ var _chunkB5PIG6YLcjs = require('./chunk-B5PIG6YL.cjs');
9
9
 
10
10
 
11
11
 
@@ -32,12 +32,12 @@ function parseSchemaEnv(schema, env = _nullishCoalesce(_optionalChain([process,
32
32
  return _chunkSSHZQKW7cjs.objectMap.call(void 0, schema._object, (key, schema2) => {
33
33
  let value = env[_chunkQK5A4MK5cjs.toCamelCase.call(void 0, key)];
34
34
  if (schema2.type === "number") {
35
- value = _chunkGRFP6IKEcjs.valueToInteger.call(void 0, value, schema2._default);
35
+ value = _chunkB5PIG6YLcjs.valueToInteger.call(void 0, value, schema2._default);
36
36
  } else if (schema2.type === "boolean") {
37
37
  if (schema2._default === true)
38
- value = _chunkGRFP6IKEcjs.valueToBooleanNotFalse.call(void 0, value);
38
+ value = _chunkB5PIG6YLcjs.valueToBooleanNotFalse.call(void 0, value);
39
39
  else
40
- value = _chunkGRFP6IKEcjs.valueToBoolean.call(void 0, value, false);
40
+ value = _chunkB5PIG6YLcjs.valueToBoolean.call(void 0, value, false);
41
41
  }
42
42
  return schema2.parse(value);
43
43
  });
@@ -55,4 +55,4 @@ function stringFromSchemaEnv(schema, prefix = "", commentOut = false) {
55
55
 
56
56
 
57
57
  exports.parseSchemaEnv = parseSchemaEnv; exports.stringFromSchemaEnv = stringFromSchemaEnv;
58
- //# sourceMappingURL=chunk-FKHI7ASJ.cjs.map
58
+ //# sourceMappingURL=chunk-EIBIA44Q.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-FKHI7ASJ.cjs","../src/common/schema/env.ts"],"names":["schema"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACNO,SAAS,cAAA,CAAkB,MAAA,EAAiB,IAAA,mCAAW,OAAA,2BAAS,KAAA,UAAO,CAAC,GAAA,EAAG,OAAA,EAAS,EAAA,EAAO;AAChG,EAAA,sCAAA,kDAAO,MAAyB,CAAA,EAAG,gCAAgC,CAAA;AACnE,EAAA,MAAM,GAAA,EAAK,MAAA,CAAO,MAAA;AAClB,EAAA,GAAA,CAAI,GAAA,EAAK,CAAA;AACP,IAAA,IAAA,EAAM,4CAAA,GAAa,EAAK,CAAA,GAAA,EAAA,GAAO,GAAA,CAAI,UAAA,CAAW,MAAM,CAAC,CAAA;AACvD,EAAA,IAAA,EAAM,yCAAA,GAAU,EAAK,CAAC,GAAA,EAAK,KAAA,EAAA,GAAU;AACnC,IAAA,GAAA,CAAI,GAAA,EAAK,CAAA;AACP,MAAA,IAAA,EAAM,GAAA,CAAI,SAAA,CAAU,EAAE,CAAA;AACxB,IAAA,OAAO,CAAC,2CAAA,GAAe,CAAA,EAAG,KAAK,CAAA;AAAA,EACjC,CAAC,CAAA;AACD,EAAA,OAAO,yCAAA,MAAU,CAAO,OAAA,EAAU,CAAC,GAAA,EAAKA,OAAAA,EAAAA,GAAW;AACjD,IAAA,IAAI,MAAA,EAAQ,GAAA,CAAI,2CAAA,GAAe,CAAC,CAAA;AAChC,IAAA,GAAA,CAAIA,OAAAA,CAAO,KAAA,IAAS,QAAA,EAAU;AAC5B,MAAA,MAAA,EAAQ,8CAAA,KAAe,EAAOA,OAAAA,CAAO,QAAQ,CAAA;AAAA,IAC/C,EAAA,KAAA,GAAA,CACSA,OAAAA,CAAO,KAAA,IAAS,SAAA,EAAW;AAClC,MAAA,GAAA,CAAIA,OAAAA,CAAO,SAAA,IAAa,IAAA;AACtB,QAAA,MAAA,EAAQ,sDAAA,KAA4B,CAAA;AAAA,MAAA;AAEpC,QAAA,MAAA,EAAQ,8CAAA,KAAe,EAAO,KAAK,CAAA;AAAA,IACvC;AACA,IAAA,OAAOA,OAAAA,CAAO,KAAA,CAAM,KAAK,CAAA;AAAA,EAC3B,CAAC,CAAA;AACH;AAEO,SAAS,mBAAA,CAAuB,MAAA,EAAiB,OAAA,EAAS,EAAA,EAAI,WAAA,EAAa,KAAA,EAAe;AAC/F,EAAA,sCAAA,kDAAO,MAAyB,CAAA,EAAG,gCAAgC,CAAA;AACnE,EAAA,MAAM,MAAA,EAAkB,CAAC,CAAA;AACzB,EAAA,yCAAA,MAAU,CAAO,OAAA,EAAU,CAAC,GAAA,EAAKA,OAAAA,EAAAA,GAAW;AAC1C,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAA;AACZ,EAAA;AACY,EAAA;AACf;ADMgB;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-FKHI7ASJ.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectFilter, objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './types' {\n// interface TypeProps {\n// argShort?: string\n// }\n// }\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaEnv<T>(schema: Type<T>, env: any = process?.env ?? {}, prefix = ''): T {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const pl = prefix.length\n if (pl > 0)\n env = objectFilter(env, key => key.startsWith(prefix))\n env = objectMap(env, (key, value) => {\n if (pl > 0)\n key = key.substring(pl)\n return [toCamelCase(key), value]\n })\n return objectMap(schema._object!, (key, schema) => {\n let value = env[toCamelCase(key)]\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schema.parse(value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n }) as T\n return lines.join('\\n')\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-EIBIA44Q.cjs","../src/common/schema/env.ts"],"names":["schema"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACNO,SAAS,cAAA,CAAkB,MAAA,EAAiB,IAAA,mCAAW,OAAA,2BAAS,KAAA,UAAO,CAAC,GAAA,EAAG,OAAA,EAAS,EAAA,EAAO;AAChG,EAAA,sCAAA,kDAAO,MAAyB,CAAA,EAAG,gCAAgC,CAAA;AACnE,EAAA,MAAM,GAAA,EAAK,MAAA,CAAO,MAAA;AAClB,EAAA,GAAA,CAAI,GAAA,EAAK,CAAA;AACP,IAAA,IAAA,EAAM,4CAAA,GAAa,EAAK,CAAA,GAAA,EAAA,GAAO,GAAA,CAAI,UAAA,CAAW,MAAM,CAAC,CAAA;AACvD,EAAA,IAAA,EAAM,yCAAA,GAAU,EAAK,CAAC,GAAA,EAAK,KAAA,EAAA,GAAU;AACnC,IAAA,GAAA,CAAI,GAAA,EAAK,CAAA;AACP,MAAA,IAAA,EAAM,GAAA,CAAI,SAAA,CAAU,EAAE,CAAA;AACxB,IAAA,OAAO,CAAC,2CAAA,GAAe,CAAA,EAAG,KAAK,CAAA;AAAA,EACjC,CAAC,CAAA;AACD,EAAA,OAAO,yCAAA,MAAU,CAAO,OAAA,EAAU,CAAC,GAAA,EAAKA,OAAAA,EAAAA,GAAW;AACjD,IAAA,IAAI,MAAA,EAAQ,GAAA,CAAI,2CAAA,GAAe,CAAC,CAAA;AAChC,IAAA,GAAA,CAAIA,OAAAA,CAAO,KAAA,IAAS,QAAA,EAAU;AAC5B,MAAA,MAAA,EAAQ,8CAAA,KAAe,EAAOA,OAAAA,CAAO,QAAQ,CAAA;AAAA,IAC/C,EAAA,KAAA,GAAA,CACSA,OAAAA,CAAO,KAAA,IAAS,SAAA,EAAW;AAClC,MAAA,GAAA,CAAIA,OAAAA,CAAO,SAAA,IAAa,IAAA;AACtB,QAAA,MAAA,EAAQ,sDAAA,KAA4B,CAAA;AAAA,MAAA;AAEpC,QAAA,MAAA,EAAQ,8CAAA,KAAe,EAAO,KAAK,CAAA;AAAA,IACvC;AACA,IAAA,OAAOA,OAAAA,CAAO,KAAA,CAAM,KAAK,CAAA;AAAA,EAC3B,CAAC,CAAA;AACH;AAEO,SAAS,mBAAA,CAAuB,MAAA,EAAiB,OAAA,EAAS,EAAA,EAAI,WAAA,EAAa,KAAA,EAAe;AAC/F,EAAA,sCAAA,kDAAO,MAAyB,CAAA,EAAG,gCAAgC,CAAA;AACnE,EAAA,MAAM,MAAA,EAAkB,CAAC,CAAA;AACzB,EAAA,yCAAA,MAAU,CAAO,OAAA,EAAU,CAAC,GAAA,EAAKA,OAAAA,EAAAA,GAAW;AAC1C,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAA;AACZ,EAAA;AACY,EAAA;AACf;ADMgB;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-EIBIA44Q.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectFilter, objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './types' {\n// interface TypeProps {\n// argShort?: string\n// }\n// }\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaEnv<T>(schema: Type<T>, env: any = process?.env ?? {}, prefix = ''): T {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const pl = prefix.length\n if (pl > 0)\n env = objectFilter(env, key => key.startsWith(prefix))\n env = objectMap(env, (key, value) => {\n if (pl > 0)\n key = key.substring(pl)\n return [toCamelCase(key), value]\n })\n return objectMap(schema._object!, (key, schema) => {\n let value = env[toCamelCase(key)]\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schema.parse(value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n }) as T\n return lines.join('\\n')\n}\n"]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HIX6EHLQ.js";
4
4
  import {
5
5
  valueToInteger
6
- } from "./chunk-KGHBDTFF.js";
6
+ } from "./chunk-QGUPJAJO.js";
7
7
  import {
8
8
  fromCamelCase,
9
9
  toCamelCase
@@ -81,4 +81,4 @@ export {
81
81
  parseSchemaArgs,
82
82
  helpSchemaArgs
83
83
  };
84
- //# sourceMappingURL=chunk-4L3PWYRW.js.map
84
+ //# sourceMappingURL=chunk-HDSJYWGU.js.map
@@ -3,7 +3,7 @@
3
3
  var _chunk2Q4Q3VX6cjs = require('./chunk-2Q4Q3VX6.cjs');
4
4
 
5
5
 
6
- var _chunkGRFP6IKEcjs = require('./chunk-GRFP6IKE.cjs');
6
+ var _chunkB5PIG6YLcjs = require('./chunk-B5PIG6YL.cjs');
7
7
 
8
8
 
9
9
 
@@ -55,7 +55,7 @@ function parseSchemaArgs(schema, args = _nullishCoalesce(_optionalChain([process
55
55
  const argsResult = _chunkSSHZQKW7cjs.objectMap.call(void 0, schema._object, (key, schema2) => {
56
56
  let value = argsObj[_chunkQK5A4MK5cjs.toCamelCase.call(void 0, key)];
57
57
  if (schema2.type === "number") {
58
- value = _chunkGRFP6IKEcjs.valueToInteger.call(void 0, value);
58
+ value = _chunkB5PIG6YLcjs.valueToInteger.call(void 0, value);
59
59
  }
60
60
  return schema2.parse(value);
61
61
  });
@@ -81,4 +81,4 @@ function helpSchemaArgs(schema) {
81
81
 
82
82
 
83
83
  exports.parseSchemaArgs = parseSchemaArgs; exports.helpSchemaArgs = helpSchemaArgs;
84
- //# sourceMappingURL=chunk-IQEW5KTI.cjs.map
84
+ //# sourceMappingURL=chunk-L3IADASD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-IQEW5KTI.cjs","../src/common/schema/args.ts"],"names":["schema"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-IQEW5KTI.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeProps {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._props?.argShort)\n alias[toCamelCase(schema._props.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number') {\n value = valueToInteger(value)\n }\n return schema.parse(value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._props?.argShort)\n s += `, -${fromCamelCase(schema._props.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n if (schema._props?.argDesc)\n lines.push(` ${schema._props?.argDesc}`)\n })\n\n return lines.join('\\n')\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-L3IADASD.cjs","../src/common/schema/args.ts"],"names":["schema"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-L3IADASD.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeProps {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._props?.argShort)\n alias[toCamelCase(schema._props.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number') {\n value = valueToInteger(value)\n }\n return schema.parse(value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._props?.argShort)\n s += `, -${fromCamelCase(schema._props.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n if (schema._props?.argDesc)\n lines.push(` ${schema._props?.argDesc}`)\n })\n\n return lines.join('\\n')\n}\n"]}
@@ -25,7 +25,11 @@ function LoggerMemoryHandler(opt) {
25
25
  if (!matchesNamespace(msg.name))
26
26
  return;
27
27
  _nullishCoalesce(msg.timestamp, () => ( (msg.timestamp = _chunk33B2TEAZcjs.getTimestamp.call(void 0, ))));
28
- const m = _chunkSSHZQKW7cjs.objectPlain.call(void 0, msg, { maxDepth, errorTrace });
28
+ const m = _chunkSSHZQKW7cjs.objectPlain.call(void 0, msg, {
29
+ maxDepth,
30
+ errorTrace,
31
+ keepAsIs: (v) => v instanceof Error
32
+ });
29
33
  if (compact === true)
30
34
  messages.push([m.timestamp, m.level, m.name, ...m.messages]);
31
35
  else
@@ -41,4 +45,4 @@ function LoggerMemoryHandler(opt) {
41
45
 
42
46
 
43
47
  exports.logMessageFromCompact = logMessageFromCompact; exports.LoggerMemoryHandler = LoggerMemoryHandler;
44
- //# sourceMappingURL=chunk-SVLYETPO.cjs.map
48
+ //# sourceMappingURL=chunk-MUYEMHP5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-MUYEMHP5.cjs","../src/common/log/log-memory.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACNO,SAAS,qBAAA,CAAsB,CAAA,EAAkC;AACtE,EAAA,MAAM,CAAC,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,GAAG,QAAQ,EAAA,EAAI,CAAA;AAC9C,EAAA,OAAO,EAAE,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,SAAS,CAAA;AAC5C;AAGO,SAAS,mBAAA,CACd,GAAA,EAOY;AACZ,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,CAAA,EAAW,OAAA,EAAS,KAAA,CAAA,EAAW,QAAA,EAAU,KAAA,EAAO,SAAA,EAAW,CAAC,CAAA,EAAG,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,GAAG,EAAA,EAAI,GAAA;AACrH,EAAA,MAAM,iBAAA,EAAmB,kDAAA,MAAyB,CAAA;AAClD,EAAA,MAAM,aAAA,EAAe,8CAAA,KAAoB,CAAA;AAEzC,EAAA,IAAI,QAAA,mBAAU,GAAA,CAAI,KAAA,UAAS,MAAA,CAAO,mBAAA;AAElC,EAAA,OAAO,CAAC,GAAA,EAAA,GAAoB;AAC1B,IAAA,GAAA,CAAI,CAAC,YAAA,CAAa,GAAA,CAAI,KAAK,CAAA;AACzB,MAAA,MAAA;AACF,IAAA,GAAA,CAAI,CAAC,gBAAA,CAAiB,GAAA,CAAI,IAAI,CAAA;AAC5B,MAAA,MAAA;AAEF,qBAAA,GAAA,CAAI,SAAA,UAAA,CAAJ,GAAA,CAAI,UAAA,EAAc,4CAAA,CAAa,GAAA;AAE/B,IAAA,MAAM,EAAA,EAAI,2CAAA,GAAY,EAAK;AAAA,MACzB,QAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA,EAAU,CAAA,CAAA,EAAA,GAAK,EAAA,WAAa;AAAA,IAC9B,CAAC,CAAA;AAED,IAAA,GAAA,CAAI,QAAA,IAAY,IAAA;AACd,MAAC,QAAA,CAAiC,IAAA,CAAK,CAAC,CAAA,CAAE,SAAA,EAAW,CAAA,CAAE,KAAA,EAAO,CAAA,CAAE,IAAA,EAAM,GAAG,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,IAAA;AAEpF,MAAC,QAAA,CAA0B,IAAA,CAAK,CAAC,CAAA;AAEnC,IAAA,GAAA,CAAI,QAAA,GAAW,CAAA;AACb,MAAA,QAAA,CAAS,KAAA,CAAM,CAAA;AAAA,IAAA;AAEf,MAAA,EAAE,OAAA;AAAA,EACN,CAAA;AACF;ADRA;AACA;AACE;AACA;AACF,yGAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-MUYEMHP5.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { objectPlain } from '../data/object'\nimport { getTimestamp } from '../time'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, {\n maxDepth,\n errorTrace,\n keepAsIs: v => v instanceof Error,\n })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"]}
@@ -6,7 +6,7 @@ var _chunkJFEY5QE3cjs = require('./chunk-JFEY5QE3.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkGRFP6IKEcjs = require('./chunk-GRFP6IKE.cjs');
9
+ var _chunkB5PIG6YLcjs = require('./chunk-B5PIG6YL.cjs');
10
10
 
11
11
 
12
12
 
@@ -26,7 +26,7 @@ var _process = require('process'); var _process2 = _interopRequireDefault(_proce
26
26
  var _tty = require('tty'); var _tty2 = _interopRequireDefault(_tty);
27
27
  function shouldUseColor() {
28
28
  try {
29
- return _chunkGRFP6IKEcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_COLOR, _tty2.default.isatty(_process2.default.stdout.fd));
29
+ return _chunkB5PIG6YLcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_COLOR, _tty2.default.isatty(_process2.default.stdout.fd));
30
30
  } catch (err) {
31
31
  }
32
32
  return false;
@@ -44,7 +44,7 @@ function nodeSelectColorByName(namespace) {
44
44
  var namespaces = {};
45
45
  var startTime;
46
46
  function log(...args) {
47
- _process2.default.stdout.write(`${_chunkGRFP6IKEcjs.renderMessages.call(void 0, args)}
47
+ _process2.default.stdout.write(`${_chunkB5PIG6YLcjs.renderMessages.call(void 0, args)}
48
48
  `);
49
49
  }
50
50
  var TTY_STYLE = {
@@ -78,7 +78,7 @@ function colorStringList(list, style, bold = true) {
78
78
  }
79
79
  function shouldUseStack() {
80
80
  try {
81
- return _chunkGRFP6IKEcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_STACK, false);
81
+ return _chunkB5PIG6YLcjs.valueToBoolean.call(void 0, _process2.default.env.ZEED_STACK, false);
82
82
  } catch (err) {
83
83
  }
84
84
  return false;
@@ -200,4 +200,4 @@ function LoggerNodeHandler(opt = {}) {
200
200
 
201
201
 
202
202
  exports.colorString = colorString; exports.colorStringList = colorStringList; exports.loggerStackTraceDebug = loggerStackTraceDebug; exports.LoggerNodeHandler = LoggerNodeHandler;
203
- //# sourceMappingURL=chunk-J5SM53KP.cjs.map
203
+ //# sourceMappingURL=chunk-N7BCGFNY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-J5SM53KP.cjs","../src/node/log/log-node.ts"],"names":["colors"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACtBA,oFAAoB;AACpB,oEAAgB;AAOhB,SAAS,cAAA,CAAA,EAA0B;AACjC,EAAA,IAAI;AACF,IAAA,OAAO,8CAAA,iBAAe,CAAQ,GAAA,CAAI,UAAA,EAAY,aAAA,CAAI,MAAA,CAAO,iBAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAA;AAAA,EAC7E,EAAA,MAAA,CACO,GAAA,EAAK;AAAA,EAAC;AACb,EAAA,OAAO,KAAA;AACT;AAEA,IAAI,eAAA;AAEJ,IAAM,OAAA,EAAS,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA;AAEhC,SAAS,qBAAA,CAAsB,SAAA,EAAmB;AAChD,EAAA,IAAI,KAAA,EAAO,CAAA;AACX,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,SAAA,CAAU,MAAA,EAAQ,CAAA,EAAA,EAAK;AACzC,IAAA,KAAA,EAAA,CAAQ,KAAA,GAAQ,CAAA,EAAA,EAAK,KAAA,EAAO,SAAA,CAAU,UAAA,CAAW,CAAC,CAAA;AAClD,IAAA,KAAA,GAAQ,CAAA;AAAA,EACV;AACA,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,IAAI,EAAA,EAAI,MAAA,CAAO,MAAM,CAAA;AAC9C;AAEA,IAAM,WAAA,EAAkC,CAAC,CAAA;AAEzC,IAAI,SAAA;AAEJ,SAAS,GAAA,CAAA,GAAO,IAAA,EAAa;AAC3B,EAAA,iBAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,CAAA,EAAA;AAA2B;AAClD;AAckB;AACV,EAAA;AACE,EAAA;AACH,EAAA;AACE,EAAA;AACD,EAAA;AACE,EAAA;AACF,EAAA;AACE,EAAA;AACC,EAAA;AACX;AAWiB;AAEW;AACP,EAAA;AAGC,EAAA;AACtB;AAEgB;AAKG,EAAA;AACJ,IAAA;AACF,MAAA;AACG,IAAA;AACF,IAAA;AACA,IAAA;AACG,MAAA;AACI,MAAA;AACjB,IAAA;AACkB,IAAA;AACnB,EAAA;AACH;AAES;AACH,EAAA;AACK,IAAA;AAEG,EAAA;AAAC,EAAA;AACN,EAAA;AACT;AAEI;AAES;AAEG;AACV,EAAA;AACgB,IAAA;AAEhB,EAAA;AACgB,IAAA;AAEH,EAAA;AACH,IAAA;AAER,EAAA;AACI,IAAA;AACC,IAAA;AACA,IAAA;AACK,IAAA;AACC,IAAA;AACL,IAAA;AACH,IAAA;AACC,IAAA;AACD,IAAA;AACL,EAAA;AACE,EAAA;AACe,EAAA;AACO,EAAA;AACR,IAAA;AAChB,MAAA;AACG,IAAA;AACH,MAAA;AACc,IAAA;AACC,IAAA;AACL,IAAA;AACO,IAAA;AACT,MAAA;AACC,QAAA;AAA0B;AAEnC,MAAA;AACe,MAAA;AACjB,IAAA;AACM,IAAA;AAEF,IAAA;AAEc,IAAA;AAEJ,IAAA;AACE,MAAA;AAEL,IAAA;AACK,MAAA;AAEJ,IAAA;AACM,MAAA;AACL,MAAA;AACO,MAAA;AACH,QAAA;AACF,MAAA;AACE,QAAA;AAA4C,MAAA;AAE5C,QAAA;AACX,MAAA;AACQ,QAAA;AAET,IAAA;AACK,MAAA;AACJ,MAAA;AACY,QAAA;AAClB,IAAA;AAEoB,IAAA;AACd,MAAA;AAEU,QAAA;AAEF,MAAA;AAAE,MAAA;AAChB,IAAA;AAGW,IAAA;AACE,MAAA;AACA,MAAA;AACF,QAAA;AACJ,UAAA;AACD,UAAA;AACF,QAAA;AACK,QAAA;AACI,UAAA;AAEN,MAAA;AACW,QAAA;AACP,QAAA;AACT,MAAA;AACI,MAAA;AACQ,QAAA;AACd,IAAA;AAEY,IAAA;AACM,IAAA;AAEC,IAAA;AACZ,MAAA;AACC,QAAA;AACY,UAAA;AACL,QAAA;AACX,QAAA;AACG,MAAA;AACC,QAAA;AACSA,UAAAA;AAGb,QAAA;AACW,QAAA;AACX,QAAA;AACG,MAAA;AACC,QAAA;AACSA,UAAAA;AAGb,QAAA;AACW,QAAA;AACX,QAAA;AACF,MAAA;AACM,QAAA;AACY,UAAA;AACL,QAAA;AACX,QAAA;AACJ,IAAA;AACF,EAAA;AACF;AD1CwB;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-J5SM53KP.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport process from 'node:process'\nimport tty from 'node:tty'\nimport { renderMessages, valueToBoolean } from '../../common/data/convert'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { formatMilliseconds, getTimestamp } from '../../common/time'\nimport { getSourceLocation, getSourceLocationByPrecedingPattern, getStack } from './log-util'\n\nfunction shouldUseColor(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_COLOR, tty.isatty(process.stdout.fd))\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseColor: boolean | undefined\n\nconst colors = [6, 2, 3, 4, 5, 1]\n\nfunction nodeSelectColorByName(namespace: string) {\n let hash = 0\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i)\n hash |= 0 // Convert to 32bit integer\n }\n return colors[Math.abs(hash) % colors.length]\n}\n\nconst namespaces: Record<string, any> = {}\n\nlet startTime: number | undefined\n\nfunction log(...args: any[]) {\n process.stdout.write(`${renderMessages(args)}\\n`)\n}\n\n// const _browserStyleMap = {\n// [BOLD]: { \"font-weight\": \"bold\" },\n// [UNBOLD]: { \"font-weight\": \"normal\" },\n// [BLUE]: { color: \"blue\" },\n// [GREEN]: { color: \"green\" },\n// [GREY]: { color: \"grey\" },\n// [RED]: { color: \"red\" },\n// [PURPLE]: { color: \"purple\" },\n// [ORANGE]: { color: \"orange\" },\n// [UNCOLOR]: { color: \"black\" },\n// }\n\nconst TTY_STYLE = {\n BOLD: '\\u001B[1m',\n UNBOLD: '\\u001B[2m',\n RED: '\\u001B[31m',\n GREEN: '\\u001B[32m',\n BLUE: '\\u001B[34m',\n PURPLE: '\\u001B[35m',\n GRAY: '\\u001B[37m',\n ORANGE: '\\u001B[38;5;208m',\n UNCOLOR: '\\u001B[0m',\n}\n\nenum COLOR {\n RED = 1,\n GREEN = 2,\n BLUE = 4,\n PURPLE = 5,\n GRAY = 7,\n ORANGE = 8,\n}\n\nconst colorEnd = '\\u001B[0m'\n\nexport function colorString(text: string, colorCode: number) {\n const colorStart = colorCode === COLOR.ORANGE\n ? TTY_STYLE.ORANGE\n : `\\u001B[3${colorCode < 8 ? colorCode : `8;5;${colorCode}`}m`\n return `${colorStart}${text}${colorEnd}`\n}\n\nexport function colorStringList(\n list: Array<any>,\n style: string,\n bold = true,\n) {\n return list.map((value) => {\n if (typeof value !== 'string')\n return value\n let start = style\n let end = colorEnd\n if (bold) {\n start = `${TTY_STYLE.BOLD}${start}`\n end = `${end}${TTY_STYLE.BOLD}`\n }\n return `${start}${value}${end}`\n })\n}\n\nfunction shouldUseStack(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_STACK, false)\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseStack: boolean | undefined\n\nexport const loggerStackTraceDebug = 'loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485'\n\nexport function LoggerNodeHandler(opt: LogHandlerOptions = {}): LogHandler {\n if (defaultUseColor == null)\n defaultUseColor = shouldUseColor()\n\n if (defaultUseStack == null)\n defaultUseStack = shouldUseStack()\n\n if (startTime == null)\n startTime = getTimestamp()\n\n const {\n level = undefined,\n filter = undefined,\n colors = defaultUseColor,\n levelHelper = true,\n nameBrackets = true,\n padding = 0,\n fill = 0,\n stack = defaultUseStack,\n time = true,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const timeNow = getTimestamp()\n const name = msg.name || ''\n let ninfo = namespaces[name || '']\n if (ninfo == null) {\n ninfo = {\n color: nodeSelectColorByName(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n const timeDiffString = formatMilliseconds(timeNow - startTime!)\n\n let args: string[]\n\n let displayName = nameBrackets ? `[${name}]` : name\n\n if (padding > 0)\n displayName = displayName.padStart(padding, ' ')\n\n if (fill > 0)\n displayName = displayName.padEnd(fill, ' ')\n\n if (colors) {\n const c = ninfo.color\n args = [`${colorString(displayName, c)} | `] // nameBrackets ? [`%c[${name}]`] : [`%c${name}`]\n if (msg.level === LogLevelWarn)\n args.push(...colorStringList(msg.messages, TTY_STYLE.ORANGE))\n else if (msg.level === LogLevelError)\n args.push(...colorStringList(msg.messages, TTY_STYLE.RED))\n else\n args.push(...msg.messages)\n if (time)\n args.push(colorString(`+${timeDiffString}`, c))\n }\n else {\n args = [displayName, ...msg.messages]\n if (time)\n args.push(`+${timeDiffString}`)\n }\n\n if (msg.messages?.[0] === loggerStackTraceDebug) {\n try {\n // eslint-disable-next-line no-console\n console.log(getStack())\n }\n catch (err) { }\n }\n\n // Probably time consuming\n if (stack) {\n let line = ''\n if (typeof stack === 'boolean') {\n line = getSourceLocationByPrecedingPattern(\n ['at Function.', 'at null.log (', 'at log ('],\n true,\n )\n if (!line)\n line = getSourceLocation(0, true)\n }\n else {\n const depth = typeof stack === 'number' ? stack : 3\n line = getSourceLocation(depth, true)\n }\n if (line)\n args.push(colorString(`(${line})`, COLOR.GRAY))\n }\n\n const sep = '|'\n const charLevel = '.'\n\n switch (msg.level) {\n case LogLevelInfo:\n if (levelHelper)\n args[0] = `I${sep}${charLevel} ${args[0]}`\n log(...args)\n break\n case LogLevelWarn:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`W${sep}${charLevel}${charLevel} `, COLOR.ORANGE)\n : `W${sep}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n case LogLevelError:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`E${sep}${charLevel}${charLevel}${charLevel} `, COLOR.RED)\n : `E${sep}${charLevel}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n default:\n if (levelHelper)\n args[0] = `D${sep} ${args[0]}`\n log(...args)\n break\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-N7BCGFNY.cjs","../src/node/log/log-node.ts"],"names":["colors"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-N7BCGFNY.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport process from 'node:process'\nimport tty from 'node:tty'\nimport { renderMessages, valueToBoolean } from '../../common/data/convert'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { formatMilliseconds, getTimestamp } from '../../common/time'\nimport { getSourceLocation, getSourceLocationByPrecedingPattern, getStack } from './log-util'\n\nfunction shouldUseColor(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_COLOR, tty.isatty(process.stdout.fd))\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseColor: boolean | undefined\n\nconst colors = [6, 2, 3, 4, 5, 1]\n\nfunction nodeSelectColorByName(namespace: string) {\n let hash = 0\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i)\n hash |= 0 // Convert to 32bit integer\n }\n return colors[Math.abs(hash) % colors.length]\n}\n\nconst namespaces: Record<string, any> = {}\n\nlet startTime: number | undefined\n\nfunction log(...args: any[]) {\n process.stdout.write(`${renderMessages(args)}\\n`)\n}\n\n// const _browserStyleMap = {\n// [BOLD]: { \"font-weight\": \"bold\" },\n// [UNBOLD]: { \"font-weight\": \"normal\" },\n// [BLUE]: { color: \"blue\" },\n// [GREEN]: { color: \"green\" },\n// [GREY]: { color: \"grey\" },\n// [RED]: { color: \"red\" },\n// [PURPLE]: { color: \"purple\" },\n// [ORANGE]: { color: \"orange\" },\n// [UNCOLOR]: { color: \"black\" },\n// }\n\nconst TTY_STYLE = {\n BOLD: '\\u001B[1m',\n UNBOLD: '\\u001B[2m',\n RED: '\\u001B[31m',\n GREEN: '\\u001B[32m',\n BLUE: '\\u001B[34m',\n PURPLE: '\\u001B[35m',\n GRAY: '\\u001B[37m',\n ORANGE: '\\u001B[38;5;208m',\n UNCOLOR: '\\u001B[0m',\n}\n\nenum COLOR {\n RED = 1,\n GREEN = 2,\n BLUE = 4,\n PURPLE = 5,\n GRAY = 7,\n ORANGE = 8,\n}\n\nconst colorEnd = '\\u001B[0m'\n\nexport function colorString(text: string, colorCode: number) {\n const colorStart = colorCode === COLOR.ORANGE\n ? TTY_STYLE.ORANGE\n : `\\u001B[3${colorCode < 8 ? colorCode : `8;5;${colorCode}`}m`\n return `${colorStart}${text}${colorEnd}`\n}\n\nexport function colorStringList(\n list: Array<any>,\n style: string,\n bold = true,\n) {\n return list.map((value) => {\n if (typeof value !== 'string')\n return value\n let start = style\n let end = colorEnd\n if (bold) {\n start = `${TTY_STYLE.BOLD}${start}`\n end = `${end}${TTY_STYLE.BOLD}`\n }\n return `${start}${value}${end}`\n })\n}\n\nfunction shouldUseStack(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_STACK, false)\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseStack: boolean | undefined\n\nexport const loggerStackTraceDebug = 'loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485'\n\nexport function LoggerNodeHandler(opt: LogHandlerOptions = {}): LogHandler {\n if (defaultUseColor == null)\n defaultUseColor = shouldUseColor()\n\n if (defaultUseStack == null)\n defaultUseStack = shouldUseStack()\n\n if (startTime == null)\n startTime = getTimestamp()\n\n const {\n level = undefined,\n filter = undefined,\n colors = defaultUseColor,\n levelHelper = true,\n nameBrackets = true,\n padding = 0,\n fill = 0,\n stack = defaultUseStack,\n time = true,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const timeNow = getTimestamp()\n const name = msg.name || ''\n let ninfo = namespaces[name || '']\n if (ninfo == null) {\n ninfo = {\n color: nodeSelectColorByName(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n const timeDiffString = formatMilliseconds(timeNow - startTime!)\n\n let args: string[]\n\n let displayName = nameBrackets ? `[${name}]` : name\n\n if (padding > 0)\n displayName = displayName.padStart(padding, ' ')\n\n if (fill > 0)\n displayName = displayName.padEnd(fill, ' ')\n\n if (colors) {\n const c = ninfo.color\n args = [`${colorString(displayName, c)} | `] // nameBrackets ? [`%c[${name}]`] : [`%c${name}`]\n if (msg.level === LogLevelWarn)\n args.push(...colorStringList(msg.messages, TTY_STYLE.ORANGE))\n else if (msg.level === LogLevelError)\n args.push(...colorStringList(msg.messages, TTY_STYLE.RED))\n else\n args.push(...msg.messages)\n if (time)\n args.push(colorString(`+${timeDiffString}`, c))\n }\n else {\n args = [displayName, ...msg.messages]\n if (time)\n args.push(`+${timeDiffString}`)\n }\n\n if (msg.messages?.[0] === loggerStackTraceDebug) {\n try {\n // eslint-disable-next-line no-console\n console.log(getStack())\n }\n catch (err) { }\n }\n\n // Probably time consuming\n if (stack) {\n let line = ''\n if (typeof stack === 'boolean') {\n line = getSourceLocationByPrecedingPattern(\n ['at Function.', 'at null.log (', 'at log ('],\n true,\n )\n if (!line)\n line = getSourceLocation(0, true)\n }\n else {\n const depth = typeof stack === 'number' ? stack : 3\n line = getSourceLocation(depth, true)\n }\n if (line)\n args.push(colorString(`(${line})`, COLOR.GRAY))\n }\n\n const sep = '|'\n const charLevel = '.'\n\n switch (msg.level) {\n case LogLevelInfo:\n if (levelHelper)\n args[0] = `I${sep}${charLevel} ${args[0]}`\n log(...args)\n break\n case LogLevelWarn:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`W${sep}${charLevel}${charLevel} `, COLOR.ORANGE)\n : `W${sep}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n case LogLevelError:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`E${sep}${charLevel}${charLevel}${charLevel} `, COLOR.RED)\n : `E${sep}${charLevel}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n default:\n if (levelHelper)\n args[0] = `D${sep} ${args[0]}`\n log(...args)\n break\n }\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  var _chunk2P6TEB5Mcjs = require('./chunk-2P6TEB5M.cjs');
4
4
 
5
5
 
6
- var _chunkGRFP6IKEcjs = require('./chunk-GRFP6IKE.cjs');
6
+ var _chunkB5PIG6YLcjs = require('./chunk-B5PIG6YL.cjs');
7
7
 
8
8
 
9
9
 
@@ -85,7 +85,7 @@ function useMessageHub(opt = {}) {
85
85
  if (id)
86
86
  await postMessage({ id, result: result2 });
87
87
  } catch (error2) {
88
- const err = error2 instanceof Error ? error2 : new Error(_chunkGRFP6IKEcjs.valueToString.call(void 0, error2));
88
+ const err = error2 instanceof Error ? error2 : new Error(_chunkB5PIG6YLcjs.valueToString.call(void 0, error2));
89
89
  log.warn("execution error", err.name);
90
90
  await postMessage({
91
91
  id,
@@ -162,4 +162,4 @@ function useMessageHub(opt = {}) {
162
162
 
163
163
 
164
164
  exports.createPromiseProxy = createPromiseProxy; exports.useMessageHub = useMessageHub;
165
- //# sourceMappingURL=chunk-LT2F6LQX.cjs.map
165
+ //# sourceMappingURL=chunk-ODTID2TC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-LT2F6LQX.cjs","../src/common/msg/messages.ts"],"names":["name","result","error","opt"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-LT2F6LQX.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err\n = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ODTID2TC.cjs","../src/common/msg/messages.ts"],"names":["name","result","error","opt"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACgCO,SAAS,kBAAA,CAAqC,EAAA,EAA+D,GAAA,EAAsB,kBAAA,EAAyB,CAAC,CAAA,EAAM;AACxK,EAAA,OAAO,IAAI,KAAA,CAAS,iBAAA,EAAmB;AAAA,IACrC,GAAA,EAAK,CAAC,MAAA,EAAa,IAAA,EAAA,GAAc;AAC/B,MAAA,GAAA,CAAI,KAAA,GAAQ,MAAA;AACV,QAAA,OAAO,MAAA,CAAO,IAAI,CAAA;AACpB,MAAA,OAAO,CAAA,GAAI,IAAA,EAAA,GAAmB,EAAA,CAAG,IAAA,EAAM,IAAA,EAAM,GAAG,CAAA;AAAA,IAClD;AAAA,EACF,CAAC,CAAA;AACH;AAUO,SAAS,aAAA,CACd,IAAA,EAQI,CAAC,CAAA,EACO;AACZ,EAAA,MAAM;AAAA,IACJ,KAAA,EAAO,qCAAA,KAAW,CAAA;AAAA,IAClB,QAAA,EAAU,IAAI,kCAAA,CAAY,CAAA;AAAA,IAC1B,WAAA,EAAa,GAAA;AAAA,IACb,gBAAA,EAAkB,IAAA;AAAA,IAClB,SAAA,EAAW;AAAA,EACb,EAAA,EAAI,GAAA;AAEJ,EAAA,MAAM,IAAA,EAAM,6CAAA,IAAc,EAAM,QAAQ,CAAA;AAExC,EAAA,MAAM,SAAA,EAAW,CAAC,CAAA;AAClB,EAAA,IAAI,OAAA;AACJ,EAAA,MAAM,MAAA,EAAmB,CAAC,CAAA;AAC1B,EAAA,IAAI,eAAA;AACJ,EAAA,MAAM,mBAAA,EAGD,CAAC,CAAA;AAEN,EAAA,MAAM,QAAA,EAAU,CAAA,EAAA,GAAM;AACpB,IAAA,YAAA,CAAa,eAAe,CAAA;AAAA,EAC9B,CAAA;AAEA,EAAA,MAAM,SAAA,EAAW,MAAA,CAAA,EAAA,GAAY;AAC3B,IAAA,YAAA,CAAa,eAAe,CAAA;AAC5B,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,GAAA,CAAI,OAAA,CAAQ,WAAA,EAAa;AACvB,QAAA,MAAA,CAAO,KAAA,CAAM,MAAA,EAAQ;AACnB,UAAA,MAAM,QAAA,EAAU,KAAA,CAAM,CAAC,CAAA;AACvB,UAAA,IAAI;AACF,YAAA,OAAA,CAAQ,WAAA,CAAY,MAAM,OAAA,CAAQ,MAAA,CAAO,OAAO,CAAC,CAAA;AACjD,YAAA,KAAA,CAAM,KAAA,CAAM,CAAA;AAAA,UACd,EAAA,MAAA,CACO,GAAA,EAAK;AACV,YAAA,GAAA,CAAI,IAAA,CAAK,aAAA,EAAe,GAAG,CAAA;AAC3B,YAAA,KAAA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,MAAA,GAAA,CAAI,KAAA,CAAM,OAAA,EAAS,EAAA,GAAK,WAAA,EAAa,CAAA;AACnC,QAAA,gBAAA,EAAkB,UAAA,CAAW,QAAA,EAAU,UAAU,CAAA;AAAA,IACrD;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,YAAA,EAAc,MAAA,CAAO,OAAA,EAAA,GAAqB;AAC9C,IAAA,GAAA,CAAI,qBAAA,EAAuB,OAAO,CAAA;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,OAAO,CAAA;AAClB,IAAA,MAAM,QAAA,CAAS,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,MAAA,CAAO,UAAA,EAAA,GAAwB;AAC7C,IAAA,QAAA,EAAU,UAAA;AAEV,IAAA,OAAA,CAAQ,EAAA,CAAG,SAAA,EAAW,QAAQ,CAAA;AAE9B,IAAA,OAAA,CAAQ,EAAA,CAAG,SAAA,EAAW,MAAA,CAAO,GAAA,EAAA,GAAa;AACxC,MAAA,GAAA,CAAI,WAAA,EAAa,OAAO,GAAG,CAAA;AAC3B,MAAA,MAAM,EAAE,IAAA,EAAAA,KAAAA,EAAM,IAAA,EAAM,EAAA,EAAI,MAAA,EAAQ,MAAM,EAAA,EAAI,MAAM,OAAA,CAAQ,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AAGvE,MAAA,GAAA,CAAIA,KAAAA,EAAM;AACR,QAAA,GAAA,CAAI,CAAA,KAAA,EAAQA,KAAI,CAAA,IAAA,EAAO,EAAE,CAAA,CAAA;AACrB,QAAA;AAEoB,UAAA;AACJ,YAAA;AAGIA,UAAAA;AACF,UAAA;AACHC,YAAAA;AACK,UAAA;AAClB,UAAA;AACkB,YAAA;AAEV,QAAA;AAERC,UAAAA;AACK,UAAA;AACS,UAAA;AAChB,YAAA;AACO,YAAA;AACQ,cAAA;AACF,cAAA;AACD,cAAA;AACZ,YAAA;AACD,UAAA;AACH,QAAA;AAIW,MAAA;AACc,QAAA;AACA,QAAA;AACR,UAAA;AACT,YAAA;AAAyB,UAAA;AAEpB,YAAA;AAER,QAAA;AACmB,UAAA;AACC,UAAA;AACd,YAAA;AACI,YAAA;AACO,cAAA;AACE,cAAA;AACD,cAAA;AACE,cAAA;AACT,cAAA;AAEP,YAAA;AACkB,cAAA;AACP,cAAA;AAChB,YAAA;AACF,UAAA;AACF,QAAA;AAIyB,MAAA;AAChB,QAAA;AACX,MAAA;AACD,IAAA;AAEc,IAAA;AACjB,EAAA;AAGEF,EAAAA;AAI2BG,IAAAA;AACX,IAAA;AACE,IAAA;AAChBH,MAAAA;AACA,MAAA;AACA,MAAA;AACD,IAAA;AACM,IAAA;AACD,MAAA;AACoB,QAAA;AACxB,MAAA;AACA,MAAA;AACF,IAAA;AACF,EAAA;AAEQ,EAAA;AACkB,IAAA;AAEnB,EAAA;AACL,IAAA;AAEA,IAAA;AACyC,IAAA;AACf,MAAA;AAC1B,IAAA;AACyB,IAAA;AAEM,MAAA;AACU,QAAA;AAC5B,UAAA;AACT,QAAA;AAC4B,MAAA;AAChC,IAAA;AACF,EAAA;AACF;ADtFmC;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-ODTID2TC.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err\n = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ objectPlain
3
+ } from "./chunk-NEFIJY6U.js";
1
4
  import {
2
5
  Uint8ArrayToHexDump
3
6
  } from "./chunk-MTV32UFZ.js";
@@ -80,6 +83,7 @@ ${Uint8ArrayToHexDump(obj)}
80
83
  ${obj.stack}`;
81
84
  }
82
85
  try {
86
+ obj = objectPlain(obj);
83
87
  return pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj);
84
88
  } catch (err) {
85
89
  }
@@ -115,4 +119,4 @@ export {
115
119
  renderMessages,
116
120
  fixBrokenUtf8String
117
121
  };
118
- //# sourceMappingURL=chunk-KGHBDTFF.js.map
122
+ //# sourceMappingURL=chunk-QGUPJAJO.js.map