zeed 0.28.21 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +1 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/log/index.cjs +1 -1
- package/dist/browser/log/index.js +1 -1
- package/dist/browser/log/log-browser.cjs +1 -1
- package/dist/browser/log/log-browser.js +1 -1
- package/dist/browser/log/log-context-browser.cjs +1 -1
- package/dist/browser/log/log-context-browser.js +1 -1
- package/dist/{chunk-XVJBLOJN.js → chunk-23LAWLUA.js} +2 -2
- package/dist/chunk-3NN7GCMG.js +2 -0
- package/dist/{chunk-3JYK34SS.js → chunk-3REOR55V.js} +2 -2
- package/dist/chunk-3REOR55V.js.map +1 -0
- package/dist/chunk-3UE4OYUL.js +2 -0
- package/dist/chunk-3UE4OYUL.js.map +1 -0
- package/dist/chunk-4BUMEKE4.js +2 -0
- package/dist/chunk-4BUMEKE4.js.map +1 -0
- package/dist/{chunk-PBHNRC5D.cjs → chunk-4F2DX6E6.cjs} +2 -2
- package/dist/{chunk-PBHNRC5D.cjs.map → chunk-4F2DX6E6.cjs.map} +1 -1
- package/dist/{chunk-L32SZCS2.js → chunk-5BU2RTLI.js} +2 -2
- package/dist/{chunk-CDRKVTXH.cjs → chunk-5RS7ZPJW.cjs} +2 -2
- package/dist/{chunk-CDRKVTXH.cjs.map → chunk-5RS7ZPJW.cjs.map} +1 -1
- package/dist/{chunk-5BBJL6OC.cjs → chunk-6ZTAQPF3.cjs} +2 -2
- package/dist/{chunk-5BBJL6OC.cjs.map → chunk-6ZTAQPF3.cjs.map} +1 -1
- package/dist/{chunk-SDCEAQZX.cjs → chunk-7THBTD5T.cjs} +2 -2
- package/dist/{chunk-SDCEAQZX.cjs.map → chunk-7THBTD5T.cjs.map} +1 -1
- package/dist/chunk-B3IJAAUT.js +2 -0
- package/dist/chunk-B3IJAAUT.js.map +1 -0
- package/dist/{chunk-HK7ZBUGP.js → chunk-BQTR3A4K.js} +2 -2
- package/dist/chunk-CIJIUVZT.cjs +1 -0
- package/dist/chunk-CIJIUVZT.cjs.map +1 -0
- package/dist/{chunk-BPESVGQQ.cjs → chunk-DR2IXKD3.cjs} +2 -2
- package/dist/{chunk-BPESVGQQ.cjs.map → chunk-DR2IXKD3.cjs.map} +1 -1
- package/dist/chunk-E24W4VM7.cjs +4 -0
- package/dist/chunk-E24W4VM7.cjs.map +1 -0
- package/dist/{chunk-GLXW4DRV.js → chunk-E2HNYDJ3.js} +2 -2
- package/dist/{chunk-DIIKUZU5.cjs → chunk-EJHDKRDI.cjs} +2 -2
- package/dist/{chunk-DIIKUZU5.cjs.map → chunk-EJHDKRDI.cjs.map} +1 -1
- package/dist/{chunk-WYDZGMP2.js → chunk-EMLG23EY.js} +2 -2
- package/dist/chunk-EMLG23EY.js.map +1 -0
- package/dist/{chunk-LG6Q6ZYH.js → chunk-FB652MJM.js} +2 -2
- package/dist/{chunk-ZSSRSXLU.cjs → chunk-FBM5OH5V.cjs} +2 -2
- package/dist/{chunk-ZSSRSXLU.cjs.map → chunk-FBM5OH5V.cjs.map} +1 -1
- package/dist/{chunk-KGZLR63U.js → chunk-FLFL2HBO.js} +2 -2
- package/dist/{chunk-7JYEP4TW.js → chunk-G7OPT6HL.js} +2 -2
- package/dist/{chunk-25WKPUPK.js → chunk-GY3DIGQB.js} +2 -2
- package/dist/chunk-H6Z6XPCN.cjs +2 -0
- package/dist/chunk-H6Z6XPCN.cjs.map +1 -0
- package/dist/chunk-HCE5UWRA.cjs +2 -0
- package/dist/chunk-HCE5UWRA.cjs.map +1 -0
- package/dist/{chunk-MVTKILPI.cjs → chunk-HKBWBHQ3.cjs} +2 -2
- package/dist/chunk-HKBWBHQ3.cjs.map +1 -0
- package/dist/{chunk-DUTK2D77.cjs → chunk-IHRIOXDZ.cjs} +2 -2
- package/dist/{chunk-DUTK2D77.cjs.map → chunk-IHRIOXDZ.cjs.map} +1 -1
- package/dist/{chunk-PL7IE4EC.js → chunk-KGVQQKNR.js} +2 -2
- package/dist/{chunk-DY6RMJJK.cjs → chunk-KOZF2WEA.cjs} +2 -2
- package/dist/chunk-KOZF2WEA.cjs.map +1 -0
- package/dist/{chunk-M7TCBWAB.js → chunk-KXDP4F6H.js} +2 -2
- package/dist/{chunk-PBG65NPI.js → chunk-LLA23PXV.js} +2 -2
- package/dist/{chunk-47SVTDUJ.js → chunk-LXIU2YVJ.js} +2 -2
- package/dist/chunk-LZAJKLTJ.js +2 -0
- package/dist/chunk-LZAJKLTJ.js.map +1 -0
- package/dist/{chunk-SUPJG4Y2.js → chunk-MFEQZ4NH.js} +2 -2
- package/dist/chunk-MFK27PDQ.cjs +2 -0
- package/dist/{chunk-X375623D.cjs.map → chunk-MFK27PDQ.cjs.map} +1 -1
- package/dist/chunk-MNDP6M4C.js +1 -0
- package/dist/{chunk-VSXOJYNZ.cjs → chunk-NHTV3UPL.cjs} +2 -2
- package/dist/{chunk-VSXOJYNZ.cjs.map → chunk-NHTV3UPL.cjs.map} +1 -1
- package/dist/{chunk-RCT2GXKQ.cjs → chunk-NQEPSSO2.cjs} +2 -2
- package/dist/{chunk-RCT2GXKQ.cjs.map → chunk-NQEPSSO2.cjs.map} +1 -1
- package/dist/{chunk-OGNEGHHJ.cjs → chunk-NRZLSOHT.cjs} +2 -2
- package/dist/chunk-NRZLSOHT.cjs.map +1 -0
- package/dist/{chunk-S2TSPHHP.js → chunk-O45IUDO7.js} +2 -2
- package/dist/{chunk-HT2VGSOC.cjs → chunk-OIOU3THS.cjs} +2 -2
- package/dist/{chunk-HT2VGSOC.cjs.map → chunk-OIOU3THS.cjs.map} +1 -1
- package/dist/chunk-OOTCYORD.js +2 -0
- package/dist/chunk-OOTCYORD.js.map +1 -0
- package/dist/{chunk-QZD36HZL.cjs → chunk-ORPMJ75E.cjs} +2 -2
- package/dist/{chunk-QZD36HZL.cjs.map → chunk-ORPMJ75E.cjs.map} +1 -1
- package/dist/{chunk-Z6XHALPL.js → chunk-P3O3JX2O.js} +2 -2
- package/dist/{chunk-6Y7WTQVG.js → chunk-PKJ6SFGO.js} +2 -2
- package/dist/{chunk-6K2ZECAZ.js → chunk-PPDA7WI4.js} +2 -2
- package/dist/{chunk-6ZLJSWLM.cjs → chunk-QHU5L465.cjs} +2 -2
- package/dist/{chunk-6ZLJSWLM.cjs.map → chunk-QHU5L465.cjs.map} +1 -1
- package/dist/chunk-QHVB4SNR.js +3 -0
- package/dist/chunk-QHVB4SNR.js.map +1 -0
- package/dist/{chunk-U7YH3JVM.js → chunk-QRJ6CPZI.js} +2 -2
- package/dist/{chunk-XAJUO7BH.js → chunk-QSAFIBCK.js} +2 -2
- package/dist/{chunk-I5YVETCQ.cjs → chunk-QTRZBP6S.cjs} +2 -2
- package/dist/{chunk-I5YVETCQ.cjs.map → chunk-QTRZBP6S.cjs.map} +1 -1
- package/dist/{chunk-OYAZQOT3.cjs → chunk-QVOKQH4R.cjs} +2 -2
- package/dist/{chunk-OYAZQOT3.cjs.map → chunk-QVOKQH4R.cjs.map} +1 -1
- package/dist/chunk-RIXMGBZQ.cjs +3 -0
- package/dist/chunk-RIXMGBZQ.cjs.map +1 -0
- package/dist/{chunk-WR6QCC7M.cjs → chunk-SGVPHVXN.cjs} +2 -2
- package/dist/{chunk-WR6QCC7M.cjs.map → chunk-SGVPHVXN.cjs.map} +1 -1
- package/dist/chunk-SN22QMLJ.cjs +1 -0
- package/dist/chunk-SN22QMLJ.cjs.map +1 -0
- package/dist/{chunk-P67NJXJB.cjs → chunk-SYCPUJY6.cjs} +2 -2
- package/dist/{chunk-P67NJXJB.cjs.map → chunk-SYCPUJY6.cjs.map} +1 -1
- package/dist/{chunk-JVWHUOOY.cjs → chunk-TH5SSUXM.cjs} +3 -3
- package/dist/{chunk-JVWHUOOY.cjs.map → chunk-TH5SSUXM.cjs.map} +1 -1
- package/dist/{chunk-4SKL5XXG.cjs → chunk-TNZGMZGR.cjs} +1 -1
- package/dist/chunk-TNZGMZGR.cjs.map +1 -0
- package/dist/{chunk-3VDPEJAS.js → chunk-TY2IJCPS.js} +2 -2
- package/dist/{chunk-BNMSTFVY.cjs → chunk-UKLSZJTQ.cjs} +2 -2
- package/dist/{chunk-BNMSTFVY.cjs.map → chunk-UKLSZJTQ.cjs.map} +1 -1
- package/dist/{chunk-XRSSOHB3.cjs → chunk-UKSSXBSQ.cjs} +2 -2
- package/dist/chunk-UKSSXBSQ.cjs.map +1 -0
- package/dist/{chunk-3EDQ6AO4.js → chunk-VOAQ3XQN.js} +2 -2
- package/dist/{chunk-2FUSCDBB.cjs → chunk-VUF6POXZ.cjs} +2 -2
- package/dist/chunk-VUF6POXZ.cjs.map +1 -0
- package/dist/{chunk-7HCVIDPQ.js → chunk-W7QLONZN.js} +2 -2
- package/dist/{chunk-BOM3HKWA.cjs → chunk-WBCIZCIT.cjs} +2 -2
- package/dist/{chunk-BOM3HKWA.cjs.map → chunk-WBCIZCIT.cjs.map} +1 -1
- package/dist/{chunk-D5MT7SAA.cjs → chunk-WZXFXFPZ.cjs} +2 -2
- package/dist/{chunk-D5MT7SAA.cjs.map → chunk-WZXFXFPZ.cjs.map} +1 -1
- package/dist/{chunk-WGYEX7AJ.cjs → chunk-XQZFGGB5.cjs} +2 -2
- package/dist/{chunk-WGYEX7AJ.cjs.map → chunk-XQZFGGB5.cjs.map} +1 -1
- package/dist/chunk-YFYLOTJ6.js +1 -0
- package/dist/chunk-YFYLOTJ6.js.map +1 -0
- package/dist/{chunk-CR2WSRFB.cjs → chunk-YOWA3XPM.cjs} +2 -2
- package/dist/{chunk-CR2WSRFB.cjs.map → chunk-YOWA3XPM.cjs.map} +1 -1
- package/dist/{chunk-NIOT5ALA.cjs → chunk-YSJNSGVQ.cjs} +2 -2
- package/dist/{chunk-NIOT5ALA.cjs.map → chunk-YSJNSGVQ.cjs.map} +1 -1
- package/dist/{chunk-TVWT25NF.js → chunk-Z6354MCN.js} +2 -2
- package/dist/{chunk-GMJXOP7Z.js → chunk-ZB6EQQDT.js} +2 -2
- package/dist/{chunk-TSLCXYM6.js → chunk-ZN3QH3MM.js} +1 -1
- package/dist/chunk-ZN3QH3MM.js.map +1 -0
- package/dist/chunk-ZS3PXTRG.js +4 -0
- package/dist/chunk-ZS3PXTRG.js.map +1 -0
- package/dist/common/bin/index.cjs +1 -1
- package/dist/common/bin/index.js +1 -1
- package/dist/common/data/array.cjs +1 -1
- package/dist/common/data/array.js +1 -1
- package/dist/common/data/datauri.cjs +1 -1
- package/dist/common/data/datauri.js +1 -1
- package/dist/common/data/deep.cjs +1 -1
- package/dist/common/data/deep.js +1 -1
- package/dist/common/data/index.cjs +1 -1
- package/dist/common/data/index.cjs.map +1 -1
- package/dist/common/data/index.js +1 -1
- package/dist/common/data/object-changes.cjs +1 -1
- package/dist/common/data/object-changes.js +1 -1
- package/dist/common/data/rounding.cjs +1 -1
- package/dist/common/data/rounding.js +1 -1
- package/dist/common/data/signal.cjs +1 -1
- package/dist/common/data/signal.js +1 -1
- package/dist/common/data/xrx.cjs +1 -1
- package/dist/common/data/xrx.d.cts +1 -4
- package/dist/common/data/xrx.d.ts +1 -4
- package/dist/common/data/xrx.js +1 -1
- package/dist/common/dispose-defer.cjs +1 -1
- package/dist/common/dispose-defer.js +1 -1
- package/dist/common/dispose-utils.cjs +1 -1
- package/dist/common/dispose-utils.js +1 -1
- package/dist/common/exec/index.cjs +1 -1
- package/dist/common/exec/index.cjs.map +1 -1
- package/dist/common/exec/index.js +1 -1
- package/dist/common/exec/pool.cjs +1 -1
- package/dist/common/exec/pool.js +1 -1
- package/dist/common/exec/progress.cjs +1 -1
- package/dist/common/exec/progress.js +1 -1
- package/dist/common/exec/queue.cjs +1 -1
- package/dist/common/exec/queue.js +1 -1
- package/dist/common/index.cjs +1 -1
- package/dist/common/index.cjs.map +1 -1
- package/dist/common/index.d.cts +1 -21
- package/dist/common/index.d.ts +1 -21
- package/dist/common/index.js +1 -1
- package/dist/common/log/index.cjs +1 -1
- package/dist/common/log/index.cjs.map +1 -1
- package/dist/common/log/index.js +1 -1
- package/dist/common/log/log-memory.cjs +1 -1
- package/dist/common/log/log-memory.js +1 -1
- package/dist/common/msg/channel-debug.cjs +1 -1
- package/dist/common/msg/channel-debug.js +1 -1
- package/dist/common/msg/channel-local.cjs +1 -1
- package/dist/common/msg/channel-local.js +1 -1
- package/dist/common/msg/channel-resilient.cjs +1 -1
- package/dist/common/msg/channel-resilient.js +1 -1
- package/dist/common/msg/channel.cjs +1 -1
- package/dist/common/msg/channel.js +1 -1
- package/dist/common/msg/emitter.cjs +1 -1
- package/dist/common/msg/emitter.js +1 -1
- package/dist/common/msg/index.cjs +1 -1
- package/dist/common/msg/index.cjs.map +1 -1
- package/dist/common/msg/index.js +1 -1
- package/dist/common/msg/messages.cjs +1 -1
- package/dist/common/msg/messages.js +1 -1
- package/dist/common/msg/pubsub.cjs +1 -1
- package/dist/common/msg/pubsub.js +1 -1
- package/dist/common/network.cjs +1 -1
- package/dist/common/network.js +1 -1
- package/dist/common/schema/index.cjs +1 -1
- package/dist/common/schema/index.cjs.map +1 -1
- package/dist/common/schema/index.d.cts +1 -0
- package/dist/common/schema/index.d.ts +1 -0
- package/dist/common/schema/index.js +1 -1
- package/dist/common/schema/parse-args.cjs +1 -1
- package/dist/common/schema/parse-args.cjs.map +1 -1
- package/dist/common/schema/parse-args.js +1 -1
- package/dist/common/schema/parse-env.cjs +1 -1
- package/dist/common/schema/parse-env.cjs.map +1 -1
- package/dist/common/schema/parse-env.js +1 -1
- package/dist/common/schema/parse-object.cjs +2 -0
- package/dist/common/schema/parse-object.cjs.map +1 -0
- package/dist/common/schema/parse-object.d.cts +20 -0
- package/dist/common/schema/parse-object.d.ts +20 -0
- package/dist/common/schema/parse-object.js +2 -0
- package/dist/common/schema/parse-object.js.map +1 -0
- package/dist/common/schema/schema.cjs +1 -1
- package/dist/common/schema/schema.d.cts +0 -6
- package/dist/common/schema/schema.d.ts +0 -6
- package/dist/common/schema/schema.js +1 -1
- package/dist/common/time.cjs +1 -1
- package/dist/common/time.js +1 -1
- package/dist/common/timeout.cjs +1 -1
- package/dist/common/timeout.js +1 -1
- package/dist/common/uuid.cjs +1 -1
- package/dist/common/uuid.d.cts +3 -3
- package/dist/common/uuid.d.ts +3 -3
- package/dist/common/uuid.js +1 -1
- package/dist/index.all.cjs +1 -1
- package/dist/index.all.cjs.map +1 -1
- package/dist/index.all.d.cts +1 -1
- package/dist/index.all.d.ts +1 -1
- package/dist/index.all.js +1 -1
- package/dist/index.browser.cjs +1 -1
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.d.cts +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.jsr.cjs +2 -0
- package/dist/index.jsr.cjs.map +1 -0
- package/dist/index.jsr.d.cts +5 -0
- package/dist/index.jsr.d.ts +5 -0
- package/dist/index.jsr.js +2 -0
- package/dist/index.jsr.js.map +1 -0
- package/dist/index.node.cjs +1 -1
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.cts +1 -1
- package/dist/index.node.d.ts +1 -1
- package/dist/index.node.js +1 -1
- package/dist/node/files-async.cjs +1 -1
- package/dist/node/files-async.js +1 -1
- package/dist/node/files.cjs +1 -1
- package/dist/node/files.js +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/log/index.cjs +1 -1
- package/dist/node/log/index.cjs.map +1 -1
- package/dist/node/log/index.js +1 -1
- package/dist/node/log/log-context-node.cjs +1 -1
- package/dist/node/log/log-context-node.js +1 -1
- package/dist/node/log/log-node.cjs +1 -1
- package/dist/node/log/log-node.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2FUSCDBB.cjs.map +0 -1
- package/dist/chunk-37WX4OII.js +0 -2
- package/dist/chunk-3JYK34SS.js.map +0 -1
- package/dist/chunk-4SKL5XXG.cjs.map +0 -1
- package/dist/chunk-4UZG3DJM.js +0 -4
- package/dist/chunk-4UZG3DJM.js.map +0 -1
- package/dist/chunk-CXWP357D.cjs +0 -1
- package/dist/chunk-CXWP357D.cjs.map +0 -1
- package/dist/chunk-DY6RMJJK.cjs.map +0 -1
- package/dist/chunk-ENO2S7A6.js +0 -2
- package/dist/chunk-ENO2S7A6.js.map +0 -1
- package/dist/chunk-GEMIICZ3.cjs +0 -3
- package/dist/chunk-GEMIICZ3.cjs.map +0 -1
- package/dist/chunk-GI5KLMI3.js +0 -1
- package/dist/chunk-GNFY5RXJ.js +0 -2
- package/dist/chunk-GNFY5RXJ.js.map +0 -1
- package/dist/chunk-I2AG7VBC.cjs +0 -4
- package/dist/chunk-I2AG7VBC.cjs.map +0 -1
- package/dist/chunk-JKYONBGO.js +0 -2
- package/dist/chunk-JKYONBGO.js.map +0 -1
- package/dist/chunk-KBV6B6VE.js +0 -2
- package/dist/chunk-KBV6B6VE.js.map +0 -1
- package/dist/chunk-MJLJAWQU.cjs +0 -2
- package/dist/chunk-MJLJAWQU.cjs.map +0 -1
- package/dist/chunk-MPPDQFG7.js +0 -3
- package/dist/chunk-MPPDQFG7.js.map +0 -1
- package/dist/chunk-MVTKILPI.cjs.map +0 -1
- package/dist/chunk-OGNEGHHJ.cjs.map +0 -1
- package/dist/chunk-PW7VXIKT.js +0 -2
- package/dist/chunk-PW7VXIKT.js.map +0 -1
- package/dist/chunk-PWOQR4XN.cjs +0 -2
- package/dist/chunk-PWOQR4XN.cjs.map +0 -1
- package/dist/chunk-TSLCXYM6.js.map +0 -1
- package/dist/chunk-WYDZGMP2.js.map +0 -1
- package/dist/chunk-X375623D.cjs +0 -2
- package/dist/chunk-XRSSOHB3.cjs.map +0 -1
- /package/dist/{chunk-XVJBLOJN.js.map → chunk-23LAWLUA.js.map} +0 -0
- /package/dist/{chunk-37WX4OII.js.map → chunk-3NN7GCMG.js.map} +0 -0
- /package/dist/{chunk-L32SZCS2.js.map → chunk-5BU2RTLI.js.map} +0 -0
- /package/dist/{chunk-HK7ZBUGP.js.map → chunk-BQTR3A4K.js.map} +0 -0
- /package/dist/{chunk-GLXW4DRV.js.map → chunk-E2HNYDJ3.js.map} +0 -0
- /package/dist/{chunk-LG6Q6ZYH.js.map → chunk-FB652MJM.js.map} +0 -0
- /package/dist/{chunk-KGZLR63U.js.map → chunk-FLFL2HBO.js.map} +0 -0
- /package/dist/{chunk-7JYEP4TW.js.map → chunk-G7OPT6HL.js.map} +0 -0
- /package/dist/{chunk-25WKPUPK.js.map → chunk-GY3DIGQB.js.map} +0 -0
- /package/dist/{chunk-PL7IE4EC.js.map → chunk-KGVQQKNR.js.map} +0 -0
- /package/dist/{chunk-M7TCBWAB.js.map → chunk-KXDP4F6H.js.map} +0 -0
- /package/dist/{chunk-PBG65NPI.js.map → chunk-LLA23PXV.js.map} +0 -0
- /package/dist/{chunk-47SVTDUJ.js.map → chunk-LXIU2YVJ.js.map} +0 -0
- /package/dist/{chunk-SUPJG4Y2.js.map → chunk-MFEQZ4NH.js.map} +0 -0
- /package/dist/{chunk-GI5KLMI3.js.map → chunk-MNDP6M4C.js.map} +0 -0
- /package/dist/{chunk-S2TSPHHP.js.map → chunk-O45IUDO7.js.map} +0 -0
- /package/dist/{chunk-Z6XHALPL.js.map → chunk-P3O3JX2O.js.map} +0 -0
- /package/dist/{chunk-6Y7WTQVG.js.map → chunk-PKJ6SFGO.js.map} +0 -0
- /package/dist/{chunk-6K2ZECAZ.js.map → chunk-PPDA7WI4.js.map} +0 -0
- /package/dist/{chunk-U7YH3JVM.js.map → chunk-QRJ6CPZI.js.map} +0 -0
- /package/dist/{chunk-XAJUO7BH.js.map → chunk-QSAFIBCK.js.map} +0 -0
- /package/dist/{chunk-3VDPEJAS.js.map → chunk-TY2IJCPS.js.map} +0 -0
- /package/dist/{chunk-3EDQ6AO4.js.map → chunk-VOAQ3XQN.js.map} +0 -0
- /package/dist/{chunk-7HCVIDPQ.js.map → chunk-W7QLONZN.js.map} +0 -0
- /package/dist/{chunk-TVWT25NF.js.map → chunk-Z6354MCN.js.map} +0 -0
- /package/dist/{chunk-GMJXOP7Z.js.map → chunk-ZB6EQQDT.js.map} +0 -0
|
@@ -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
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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 _chunkWIUZ5ACAcjs = require('./chunk-WIUZ5ACA.cjs');var _chunkNRZLSOHTcjs = require('./chunk-NRZLSOHT.cjs');var _chunkG3QVU7BWcjs = require('./chunk-G3QVU7BW.cjs');var m=class{constructor(){this.subscribers={};this.subscribersOnAny=[];this._logEmitter=_chunkWIUZ5ACAcjs.c.call(void 0, "zeed:emitter","warn");this.call=new Proxy({},{get:(e,r)=>async(...t)=>await this.emit(r,...t)});this.addEventListener=this.on.bind(this);this.removeEventListener=this.off.bind(this)}async getAll(e,...r){try{let t=this.subscribers[e]||[];if(this._logEmitter.debug("emit",_optionalChain([this, 'optionalAccess', _ => _.constructor, 'optionalAccess', _2 => _2.name]),e,...r,t),this.subscribersOnAny.forEach(s=>s(e,...r)),t.length>0){let s=t.map(({fn:i})=>{try{return Promise.resolve(i(...r))}catch(n){this._logEmitter.warn("emit warning:",n)}return null}).filter(i=>i!=null);return await Promise.all(s)}}catch(t){this._logEmitter.error("emit exception",t)}}async get(e,...r){let t=await this.getAll(e,...r);if(t&&t.length>0)return t[0]}async emit(e,...r){return await this.getAll(e,...r)!=null}onAny(e){this.subscribersOnAny.push(e)}on(e,r,t={}){let{priority:s=0}=t,i=this.subscribers[e]||[],n=i.length,a={fn:r,priority:s};if(n<=0)this.subscribers[e]=[a];else{let u=n;for(let l=i.length-1;l>=0;l--){let L=i[l];if(s<=L.priority)break;u-=1}i.splice(u,0,a)}return()=>{this.off(e,r)}}onCall(e){for(let[r,t]of Object.entries(e))this.on(r,t)}once(e,r){let t=async(...s)=>(this.off(e,t),await Promise.resolve(r(...s)));return this.on(e,t),()=>{this.off(e,r)}}off(e,r){return this.subscribers[e]=(this.subscribers[e]||[]).filter(t=>r&&t.fn!==r),this}removeAllListeners(){return this.subscribers={},this}waitOn(e,r=1e3){return new Promise((t,s)=>{let i,n=this.once(e,a=>{_optionalChain([i, 'optionalCall', _3 => _3()]),t(a)});i=_chunkNRZLSOHTcjs.a.call(void 0, ()=>{n(),s(new Error("Did not respond in time"))},r)})}};function h(){let o=_chunkG3QVU7BWcjs.a.call(void 0, ).emitter;return o||(o=new m,_chunkG3QVU7BWcjs.a.call(void 0, ).emitter=o),o}exports.a = m; exports.b = h;
|
|
2
|
+
//# sourceMappingURL=chunk-UKLSZJTQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-BNMSTFVY.cjs","../src/common/msg/emitter.ts"],"names":["Emitter","DefaultLogger","target","name","args","event","subscribers","fn","all","err","results","opt","priority","slen","sobj","pos","i","s","handlers","handler","listener","onceListener","f","timeoutMS","resolve","reject","disposeTimer","disposeListener","value","safeTimeout","getGlobalEmitter","emitter","getGlobalContext"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-BNMSTFVY.cjs","sourcesContent":[null,"import type { DisposerFunction } from '../dispose-types'\nimport { getGlobalContext } from '../global'\nimport { DefaultLogger } from '../log/log'\nimport { safeTimeout } from '../timeout'\n\nexport type EmitterHandler = (...objs: any[]) => void\nexport type EmitterAllHandler<T = string> = (key: T, ...objs: any[]) => void\n\n// For magic see https://www.npmjs.com/package/tiny-typed-emitter / License MIT\n// https://stackoverflow.com/a/61609010/140927\n// https://basarat.gitbook.io/typescript/main-1/typed-event\n// https://github.com/andywer/typed-emitter#extending-an-emitter\n\n// TODO: Allow symbols? https://github.com/sindresorhus/emittery\n\nexport declare type ListenerSignature<L> = {\n [E in keyof L]: (...args: any[]) => any\n}\n\nexport declare interface DefaultListener {\n [k: string]: (...args: any[]) => any\n}\n\ninterface EmitterSubscriber {\n fn: EmitterHandler // (...args: any[]) => any\n priority: number\n}\n\nexport interface EmitterSubscriberOptions {\n priority?: number\n}\n\nexport class Emitter<\n RemoteListener extends ListenerSignature<RemoteListener> = DefaultListener,\n LocalListener extends ListenerSignature<LocalListener> = RemoteListener,\n> {\n private subscribers: Record<any, EmitterSubscriber[]> = {}\n private subscribersOnAny: any[] = []\n\n _logEmitter = DefaultLogger('zeed:emitter', 'warn')\n\n /** RPC like emitting of events. */\n call: RemoteListener = new Proxy<RemoteListener>({} as any, {\n get:\n (target: any, name: any) =>\n async (...args: any): Promise<boolean> =>\n await this.emit(name, ...args),\n })\n\n /**\n * Emits an event to all subscribers and executes their corresponding event handlers.\n *\n * @param event - The event to emit.\n * @param args - The arguments to pass to the event handlers.\n * @returns A promise that resolves to an array of results from all subscribers, or undefined if no subscribers are present.\n */\n public async getAll<U extends keyof RemoteListener>(event: U, ...args: Parameters<RemoteListener[U]>): Promise<ReturnType<RemoteListener[U]>[] | undefined> {\n try {\n const subscribers = (this.subscribers[event] || []) as EmitterSubscriber[]\n this._logEmitter.debug('emit', this?.constructor?.name, event, ...args, subscribers)\n\n this.subscribersOnAny.forEach(fn => fn(event, ...args))\n\n if (subscribers.length > 0) {\n const all = subscribers.map(({ fn }) => {\n try {\n return Promise.resolve(fn(...args))\n }\n catch (err) {\n this._logEmitter.warn('emit warning:', err)\n }\n return null\n }).filter(fn => fn != null)\n return (await Promise.all(all)) as any[]\n }\n }\n catch (err) {\n this._logEmitter.error('emit exception', err)\n }\n return undefined\n }\n\n /**\n * Emits an event to all subscribers and executes their corresponding event handlers.\n *\n * @param event - The event to emit.\n * @param args - The arguments to pass to the event handlers.\n * @returns A promise that resolves to the result of the first subscriber's handler, or undefined if no subscribers are present.\n */\n public async get<U extends keyof RemoteListener>(event: U, ...args: Parameters<RemoteListener[U]>): Promise<ReturnType<RemoteListener[U]> | undefined> {\n const results = await this.getAll(event, ...args)\n if (results && results.length > 0) {\n return results[0] // Return first result\n }\n return undefined\n }\n\n /**\n * Emits an event to all subscribers and executes their corresponding event handlers.\n *\n * @param event - The event to emit.\n * @param args - The arguments to pass to the event handlers.\n * @returns A promise that resolves to a boolean indicating whether the event was successfully emitted.\n */\n public async emit<U extends keyof RemoteListener>(event: U, ...args: Parameters<RemoteListener[U]>): Promise<boolean> {\n const result = await this.getAll(event, ...args)\n return result != null\n }\n\n public onAny(fn: EmitterHandler) {\n this.subscribersOnAny.push(fn)\n }\n\n public on<U extends keyof LocalListener>(\n event: U,\n fn: LocalListener[U],\n opt: EmitterSubscriberOptions = {},\n ): DisposerFunction {\n const { priority = 0 } = opt\n const subscribers = (this.subscribers[event] || [])\n const slen = subscribers.length\n const sobj = { fn, priority }\n if (slen <= 0) {\n this.subscribers[event] = [sobj]\n }\n else {\n let pos = slen\n for (let i = subscribers.length - 1; i >= 0; i--) {\n const s = subscribers[i]\n // Insert after last entry of same priority\n if (priority <= s.priority)\n break\n pos -= 1\n }\n subscribers.splice(pos, 0, sobj) // in place\n }\n return () => {\n this.off(event, fn)\n }\n }\n\n public onCall(handlers: Partial<LocalListener>) {\n for (const [name, handler] of Object.entries(handlers))\n this.on(name as any, handler as any)\n }\n\n public once<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): DisposerFunction {\n const onceListener = async (...args: any[]) => {\n this.off(event, onceListener as any)\n return await Promise.resolve(listener(...args))\n }\n this.on(event, onceListener as any)\n return () => {\n this.off(event, listener)\n }\n }\n\n public off<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): this {\n // log(\"off\", key)\n this.subscribers[event] = (this.subscribers[event] || []).filter(f => listener && f.fn !== listener)\n return this\n }\n\n public removeAllListeners(): this {\n this.subscribers = {}\n return this\n }\n\n ///\n\n waitOn<U extends keyof LocalListener, R = Parameters<LocalListener[U]>[0]>(\n event: U,\n timeoutMS = 1000,\n ): Promise<R> {\n return new Promise((resolve, reject) => {\n let disposeTimer: any\n\n const disposeListener = this.once(event, ((value): void => {\n disposeTimer?.()\n resolve(value)\n }) as LocalListener[U])\n\n disposeTimer = safeTimeout(() => {\n disposeListener()\n reject(new Error('Did not respond in time'))\n }, timeoutMS)\n })\n }\n\n // For compatibility reasons\n addEventListener = this.on.bind(this)\n removeEventListener = this.off.bind(this)\n}\n\ndeclare global {\n interface ZeedGlobalContext {\n emitter?: Emitter\n }\n\n interface ZeedGlobalEmitter {}\n}\n\n/** Global emitter that will listen even across modules */\nexport function getGlobalEmitter<T extends ListenerSignature<T> = ZeedGlobalEmitter>(): Emitter<T> {\n let emitter = getGlobalContext().emitter\n if (!emitter) {\n emitter = new Emitter()\n getGlobalContext().emitter = emitter\n }\n return emitter as any\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-UKLSZJTQ.cjs","../src/common/msg/emitter.ts"],"names":["Emitter","DefaultLogger","target","name","args","event","subscribers","fn","all","err","results","opt","priority","slen","sobj","pos","i","s","handlers","handler","listener","onceListener","f","timeoutMS","resolve","reject","disposeTimer","disposeListener","value","safeTimeout","getGlobalEmitter","emitter","getGlobalContext"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-UKLSZJTQ.cjs","sourcesContent":[null,"import type { DisposerFunction } from '../dispose-types'\nimport { getGlobalContext } from '../global'\nimport { DefaultLogger } from '../log/log'\nimport { safeTimeout } from '../timeout'\n\nexport type EmitterHandler = (...objs: any[]) => void\nexport type EmitterAllHandler<T = string> = (key: T, ...objs: any[]) => void\n\n// For magic see https://www.npmjs.com/package/tiny-typed-emitter / License MIT\n// https://stackoverflow.com/a/61609010/140927\n// https://basarat.gitbook.io/typescript/main-1/typed-event\n// https://github.com/andywer/typed-emitter#extending-an-emitter\n\n// TODO: Allow symbols? https://github.com/sindresorhus/emittery\n\nexport declare type ListenerSignature<L> = {\n [E in keyof L]: (...args: any[]) => any\n}\n\nexport declare interface DefaultListener {\n [k: string]: (...args: any[]) => any\n}\n\ninterface EmitterSubscriber {\n fn: EmitterHandler // (...args: any[]) => any\n priority: number\n}\n\nexport interface EmitterSubscriberOptions {\n priority?: number\n}\n\nexport class Emitter<\n RemoteListener extends ListenerSignature<RemoteListener> = DefaultListener,\n LocalListener extends ListenerSignature<LocalListener> = RemoteListener,\n> {\n private subscribers: Record<any, EmitterSubscriber[]> = {}\n private subscribersOnAny: any[] = []\n\n _logEmitter = DefaultLogger('zeed:emitter', 'warn')\n\n /** RPC like emitting of events. */\n call: RemoteListener = new Proxy<RemoteListener>({} as any, {\n get:\n (target: any, name: any) =>\n async (...args: any): Promise<boolean> =>\n await this.emit(name, ...args),\n })\n\n /**\n * Emits an event to all subscribers and executes their corresponding event handlers.\n *\n * @param event - The event to emit.\n * @param args - The arguments to pass to the event handlers.\n * @returns A promise that resolves to an array of results from all subscribers, or undefined if no subscribers are present.\n */\n public async getAll<U extends keyof RemoteListener>(event: U, ...args: Parameters<RemoteListener[U]>): Promise<ReturnType<RemoteListener[U]>[] | undefined> {\n try {\n const subscribers = (this.subscribers[event] || []) as EmitterSubscriber[]\n this._logEmitter.debug('emit', this?.constructor?.name, event, ...args, subscribers)\n\n this.subscribersOnAny.forEach(fn => fn(event, ...args))\n\n if (subscribers.length > 0) {\n const all = subscribers.map(({ fn }) => {\n try {\n return Promise.resolve(fn(...args))\n }\n catch (err) {\n this._logEmitter.warn('emit warning:', err)\n }\n return null\n }).filter(fn => fn != null)\n return (await Promise.all(all)) as any[]\n }\n }\n catch (err) {\n this._logEmitter.error('emit exception', err)\n }\n return undefined\n }\n\n /**\n * Emits an event to all subscribers and executes their corresponding event handlers.\n *\n * @param event - The event to emit.\n * @param args - The arguments to pass to the event handlers.\n * @returns A promise that resolves to the result of the first subscriber's handler, or undefined if no subscribers are present.\n */\n public async get<U extends keyof RemoteListener>(event: U, ...args: Parameters<RemoteListener[U]>): Promise<ReturnType<RemoteListener[U]> | undefined> {\n const results = await this.getAll(event, ...args)\n if (results && results.length > 0) {\n return results[0] // Return first result\n }\n return undefined\n }\n\n /**\n * Emits an event to all subscribers and executes their corresponding event handlers.\n *\n * @param event - The event to emit.\n * @param args - The arguments to pass to the event handlers.\n * @returns A promise that resolves to a boolean indicating whether the event was successfully emitted.\n */\n public async emit<U extends keyof RemoteListener>(event: U, ...args: Parameters<RemoteListener[U]>): Promise<boolean> {\n const result = await this.getAll(event, ...args)\n return result != null\n }\n\n public onAny(fn: EmitterHandler) {\n this.subscribersOnAny.push(fn)\n }\n\n public on<U extends keyof LocalListener>(\n event: U,\n fn: LocalListener[U],\n opt: EmitterSubscriberOptions = {},\n ): DisposerFunction {\n const { priority = 0 } = opt\n const subscribers = (this.subscribers[event] || [])\n const slen = subscribers.length\n const sobj = { fn, priority }\n if (slen <= 0) {\n this.subscribers[event] = [sobj]\n }\n else {\n let pos = slen\n for (let i = subscribers.length - 1; i >= 0; i--) {\n const s = subscribers[i]\n // Insert after last entry of same priority\n if (priority <= s.priority)\n break\n pos -= 1\n }\n subscribers.splice(pos, 0, sobj) // in place\n }\n return () => {\n this.off(event, fn)\n }\n }\n\n public onCall(handlers: Partial<LocalListener>) {\n for (const [name, handler] of Object.entries(handlers))\n this.on(name as any, handler as any)\n }\n\n public once<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): DisposerFunction {\n const onceListener = async (...args: any[]) => {\n this.off(event, onceListener as any)\n return await Promise.resolve(listener(...args))\n }\n this.on(event, onceListener as any)\n return () => {\n this.off(event, listener)\n }\n }\n\n public off<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): this {\n // log(\"off\", key)\n this.subscribers[event] = (this.subscribers[event] || []).filter(f => listener && f.fn !== listener)\n return this\n }\n\n public removeAllListeners(): this {\n this.subscribers = {}\n return this\n }\n\n ///\n\n waitOn<U extends keyof LocalListener, R = Parameters<LocalListener[U]>[0]>(\n event: U,\n timeoutMS = 1000,\n ): Promise<R> {\n return new Promise((resolve, reject) => {\n let disposeTimer: any\n\n const disposeListener = this.once(event, ((value): void => {\n disposeTimer?.()\n resolve(value)\n }) as LocalListener[U])\n\n disposeTimer = safeTimeout(() => {\n disposeListener()\n reject(new Error('Did not respond in time'))\n }, timeoutMS)\n })\n }\n\n // For compatibility reasons\n addEventListener = this.on.bind(this)\n removeEventListener = this.off.bind(this)\n}\n\ndeclare global {\n interface ZeedGlobalContext {\n emitter?: Emitter\n }\n\n interface ZeedGlobalEmitter {}\n}\n\n/** Global emitter that will listen even across modules */\nexport function getGlobalEmitter<T extends ListenerSignature<T> = ZeedGlobalEmitter>(): Emitter<T> {\n let emitter = getGlobalContext().emitter\n if (!emitter) {\n emitter = new Emitter()\n getGlobalContext().emitter = emitter\n }\n return emitter as any\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQQLWSF3Gcjs = require('./chunk-QQLWSF3G.cjs');function c(o){return Math.abs(o)%1===.5}function
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQQLWSF3Gcjs = require('./chunk-QQLWSF3G.cjs');function c(o){return Math.abs(o)%1===.5}function x(o){return o%2===0}var H=o=>Math.ceil(o),T= exports.d =o=>Math.floor(o),y= exports.e =o=>Math.round(o),D= exports.f =o=>{let n=Math.round(o);return c(o)&&x(n)?n-1:n},O= exports.g =o=>c(o)?Math.sign(o)*Math.ceil(Math.abs(o)):Math.round(o),A= exports.h =o=>c(o)?Math.floor(o):Math.round(o),E= exports.i =o=>{let n=Math.round(o);return c(o)?x(n)?n:n-1:n},F= exports.j =o=>c(o)?Math.sign(o)*Math.floor(Math.abs(o)):Math.round(o);function R(o,n=100,M=0){let e=[...o],u=o.length,t=[];t.fill(0,u);let m=_chunkQQLWSF3Gcjs.g.call(void 0, e);if(m!==0){let i=10**M,h=n*i,s=0;for(let r=u-1;r>=0;r--)e[r]=n*e[r]/m,s+=t[r]=Math.round(e[r]*i);if(s!==h){let r=s-h,p=1,b=Math.abs(r),l=e.map((a,f)=>Math.abs(t[f]-e[f]*i));for(;b>0;){let a=0,f=l[0];for(let d=1;d<u;d++)if(f<l[d]){if(s>h&&t[d]-p<0)continue;a=d,f=l[d]}s>h?t[a]-=p:t[a]+=p,l[a]-=p,b--}}if(i>1)return t.map(r=>+(r/i).toFixed(M))}return t}function S(o,n,M=100,e=0){return R(o.map(u=>u[n]),M,e).map((u,t)=>({...o[t],[n]:u}))}exports.a = c; exports.b = x; exports.c = H; exports.d = T; exports.e = y; exports.f = D; exports.g = O; exports.h = A; exports.i = E; exports.j = F; exports.k = R; exports.l = S;
|
|
2
|
+
//# sourceMappingURL=chunk-UKSSXBSQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-UKSSXBSQ.cjs","../src/common/data/rounding.ts"],"names":["isHalf","value","isEven","roundUp","roundDown","roundHalfUp","roundHalfOdd","rounded","roundHalfAwayFromZero","roundHalfDown","roundHalfEven","roundHalfTowardsZero","roundArrayOfNumbersToMatchSum","ipt","max","decimalPlaces","iptPercents","length","out","total","sum","powDecimalPlaces","pow100","check100","i","totalDiff","roundGrain","grainCount","diffs","_","idx","maxDiff","n","roundArrayOfObjectsToMatchSum","arr","name","o"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-UKSSXBSQ.cjs","sourcesContent":[null,"// From https://v2.dinerojs.com/docs/api/formatting/to-unit MIT\n\nimport { sum } from './math'\n\nexport type RoundingMode = (value: number) => number\n\nexport function isHalf(value: number): boolean {\n return Math.abs(value) % 1 === 0.5\n}\nexport function isEven(value: number): boolean {\n return value % 2 === 0\n}\n\nexport const roundUp: RoundingMode = value => Math.ceil(value)\nexport const roundDown: RoundingMode = value => Math.floor(value)\nexport const roundHalfUp: RoundingMode = value => Math.round(value)\n\n/**\n * Round a number with half values to nearest odd integer.\n */\nexport const roundHalfOdd: RoundingMode = (value) => {\n const rounded = Math.round(value)\n if (!isHalf(value))\n return rounded\n\n return isEven(rounded) ? rounded - 1 : rounded\n}\n\n/**\n * Round a number with half values to nearest integer farthest from zero.\n */\nexport const roundHalfAwayFromZero: RoundingMode = (value) => {\n return isHalf(value)\n ? Math.sign(value) * Math.ceil(Math.abs(value))\n : Math.round(value)\n}\n\n/**\n * Round a number with half values down.\n */\nexport const roundHalfDown: RoundingMode = value =>\n isHalf(value) ? Math.floor(value) : Math.round(value)\n\n/**\n * Round a number with half values to nearest even integer.\n * https://wiki.c2.com/?BankersRounding\n */\nexport const roundHalfEven: RoundingMode = (value) => {\n const rounded = Math.round(value)\n if (!isHalf(value))\n return rounded\n\n return isEven(rounded) ? rounded : rounded - 1\n}\n\n/**\n * Round a number with half values to nearest integer closest to zero.\n */\nexport const roundHalfTowardsZero: RoundingMode = value =>\n isHalf(value)\n ? Math.sign(value) * Math.floor(Math.abs(value))\n : Math.round(value)\n\n/**\n * This is useful for percentages that should sum up to 100.\n * But can also be fine tuned.\n *\n * Original from https://github.com/super-ienien/percent-round\n */\nexport function roundArrayOfNumbersToMatchSum(ipt: number[], max = 100, decimalPlaces = 0) {\n const iptPercents: number[] = [...ipt]\n const length = ipt.length\n const out: number[] = []\n out.fill(0, length)\n\n const total = sum(iptPercents)\n\n if (total !== 0) {\n const powDecimalPlaces = 10 ** decimalPlaces\n const pow100 = max * powDecimalPlaces\n let check100 = 0\n for (let i = length - 1; i >= 0; i--) {\n iptPercents[i] = max * iptPercents[i] / total\n check100 += out[i] = Math.round(iptPercents[i] * powDecimalPlaces)\n }\n\n if (check100 !== pow100) {\n const totalDiff = (check100 - pow100)\n const roundGrain = 1\n let grainCount = Math.abs(totalDiff)\n const diffs = iptPercents.map((_, i) => Math.abs(out[i] - iptPercents[i] * powDecimalPlaces))\n\n while (grainCount > 0) {\n let idx = 0\n let maxDiff = diffs[0]\n for (let i = 1; i < length; i++) {\n if (maxDiff < diffs[i]) {\n // avoid negative result\n if (check100 > pow100 && out[i] - roundGrain < 0)\n continue\n idx = i\n maxDiff = diffs[i]\n }\n }\n if (check100 > pow100)\n out[idx] -= roundGrain\n else\n out[idx] += roundGrain\n\n diffs[idx] -= roundGrain\n grainCount--\n }\n }\n\n if (powDecimalPlaces > 1)\n return out.map(n => +((n / powDecimalPlaces).toFixed(decimalPlaces)))\n }\n\n return out\n}\n\nexport function roundArrayOfObjectsToMatchSum<T extends Record<string, any>>(arr: T[], name: string, max = 100, decimalPlaces = 0): T[] {\n return roundArrayOfNumbersToMatchSum(arr.map(o => o[name]), max, decimalPlaces)\n .map((o, i) => ({\n ...arr[i],\n [name]: o,\n }))\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as T}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{g as T}from"./chunk-TY2IJCPS.js";function h(f,i){let n=structuredClone(f),o=[];function a(t){T(o,t)}function r(t){return o.push(t),()=>a(t)}i&&o.push(i);let l=()=>structuredClone(n),c=t=>{if(t!==n){let g=n;n=t,o.forEach(s=>s(t,g))}},e=[l,c,r,a];return e.get=l,e.set=c,e.on=r,e.off=a,e}export{h as a};
|
|
2
|
+
//# sourceMappingURL=chunk-VOAQ3XQN.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});function
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});function u(){return Date.now()}function c(){return Math.floor(Date.now()/1e3)}function s(e){return new Date(e*1e3)}function i(e){return e>999?`${(e/1e3).toFixed(1)} s`:`${e.toFixed(2)} ms`}function a(...e){for(let t of e){if(t instanceof Date)return t;if(typeof t=="string"){let n=null;if(t.includes(":"))try{n=new Date(t)}catch (e2){}if(!(n instanceof Date)){let o=/(\d\d\d\d)-(\d\d)-(\d\d)/.exec(t);o&&(n=new Date(+o[1],+o[2]-1,+o[3],12,0))}if(n instanceof Date)return n}}}function r(){return typeof performance<"u"?performance.now():Date.now()}function d(){let e=r();return function(){let t=r()-e;return i(t)}}function M(e){return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}function p(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}function T(e,t=!0){return e<=0?0:t&&e<1e12?e:Math.floor(e/1e3)}function f(e,t=!0){return e<=0?0:t&&e>1e12?e:Math.floor(e*1e3)}var x=31536e6,_= exports.m =31536e3,g= exports.n =2592e6,l= exports.o =2592e3,E= exports.p =6048e5,S= exports.q =604800,I= exports.r =864e5,m= exports.s =86400,U= exports.t =36e5,D= exports.u =3600,C= exports.v =6e4,b= exports.w =60;exports.a = u; exports.b = c; exports.c = s; exports.d = i; exports.e = a; exports.f = r; exports.g = d; exports.h = M; exports.i = p; exports.j = T; exports.k = f; exports.l = x; exports.m = _; exports.n = g; exports.o = l; exports.p = E; exports.q = S; exports.r = I; exports.s = m; exports.t = U; exports.u = D; exports.v = C; exports.w = b;
|
|
2
|
+
//# sourceMappingURL=chunk-VUF6POXZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/time.ts"],"names":["getTimestamp","getTimestampInSeconds","dateFromSeconds","ts","formatMilliseconds","ms"],"mappings":"AAGO,kFAASA,CAAAA,CAAAA,CAAuB,CACrC,OAAO,IAAA,CAAK,GAAA,CAAI,CAClB,CAKO,SAASC,CAAAA,CAAAA,CAAgC,CAC9C,OAAO,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,CAAA,CAAI,GAAI,CACrC,CAKO,SAASC,CAAAA,CAAgBC,CAAAA,CAAkB,CAChD,OAAO,IAAI,IAAA,CAAKA,CAAAA,CAAK,GAAI,CAC3B,CAIO,SAASC,CAAAA,CAAmBC,CAAAA,CAAoB,CACrD,OAAOA,CAAAA,CAAK,GAAA,CAAM,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-VUF6POXZ.cjs","sourcesContent":["/**\n * @returns Timestamp in miliseconds\n */\nexport function getTimestamp(): number {\n return Date.now()\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(Date.now() / 1000)\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function dateFromSeconds(ts: number): Date {\n return new Date(ts * 1000)\n}\n\n// typeof performance !== \"undefined\" ? performance.now() : new Date().getTime()\n\nexport function formatMilliseconds(ms: number): string {\n return ms > 999 ? `${(ms / 1000).toFixed(1)} s` : `${ms.toFixed(2)} ms`\n}\n\n/**\n * Parses the given date candidates and returns the first valid Date object found.\n *\n * @param dateCandidates - The date candidates to parse, which can be either strings or Date objects.\n * @returns The parsed Date object, or undefined if no valid date is found.\n */\nexport function parseDate(\n ...dateCandidates: (string | Date)[]\n): Date | undefined {\n for (const dateCandidate of dateCandidates) {\n if (dateCandidate instanceof Date)\n return dateCandidate\n\n if (typeof dateCandidate === 'string') {\n let date = null\n if (dateCandidate.includes(':')) {\n try {\n date = new Date(dateCandidate)\n }\n catch (err) {}\n }\n if (!(date instanceof Date)) {\n const m = /(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)/.exec(dateCandidate)\n if (m)\n date = new Date(+m[1], +m[2] - 1, +m[3], 12, 0)\n }\n if (date instanceof Date)\n return date\n }\n }\n}\n\n/**\n * @returns Timestamp in miliseconds\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\nexport function duration(): () => string {\n const t0 = getPerformanceTimestamp()\n\n return function (): string {\n const duration = getPerformanceTimestamp() - t0\n return formatMilliseconds(duration)\n\n // if (duration > 500)\n // return `${(duration / 1000).toFixed(4)}s`\n\n // // https://elijahmanor.com/format-js-numbers\n // // https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier\n // return duration.toLocaleString('en-US', {\n // style: 'unit',\n // unit: 'millisecond',\n // notation: 'compact',\n // compactDisplay: 'long',\n // })\n }\n}\n\n/** If you parsed a date without time zone, you may need to shift it to local time */\nexport function datetimeToLocal(fromDate: Date): Date {\n return new Date(\n fromDate.getUTCFullYear(),\n fromDate.getUTCMonth(),\n fromDate.getUTCDate(),\n fromDate.getUTCHours(),\n fromDate.getUTCMinutes(),\n fromDate.getUTCSeconds(),\n fromDate.getUTCMilliseconds(),\n )\n}\n\n/** If you parsed a date without time zone, you may need to shift it to UTC time */\nexport function datetimeToUTC(fromDate: Date): Date {\n return new Date(Date.UTC(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n ))\n}\n\n// const tsMs2000 = 946684800000 // same as Jan 11 1970 in ms\n// const tsMs2500 = 16725225600000 // same as Jul 13 1970 in ms\n// 1000000000000\n\n/** ms -> s with simple check. Assume low values are already ms */\nexport function timestampMillisecondsToSeconds(ts: number, smart = true): number {\n if (ts <= 0)\n return 0\n if (smart && ts < 1000000000000) { // TODO find a better threshold and add tests\n return ts\n // log.warn('Timestamp might already be in seconds?', ts)\n }\n return Math.floor(ts / 1000)\n}\n\n/** s -> ms with simple check. Assume high values are already ms */\nexport function timestampSecondsToMilliseconds(ts: number, smart = true): number {\n if (ts <= 0)\n return 0\n if (smart && ts > 1000000000000) { // TODO find a better threshold and add tests\n return ts\n // log.warn('Timestamp might already be in milliseconds?', ts)\n }\n return Math.floor(ts * 1000)\n}\n\nexport const TIME_YEAR_MS = 31536000000 // 365 * 24 * 60 * 60 * 1000\nexport const TIME_YEAR_S = 31536000 // 365 * 24 * 60 * 60\nexport const TIME_MONTH_MS = 2592000000 // 30 * 24 * 60 * 60 * 1000\nexport const TIME_MONTH_S = 2592000 // 30 * 24 * 60 * 60\nexport const TIME_WEEK_MS = 604800000 // 7 * 24 * 60 * 60 * 1000\nexport const TIME_WEEK_S = 604800 // 7 * 24 * 60 * 60\nexport const TIME_DAY_MS = 86400000 // 24 * 60 * 60 * 1000\nexport const TIME_DAY_S = 86400 // 24 * 60 * 60\nexport const TIME_HOUR_MS = 3600000 // 60 * 60 * 1000\nexport const TIME_HOUR_S = 3600 // 60 * 60\nexport const TIME_MINUTE_MS = 60000 // 60 * 1000\nexport const TIME_MINUTE_S = 60 // 60\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as h}from"./chunk-OGNA32Q7.js";import{a as g}from"./chunk-O7SD3C3B.js";import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as h}from"./chunk-OGNA32Q7.js";import{a as g}from"./chunk-O7SD3C3B.js";import{a as d}from"./chunk-J7NLA2WP.js";import{b as L,d as $}from"./chunk-KIWLOWOY.js";import{c as m,d as p,e as u}from"./chunk-RZR3ECDT.js";import{a as i,d as v}from"./chunk-EMLG23EY.js";function O(n={}){let a='font-family: "JetBrains Mono", Menlo; font-size: 11px;',y=`${a}`,b=`font-weight: 600; ${a}`,H=h(),c={},w=i(),{filter:k=void 0,level:C=void 0,colors:M=!0,padding:B=16,time:D=!0}=n,E=L(k),F=$(C),l=d();return l?o=>{if(!F(o.level)||!E(o.name))return;let f=D?`+${v(i()-w)}`:"",r=o.name||"",s=c[r||""];s==null&&(s={color:g(r)},c[r]=s);let e;switch(B>0&&(r=r.padEnd(16," ")),M&&H?(e=[`%c${r}%c %s %c${f}`],e.push(`color:${s.color}; ${b}`),e.push(y),e.push(o.messages?.[0]??""),e.push(`color:${s.color};`),e.push(...o.messages.slice(1))):e=[r,...o.messages,`+${f}`],e=e.map(t=>t instanceof Uint8Array?`<Uint8Array size=${t.length}>`:t),o.level){case 1:n.levelHelper&&(e[0]=`I|* ${e[0]}`),l.info(...e);break;case 2:n.levelHelper&&(e[0]=`W|** ${e[0]}`),l.warn(...e);break;case 3:n.levelHelper&&(e[0]=`E|*** ${e[0]}`),l.error(...e);break;default:n.levelHelper&&(e[0]=`D| ${e[0]}`),l.debug(...e);break}}:()=>{}}export{O as a};
|
|
2
|
+
//# sourceMappingURL=chunk-W7QLONZN.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVFR5TEQEcjs = require('./chunk-VFR5TEQE.cjs');var _chunkS43EDRFKcjs = require('./chunk-S43EDRFK.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVFR5TEQEcjs = require('./chunk-VFR5TEQE.cjs');var _chunkS43EDRFKcjs = require('./chunk-S43EDRFK.cjs');var _chunkXHBPFXWQcjs = require('./chunk-XHBPFXWQ.cjs');var _chunkWIUZ5ACAcjs = require('./chunk-WIUZ5ACA.cjs');var _chunkKOZF2WEAcjs = require('./chunk-KOZF2WEA.cjs');function O(g,M,p={}){return new Proxy(p,{get:(d,u)=>u in d?d[u]:(...w)=>g(u,w,M)})}function N(g={}){let{name:M=_chunkKOZF2WEAcjs.u.call(void 0, "hub"),encoder:p=new _chunkVFR5TEQEcjs.b,retryAfter:d=1e3,ignoreUnhandled:u=!0,logLevel:w=!1}=g,s=_chunkWIUZ5ACAcjs.c.call(void 0, M,w),L={},c,f=[],x,m={},R=()=>{clearTimeout(x)},y=async()=>{if(clearTimeout(x),c){if(c.isConnected)for(;f.length;){let n=f[0];try{c.postMessage(await p.encode(n)),f.shift()}catch(o){s.warn("postMessage",o);break}}f.length>0&&d>0&&(x=setTimeout(y,d))}},b=async n=>{s("enqueue postMessage",n),f.push(n),await y()},P=async n=>{c=n,c.on("connect",y),c.on("message",async o=>{s("onmessage",typeof o);let{name:r,args:v,id:e,result:l,error:a}=await p.decode(o.data);if(r){s(`name ${r} id ${e}`);try{if(L[r]==null)throw new Error(`handler for ${r} was not found`);let t=L[r](...v);_chunkXHBPFXWQcjs.h.call(void 0, t)&&(t=await t),s(`result ${t}`),e&&await b({id:e,result:t})}catch(t){let i=t instanceof Error?t:new Error(_chunkS43EDRFKcjs.h.call(void 0, t));s.warn("execution error",i.name),await b({id:e,error:{message:i.message,stack:i.stack,name:i.name}})}}else if(e)if(s(`response for id=${e}: result=${l}, error=${a}`),m[e]==null)l===void 0?s(`skip response for ${e}`):s.warn(`no response hook for ${e}`);else{let[t,i]=m[e];if(t&&i)if(delete m[e],a){let h=new Error(a.message);h.stack=a.stack,h.name=a.name,s.warn("reject",h.name),i(h)}else s("resolve",l),t(l)}else u||s.warn("Unhandled message",o)}),await y()},k=async(n,o,r={})=>{let{timeout:v=5e3}=r,e=_chunkKOZF2WEAcjs.q.call(void 0, );return await b({name:n,args:o,id:e}),_chunkXHBPFXWQcjs.f.call(void 0, new Promise((l,a)=>m[e]=[l,a]),v)};return g.channel&&P(g.channel),{dispose:R,connect:P,listen(n){Object.assign(L,n)},send(){return O(k,{},{options(n){return O(k,{...n})}})}}}exports.a = O; exports.b = N;
|
|
2
|
+
//# sourceMappingURL=chunk-WBCIZCIT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-WBCIZCIT.cjs","../src/common/msg/messages.ts"],"names":["createPromiseProxy","fn","opt","predefinedMethods","target","name","args","useMessageHub","uname","encoder","JsonEncoder","retryAfter","ignoreUnhandled","logLevel","log","DefaultLogger","handlers","channel","queue","queueRetryTimer","waitingForResponse","dispose","postNext","message","err","postMessage","connect","newChannel","msg","id","result","error"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-WBCIZCIT.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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 _chunk5W7DNVOJcjs = require('./chunk-5W7DNVOJ.cjs');var _chunkDVSS4UARcjs = require('./chunk-DVSS4UAR.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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 _chunk5W7DNVOJcjs = require('./chunk-5W7DNVOJ.cjs');var _chunkDVSS4UARcjs = require('./chunk-DVSS4UAR.cjs');var _chunkD3MBR5LJcjs = require('./chunk-D3MBR5LJ.cjs');var _chunkSAYZWFMVcjs = require('./chunk-SAYZWFMV.cjs');var _chunkSEQAFKIVcjs = require('./chunk-SEQAFKIV.cjs');var _chunkVUF6POXZcjs = require('./chunk-VUF6POXZ.cjs');function O(n={}){let a='font-family: "JetBrains Mono", Menlo; font-size: 11px;',y=`${a}`,b=`font-weight: 600; ${a}`,H=_chunk5W7DNVOJcjs.a.call(void 0, ),c={},w=_chunkVUF6POXZcjs.a.call(void 0, ),{filter:k=void 0,level:C=void 0,colors:M=!0,padding:B=16,time:D=!0}=n,E=_chunkSAYZWFMVcjs.b.call(void 0, k),F=_chunkSAYZWFMVcjs.d.call(void 0, C),l=_chunkD3MBR5LJcjs.a.call(void 0, );return l?o=>{if(!F(o.level)||!E(o.name))return;let f=D?`+${_chunkVUF6POXZcjs.d.call(void 0, _chunkVUF6POXZcjs.a.call(void 0, )-w)}`:"",r=o.name||"",s=c[r||""];s==null&&(s={color:_chunkDVSS4UARcjs.a.call(void 0, r)},c[r]=s);let e;switch(B>0&&(r=r.padEnd(16," ")),M&&H?(e=[`%c${r}%c %s %c${f}`],e.push(`color:${s.color}; ${b}`),e.push(y),e.push(_nullishCoalesce(_optionalChain([o, 'access', _ => _.messages, 'optionalAccess', _2 => _2[0]]), () => (""))),e.push(`color:${s.color};`),e.push(...o.messages.slice(1))):e=[r,...o.messages,`+${f}`],e=e.map(t=>t instanceof Uint8Array?`<Uint8Array size=${t.length}>`:t),o.level){case 1:n.levelHelper&&(e[0]=`I|* ${e[0]}`),l.info(...e);break;case 2:n.levelHelper&&(e[0]=`W|** ${e[0]}`),l.warn(...e);break;case 3:n.levelHelper&&(e[0]=`E|*** ${e[0]}`),l.error(...e);break;default:n.levelHelper&&(e[0]=`D| ${e[0]}`),l.debug(...e);break}}:()=>{}}exports.a = O;
|
|
2
|
+
//# sourceMappingURL=chunk-WZXFXFPZ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-WZXFXFPZ.cjs","../src/browser/log/log-browser.ts"],"names":["LoggerBrowserHandler","opt","styleFont","styleDefault"],"mappings":"AAAA,yuBAAwC,wDAAyC,wDAAyC,wDAAgD,wDAAuD,wDAAgD,SCQjQA,CAAAA,CAAqBC,CAAAA,CAAyB,CAAC,CAAA,CAAe,CAC5E,IAAMC,CAAAA,CAAY,wDAAA,CACZC,CAAAA,CAAe,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-WZXFXFPZ.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { browserSelectColorByName } from '../../common/log/log-colors'\nimport { getGlobalConsole } from '../../common/log/log-console-original'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { formatMilliseconds, getTimestamp } from '../../common/time'\nimport { browserSupportsColors } from './log-colors'\n\nexport function LoggerBrowserHandler(opt: LogHandlerOptions = {}): LogHandler {\n const styleFont = 'font-family: \"JetBrains Mono\", Menlo; font-size: 11px;'\n const styleDefault = `${styleFont}`\n const styleBold = `font-weight: 600; ${styleFont}`\n const useColors = browserSupportsColors()\n const namespaces: Record<string, any> = {}\n const startTime = getTimestamp()\n\n const {\n filter = undefined,\n level = undefined,\n colors = true,\n // levelHelper = false,\n // nameBrackets = true,\n padding = 16,\n time = true,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n // logCaptureConsole will override the console methods, so we need to get the original ones\n const originalConsole = getGlobalConsole()\n\n if (!originalConsole)\n return () => {}\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n const timeDiffString = time ? `+${formatMilliseconds(getTimestamp() - startTime)}` : ''\n\n let name = msg.name || ''\n let ninfo = namespaces[name || '']\n if (ninfo == null) {\n ninfo = {\n color: browserSelectColorByName(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n let args: string[]\n\n if (padding > 0)\n name = name.padEnd(16, ' ')\n\n if (colors && useColors) {\n args = [`%c${name}%c \\t%s %c${timeDiffString}`]\n args.push(`color:${ninfo.color}; ${styleBold}`)\n args.push(styleDefault)\n args.push(msg.messages?.[0] ?? '')\n args.push(`color:${ninfo.color};`)\n args.push(...msg.messages.slice(1))\n }\n else {\n args = [name, ...msg.messages, `+${timeDiffString}`]\n }\n\n // function consoleArgs(args: any[] = []): any[] {\n // return [\n // args\n // .filter((a) => typeof a === \"string\")\n // .map((a) => String(a))\n // .join(\" \"),\n // ...styles,\n // ...args.filter((a) => typeof a !== \"string\"),\n // ]\n // }\n\n args = args.map((arg: unknown) => {\n // There is an aweful bug in WKWebView causing \"stack\" issues on Uint8Arrays >= 64k\n if (arg instanceof Uint8Array)\n return `<Uint8Array size=${arg.length}>`\n return arg\n }) as any\n\n switch (msg.level) {\n case LogLevelInfo:\n if (opt.levelHelper)\n args[0] = `I|* ${args[0]}`\n originalConsole.info(...args)\n break\n case LogLevelWarn:\n if (opt.levelHelper)\n args[0] = `W|** ${args[0]}`\n originalConsole.warn(...args)\n break\n case LogLevelError:\n if (opt.levelHelper)\n args[0] = `E|*** ${args[0]}`\n originalConsole.error(...args)\n break\n default:\n if (opt.levelHelper)\n args[0] = `D| ${args[0]}`\n originalConsole.debug(...args)\n break\n }\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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 _chunkXHBPFXWQcjs = require('./chunk-XHBPFXWQ.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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 _chunkXHBPFXWQcjs = require('./chunk-XHBPFXWQ.cjs');var _chunkQHU5L465cjs = require('./chunk-QHU5L465.cjs');var _chunkWIUZ5ACAcjs = require('./chunk-WIUZ5ACA.cjs');var _chunkPWWR4H26cjs = require('./chunk-PWWR4H26.cjs');function D(){try{_nullishCoalesce(Symbol.dispose, () => ((Symbol.dispose=Symbol("Symbol.dispose")))),_nullishCoalesce(Symbol.asyncDispose, () => ((Symbol.asyncDispose=Symbol("Symbol.asyncDispose"))))}catch (e2){}}function h(e){let s;if(typeof e=="function"?s=e():_chunkXHBPFXWQcjs.h.call(void 0, e)?s=e:typeof e.dispose=="function"?s=e.dispose():_chunkXHBPFXWQcjs.h.call(void 0, e.dispose)&&(s=e.dispose),_chunkXHBPFXWQcjs.h.call(void 0, s))return s}function $(e){e!=null&&(_chunkPWWR4H26cjs.h.call(void 0, e)?e={name:e}:"debug"in e&&"label"in e&&(e={name:e.label,log:e})),D();let s=_optionalChain([e, 'optionalAccess', _ => _.name]),f=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _2 => _2.log]), () => (_chunkWIUZ5ACAcjs.c.call(void 0, "zeed:dispose"))),u=0,t=[];function i(r){if(r!=null&&t.includes(r)){_chunkQHU5L465cjs.i.call(void 0, t,p=>p!==r);let c=h(r);if(_chunkXHBPFXWQcjs.h.call(void 0, c))return c}}function n(r){if(r!=null)return t.unshift(r),()=>i(r)}function o(r=!1){s&&f.debug(`dispose "${s}": ${t.length} entries`),u+=1;let c=[];for(;t.length>0;){let p=t[0],y=i(p);if(_chunkXHBPFXWQcjs.h.call(void 0, y)){if(r)throw new Error(`Async disposable found: ${p} -> ${y}`);c.push(y)}}if(c.length>0)return Promise.all(c)}function d(){o(!0)}return Object.assign(o,{disposed:u,add:n,remove:i,track:n,untrack:i,dispose:o,disposeSync:d,sync:d,exec:o,getSize(){return t.length},isDisposed(){return t.length<=0},[Symbol.dispose](){return o()},async[Symbol.asyncDispose](){return await o()}})}function b(e={}){let{mode:s="fifo"}=e,f=[];D();let u=async(i=!1)=>{for(;f.length>0;){let n=f[0];if(_chunkQHU5L465cjs.i.call(void 0, f,o=>o!==n),typeof n=="function"){let o=n();if(_chunkXHBPFXWQcjs.h.call(void 0, o)){if(i)throw new Error(`Expected sync only function, but found async: ${n}`);await o}}else if(_chunkXHBPFXWQcjs.h.call(void 0, n)){if(i)throw new Error(`Expected sync only function, but found async: ${n}`);await n}else throw new Error(`Unhandled disposable: ${n}`)}};return Object.assign(u,{add:i=>{s==="lifo"?f.unshift(i):f.push(i)},exec:u,getSize(){return f.length}})}exports.a = D; exports.b = $; exports.c = b;
|
|
2
|
+
//# sourceMappingURL=chunk-XQZFGGB5.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-XQZFGGB5.cjs","../src/common/dispose-defer.ts"],"names":["polyfillUsing","callDisposer","disposable","result","isPromise","useDispose","opt","isString","name","log","DefaultLogger","disposed","tracked","untrack","arrayFilterInPlace","el","track","obj","dispose","strictSync","promises","fn"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-XQZFGGB5.cjs","sourcesContent":[null,"import type { Disposer, DisposerFunction } from './dispose-types'\nimport type { LoggerInterface } from './log/log-base'\nimport { arrayFilterInPlace } from './data/array'\nimport { isString } from './data/is'\nimport { isPromise } from './exec/promise'\nimport { DefaultLogger } from './log/log'\n\nexport function polyfillUsing() {\n try {\n // @ts-expect-error just a polyfill\n Symbol.dispose ??= Symbol('Symbol.dispose')\n // @ts-expect-error just a polyfill\n Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose')\n }\n catch (err) { }\n}\n\n// Symbol.dispose ??= Symbol('Symbol.dispose')\n// Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose')\n\n/** Different kinds of implementations have grown, this should unify them */\nfunction callDisposer(disposable: Disposer): Promise<void> | void {\n let result\n\n if (typeof disposable === 'function')\n result = disposable()\n else if (isPromise(disposable))\n result = disposable\n else if (typeof disposable.dispose === 'function')\n result = disposable.dispose()\n else if (isPromise(disposable.dispose))\n result = disposable.dispose\n\n if (isPromise(result))\n return result\n}\n\nexport interface UseDisposeConfig {\n name?: string\n log?: LoggerInterface\n}\n\nexport function useDispose(opt?: string | UseDisposeConfig | LoggerInterface) {\n if (opt != null) {\n if (isString(opt))\n opt = { name: opt }\n else if ('debug' in opt && 'label' in opt)\n opt = { name: opt.label, log: opt }\n }\n\n polyfillUsing()\n\n const name = opt?.name\n const log = opt?.log ?? DefaultLogger('zeed:dispose')\n\n let disposed = 0\n\n const tracked: Disposer[] = []\n\n function untrack(disposable: Disposer): Promise<void> | void {\n if (disposable != null && tracked.includes(disposable)) {\n arrayFilterInPlace(tracked, el => el !== disposable)\n const result = callDisposer(disposable)\n if (isPromise(result))\n return result\n }\n }\n\n function track(obj?: Disposer): DisposerFunction | undefined {\n if (obj == null)\n return\n tracked.unshift(obj) // LIFO\n return () => untrack(obj)\n }\n\n /** Dispose all tracked entries */\n function dispose(strictSync = false): Promise<any> | void {\n if (name)\n log.debug(`dispose \"${name}\": ${tracked.length} entries`)\n\n disposed += 1\n\n const promises: any[] = []\n while (tracked.length > 0) {\n const fn = tracked[0]\n const result = untrack(fn) // LIFO\n if (isPromise(result)) {\n if (strictSync)\n throw new Error(`Async disposable found: ${fn} -> ${result}`)\n else\n promises.push(result)\n }\n }\n\n if (promises.length > 0)\n return Promise.all(promises)\n }\n\n /** Dispose all tracked entries in synchronous way. */\n function disposeSync(): void {\n void dispose(true)\n }\n\n return Object.assign(dispose, {\n /** Counter that incremends, each time dispose has been called */\n disposed,\n\n add: track,\n remove: untrack,\n\n /** @deprecated use add */\n track,\n\n /** @deprecated use remove */\n untrack,\n\n dispose,\n disposeSync,\n sync: disposeSync,\n\n /** @deprecated use dispose */\n exec: dispose,\n getSize() {\n return tracked.length\n },\n isDisposed() {\n return tracked.length <= 0\n },\n\n [Symbol.dispose]() {\n return dispose()\n },\n\n async [Symbol.asyncDispose]() {\n return await dispose()\n },\n\n })\n}\n\nexport type UseDispose = ReturnType<typeof useDispose>\n\nexport function useDefer(\n config: {\n mode?: 'lifo' | 'fifo'\n } = {},\n) {\n const { mode = 'fifo' } = config\n const steps: Disposer[] = []\n\n polyfillUsing()\n\n /**\n * Excutes all steps. If all steps are not Promises, they are executed immediately,\n * otherwise a Promise is returned\n */\n const exec = async (expectSync = false) => {\n while (steps.length > 0) {\n const step = steps[0]\n arrayFilterInPlace(steps, el => el !== step)\n if (typeof step === 'function') {\n const result = step()\n if (isPromise(result)) {\n if (expectSync) {\n throw new Error(\n `Expected sync only function, but found async: ${step}`,\n )\n }\n await result\n }\n }\n else if (isPromise(step)) {\n if (expectSync) {\n throw new Error(\n `Expected sync only function, but found async: ${step}`,\n )\n }\n await step\n }\n else {\n throw new Error(`Unhandled disposable: ${step}`)\n }\n }\n }\n\n const add = (obj: Disposer) => {\n if (mode === 'lifo')\n steps.unshift(obj)\n else\n steps.push(obj)\n }\n\n return Object.assign(exec, {\n add,\n exec,\n getSize() {\n return steps.length\n },\n })\n}\n\nexport type UseDefer = ReturnType<typeof useDefer>\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-YFYLOTJ6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXQZFGGB5cjs = require('./chunk-XQZFGGB5.cjs');var _chunkXHBPFXWQcjs = require('./chunk-XHBPFXWQ.cjs');var d=()=>{let n=()=>{};return n[Symbol.dispose]=n,n};function f(n,i=0){let o=setTimeout(n,i),e=()=>{o&&(clearTimeout(o),o=void 0)};return e[Symbol.dispose]=e,e}function l(n,i){let o=setInterval(n,i),e=()=>{o&&(clearInterval(o),o=void 0)};return e[Symbol.dispose]=e,e}function a(n,i,o=!1){let e,s=!1;async function t(c=!1){c&&await _chunkXHBPFXWQcjs.i.call(void 0, n()),s||(e=setTimeout(()=>t(!0),i))}t(o);let r=()=>{e&&(s=!0,clearInterval(e),e=void 0)};return r[Symbol.dispose]=r,r}function y(n,i,o,...e){if(n==null)return d();n.on?n.on(i,o,...e):n.addEventListener&&n.addEventListener(i,o,...e);let s=()=>{n.off?n.off(i,o,...e):n.removeEventListener&&n.removeEventListener(i,o,...e)};return s[Symbol.dispose]=s,s}function v(n,i,o,...e){if(n==null)return d();n.on?n.once(i,o,...e):n.addEventListener&&n.addEventListener(i,o,...e);let s=()=>{n.off?n.off(i,o,...e):n.removeEventListener&&n.removeEventListener(i,o,...e)};return s[Symbol.dispose]=s,s}function m(n){let i=_chunkXQZFGGB5cjs.b.call(void 0, n);return Object.assign(i,{timeout:(o,e=0)=>i.add(f(o,e)),interval:(o,e=0)=>i.add(l(o,e)),intervalPause:(o,e=0)=>i.add(a(o,e)),on:(o,e,s,...t)=>i.add(y(o,e,s,...t)),once:(o,e,s,...t)=>i.add(v(o,e,s,...t))})}exports.a = d; exports.b = f; exports.c = l; exports.d = a; exports.e = y; exports.f = v; exports.g = m;
|
|
2
|
+
//# sourceMappingURL=chunk-YOWA3XPM.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-YOWA3XPM.cjs","../src/common/dispose-utils.ts"],"names":["noopDisposer","dispose","useTimeout","fn","timeout","timeoutHandle","useInterval","interval","intervalHandle","useIntervalPause","immediately","stop","loop","exec","promisify","useEventListener","emitter","eventName","args","useEventListenerOnce","useDisposeWithUtils","config","useDispose"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-YOWA3XPM.cjs","sourcesContent":[null,"import type { UseDisposeConfig } from './dispose-defer'\nimport type { DisposerFunction } from './dispose-types'\nimport type { LoggerInterface } from './log/log-base'\nimport { useDispose } from './dispose-defer'\nimport { promisify } from './exec/promise'\n\nexport type TimerExecFunction = () => void | Promise<void>\n\nexport const noopDisposer: () => DisposerFunction = () => {\n const dispose = () => {}\n dispose[Symbol.dispose] = dispose\n return dispose\n}\n\n/**\n * Executes a function after a specified timeout and returns a disposer function\n * that can be used to cancel the timeout.\n *\n * @param fn - The function to execute after the timeout.\n * @param timeout - The timeout duration in milliseconds (default: 0).\n * @returns A disposer function that can be used to cancel the timeout.\n */\nexport function useTimeout(fn: TimerExecFunction, timeout = 0): DisposerFunction {\n let timeoutHandle: any = setTimeout(fn, timeout)\n const dispose = () => {\n if (timeoutHandle) {\n clearTimeout(timeoutHandle)\n timeoutHandle = undefined\n }\n }\n dispose[Symbol.dispose] = dispose\n return dispose\n}\n\n/**\n * Executes a function repeatedly at a specified interval and returns a disposer function\n * that can be used to stop the execution.\n *\n * @param fn - The function to be executed at the specified interval.\n * @param interval - The interval (in milliseconds) at which the function should be executed.\n * @returns A disposer function that can be used to stop the execution of the function.\n */\nexport function useInterval(fn: TimerExecFunction, interval: number): DisposerFunction {\n let intervalHandle: any = setInterval(fn, interval)\n const dispose = () => {\n if (intervalHandle) {\n clearInterval(intervalHandle)\n intervalHandle = undefined\n }\n }\n dispose[Symbol.dispose] = dispose\n return dispose\n}\n\n/** The interval starts only, when the function is finished. */\nexport function useIntervalPause(fn: TimerExecFunction, interval: number, immediately = false): DisposerFunction {\n let intervalHandle: any\n let stop = false\n\n async function loop(exec = false) {\n if (exec)\n await promisify(fn())\n if (!stop)\n intervalHandle = setTimeout(() => loop(true), interval)\n }\n\n void loop(immediately)\n\n const dispose = () => {\n if (intervalHandle) {\n stop = true\n clearInterval(intervalHandle)\n intervalHandle = undefined\n }\n }\n dispose[Symbol.dispose] = dispose\n return dispose\n}\n\nexport function useEventListener(\n emitter: any,\n eventName: string,\n fn: (ev?: any) => void,\n ...args: any[]\n): DisposerFunction {\n if (emitter == null)\n return noopDisposer()\n if (emitter.on)\n emitter.on(eventName, fn, ...args)\n else if (emitter.addEventListener)\n emitter.addEventListener(eventName, fn, ...args)\n const dispose = () => {\n if (emitter.off)\n emitter.off(eventName, fn, ...args)\n else if (emitter.removeEventListener)\n emitter.removeEventListener(eventName, fn, ...args)\n }\n dispose[Symbol.dispose] = dispose\n return dispose\n}\n\nexport function useEventListenerOnce(\n emitter: any,\n eventName: string,\n fn: (ev?: any) => void,\n ...args: any[]\n): DisposerFunction {\n if (emitter == null)\n return noopDisposer()\n if (emitter.on)\n emitter.once(eventName, fn, ...args)\n else if (emitter.addEventListener)\n emitter.addEventListener(eventName, fn, ...args)\n const dispose = () => {\n if (emitter.off)\n emitter.off(eventName, fn, ...args)\n else if (emitter.removeEventListener)\n emitter.removeEventListener(eventName, fn, ...args)\n }\n dispose[Symbol.dispose] = dispose\n return dispose\n}\n\n/** Like useDispose but with shorthands for emitter and timers */\nexport function useDisposeWithUtils(config?: string | UseDisposeConfig | LoggerInterface) {\n const dispose = useDispose(config)\n return Object.assign(dispose, {\n timeout: (fn: TimerExecFunction, timeout = 0) => dispose.add(useTimeout(fn, timeout))!,\n interval: (fn: TimerExecFunction, interval = 0) => dispose.add(useInterval(fn, interval))!,\n intervalPause: (fn: TimerExecFunction, interval = 0) => dispose.add(useIntervalPause(fn, interval))!,\n on: (emitter: any, eventName: string, fn: (ev?: any) => void, ...args: any[]) => dispose.add(useEventListener(emitter, eventName, fn, ...args))!,\n once: (emitter: any, eventName: string, fn: (ev?: any) => void, ...args: any[]) => dispose.add(useEventListenerOnce(emitter, eventName, fn, ...args))!,\n })\n}\n\nexport type UseDisposeWithUtils = ReturnType<typeof useDisposeWithUtils>\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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 _chunkUKLSZJTQcjs = require('./chunk-UKLSZJTQ.cjs');var _chunkWIUZ5ACAcjs = require('./chunk-WIUZ5ACA.cjs');var _chunkKOZF2WEAcjs = require('./chunk-KOZF2WEA.cjs');var _chunkSEQAFKIVcjs = require('./chunk-SEQAFKIV.cjs');var h=class extends _chunkUKLSZJTQcjs.a{constructor(e={}){super();this.queue=[];this.waitToFinish=[];this.countMax=0;this.countResolved=0;this.paused=!1;let{name:t=_chunkKOZF2WEAcjs.u.call(void 0, "queue"),logLevel:i}=e;this.name=t,this.log=_chunkWIUZ5ACAcjs.c.call(void 0, `zeed:queue:${t}`,_nullishCoalesce(i, () => (9007199254740991)))}async performNext(){if(this.log("performNext, queue.length =",this.queue.length),this.currentTask!=null){this.log("performNext => skip while another task is running");return}if(this.paused){this.log("performNext => skip while is paused");return}for(;this.currentTask==null&&!this.paused;){let e=this.queue.shift();if(this.log(`performNext => ${_optionalChain([e, 'optionalAccess', _ => _.name])}`),e==null)break;this.countResolved===0&&this.emit("didStart",this.countMax);let{name:t,task:i,resolve:s}=e;this.currentTask=i();let n;try{this.log.info(`start task ${t}`),n=await this.currentTask,this.log(`finished task ${t} with result =`,n)}catch(l){this.log.warn("Error performing task",l)}s(n),this.currentTask=void 0,this.countResolved+=1,this.emit("didUpdate",this.countMax,this.countResolved)}for(this.queue.length===0&&(this.emit("didFinish"),this.countMax=0,this.countResolved=0);this.waitToFinish.length>0;)this.waitToFinish.shift()()}async enqueue(e,t={}){let{immediate:i=!1,name:s=_chunkKOZF2WEAcjs.u.call(void 0, this.name)}=t;return i?(this.log.info(`immediate execution ${s}`),await e()):(this.log(`enqueue ${s}`),new Promise(n=>{this.queue.push({name:s,task:e,resolve:n}),this.countMax+=1,this.emit("didUpdate",this.countMax,this.countResolved),this.performNext()}))}async enqueueReentrant(e,t={}){return this.enqueue(e,{immediate:this.currentTask!=null,name:t.name})}async cancelAll(e=!0){this.log("cancelAll"),this.emit("didCancel");let t=this.queue.map(i=>i.resolve);this.queue=[],t.forEach(i=>i(void 0)),await this.wait()}async pause(){this.log("pause"),this.paused=!0,await this.wait()}resume(){this.log("resume"),this.paused=!1,this.performNext()}async wait(){if(this.log("wait"),!(this.currentTask==null&&(this.queue.length===0||this.paused)))return new Promise(e=>{this.waitToFinish.push(e)})}get isPaused(){return this.paused}get hasTasks(){return this.queue.length!==0}};exports.a = h;
|
|
2
|
+
//# sourceMappingURL=chunk-YSJNSGVQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-YSJNSGVQ.cjs","../src/common/exec/queue.ts"],"names":["SerialQueue","Emitter","opt","name","uname","logLevel","DefaultLogger"],"mappings":"AAAA,yuBAAwC,wDAAyC,wDAAyC,wDAAyC,IC6BtJA,CAAAA,CAAN,MAAA,QAA0BC,mBAAoB,CAYnD,WAAA,CAAYC,CAAAA,CAA8C,CAAC,CAAA,CAAG,CAC5D,KAAA,CAAM,CAAA,CAZR,IAAA,CAAQ,KAAA,CAAoB,CAAC,CAAA,CAC7B,IAAA,CAAQ,YAAA,CAA+B,CAAC,CAAA,CAGxC,IAAA,CAAQ,QAAA,CAAW,CAAA,CACnB,IAAA,CAAQ,aAAA,CAAgB,CAAA,CAExB,IAAA,CAAQ,MAAA,CAAS,CAAA,CAAA,CAMf,GAAM,CAAE,IAAA,CAAAC,CAAAA,CAAOC,iCAAAA,OAAa,CAAA,CAAG,QAAA,CAAAC,CAAS,CAAA,CAAIH,CAAAA,CAC5C,IAAA,CAAK,IAAA,CAAOC,CAAAA,CACZ,IAAA,CAAK,GAAA,CAAMG,iCAAAA,CAAc,WAAA,EAAcH,CAAI,CAAA,CAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-YSJNSGVQ.cjs","sourcesContent":[null,"// Can learn from here https://github.com/sindresorhus/p-queue\n\nimport type { LoggerInterface, LogLevel } from '../log/log-base'\nimport { DefaultLogger } from '../log/log'\nimport { LogLevelOff } from '../log/log-base'\nimport { Emitter } from '../msg/emitter'\nimport { uname } from '../uuid'\n\ntype TaskResolver = any\n\nexport type TaskFn<T = any> = () => Promise<T>\n\ninterface TaskInfo {\n name: string\n task: TaskFn\n resolve: TaskResolver\n}\n\nexport interface TaskEvents {\n didUpdate: (max: number, resolved: number) => void\n didStart: (max: number) => void\n didCancel: () => void\n didFinish: () => void\n // didResolve(value: any): void\n // didReject(error: any): void\n // didPause(max: number): void\n}\n\n/** Guarentee serial execution of tasks. Able to wait, pause, resume and cancel all. */\nexport class SerialQueue extends Emitter<TaskEvents> {\n private queue: TaskInfo[] = []\n private waitToFinish: TaskResolver[] = []\n private currentTask?: Promise<any>\n private log: LoggerInterface\n private countMax = 0\n private countResolved = 0\n\n private paused = false\n\n name: string\n\n constructor(opt: { name?: string, logLevel?: LogLevel } = {}) {\n super()\n const { name = uname('queue'), logLevel } = opt\n this.name = name\n this.log = DefaultLogger(`zeed:queue:${name}`, logLevel ?? LogLevelOff)\n }\n\n private async performNext() {\n this.log('performNext, queue.length =', this.queue.length)\n\n if (this.currentTask != null) {\n this.log('performNext => skip while another task is running')\n return\n }\n\n if (this.paused) {\n this.log('performNext => skip while is paused')\n return\n }\n\n while (this.currentTask == null && !this.paused) {\n const info = this.queue.shift()\n this.log(`performNext => ${info?.name}`)\n\n if (info == null)\n break\n\n if (this.countResolved === 0)\n void this.emit('didStart', this.countMax)\n\n const { name, task, resolve } = info\n this.currentTask = task()\n let result\n try {\n this.log.info(`start task ${name}`)\n result = await this.currentTask\n this.log(`finished task ${name} with result =`, result)\n }\n catch (err) {\n this.log.warn('Error performing task', err)\n }\n\n resolve(result)\n this.currentTask = undefined\n\n this.countResolved += 1\n void this.emit('didUpdate', this.countMax, this.countResolved)\n }\n\n if (this.queue.length === 0) {\n void this.emit('didFinish')\n this.countMax = 0\n this.countResolved = 0\n }\n\n while (this.waitToFinish.length > 0)\n this.waitToFinish.shift()()\n }\n\n /** Enqueue task to be executed when all other tasks are done. Except `immediate = true`. */\n async enqueue<T>(\n task: TaskFn<T>,\n opt: { immediate?: boolean, name?: string } = {},\n ): Promise<T> {\n const { immediate = false, name = uname(this.name) } = opt\n if (immediate) {\n this.log.info(`immediate execution ${name}`)\n return await task()\n }\n\n this.log(`enqueue ${name}`)\n return new Promise((resolve) => {\n this.queue.push({\n name,\n task,\n resolve,\n })\n\n this.countMax += 1\n void this.emit('didUpdate', this.countMax, this.countResolved)\n\n void this.performNext()\n })\n }\n\n /** If a task is already performing, execute immediately. Otherwise enqueue as usual. */\n async enqueueReentrant<T>(\n task: TaskFn<T>,\n opt: { name?: string } = {},\n ): Promise<T> {\n return this.enqueue(task, {\n immediate: this.currentTask != null,\n name: opt.name,\n })\n }\n\n /** Remove all tasks from queue that are not yet executing. */\n async cancelAll(_unblock = true) {\n this.log('cancelAll')\n void this.emit('didCancel')\n const resolver = this.queue.map(task => task.resolve)\n this.queue = []\n resolver.forEach(r => r(undefined))\n await this.wait()\n }\n\n /** Pause execution after current task is finished. */\n async pause() {\n this.log('pause')\n this.paused = true\n await this.wait()\n }\n\n /** Resume paused queue. */\n resume() {\n this.log('resume')\n this.paused = false\n void this.performNext()\n }\n\n /** Wait for all tasks to finish */\n async wait() {\n this.log('wait')\n if (this.currentTask == null && (this.queue.length === 0 || this.paused))\n return\n\n return new Promise((resolve) => {\n this.waitToFinish.push(resolve)\n })\n }\n\n public get isPaused(): boolean {\n return this.paused\n }\n\n public get hasTasks(): boolean {\n return this.queue.length !== 0\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as N,c as Y,d as x}from"./chunk-32SBFUFB.js";import{b as M}from"./chunk-SMJIYIIR.js";import{d as y}from"./chunk-GBX4HAEG.js";import{
|
|
1
|
+
import{b as N,c as Y,d as x}from"./chunk-32SBFUFB.js";import{b as M}from"./chunk-SMJIYIIR.js";import{d as y}from"./chunk-GBX4HAEG.js";import{b as T,d as H}from"./chunk-KIWLOWOY.js";import{c as U,d as L,e as B}from"./chunk-RZR3ECDT.js";import{a as b,d as P}from"./chunk-EMLG23EY.js";import h from"process";import j from"tty";function q(){try{return y(h.env.ZEED_COLOR,j.isatty(h.stdout.fd))}catch{}return!1}var S,w=[6,2,3,4,5,1];function z(r){let t=0;for(let s=0;s<r.length;s++)t=(t<<5)-t+r.charCodeAt(s),t|=0;return w[Math.abs(t)%w.length]}var F={},D;function E(...r){h.stdout.write(`${M(r)}
|
|
2
2
|
`)}var g={BOLD:"\x1B[1m",UNBOLD:"\x1B[2m",RED:"\x1B[31m",GREEN:"\x1B[32m",BLUE:"\x1B[34m",PURPLE:"\x1B[35m",GRAY:"\x1B[37m",ORANGE:"\x1B[38;5;208m",UNCOLOR:"\x1B[0m"};var _="\x1B[0m";function d(r,t){return`${t===8?g.ORANGE:`\x1B[3${t<8?t:`8;5;${t}`}m`}${r}${_}`}function W(r,t,s=!0){return r.map(i=>{if(typeof i!="string")return i;let a=t,f=_;return s&&(a=`${g.BOLD}${a}`,f=`${f}${g.BOLD}`),`${a}${i}${f}`})}function J(){try{return y(h.env.ZEED_STACK,!1)}catch{}return!1}var v,O="loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485";function le(r={}){S==null&&(S=q()),v==null&&(v=J()),D==null&&(D=b());let{level:t=void 0,filter:s=void 0,colors:i=S,levelHelper:a=!0,nameBrackets:f=!0,padding:A=0,fill:R=0,stack:p=v,time:k=!0}=r,I=T(s),Z=H(t);return o=>{if(!Z(o.level)||!I(o.name))return;let K=b(),m=o.name||"",$=F[m||""];$==null&&($={color:z(m)},F[m]=$);let G=P(K-D),e,u=f?`[${m}]`:m;if(A>0&&(u=u.padStart(A," ")),R>0&&(u=u.padEnd(R," ")),i){let l=$.color;e=[`${d(u,l)} | `],o.level===2?e.push(...W(o.messages,g.ORANGE)):o.level===3?e.push(...W(o.messages,g.RED)):e.push(...o.messages),k&&e.push(d(`+${G}`,l))}else e=[u,...o.messages],k&&e.push(`+${G}`);if(o.messages?.[0]===O)try{console.log(Y())}catch{}if(p){let l="";typeof p=="boolean"?(l=x(["at Function.","at null.log (","at log ("],!0),l||(l=N(0,!0))):l=N(typeof p=="number"?p:3,!0),l&&e.push(d(`(${l})`,7))}let c="|",n=".";switch(o.level){case 1:a&&(e[0]=`I${c}${n} ${e[0]}`),E(...e);break;case 2:a&&(e[0]=(i?d(`W${c}${n}${n} `,8):`W${c}${n}${n} `)+e[0]),E(...e);break;case 3:a&&(e[0]=(i?d(`E${c}${n}${n}${n} `,1):`E${c}${n}${n}${n} `)+e[0]),E(...e);break;default:a&&(e[0]=`D${c} ${e[0]}`),E(...e);break}}}export{d as a,W as b,O as c,le as d};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-Z6354MCN.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as A}from"./chunk-4LIUGZHX.js";import{h as C}from"./chunk-GBX4HAEG.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as A}from"./chunk-4LIUGZHX.js";import{h as C}from"./chunk-GBX4HAEG.js";import{f as T,h as D}from"./chunk-2COZNZSC.js";import{c as $}from"./chunk-OTNXCBEK.js";import{q as E,u as j}from"./chunk-OOTCYORD.js";function O(g,M,p={}){return new Proxy(p,{get:(d,u)=>u in d?d[u]:(...w)=>g(u,w,M)})}function N(g={}){let{name:M=j("hub"),encoder:p=new A,retryAfter:d=1e3,ignoreUnhandled:u=!0,logLevel:w=!1}=g,s=$(M,w),L={},c,f=[],x,m={},R=()=>{clearTimeout(x)},y=async()=>{if(clearTimeout(x),c){if(c.isConnected)for(;f.length;){let n=f[0];try{c.postMessage(await p.encode(n)),f.shift()}catch(o){s.warn("postMessage",o);break}}f.length>0&&d>0&&(x=setTimeout(y,d))}},b=async n=>{s("enqueue postMessage",n),f.push(n),await y()},P=async n=>{c=n,c.on("connect",y),c.on("message",async o=>{s("onmessage",typeof o);let{name:r,args:v,id:e,result:l,error:a}=await p.decode(o.data);if(r){s(`name ${r} id ${e}`);try{if(L[r]==null)throw new Error(`handler for ${r} was not found`);let t=L[r](...v);D(t)&&(t=await t),s(`result ${t}`),e&&await b({id:e,result:t})}catch(t){let i=t instanceof Error?t:new Error(C(t));s.warn("execution error",i.name),await b({id:e,error:{message:i.message,stack:i.stack,name:i.name}})}}else if(e)if(s(`response for id=${e}: result=${l}, error=${a}`),m[e]==null)l===void 0?s(`skip response for ${e}`):s.warn(`no response hook for ${e}`);else{let[t,i]=m[e];if(t&&i)if(delete m[e],a){let h=new Error(a.message);h.stack=a.stack,h.name=a.name,s.warn("reject",h.name),i(h)}else s("resolve",l),t(l)}else u||s.warn("Unhandled message",o)}),await y()},k=async(n,o,r={})=>{let{timeout:v=5e3}=r,e=E();return await b({name:n,args:o,id:e}),T(new Promise((l,a)=>m[e]=[l,a]),v)};return g.channel&&P(g.channel),{dispose:R,connect:P,listen(n){Object.assign(L,n)},send(){return O(k,{},{options(n){return O(k,{...n})}})}}}export{O as a,N as b};
|
|
2
|
+
//# sourceMappingURL=chunk-ZB6EQQDT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{a as o,d as s,e as c,f as u}from"./chunk-7AQ7JFDC.js";function l(e,r,n=new WeakSet){if(e===r)return!0;if(n.has(r)||(s(r)||n.add(r),!(e instanceof Object)||!(r instanceof Object))||e.constructor!==r.constructor||e.length!==r.length)return!1;for(let i in e){if(!e.hasOwnProperty(i))continue;if(!r.hasOwnProperty(i))return!1;let f=e[i],t=r[i];if(!l(f,t,n))return!1}for(let i in r)if(r.hasOwnProperty(i)&&!e.hasOwnProperty(i))return!1;return!0}function p(e,r=new WeakSet){if(r.has(e))return"[Circular ~]";if(s(e)||r.add(e),u(e)){for(let n in e)if(e.hasOwnProperty(n)){if(e[n]===void 0){delete e[n];continue}p(e[n],r)}}else if(c(e))for(let n=e.length-1;n>=0;n--)e[n]===void 0&&e.splice(n,1);return e}function d(e,...r){for(let n of r)o(e)||(e={}),!(n==null||!o(n))&&Object.keys(n).forEach(i=>{let f=e[i],t=n[i];Array.isArray(f)&&Array.isArray(t)?e[i]=f.concat(t):o(f)&&o(t)?e[i]=d(Object.assign({},f),t):e[i]=t});return e}export{l as a,p as b,d as c};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
2
|
+
//# sourceMappingURL=chunk-ZN3QH3MM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/data/deep.ts"],"sourcesContent":["/* eslint-disable no-prototype-builtins */\n\nimport { isArray, isObject, isPrimitive, isRecord } from './is'\n\nexport function deepEqual(a: any, b: any, hash = new WeakSet()) {\n // if both x and y are null or undefined and exactly the same\n if (a === b)\n return true\n\n // Cyclic\n if (hash.has(b)) {\n // console.log('cyclic')\n return false\n }\n\n if (!isPrimitive(b))\n hash.add(b)\n\n // if they are not strictly equal, they both need to be Objects\n if (!(a instanceof Object) || !(b instanceof Object))\n return false\n\n // they must have the exact same prototype chain, the closest we can do is\n // test there constructor.\n if (a.constructor !== b.constructor)\n return false\n\n // Shortcut to avoid to many loops\n if (a.length !== b.length)\n return false\n\n for (const p in a) {\n // other properties were tested using x.constructor === y.constructor\n if (!a.hasOwnProperty(p))\n continue\n\n // allows to compare x[ p ] and y[ p ] when set to undefined\n if (!b.hasOwnProperty(p))\n return false\n\n const aa = a[p]\n const bb = b[p]\n\n // if they have the same strict value or identity then they are equal\n // if (aa === bb) {\n // console.log('eq', typeof bb)\n // if (bb != null) hash.set(bb, true)\n // continue\n // }\n //\n // // Numbers, Strings, Functions, Booleans must be strictly equal\n // if (typeof (aa) !== 'object') {\n // return false\n // }\n\n // Objects and Arrays must be tested recursively\n if (!deepEqual(aa, bb, hash))\n return false\n }\n\n // allows x[ p ] to be set to undefined\n for (const p in b) {\n if (b.hasOwnProperty(p) && !a.hasOwnProperty(p))\n return false\n }\n\n return true\n}\n\n/** Strip properties with value `undefined` in place */\nexport function deepStripUndefinedInPlace(a: any, hash:WeakSet<object> = new WeakSet()) {\n // Cyclic\n if (hash.has(a))\n return '[Circular ~]'\n if (!isPrimitive(a))\n hash.add(a)\n\n if (isRecord(a)) {\n for (const p in a) {\n if (!a.hasOwnProperty(p))\n continue\n if (a[p] === undefined) {\n delete a[p]\n continue\n }\n deepStripUndefinedInPlace(a[p], hash)\n }\n }\n else if (isArray(a)) {\n for (let i = a.length - 1; i >= 0; i--) {\n if (a[i] === undefined)\n a.splice(i, 1)\n }\n }\n // else ignore\n\n return a\n}\n\nexport function deepMerge(target: any, ...sources: any[]) {\n // todo cyclic protection\n for (const source of sources) {\n if (!isObject(target))\n target = {}\n\n if (source == null || !isObject(source))\n continue\n\n Object.keys(source).forEach((key) => {\n const targetValue = target[key]\n const sourceValue = (source as any)[key]\n\n if (Array.isArray(targetValue) && Array.isArray(sourceValue))\n target[key] = targetValue.concat(sourceValue)\n else if (isObject(targetValue) && isObject(sourceValue))\n target[key] = deepMerge(Object.assign({}, targetValue), sourceValue)\n else\n target[key] = sourceValue\n })\n }\n\n return target\n}\n\n// // https://stackoverflow.com/a/40294058/140927\n// // Handles cyclic references\n// export function deepClonePrimitives(obj, hash = new WeakMap()) {\n//\n// // primitives\n// if (Object(obj) !== obj) {\n// // log('Primitive', obj)\n// return obj\n// }\n//\n// // cyclic reference\n// if (hash.has(obj)) {\n// return hash.get(obj)\n// }\n//\n// let result\n//\n// // primitives as objects like new String(), new Number()\n// if (\n// obj instanceof String ||\n// obj instanceof Number ||\n// obj instanceof BigInt ||\n// obj instanceof Boolean ||\n// obj instanceof Symbol\n// ) {\n// result = new obj.constructor(obj.valueOf())\n// // hash.set(obj, result)\n// return result\n// }\n//\n// // log('Obj', obj)\n//\n// if (obj instanceof Set) {\n// result = new Set(obj)\n// } else if (obj instanceof Map) {\n// result = new Map(Array.from(obj, ([key, val]) => [key, deepClonePrimitives(val, hash)]))\n// } else if (obj instanceof Date) {\n// result = new Date(obj)\n// } else if (obj instanceof RegExp) {\n// result = new RegExp(obj.source, obj.flags)\n// } else if (Array.isArray(obj)) {\n// result = Array.from(obj, val => deepClonePrimitives(val, hash))\n// } else if (obj.constructor) {\n// result = new obj.constructor()\n// log('bj object', result)\n// } else if (obj instanceof Function || typeof obj === 'function') {\n// log('Keep object', obj, Object.getPrototypeOf(obj))\n// result = obj\n// } else {\n// result = Object.create(null)\n// }\n//\n// hash.set(obj, result)\n//\n// return Object.assign(result, ...Object.keys(obj).map(key => ({\n// [key]: deepClonePrimitives(obj[key], hash),\n// })))\n// }\n"],"mappings":"6DAIO,SAASA,EAAUC,EAAQC,EAAQC,EAAO,IAAI,QAAW,CAE9D,GAAIF,IAAMC,EACR,MAAO,GAqBT,GAlBIC,EAAK,IAAID,CAAC,IAKTE,EAAYF,CAAC,GAChBC,EAAK,IAAID,CAAC,EAGR,EAAED,aAAa,SAAW,EAAEC,aAAa,UAKzCD,EAAE,cAAgBC,EAAE,aAIpBD,EAAE,SAAWC,EAAE,OACjB,MAAO,GAET,QAAWG,KAAKJ,EAAG,CAEjB,GAAI,CAACA,EAAE,eAAeI,CAAC,EACrB,SAGF,GAAI,CAACH,EAAE,eAAeG,CAAC,EACrB,MAAO,GAET,IAAMC,EAAKL,EAAEI,CAAC,EACRE,EAAKL,EAAEG,CAAC,EAed,GAAI,CAACL,EAAUM,EAAIC,EAAIJ,CAAI,EACzB,MAAO,EACX,CAGA,QAAWE,KAAKH,EACd,GAAIA,EAAE,eAAeG,CAAC,GAAK,CAACJ,EAAE,eAAeI,CAAC,EAC5C,MAAO,GAGX,MAAO,EACT,CAGO,SAASG,EAA0BP,EAAQE,EAAuB,IAAI,QAAW,CAEtF,GAAIA,EAAK,IAAIF,CAAC,EACZ,MAAO,eAIT,GAHKG,EAAYH,CAAC,GAChBE,EAAK,IAAIF,CAAC,EAERQ,EAASR,CAAC,GACZ,QAAWI,KAAKJ,EACd,GAAKA,EAAE,eAAeI,CAAC,EAEvB,IAAIJ,EAAEI,CAAC,IAAM,OAAW,CACtB,OAAOJ,EAAEI,CAAC,EACV,QACF,CACAG,EAA0BP,EAAEI,CAAC,EAAGF,CAAI,WAG/BO,EAAQT,CAAC,EAChB,QAASU,EAAIV,EAAE,OAAS,EAAGU,GAAK,EAAGA,IAC7BV,EAAEU,CAAC,IAAM,QACXV,EAAE,OAAOU,EAAG,CAAC,EAKnB,OAAOV,CACT,CAEO,SAASW,EAAUC,KAAgBC,EAAgB,CAExD,QAAWC,KAAUD,EACdE,EAASH,CAAM,IAClBA,EAAS,CAAC,GAER,EAAAE,GAAU,MAAQ,CAACC,EAASD,CAAM,IAGtC,OAAO,KAAKA,CAAM,EAAE,QAASE,GAAQ,CACnC,IAAMC,EAAcL,EAAOI,CAAG,EACxBE,EAAeJ,EAAeE,CAAG,EAEnC,MAAM,QAAQC,CAAW,GAAK,MAAM,QAAQC,CAAW,EACzDN,EAAOI,CAAG,EAAIC,EAAY,OAAOC,CAAW,EACrCH,EAASE,CAAW,GAAKF,EAASG,CAAW,EACpDN,EAAOI,CAAG,EAAIL,EAAU,OAAO,OAAO,CAAC,EAAGM,CAAW,EAAGC,CAAW,EAEnEN,EAAOI,CAAG,EAAIE,CAClB,CAAC,EAGH,OAAON,CACT","names":["deepEqual","a","b","hash","isPrimitive","p","aa","bb","deepStripUndefinedInPlace","isRecord","isArray","i","deepMerge","target","sources","source","isObject","key","targetValue","sourceValue"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{e as v}from"./chunk-Z65G5XK5.js";import{c as _}from"./chunk-3UE4OYUL.js";import{a as u}from"./chunk-PM3JFDEY.js";import{d as b,e as d,f as y}from"./chunk-GBX4HAEG.js";import{d as f}from"./chunk-XY5PAARQ.js";import{b as l}from"./chunk-7PS6F2XX.js";function P(n,s){l(n?._object,"schema should be of type object"),l(v(n),"schema should be a flat object");let{env:i=process?.env??{},prefix:a="",prefixOptional:r=!1}=s??{},c=a.length,o=s?.existing??{};return u(n._object,(p,t)=>{let m=o[p]??t._default;if(t._props?.envSkip)return m;let g=f(p,"_").toUpperCase(),T=a+f(p,"_").toUpperCase(),e=i[g];return c>0&&(r===!0?e=i[T]??e:e=i[T]),e===void 0?m:(t.type==="number"?e=y(e,t._default):t.type==="boolean"&&(t._default===!0?e=d(e):e=b(e,!1)),_(t,e))})}function C(n,s="",i=!1,a=!1){l(v(n),"schema should be a flat object");let r=[];return u(n._object,(c,o)=>{if((o._props?.envPrivate||o._props?.envSkip)&&!a)return;let p=o._props?.envDesc??o._props?.desc;p&&p.trim().split(`
|
|
2
|
+
`).forEach(t=>{r.push(`# ${t.trim()}`)}),r.push(`${i?"# ":""}${s+f(c,"_").toUpperCase()}=${o._default??""}`),r.push("")}),r.join(`
|
|
3
|
+
`)}export{P as a,C as b};
|
|
4
|
+
//# sourceMappingURL=chunk-ZS3PXTRG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/schema/parse-env.ts"],"sourcesContent":["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 TypeProps {\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._props?.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._props?.envPrivate || schema._props?.envSkip) && !showPrivate)\n return\n const desc = schema._props?.envDesc ?? schema._props?.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"],"mappings":"8PAyBO,SAASA,EAAkBC,EAAiBC,EAA8B,CAC/EC,EAAOF,GAAQ,QAAS,iCAAiC,EACzDE,EAAOC,EAAmBH,CAAM,EAAG,gCAAgC,EAEnE,GAAM,CAEJ,IAAAI,EAAO,SAAS,KAAO,CAAC,EACxB,OAAAC,EAAS,GACT,eAAAC,EAAiB,EACnB,EAAIL,GAAO,CAAC,EACNM,EAAKF,EAAO,OACZG,EAAgBP,GAAK,UAAY,CAAC,EAExC,OAAOQ,EAAUT,EAAO,QAAS,CAACU,EAAKV,IAAW,CAChD,IAAMW,EAAeH,EAASE,CAAG,GAAKV,EAAO,SAC7C,GAAIA,EAAO,QAAQ,QACjB,OAAOW,EAET,IAAMC,EAASC,EAAcH,EAAK,GAAG,EAAE,YAAY,EAC7CI,EAAmBT,EAASQ,EAAcH,EAAK,GAAG,EAAE,YAAY,EAElEK,EAAaX,EAAIQ,CAAM,EAW3B,OATIL,EAAK,IACHD,IAAmB,GACrBS,EAAQX,EAAIU,CAAgB,GAAKC,EAGjCA,EAAQX,EAAIU,CAAgB,GAI5BC,IAAU,OACLJ,GAGLX,EAAO,OAAS,SAClBe,EAAQC,EAAeD,EAAOf,EAAO,QAAQ,EAEtCA,EAAO,OAAS,YACnBA,EAAO,WAAa,GACtBe,EAAQE,EAAuBF,CAAK,EAEpCA,EAAQG,EAAeH,EAAO,EAAK,GAEhCI,EAAkBnB,EAAQe,CAAK,EACxC,CAAC,CACH,CAEO,SAASK,EAAuBpB,EAAiBK,EAAS,GAAIgB,EAAa,GAAOC,EAAc,GAAe,CACpHpB,EAAOC,EAAmBH,CAAM,EAAG,gCAAgC,EACnE,IAAMuB,EAAkB,CAAC,EACzB,OAAAd,EAAUT,EAAO,QAAU,CAACU,EAAKV,IAAW,CAC1C,IAAKA,EAAO,QAAQ,YAAcA,EAAO,QAAQ,UAAY,CAACsB,EAC5D,OACF,IAAME,EAAOxB,EAAO,QAAQ,SAAWA,EAAO,QAAQ,KAClDwB,GACFA,EAAK,KAAK,EAAE,MAAM;AAAA,CAAI,EAAE,QAASC,GAAiB,CAChDF,EAAM,KAAK,KAAKE,EAAK,KAAK,CAAC,EAAE,CAC/B,CAAC,EAEHF,EAAM,KAAK,GAAGF,EAAa,KAAO,EAAE,GAAGhB,EAASQ,EAAcH,EAAK,GAAG,EAAE,YAAY,CAAC,IAAIV,EAAO,UAAY,EAAE,EAAE,EAChHuB,EAAM,KAAK,EAAE,CACf,CAAC,EACMA,EAAM,KAAK;AAAA,CAAI,CACxB","names":["parseSchemaEnv","schema","opt","assert","isSchemaObjectFlat","env","prefix","prefixOptional","pl","existing","objectMap","key","defaultValue","envKey","fromCamelCase","envKeyWithPrefix","value","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject","stringFromSchemaEnv","commentOut","showPrivate","lines","desc","line"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQTRZBP6Scjs = require('../../chunk-QTRZBP6S.cjs');require('../../chunk-VWGZLMDY.cjs');require('../../chunk-PUVQJAUJ.cjs');require('../../chunk-L5XYQBG4.cjs');require('../../chunk-RCH2BZO5.cjs');require('../../chunk-U3RSWYDX.cjs');require('../../chunk-3O7Y3U7Y.cjs');require('../../chunk-WIUZ5ACA.cjs');require('../../chunk-PQCBHUC4.cjs');require('../../chunk-TXKYNYVG.cjs');require('../../chunk-PVD4WJLP.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-BNWABQDO.cjs');exports.BinaryEncoder = _chunkQTRZBP6Scjs.a; exports.bitfield = _chunkQTRZBP6Scjs.f; exports.blobToArrayBuffer = _chunkQTRZBP6Scjs.g; exports.blobToUint8Array = _chunkQTRZBP6Scjs.h; exports.createBinaryStreamDecoder = _chunkQTRZBP6Scjs.e; exports.createBinaryStreamEncoder = _chunkQTRZBP6Scjs.d; exports.decodeJson = _chunkQTRZBP6Scjs.c; exports.encodeJson = _chunkQTRZBP6Scjs.b;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/common/bin/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h}from"../../chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h}from"../../chunk-P3O3JX2O.js";import"../../chunk-KPSXJ3IJ.js";import"../../chunk-JSFCIROJ.js";import"../../chunk-6GMDX4A4.js";import"../../chunk-ZMKLRLPE.js";import"../../chunk-2TGLRPFV.js";import"../../chunk-7PS6F2XX.js";import"../../chunk-OTNXCBEK.js";import"../../chunk-UNQPZI4V.js";import"../../chunk-6EQQCQER.js";import"../../chunk-T5KO3KAJ.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-HKZMJ5RY.js";export{a as BinaryEncoder,f as bitfield,g as blobToArrayBuffer,h as blobToUint8Array,e as createBinaryStreamDecoder,d as createBinaryStreamEncoder,c as decodeJson,b as encodeJson};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQHU5L465cjs = require('../../chunk-QHU5L465.cjs');require('../../chunk-QQLWSF3G.cjs');require('../../chunk-STAFIEKA.cjs');exports.arrayAvg = _chunkQHU5L465cjs.w; exports.arrayBatches = _chunkQHU5L465cjs.x; exports.arrayEmptyInPlace = _chunkQHU5L465cjs.k; exports.arrayFilterInPlace = _chunkQHU5L465cjs.i; exports.arrayFlatten = _chunkQHU5L465cjs.d; exports.arrayIntersection = _chunkQHU5L465cjs.e; exports.arrayIsEqual = _chunkQHU5L465cjs.o; exports.arrayMax = _chunkQHU5L465cjs.t; exports.arrayMin = _chunkQHU5L465cjs.u; exports.arrayMinus = _chunkQHU5L465cjs.b; exports.arrayRandomElement = _chunkQHU5L465cjs.s; exports.arrayRemoveElement = _chunkQHU5L465cjs.g; exports.arraySetArrayInPlace = _chunkQHU5L465cjs.l; exports.arraySetElement = _chunkQHU5L465cjs.h; exports.arrayShuffle = _chunkQHU5L465cjs.q; exports.arrayShuffleForce = _chunkQHU5L465cjs.r; exports.arrayShuffleInPlace = _chunkQHU5L465cjs.p; exports.arraySorted = _chunkQHU5L465cjs.m; exports.arraySortedNumbers = _chunkQHU5L465cjs.n; exports.arraySum = _chunkQHU5L465cjs.v; exports.arraySymmetricDifference = _chunkQHU5L465cjs.f; exports.arrayToggleInPlace = _chunkQHU5L465cjs.j; exports.arrayUnion = _chunkQHU5L465cjs.c; exports.arrayUnique = _chunkQHU5L465cjs.a; exports.createArray = _chunkQHU5L465cjs.y;
|
|
2
2
|
//# sourceMappingURL=array.cjs.map
|