zeed 1.2.2 → 1.2.4

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 (117) hide show
  1. package/dist/{chunk-KRU5U2S2.cjs → chunk-344WNUEK.cjs} +2 -2
  2. package/dist/{chunk-KRU5U2S2.cjs.map → chunk-344WNUEK.cjs.map} +1 -1
  3. package/dist/{chunk-IBIOKHOV.js → chunk-BPPN3ZNV.js} +2 -2
  4. package/dist/{chunk-4JBF6UXZ.cjs → chunk-CLMIDN5Q.cjs} +2 -2
  5. package/dist/{chunk-4JBF6UXZ.cjs.map → chunk-CLMIDN5Q.cjs.map} +1 -1
  6. package/dist/{chunk-AH3LPY2A.js → chunk-DBXJFUZ7.js} +2 -2
  7. package/dist/{chunk-5BA3O5XZ.cjs → chunk-GARQAHQE.cjs} +2 -2
  8. package/dist/{chunk-5BA3O5XZ.cjs.map → chunk-GARQAHQE.cjs.map} +1 -1
  9. package/dist/{chunk-GOLLLFWP.js → chunk-IBGLNGGT.js} +2 -2
  10. package/dist/{chunk-IXI4CRVY.cjs → chunk-K4IRAHZV.cjs} +2 -2
  11. package/dist/{chunk-IXI4CRVY.cjs.map → chunk-K4IRAHZV.cjs.map} +1 -1
  12. package/dist/{chunk-QVSYH6KK.js → chunk-KWFFSQMW.js} +2 -2
  13. package/dist/{chunk-MABONJOS.cjs → chunk-LG7UXZKN.cjs} +2 -2
  14. package/dist/{chunk-MABONJOS.cjs.map → chunk-LG7UXZKN.cjs.map} +1 -1
  15. package/dist/chunk-LONV4KUS.cjs +2 -0
  16. package/dist/{chunk-KHK37DTS.cjs.map → chunk-LONV4KUS.cjs.map} +1 -1
  17. package/dist/{chunk-AWH6SPNF.js → chunk-MV2F4DQ6.js} +2 -2
  18. package/dist/{chunk-ZMYA5QAV.cjs → chunk-RMTW3TW2.cjs} +2 -2
  19. package/dist/{chunk-ZMYA5QAV.cjs.map → chunk-RMTW3TW2.cjs.map} +1 -1
  20. package/dist/{chunk-TI3COOG4.js → chunk-UAU7GDLR.js} +2 -2
  21. package/dist/{chunk-IMM23TO5.cjs → chunk-V3A7ZIGT.cjs} +2 -2
  22. package/dist/{chunk-IMM23TO5.cjs.map → chunk-V3A7ZIGT.cjs.map} +1 -1
  23. package/dist/{chunk-LTEGKVQQ.js → chunk-W4M6PGBQ.js} +2 -2
  24. package/dist/{chunk-4X7UJTXJ.js → chunk-WH4WW45N.js} +2 -2
  25. package/dist/{chunk-L5OF6DSH.cjs → chunk-XAU2ICXA.cjs} +2 -2
  26. package/dist/{chunk-L5OF6DSH.cjs.map → chunk-XAU2ICXA.cjs.map} +1 -1
  27. package/dist/chunk-YEP2NVSS.js +2 -0
  28. package/dist/chunk-YEP2NVSS.js.map +1 -0
  29. package/dist/common/bin/index.cjs +1 -1
  30. package/dist/common/bin/index.js +1 -1
  31. package/dist/common/bin/lib0/buffer.cjs +1 -1
  32. package/dist/common/bin/lib0/buffer.cjs.map +1 -1
  33. package/dist/common/bin/lib0/buffer.js +1 -1
  34. package/dist/common/data/datauri.cjs +1 -1
  35. package/dist/common/data/datauri.js +1 -1
  36. package/dist/common/data/day-legacy.cjs +1 -1
  37. package/dist/common/data/day-legacy.js +1 -1
  38. package/dist/common/data/day.cjs +1 -1
  39. package/dist/common/data/day.cjs.map +1 -1
  40. package/dist/common/data/day.d.cts +19 -1
  41. package/dist/common/data/day.d.ts +19 -1
  42. package/dist/common/data/day.js +1 -1
  43. package/dist/common/data/index.cjs +1 -1
  44. package/dist/common/data/index.cjs.map +1 -1
  45. package/dist/common/data/index.d.cts +1 -1
  46. package/dist/common/data/index.d.ts +1 -1
  47. package/dist/common/data/index.js +1 -1
  48. package/dist/common/index.cjs +1 -1
  49. package/dist/common/index.cjs.map +1 -1
  50. package/dist/common/index.d.cts +1 -1
  51. package/dist/common/index.d.ts +1 -1
  52. package/dist/common/index.js +1 -1
  53. package/dist/common/log/index.cjs +1 -1
  54. package/dist/common/log/index.cjs.map +1 -1
  55. package/dist/common/log/index.js +1 -1
  56. package/dist/common/msg/channel-wkwebview.cjs +1 -1
  57. package/dist/common/msg/channel-wkwebview.cjs.map +1 -1
  58. package/dist/common/msg/channel-wkwebview.js +1 -1
  59. package/dist/common/msg/index.cjs +1 -1
  60. package/dist/common/msg/index.cjs.map +1 -1
  61. package/dist/common/msg/index.js +1 -1
  62. package/dist/common/schema/export-json-schema.cjs +1 -1
  63. package/dist/common/schema/export-json-schema.js +1 -1
  64. package/dist/common/schema/export-swift.cjs +1 -1
  65. package/dist/common/schema/export-swift.js +1 -1
  66. package/dist/common/schema/index.cjs +1 -1
  67. package/dist/common/schema/index.cjs.map +1 -1
  68. package/dist/common/schema/index.js +1 -1
  69. package/dist/common/schema/parse-args.cjs +1 -1
  70. package/dist/common/schema/parse-args.js +1 -1
  71. package/dist/common/schema/parse-env.cjs +1 -1
  72. package/dist/common/schema/parse-env.js +1 -1
  73. package/dist/common/schema/parse-object.cjs +1 -1
  74. package/dist/common/schema/parse-object.js +1 -1
  75. package/dist/common/test.cjs +1 -1
  76. package/dist/common/test.js +1 -1
  77. package/dist/index.all.cjs +1 -1
  78. package/dist/index.all.cjs.map +1 -1
  79. package/dist/index.all.d.cts +1 -1
  80. package/dist/index.all.d.ts +1 -1
  81. package/dist/index.all.js +1 -1
  82. package/dist/index.browser.cjs +1 -1
  83. package/dist/index.browser.cjs.map +1 -1
  84. package/dist/index.browser.d.cts +1 -1
  85. package/dist/index.browser.d.ts +1 -1
  86. package/dist/index.browser.js +1 -1
  87. package/dist/index.node.cjs +1 -1
  88. package/dist/index.node.cjs.map +1 -1
  89. package/dist/index.node.d.cts +1 -1
  90. package/dist/index.node.d.ts +1 -1
  91. package/dist/index.node.js +1 -1
  92. package/dist/node/index.cjs +1 -1
  93. package/dist/node/index.cjs.map +1 -1
  94. package/dist/node/index.js +1 -1
  95. package/dist/node/log/index.cjs +1 -1
  96. package/dist/node/log/index.cjs.map +1 -1
  97. package/dist/node/log/index.js +1 -1
  98. package/dist/node/log/log-context-node.cjs +1 -1
  99. package/dist/node/log/log-context-node.js +1 -1
  100. package/dist/node/log/log-file-rotation.cjs +1 -1
  101. package/dist/node/log/log-file-rotation.js +1 -1
  102. package/dist/node/log/log-file.cjs +1 -1
  103. package/dist/node/log/log-file.js +1 -1
  104. package/package.json +22 -19
  105. package/src/common/data/day.spec.ts +20 -1
  106. package/src/common/data/day.ts +44 -0
  107. package/dist/chunk-KHK37DTS.cjs +0 -2
  108. package/dist/chunk-TSNDVQHW.js +0 -2
  109. package/dist/chunk-TSNDVQHW.js.map +0 -1
  110. /package/dist/{chunk-IBIOKHOV.js.map → chunk-BPPN3ZNV.js.map} +0 -0
  111. /package/dist/{chunk-AH3LPY2A.js.map → chunk-DBXJFUZ7.js.map} +0 -0
  112. /package/dist/{chunk-GOLLLFWP.js.map → chunk-IBGLNGGT.js.map} +0 -0
  113. /package/dist/{chunk-QVSYH6KK.js.map → chunk-KWFFSQMW.js.map} +0 -0
  114. /package/dist/{chunk-AWH6SPNF.js.map → chunk-MV2F4DQ6.js.map} +0 -0
  115. /package/dist/{chunk-TI3COOG4.js.map → chunk-UAU7GDLR.js.map} +0 -0
  116. /package/dist/{chunk-LTEGKVQQ.js.map → chunk-W4M6PGBQ.js.map} +0 -0
  117. /package/dist/{chunk-4X7UJTXJ.js.map → chunk-WH4WW45N.js.map} +0 -0
@@ -1,2 +1,2 @@
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(); } }var _chunkL5OF6DSHcjs = require('./chunk-L5OF6DSH.cjs');var _chunk3ZBLU4D6cjs = require('./chunk-3ZBLU4D6.cjs');var _chunkSHOLGUSOcjs = require('./chunk-SHOLGUSO.cjs');var _chunkIA2OMOCBcjs = require('./chunk-IA2OMOCB.cjs');var _chunkGFMSFYKEcjs = require('./chunk-GFMSFYKE.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkVX3R7DUJcjs = require('./chunk-VX3R7DUJ.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var _process = require('process'); var _process2 = _interopRequireDefault(_process);function T(e,r){return _chunkVX3R7DUJcjs.a.call(void 0, t=>{let i=[_chunk3ZBLU4D6cjs.d.call(void 0, {padding:32,nameBrackets:!1})],m=_nullishCoalesce(_process2.default.env.ZEED_LOG, () => (_process2.default.env.LOG)),c=_chunk3P4XRJ23cjs.f.call(void 0, _process2.default.env.ZEED_TIME,!0),E=_chunk3P4XRJ23cjs.f.call(void 0, _process2.default.env.ZEED_PRETTY,!1),v=_chunkSHOLGUSOcjs.a.call(void 0, _process2.default.env.ZEED_ROTATE);m&&i.unshift(_chunkL5OF6DSHcjs.a.call(void 0, _chunkIA2OMOCBcjs.e.call(void 0, m),{time:c,pretty:E,rotation:v})),t.setHandlers(i)})(e,r)}_chunkP7XCQ7WVcjs.a.call(void 0, T,"Logger");function F(e,r,t){return _chunkGFMSFYKEcjs.a.call(void 0, T,e,r,t)}_chunkP7XCQ7WVcjs.a.call(void 0, F,"LoggerFromConfig");exports.a = T; exports.b = F;
2
- //# sourceMappingURL=chunk-KRU5U2S2.cjs.map
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(); } }var _chunkXAU2ICXAcjs = require('./chunk-XAU2ICXA.cjs');var _chunkSHOLGUSOcjs = require('./chunk-SHOLGUSO.cjs');var _chunk3ZBLU4D6cjs = require('./chunk-3ZBLU4D6.cjs');var _chunkIA2OMOCBcjs = require('./chunk-IA2OMOCB.cjs');var _chunkGFMSFYKEcjs = require('./chunk-GFMSFYKE.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkVX3R7DUJcjs = require('./chunk-VX3R7DUJ.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var _process = require('process'); var _process2 = _interopRequireDefault(_process);function T(e,r){return _chunkVX3R7DUJcjs.a.call(void 0, t=>{let i=[_chunk3ZBLU4D6cjs.d.call(void 0, {padding:32,nameBrackets:!1})],m=_nullishCoalesce(_process2.default.env.ZEED_LOG, () => (_process2.default.env.LOG)),c=_chunk3P4XRJ23cjs.f.call(void 0, _process2.default.env.ZEED_TIME,!0),E=_chunk3P4XRJ23cjs.f.call(void 0, _process2.default.env.ZEED_PRETTY,!1),v=_chunkSHOLGUSOcjs.a.call(void 0, _process2.default.env.ZEED_ROTATE);m&&i.unshift(_chunkXAU2ICXAcjs.a.call(void 0, _chunkIA2OMOCBcjs.e.call(void 0, m),{time:c,pretty:E,rotation:v})),t.setHandlers(i)})(e,r)}_chunkP7XCQ7WVcjs.a.call(void 0, T,"Logger");function F(e,r,t){return _chunkGFMSFYKEcjs.a.call(void 0, T,e,r,t)}_chunkP7XCQ7WVcjs.a.call(void 0, F,"LoggerFromConfig");exports.a = T; exports.b = F;
2
+ //# sourceMappingURL=chunk-344WNUEK.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-KRU5U2S2.cjs","../src/node/log/log-context-node.ts"],"names":["Logger","name","level","getGlobalLogger","context","handlers","LoggerNodeHandler","logFilePath","process","time","valueToBoolean","pretty","rotation","parseLogRotationConfigEnv","LoggerFileHandler","toPath","__name","LoggerFromConfig","config","_LoggerFromConfig"],"mappings":"AAAA,qUAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,wDAAyC,wDAAyC,wDAAyC,oFCE9S,SASJA,CAAAA,CAAOC,CAAAA,CAAeC,CAAAA,CAA4C,CAChF,OAAOC,iCAAAA,CAAiBC,EAAY,CAClC,IAAMC,CAAAA,CAAW,CACfC,iCAAAA,CACE,OAAA,CAAS,EAAA,CACT,YAAA,CAAc,CAAA,CAEhB,CAAC,CACH,CAAA,CAEMC,CAAAA,kBAAcC,iBAAAA,CAAQ,GAAA,CAAI,QAAA,SAAYA,iBAAAA,CAAQ,GAAA,CAAI,KAAA,CAClDC,CAAAA,CAAOC,iCAAAA,iBAAeF,CAAQ,GAAA,CAAI,SAAA,CAAW,CAAA,CAAI,CAAA,CACjDG,CAAAA,CAASD,iCAAAA,iBAAeF,CAAQ,GAAA,CAAI,WAAA,CAAa,CAAA,CAAK,CAAA,CACtDI,CAAAA,CAAWC,iCAAAA,iBAA0BL,CAAQ,GAAA,CAAI,WAAW,CAAA,CAC9DD,CAAAA,EACFF,CAAAA,CAAS,OAAA,CAAQS,iCAAAA,iCAAkBC,CAAkB,CAAA,CAAG,CAAE,IAAA,CAAAN,CAAAA,CAAM,MAAA,CAAAE,CAAAA,CAAQ,QAAA,CAAAC,CAAS,CAAC,CAAC,CAAA,CAErFR,CAAAA,CAAQ,WAAA,CAAYC,CAAQ,CAC9B,CAAC,CAAA,CAAEJ,CAAAA,CAAMC,CAAK,CAChB,CAnBgBc,iCAAAA,CAAAhB,CAAA,QAAA,CAAA,CAsBT,SAASiB,CAAAA,CAAiBC,CAAAA,CAAmBjB,CAAAA,CAAcC,CAAAA,CAA4C,CAC5G,OAAOiB,iCAAAA,CAAkBnB,CAAQkB,CAAAA,CAAQjB,CAAAA,CAAMC,CAAK,CACtD,CAFgBc,iCAAAA,CAAAC,CAAA,kBAAA,CAAA,CAAA,6BAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-KRU5U2S2.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 { parseLogRotationConfigEnv } from './log-file-rotation'\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 const rotation = parseLogRotationConfigEnv(process.env.ZEED_ROTATE)\n if (logFilePath)\n handlers.unshift(LoggerFileHandler(toPath(logFilePath), { time, pretty, rotation }))\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":["/Users/dirk/work/github-zeed/dist/chunk-344WNUEK.cjs","../src/node/log/log-context-node.ts"],"names":["Logger","name","level","getGlobalLogger","context","handlers","LoggerNodeHandler","logFilePath","process","time","valueToBoolean","pretty","rotation","parseLogRotationConfigEnv","LoggerFileHandler","toPath","__name","LoggerFromConfig","config","_LoggerFromConfig"],"mappings":"AAAA,qUAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,wDAAyC,wDAAyC,wDAAyC,oFCE9S,SASJA,CAAAA,CAAOC,CAAAA,CAAeC,CAAAA,CAA4C,CAChF,OAAOC,iCAAAA,CAAiBC,EAAY,CAClC,IAAMC,CAAAA,CAAW,CACfC,iCAAAA,CACE,OAAA,CAAS,EAAA,CACT,YAAA,CAAc,CAAA,CAEhB,CAAC,CACH,CAAA,CAEMC,CAAAA,kBAAcC,iBAAAA,CAAQ,GAAA,CAAI,QAAA,SAAYA,iBAAAA,CAAQ,GAAA,CAAI,KAAA,CAClDC,CAAAA,CAAOC,iCAAAA,iBAAeF,CAAQ,GAAA,CAAI,SAAA,CAAW,CAAA,CAAI,CAAA,CACjDG,CAAAA,CAASD,iCAAAA,iBAAeF,CAAQ,GAAA,CAAI,WAAA,CAAa,CAAA,CAAK,CAAA,CACtDI,CAAAA,CAAWC,iCAAAA,iBAA0BL,CAAQ,GAAA,CAAI,WAAW,CAAA,CAC9DD,CAAAA,EACFF,CAAAA,CAAS,OAAA,CAAQS,iCAAAA,iCAAkBC,CAAkB,CAAA,CAAG,CAAE,IAAA,CAAAN,CAAAA,CAAM,MAAA,CAAAE,CAAAA,CAAQ,QAAA,CAAAC,CAAS,CAAC,CAAC,CAAA,CAErFR,CAAAA,CAAQ,WAAA,CAAYC,CAAQ,CAC9B,CAAC,CAAA,CAAEJ,CAAAA,CAAMC,CAAK,CAChB,CAnBgBc,iCAAAA,CAAAhB,CAAA,QAAA,CAAA,CAsBT,SAASiB,CAAAA,CAAiBC,CAAAA,CAAmBjB,CAAAA,CAAcC,CAAAA,CAA4C,CAC5G,OAAOiB,iCAAAA,CAAkBnB,CAAQkB,CAAAA,CAAQjB,CAAAA,CAAMC,CAAK,CACtD,CAFgBc,iCAAAA,CAAAC,CAAA,kBAAA,CAAA,CAAA,6BAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-344WNUEK.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 { parseLogRotationConfigEnv } from './log-file-rotation'\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 const rotation = parseLogRotationConfigEnv(process.env.ZEED_ROTATE)\n if (logFilePath)\n handlers.unshift(LoggerFileHandler(toPath(logFilePath), { time, pretty, rotation }))\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,3 +1,3 @@
1
- import{e as y}from"./chunk-GAJVPW4Z.js";import{c as d}from"./chunk-SSKDGT5N.js";import{a as c}from"./chunk-CU3XJDAD.js";import{h as T}from"./chunk-WFBD5UN5.js";import{a as i,d as u}from"./chunk-LXMVVR3R.js";import{b as f}from"./chunk-UVILAVID.js";import{a as m}from"./chunk-5NKC2EQJ.js";function A(o,l=process?.argv??{}){f(y(o),"schema should be a flat object");let p={},t=[];c(o._object,(r,e)=>{e._meta?.argShort&&(p[i(e._meta.argShort)]=i(r)),e.type==="boolean"&&t.push(i(r))});let a=[...l],s,b=[],g={};for(;s=a.shift();){let r;if(/^--?/.test(s)){let e=s.replace(/^--?/,"");if(s.includes("=")){let[n,h]=e.split("=",2);e=n.trim(),r=h.trim()}e=i(e),e=p[e]??e,t.includes(e)?g[e]=!0:(r=r??a.shift()??"",g[e]=r)}else b.push(s)}return[c(o._object,(r,e)=>{let n=g[i(r)];return e.type==="number"&&n!=null&&(n=T(n)),d(e,n)}),b]}m(A,"parseSchemaArgs");function O(o){f(y(o),"schema should be a flat object");let l=[];return c(o._object,(p,t)=>{let a=`--${u(p)}`;t._meta?.argShort&&(a+=`, -${u(t._meta.argShort)}`),t.type!=="boolean"&&(a+=`=${t.type}`),l.push(a);let s=t._meta?.argDesc??t._meta?.desc;s&&l.push(` ${s}`)}),l.join(`
1
+ import{c as d}from"./chunk-SSKDGT5N.js";import{e as y}from"./chunk-GAJVPW4Z.js";import{a as c}from"./chunk-CU3XJDAD.js";import{h as T}from"./chunk-WFBD5UN5.js";import{a as i,d as u}from"./chunk-LXMVVR3R.js";import{b as f}from"./chunk-UVILAVID.js";import{a as m}from"./chunk-5NKC2EQJ.js";function A(o,l=process?.argv??{}){f(y(o),"schema should be a flat object");let p={},t=[];c(o._object,(r,e)=>{e._meta?.argShort&&(p[i(e._meta.argShort)]=i(r)),e.type==="boolean"&&t.push(i(r))});let a=[...l],s,b=[],g={};for(;s=a.shift();){let r;if(/^--?/.test(s)){let e=s.replace(/^--?/,"");if(s.includes("=")){let[n,h]=e.split("=",2);e=n.trim(),r=h.trim()}e=i(e),e=p[e]??e,t.includes(e)?g[e]=!0:(r=r??a.shift()??"",g[e]=r)}else b.push(s)}return[c(o._object,(r,e)=>{let n=g[i(r)];return e.type==="number"&&n!=null&&(n=T(n)),d(e,n)}),b]}m(A,"parseSchemaArgs");function O(o){f(y(o),"schema should be a flat object");let l=[];return c(o._object,(p,t)=>{let a=`--${u(p)}`;t._meta?.argShort&&(a+=`, -${u(t._meta.argShort)}`),t.type!=="boolean"&&(a+=`=${t.type}`),l.push(a);let s=t._meta?.argDesc??t._meta?.desc;s&&l.push(` ${s}`)}),l.join(`
2
2
  `)}m(O,"helpSchemaArgs");export{A as a,O as b};
3
- //# sourceMappingURL=chunk-IBIOKHOV.js.map
3
+ //# sourceMappingURL=chunk-BPPN3ZNV.js.map
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkWSRQ3X55cjs = require('./chunk-WSRQ3X55.cjs');var _chunkPU67BXVPcjs = require('./chunk-PU67BXVP.cjs');var _chunkBQ66KUDGcjs = require('./chunk-BQ66KUDG.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkXH7UHZOFcjs = require('./chunk-XH7UHZOF.cjs');var _chunkZBG4FI7Ecjs = require('./chunk-ZBG4FI7E.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function P(o,p){_chunkZBG4FI7Ecjs.b.call(void 0, _optionalChain([o, 'optionalAccess', _2 => _2._object]),"schema should be of type object"),_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let{env:i=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _3 => _3.env]), () => ({})),prefix:s="",prefixOptional:r=!1}=_nullishCoalesce(p, () => ({})),c=s.length,n=_nullishCoalesce(_optionalChain([p, 'optionalAccess', _4 => _4.existing]), () => ({}));return _chunkBQ66KUDGcjs.a.call(void 0, o._object,(a,t)=>{let T=_nullishCoalesce(n[a], () => (t._default));if(_optionalChain([t, 'access', _5 => _5._meta, 'optionalAccess', _6 => _6.envSkip]))return T;let x=_chunkXH7UHZOFcjs.d.call(void 0, a,"_").toUpperCase(),b=s+_chunkXH7UHZOFcjs.d.call(void 0, a,"_").toUpperCase(),e=i[x];return c>0&&(r===!0?e=_nullishCoalesce(i[b], () => (e)):e=i[b]),e===void 0?T:(t.type==="number"?e=_chunk3P4XRJ23cjs.h.call(void 0, e,t._default):t.type==="boolean"&&(t._default===!0?e=_chunk3P4XRJ23cjs.g.call(void 0, e):e=_chunk3P4XRJ23cjs.f.call(void 0, e,!1)),_chunkPU67BXVPcjs.c.call(void 0, t,e))})}_chunkP7XCQ7WVcjs.a.call(void 0, P,"parseSchemaEnv");function $(o,p="",i=!1,s=!1){_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let r=[];return _chunkBQ66KUDGcjs.a.call(void 0, o._object,(c,n)=>{if((_optionalChain([n, 'access', _7 => _7._meta, 'optionalAccess', _8 => _8.envPrivate])||_optionalChain([n, 'access', _9 => _9._meta, 'optionalAccess', _10 => _10.envSkip]))&&!s)return;let a=_nullishCoalesce(_optionalChain([n, 'access', _11 => _11._meta, 'optionalAccess', _12 => _12.envDesc]), () => (_optionalChain([n, 'access', _13 => _13._meta, 'optionalAccess', _14 => _14.desc])));a&&a.trim().split(`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPU67BXVPcjs = require('./chunk-PU67BXVP.cjs');var _chunkWSRQ3X55cjs = require('./chunk-WSRQ3X55.cjs');var _chunkBQ66KUDGcjs = require('./chunk-BQ66KUDG.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkXH7UHZOFcjs = require('./chunk-XH7UHZOF.cjs');var _chunkZBG4FI7Ecjs = require('./chunk-ZBG4FI7E.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function P(o,p){_chunkZBG4FI7Ecjs.b.call(void 0, _optionalChain([o, 'optionalAccess', _2 => _2._object]),"schema should be of type object"),_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let{env:i=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _3 => _3.env]), () => ({})),prefix:s="",prefixOptional:r=!1}=_nullishCoalesce(p, () => ({})),c=s.length,n=_nullishCoalesce(_optionalChain([p, 'optionalAccess', _4 => _4.existing]), () => ({}));return _chunkBQ66KUDGcjs.a.call(void 0, o._object,(a,t)=>{let T=_nullishCoalesce(n[a], () => (t._default));if(_optionalChain([t, 'access', _5 => _5._meta, 'optionalAccess', _6 => _6.envSkip]))return T;let x=_chunkXH7UHZOFcjs.d.call(void 0, a,"_").toUpperCase(),b=s+_chunkXH7UHZOFcjs.d.call(void 0, a,"_").toUpperCase(),e=i[x];return c>0&&(r===!0?e=_nullishCoalesce(i[b], () => (e)):e=i[b]),e===void 0?T:(t.type==="number"?e=_chunk3P4XRJ23cjs.h.call(void 0, e,t._default):t.type==="boolean"&&(t._default===!0?e=_chunk3P4XRJ23cjs.g.call(void 0, e):e=_chunk3P4XRJ23cjs.f.call(void 0, e,!1)),_chunkPU67BXVPcjs.c.call(void 0, t,e))})}_chunkP7XCQ7WVcjs.a.call(void 0, P,"parseSchemaEnv");function $(o,p="",i=!1,s=!1){_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let r=[];return _chunkBQ66KUDGcjs.a.call(void 0, o._object,(c,n)=>{if((_optionalChain([n, 'access', _7 => _7._meta, 'optionalAccess', _8 => _8.envPrivate])||_optionalChain([n, 'access', _9 => _9._meta, 'optionalAccess', _10 => _10.envSkip]))&&!s)return;let a=_nullishCoalesce(_optionalChain([n, 'access', _11 => _11._meta, 'optionalAccess', _12 => _12.envDesc]), () => (_optionalChain([n, 'access', _13 => _13._meta, 'optionalAccess', _14 => _14.desc])));a&&a.trim().split(`
2
2
  `).forEach(t=>{r.push(`# ${t.trim()}`)}),r.push(`${i?"# ":""}${p+_chunkXH7UHZOFcjs.d.call(void 0, c,"_").toUpperCase()}=${_nullishCoalesce(n._default, () => (""))}`),r.push("")}),r.join(`
3
3
  `)}_chunkP7XCQ7WVcjs.a.call(void 0, $,"stringFromSchemaEnv");exports.a = P; exports.b = $;
4
- //# sourceMappingURL=chunk-4JBF6UXZ.cjs.map
4
+ //# sourceMappingURL=chunk-CLMIDN5Q.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-4JBF6UXZ.cjs","../src/common/schema/parse-env.ts"],"names":["parseSchemaEnv","schema","opt","assert","isSchemaObjectFlat","env","prefix","prefixOptional","pl","existing","objectMap","key","defaultValue","envKey","fromCamelCase","envKeyWithPrefix","value","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject","__name","stringFromSchemaEnv","commentOut","showPrivate","lines","desc","line"],"mappings":"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","file":"/Users/dirk/work/github-zeed/dist/chunk-4JBF6UXZ.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\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 schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-CLMIDN5Q.cjs","../src/common/schema/parse-env.ts"],"names":["parseSchemaEnv","schema","opt","assert","isSchemaObjectFlat","env","prefix","prefixOptional","pl","existing","objectMap","key","defaultValue","envKey","fromCamelCase","envKeyWithPrefix","value","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject","__name","stringFromSchemaEnv","commentOut","showPrivate","lines","desc","line"],"mappings":"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","file":"/Users/dirk/work/github-zeed/dist/chunk-CLMIDN5Q.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\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 schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-TSNDVQHW.js";import{p as s}from"./chunk-KDKT5HPM.js";import{a as e}from"./chunk-73A2QE6J.js";import{a as t}from"./chunk-5NKC2EQJ.js";function f(){s("test"),e(),o()}t(f,"setTestMode");export{f as a};
2
- //# sourceMappingURL=chunk-AH3LPY2A.js.map
1
+ import{a as o}from"./chunk-YEP2NVSS.js";import{p as s}from"./chunk-KDKT5HPM.js";import{a as e}from"./chunk-73A2QE6J.js";import{a as t}from"./chunk-5NKC2EQJ.js";function f(){s("test"),e(),o()}t(f,"setTestMode");export{f as a};
2
+ //# sourceMappingURL=chunk-DBXJFUZ7.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKHK37DTScjs = require('./chunk-KHK37DTS.cjs');var _chunkFMMEBQFRcjs = require('./chunk-FMMEBQFR.cjs');var _chunkZEDMMWJIcjs = require('./chunk-ZEDMMWJI.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function f(){_chunkFMMEBQFRcjs.p.call(void 0, "test"),_chunkZEDMMWJIcjs.a.call(void 0, ),_chunkKHK37DTScjs.a.call(void 0, )}_chunkP7XCQ7WVcjs.a.call(void 0, f,"setTestMode");exports.a = f;
2
- //# sourceMappingURL=chunk-5BA3O5XZ.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLONV4KUScjs = require('./chunk-LONV4KUS.cjs');var _chunkFMMEBQFRcjs = require('./chunk-FMMEBQFR.cjs');var _chunkZEDMMWJIcjs = require('./chunk-ZEDMMWJI.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function f(){_chunkFMMEBQFRcjs.p.call(void 0, "test"),_chunkZEDMMWJIcjs.a.call(void 0, ),_chunkLONV4KUScjs.a.call(void 0, )}_chunkP7XCQ7WVcjs.a.call(void 0, f,"setTestMode");exports.a = f;
2
+ //# sourceMappingURL=chunk-GARQAHQE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-5BA3O5XZ.cjs","../src/common/test.ts"],"names":["setTestMode","setUuidDefaultEncoding","setTimestampTest","setDayTest","__name"],"mappings":"AAAA,iIAAwC,wDAAyC,wDAAyC,wDAAyC,SCInJA,CAAAA,CAAAA,CAAc,CAC5BC,iCAAAA,MAA6B,CAAA,CAC7BC,iCAAAA,CAAiB,CACjBC,iCAAAA,CACF,CAJgBC,iCAAAA,CAAAJ,CAAA,aAAA,CAAA,CAAA,cAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-5BA3O5XZ.cjs","sourcesContent":[null,"import { setDayTest } from './data'\nimport { setTimestampTest } from './time'\nimport { setUuidDefaultEncoding } from './uuid'\n\nexport function setTestMode() {\n setUuidDefaultEncoding('test')\n setTimestampTest()\n setDayTest()\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-GARQAHQE.cjs","../src/common/test.ts"],"names":["setTestMode","setUuidDefaultEncoding","setTimestampTest","setDayTest","__name"],"mappings":"AAAA,iIAAwC,wDAAyC,wDAAyC,wDAAyC,SCInJA,CAAAA,CAAAA,CAAc,CAC5BC,iCAAAA,MAA6B,CAAA,CAC7BC,iCAAAA,CAAiB,CACjBC,iCAAAA,CACF,CAJgBC,iCAAAA,CAAAJ,CAAA,aAAA,CAAA,CAAA,cAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-GARQAHQE.cjs","sourcesContent":[null,"import { setDayTest } from './data'\nimport { setTimestampTest } from './time'\nimport { setUuidDefaultEncoding } from './uuid'\n\nexport function setTestMode() {\n setUuidDefaultEncoding('test')\n setTimestampTest()\n setDayTest()\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{A as c,b as y,c as I,d as m,h as x,j as E,l as F,o as S,q as P,r as s,s as h,t as T,w as D}from"./chunk-FGAKPO3O.js";import{A as d,b as u,e as U,f as b,g as A,j as B,k as w,l as p,q as l,t as g,w as V}from"./chunk-5WAO44ET.js";import{c as f}from"./chunk-UVILAVID.js";import{G as i}from"./chunk-TXYP3UN6.js";import{a as e}from"./chunk-5NKC2EQJ.js";var J=class{static{e(this,"BinaryEncoder")}async encode(r){let n=y();return c(n,r),m(n)}async decode(r){return d(u(i(r)))}};function q(t){let r=y();return c(r,t),m(r)}e(q,"encodeJson");function v(t){return d(u(i(t)))}e(v,"decodeJson");function z(t){let r=y();return t!=null&&s(r,i(t)),{writeBytes:e((n,a)=>{let o=i(n);f(!(a!=null&&o.length!==a),`Expected ${a} bytes, got ${o.length}`),s(r,o)},"writeBytes"),writeBytesVar:e(n=>h(r,i(n)),"writeBytesVar"),writeUintVar:e(n=>S(r,n),"writeUintVar"),writeUint8:e(n=>x(r,n),"writeUint8"),writeUint16:e(n=>E(r,n),"writeUint16"),writeUint32:e(n=>F(r,n),"writeUint32"),writeIntVar:e(n=>P(r,n),"writeIntVar"),writeFloat:e(n=>D(r,n),"writeFloat"),writeStringVar:e(n=>T(r,n),"writeStringVar"),write:e(n=>c(r,n),"write"),getUint8Array:e(()=>m(r),"getUint8Array"),getLength:e(()=>I(r),"getLength")}}e(z,"createBinaryStreamEncoder");function G(t){let r=u(i(t));return{readBytes:e(n=>U(r,n),"readBytes"),readBytesVar:e(()=>A(r),"readBytesVar"),readUintVar:e(()=>b(r),"readUintVar"),readUint8:e(()=>B(r),"readUint8"),readUint16:e(()=>w(r),"readUint16"),readUint32:e(()=>p(r),"readUint32"),readIntVar:e(()=>l(r),"readIntVar"),readFloat:e(()=>V(r),"readFloat"),readStringVar:e(()=>g(r),"readStringVar"),read:e(()=>d(r),"read"),getOffset:e(()=>r.pos||0,"getOffset")}}e(G,"createBinaryStreamDecoder");function H(t=0){return{setBit:e((r,n=!0)=>n?t|=1<<r:t&=~(1<<r),"setBit"),unsetBit:e(r=>t&=1<<r,"unsetBit"),toggleBit:e(r=>t^=1<<r,"toggleBit"),getBit:e(r=>(t&1<<r)!==0,"getBit"),getValue:e(()=>t,"getValue")}}e(H,"bitfield");async function $(t){if(t.arrayBuffer)return await t.arrayBuffer();try{return new Promise((r,n)=>{try{let a=new FileReader;a.onloadend=()=>r(a.result),a.onerror=o=>n(o),a.onabort=o=>n(o),a.readAsArrayBuffer(t)}catch(a){n(a)}})}catch{}}e($,"blobToArrayBuffer");async function K(t){let r=await $(t);if(r!=null)return i(r)}e(K,"blobToUint8Array");export{J as a,q as b,v as c,z as d,G as e,H as f,$ as g,K as h};
2
- //# sourceMappingURL=chunk-GOLLLFWP.js.map
1
+ import{A as d,b as u,e as U,f as b,g as A,j as B,k as w,l as p,q as l,t as g,w as V}from"./chunk-5WAO44ET.js";import{A as c,b as y,c as I,d as m,h as x,j as E,l as F,o as S,q as P,r as s,s as h,t as T,w as D}from"./chunk-FGAKPO3O.js";import{c as f}from"./chunk-UVILAVID.js";import{G as i}from"./chunk-TXYP3UN6.js";import{a as e}from"./chunk-5NKC2EQJ.js";var J=class{static{e(this,"BinaryEncoder")}async encode(r){let n=y();return c(n,r),m(n)}async decode(r){return d(u(i(r)))}};function q(t){let r=y();return c(r,t),m(r)}e(q,"encodeJson");function v(t){return d(u(i(t)))}e(v,"decodeJson");function z(t){let r=y();return t!=null&&s(r,i(t)),{writeBytes:e((n,a)=>{let o=i(n);f(!(a!=null&&o.length!==a),`Expected ${a} bytes, got ${o.length}`),s(r,o)},"writeBytes"),writeBytesVar:e(n=>h(r,i(n)),"writeBytesVar"),writeUintVar:e(n=>S(r,n),"writeUintVar"),writeUint8:e(n=>x(r,n),"writeUint8"),writeUint16:e(n=>E(r,n),"writeUint16"),writeUint32:e(n=>F(r,n),"writeUint32"),writeIntVar:e(n=>P(r,n),"writeIntVar"),writeFloat:e(n=>D(r,n),"writeFloat"),writeStringVar:e(n=>T(r,n),"writeStringVar"),write:e(n=>c(r,n),"write"),getUint8Array:e(()=>m(r),"getUint8Array"),getLength:e(()=>I(r),"getLength")}}e(z,"createBinaryStreamEncoder");function G(t){let r=u(i(t));return{readBytes:e(n=>U(r,n),"readBytes"),readBytesVar:e(()=>A(r),"readBytesVar"),readUintVar:e(()=>b(r),"readUintVar"),readUint8:e(()=>B(r),"readUint8"),readUint16:e(()=>w(r),"readUint16"),readUint32:e(()=>p(r),"readUint32"),readIntVar:e(()=>l(r),"readIntVar"),readFloat:e(()=>V(r),"readFloat"),readStringVar:e(()=>g(r),"readStringVar"),read:e(()=>d(r),"read"),getOffset:e(()=>r.pos||0,"getOffset")}}e(G,"createBinaryStreamDecoder");function H(t=0){return{setBit:e((r,n=!0)=>n?t|=1<<r:t&=~(1<<r),"setBit"),unsetBit:e(r=>t&=1<<r,"unsetBit"),toggleBit:e(r=>t^=1<<r,"toggleBit"),getBit:e(r=>(t&1<<r)!==0,"getBit"),getValue:e(()=>t,"getValue")}}e(H,"bitfield");async function $(t){if(t.arrayBuffer)return await t.arrayBuffer();try{return new Promise((r,n)=>{try{let a=new FileReader;a.onloadend=()=>r(a.result),a.onerror=o=>n(o),a.onabort=o=>n(o),a.readAsArrayBuffer(t)}catch(a){n(a)}})}catch{}}e($,"blobToArrayBuffer");async function K(t){let r=await $(t);if(r!=null)return i(r)}e(K,"blobToUint8Array");export{J as a,q as b,v as c,z as d,G as e,H as f,$ as g,K as h};
2
+ //# sourceMappingURL=chunk-IBGLNGGT.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZMYA5QAVcjs = require('./chunk-ZMYA5QAV.cjs');var _chunkTNMEWZPWcjs = require('./chunk-TNMEWZPW.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function p(t){if(t.startsWith("data:"))return _chunkTNMEWZPWcjs.N.call(void 0, t.split(",",2)[1])}_chunkP7XCQ7WVcjs.a.call(void 0, p,"dataUriToUint8Array");function d(t){if(t.startsWith("data:"))return t.slice(5).split(",",2)[0]}_chunkP7XCQ7WVcjs.a.call(void 0, d,"dataUriToMimeType");function l(t){if(t.startsWith("data:")){let[r,a]=t.slice(5).split(",",2),s=_chunkTNMEWZPWcjs.N.call(void 0, a).slice().buffer;return new Blob([s],{type:r})}}_chunkP7XCQ7WVcjs.a.call(void 0, l,"dataUriToBlob");async function b(t){let r=await _chunkZMYA5QAVcjs.g.call(void 0, t);if(r)return`data:${t.type},${_chunkTNMEWZPWcjs.L.call(void 0, r)}`}_chunkP7XCQ7WVcjs.a.call(void 0, b,"blobToDataUri");function m(t,r="application/octet-stream"){return`data:${r},${_chunkTNMEWZPWcjs.L.call(void 0, t)}`}_chunkP7XCQ7WVcjs.a.call(void 0, m,"Uint8ArrayToDataUri");exports.a = p; exports.b = d; exports.c = l; exports.d = b; exports.e = m;
2
- //# sourceMappingURL=chunk-IXI4CRVY.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRMTW3TW2cjs = require('./chunk-RMTW3TW2.cjs');var _chunkTNMEWZPWcjs = require('./chunk-TNMEWZPW.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function p(t){if(t.startsWith("data:"))return _chunkTNMEWZPWcjs.N.call(void 0, t.split(",",2)[1])}_chunkP7XCQ7WVcjs.a.call(void 0, p,"dataUriToUint8Array");function d(t){if(t.startsWith("data:"))return t.slice(5).split(",",2)[0]}_chunkP7XCQ7WVcjs.a.call(void 0, d,"dataUriToMimeType");function l(t){if(t.startsWith("data:")){let[r,a]=t.slice(5).split(",",2),s=_chunkTNMEWZPWcjs.N.call(void 0, a).slice().buffer;return new Blob([s],{type:r})}}_chunkP7XCQ7WVcjs.a.call(void 0, l,"dataUriToBlob");async function b(t){let r=await _chunkRMTW3TW2cjs.g.call(void 0, t);if(r)return`data:${t.type},${_chunkTNMEWZPWcjs.L.call(void 0, r)}`}_chunkP7XCQ7WVcjs.a.call(void 0, b,"blobToDataUri");function m(t,r="application/octet-stream"){return`data:${r},${_chunkTNMEWZPWcjs.L.call(void 0, t)}`}_chunkP7XCQ7WVcjs.a.call(void 0, m,"Uint8ArrayToDataUri");exports.a = p; exports.b = d; exports.c = l; exports.d = b; exports.e = m;
2
+ //# sourceMappingURL=chunk-K4IRAHZV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-IXI4CRVY.cjs","../src/common/data/datauri.ts"],"names":["dataUriToUint8Array","dataUri","fromBase64","__name","dataUriToMimeType","dataUriToBlob","mimeString","base64String","buffer","blobToDataUri","blob","bin","blobToArrayBuffer","toBase64"],"mappings":"AAAA,iIAAwC,wDAAgD,wDAAyC,SCGjHA,CAAAA,CAAoBC,CAAAA,CAAyC,CAC3E,EAAA,CAAIA,CAAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,CAC5B,OAAOC,iCAAAA,CAAWD,CAAQ,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAAE,CAAC,CAAC,CAC9C,CAHgBE,iCAAAA,CAAAH,CAAA,qBAAA,CAAA,CAKT,SAASI,CAAAA,CAAkBH,CAAAA,CAAqC,CACrE,EAAA,CAAIA,CAAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,CAC5B,OAAOA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAAE,CAAC,CAC3C,CAHgBE,iCAAAA,CAAAC,CAAA,mBAAA,CAAA,CAKT,SAASC,CAAAA,CAAcJ,CAAAA,CAAmC,CAC/D,EAAA,CAAIA,CAAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,CAAG,CAC/B,GAAM,CAACK,CAAAA,CAAYC,CAAY,CAAA,CAAIN,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAG5DO,CAAAA,CAFIN,iCAAAA,CAAuB,CAAA,CAEhB,KAAA,CAAM,CAAA,CAAE,MAAA,CACzB,OAAO,IAAI,IAAA,CAAK,CAACM,CAAM,CAAA,CAAG,CAAE,IAAA,CAAMF,CAAW,CAAC,CAC9C,CACF,CARgBH,iCAAAA,CAAAE,CAAA,eAAA,CAAA,CAUhB,MAAA,SAAsBI,CAAAA,CAAcC,CAAAA,CAAyC,CAC3E,IAAMC,CAAAA,CAAM,MAAMC,iCAAAA,CAAsB,CAAA,CACxC,EAAA,CAAID,CAAAA,CACF,MAAO,CAAA,KAAA,EAAQD,CAAAA,CAAK,IAAI,CAAA,CAAA,EAAIG,iCAAAA,CAAY,CAAC,CAAA,CAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-IXI4CRVY.cjs","sourcesContent":[null,"import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n const u = fromBase64(base64String)\n // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n const buffer = u.slice().buffer\n return new Blob([buffer], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-K4IRAHZV.cjs","../src/common/data/datauri.ts"],"names":["dataUriToUint8Array","dataUri","fromBase64","__name","dataUriToMimeType","dataUriToBlob","mimeString","base64String","buffer","blobToDataUri","blob","bin","blobToArrayBuffer","toBase64"],"mappings":"AAAA,iIAAwC,wDAAgD,wDAAyC,SCGjHA,CAAAA,CAAoBC,CAAAA,CAAyC,CAC3E,EAAA,CAAIA,CAAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,CAC5B,OAAOC,iCAAAA,CAAWD,CAAQ,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAAE,CAAC,CAAC,CAC9C,CAHgBE,iCAAAA,CAAAH,CAAA,qBAAA,CAAA,CAKT,SAASI,CAAAA,CAAkBH,CAAAA,CAAqC,CACrE,EAAA,CAAIA,CAAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,CAC5B,OAAOA,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAAE,CAAC,CAC3C,CAHgBE,iCAAAA,CAAAC,CAAA,mBAAA,CAAA,CAKT,SAASC,CAAAA,CAAcJ,CAAAA,CAAmC,CAC/D,EAAA,CAAIA,CAAAA,CAAQ,UAAA,CAAW,OAAO,CAAA,CAAG,CAC/B,GAAM,CAACK,CAAAA,CAAYC,CAAY,CAAA,CAAIN,CAAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAG5DO,CAAAA,CAFIN,iCAAAA,CAAuB,CAAA,CAEhB,KAAA,CAAM,CAAA,CAAE,MAAA,CACzB,OAAO,IAAI,IAAA,CAAK,CAACM,CAAM,CAAA,CAAG,CAAE,IAAA,CAAMF,CAAW,CAAC,CAC9C,CACF,CARgBH,iCAAAA,CAAAE,CAAA,eAAA,CAAA,CAUhB,MAAA,SAAsBI,CAAAA,CAAcC,CAAAA,CAAyC,CAC3E,IAAMC,CAAAA,CAAM,MAAMC,iCAAAA,CAAsB,CAAA,CACxC,EAAA,CAAID,CAAAA,CACF,MAAO,CAAA,KAAA,EAAQD,CAAAA,CAAK,IAAI,CAAA,CAAA,EAAIG,iCAAAA,CAAY,CAAC,CAAA,CAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-K4IRAHZV.cjs","sourcesContent":[null,"import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n const u = fromBase64(base64String)\n // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n const buffer = u.slice().buffer\n return new Blob([buffer], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"]}
@@ -1,4 +1,4 @@
1
- import{e as v}from"./chunk-GAJVPW4Z.js";import{c as g}from"./chunk-SSKDGT5N.js";import{a as m}from"./chunk-CU3XJDAD.js";import{f as d,g as y,h as _}from"./chunk-WFBD5UN5.js";import{d as f}from"./chunk-LXMVVR3R.js";import{b as l}from"./chunk-UVILAVID.js";import{a as u}from"./chunk-5NKC2EQJ.js";function P(o,p){l(o?._object,"schema should be of type object"),l(v(o),"schema should be a flat object");let{env:i=process?.env??{},prefix:s="",prefixOptional:r=!1}=p??{},c=s.length,n=p?.existing??{};return m(o._object,(a,t)=>{let T=n[a]??t._default;if(t._meta?.envSkip)return T;let x=f(a,"_").toUpperCase(),b=s+f(a,"_").toUpperCase(),e=i[x];return c>0&&(r===!0?e=i[b]??e:e=i[b]),e===void 0?T:(t.type==="number"?e=_(e,t._default):t.type==="boolean"&&(t._default===!0?e=y(e):e=d(e,!1)),g(t,e))})}u(P,"parseSchemaEnv");function $(o,p="",i=!1,s=!1){l(v(o),"schema should be a flat object");let r=[];return m(o._object,(c,n)=>{if((n._meta?.envPrivate||n._meta?.envSkip)&&!s)return;let a=n._meta?.envDesc??n._meta?.desc;a&&a.trim().split(`
1
+ import{c as g}from"./chunk-SSKDGT5N.js";import{e as v}from"./chunk-GAJVPW4Z.js";import{a as m}from"./chunk-CU3XJDAD.js";import{f as d,g as y,h as _}from"./chunk-WFBD5UN5.js";import{d as f}from"./chunk-LXMVVR3R.js";import{b as l}from"./chunk-UVILAVID.js";import{a as u}from"./chunk-5NKC2EQJ.js";function P(o,p){l(o?._object,"schema should be of type object"),l(v(o),"schema should be a flat object");let{env:i=process?.env??{},prefix:s="",prefixOptional:r=!1}=p??{},c=s.length,n=p?.existing??{};return m(o._object,(a,t)=>{let T=n[a]??t._default;if(t._meta?.envSkip)return T;let x=f(a,"_").toUpperCase(),b=s+f(a,"_").toUpperCase(),e=i[x];return c>0&&(r===!0?e=i[b]??e:e=i[b]),e===void 0?T:(t.type==="number"?e=_(e,t._default):t.type==="boolean"&&(t._default===!0?e=y(e):e=d(e,!1)),g(t,e))})}u(P,"parseSchemaEnv");function $(o,p="",i=!1,s=!1){l(v(o),"schema should be a flat object");let r=[];return m(o._object,(c,n)=>{if((n._meta?.envPrivate||n._meta?.envSkip)&&!s)return;let a=n._meta?.envDesc??n._meta?.desc;a&&a.trim().split(`
2
2
  `).forEach(t=>{r.push(`# ${t.trim()}`)}),r.push(`${i?"# ":""}${p+f(c,"_").toUpperCase()}=${n._default??""}`),r.push("")}),r.join(`
3
3
  `)}u($,"stringFromSchemaEnv");export{P as a,$ as b};
4
- //# sourceMappingURL=chunk-QVSYH6KK.js.map
4
+ //# sourceMappingURL=chunk-KWFFSQMW.js.map
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkWSRQ3X55cjs = require('./chunk-WSRQ3X55.cjs');var _chunkPU67BXVPcjs = require('./chunk-PU67BXVP.cjs');var _chunkBQ66KUDGcjs = require('./chunk-BQ66KUDG.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkXH7UHZOFcjs = require('./chunk-XH7UHZOF.cjs');var _chunkZBG4FI7Ecjs = require('./chunk-ZBG4FI7E.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function A(o,l=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _ => _.argv]), () => ({}))){_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let p={},t=[];_chunkBQ66KUDGcjs.a.call(void 0, o._object,(r,e)=>{_optionalChain([e, 'access', _2 => _2._meta, 'optionalAccess', _3 => _3.argShort])&&(p[_chunkXH7UHZOFcjs.a.call(void 0, e._meta.argShort)]=_chunkXH7UHZOFcjs.a.call(void 0, r)),e.type==="boolean"&&t.push(_chunkXH7UHZOFcjs.a.call(void 0, r))});let a=[...l],s,b=[],g={};for(;s=a.shift();){let r;if(/^--?/.test(s)){let e=s.replace(/^--?/,"");if(s.includes("=")){let[n,h]=e.split("=",2);e=n.trim(),r=h.trim()}e=_chunkXH7UHZOFcjs.a.call(void 0, e),e=_nullishCoalesce(p[e], () => (e)),t.includes(e)?g[e]=!0:(r=_nullishCoalesce(_nullishCoalesce(r, () => (a.shift())), () => ("")),g[e]=r)}else b.push(s)}return[_chunkBQ66KUDGcjs.a.call(void 0, o._object,(r,e)=>{let n=g[_chunkXH7UHZOFcjs.a.call(void 0, r)];return e.type==="number"&&n!=null&&(n=_chunk3P4XRJ23cjs.h.call(void 0, n)),_chunkPU67BXVPcjs.c.call(void 0, e,n)}),b]}_chunkP7XCQ7WVcjs.a.call(void 0, A,"parseSchemaArgs");function O(o){_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let l=[];return _chunkBQ66KUDGcjs.a.call(void 0, o._object,(p,t)=>{let a=`--${_chunkXH7UHZOFcjs.d.call(void 0, p)}`;_optionalChain([t, 'access', _4 => _4._meta, 'optionalAccess', _5 => _5.argShort])&&(a+=`, -${_chunkXH7UHZOFcjs.d.call(void 0, t._meta.argShort)}`),t.type!=="boolean"&&(a+=`=${t.type}`),l.push(a);let s=_nullishCoalesce(_optionalChain([t, 'access', _6 => _6._meta, 'optionalAccess', _7 => _7.argDesc]), () => (_optionalChain([t, 'access', _8 => _8._meta, 'optionalAccess', _9 => _9.desc])));s&&l.push(` ${s}`)}),l.join(`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPU67BXVPcjs = require('./chunk-PU67BXVP.cjs');var _chunkWSRQ3X55cjs = require('./chunk-WSRQ3X55.cjs');var _chunkBQ66KUDGcjs = require('./chunk-BQ66KUDG.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkXH7UHZOFcjs = require('./chunk-XH7UHZOF.cjs');var _chunkZBG4FI7Ecjs = require('./chunk-ZBG4FI7E.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function A(o,l=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _ => _.argv]), () => ({}))){_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let p={},t=[];_chunkBQ66KUDGcjs.a.call(void 0, o._object,(r,e)=>{_optionalChain([e, 'access', _2 => _2._meta, 'optionalAccess', _3 => _3.argShort])&&(p[_chunkXH7UHZOFcjs.a.call(void 0, e._meta.argShort)]=_chunkXH7UHZOFcjs.a.call(void 0, r)),e.type==="boolean"&&t.push(_chunkXH7UHZOFcjs.a.call(void 0, r))});let a=[...l],s,b=[],g={};for(;s=a.shift();){let r;if(/^--?/.test(s)){let e=s.replace(/^--?/,"");if(s.includes("=")){let[n,h]=e.split("=",2);e=n.trim(),r=h.trim()}e=_chunkXH7UHZOFcjs.a.call(void 0, e),e=_nullishCoalesce(p[e], () => (e)),t.includes(e)?g[e]=!0:(r=_nullishCoalesce(_nullishCoalesce(r, () => (a.shift())), () => ("")),g[e]=r)}else b.push(s)}return[_chunkBQ66KUDGcjs.a.call(void 0, o._object,(r,e)=>{let n=g[_chunkXH7UHZOFcjs.a.call(void 0, r)];return e.type==="number"&&n!=null&&(n=_chunk3P4XRJ23cjs.h.call(void 0, n)),_chunkPU67BXVPcjs.c.call(void 0, e,n)}),b]}_chunkP7XCQ7WVcjs.a.call(void 0, A,"parseSchemaArgs");function O(o){_chunkZBG4FI7Ecjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let l=[];return _chunkBQ66KUDGcjs.a.call(void 0, o._object,(p,t)=>{let a=`--${_chunkXH7UHZOFcjs.d.call(void 0, p)}`;_optionalChain([t, 'access', _4 => _4._meta, 'optionalAccess', _5 => _5.argShort])&&(a+=`, -${_chunkXH7UHZOFcjs.d.call(void 0, t._meta.argShort)}`),t.type!=="boolean"&&(a+=`=${t.type}`),l.push(a);let s=_nullishCoalesce(_optionalChain([t, 'access', _6 => _6._meta, 'optionalAccess', _7 => _7.argDesc]), () => (_optionalChain([t, 'access', _8 => _8._meta, 'optionalAccess', _9 => _9.desc])));s&&l.push(` ${s}`)}),l.join(`
2
2
  `)}_chunkP7XCQ7WVcjs.a.call(void 0, O,"helpSchemaArgs");exports.a = A; exports.b = O;
3
- //# sourceMappingURL=chunk-MABONJOS.cjs.map
3
+ //# sourceMappingURL=chunk-LG7UXZKN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-MABONJOS.cjs","../src/common/schema/parse-args.ts"],"names":["parseSchemaArgs","schema","args","assert","isSchemaObjectFlat","alias","booleanArgs","objectMap","key","toCamelCase","argList","arg","names","argsObj","value","name","valuePart","valueToInteger","schemaParseObject","__name","helpSchemaArgs","lines","s","fromCamelCase"],"mappings":"AAAA,yuBAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAgD,wDAAyC,wDAAyC,SCgBrRA,CAAAA,CAAmBC,CAAAA,CAAiBC,CAAAA,kCAAY,OAAA,2BAAS,MAAA,SAAQ,CAAC,GAAA,CAAkB,CAClGC,iCAAAA,iCAAOC,CAAyB,CAAA,CAAG,gCAAgC,CAAA,CAEnE,IAAMC,CAAAA,CAAgC,CAAC,CAAA,CACjCC,CAAAA,CAAwB,CAAC,CAAA,CAE/BC,iCAAAA,CAAUN,CAAO,OAAA,CAAU,CAACO,CAAAA,CAAKP,CAAAA,CAAAA,EAAsB,iBACjDA,CAAAA,qBAAO,KAAA,6BAAO,UAAA,EAAA,CAChBI,CAAAA,CAAMI,iCAAAA,CAAYR,CAAO,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAIQ,iCAAAA,CAAe,CAAA,CAAA,CACzDR,CAAAA,CAAO,IAAA,GAAS,SAAA,EAClBK,CAAAA,CAAY,IAAA,CAAKG,iCAAAA,CAAe,CAAC,CAErC,CAAC,CAAA,CAED,IAAMC,CAAAA,CAAU,CAAC,GAAGR,CAAI,CAAA,CACpBS,CAAAA,CACEC,CAAAA,CAAkB,CAAC,CAAA,CACnBC,CAAAA,CAA+B,CAAC,CAAA,CAGtC,GAAA,CAAA,CAAQF,CAAAA,CAAMD,CAAAA,CAAQ,KAAA,CAAM,CAAA,CAAA,CAAI,CAC9B,IAAII,CAAAA,CACJ,EAAA,CAAI,MAAA,CAAO,IAAA,CAAKH,CAAG,CAAA,CAAG,CACpB,IAAIH,CAAAA,CAAMG,CAAAA,CAAI,OAAA,CAAQ,MAAA,CAAQ,EAAE,CAAA,CAChC,EAAA,CAAIA,CAAAA,CAAI,QAAA,CAAS,GAAG,CAAA,CAAG,CACrB,GAAM,CAACI,CAAAA,CAAMC,CAAS,CAAA,CAAIR,CAAAA,CAAI,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAC1CA,CAAAA,CAAMO,CAAAA,CAAK,IAAA,CAAK,CAAA,CAChBD,CAAAA,CAAQE,CAAAA,CAAU,IAAA,CAAK,CACzB,CACAR,CAAAA,CAAMC,iCAAAA,CAAe,CAAA,CACrBD,CAAAA,kBAAMH,CAAAA,CAAMG,CAAG,CAAA,SAAKA,GAAAA,CAChBF,CAAAA,CAAY,QAAA,CAASE,CAAG,CAAA,CAC1BK,CAAAA,CAAQL,CAAG,CAAA,CAAI,CAAA,CAAA,CAAA,CAGfM,CAAAA,mCAAQA,CAAAA,SAASJ,CAAAA,CAAQ,KAAA,CAAM,GAAA,SAAK,IAAA,CACpCG,CAAAA,CAAQL,CAAG,CAAA,CAAIM,CAAAA,CAEnB,CAAA,KAEEF,CAAAA,CAAM,IAAA,CAAKD,CAAG,CAElB,CAUA,MAAO,CARYJ,iCAAAA,CAAUN,CAAO,OAAA,CAAU,CAACO,CAAAA,CAAKP,CAAAA,CAAAA,EAAW,CAC7D,IAAIa,CAAAA,CAAQD,CAAAA,CAAQJ,iCAAAA,CAAe,CAAC,CAAA,CACpC,OAAIR,CAAAA,CAAO,IAAA,GAAS,QAAA,EAAYa,CAAAA,EAAS,IAAA,EAAA,CACvCA,CAAAA,CAAQG,iCAAAA,CAAoB,CAAA,CAAA,CAEvBC,iCAAAA,CAAkBjB,CAAQa,CAAK,CACxC,CAAC,CAAA,CAEmBF,CAAK,CAC3B,CArDgBO,iCAAAA,CAAAnB,CAAA,iBAAA,CAAA,CAuDT,SAASoB,CAAAA,CAAkBnB,CAAAA,CAAyB,CACzDE,iCAAAA,iCAAOC,CAAyB,CAAA,CAAG,gCAAgC,CAAA,CAEnE,IAAMiB,CAAAA,CAAkB,CAAC,CAAA,CAEzB,OAAAd,iCAAAA,CAAUN,CAAO,OAAA,CAAU,CAACO,CAAAA,CAAKP,CAAAA,CAAAA,EAAsB,CACrD,IAAIqB,CAAAA,CAAI,CAAA,EAAA,EAAKC,iCAAAA,CAAiB,CAAC,CAAA,CAAA;AANnB","file":"/Users/dirk/work/github-zeed/dist/chunk-MABONJOS.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 { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\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._meta?.argShort)\n alias[toCamelCase(schema._meta.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' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, 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._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-LG7UXZKN.cjs","../src/common/schema/parse-args.ts"],"names":["parseSchemaArgs","schema","args","assert","isSchemaObjectFlat","alias","booleanArgs","objectMap","key","toCamelCase","argList","arg","names","argsObj","value","name","valuePart","valueToInteger","schemaParseObject","__name","helpSchemaArgs","lines","s","fromCamelCase"],"mappings":"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","file":"/Users/dirk/work/github-zeed/dist/chunk-LG7UXZKN.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 { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\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._meta?.argShort)\n alias[toCamelCase(schema._meta.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' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, 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._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkZEDMMWJIcjs = require('./chunk-ZEDMMWJI.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var V;function g(e=20000101){V=e}_chunkP7XCQ7WVcjs.a.call(void 0, g,"setDayTest");var S=_chunkZEDMMWJIcjs.s;function o(e){return Math.floor(e/1e4)}_chunkP7XCQ7WVcjs.a.call(void 0, o,"dayYear");function f(e){return Math.floor(e/100%100)}_chunkP7XCQ7WVcjs.a.call(void 0, f,"dayMonth");function s(e){return Math.floor(e%100)}_chunkP7XCQ7WVcjs.a.call(void 0, s,"dayDay");function F(e){return[o(e),f(e),s(e)]}_chunkP7XCQ7WVcjs.a.call(void 0, F,"dayToParts");function l(e,t=!1){return t?new Date(`${T(e)}T00:00:00.000Z`):new Date(e/1e4,Math.max(0,e/100%100-1),Math.max(1,e%100))}_chunkP7XCQ7WVcjs.a.call(void 0, l,"dayToDate");function x(){return _nullishCoalesce(V, () => (u(new Date)))}_chunkP7XCQ7WVcjs.a.call(void 0, x,"dayFromToday");function w(e,t=!1){if(typeof e=="number")return e<100?void 0:e;if(typeof e=="string")return d(e);if(Array.isArray(e)&&e.length>=1)return y(...e);if(e instanceof Date)return u(e,t)}_chunkP7XCQ7WVcjs.a.call(void 0, w,"dayFromAny");function I(e){return l(e,!0)}_chunkP7XCQ7WVcjs.a.call(void 0, I,"dayToDateUTC");function O(e){return l(e,!0)}_chunkP7XCQ7WVcjs.a.call(void 0, O,"dayToDateGMT");function u(e,t=!1){return t?d(e.toISOString()):e.getFullYear()*1e4+(e.getMonth()+1)*100+e.getDate()}_chunkP7XCQ7WVcjs.a.call(void 0, u,"dayFromDate");function Y(e){return u(e,!0)}_chunkP7XCQ7WVcjs.a.call(void 0, Y,"dayFromDateUTC");function A(e){return u(e,!0)}_chunkP7XCQ7WVcjs.a.call(void 0, A,"dayFromDateGMT");function C(e,t=!0){return Math.floor(l(e,t).getTime()/1e3)}_chunkP7XCQ7WVcjs.a.call(void 0, C,"dayToTimestampSeconds");function p(e,t=!0){return l(e,t).getTime()}_chunkP7XCQ7WVcjs.a.call(void 0, p,"dayToTimestamp");function b(e,t=!0){return u(new Date(e),t)}_chunkP7XCQ7WVcjs.a.call(void 0, b,"dayFromTimestamp");function U(e,t=!0){return u(new Date(Math.floor(e*1e3)),t)}_chunkP7XCQ7WVcjs.a.call(void 0, U,"dayFromTimestampSeconds");function T(e,t="-"){let r=String(e);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}_chunkP7XCQ7WVcjs.a.call(void 0, T,"dayToString");function y(e,t=1,r=1){if(!(t<1||t>12||r<1||r>31))return e*1e4+t*100+r}_chunkP7XCQ7WVcjs.a.call(void 0, y,"dayFromParts");function d(e){let t=String(e).replace(/\D/g,"").slice(0,8);if(t.length===8)return+t}_chunkP7XCQ7WVcjs.a.call(void 0, d,"dayFromString");function _(e,t=0){let r=o(e),a=f(e);return t!==0&&(a+=t,r+=Math.floor((a-1)/12),a=Math.floor((a-1)%12)+1,a===0&&(a=12)),y(r,a,1)}_chunkP7XCQ7WVcjs.a.call(void 0, _,"dayMonthStart");function G(e,t){let r=o(e),a=f(e),m=s(e);t!==0&&(a+=t,r+=Math.floor((a-1)/12),a=Math.floor((a-1)%12)+1,a===0&&(a=12));let c=M(r,a);return y(r,a,Math.min(m,c))}_chunkP7XCQ7WVcjs.a.call(void 0, G,"dayMonthOffset");function P(e,t=0){let r=o(e);return y(r+t,1,1)}_chunkP7XCQ7WVcjs.a.call(void 0, P,"dayYearStart");function E(e,t){let r=o(e)+t,a=f(e),m=s(e),c=M(r,a);return y(r,a,Math.min(m,c))}_chunkP7XCQ7WVcjs.a.call(void 0, E,"dayYearOffset");function M(e,t){return new Date(Date.UTC(e,t,0)).getUTCDate()}_chunkP7XCQ7WVcjs.a.call(void 0, M,"dayDaysInMonth");function i(e,t){return b(p(e)+t*_chunkZEDMMWJIcjs.s)}_chunkP7XCQ7WVcjs.a.call(void 0, i,"dayOffset");function R(e,t){return Math.round((p(t)-p(e))/_chunkZEDMMWJIcjs.s)}_chunkP7XCQ7WVcjs.a.call(void 0, R,"dayDiff");function Z(e,t){let r=[];for(t==null&&(t=x()),e<0&&(e=i(t,e+1));e<=t;)r.push(e),e=i(e,1);return r}_chunkP7XCQ7WVcjs.a.call(void 0, Z,"dayRange");function*$(e,t){let r=[];for(t==null&&(t=x()),e<0&&(e=i(t,e+1));e<=t;)yield e,e=i(e,1);return r}_chunkP7XCQ7WVcjs.a.call(void 0, $,"dayIterator");exports.a = g; exports.b = S; exports.c = o; exports.d = f; exports.e = s; exports.f = F; exports.g = l; exports.h = x; exports.i = w; exports.j = I; exports.k = O; exports.l = u; exports.m = Y; exports.n = A; exports.o = C; exports.p = p; exports.q = b; exports.r = U; exports.s = T; exports.t = y; exports.u = d; exports.v = _; exports.w = G; exports.x = P; exports.y = E; exports.z = M; exports.A = i; exports.B = R; exports.C = Z; exports.D = $;
2
+ //# sourceMappingURL=chunk-LONV4KUS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-KHK37DTS.cjs","../src/common/data/day.ts"],"names":["testModeDay","setDayTest","ts","__name","DAY_MS","TIME_DAY_MS","dayYear","day","dayMonth","dayDay","dayToParts","dayToDate","utc"],"mappings":"AAAA,qOAAwC,wDAAyC,ICG7EA,CAAAA,CAUG,SAASC,CAAAA,CAAWC,CAAAA,CAAK,QAAA,CAAU,CACxCF,CAAAA,CAAcE,CAChB,CAFgBC,iCAAAA,CAAAF,CAAA,YAAA,CAAA,CAOT,IAAMG,CAAAA,CAASC,mBAAAA,CAyBf,SAASC,CAAAA,CAAQC,CAAAA,CAAyB,CAC/C,OAAO,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAM,GAAK,CAC/B,CAFgBJ,iCAAAA,CAAAG,CAAA,SAAA,CAAA,CAUT,SAASE,CAAAA,CAASD,CAAAA,CAAyB,CAChD,OAAO,IAAA,CAAK,KAAA,CAAOA,CAAAA,CAAM,GAAA,CAAO,GAAG,CACrC,CAFgBJ,iCAAAA,CAAAK,CAAA,UAAA,CAAA,CAUT,SAASC,CAAAA,CAAOF,CAAAA,CAAyB,CAC9C,OAAO,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAM,GAAG,CAC7B,CAFgBJ,iCAAAA,CAAAM,CAAA,QAAA,CAAA,CAUT,SAASC,CAAAA,CAAWH,CAAAA,CAAyC,CAClE,MAAO,CAACD,CAAAA,CAAQC,CAAG,CAAA,CAAGC,CAAAA,CAASD,CAAG,CAAA,CAAGE,CAAAA,CAAOF,CAAG,CAAC,CAClD,CAFgBJ,iCAAAA,CAAAO,CAAA,YAAA,CAAA,CAcT,SAASC,CAAAA,CAAUJ,CAAAA,CAAeK,CAAAA,CAAM,CAAA,CAAA,CAAa,CAC1D,OAAOA,CAAAA,CACH,IAAI,IAAA,CAAK,CAAA,EAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-KHK37DTS.cjs","sourcesContent":[null,"import { TIME_DAY_MS } from \"../time\"\n\n// Functionality variant\nlet testModeDay: number | undefined\n\n/**\n * Enable test mode for date functions by forcing \"today\" to a fixed day value.\n *\n * Use a numeric DayValue like 20000101 (YYYYMMDD). This is intended for tests\n * to make date-based logic deterministic. Call with no args to reset.\n *\n * @param ts - day to use as \"today\" in YYYYMMDD format (default: 20000101)\n */\nexport function setDayTest(ts = 20000101) {\n testModeDay = ts\n}\n\n/** \n * @deprecated use TIME_DAY_MS\n * Number of milliseconds in one calendar day (24 * 60 * 60 * 1000). */\nexport const DAY_MS = TIME_DAY_MS // 1000 * 60 * 60 * 24\n\n/** DayValue is a numeric date encoded as YYYYMMDD (for example 20250907). */\nexport type DayValue = number\n\n/**\n * Accepted inputs for day conversion helpers.\n * - DayValue or number: a YYYYMMDD numeric value\n * - string: a date string (parsed by digits)\n * - Date: JavaScript Date\n * - [year, month?, day?]: numeric parts\n */\nexport type DayInput =\n | DayValue\n | number\n | string\n | Date\n | [number, number?, number?]\n\n/**\n * Extract the year (YYYY) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns year as number (e.g. 2025)\n */\nexport function dayYear(day: DayValue): DayValue {\n return Math.floor(day / 10000)\n}\n\n/**\n * Extract the month (1-12) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns month number (1-12)\n */\nexport function dayMonth(day: DayValue): DayValue {\n return Math.floor((day / 100) % 100)\n}\n\n/**\n * Extract the day of month (1-31) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns day of month (1-31)\n */\nexport function dayDay(day: DayValue): DayValue {\n return Math.floor(day % 100)\n}\n\n/**\n * Split a DayValue into [year, month, day].\n *\n * @param day - day as YYYYMMDD\n * @returns tuple [year, month, day]\n */\nexport function dayToParts(day: DayValue): [number, number, number] {\n return [dayYear(day), dayMonth(day), dayDay(day)]\n}\n\n/**\n * Convert a DayValue to a JavaScript Date.\n *\n * By default returns a local Date at midnight for the day. If `utc` is true\n * the returned Date represents midnight UTC for that day.\n *\n * @param day - day as YYYYMMDD\n * @param utc - whether to construct the Date in UTC (default: false)\n * @returns Date object for the given day\n */\nexport function dayToDate(day: DayValue, utc = false): Date {\n return utc\n ? new Date(`${dayToString(day)}T00:00:00.000Z`)\n : new Date(\n day / 10000, // year\n Math.max(0, ((day / 100) % 100) - 1), // month\n Math.max(1, day % 100), // day\n )\n}\n\n/**\n * Return today's day as a DayValue (YYYYMMDD).\n *\n * If test mode has been enabled via `setDayTest` this returns the forced\n * value instead. Otherwise it uses the current local date.\n */\nexport function dayFromToday(): DayValue {\n return testModeDay ?? dayFromDate(new Date())\n}\n\n/**\n * Convert multiple input types to a DayValue (YYYYMMDD).\n *\n * Supports numbers (DayValue), strings, Date objects and [year, month?, day?]\n * tuples. Returns undefined for invalid or unsupported values.\n *\n * @param value - input to convert\n * @param utc - when converting from Date, interpret as UTC if true\n */\nexport function dayFromAny(\n value: DayInput,\n utc = false,\n): DayValue | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return value\n }\n else if (typeof value === 'string') {\n return dayFromString(value)\n }\n else if (Array.isArray(value) && value.length >= 1) {\n return dayFromParts(...value)\n }\n else if (value instanceof Date) {\n return dayFromDate(value, utc)\n // } else if (value instanceof Day) {\n // return value.days\n }\n}\n\n/** Convert a DayValue to a Date at midnight UTC. */\nexport function dayToDateUTC(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/**\n * @deprecated use dayToDateUTC\n *\n * Kept for backwards compatibility; returns a Date for midnight UTC.\n */\nexport function dayToDateGMT(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/**\n * Convert a JavaScript Date to a DayValue (YYYYMMDD).\n *\n * If `utc` is true the function uses the ISO string representation to\n * calculate the day in UTC. Otherwise it uses local date components.\n */\nexport function dayFromDate(date: Date, utc = false): DayValue {\n return (\n utc\n ? dayFromString(date.toISOString())\n : date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n )!\n}\n\n/** Convert a Date to DayValue using UTC. */\nexport function dayFromDateUTC(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n/** @deprecated use dayFromDateUTC */\n/**\n * Deprecated: use `dayFromDateUTC`.\n *\n * Kept for backwards compatibility; converts a Date to a UTC DayValue.\n */\nexport function dayFromDateGMT(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n\n/**\n * Convert a DayValue to a UNIX timestamp in seconds. Returns seconds since\n * epoch for midnight of the given day. Defaults to UTC.\n */\nexport function dayToTimestampSeconds(day: DayValue, utc = true): number {\n return Math.floor(dayToDate(day, utc).getTime() / 1000)\n}\n\n/**\n * Convert a DayValue to a timestamp in milliseconds for midnight of that day.\n * Defaults to UTC when constructing the Date.\n */\nexport function dayToTimestamp(day: DayValue, utc = true): number {\n return dayToDate(day, utc).getTime()\n}\n\n/**\n * Convert a timestamp in milliseconds to a DayValue. The timestamp is turned\n * into a Date and then converted; `utc` controls interpretation.\n */\nexport function dayFromTimestamp(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(ms), utc)\n}\n\n/**\n * Convert a UNIX timestamp in seconds to a DayValue.\n *\n * @param ms - seconds since epoch\n */\nexport function dayFromTimestampSeconds(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(Math.floor(ms * 1000)), utc)\n}\n\n/**\n * Format a DayValue as a string with an optional separator.\n *\n * Example: dayToString(20250907) -> \"2025-09-07\"\n */\nexport function dayToString(day: DayValue, sep = '-') {\n const baseString = String(day)\n return (\n baseString.slice(0, 4) + sep\n + baseString.slice(4, 6) + sep\n + baseString.slice(6, 8)\n )\n}\n\n/**\n * Build a DayValue from numeric parts. Returns undefined for invalid parts.\n *\n * @param year - full year (e.g. 2025)\n * @param month - 1-12 (default 1)\n * @param day - 1-31 (default 1)\n */\nexport function dayFromParts(\n year: number,\n month = 1,\n day = 1,\n): DayValue | undefined {\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return year * 10000 + month * 100 + day\n}\n \n/**\n * Parse a string into a DayValue by extracting up to 8 digits (YYYYMMDD).\n * Returns undefined for invalid results.\n * \n * Example:\n * dayValue === dayFromString(String(dayValue))\n */\nexport function dayFromString(value: string): DayValue | undefined {\n const string = String(value)\n .replace(/\\D/g, '')\n .slice(0, 8)\n if (string.length === 8)\n return +string\n}\n\n/**\n * Return the first day of the month for the given DayValue. An optional\n * `offset` (positive or negative) moves the result by months.\n *\n * @param day - source DayValue\n * @param offset - months to offset (default 0)\n */\nexport function dayMonthStart(day: DayValue, offset = 0): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n return dayFromParts(year, month, 1)!\n}\n\n/**\n * Return the first day of the year for the given DayValue. `offset` moves\n * the year by the given amount.\n */\nexport function dayYearStart(day: DayValue, offset = 0): DayValue {\n const year = dayYear(day)\n return dayFromParts(year + offset, 1, 1)!\n}\n\n/**\n * Offset a DayValue by a number of days. Uses timestamp math to avoid local\n * DST issues.\n *\n * @param day - source DayValue\n * @param offset - days to add (negative to subtract)\n */\nexport function dayOffset(day: DayValue, offset: number): DayValue {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return dayFromTimestamp(dayToTimestamp(day) + offset * TIME_DAY_MS)\n}\n\n/**\n * Compute the difference in whole days between two DayValues (right - left).\n */\nexport function dayDiff(left: DayValue, right: DayValue): number {\n return Math.round((dayToTimestamp(right) - dayToTimestamp(left)) / TIME_DAY_MS)\n}\n\n/**\n * Return an array of DayValues from left to right (inclusive).\n *\n * If `right` is omitted it defaults to today. If `left` is negative it is\n * interpreted as an offset relative to `right` (e.g. -7 means the last 7 days).\n */\nexport function dayRange(left: DayValue, right?: DayValue): number[] {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n list.push(left)\n left = dayOffset(left, +1)\n }\n return list\n}\n\n/** Iterator, see dayRange */\n/**\n * Generator that yields DayValues from left to right (inclusive). Same rules\n * as `dayRange` regarding defaults and negative left values.\n */\nexport function* dayIterator(left: DayValue, right?: DayValue) {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n yield left\n left = dayOffset(left, +1)\n }\n return list\n}\n\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-LONV4KUS.cjs","../src/common/data/day.ts"],"names":["testModeDay","setDayTest","ts","__name","DAY_MS","TIME_DAY_MS","dayYear","day","dayMonth","dayDay","dayToParts","dayToDate","utc"],"mappings":"AAAA,qOAAwC,wDAAyC,ICG7EA,CAAAA,CAUG,SAASC,CAAAA,CAAWC,CAAAA,CAAK,QAAA,CAAU,CACxCF,CAAAA,CAAcE,CAChB,CAFgBC,iCAAAA,CAAAF,CAAA,YAAA,CAAA,CAOT,IAAMG,CAAAA,CAASC,mBAAAA,CAyBf,SAASC,CAAAA,CAAQC,CAAAA,CAAyB,CAC/C,OAAO,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAM,GAAK,CAC/B,CAFgBJ,iCAAAA,CAAAG,CAAA,SAAA,CAAA,CAUT,SAASE,CAAAA,CAASD,CAAAA,CAAyB,CAChD,OAAO,IAAA,CAAK,KAAA,CAAOA,CAAAA,CAAM,GAAA,CAAO,GAAG,CACrC,CAFgBJ,iCAAAA,CAAAK,CAAA,UAAA,CAAA,CAUT,SAASC,CAAAA,CAAOF,CAAAA,CAAyB,CAC9C,OAAO,IAAA,CAAK,KAAA,CAAMA,CAAAA,CAAM,GAAG,CAC7B,CAFgBJ,iCAAAA,CAAAM,CAAA,QAAA,CAAA,CAUT,SAASC,CAAAA,CAAWH,CAAAA,CAAyC,CAClE,MAAO,CAACD,CAAAA,CAAQC,CAAG,CAAA,CAAGC,CAAAA,CAASD,CAAG,CAAA,CAAGE,CAAAA,CAAOF,CAAG,CAAC,CAClD,CAFgBJ,iCAAAA,CAAAO,CAAA,YAAA,CAAA,CAcT,SAASC,CAAAA,CAAUJ,CAAAA,CAAeK,CAAAA,CAAM,CAAA,CAAA,CAAa,CAC1D,OAAOA,CAAAA,CACH,IAAI,IAAA,CAAK,CAAA,EAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-LONV4KUS.cjs","sourcesContent":[null,"import { TIME_DAY_MS } from \"../time\"\n\n// Functionality variant\nlet testModeDay: number | undefined\n\n/**\n * Enable test mode for date functions by forcing \"today\" to a fixed day value.\n *\n * Use a numeric DayValue like 20000101 (YYYYMMDD). This is intended for tests\n * to make date-based logic deterministic. Call with no args to reset.\n *\n * @param ts - day to use as \"today\" in YYYYMMDD format (default: 20000101)\n */\nexport function setDayTest(ts = 20000101) {\n testModeDay = ts\n}\n\n/** \n * @deprecated use TIME_DAY_MS\n * Number of milliseconds in one calendar day (24 * 60 * 60 * 1000). */\nexport const DAY_MS = TIME_DAY_MS // 1000 * 60 * 60 * 24\n\n/** DayValue is a numeric date encoded as YYYYMMDD (for example 20250907). */\nexport type DayValue = number\n\n/**\n * Accepted inputs for day conversion helpers.\n * - DayValue or number: a YYYYMMDD numeric value\n * - string: a date string (parsed by digits)\n * - Date: JavaScript Date\n * - [year, month?, day?]: numeric parts\n */\nexport type DayInput =\n | DayValue\n | number\n | string\n | Date\n | [number, number?, number?]\n\n/**\n * Extract the year (YYYY) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns year as number (e.g. 2025)\n */\nexport function dayYear(day: DayValue): DayValue {\n return Math.floor(day / 10000)\n}\n\n/**\n * Extract the month (1-12) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns month number (1-12)\n */\nexport function dayMonth(day: DayValue): DayValue {\n return Math.floor((day / 100) % 100)\n}\n\n/**\n * Extract the day of month (1-31) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns day of month (1-31)\n */\nexport function dayDay(day: DayValue): DayValue {\n return Math.floor(day % 100)\n}\n\n/**\n * Split a DayValue into [year, month, day].\n *\n * @param day - day as YYYYMMDD\n * @returns tuple [year, month, day]\n */\nexport function dayToParts(day: DayValue): [number, number, number] {\n return [dayYear(day), dayMonth(day), dayDay(day)]\n}\n\n/**\n * Convert a DayValue to a JavaScript Date.\n *\n * By default returns a local Date at midnight for the day. If `utc` is true\n * the returned Date represents midnight UTC for that day.\n *\n * @param day - day as YYYYMMDD\n * @param utc - whether to construct the Date in UTC (default: false)\n * @returns Date object for the given day\n */\nexport function dayToDate(day: DayValue, utc = false): Date {\n return utc\n ? new Date(`${dayToString(day)}T00:00:00.000Z`)\n : new Date(\n day / 10000, // year\n Math.max(0, ((day / 100) % 100) - 1), // month\n Math.max(1, day % 100), // day\n )\n}\n\n/**\n * Return today's day as a DayValue (YYYYMMDD).\n *\n * If test mode has been enabled via `setDayTest` this returns the forced\n * value instead. Otherwise it uses the current local date.\n */\nexport function dayFromToday(): DayValue {\n return testModeDay ?? dayFromDate(new Date())\n}\n\n/**\n * Convert multiple input types to a DayValue (YYYYMMDD).\n *\n * Supports numbers (DayValue), strings, Date objects and [year, month?, day?]\n * tuples. Returns undefined for invalid or unsupported values.\n *\n * @param value - input to convert\n * @param utc - when converting from Date, interpret as UTC if true\n */\nexport function dayFromAny(\n value: DayInput,\n utc = false,\n): DayValue | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return value\n }\n else if (typeof value === 'string') {\n return dayFromString(value)\n }\n else if (Array.isArray(value) && value.length >= 1) {\n return dayFromParts(...value)\n }\n else if (value instanceof Date) {\n return dayFromDate(value, utc)\n // } else if (value instanceof Day) {\n // return value.days\n }\n}\n\n/** Convert a DayValue to a Date at midnight UTC. */\nexport function dayToDateUTC(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/**\n * @deprecated use dayToDateUTC\n *\n * Kept for backwards compatibility; returns a Date for midnight UTC.\n */\nexport function dayToDateGMT(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/**\n * Convert a JavaScript Date to a DayValue (YYYYMMDD).\n *\n * If `utc` is true the function uses the ISO string representation to\n * calculate the day in UTC. Otherwise it uses local date components.\n */\nexport function dayFromDate(date: Date, utc = false): DayValue {\n return (\n utc\n ? dayFromString(date.toISOString())\n : date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n )!\n}\n\n/** Convert a Date to DayValue using UTC. */\nexport function dayFromDateUTC(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n/** @deprecated use dayFromDateUTC */\n/**\n * Deprecated: use `dayFromDateUTC`.\n *\n * Kept for backwards compatibility; converts a Date to a UTC DayValue.\n */\nexport function dayFromDateGMT(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n\n/**\n * Convert a DayValue to a UNIX timestamp in seconds. Returns seconds since\n * epoch for midnight of the given day. Defaults to UTC.\n */\nexport function dayToTimestampSeconds(day: DayValue, utc = true): number {\n return Math.floor(dayToDate(day, utc).getTime() / 1000)\n}\n\n/**\n * Convert a DayValue to a timestamp in milliseconds for midnight of that day.\n * Defaults to UTC when constructing the Date.\n */\nexport function dayToTimestamp(day: DayValue, utc = true): number {\n return dayToDate(day, utc).getTime()\n}\n\n/**\n * Convert a timestamp in milliseconds to a DayValue. The timestamp is turned\n * into a Date and then converted; `utc` controls interpretation.\n */\nexport function dayFromTimestamp(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(ms), utc)\n}\n\n/**\n * Convert a UNIX timestamp in seconds to a DayValue.\n *\n * @param ms - seconds since epoch\n */\nexport function dayFromTimestampSeconds(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(Math.floor(ms * 1000)), utc)\n}\n\n/**\n * Format a DayValue as a string with an optional separator.\n *\n * Example: dayToString(20250907) -> \"2025-09-07\"\n */\nexport function dayToString(day: DayValue, sep = '-') {\n const baseString = String(day)\n return (\n baseString.slice(0, 4) + sep\n + baseString.slice(4, 6) + sep\n + baseString.slice(6, 8)\n )\n}\n\n/**\n * Build a DayValue from numeric parts. Returns undefined for invalid parts.\n *\n * @param year - full year (e.g. 2025)\n * @param month - 1-12 (default 1)\n * @param day - 1-31 (default 1)\n */\nexport function dayFromParts(\n year: number,\n month = 1,\n day = 1,\n): DayValue | undefined {\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return year * 10000 + month * 100 + day\n}\n \n/**\n * Parse a string into a DayValue by extracting up to 8 digits (YYYYMMDD).\n * Returns undefined for invalid results.\n * \n * Example:\n * dayValue === dayFromString(String(dayValue))\n */\nexport function dayFromString(value: string): DayValue | undefined {\n const string = String(value)\n .replace(/\\D/g, '')\n .slice(0, 8)\n if (string.length === 8)\n return +string\n}\n\n/**\n * Return the first day of the month for the given DayValue. An optional\n * `offset` (positive or negative) moves the result by months.\n *\n * @param day - source DayValue\n * @param offset - months to offset (default 0)\n */\nexport function dayMonthStart(day: DayValue, offset = 0): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n return dayFromParts(year, month, 1)!\n}\n\n/**\n * Return the day offset by whole months, keeping the day-of-month when possible.\n * If the target month has fewer days, the result is clamped to the last day.\n *\n * @param day - source DayValue\n * @param offset - months to offset (positive or negative)\n */\nexport function dayMonthOffset(day: DayValue, offset: number): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n const dayOfMonth = dayDay(day)\n\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n\n const maxDay = dayDaysInMonth(year, month)\n return dayFromParts(year, month, Math.min(dayOfMonth, maxDay))!\n}\n\n/**\n * Return the first day of the year for the given DayValue. `offset` moves\n * the year by the given amount.\n */\nexport function dayYearStart(day: DayValue, offset = 0): DayValue {\n const year = dayYear(day)\n return dayFromParts(year + offset, 1, 1)!\n}\n\n/**\n * Return the day offset by whole years, keeping month and day when possible.\n * If the target month has fewer days, the result is clamped to the last day.\n *\n * @param day - source DayValue\n * @param offset - years to offset (positive or negative)\n */\nexport function dayYearOffset(day: DayValue, offset: number): DayValue {\n const year = dayYear(day) + offset\n const month = dayMonth(day)\n const dayOfMonth = dayDay(day)\n const maxDay = dayDaysInMonth(year, month)\n return dayFromParts(year, month, Math.min(dayOfMonth, maxDay))!\n}\n\n/** Return number of days in a given month. Month is 1-12. */\nexport function dayDaysInMonth(year: number, month: number): number {\n return new Date(Date.UTC(year, month, 0)).getUTCDate()\n}\n\n/**\n * Offset a DayValue by a number of days. Uses timestamp math to avoid local\n * DST issues.\n *\n * @param day - source DayValue\n * @param offset - days to add (negative to subtract)\n */\nexport function dayOffset(day: DayValue, offset: number): DayValue {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return dayFromTimestamp(dayToTimestamp(day) + offset * TIME_DAY_MS)\n}\n\n/**\n * Compute the difference in whole days between two DayValues (right - left).\n */\nexport function dayDiff(left: DayValue, right: DayValue): number {\n return Math.round((dayToTimestamp(right) - dayToTimestamp(left)) / TIME_DAY_MS)\n}\n\n/**\n * Return an array of DayValues from left to right (inclusive).\n *\n * If `right` is omitted it defaults to today. If `left` is negative it is\n * interpreted as an offset relative to `right` (e.g. -7 means the last 7 days).\n */\nexport function dayRange(left: DayValue, right?: DayValue): number[] {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n list.push(left)\n left = dayOffset(left, +1)\n }\n return list\n}\n\n/** Iterator, see dayRange */\n/**\n * Generator that yields DayValues from left to right (inclusive). Same rules\n * as `dayRange` regarding defaults and negative left values.\n */\nexport function* dayIterator(left: DayValue, right?: DayValue) {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n yield left\n left = dayOffset(left, +1)\n }\n return list\n}\n\n"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-4X7UJTXJ.js";import{d as L}from"./chunk-ILGYTMLK.js";import{a as p}from"./chunk-KIKHNNKK.js";import{e as l}from"./chunk-JDYZOWCH.js";import{a}from"./chunk-Q5ELIPLD.js";import{f as g}from"./chunk-WFBD5UN5.js";import{a as f}from"./chunk-R3IUCVWM.js";import{a as n}from"./chunk-5NKC2EQJ.js";import o from"process";function T(e,r){return f(t=>{let i=[L({padding:32,nameBrackets:!1})],m=o.env.ZEED_LOG??o.env.LOG,c=g(o.env.ZEED_TIME,!0),E=g(o.env.ZEED_PRETTY,!1),v=p(o.env.ZEED_ROTATE);m&&i.unshift(s(l(m),{time:c,pretty:E,rotation:v})),t.setHandlers(i)})(e,r)}n(T,"Logger");function F(e,r,t){return a(T,e,r,t)}n(F,"LoggerFromConfig");export{T as a,F as b};
2
- //# sourceMappingURL=chunk-AWH6SPNF.js.map
1
+ import{a as s}from"./chunk-WH4WW45N.js";import{a as p}from"./chunk-KIKHNNKK.js";import{d as L}from"./chunk-ILGYTMLK.js";import{e as l}from"./chunk-JDYZOWCH.js";import{a}from"./chunk-Q5ELIPLD.js";import{f as g}from"./chunk-WFBD5UN5.js";import{a as f}from"./chunk-R3IUCVWM.js";import{a as n}from"./chunk-5NKC2EQJ.js";import o from"process";function T(e,r){return f(t=>{let i=[L({padding:32,nameBrackets:!1})],m=o.env.ZEED_LOG??o.env.LOG,c=g(o.env.ZEED_TIME,!0),E=g(o.env.ZEED_PRETTY,!1),v=p(o.env.ZEED_ROTATE);m&&i.unshift(s(l(m),{time:c,pretty:E,rotation:v})),t.setHandlers(i)})(e,r)}n(T,"Logger");function F(e,r,t){return a(T,e,r,t)}n(F,"LoggerFromConfig");export{T as a,F as b};
2
+ //# sourceMappingURL=chunk-MV2F4DQ6.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVR7T3I5Ncjs = require('./chunk-VR7T3I5N.cjs');var _chunkNVLJOTGFcjs = require('./chunk-NVLJOTGF.cjs');var _chunkZBG4FI7Ecjs = require('./chunk-ZBG4FI7E.cjs');var _chunkTNMEWZPWcjs = require('./chunk-TNMEWZPW.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var J=class{static{_chunkP7XCQ7WVcjs.a.call(void 0, this,"BinaryEncoder")}async encode(r){let n=_chunkVR7T3I5Ncjs.b.call(void 0, );return _chunkVR7T3I5Ncjs.A.call(void 0, n,r),_chunkVR7T3I5Ncjs.d.call(void 0, n)}async decode(r){return _chunkNVLJOTGFcjs.A.call(void 0, _chunkNVLJOTGFcjs.b.call(void 0, _chunkTNMEWZPWcjs.G.call(void 0, r)))}};function q(t){let r=_chunkVR7T3I5Ncjs.b.call(void 0, );return _chunkVR7T3I5Ncjs.A.call(void 0, r,t),_chunkVR7T3I5Ncjs.d.call(void 0, r)}_chunkP7XCQ7WVcjs.a.call(void 0, q,"encodeJson");function v(t){return _chunkNVLJOTGFcjs.A.call(void 0, _chunkNVLJOTGFcjs.b.call(void 0, _chunkTNMEWZPWcjs.G.call(void 0, t)))}_chunkP7XCQ7WVcjs.a.call(void 0, v,"decodeJson");function z(t){let r=_chunkVR7T3I5Ncjs.b.call(void 0, );return t!=null&&_chunkVR7T3I5Ncjs.r.call(void 0, r,_chunkTNMEWZPWcjs.G.call(void 0, t)),{writeBytes:_chunkP7XCQ7WVcjs.a.call(void 0, (n,a)=>{let o=_chunkTNMEWZPWcjs.G.call(void 0, n);_chunkZBG4FI7Ecjs.c.call(void 0, !(a!=null&&o.length!==a),`Expected ${a} bytes, got ${o.length}`),_chunkVR7T3I5Ncjs.r.call(void 0, r,o)},"writeBytes"),writeBytesVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.s.call(void 0, r,_chunkTNMEWZPWcjs.G.call(void 0, n)),"writeBytesVar"),writeUintVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.o.call(void 0, r,n),"writeUintVar"),writeUint8:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.h.call(void 0, r,n),"writeUint8"),writeUint16:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.j.call(void 0, r,n),"writeUint16"),writeUint32:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.l.call(void 0, r,n),"writeUint32"),writeIntVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.q.call(void 0, r,n),"writeIntVar"),writeFloat:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.w.call(void 0, r,n),"writeFloat"),writeStringVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.t.call(void 0, r,n),"writeStringVar"),write:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.A.call(void 0, r,n),"write"),getUint8Array:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkVR7T3I5Ncjs.d.call(void 0, r),"getUint8Array"),getLength:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkVR7T3I5Ncjs.c.call(void 0, r),"getLength")}}_chunkP7XCQ7WVcjs.a.call(void 0, z,"createBinaryStreamEncoder");function G(t){let r=_chunkNVLJOTGFcjs.b.call(void 0, _chunkTNMEWZPWcjs.G.call(void 0, t));return{readBytes:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkNVLJOTGFcjs.e.call(void 0, r,n),"readBytes"),readBytesVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.g.call(void 0, r),"readBytesVar"),readUintVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.f.call(void 0, r),"readUintVar"),readUint8:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.j.call(void 0, r),"readUint8"),readUint16:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.k.call(void 0, r),"readUint16"),readUint32:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.l.call(void 0, r),"readUint32"),readIntVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.q.call(void 0, r),"readIntVar"),readFloat:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.w.call(void 0, r),"readFloat"),readStringVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.t.call(void 0, r),"readStringVar"),read:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.A.call(void 0, r),"read"),getOffset:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>r.pos||0,"getOffset")}}_chunkP7XCQ7WVcjs.a.call(void 0, G,"createBinaryStreamDecoder");function H(t=0){return{setBit:_chunkP7XCQ7WVcjs.a.call(void 0, (r,n=!0)=>n?t|=1<<r:t&=~(1<<r),"setBit"),unsetBit:_chunkP7XCQ7WVcjs.a.call(void 0, r=>t&=1<<r,"unsetBit"),toggleBit:_chunkP7XCQ7WVcjs.a.call(void 0, r=>t^=1<<r,"toggleBit"),getBit:_chunkP7XCQ7WVcjs.a.call(void 0, r=>(t&1<<r)!==0,"getBit"),getValue:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>t,"getValue")}}_chunkP7XCQ7WVcjs.a.call(void 0, H,"bitfield");async function $(t){if(t.arrayBuffer)return await t.arrayBuffer();try{return new Promise((r,n)=>{try{let a=new FileReader;a.onloadend=()=>r(a.result),a.onerror=o=>n(o),a.onabort=o=>n(o),a.readAsArrayBuffer(t)}catch(a){n(a)}})}catch (e2){}}_chunkP7XCQ7WVcjs.a.call(void 0, $,"blobToArrayBuffer");async function K(t){let r=await $(t);if(r!=null)return _chunkTNMEWZPWcjs.G.call(void 0, r)}_chunkP7XCQ7WVcjs.a.call(void 0, K,"blobToUint8Array");exports.a = J; exports.b = q; exports.c = v; exports.d = z; exports.e = G; exports.f = H; exports.g = $; exports.h = K;
2
- //# sourceMappingURL=chunk-ZMYA5QAV.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNVLJOTGFcjs = require('./chunk-NVLJOTGF.cjs');var _chunkVR7T3I5Ncjs = require('./chunk-VR7T3I5N.cjs');var _chunkZBG4FI7Ecjs = require('./chunk-ZBG4FI7E.cjs');var _chunkTNMEWZPWcjs = require('./chunk-TNMEWZPW.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var J=class{static{_chunkP7XCQ7WVcjs.a.call(void 0, this,"BinaryEncoder")}async encode(r){let n=_chunkVR7T3I5Ncjs.b.call(void 0, );return _chunkVR7T3I5Ncjs.A.call(void 0, n,r),_chunkVR7T3I5Ncjs.d.call(void 0, n)}async decode(r){return _chunkNVLJOTGFcjs.A.call(void 0, _chunkNVLJOTGFcjs.b.call(void 0, _chunkTNMEWZPWcjs.G.call(void 0, r)))}};function q(t){let r=_chunkVR7T3I5Ncjs.b.call(void 0, );return _chunkVR7T3I5Ncjs.A.call(void 0, r,t),_chunkVR7T3I5Ncjs.d.call(void 0, r)}_chunkP7XCQ7WVcjs.a.call(void 0, q,"encodeJson");function v(t){return _chunkNVLJOTGFcjs.A.call(void 0, _chunkNVLJOTGFcjs.b.call(void 0, _chunkTNMEWZPWcjs.G.call(void 0, t)))}_chunkP7XCQ7WVcjs.a.call(void 0, v,"decodeJson");function z(t){let r=_chunkVR7T3I5Ncjs.b.call(void 0, );return t!=null&&_chunkVR7T3I5Ncjs.r.call(void 0, r,_chunkTNMEWZPWcjs.G.call(void 0, t)),{writeBytes:_chunkP7XCQ7WVcjs.a.call(void 0, (n,a)=>{let o=_chunkTNMEWZPWcjs.G.call(void 0, n);_chunkZBG4FI7Ecjs.c.call(void 0, !(a!=null&&o.length!==a),`Expected ${a} bytes, got ${o.length}`),_chunkVR7T3I5Ncjs.r.call(void 0, r,o)},"writeBytes"),writeBytesVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.s.call(void 0, r,_chunkTNMEWZPWcjs.G.call(void 0, n)),"writeBytesVar"),writeUintVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.o.call(void 0, r,n),"writeUintVar"),writeUint8:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.h.call(void 0, r,n),"writeUint8"),writeUint16:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.j.call(void 0, r,n),"writeUint16"),writeUint32:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.l.call(void 0, r,n),"writeUint32"),writeIntVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.q.call(void 0, r,n),"writeIntVar"),writeFloat:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.w.call(void 0, r,n),"writeFloat"),writeStringVar:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.t.call(void 0, r,n),"writeStringVar"),write:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkVR7T3I5Ncjs.A.call(void 0, r,n),"write"),getUint8Array:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkVR7T3I5Ncjs.d.call(void 0, r),"getUint8Array"),getLength:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkVR7T3I5Ncjs.c.call(void 0, r),"getLength")}}_chunkP7XCQ7WVcjs.a.call(void 0, z,"createBinaryStreamEncoder");function G(t){let r=_chunkNVLJOTGFcjs.b.call(void 0, _chunkTNMEWZPWcjs.G.call(void 0, t));return{readBytes:_chunkP7XCQ7WVcjs.a.call(void 0, n=>_chunkNVLJOTGFcjs.e.call(void 0, r,n),"readBytes"),readBytesVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.g.call(void 0, r),"readBytesVar"),readUintVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.f.call(void 0, r),"readUintVar"),readUint8:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.j.call(void 0, r),"readUint8"),readUint16:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.k.call(void 0, r),"readUint16"),readUint32:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.l.call(void 0, r),"readUint32"),readIntVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.q.call(void 0, r),"readIntVar"),readFloat:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.w.call(void 0, r),"readFloat"),readStringVar:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.t.call(void 0, r),"readStringVar"),read:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>_chunkNVLJOTGFcjs.A.call(void 0, r),"read"),getOffset:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>r.pos||0,"getOffset")}}_chunkP7XCQ7WVcjs.a.call(void 0, G,"createBinaryStreamDecoder");function H(t=0){return{setBit:_chunkP7XCQ7WVcjs.a.call(void 0, (r,n=!0)=>n?t|=1<<r:t&=~(1<<r),"setBit"),unsetBit:_chunkP7XCQ7WVcjs.a.call(void 0, r=>t&=1<<r,"unsetBit"),toggleBit:_chunkP7XCQ7WVcjs.a.call(void 0, r=>t^=1<<r,"toggleBit"),getBit:_chunkP7XCQ7WVcjs.a.call(void 0, r=>(t&1<<r)!==0,"getBit"),getValue:_chunkP7XCQ7WVcjs.a.call(void 0, ()=>t,"getValue")}}_chunkP7XCQ7WVcjs.a.call(void 0, H,"bitfield");async function $(t){if(t.arrayBuffer)return await t.arrayBuffer();try{return new Promise((r,n)=>{try{let a=new FileReader;a.onloadend=()=>r(a.result),a.onerror=o=>n(o),a.onabort=o=>n(o),a.readAsArrayBuffer(t)}catch(a){n(a)}})}catch (e2){}}_chunkP7XCQ7WVcjs.a.call(void 0, $,"blobToArrayBuffer");async function K(t){let r=await $(t);if(r!=null)return _chunkTNMEWZPWcjs.G.call(void 0, r)}_chunkP7XCQ7WVcjs.a.call(void 0, K,"blobToUint8Array");exports.a = J; exports.b = q; exports.c = v; exports.d = z; exports.e = G; exports.f = H; exports.g = $; exports.h = K;
2
+ //# sourceMappingURL=chunk-RMTW3TW2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-ZMYA5QAV.cjs","../src/common/bin/index.ts"],"names":["BinaryEncoder","__name","data","dataEncoder","createBinEncoder","writeAny","encodeToUint8Array","readAny","createDecoder","toUint8Array","encodeJson","decodeJson","createBinaryStreamEncoder","initialData","writeUint8Array","expectedLength","bin","assertCondition"],"mappings":"AAAA,iIAA4H,wDAA+G,wDAAyC,wDAAyC,wDAAyC,ICSzVA,CAAAA,CAAN,KAAuC,CAT9C,MAS8C,CAAAC,iCAAAA,IAAA,CAAA,eAAA,CAAA,CAC5C,MAAM,MAAA,CAAOC,CAAAA,CAAgC,CAC3C,IAAMC,CAAAA,CAAcC,iCAAAA,CAAiB,CACrC,OAAAC,iCAAAA,CAASF,CAAaD,CAAI,CAAA,CACnBI,iCAAAA,CAA8B,CACvC,CAEA,MAAM,MAAA,CAAOJ,CAAAA,CAA8C,CACzD,OAAOK,iCAAAA,iCAAQC,iCAAcC,CAAiB,CAAC,CAAC,CAClD,CACF,CAAA,CAKO,SAASC,CAAAA,CAAWR,CAAAA,CAAuB,CAChD,IAAMC,CAAAA,CAAcC,iCAAAA,CAAiB,CACrC,OAAAC,iCAAAA,CAASF,CAAaD,CAAI,CAAA,CACnBI,iCAAAA,CAA8B,CACvC,CAJgBL,iCAAAA,CAAAS,CAAA,YAAA,CAAA,CAOT,SAASC,CAAAA,CAAWT,CAAAA,CAAqC,CAC9D,OAAOK,iCAAAA,iCAAQC,iCAAcC,CAAiB,CAAC,CAAC,CAClD,CAFgBR,iCAAAA,CAAAU,CAAA,YAAA,CAAA,CAOT,SAASC,CAAAA,CAA0BC,CAAAA,CAAwB,CAChE,IAAMV,CAAAA,CAAcC,iCAAAA,CAAiB,CAErC,OAAIS,CAAAA,EAAe,IAAA,EACjBC,iCAAAA,CAAgBX,CAAaM,iCAAAA,CAAwB,CAAC,CAAA,CAEjD,CAEL,UAAA,CAAYR,iCAAAA,CAACC,CAAAA,CAAgBa,CAAAA,CAAAA,EAA2B,CACtD,IAAMC,CAAAA,CAAMP,iCAAAA,CAAiB,CAAA,CAC7BQ,iCAAAA,CAAgB,CAAEF,CAAAA,EAAkB,IAAA,EAAQC,CAAAA,CAAI,MAAA,GAAWD,CAAAA,CAAAA,CAAiB,CAAA,SAAA,EAAYA,CAAc,CAAA,YAAA,EAAeC,CAAAA,CAAI,MAAM,CAAA,CAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-ZMYA5QAV.cjs","sourcesContent":[null,"import type { BinInput } from '../data/bin-types'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n if (blob.arrayBuffer)\n return await blob.arrayBuffer()\n\n // Fallback for older browsers\n try {\n return new Promise((resolve, reject) => {\n try {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n reader.onerror = err => reject(err)\n reader.onabort = err => reject(err)\n reader.readAsArrayBuffer(blob)\n }\n catch (err) {\n reject(err)\n }\n })\n }\n catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-RMTW3TW2.cjs","../src/common/bin/index.ts"],"names":["BinaryEncoder","__name","data","dataEncoder","createBinEncoder","writeAny","encodeToUint8Array","readAny","createDecoder","toUint8Array","encodeJson","decodeJson","createBinaryStreamEncoder","initialData","writeUint8Array","expectedLength","bin","assertCondition"],"mappings":"AAAA,iIAA8G,wDAA6H,wDAAyC,wDAAyC,wDAAyC,ICSzVA,CAAAA,CAAN,KAAuC,CAT9C,MAS8C,CAAAC,iCAAAA,IAAA,CAAA,eAAA,CAAA,CAC5C,MAAM,MAAA,CAAOC,CAAAA,CAAgC,CAC3C,IAAMC,CAAAA,CAAcC,iCAAAA,CAAiB,CACrC,OAAAC,iCAAAA,CAASF,CAAaD,CAAI,CAAA,CACnBI,iCAAAA,CAA8B,CACvC,CAEA,MAAM,MAAA,CAAOJ,CAAAA,CAA8C,CACzD,OAAOK,iCAAAA,iCAAQC,iCAAcC,CAAiB,CAAC,CAAC,CAClD,CACF,CAAA,CAKO,SAASC,CAAAA,CAAWR,CAAAA,CAAuB,CAChD,IAAMC,CAAAA,CAAcC,iCAAAA,CAAiB,CACrC,OAAAC,iCAAAA,CAASF,CAAaD,CAAI,CAAA,CACnBI,iCAAAA,CAA8B,CACvC,CAJgBL,iCAAAA,CAAAS,CAAA,YAAA,CAAA,CAOT,SAASC,CAAAA,CAAWT,CAAAA,CAAqC,CAC9D,OAAOK,iCAAAA,iCAAQC,iCAAcC,CAAiB,CAAC,CAAC,CAClD,CAFgBR,iCAAAA,CAAAU,CAAA,YAAA,CAAA,CAOT,SAASC,CAAAA,CAA0BC,CAAAA,CAAwB,CAChE,IAAMV,CAAAA,CAAcC,iCAAAA,CAAiB,CAErC,OAAIS,CAAAA,EAAe,IAAA,EACjBC,iCAAAA,CAAgBX,CAAaM,iCAAAA,CAAwB,CAAC,CAAA,CAEjD,CAEL,UAAA,CAAYR,iCAAAA,CAACC,CAAAA,CAAgBa,CAAAA,CAAAA,EAA2B,CACtD,IAAMC,CAAAA,CAAMP,iCAAAA,CAAiB,CAAA,CAC7BQ,iCAAAA,CAAgB,CAAEF,CAAAA,EAAkB,IAAA,EAAQC,CAAAA,CAAI,MAAA,GAAWD,CAAAA,CAAAA,CAAiB,CAAA,SAAA,EAAYA,CAAc,CAAA,YAAA,EAAeC,CAAAA,CAAI,MAAM,CAAA,CAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-RMTW3TW2.cjs","sourcesContent":[null,"import type { BinInput } from '../data/bin-types'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n if (blob.arrayBuffer)\n return await blob.arrayBuffer()\n\n // Fallback for older browsers\n try {\n return new Promise((resolve, reject) => {\n try {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n reader.onerror = err => reject(err)\n reader.onabort = err => reject(err)\n reader.readAsArrayBuffer(blob)\n }\n catch (err) {\n reject(err)\n }\n })\n }\n catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{g as o}from"./chunk-GOLLLFWP.js";import{L as n,N as e}from"./chunk-TXYP3UN6.js";import{a as i}from"./chunk-5NKC2EQJ.js";function p(t){if(t.startsWith("data:"))return e(t.split(",",2)[1])}i(p,"dataUriToUint8Array");function d(t){if(t.startsWith("data:"))return t.slice(5).split(",",2)[0]}i(d,"dataUriToMimeType");function l(t){if(t.startsWith("data:")){let[r,a]=t.slice(5).split(",",2),s=e(a).slice().buffer;return new Blob([s],{type:r})}}i(l,"dataUriToBlob");async function b(t){let r=await o(t);if(r)return`data:${t.type},${n(r)}`}i(b,"blobToDataUri");function m(t,r="application/octet-stream"){return`data:${r},${n(t)}`}i(m,"Uint8ArrayToDataUri");export{p as a,d as b,l as c,b as d,m as e};
2
- //# sourceMappingURL=chunk-TI3COOG4.js.map
1
+ import{g as o}from"./chunk-IBGLNGGT.js";import{L as n,N as e}from"./chunk-TXYP3UN6.js";import{a as i}from"./chunk-5NKC2EQJ.js";function p(t){if(t.startsWith("data:"))return e(t.split(",",2)[1])}i(p,"dataUriToUint8Array");function d(t){if(t.startsWith("data:"))return t.slice(5).split(",",2)[0]}i(d,"dataUriToMimeType");function l(t){if(t.startsWith("data:")){let[r,a]=t.slice(5).split(",",2),s=e(a).slice().buffer;return new Blob([s],{type:r})}}i(l,"dataUriToBlob");async function b(t){let r=await o(t);if(r)return`data:${t.type},${n(r)}`}i(b,"blobToDataUri");function m(t,r="application/octet-stream"){return`data:${r},${n(t)}`}i(m,"Uint8ArrayToDataUri");export{p as a,d as b,l as c,b as d,m as e};
2
+ //# sourceMappingURL=chunk-UAU7GDLR.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkKHK37DTScjs = require('./chunk-KHK37DTS.cjs');var _chunk7UA33BQWcjs = require('./chunk-7UA33BQW.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var o=class e{static{_chunkP7XCQ7WVcjs.a.call(void 0, this,"Day")}get value(){return this.days}constructor(t){if(typeof t=="number"){this.days=t;return}if(t!=null&&(t=_optionalChain([e, 'access', _ => _.from, 'call', _2 => _2(t), 'optionalAccess', _3 => _3.days])),t==null){let r=new Date;this.days=r.getFullYear()*1e4+(r.getMonth()+1)*100+r.getDate()}else this.days=t}static fromNumber(t){return new e(t)}static fromString(t){return e.from(+t.replace(/\D/g,"").slice(0,8))}static fromDate(t,r=!1){return r?e.fromString(t.toISOString().substr(0,10)):e.from(t.getFullYear()*1e4+(t.getMonth()+1)*100+t.getDate())}static fromDateUTC(t){return e.fromDate(t,!0)}static fromDateGMT(t){return e.fromDate(t,!0)}static from(t,r=!1){if(typeof t=="number")return t<100?void 0:new e(t);if(typeof t=="string")return e.fromString(t);if(Array.isArray(t)&&t.length===3){let[a,n=1,s=1]=t;return n<1||n>12||s<1||s>31?void 0:new e(a*1e4+n*100+s)}else{if(t instanceof Date)return e.fromDate(t,r);if(t instanceof e)return t}}toNumber(){return this.days}toJson(){return this.days}toString(t="-"){let r=String(this.days);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}toDate(t=!1){return t?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateUTC(){return this.toDate(!0)}toDateGMT(){return this.toDate(!0)}get year(){return Math.floor(this.days/1e4)}get month(){return Math.floor(this.days/100%100)}get day(){return Math.floor(this.days%100)}dayOffset(t){return e.fromDateUTC(new Date(this.toDateUTC().getTime()+t*_chunkKHK37DTScjs.b))}monthStart(){return e.from([this.year,this.month,1])}yearStart(){return e.from([this.year,1,1])}monthOffset(t){let r=this.month+t,a=Math.floor((r-1)%12)+1;a===0&&(a=12);let n=Math.floor((r-1)/12);return e.from([this.year+n,a,this.day])}daysUntil(t){return Math.round((_optionalChain([new e(t), 'optionalAccess', _4 => _4.toDateUTC, 'call', _5 => _5(), 'access', _6 => _6.getTime, 'call', _7 => _7()])-this.toDateUTC().getTime())/_chunkKHK37DTScjs.b)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};async function m(e,t,r){let a=o.from(e),n=o.from(t);for(;a&&n&&_optionalChain([a, 'optionalAccess', _8 => _8.days])<=_optionalChain([n, 'optionalAccess', _9 => _9.days]);){let s=r(a);_chunk7UA33BQWcjs.h.call(void 0, s)&&await s,a=a.dayOffset(1)}}_chunkP7XCQ7WVcjs.a.call(void 0, m,"forEachDay");function h(){return new o}_chunkP7XCQ7WVcjs.a.call(void 0, h,"today");function c(e){return new o(e)}_chunkP7XCQ7WVcjs.a.call(void 0, c,"day");function g(e){return o.fromDate(new Date(e)).days}_chunkP7XCQ7WVcjs.a.call(void 0, g,"dateStringToDays");exports.a = o; exports.b = m; exports.c = h; exports.d = c; exports.e = g;
2
- //# sourceMappingURL=chunk-IMM23TO5.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkLONV4KUScjs = require('./chunk-LONV4KUS.cjs');var _chunk7UA33BQWcjs = require('./chunk-7UA33BQW.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var o=class e{static{_chunkP7XCQ7WVcjs.a.call(void 0, this,"Day")}get value(){return this.days}constructor(t){if(typeof t=="number"){this.days=t;return}if(t!=null&&(t=_optionalChain([e, 'access', _ => _.from, 'call', _2 => _2(t), 'optionalAccess', _3 => _3.days])),t==null){let r=new Date;this.days=r.getFullYear()*1e4+(r.getMonth()+1)*100+r.getDate()}else this.days=t}static fromNumber(t){return new e(t)}static fromString(t){return e.from(+t.replace(/\D/g,"").slice(0,8))}static fromDate(t,r=!1){return r?e.fromString(t.toISOString().substr(0,10)):e.from(t.getFullYear()*1e4+(t.getMonth()+1)*100+t.getDate())}static fromDateUTC(t){return e.fromDate(t,!0)}static fromDateGMT(t){return e.fromDate(t,!0)}static from(t,r=!1){if(typeof t=="number")return t<100?void 0:new e(t);if(typeof t=="string")return e.fromString(t);if(Array.isArray(t)&&t.length===3){let[a,n=1,s=1]=t;return n<1||n>12||s<1||s>31?void 0:new e(a*1e4+n*100+s)}else{if(t instanceof Date)return e.fromDate(t,r);if(t instanceof e)return t}}toNumber(){return this.days}toJson(){return this.days}toString(t="-"){let r=String(this.days);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}toDate(t=!1){return t?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateUTC(){return this.toDate(!0)}toDateGMT(){return this.toDate(!0)}get year(){return Math.floor(this.days/1e4)}get month(){return Math.floor(this.days/100%100)}get day(){return Math.floor(this.days%100)}dayOffset(t){return e.fromDateUTC(new Date(this.toDateUTC().getTime()+t*_chunkLONV4KUScjs.b))}monthStart(){return e.from([this.year,this.month,1])}yearStart(){return e.from([this.year,1,1])}monthOffset(t){let r=this.month+t,a=Math.floor((r-1)%12)+1;a===0&&(a=12);let n=Math.floor((r-1)/12);return e.from([this.year+n,a,this.day])}daysUntil(t){return Math.round((_optionalChain([new e(t), 'optionalAccess', _4 => _4.toDateUTC, 'call', _5 => _5(), 'access', _6 => _6.getTime, 'call', _7 => _7()])-this.toDateUTC().getTime())/_chunkLONV4KUScjs.b)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};async function m(e,t,r){let a=o.from(e),n=o.from(t);for(;a&&n&&_optionalChain([a, 'optionalAccess', _8 => _8.days])<=_optionalChain([n, 'optionalAccess', _9 => _9.days]);){let s=r(a);_chunk7UA33BQWcjs.h.call(void 0, s)&&await s,a=a.dayOffset(1)}}_chunkP7XCQ7WVcjs.a.call(void 0, m,"forEachDay");function h(){return new o}_chunkP7XCQ7WVcjs.a.call(void 0, h,"today");function c(e){return new o(e)}_chunkP7XCQ7WVcjs.a.call(void 0, c,"day");function g(e){return o.fromDate(new Date(e)).days}_chunkP7XCQ7WVcjs.a.call(void 0, g,"dateStringToDays");exports.a = o; exports.b = m; exports.c = h; exports.d = c; exports.e = g;
2
+ //# sourceMappingURL=chunk-V3A7ZIGT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-IMM23TO5.cjs","../src/common/data/day-legacy.ts"],"names":["Day","_Day","__name","days","date","n","dateString","utc","value","year","month","day","sep","baseString"],"mappings":"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","file":"/Users/dirk/work/github-zeed/dist/chunk-IMM23TO5.cjs","sourcesContent":[null,"import { isPromise } from '../exec/promise'\nimport type { DayInput, DayValue } from './day'\nimport { DAY_MS } from './day'\n\n// See also and alternatives:\n// https://blog.openreplay.com/is-it-time-for-the-javascript-temporal-api\n// https://github.com/iamkun/dayjs\n// https://github.com/date-fns/date-fns\n\nexport type DayInputLegacy = DayInput | Day\n\n/**\n * Date represented as positive integer value. Years smaller 0 are not supported.\n * @deprecated\n */\nexport class Day {\n days: DayValue\n\n get value() {\n return this.days\n }\n\n constructor(days?: DayInputLegacy) {\n if (typeof days === 'number') {\n this.days = days\n return\n }\n\n if (days != null)\n days = Day.from(days)?.days\n\n if (days == null) {\n const date = new Date()\n this.days\n = date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n }\n else {\n this.days = days\n }\n }\n\n static fromNumber(n: number): Day {\n return new Day(n)\n }\n\n static fromString(dateString: string): Day | undefined {\n return Day.from(+dateString.replace(/\\D/g, '').slice(0, 8))\n }\n\n static fromDate(date: Date, utc = false): Day {\n return (\n utc\n ? Day.fromString(date.toISOString().substr(0, 10))\n : Day.from(\n date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate(),\n )\n ) as Day\n }\n\n static fromDateUTC(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n /** @deprecated use fromDateUTC */\n static fromDateGMT(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n static from(value: DayInputLegacy, utc = false): Day | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return new Day(value)\n }\n else if (typeof value === 'string') {\n return Day.fromString(value)\n }\n else if (Array.isArray(value) && value.length === 3) {\n const [year, month = 1, day = 1] = value\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return new Day(year * 10000 + month * 100 + day)\n }\n else if (value instanceof Date) {\n return Day.fromDate(value, utc)\n }\n else if (value instanceof Day) {\n return value\n }\n }\n\n toNumber(): number {\n return this.days\n }\n\n // Transformer\n\n /** Just for future extensions */\n toJson() {\n return this.days\n }\n\n toString(sep = '-') {\n const baseString = String(this.days)\n return (\n baseString.slice(0, 4)\n + sep\n + baseString.slice(4, 6)\n + sep\n + baseString.slice(6, 8)\n )\n }\n\n toDate(utc = false): Date {\n return utc\n ? new Date(`${this.toString()}T00:00:00.000Z`)\n : new Date(\n this.days / 10000, // year\n ((this.days / 100) % 100) - 1, // month\n this.days % 100, // day\n )\n }\n\n toDateUTC() {\n return this.toDate(true)\n }\n\n /** @deprecated use toDateUTC */\n toDateGMT() {\n return this.toDate(true)\n }\n\n get year() {\n return Math.floor(this.days / 10000)\n }\n\n get month() {\n return Math.floor((this.days / 100) % 100)\n }\n\n get day() {\n return Math.floor(this.days % 100)\n }\n\n // Calculations\n\n dayOffset(offset: number): Day {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return Day.fromDateUTC(\n new Date(this.toDateUTC().getTime() + offset * DAY_MS),\n )\n }\n\n monthStart(): Day {\n return Day.from([this.year, this.month, 1])!\n }\n\n yearStart(): Day {\n return Day.from([this.year, 1, 1])!\n }\n\n /** Very stupid approach, only works for days <= 28 */\n monthOffset(offset: number): Day {\n const m = this.month + offset\n let mm = Math.floor((m - 1) % 12) + 1\n if (mm === 0)\n mm = 12\n const yy = Math.floor((m - 1) / 12)\n // log(\"calc\", m, mm, yy, [this.year + yy, mm, this.day])\n return Day.from([this.year + yy, mm, this.day])!\n }\n\n daysUntil(otherDay: DayInputLegacy): number {\n return Math.round(\n (new Day(otherDay)?.toDateUTC().getTime() - this.toDateUTC().getTime())\n / DAY_MS,\n )\n }\n\n // Shortcuts\n\n yesterday() {\n return this.dayOffset(-1)\n }\n\n tomorrow() {\n return this.dayOffset(+1)\n }\n}\n\nexport async function forEachDay(\n from: DayInputLegacy,\n to: DayInputLegacy,\n handler: (date: Day) => Promise<void> | void,\n) {\n let start = Day.from(from)\n const end = Day.from(to)\n // eslint-disable-next-line no-unmodified-loop-condition\n while (start && end && start?.days <= end?.days) {\n const result = handler(start)\n if (isPromise(result))\n await result\n start = start.dayOffset(+1)\n }\n}\n\nexport function today(): Day {\n return new Day()\n}\n\n/** @deprecated */\nexport function day(days?: DayInputLegacy): Day {\n return new Day(days)\n}\n\nexport function dateStringToDays(dateString: string): number {\n return Day.fromDate(new Date(dateString)).days\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-V3A7ZIGT.cjs","../src/common/data/day-legacy.ts"],"names":["Day","_Day","__name","days","date","n","dateString","utc","value","year","month","day","sep","baseString"],"mappings":"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","file":"/Users/dirk/work/github-zeed/dist/chunk-V3A7ZIGT.cjs","sourcesContent":[null,"import { isPromise } from '../exec/promise'\nimport type { DayInput, DayValue } from './day'\nimport { DAY_MS } from './day'\n\n// See also and alternatives:\n// https://blog.openreplay.com/is-it-time-for-the-javascript-temporal-api\n// https://github.com/iamkun/dayjs\n// https://github.com/date-fns/date-fns\n\nexport type DayInputLegacy = DayInput | Day\n\n/**\n * Date represented as positive integer value. Years smaller 0 are not supported.\n * @deprecated\n */\nexport class Day {\n days: DayValue\n\n get value() {\n return this.days\n }\n\n constructor(days?: DayInputLegacy) {\n if (typeof days === 'number') {\n this.days = days\n return\n }\n\n if (days != null)\n days = Day.from(days)?.days\n\n if (days == null) {\n const date = new Date()\n this.days\n = date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n }\n else {\n this.days = days\n }\n }\n\n static fromNumber(n: number): Day {\n return new Day(n)\n }\n\n static fromString(dateString: string): Day | undefined {\n return Day.from(+dateString.replace(/\\D/g, '').slice(0, 8))\n }\n\n static fromDate(date: Date, utc = false): Day {\n return (\n utc\n ? Day.fromString(date.toISOString().substr(0, 10))\n : Day.from(\n date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate(),\n )\n ) as Day\n }\n\n static fromDateUTC(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n /** @deprecated use fromDateUTC */\n static fromDateGMT(date: Date): Day {\n return Day.fromDate(date, true)\n }\n\n static from(value: DayInputLegacy, utc = false): Day | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return new Day(value)\n }\n else if (typeof value === 'string') {\n return Day.fromString(value)\n }\n else if (Array.isArray(value) && value.length === 3) {\n const [year, month = 1, day = 1] = value\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return new Day(year * 10000 + month * 100 + day)\n }\n else if (value instanceof Date) {\n return Day.fromDate(value, utc)\n }\n else if (value instanceof Day) {\n return value\n }\n }\n\n toNumber(): number {\n return this.days\n }\n\n // Transformer\n\n /** Just for future extensions */\n toJson() {\n return this.days\n }\n\n toString(sep = '-') {\n const baseString = String(this.days)\n return (\n baseString.slice(0, 4)\n + sep\n + baseString.slice(4, 6)\n + sep\n + baseString.slice(6, 8)\n )\n }\n\n toDate(utc = false): Date {\n return utc\n ? new Date(`${this.toString()}T00:00:00.000Z`)\n : new Date(\n this.days / 10000, // year\n ((this.days / 100) % 100) - 1, // month\n this.days % 100, // day\n )\n }\n\n toDateUTC() {\n return this.toDate(true)\n }\n\n /** @deprecated use toDateUTC */\n toDateGMT() {\n return this.toDate(true)\n }\n\n get year() {\n return Math.floor(this.days / 10000)\n }\n\n get month() {\n return Math.floor((this.days / 100) % 100)\n }\n\n get day() {\n return Math.floor(this.days % 100)\n }\n\n // Calculations\n\n dayOffset(offset: number): Day {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return Day.fromDateUTC(\n new Date(this.toDateUTC().getTime() + offset * DAY_MS),\n )\n }\n\n monthStart(): Day {\n return Day.from([this.year, this.month, 1])!\n }\n\n yearStart(): Day {\n return Day.from([this.year, 1, 1])!\n }\n\n /** Very stupid approach, only works for days <= 28 */\n monthOffset(offset: number): Day {\n const m = this.month + offset\n let mm = Math.floor((m - 1) % 12) + 1\n if (mm === 0)\n mm = 12\n const yy = Math.floor((m - 1) / 12)\n // log(\"calc\", m, mm, yy, [this.year + yy, mm, this.day])\n return Day.from([this.year + yy, mm, this.day])!\n }\n\n daysUntil(otherDay: DayInputLegacy): number {\n return Math.round(\n (new Day(otherDay)?.toDateUTC().getTime() - this.toDateUTC().getTime())\n / DAY_MS,\n )\n }\n\n // Shortcuts\n\n yesterday() {\n return this.dayOffset(-1)\n }\n\n tomorrow() {\n return this.dayOffset(+1)\n }\n}\n\nexport async function forEachDay(\n from: DayInputLegacy,\n to: DayInputLegacy,\n handler: (date: Day) => Promise<void> | void,\n) {\n let start = Day.from(from)\n const end = Day.from(to)\n // eslint-disable-next-line no-unmodified-loop-condition\n while (start && end && start?.days <= end?.days) {\n const result = handler(start)\n if (isPromise(result))\n await result\n start = start.dayOffset(+1)\n }\n}\n\nexport function today(): Day {\n return new Day()\n}\n\n/** @deprecated */\nexport function day(days?: DayInputLegacy): Day {\n return new Day(days)\n}\n\nexport function dateStringToDays(dateString: string): number {\n return Day.fromDate(new Date(dateString)).days\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{b as y}from"./chunk-TSNDVQHW.js";import{h as f}from"./chunk-6EQDC7VW.js";import{a as i}from"./chunk-5NKC2EQJ.js";var o=class e{static{i(this,"Day")}days;get value(){return this.days}constructor(t){if(typeof t=="number"){this.days=t;return}if(t!=null&&(t=e.from(t)?.days),t==null){let r=new Date;this.days=r.getFullYear()*1e4+(r.getMonth()+1)*100+r.getDate()}else this.days=t}static fromNumber(t){return new e(t)}static fromString(t){return e.from(+t.replace(/\D/g,"").slice(0,8))}static fromDate(t,r=!1){return r?e.fromString(t.toISOString().substr(0,10)):e.from(t.getFullYear()*1e4+(t.getMonth()+1)*100+t.getDate())}static fromDateUTC(t){return e.fromDate(t,!0)}static fromDateGMT(t){return e.fromDate(t,!0)}static from(t,r=!1){if(typeof t=="number")return t<100?void 0:new e(t);if(typeof t=="string")return e.fromString(t);if(Array.isArray(t)&&t.length===3){let[a,n=1,s=1]=t;return n<1||n>12||s<1||s>31?void 0:new e(a*1e4+n*100+s)}else{if(t instanceof Date)return e.fromDate(t,r);if(t instanceof e)return t}}toNumber(){return this.days}toJson(){return this.days}toString(t="-"){let r=String(this.days);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}toDate(t=!1){return t?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateUTC(){return this.toDate(!0)}toDateGMT(){return this.toDate(!0)}get year(){return Math.floor(this.days/1e4)}get month(){return Math.floor(this.days/100%100)}get day(){return Math.floor(this.days%100)}dayOffset(t){return e.fromDateUTC(new Date(this.toDateUTC().getTime()+t*y))}monthStart(){return e.from([this.year,this.month,1])}yearStart(){return e.from([this.year,1,1])}monthOffset(t){let r=this.month+t,a=Math.floor((r-1)%12)+1;a===0&&(a=12);let n=Math.floor((r-1)/12);return e.from([this.year+n,a,this.day])}daysUntil(t){return Math.round((new e(t)?.toDateUTC().getTime()-this.toDateUTC().getTime())/y)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};async function m(e,t,r){let a=o.from(e),n=o.from(t);for(;a&&n&&a?.days<=n?.days;){let s=r(a);f(s)&&await s,a=a.dayOffset(1)}}i(m,"forEachDay");function h(){return new o}i(h,"today");function c(e){return new o(e)}i(c,"day");function g(e){return o.fromDate(new Date(e)).days}i(g,"dateStringToDays");export{o as a,m as b,h as c,c as d,g as e};
2
- //# sourceMappingURL=chunk-LTEGKVQQ.js.map
1
+ import{b as y}from"./chunk-YEP2NVSS.js";import{h as f}from"./chunk-6EQDC7VW.js";import{a as i}from"./chunk-5NKC2EQJ.js";var o=class e{static{i(this,"Day")}days;get value(){return this.days}constructor(t){if(typeof t=="number"){this.days=t;return}if(t!=null&&(t=e.from(t)?.days),t==null){let r=new Date;this.days=r.getFullYear()*1e4+(r.getMonth()+1)*100+r.getDate()}else this.days=t}static fromNumber(t){return new e(t)}static fromString(t){return e.from(+t.replace(/\D/g,"").slice(0,8))}static fromDate(t,r=!1){return r?e.fromString(t.toISOString().substr(0,10)):e.from(t.getFullYear()*1e4+(t.getMonth()+1)*100+t.getDate())}static fromDateUTC(t){return e.fromDate(t,!0)}static fromDateGMT(t){return e.fromDate(t,!0)}static from(t,r=!1){if(typeof t=="number")return t<100?void 0:new e(t);if(typeof t=="string")return e.fromString(t);if(Array.isArray(t)&&t.length===3){let[a,n=1,s=1]=t;return n<1||n>12||s<1||s>31?void 0:new e(a*1e4+n*100+s)}else{if(t instanceof Date)return e.fromDate(t,r);if(t instanceof e)return t}}toNumber(){return this.days}toJson(){return this.days}toString(t="-"){let r=String(this.days);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}toDate(t=!1){return t?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateUTC(){return this.toDate(!0)}toDateGMT(){return this.toDate(!0)}get year(){return Math.floor(this.days/1e4)}get month(){return Math.floor(this.days/100%100)}get day(){return Math.floor(this.days%100)}dayOffset(t){return e.fromDateUTC(new Date(this.toDateUTC().getTime()+t*y))}monthStart(){return e.from([this.year,this.month,1])}yearStart(){return e.from([this.year,1,1])}monthOffset(t){let r=this.month+t,a=Math.floor((r-1)%12)+1;a===0&&(a=12);let n=Math.floor((r-1)/12);return e.from([this.year+n,a,this.day])}daysUntil(t){return Math.round((new e(t)?.toDateUTC().getTime()-this.toDateUTC().getTime())/y)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};async function m(e,t,r){let a=o.from(e),n=o.from(t);for(;a&&n&&a?.days<=n?.days;){let s=r(a);f(s)&&await s,a=a.dayOffset(1)}}i(m,"forEachDay");function h(){return new o}i(h,"today");function c(e){return new o(e)}i(c,"day");function g(e){return o.fromDate(new Date(e)).days}i(g,"dateStringToDays");export{o as a,m as b,h as c,c as d,g as e};
2
+ //# sourceMappingURL=chunk-W4M6PGBQ.js.map
@@ -1,3 +1,3 @@
1
- import{c as L}from"./chunk-DTFGASVV.js";import{b as d}from"./chunk-KIKHNNKK.js";import{b as g}from"./chunk-ACQZBCFF.js";import{b as f,d as p}from"./chunk-D3NCJPFL.js";import{c as k,d as H,e as W}from"./chunk-RZR3ECDT.js";import{a as m}from"./chunk-5NKC2EQJ.js";import{createWriteStream as x,mkdirSync as I}from"fs";import{basename as M,dirname as N,resolve as D}from"path";import E from"process";var u={};function B(e,v={}){let{level:y=void 0,filter:O=void 0,time:R=!0,pretty:S=!1,rotation:$}=v;e=D(E.cwd(),e);let l=N(e);I(l,{recursive:!0});let i=d($),a;i?(i.path=l,a=L(M(e),i)):a=x(e,{flags:"a"});let b=f(O),w=p(y);return t=>{if(!w(t.level)||!b(t.name))return;let o=R?`${new Date().toISOString()} `:"",s=t.name||"",c=u[s||""];c==null&&(u[s]=c);let r=[`[${s||"*"}]`,g(t.messages,{pretty:S})];function n(...F){a.write(`${F.join(" ")}
1
+ import{b as d}from"./chunk-KIKHNNKK.js";import{c as L}from"./chunk-DTFGASVV.js";import{b as g}from"./chunk-ACQZBCFF.js";import{b as f,d as p}from"./chunk-D3NCJPFL.js";import{c as k,d as H,e as W}from"./chunk-RZR3ECDT.js";import{a as m}from"./chunk-5NKC2EQJ.js";import{createWriteStream as x,mkdirSync as I}from"fs";import{basename as M,dirname as N,resolve as D}from"path";import E from"process";var u={};function B(e,v={}){let{level:y=void 0,filter:O=void 0,time:R=!0,pretty:S=!1,rotation:$}=v;e=D(E.cwd(),e);let l=N(e);I(l,{recursive:!0});let i=d($),a;i?(i.path=l,a=L(M(e),i)):a=x(e,{flags:"a"});let b=f(O),w=p(y);return t=>{if(!w(t.level)||!b(t.name))return;let o=R?`${new Date().toISOString()} `:"",s=t.name||"",c=u[s||""];c==null&&(u[s]=c);let r=[`[${s||"*"}]`,g(t.messages,{pretty:S})];function n(...F){a.write(`${F.join(" ")}
2
2
  `)}switch(m(n,"write"),t.level){case 1:n(`${o}I|* `,...r);break;case 2:n(`${o}W|** `,...r);break;case 3:n(`${o}E|***`,...r);break;default:n(`${o}D| `,...r);break}}}m(B,"LoggerFileHandler");export{B as a};
3
- //# sourceMappingURL=chunk-4X7UJTXJ.js.map
3
+ //# sourceMappingURL=chunk-WH4WW45N.js.map
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkWK6DXBUDcjs = require('./chunk-WK6DXBUD.cjs');var _chunkSHOLGUSOcjs = require('./chunk-SHOLGUSO.cjs');var _chunk47GAJHNOcjs = require('./chunk-47GAJHNO.cjs');var _chunkDLVWYIS2cjs = require('./chunk-DLVWYIS2.cjs');var _chunkSEQAFKIVcjs = require('./chunk-SEQAFKIV.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var _fs = require('fs');var _path = require('path');var _process = require('process'); var _process2 = _interopRequireDefault(_process);var u={};function B(e,v={}){let{level:y=void 0,filter:O=void 0,time:R=!0,pretty:S=!1,rotation:$}=v;e=_path.resolve.call(void 0, _process2.default.cwd(),e);let l=_path.dirname.call(void 0, e);_fs.mkdirSync.call(void 0, l,{recursive:!0});let i=_chunkSHOLGUSOcjs.b.call(void 0, $),a;i?(i.path=l,a=_chunkWK6DXBUDcjs.c.call(void 0, _path.basename.call(void 0, e),i)):a=_fs.createWriteStream.call(void 0, e,{flags:"a"});let b=_chunkDLVWYIS2cjs.b.call(void 0, O),w=_chunkDLVWYIS2cjs.d.call(void 0, y);return t=>{if(!w(t.level)||!b(t.name))return;let o=R?`${new Date().toISOString()} `:"",s=t.name||"",c=u[s||""];c==null&&(u[s]=c);let r=[`[${s||"*"}]`,_chunk47GAJHNOcjs.b.call(void 0, t.messages,{pretty:S})];function n(...F){a.write(`${F.join(" ")}
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkSHOLGUSOcjs = require('./chunk-SHOLGUSO.cjs');var _chunkWK6DXBUDcjs = require('./chunk-WK6DXBUD.cjs');var _chunk47GAJHNOcjs = require('./chunk-47GAJHNO.cjs');var _chunkDLVWYIS2cjs = require('./chunk-DLVWYIS2.cjs');var _chunkSEQAFKIVcjs = require('./chunk-SEQAFKIV.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var _fs = require('fs');var _path = require('path');var _process = require('process'); var _process2 = _interopRequireDefault(_process);var u={};function B(e,v={}){let{level:y=void 0,filter:O=void 0,time:R=!0,pretty:S=!1,rotation:$}=v;e=_path.resolve.call(void 0, _process2.default.cwd(),e);let l=_path.dirname.call(void 0, e);_fs.mkdirSync.call(void 0, l,{recursive:!0});let i=_chunkSHOLGUSOcjs.b.call(void 0, $),a;i?(i.path=l,a=_chunkWK6DXBUDcjs.c.call(void 0, _path.basename.call(void 0, e),i)):a=_fs.createWriteStream.call(void 0, e,{flags:"a"});let b=_chunkDLVWYIS2cjs.b.call(void 0, O),w=_chunkDLVWYIS2cjs.d.call(void 0, y);return t=>{if(!w(t.level)||!b(t.name))return;let o=R?`${new Date().toISOString()} `:"",s=t.name||"",c=u[s||""];c==null&&(u[s]=c);let r=[`[${s||"*"}]`,_chunk47GAJHNOcjs.b.call(void 0, t.messages,{pretty:S})];function n(...F){a.write(`${F.join(" ")}
2
2
  `)}switch(_chunkP7XCQ7WVcjs.a.call(void 0, n,"write"),t.level){case 1:n(`${o}I|* `,...r);break;case 2:n(`${o}W|** `,...r);break;case 3:n(`${o}E|***`,...r);break;default:n(`${o}D| `,...r);break}}}_chunkP7XCQ7WVcjs.a.call(void 0, B,"LoggerFileHandler");exports.a = B;
3
- //# sourceMappingURL=chunk-L5OF6DSH.cjs.map
3
+ //# sourceMappingURL=chunk-XAU2ICXA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-L5OF6DSH.cjs","../src/node/log/log-file.ts"],"names":["namespaces","LoggerFileHandler","path","opt","level","filter","time","pretty","rotation","resolve","process","pathFolder","dirname","mkdirSync","rotationOpts","getLogRotationConfig","stream","createRotationStream","basename","createWriteStream","matchesNamespace","useNamespaceFilter","matchesLevel","useLevelFilter","msg","timeNow"],"mappings":"AAAA,iOAAwC,wDAAyC,wDAAyC,wDAAgD,wDAAuD,wDAAyC,wBCE7N,4BACF,oFACvB,IAOdA,CAAAA,CAAkC,CAAC,CAAA,CAoBlC,SAASC,CAAAA,CAAkBC,CAAAA,CAAcC,CAAAA,CAA6B,CAAC,CAAA,CAAG,CAC/E,GAAM,CACJ,KAAA,CAAAC,CAAAA,CAAQ,KAAA,CAAA,CACR,MAAA,CAAAC,CAAAA,CAAS,KAAA,CAAA,CACT,IAAA,CAAAC,CAAAA,CAAO,CAAA,CAAA,CACP,MAAA,CAAAC,CAAAA,CAAS,CAAA,CAAA,CACT,QAAA,CAAAC,CACF,CAAA,CAAIL,CAAAA,CAEJD,CAAAA,CAAOO,2BAAAA,iBAAQC,CAAQ,GAAA,CAAI,CAAA,CAAGR,CAAI,CAAA,CAClC,IAAMS,CAAAA,CAAaC,2BAAAA,CAAY,CAAA,CAC/BC,2BAAAA,CAAUF,CAAY,CAAE,SAAA,CAAW,CAAA,CAAK,CAAC,CAAA,CAGzC,IAAMG,CAAAA,CAAeC,iCAAAA,CAA6B,CAAA,CAE9CC,CAAAA,CACAF,CAAAA,CAAAA,CAEFA,CAAAA,CAAa,IAAA,CAAOH,CAAAA,CACpBK,CAAAA,CAASC,iCAAAA,4BAAqBC,CAAa,CAAA,CAAGJ,CAAY,CAAA,CAAA,CAG1DE,CAAAA,CAASG,mCAAAA,CAAkBjB,CAAM,CAAE,KAAA,CAAO,GAAI,CAAC,CAAA,CAGjD,IAAMkB,CAAAA,CAAmBC,iCAAAA,CAAyB,CAAA,CAC5CC,CAAAA,CAAeC,iCAAAA,CAAoB,CAAA,CACzC,OAAQC,CAAAA,EAAoB,CAG1B,EAAA,CAFI,CAACF,CAAAA,CAAaE,CAAAA,CAAI,KAAK,CAAA,EAEvB,CAACJ,CAAAA,CAAiBI,CAAAA,CAAI,IAAI,CAAA,CAC5B,MAAA,CAEF,IAAMC,CAAAA,CAAUnB,CAAAA,CAAO,CAAA,EAAA;AAlCX","file":"/Users/dirk/work/github-zeed/dist/chunk-L5OF6DSH.cjs","sourcesContent":[null,"import type { LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport type { LogRotationOptions } from './log-file-rotation'\nimport { createWriteStream, mkdirSync } from 'node:fs'\nimport { basename, dirname, resolve } from 'node:path'\nimport process from 'node:process'\nimport { renderMessages } from '../../common/data/message'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { getLogRotationConfig } from './log-file-rotation'\nimport { createRotationStream } from './log-rotation'\n\nconst namespaces: Record<string, any> = {}\n\nexport interface LogFileHandlerOptions extends LogHandlerOptions {\n /**\n * Optional rotation options for log files. When provided, enables automatic log rotation.\n * Can be:\n * - `true`: Use default rotation settings (10MB size, 5 files, gzip compression)\n * - Rotation options object: Customize rotation behavior\n * - Shortcut strings: 'daily' | 'weekly' | 'monthly' | 'size'\n *\n * Examples:\n * - Enable with defaults: { rotation: true }\n * - Rotate daily: { rotation: { interval: '1d' } }\n * - Rotate when file reaches 10MB: { rotation: { size: '10M' } }\n * - Keep max 5 files: { rotation: { maxFiles: 5 } }\n * - Compress rotated files: { rotation: { compress: 'gzip' } }\n */\n rotation?: LogRotationOptions\n}\n\nexport function LoggerFileHandler(path: string, opt: LogFileHandlerOptions = {}) {\n const {\n level = undefined,\n filter = undefined,\n time = true,\n pretty = false,\n rotation,\n } = opt\n\n path = resolve(process.cwd(), path)\n const pathFolder = dirname(path)\n mkdirSync(pathFolder, { recursive: true })\n\n // Use rotating stream if rotation options are provided\n const rotationOpts = getLogRotationConfig(rotation)\n\n let stream: ReturnType<typeof createWriteStream> | ReturnType<typeof createRotationStream>\n if (rotationOpts) {\n // ensure rotation writes into the same folder\n rotationOpts.path = pathFolder\n stream = createRotationStream(basename(path), rotationOpts)\n }\n else {\n stream = createWriteStream(path, { flags: 'a' })\n }\n\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\n const timeNow = time ? `${new Date().toISOString()} ` : ''\n const name = msg.name || ''\n const ninfo = namespaces[name || '']\n if (ninfo == null)\n namespaces[name] = ninfo\n\n const args: string[] = [\n `[${name || '*'}]`,\n renderMessages(msg.messages, { pretty }),\n ]\n\n function write(...args: string[]): void {\n stream.write(`${args.join('\\t')}\\n`)\n }\n\n switch (msg.level) {\n case LogLevelInfo:\n write(`${timeNow}I|* `, ...args)\n break\n case LogLevelWarn:\n write(`${timeNow}W|** `, ...args)\n break\n case LogLevelError:\n write(`${timeNow}E|***`, ...args)\n break\n default:\n write(`${timeNow}D| `, ...args)\n break\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-XAU2ICXA.cjs","../src/node/log/log-file.ts"],"names":["namespaces","LoggerFileHandler","path","opt","level","filter","time","pretty","rotation","resolve","process","pathFolder","dirname","mkdirSync","rotationOpts","getLogRotationConfig","stream","createRotationStream","basename","createWriteStream","matchesNamespace","useNamespaceFilter","matchesLevel","useLevelFilter","msg","timeNow"],"mappings":"AAAA,iOAAwC,wDAAyC,wDAAyC,wDAAgD,wDAAuD,wDAAyC,wBCE7N,4BACF,oFACvB,IAOdA,CAAAA,CAAkC,CAAC,CAAA,CAoBlC,SAASC,CAAAA,CAAkBC,CAAAA,CAAcC,CAAAA,CAA6B,CAAC,CAAA,CAAG,CAC/E,GAAM,CACJ,KAAA,CAAAC,CAAAA,CAAQ,KAAA,CAAA,CACR,MAAA,CAAAC,CAAAA,CAAS,KAAA,CAAA,CACT,IAAA,CAAAC,CAAAA,CAAO,CAAA,CAAA,CACP,MAAA,CAAAC,CAAAA,CAAS,CAAA,CAAA,CACT,QAAA,CAAAC,CACF,CAAA,CAAIL,CAAAA,CAEJD,CAAAA,CAAOO,2BAAAA,iBAAQC,CAAQ,GAAA,CAAI,CAAA,CAAGR,CAAI,CAAA,CAClC,IAAMS,CAAAA,CAAaC,2BAAAA,CAAY,CAAA,CAC/BC,2BAAAA,CAAUF,CAAY,CAAE,SAAA,CAAW,CAAA,CAAK,CAAC,CAAA,CAGzC,IAAMG,CAAAA,CAAeC,iCAAAA,CAA6B,CAAA,CAE9CC,CAAAA,CACAF,CAAAA,CAAAA,CAEFA,CAAAA,CAAa,IAAA,CAAOH,CAAAA,CACpBK,CAAAA,CAASC,iCAAAA,4BAAqBC,CAAa,CAAA,CAAGJ,CAAY,CAAA,CAAA,CAG1DE,CAAAA,CAASG,mCAAAA,CAAkBjB,CAAM,CAAE,KAAA,CAAO,GAAI,CAAC,CAAA,CAGjD,IAAMkB,CAAAA,CAAmBC,iCAAAA,CAAyB,CAAA,CAC5CC,CAAAA,CAAeC,iCAAAA,CAAoB,CAAA,CACzC,OAAQC,CAAAA,EAAoB,CAG1B,EAAA,CAFI,CAACF,CAAAA,CAAaE,CAAAA,CAAI,KAAK,CAAA,EAEvB,CAACJ,CAAAA,CAAiBI,CAAAA,CAAI,IAAI,CAAA,CAC5B,MAAA,CAEF,IAAMC,CAAAA,CAAUnB,CAAAA,CAAO,CAAA,EAAA;AAlCX","file":"/Users/dirk/work/github-zeed/dist/chunk-XAU2ICXA.cjs","sourcesContent":[null,"import type { LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport type { LogRotationOptions } from './log-file-rotation'\nimport { createWriteStream, mkdirSync } from 'node:fs'\nimport { basename, dirname, resolve } from 'node:path'\nimport process from 'node:process'\nimport { renderMessages } from '../../common/data/message'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { getLogRotationConfig } from './log-file-rotation'\nimport { createRotationStream } from './log-rotation'\n\nconst namespaces: Record<string, any> = {}\n\nexport interface LogFileHandlerOptions extends LogHandlerOptions {\n /**\n * Optional rotation options for log files. When provided, enables automatic log rotation.\n * Can be:\n * - `true`: Use default rotation settings (10MB size, 5 files, gzip compression)\n * - Rotation options object: Customize rotation behavior\n * - Shortcut strings: 'daily' | 'weekly' | 'monthly' | 'size'\n *\n * Examples:\n * - Enable with defaults: { rotation: true }\n * - Rotate daily: { rotation: { interval: '1d' } }\n * - Rotate when file reaches 10MB: { rotation: { size: '10M' } }\n * - Keep max 5 files: { rotation: { maxFiles: 5 } }\n * - Compress rotated files: { rotation: { compress: 'gzip' } }\n */\n rotation?: LogRotationOptions\n}\n\nexport function LoggerFileHandler(path: string, opt: LogFileHandlerOptions = {}) {\n const {\n level = undefined,\n filter = undefined,\n time = true,\n pretty = false,\n rotation,\n } = opt\n\n path = resolve(process.cwd(), path)\n const pathFolder = dirname(path)\n mkdirSync(pathFolder, { recursive: true })\n\n // Use rotating stream if rotation options are provided\n const rotationOpts = getLogRotationConfig(rotation)\n\n let stream: ReturnType<typeof createWriteStream> | ReturnType<typeof createRotationStream>\n if (rotationOpts) {\n // ensure rotation writes into the same folder\n rotationOpts.path = pathFolder\n stream = createRotationStream(basename(path), rotationOpts)\n }\n else {\n stream = createWriteStream(path, { flags: 'a' })\n }\n\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\n const timeNow = time ? `${new Date().toISOString()} ` : ''\n const name = msg.name || ''\n const ninfo = namespaces[name || '']\n if (ninfo == null)\n namespaces[name] = ninfo\n\n const args: string[] = [\n `[${name || '*'}]`,\n renderMessages(msg.messages, { pretty }),\n ]\n\n function write(...args: string[]): void {\n stream.write(`${args.join('\\t')}\\n`)\n }\n\n switch (msg.level) {\n case LogLevelInfo:\n write(`${timeNow}I|* `, ...args)\n break\n case LogLevelWarn:\n write(`${timeNow}W|** `, ...args)\n break\n case LogLevelError:\n write(`${timeNow}E|***`, ...args)\n break\n default:\n write(`${timeNow}D| `, ...args)\n break\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{s as D}from"./chunk-73A2QE6J.js";import{a as n}from"./chunk-5NKC2EQJ.js";var V;function g(e=20000101){V=e}n(g,"setDayTest");var S=D;function o(e){return Math.floor(e/1e4)}n(o,"dayYear");function f(e){return Math.floor(e/100%100)}n(f,"dayMonth");function s(e){return Math.floor(e%100)}n(s,"dayDay");function F(e){return[o(e),f(e),s(e)]}n(F,"dayToParts");function l(e,t=!1){return t?new Date(`${T(e)}T00:00:00.000Z`):new Date(e/1e4,Math.max(0,e/100%100-1),Math.max(1,e%100))}n(l,"dayToDate");function x(){return V??u(new Date)}n(x,"dayFromToday");function w(e,t=!1){if(typeof e=="number")return e<100?void 0:e;if(typeof e=="string")return d(e);if(Array.isArray(e)&&e.length>=1)return y(...e);if(e instanceof Date)return u(e,t)}n(w,"dayFromAny");function I(e){return l(e,!0)}n(I,"dayToDateUTC");function O(e){return l(e,!0)}n(O,"dayToDateGMT");function u(e,t=!1){return t?d(e.toISOString()):e.getFullYear()*1e4+(e.getMonth()+1)*100+e.getDate()}n(u,"dayFromDate");function Y(e){return u(e,!0)}n(Y,"dayFromDateUTC");function A(e){return u(e,!0)}n(A,"dayFromDateGMT");function C(e,t=!0){return Math.floor(l(e,t).getTime()/1e3)}n(C,"dayToTimestampSeconds");function p(e,t=!0){return l(e,t).getTime()}n(p,"dayToTimestamp");function b(e,t=!0){return u(new Date(e),t)}n(b,"dayFromTimestamp");function U(e,t=!0){return u(new Date(Math.floor(e*1e3)),t)}n(U,"dayFromTimestampSeconds");function T(e,t="-"){let r=String(e);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}n(T,"dayToString");function y(e,t=1,r=1){if(!(t<1||t>12||r<1||r>31))return e*1e4+t*100+r}n(y,"dayFromParts");function d(e){let t=String(e).replace(/\D/g,"").slice(0,8);if(t.length===8)return+t}n(d,"dayFromString");function _(e,t=0){let r=o(e),a=f(e);return t!==0&&(a+=t,r+=Math.floor((a-1)/12),a=Math.floor((a-1)%12)+1,a===0&&(a=12)),y(r,a,1)}n(_,"dayMonthStart");function G(e,t){let r=o(e),a=f(e),m=s(e);t!==0&&(a+=t,r+=Math.floor((a-1)/12),a=Math.floor((a-1)%12)+1,a===0&&(a=12));let c=M(r,a);return y(r,a,Math.min(m,c))}n(G,"dayMonthOffset");function P(e,t=0){let r=o(e);return y(r+t,1,1)}n(P,"dayYearStart");function E(e,t){let r=o(e)+t,a=f(e),m=s(e),c=M(r,a);return y(r,a,Math.min(m,c))}n(E,"dayYearOffset");function M(e,t){return new Date(Date.UTC(e,t,0)).getUTCDate()}n(M,"dayDaysInMonth");function i(e,t){return b(p(e)+t*D)}n(i,"dayOffset");function R(e,t){return Math.round((p(t)-p(e))/D)}n(R,"dayDiff");function Z(e,t){let r=[];for(t==null&&(t=x()),e<0&&(e=i(t,e+1));e<=t;)r.push(e),e=i(e,1);return r}n(Z,"dayRange");function*$(e,t){let r=[];for(t==null&&(t=x()),e<0&&(e=i(t,e+1));e<=t;)yield e,e=i(e,1);return r}n($,"dayIterator");export{g as a,S as b,o as c,f as d,s as e,F as f,l as g,x as h,w as i,I as j,O as k,u as l,Y as m,A as n,C as o,p,b as q,U as r,T as s,y as t,d as u,_ as v,G as w,P as x,E as y,M as z,i as A,R as B,Z as C,$ as D};
2
+ //# sourceMappingURL=chunk-YEP2NVSS.js.map