zeed 0.24.21 → 0.24.22
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 +3 -3
- package/dist/browser/index.js +2 -2
- package/dist/browser/localstorage.spec.cjs +18 -18
- package/dist/browser/localstorage.spec.js +18 -18
- package/dist/browser/log/index.cjs +3 -3
- package/dist/browser/log/index.js +2 -2
- package/dist/browser/log/log-browser.cjs +3 -3
- package/dist/browser/log/log-browser.js +2 -2
- package/dist/browser/log/log-context-browser.cjs +4 -4
- package/dist/browser/log/log-context-browser.js +3 -3
- package/dist/{chunk-54BCGEKW.js → chunk-2KMVAIXW.js} +2 -2
- package/dist/{chunk-SX5YQHZO.cjs → chunk-33B2TEAZ.cjs} +44 -2
- package/dist/chunk-33B2TEAZ.cjs.map +1 -0
- package/dist/{chunk-6O4C75LB.cjs → chunk-34N227RG.cjs} +3 -3
- package/dist/{chunk-6O4C75LB.cjs.map → chunk-34N227RG.cjs.map} +1 -1
- package/dist/{chunk-M36JIJIN.cjs → chunk-4I63E7RR.cjs} +4 -4
- package/dist/{chunk-M36JIJIN.cjs.map → chunk-4I63E7RR.cjs.map} +1 -1
- package/dist/{chunk-NFGPFSPO.cjs → chunk-5RMO25EO.cjs} +3 -3
- package/dist/{chunk-NFGPFSPO.cjs.map → chunk-5RMO25EO.cjs.map} +1 -1
- package/dist/{chunk-HNN5IHXG.js → chunk-6EAE53I3.js} +3 -3
- package/dist/{chunk-QH47PAYE.cjs → chunk-77IPGSEK.cjs} +3 -3
- package/dist/{chunk-QH47PAYE.cjs.map → chunk-77IPGSEK.cjs.map} +1 -1
- package/dist/{chunk-IGBQSN6M.js → chunk-7IG6OMGK.js} +2 -2
- package/dist/{chunk-WVAFGHBS.cjs → chunk-ANH22HI4.cjs} +3 -3
- package/dist/{chunk-WVAFGHBS.cjs.map → chunk-ANH22HI4.cjs.map} +1 -1
- package/dist/{chunk-SCQIUUXO.js → chunk-ARGGC4S7.js} +2 -2
- package/dist/{chunk-SIJXIZ4J.cjs → chunk-AW6BPYNX.cjs} +7 -7
- package/dist/{chunk-SIJXIZ4J.cjs.map → chunk-AW6BPYNX.cjs.map} +1 -1
- package/dist/{chunk-FLUN46S4.cjs → chunk-BCX254SL.cjs} +3 -3
- package/dist/{chunk-FLUN46S4.cjs.map → chunk-BCX254SL.cjs.map} +1 -1
- package/dist/{chunk-VMVGGE32.cjs → chunk-CRG6JERG.cjs} +3 -3
- package/dist/{chunk-VMVGGE32.cjs.map → chunk-CRG6JERG.cjs.map} +1 -1
- package/dist/{chunk-DHBQHOGQ.js → chunk-CYQGBI3Z.js} +2 -2
- package/dist/{chunk-HW2ATP66.js → chunk-F6BC7VBR.js} +2 -2
- package/dist/{chunk-WZB5LGZ4.cjs → chunk-HL7W3IJL.cjs} +3 -3
- package/dist/{chunk-WZB5LGZ4.cjs.map → chunk-HL7W3IJL.cjs.map} +1 -1
- package/dist/{chunk-QP3M4SXG.cjs → chunk-HWQNPGWU.cjs} +3 -3
- package/dist/{chunk-QP3M4SXG.cjs.map → chunk-HWQNPGWU.cjs.map} +1 -1
- package/dist/{chunk-DO72DWOL.js → chunk-IDWIANZR.js} +2 -2
- package/dist/{chunk-FJRY5GL6.cjs → chunk-IQ37FMAX.cjs} +5 -5
- package/dist/{chunk-FJRY5GL6.cjs.map → chunk-IQ37FMAX.cjs.map} +1 -1
- package/dist/{chunk-JLSAW4YK.js → chunk-IUSTZZ2Z.js} +2 -2
- package/dist/{chunk-D7LG5W7J.js → chunk-IX5ITV72.js} +2 -2
- package/dist/{chunk-QJVZDNUH.cjs → chunk-K3AEUCMR.cjs} +4 -4
- package/dist/{chunk-QJVZDNUH.cjs.map → chunk-K3AEUCMR.cjs.map} +1 -1
- package/dist/{chunk-D4QZEGYG.js → chunk-M742MR6R.js} +2 -2
- package/dist/{chunk-CG4A32PZ.js → chunk-MAZZNLXR.js} +2 -2
- package/dist/{chunk-QV2QPYMW.js → chunk-NNCJ3QL5.js} +44 -2
- package/dist/{chunk-QV2QPYMW.js.map → chunk-NNCJ3QL5.js.map} +1 -1
- package/dist/{chunk-IWJ5F3JF.js → chunk-NOJUZASU.js} +2 -2
- package/dist/{chunk-CSYN5J44.js → chunk-NRYO7FMY.js} +3 -3
- package/dist/{chunk-57AYOGMA.js → chunk-OD5GCLP6.js} +2 -2
- package/dist/{chunk-C57J5C7S.js → chunk-OYZDZI6A.js} +2 -2
- package/dist/{chunk-QRZCRLS4.cjs → chunk-VXJUCLJU.cjs} +5 -5
- package/dist/{chunk-QRZCRLS4.cjs.map → chunk-VXJUCLJU.cjs.map} +1 -1
- package/dist/{chunk-JDRJMOB6.cjs → chunk-WE7QYNN3.cjs} +3 -3
- package/dist/{chunk-JDRJMOB6.cjs.map → chunk-WE7QYNN3.cjs.map} +1 -1
- package/dist/{chunk-N764ZFOI.cjs → chunk-WJXIPQLF.cjs} +4 -4
- package/dist/{chunk-N764ZFOI.cjs.map → chunk-WJXIPQLF.cjs.map} +1 -1
- package/dist/common/bin/index.spec.cjs +23 -23
- package/dist/common/bin/index.spec.cjs.map +1 -1
- package/dist/common/bin/index.spec.js +23 -23
- package/dist/common/crypto.spec.cjs +18 -18
- package/dist/common/crypto.spec.js +18 -18
- package/dist/common/data/deep.spec.cjs +2 -2
- package/dist/common/data/deep.spec.js +2 -2
- package/dist/common/data/sorted.spec.cjs +18 -18
- package/dist/common/data/sorted.spec.cjs.map +1 -1
- package/dist/common/data/sorted.spec.js +18 -18
- package/dist/common/data/utils.spec.cjs +5 -5
- package/dist/common/data/utils.spec.js +5 -5
- package/dist/common/dispose-defer.spec.cjs +6 -6
- package/dist/common/dispose-defer.spec.js +6 -6
- package/dist/common/exec/index.cjs +6 -6
- package/dist/common/exec/index.js +5 -5
- package/dist/common/exec/pool.cjs +5 -5
- package/dist/common/exec/pool.js +4 -4
- package/dist/common/exec/pool.spec.cjs +6 -6
- package/dist/common/exec/pool.spec.js +4 -4
- package/dist/common/exec/progress.cjs +4 -4
- package/dist/common/exec/progress.js +3 -3
- package/dist/common/exec/progress.spec.cjs +6 -6
- package/dist/common/exec/progress.spec.js +3 -3
- package/dist/common/exec/queue.cjs +4 -4
- package/dist/common/exec/queue.js +3 -3
- package/dist/common/exec/queue.spec.cjs +7 -7
- package/dist/common/exec/queue.spec.js +3 -3
- package/dist/common/index.cjs +56 -28
- package/dist/common/index.cjs.map +1 -1
- package/dist/common/index.d.cts +1 -1
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +56 -28
- package/dist/common/log/index.cjs +3 -3
- package/dist/common/log/index.js +2 -2
- package/dist/common/log/log-memory.cjs +3 -3
- package/dist/common/log/log-memory.js +2 -2
- package/dist/common/log/log-memory.spec.cjs +3 -3
- package/dist/common/log/log-memory.spec.js +2 -2
- package/dist/common/msg/channel-debug.cjs +5 -5
- package/dist/common/msg/channel-debug.js +4 -4
- package/dist/common/msg/channel-local.cjs +5 -5
- package/dist/common/msg/channel-local.js +4 -4
- package/dist/common/msg/channel-resilient.cjs +5 -5
- package/dist/common/msg/channel-resilient.js +4 -4
- package/dist/common/msg/channel-resilient.spec.cjs +8 -8
- package/dist/common/msg/channel-resilient.spec.js +5 -5
- package/dist/common/msg/channel.cjs +4 -4
- package/dist/common/msg/channel.js +3 -3
- package/dist/common/msg/channel.spec.cjs +6 -6
- package/dist/common/msg/channel.spec.js +5 -5
- package/dist/common/msg/encoder.spec.cjs +18 -18
- package/dist/common/msg/encoder.spec.js +18 -18
- package/dist/common/msg/index.cjs +9 -9
- package/dist/common/msg/index.js +8 -8
- package/dist/common/msg/messages.cjs +4 -4
- package/dist/common/msg/messages.js +3 -3
- package/dist/common/msg/messages.spec.cjs +8 -8
- package/dist/common/msg/messages.spec.js +5 -5
- package/dist/common/msg/pubsub.cjs +4 -4
- package/dist/common/msg/pubsub.js +3 -3
- package/dist/common/msg/pubsub.spec.cjs +11 -11
- package/dist/common/msg/pubsub.spec.js +5 -5
- package/dist/common/msg/rpc.spec.cjs +11 -11
- package/dist/common/msg/rpc.spec.cjs.map +1 -1
- package/dist/common/msg/rpc.spec.js +8 -8
- package/dist/common/time.cjs +30 -2
- package/dist/common/time.cjs.map +1 -1
- package/dist/common/time.d.cts +17 -1
- package/dist/common/time.d.ts +17 -1
- package/dist/common/time.js +31 -3
- package/dist/common/time.spec.cjs +40 -18
- package/dist/common/time.spec.cjs.map +1 -1
- package/dist/common/time.spec.js +28 -6
- package/dist/common/time.spec.js.map +1 -1
- package/dist/common/uuid.cjs +3 -3
- package/dist/common/uuid.js +2 -2
- package/dist/common/uuid.spec.cjs +50 -50
- package/dist/common/uuid.spec.js +2 -2
- package/dist/index.all.cjs +59 -31
- 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 +59 -31
- package/dist/index.browser.cjs +58 -30
- 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 +58 -30
- package/dist/index.node.cjs +58 -30
- 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 +58 -30
- package/dist/node/index.cjs +3 -3
- package/dist/node/index.js +2 -2
- package/dist/node/log/index.cjs +3 -3
- package/dist/node/log/index.js +2 -2
- package/dist/node/log/log-context-node.cjs +4 -4
- package/dist/node/log/log-context-node.js +3 -3
- package/dist/node/log/log-file.spec.cjs +2 -2
- package/dist/node/log/log-file.spec.js +2 -2
- package/dist/node/log/log-node.cjs +3 -3
- package/dist/node/log/log-node.js +2 -2
- package/dist/node/log/log-node.spec.cjs +7 -7
- package/dist/node/log/log-node.spec.js +3 -3
- package/package.json +8 -8
- package/dist/chunk-SX5YQHZO.cjs.map +0 -1
- /package/dist/{chunk-54BCGEKW.js.map → chunk-2KMVAIXW.js.map} +0 -0
- /package/dist/{chunk-HNN5IHXG.js.map → chunk-6EAE53I3.js.map} +0 -0
- /package/dist/{chunk-IGBQSN6M.js.map → chunk-7IG6OMGK.js.map} +0 -0
- /package/dist/{chunk-SCQIUUXO.js.map → chunk-ARGGC4S7.js.map} +0 -0
- /package/dist/{chunk-DHBQHOGQ.js.map → chunk-CYQGBI3Z.js.map} +0 -0
- /package/dist/{chunk-HW2ATP66.js.map → chunk-F6BC7VBR.js.map} +0 -0
- /package/dist/{chunk-DO72DWOL.js.map → chunk-IDWIANZR.js.map} +0 -0
- /package/dist/{chunk-JLSAW4YK.js.map → chunk-IUSTZZ2Z.js.map} +0 -0
- /package/dist/{chunk-D7LG5W7J.js.map → chunk-IX5ITV72.js.map} +0 -0
- /package/dist/{chunk-D4QZEGYG.js.map → chunk-M742MR6R.js.map} +0 -0
- /package/dist/{chunk-CG4A32PZ.js.map → chunk-MAZZNLXR.js.map} +0 -0
- /package/dist/{chunk-IWJ5F3JF.js.map → chunk-NOJUZASU.js.map} +0 -0
- /package/dist/{chunk-CSYN5J44.js.map → chunk-NRYO7FMY.js.map} +0 -0
- /package/dist/{chunk-57AYOGMA.js.map → chunk-OD5GCLP6.js.map} +0 -0
- /package/dist/{chunk-C57J5C7S.js.map → chunk-OYZDZI6A.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ANH22HI4.cjs","../src/common/msg/pubsub.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACEO,IAAM,OAAA,EAAN,MAAA,QAAuE,0BAAW;AAAA,EAWvF,WAAA,CAAY,GAAA,EAAmB;AAC7B,IAAA,KAAA,CAAM,CAAA;AA6DR,IAAA,IAAA,CAAA,QAAA,EAAU,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,IAAI,CAAA;AAC7B,IAAA,IAAA,CAAA,UAAA,EAAY,IAAA,CAAK,EAAA,CAAG,IAAA,CAAK,IAAI,CAAA;AA5D3B,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAI,kCAAA,CAAY,CAAA,EAAG,OAAA,EAAS,MAAA,EAAQ,MAAM,EAAA,EAAI,GAAA;AAEtE,IAAA,IAAA,CAAK,QAAA,EAAU,OAAA;AACf,IAAA,IAAA,CAAK,QAAA,EAAU,OAAA;AACf,IAAA,IAAA,CAAK,MAAA,EAAQ,KAAA;AAEb,IAAA,IAAA,CAAK,KAAA,oCAAO,IAAA,UAAQ,IAAA,CAAK,OAAA,CAAQ,IAAA,UAAM,qCAAA,QAAc,GAAA;AACrD,IAAA,IAAA,CAAK,IAAA,EAAM,6CAAA,CAAc,EAAA;AAET,IAAA;AACE,MAAA;AACL,QAAA;AACV,MAAA;AACe,MAAA;AACL,QAAA;AACV,MAAA;AACH,IAAA;AAEgB,IAAA;AACU,MAAA;AACf,MAAA;AACE,QAAA;AACG,MAAA;AACJ,MAAA;AACY,QAAA;AACC,QAAA;AACvB,MAAA;AACD,IAAA;AACH,EAAA;AAnCc,EAAA;AACY,IAAA;AAC1B,EAAA;AAqCK,EAAA;AAEqB,IAAA;AAC1B,EAAA;AAKoB,EAAA;AACd,IAAA;AACO,MAAA;AACU,QAAA;AACG,MAAA;AACJ,MAAA;AACF,QAAA;AACP,QAAA;AACT,MAAA;AACwB,MAAA;AACX,MAAA;AACN,MAAA;AAEG,IAAA;AACY,MAAA;AACxB,IAAA;AACO,IAAA;AACT,EAAA;AAIF;AAIE;AACwB,EAAA;AAC1B;ADzB8B;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-ANH22HI4.cjs","sourcesContent":[null,"import type { Channel } from './channel'\nimport type { DefaultListener, ListenerSignature } from './emitter'\nimport type { Encoder } from './encoder'\nimport { DefaultLogger } from '../log/log'\nimport { uname } from '../uuid'\nimport { Emitter } from './emitter'\nimport { JsonEncoder } from './encoder'\n\ninterface PubSubConfig {\n channel: Channel\n encoder?: Encoder\n name?: string\n debug?: boolean\n}\n\nexport class PubSub<L extends ListenerSignature<L> = DefaultListener> extends Emitter<L> {\n name: string\n channel: Channel\n encoder: Encoder\n log: any\n debug: boolean\n\n get shortId() {\n return this.name.substr(0, 6)\n }\n\n constructor(opt: PubSubConfig) {\n super()\n\n const { name, encoder = new JsonEncoder(), channel, debug = false } = opt\n\n this.channel = channel\n this.encoder = encoder\n this.debug = debug\n\n this.name = name ?? this.channel.id ?? uname('pubsub')\n this.log = DefaultLogger(`${this.shortId}`)\n\n if (this.debug) {\n this.channel.on('connect', () => {\n this.log('channel connected')\n })\n this.channel.on('disconnect', () => {\n this.log('channel disconnected')\n })\n }\n\n this.channel.on('message', async ({ data }) => {\n const info = await this.encoder.decode(data)\n if (this.debug)\n this.log(`channel message, event=${info?.event}, info=`, info)\n else this.log(`channel message, event=${info?.event}`)\n if (info) {\n const { event, args } = info\n await this.emitSuper(event, ...args)\n }\n })\n }\n\n private async emitSuper<U extends keyof L>(\n event: U,\n ...args: Parameters<L[U]>\n ): Promise<boolean> {\n return await super.emit(event, ...args)\n }\n\n async emit<U extends keyof L>(\n event: U,\n ...args: Parameters<L[U]>\n ): Promise<boolean> {\n try {\n if (this.debug)\n this.log(`emit(${String(event)})`, event)\n else this.log(`emit(${String(event)})`, args.length)\n if (!this.channel.isConnected) {\n this.log.warn('channel not connected')\n return false\n }\n const data = await this.encoder.encode({ event, args })\n this.channel.postMessage(data)\n return true\n }\n catch (err) {\n this.log.warn(`emit(${String(event)})`, err)\n }\n return false\n }\n\n publish = this.emit.bind(this)\n subscribe = this.on.bind(this)\n}\n\nexport function usePubSub<L extends ListenerSignature<L> = DefaultListener>(\n opt: PubSubConfig,\n) {\n return new PubSub<L>(opt)\n}\n"]}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
formatMilliseconds,
|
|
9
9
|
getTimestamp
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-NNCJ3QL5.js";
|
|
11
11
|
import {
|
|
12
12
|
getGlobalConsole
|
|
13
13
|
} from "./chunk-MIZOLME5.js";
|
|
@@ -102,4 +102,4 @@ function LoggerBrowserHandler(opt = {}) {
|
|
|
102
102
|
export {
|
|
103
103
|
LoggerBrowserHandler
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-ARGGC4S7.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
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; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkHWQNPGWUcjs = require('./chunk-HWQNPGWU.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunk34HB56WEcjs = require('./chunk-34HB56WE.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkBCX254SLcjs = require('./chunk-BCX254SL.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
var _chunk64ZMDALJcjs = require('./chunk-64ZMDALJ.cjs');
|
|
@@ -19,13 +19,13 @@ var _chunkN5KTMDVOcjs = require('./chunk-N5KTMDVO.cjs');
|
|
|
19
19
|
function usePool(config = {}) {
|
|
20
20
|
const {
|
|
21
21
|
maxParallel = 3,
|
|
22
|
-
name =
|
|
22
|
+
name = _chunkBCX254SLcjs.uname.call(void 0, "pool"),
|
|
23
23
|
idConflictResolution = "memoize"
|
|
24
24
|
} = config;
|
|
25
25
|
const events = new (0, _chunk34HB56WEcjs.Emitter)();
|
|
26
26
|
const dispose = _chunk64ZMDALJcjs.useDispose.call(void 0, );
|
|
27
27
|
dispose.add(cancelAll);
|
|
28
|
-
const progress = new (0,
|
|
28
|
+
const progress = new (0, _chunkHWQNPGWUcjs.Progress)({ name });
|
|
29
29
|
progress.on("progressCancelled", cancelAll);
|
|
30
30
|
let countMax = 0;
|
|
31
31
|
let countResolved = 0;
|
|
@@ -138,7 +138,7 @@ function usePool(config = {}) {
|
|
|
138
138
|
function enqueue(task, config2 = {}) {
|
|
139
139
|
let done;
|
|
140
140
|
const promise = new Promise((resolve) => done = resolve);
|
|
141
|
-
const id = _nullishCoalesce(config2.id, () => (
|
|
141
|
+
const id = _nullishCoalesce(config2.id, () => ( _chunkBCX254SLcjs.uuid.call(void 0, )));
|
|
142
142
|
if (tasks[id] != null) {
|
|
143
143
|
const resolution = _nullishCoalesce(config2.idConflictResolution, () => ( idConflictResolution));
|
|
144
144
|
if (resolution === "replace") {
|
|
@@ -160,7 +160,7 @@ function usePool(config = {}) {
|
|
|
160
160
|
throw new Error(`Pool task with id=${id} already exists!`);
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
const taskProgress = new (0,
|
|
163
|
+
const taskProgress = new (0, _chunkHWQNPGWUcjs.Progress)({
|
|
164
164
|
name: id,
|
|
165
165
|
totalUnits: _nullishCoalesce(config2.max, () => ( 1)),
|
|
166
166
|
completeUnits: _nullishCoalesce(config2.resolved, () => ( 0))
|
|
@@ -220,4 +220,4 @@ function usePool(config = {}) {
|
|
|
220
220
|
|
|
221
221
|
|
|
222
222
|
exports.usePool = usePool;
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-AW6BPYNX.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-SIJXIZ4J.cjs","../src/common/exec/pool.ts"],"names":["config"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-SIJXIZ4J.cjs","sourcesContent":[null,"import { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname, uuid } from '../uuid'\nimport { Progress } from './progress'\nimport { createPromise } from './promise'\n\nexport type PoolTaskIdConflictResolution = 'replace' | 'memoize' | 'prioritize' | 'error'\n\n// export enum PoolTaskIdConflictResolution {\n// /**\n// * Tasks with same `id` are replaced. Newest wins.\n// */\n// replace = 0,\n\n// /**\n// * Task with same `id` will continue to run. Reference is returned with option to cancel.\n// * Named \"memoize\" because the result of the task should always be the same for the same `id`,\n// * like e.g. a download.\n// */\n// memoize = 1,\n\n// /** Like memoize, but try to put on top of the list */\n// prioritize = 2,\n\n// /**\n// * Tasks with same `id` throw error\n// */\n// error = 3,\n\n// }\n\nexport interface PoolConfig {\n name?: string\n maxParallel?: number\n idConflictResolution?: PoolTaskIdConflictResolution\n}\n\nexport type PoolTaskFn<T = any> = (taskInfo: PoolTask<T>) => Promise<T>\n\nexport type PoolTaskState = 'waiting' | 'running' | 'finished'\n\n/** Task */\nexport interface PoolTask<T> {\n readonly id: string\n readonly task: PoolTaskFn<T>\n readonly done: (result?: any) => void\n readonly setMax: (max: number) => void\n readonly setResolved: (resolved: number) => void\n readonly incResolved: (inc?: number) => void\n state: PoolTaskState\n priority: number\n /** Same groups are executed only one at a time */\n group?: string\n\n progress: Progress\n max: number\n resolved: number\n\n result?: T\n payload?: unknown\n}\n\nexport interface PoolTaskEvents {\n didUpdate: (\n max: number,\n resolved: number,\n presentMax: number,\n presentResolved: number\n ) => void\n didStart: (id: string) => void\n didCancel: (id: string) => void\n didFinish: () => void\n didResolve: (id: string, value: any) => void\n didReject: (id: string, error: any) => void\n}\n\n// todo: barrier\n// todo: dependents\n\nexport function usePool<T = any>(config: PoolConfig = {}) {\n const {\n maxParallel = 3,\n name = uname('pool'),\n idConflictResolution = 'memoize',\n } = config\n\n const events = new Emitter<PoolTaskEvents>()\n\n const dispose = useDispose()\n dispose.add(cancelAll)\n\n const progress = new Progress({ name })\n\n progress.on('progressCancelled', cancelAll)\n\n let countMax = 0\n let countResolved = 0\n let currentParallel = 0\n let priority = 0\n const tasks: Record<string, PoolTask<T>> = {}\n\n // const [allFinishedPromise, allFinishedResolve] = createPromise()\n\n async function waitFinishAll() {\n if (countMax > 0) {\n const [promise, resolve] = createPromise()\n events.once('didFinish', resolve)\n return promise\n }\n }\n\n async function cleanupFinished() {\n for (const id of Object.keys(tasks)) {\n const task = tasks[id]\n if (task.state === 'finished') {\n await tasks[id].progress.dispose()\n delete tasks[id]\n }\n }\n }\n\n function didFinish() {\n void events.emit('didFinish')\n // allFinishedResolve(countMax)\n countMax = 0\n countResolved = 0\n void cleanupFinished()\n progress.reset()\n }\n\n function didUpdate() {\n let presentMax = 0\n let presentResolved = 0\n for (const { max, resolved, state } of Object.values(tasks)) {\n presentMax += max\n presentResolved += state === 'finished' ? max : Math.min(max, resolved)\n }\n void events.emit(\n 'didUpdate',\n countMax,\n countResolved,\n presentMax,\n presentResolved,\n )\n }\n\n function performNext() {\n didUpdate()\n if (countMax > 0 && countMax === countResolved)\n didFinish()\n if (currentParallel >= maxParallel)\n return\n const waitingTasks = Object.values(tasks).filter(\n t => t.state === 'waiting',\n )\n if (waitingTasks.length > 0) {\n let taskInfo: PoolTask<T> | undefined\n for (const t of waitingTasks) {\n // Skip task if one of same group is running.\n // Forces serialized execution for subgroup of tasks.\n if (\n t.group != null\n && Object.values(tasks).some(\n tt =>\n tt.state === 'running'\n && tt.id !== t.id\n && tt.group === t.group,\n )\n ) {\n continue\n }\n\n // fifo\n if (taskInfo == null || t.priority < taskInfo.priority)\n taskInfo = t\n }\n if (taskInfo != null) {\n const id = taskInfo.id\n const done = taskInfo.done\n taskInfo.state = 'running'\n ++currentParallel\n void events.emit('didStart', id)\n\n const taskFinished = (result?: T) => {\n if (taskInfo) {\n taskInfo.result = result\n taskInfo.state = 'finished'\n taskInfo.resolved = taskInfo.max\n taskInfo.progress?.setCompleted()\n // void taskInfo.progress.dispose()\n }\n --currentParallel\n ++countResolved\n performNext()\n }\n\n taskInfo\n .task(taskInfo)\n .then((r) => {\n done(r)\n void events.emit('didResolve', id, r)\n taskFinished(r)\n })\n .catch((err) => {\n done()\n void events.emit('didReject', id, err)\n taskFinished()\n })\n }\n }\n }\n\n function cancel(id: string) {\n const taskInfo = tasks[id]\n if (taskInfo && taskInfo.state === 'waiting') {\n tasks[id].state = 'finished'\n ++countResolved\n void events.emit('didCancel', id)\n void tasks[id].progress.dispose()\n didUpdate()\n }\n }\n\n function cancelAll() {\n Object.keys(tasks).forEach(cancel)\n // progress.dispose()\n }\n\n function hasById(id: string) {\n return tasks[id] != null\n }\n\n function enqueue<P>(\n task: PoolTaskFn<T>,\n config: {\n id?: string\n max?: number\n resolved?: number\n group?: string\n idConflictResolution?: PoolTaskIdConflictResolution\n payload?: P\n } = {},\n ) {\n let done: any\n const promise: Promise<any> = new Promise(resolve => (done = resolve))\n const id = config.id ?? uuid()\n\n if (tasks[id] != null) {\n const resolution = config.idConflictResolution ?? idConflictResolution\n\n if (resolution === 'replace') {\n cancel(id)\n }\n else if (resolution === 'memoize' || resolution === 'prioritize') {\n const runningTask = tasks[id]\n\n if (resolution === 'prioritize')\n runningTask.priority = ++priority\n\n return {\n id,\n promise: (async () => {\n if (runningTask.state === 'finished')\n return tasks[id].result\n\n // todo: wait for task to finish\n })(),\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n else {\n throw new Error(`Pool task with id=${id} already exists!`)\n }\n }\n\n const taskProgress = new Progress({\n name: id,\n totalUnits: config.max ?? 1,\n completeUnits: config.resolved ?? 0,\n })\n\n progress.addChild(taskProgress)\n\n tasks[id] = {\n id,\n task,\n priority: ++priority,\n group: config.group,\n state: 'waiting',\n max: config.max ?? 1,\n resolved: config.resolved ?? 0,\n done,\n payload: config.payload,\n progress: taskProgress,\n\n /** @deprecated should use `.progress` */\n setMax(units) {\n taskProgress.setTotalUnits(units)\n tasks[id].max = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n setResolved(units) {\n taskProgress.setCompletetedUnits(units)\n tasks[id].resolved = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n incResolved(inc = 1) {\n taskProgress.incCompletedUnits(inc)\n tasks[id].resolved += inc\n didUpdate()\n },\n }\n ++countMax\n performNext()\n\n return {\n id,\n promise,\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n\n return {\n events,\n cancel,\n cancelAll,\n hasById,\n progress,\n enqueue,\n dispose,\n waitFinishAll,\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-AW6BPYNX.cjs","../src/common/exec/pool.ts"],"names":["config"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-AW6BPYNX.cjs","sourcesContent":[null,"import { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname, uuid } from '../uuid'\nimport { Progress } from './progress'\nimport { createPromise } from './promise'\n\nexport type PoolTaskIdConflictResolution = 'replace' | 'memoize' | 'prioritize' | 'error'\n\n// export enum PoolTaskIdConflictResolution {\n// /**\n// * Tasks with same `id` are replaced. Newest wins.\n// */\n// replace = 0,\n\n// /**\n// * Task with same `id` will continue to run. Reference is returned with option to cancel.\n// * Named \"memoize\" because the result of the task should always be the same for the same `id`,\n// * like e.g. a download.\n// */\n// memoize = 1,\n\n// /** Like memoize, but try to put on top of the list */\n// prioritize = 2,\n\n// /**\n// * Tasks with same `id` throw error\n// */\n// error = 3,\n\n// }\n\nexport interface PoolConfig {\n name?: string\n maxParallel?: number\n idConflictResolution?: PoolTaskIdConflictResolution\n}\n\nexport type PoolTaskFn<T = any> = (taskInfo: PoolTask<T>) => Promise<T>\n\nexport type PoolTaskState = 'waiting' | 'running' | 'finished'\n\n/** Task */\nexport interface PoolTask<T> {\n readonly id: string\n readonly task: PoolTaskFn<T>\n readonly done: (result?: any) => void\n readonly setMax: (max: number) => void\n readonly setResolved: (resolved: number) => void\n readonly incResolved: (inc?: number) => void\n state: PoolTaskState\n priority: number\n /** Same groups are executed only one at a time */\n group?: string\n\n progress: Progress\n max: number\n resolved: number\n\n result?: T\n payload?: unknown\n}\n\nexport interface PoolTaskEvents {\n didUpdate: (\n max: number,\n resolved: number,\n presentMax: number,\n presentResolved: number\n ) => void\n didStart: (id: string) => void\n didCancel: (id: string) => void\n didFinish: () => void\n didResolve: (id: string, value: any) => void\n didReject: (id: string, error: any) => void\n}\n\n// todo: barrier\n// todo: dependents\n\nexport function usePool<T = any>(config: PoolConfig = {}) {\n const {\n maxParallel = 3,\n name = uname('pool'),\n idConflictResolution = 'memoize',\n } = config\n\n const events = new Emitter<PoolTaskEvents>()\n\n const dispose = useDispose()\n dispose.add(cancelAll)\n\n const progress = new Progress({ name })\n\n progress.on('progressCancelled', cancelAll)\n\n let countMax = 0\n let countResolved = 0\n let currentParallel = 0\n let priority = 0\n const tasks: Record<string, PoolTask<T>> = {}\n\n // const [allFinishedPromise, allFinishedResolve] = createPromise()\n\n async function waitFinishAll() {\n if (countMax > 0) {\n const [promise, resolve] = createPromise()\n events.once('didFinish', resolve)\n return promise\n }\n }\n\n async function cleanupFinished() {\n for (const id of Object.keys(tasks)) {\n const task = tasks[id]\n if (task.state === 'finished') {\n await tasks[id].progress.dispose()\n delete tasks[id]\n }\n }\n }\n\n function didFinish() {\n void events.emit('didFinish')\n // allFinishedResolve(countMax)\n countMax = 0\n countResolved = 0\n void cleanupFinished()\n progress.reset()\n }\n\n function didUpdate() {\n let presentMax = 0\n let presentResolved = 0\n for (const { max, resolved, state } of Object.values(tasks)) {\n presentMax += max\n presentResolved += state === 'finished' ? max : Math.min(max, resolved)\n }\n void events.emit(\n 'didUpdate',\n countMax,\n countResolved,\n presentMax,\n presentResolved,\n )\n }\n\n function performNext() {\n didUpdate()\n if (countMax > 0 && countMax === countResolved)\n didFinish()\n if (currentParallel >= maxParallel)\n return\n const waitingTasks = Object.values(tasks).filter(\n t => t.state === 'waiting',\n )\n if (waitingTasks.length > 0) {\n let taskInfo: PoolTask<T> | undefined\n for (const t of waitingTasks) {\n // Skip task if one of same group is running.\n // Forces serialized execution for subgroup of tasks.\n if (\n t.group != null\n && Object.values(tasks).some(\n tt =>\n tt.state === 'running'\n && tt.id !== t.id\n && tt.group === t.group,\n )\n ) {\n continue\n }\n\n // fifo\n if (taskInfo == null || t.priority < taskInfo.priority)\n taskInfo = t\n }\n if (taskInfo != null) {\n const id = taskInfo.id\n const done = taskInfo.done\n taskInfo.state = 'running'\n ++currentParallel\n void events.emit('didStart', id)\n\n const taskFinished = (result?: T) => {\n if (taskInfo) {\n taskInfo.result = result\n taskInfo.state = 'finished'\n taskInfo.resolved = taskInfo.max\n taskInfo.progress?.setCompleted()\n // void taskInfo.progress.dispose()\n }\n --currentParallel\n ++countResolved\n performNext()\n }\n\n taskInfo\n .task(taskInfo)\n .then((r) => {\n done(r)\n void events.emit('didResolve', id, r)\n taskFinished(r)\n })\n .catch((err) => {\n done()\n void events.emit('didReject', id, err)\n taskFinished()\n })\n }\n }\n }\n\n function cancel(id: string) {\n const taskInfo = tasks[id]\n if (taskInfo && taskInfo.state === 'waiting') {\n tasks[id].state = 'finished'\n ++countResolved\n void events.emit('didCancel', id)\n void tasks[id].progress.dispose()\n didUpdate()\n }\n }\n\n function cancelAll() {\n Object.keys(tasks).forEach(cancel)\n // progress.dispose()\n }\n\n function hasById(id: string) {\n return tasks[id] != null\n }\n\n function enqueue<P>(\n task: PoolTaskFn<T>,\n config: {\n id?: string\n max?: number\n resolved?: number\n group?: string\n idConflictResolution?: PoolTaskIdConflictResolution\n payload?: P\n } = {},\n ) {\n let done: any\n const promise: Promise<any> = new Promise(resolve => (done = resolve))\n const id = config.id ?? uuid()\n\n if (tasks[id] != null) {\n const resolution = config.idConflictResolution ?? idConflictResolution\n\n if (resolution === 'replace') {\n cancel(id)\n }\n else if (resolution === 'memoize' || resolution === 'prioritize') {\n const runningTask = tasks[id]\n\n if (resolution === 'prioritize')\n runningTask.priority = ++priority\n\n return {\n id,\n promise: (async () => {\n if (runningTask.state === 'finished')\n return tasks[id].result\n\n // todo: wait for task to finish\n })(),\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n else {\n throw new Error(`Pool task with id=${id} already exists!`)\n }\n }\n\n const taskProgress = new Progress({\n name: id,\n totalUnits: config.max ?? 1,\n completeUnits: config.resolved ?? 0,\n })\n\n progress.addChild(taskProgress)\n\n tasks[id] = {\n id,\n task,\n priority: ++priority,\n group: config.group,\n state: 'waiting',\n max: config.max ?? 1,\n resolved: config.resolved ?? 0,\n done,\n payload: config.payload,\n progress: taskProgress,\n\n /** @deprecated should use `.progress` */\n setMax(units) {\n taskProgress.setTotalUnits(units)\n tasks[id].max = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n setResolved(units) {\n taskProgress.setCompletetedUnits(units)\n tasks[id].resolved = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n incResolved(inc = 1) {\n taskProgress.incCompletedUnits(inc)\n tasks[id].resolved += inc\n didUpdate()\n },\n }\n ++countMax\n performNext()\n\n return {\n id,\n promise,\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n\n return {\n events,\n cancel,\n cancelAll,\n hasById,\n progress,\n enqueue,\n dispose,\n waitFinishAll,\n }\n}\n"]}
|
|
@@ -15,7 +15,7 @@ var _chunkS4V3EGNScjs = require('./chunk-S4V3EGNS.cjs');
|
|
|
15
15
|
var _chunkHHZVPIBDcjs = require('./chunk-HHZVPIBD.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunk33B2TEAZcjs = require('./chunk-33B2TEAZ.cjs');
|
|
19
19
|
|
|
20
20
|
// src/common/uuid.ts
|
|
21
21
|
var uuidBytesLength = 16;
|
|
@@ -63,7 +63,7 @@ function longToByteArray(long) {
|
|
|
63
63
|
return byteArray;
|
|
64
64
|
}
|
|
65
65
|
function suidBytes() {
|
|
66
|
-
const ms =
|
|
66
|
+
const ms = _chunk33B2TEAZcjs.getTimestamp.call(void 0, ) - ReferenceDateInMS;
|
|
67
67
|
return new Uint8Array([...longToByteArray(ms), ..._chunkS4V3EGNScjs.randomUint8Array.call(void 0, 10)]);
|
|
68
68
|
}
|
|
69
69
|
function suid() {
|
|
@@ -166,4 +166,4 @@ function qid() {
|
|
|
166
166
|
|
|
167
167
|
|
|
168
168
|
exports.uuidBytes = uuidBytes; exports.uuidB62 = uuidB62; exports.uuidEncodeB62 = uuidEncodeB62; exports.uuidDecodeB62 = uuidDecodeB62; exports.uuidB32 = uuidB32; exports.uuidEncodeB32 = uuidEncodeB32; exports.uuidDecodeB32 = uuidDecodeB32; exports.uuidv4 = uuidv4; exports.uuidEncodeV4 = uuidEncodeV4; exports.uuidDecodeV4 = uuidDecodeV4; exports.suidBytes = suidBytes; exports.suid = suid; exports.suidDate = suidDate; exports.suidBytesDate = suidBytesDate; exports.uuid32bit = uuid32bit; exports.setUuidDefaultEncoding = setUuidDefaultEncoding; exports.uuid = uuid; exports.uuidDecode = uuidDecode; exports.uuidEncode = uuidEncode; exports.uuidIsValid = uuidIsValid; exports.uname = uname; exports.unameReset = unameReset; exports.qid = qid;
|
|
169
|
-
//# sourceMappingURL=chunk-
|
|
169
|
+
//# sourceMappingURL=chunk-BCX254SL.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-BCX254SL.cjs","../src/common/uuid.ts"],"names":["uuid"],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACZA,IAAM,gBAAA,EAAkB,EAAA;AAEjB,SAAS,SAAA,CAAA,EAAwB;AACtC,EAAA,OAAO,gDAAA,eAAgC,CAAA;AACzC;AAIO,SAAS,OAAA,CAAQ,MAAA,EAAQ,SAAA,CAAU,CAAA,EAAW;AACnD,EAAA,OAAO,4CAAA,KAAa,EAAO,EAAE,CAAA;AAC/B;AAEO,SAAS,aAAA,CAAc,KAAA,EAA2B;AACvD,EAAA,OAAO,4CAAA,KAAa,EAAO,EAAE,CAAA;AAC/B;AAEO,SAAS,aAAA,CAAcA,KAAAA,EAA0B;AACtD,EAAA,OAAO,4CAAA,KAAaA,EAAM,eAAe,CAAA;AAC3C;AAIO,SAAS,OAAA,CAAQ,MAAA,EAAQ,SAAA,CAAU,CAAA,EAAW;AACnD,EAAA,OAAO,4CAAA,KAAa,EAAO,EAAE,CAAA;AAC/B;AAEO,SAAS,aAAA,CAAc,KAAA,EAA2B;AACvD,EAAA,OAAO,4CAAA,KAAa,EAAO,EAAE,CAAA;AAC/B;AAEO,SAAS,aAAA,CAAcA,KAAAA,EAA0B;AACtD,EAAA,OAAO,4CAAA,KAAaA,EAAM,eAAe,CAAA;AAC3C;AAKA,IAAM,QAAA,EAAU,sCAAA;AAET,IAAM,OAAA,EAAS,QAAA,CAAA,EAAY;AAChC,EAAA,OAAQ,OAAO,OAAA,IAAW,YAAA,GAAe,MAAA,CAAO,WAAA,GAAc,KAAA,EAC1D,MAAA,CAAO,UAAA,CAAW,EAAA,EAClB,OAAA,CAAQ,OAAA,CAAQ,QAAA,EAAU,CAAC,CAAA,EAAA,GAAA,CAAY,EAAA,EAAK,gDAAA,CAAkB,CAAA,CAAE,CAAC,EAAA,EAAK,GAAA,GAAO,EAAA,EAAI,CAAA,CAAA,CAAM,QAAA,CAAS,EAAE,CAAC,CAAA;AACzG,CAAA;AAEO,SAAS,YAAA,CAAa,KAAA,EAA2B;AACtD,EAAA,MAAM,GAAA,EAAK,qCAAA,KAAW,CAAA;AACtB,EAAA,OAAO,CAAA,EAAA;AACT;AAEgB;AACP,EAAA;AACT;AAgBM;AAIG;AACD,EAAA;AACA,EAAA;AACN,EAAA;AACQ,IAAA;AACN,IAAA;AACA,IAAA;AACF,EAAA;AACO,EAAA;AACT;AAUgB;AACR,EAAA;AACC,EAAA;AACT;AAEgB;AACP,EAAA;AACT;AAEgB;AACP,EAAA;AACT;AAEgB;AACP,EAAA;AACL,IAAA;AACF,EAAA;AACF;AAIgB;AACP,EAAA;AACT;AAIM;AACI,EAAA;AACA,IAAA;AACN,IAAA;AACA,IAAA;AACF,EAAA;AACQ,EAAA;AACA,IAAA;AACN,IAAA;AACA,IAAA;AACF,EAAA;AACQ,EAAA;AACA,IAAA;AACN,IAAA;AACA,IAAA;AACF,EAAA;AACM,EAAA;AACE,IAAA;AACN,IAAA;AACA,IAAA;AACF,EAAA;AACF;AAEI;AACA;AAEY;AACV,EAAA;AACF,IAAA;AAEM,EAAA;AACR,EAAA;AACF;AAEgB;AACP,EAAA;AACT;AAEgB;AACP,EAAA;AACT;AAEgB;AACP,EAAA;AACT;AAEgB;AACV,EAAA;AACI,IAAA;AACN,IAAA;AACF,EAAA;AAGA,EAAA;AACO,EAAA;AACT;AAIM;AAEU;AACV,EAAA;AACF,IAAA;AAEK,EAAA;AACT;AAEgB;AACd,EAAA;AACF;AAEI;AAEY;AACP,EAAA;AACT;AD3DU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-BCX254SL.cjs","sourcesContent":[null,"import { randomUint8Array } from './crypto'\nimport { decodeBase32, decodeBase62, encodeBase32, encodeBase62 } from './data/basex'\nimport { fromHex, toHex, toUint8Array, Uint8ArrayToString } from './data/bin'\nimport { getTimestamp } from './time'\n\n// 128 bit UUID\n\nconst uuidBytesLength = 16\n\nexport function uuidBytes(): Uint8Array {\n return randomUint8Array(uuidBytesLength)\n}\n\n// Base62\n\nexport function uuidB62(bytes = uuidBytes()): string {\n return encodeBase62(bytes, 22)\n}\n\nexport function uuidEncodeB62(bytes: Uint8Array): string {\n return encodeBase62(bytes, 22)\n}\n\nexport function uuidDecodeB62(uuid: string): Uint8Array {\n return decodeBase62(uuid, uuidBytesLength)\n}\n\n// Base32\n\nexport function uuidB32(bytes = uuidBytes()): string {\n return encodeBase32(bytes, 26)\n}\n\nexport function uuidEncodeB32(bytes: Uint8Array): string {\n return encodeBase32(bytes, 26)\n}\n\nexport function uuidDecodeB32(uuid: string): Uint8Array {\n return decodeBase32(uuid, uuidBytesLength)\n}\n\n// UUIDv4\n\n// https://stackoverflow.com/a/2117523/140927\nconst pattern = '10000000-1000-4000-8000-100000000000' // String([1e7] + -1e3 + -4e3 + -8e3 + -1e11)\n\nexport const uuidv4 = function () {\n return (typeof crypto !== 'undefined' && crypto.randomUUID != null)\n ? crypto.randomUUID() // native!\n : pattern.replace(/[018]/g, (c: any) => (c ^ (randomUint8Array(1)[0] & (15 >> (c / 4)))).toString(16))\n}\n\nexport function uuidEncodeV4(bytes: Uint8Array): string {\n const id = toHex(bytes)\n return `${id.slice(0, 8)}-${id.slice(8, 12)}-${id.slice(12, 16)}-${id.slice(16, 20)}-${id.slice(20)}` // 10000000 - 1000 - 4000 - 8000 - 100000000000\n}\n\nexport function uuidDecodeV4(uuid: string): Uint8Array {\n return fromHex(uuid.replaceAll('-', ''))\n}\n\n// Sortable UID\n\n// https://github.com/segmentio/ksuid\n// https://pkg.go.dev/github.com/rsms/go-uuid\n\n/**\n * Sortable unique ID\n * Inspired by https://github.com/rsms/go-uuid\n *\n * Bytes 0-5: Current time in miliseconds from 2021-06-01T00:00:00Z\n * Bytes 6-15: Random\n */\n\n// 1622505600000 // new Date('2021-06-01T00:00:00Z').getTime()\nconst ReferenceDateInMS = 1600000000000\n\n// 6 bytes will stay valid until end of time: new Date(1622505600000 + 0xffffffffffff) === Date Sun Jan 01 10941 06:31:50 GMT+0100 (Central European Standard Time)\n\nfunction longToByteArray(long: number) {\n const byteArray = new Uint8Array([0, 0, 0, 0, 0, 0])\n const bytes = byteArray.length - 1\n for (let index = 0; index < byteArray.length; index++) {\n const byte = long & 0xFF\n byteArray[bytes - index] = byte\n long = (long - byte) / 256\n }\n return byteArray\n}\n\n// function byteArrayToLong(byteArray: number[]): number {\n// var value = 0\n// for (var i = byteArray.length - 1; i >= 0; i--) {\n// value = value * 256 + byteArray[i]\n// }\n// return value\n// }\n\nexport function suidBytes(): Uint8Array {\n const ms = getTimestamp() - ReferenceDateInMS\n return new Uint8Array([...longToByteArray(ms), ...randomUint8Array(10)])\n}\n\nexport function suid(): string {\n return uuidEncode(suidBytes())\n}\n\nexport function suidDate(id: string): Date {\n return suidBytesDate(uuidDecode(id))\n}\n\nexport function suidBytesDate(id: Uint8Array): Date {\n return new Date(\n ReferenceDateInMS + id.slice(0, 6).reduce((acc, byte) => acc * 256 + byte, 0),\n )\n}\n\n// 32 bit UUID\n\nexport function uuid32bit(): number {\n return new Uint32Array(randomUint8Array(4))[0]\n}\n\n// Global Settings\n\nconst mapModes = {\n base62: {\n uuid: uuidB62,\n uuidDecode: uuidDecodeB62,\n uuidEncode: uuidEncodeB62,\n },\n base32: {\n uuid: uuidB32,\n uuidDecode: uuidDecodeB32,\n uuidEncode: uuidEncodeB32,\n },\n uuidv4: {\n uuid: uuidv4,\n uuidDecode: uuidDecodeV4,\n uuidEncode: uuidEncodeV4,\n },\n test: {\n uuid: () => uname('test'),\n uuidDecode: (id: string) => toUint8Array(id),\n uuidEncode: (bin: Uint8Array) => Uint8ArrayToString(bin),\n },\n}\n\nlet _mode: keyof typeof mapModes = 'base62'\nlet _sorted = false\n\nexport function setUuidDefaultEncoding(mode?: keyof typeof mapModes, sorted = false) {\n if (mode === 'test')\n unameReset('test')\n\n _mode = mode ?? 'base62'\n _sorted = sorted\n}\n\nexport function uuid(): string {\n return mapModes[_mode].uuid(_sorted ? suidBytes() : uuidBytes())\n}\n\nexport function uuidDecode(uuid: string): Uint8Array {\n return mapModes[_mode].uuidDecode(uuid)\n}\n\nexport function uuidEncode(bytes: Uint8Array): string {\n return mapModes[_mode].uuidEncode(bytes)\n}\n\nexport function uuidIsValid(uuid: string): boolean {\n try {\n const bin = uuidDecode(uuid)\n return bin.length === uuidBytesLength\n }\n catch (err) {\n // log.warn('Invalid ID:', uuid)\n }\n return false\n}\n\n// Simple Counters\n\nconst _unameCounters: Record<string, number> = {}\n\nexport function uname(name = 'id'): string {\n if (_unameCounters[name] == null)\n _unameCounters[name] = 0\n\n return `${name}-${_unameCounters[name]++}`\n}\n\nexport function unameReset(name = 'id') {\n _unameCounters[name] = 0\n}\n\nlet _qid = 0\n\nexport function qid(): string {\n return `id-${_qid++}`\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunkIEKOSBQFcjs = require('./chunk-IEKOSBQF.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkIQ37FMAXcjs = require('./chunk-IQ37FMAX.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunkKM2MJVXIcjs = require('./chunk-KM2MJVXI.cjs');
|
|
@@ -22,7 +22,7 @@ var _process = require('process'); var _process2 = _interopRequireDefault(_proce
|
|
|
22
22
|
function Logger(name, level) {
|
|
23
23
|
return _chunk2AGPRCO5cjs.getGlobalLogger.call(void 0, (context) => {
|
|
24
24
|
const handlers = [
|
|
25
|
-
|
|
25
|
+
_chunkIQ37FMAXcjs.LoggerNodeHandler.call(void 0, {
|
|
26
26
|
padding: 32,
|
|
27
27
|
nameBrackets: false
|
|
28
28
|
// levelHelper: false,
|
|
@@ -44,4 +44,4 @@ function LoggerFromConfig(config, name, level) {
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
exports.Logger = Logger; exports.LoggerFromConfig = LoggerFromConfig;
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-CRG6JERG.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-CRG6JERG.cjs","../src/node/log/log-context-node.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACjBA,oFAAoB;AAQb,SAAS,MAAA,CAAO,IAAA,EAAe,KAAA,EAA4C;AAChF,EAAA,OAAO,+CAAA,CAAiB,OAAA,EAAA,GAAY;AAClC,IAAA,MAAM,SAAA,EAAW;AAAA,MACf,iDAAA;AAAkB,QAChB,OAAA,EAAS,EAAA;AAAA,QACT,YAAA,EAAc;AAAA;AAAA,MAEhB,CAAC;AAAA,IACH,CAAA;AAEA,IAAA,MAAM,YAAA,mBAAc,iBAAA,CAAQ,GAAA,CAAI,QAAA,UAAY,iBAAA,CAAQ,GAAA,CAAI,KAAA;AACxD,IAAA,MAAM,KAAA,EAAO,8CAAA,iBAAe,CAAQ,GAAA,CAAI,SAAA,EAAW,IAAI,CAAA;AACvD,IAAA,MAAM,OAAA,EAAS,8CAAA,iBAAe,CAAQ,GAAA,CAAI,WAAA,EAAa,KAAK,CAAA;AAC5D,IAAA,GAAA,CAAI,WAAA;AACF,MAAA,QAAA,CAAS,OAAA,CAAQ,iDAAA,sCAAkB,WAAkB,CAAA,EAAG,EAAE,IAAA,EAAM,OAAO,CAAC,CAAC,CAAA;AAE3E,IAAA,OAAA,CAAQ,WAAA,CAAY,QAAQ,CAAA;AAAA,EAC9B,CAAC,CAAA,CAAE,IAAA,EAAM,KAAK,CAAA;AAChB;AAGO,SAAS,gBAAA,CAAiB,MAAA,EAAmB,IAAA,EAAc,KAAA,EAA4C;AAC5G,EAAA,OAAO,iDAAA,MAAkB,EAAQ,MAAA,EAAQ,IAAA,EAAM,KAAK,CAAA;AACtD;ADQA;AACA;AACE;AACA;AACF,qEAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-CRG6JERG.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport process from 'node:process'\nimport { valueToBoolean } from '../../common/data/convert'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { toPath } from '../env'\nimport { LoggerFileHandler } from './log-file'\nimport { LoggerNodeHandler } from './log-node'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n const handlers = [\n LoggerNodeHandler({\n padding: 32,\n nameBrackets: false,\n // levelHelper: false,\n }),\n ]\n\n const logFilePath = process.env.ZEED_LOG ?? process.env.LOG\n const time = valueToBoolean(process.env.ZEED_TIME, true)\n const pretty = valueToBoolean(process.env.ZEED_PRETTY, false)\n if (logFilePath)\n handlers.unshift(LoggerFileHandler(toPath(logFilePath), { time, pretty }))\n\n context.setHandlers(handlers)\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Channel
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IDWIANZR.js";
|
|
4
4
|
|
|
5
5
|
// src/common/msg/channel-debug.ts
|
|
6
6
|
var DebugChannel = class extends Channel {
|
|
@@ -23,4 +23,4 @@ var DebugChannel = class extends Channel {
|
|
|
23
23
|
export {
|
|
24
24
|
DebugChannel
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
26
|
+
//# sourceMappingURL=chunk-CYQGBI3Z.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-5CSLXI5R.js";
|
|
13
13
|
import {
|
|
14
14
|
LoggerBrowserHandler
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ARGGC4S7.js";
|
|
16
16
|
import {
|
|
17
17
|
isEmpty
|
|
18
18
|
} from "./chunk-V5ZQ2SFQ.js";
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
Logger,
|
|
35
35
|
LoggerFromConfig
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-F6BC7VBR.js.map
|
|
@@ -12,7 +12,7 @@ var _chunk2AGPRCO5cjs = require('./chunk-2AGPRCO5.cjs');
|
|
|
12
12
|
var _chunk7N7EXUAOcjs = require('./chunk-7N7EXUAO.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunk4I63E7RRcjs = require('./chunk-4I63E7RR.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
var _chunkVAG3XY63cjs = require('./chunk-VAG3XY63.cjs');
|
|
@@ -21,7 +21,7 @@ var _chunkVAG3XY63cjs = require('./chunk-VAG3XY63.cjs');
|
|
|
21
21
|
function Logger(name, level) {
|
|
22
22
|
return _chunk2AGPRCO5cjs.getGlobalLogger.call(void 0, (context) => {
|
|
23
23
|
if (_chunkFLTWM56Vcjs.isBrowser.call(void 0, ) && !_chunkVAG3XY63cjs.isEmpty.call(void 0, localStorage.getItem("zeed"))) {
|
|
24
|
-
context.setHandlers([
|
|
24
|
+
context.setHandlers([_chunk4I63E7RRcjs.LoggerBrowserHandler.call(void 0, )]);
|
|
25
25
|
context.setFactory(_chunk7N7EXUAOcjs.LoggerBrowserSetupDebugFactory.call(void 0, {}));
|
|
26
26
|
}
|
|
27
27
|
})(name, level);
|
|
@@ -34,4 +34,4 @@ function LoggerFromConfig(config, name, level) {
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
exports.Logger = Logger; exports.LoggerFromConfig = LoggerFromConfig;
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-HL7W3IJL.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-HL7W3IJL.cjs","../src/browser/log/log-context-browser.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVO,SAAS,MAAA,CAAO,IAAA,EAAe,KAAA,EAA4C;AAChF,EAAA,OAAO,+CAAA,CAAiB,OAAA,EAAA,GAAY;AAClC,IAAA,GAAA,CAAI,yCAAA,EAAU,GAAK,CAAC,uCAAA,YAAQ,CAAa,OAAA,CAAQ,MAAM,CAAC,CAAA,EAAG;AACzD,MAAA,OAAA,CAAQ,WAAA,CAAY,CAAC,oDAAA,CAAsB,CAAC,CAAA;AAC5C,MAAA,OAAA,CAAQ,UAAA,CAAW,8DAAA,CAAgC,CAAC,CAAC,CAAA;AAAA,IACvD;AAAA,EACF,CAAC,CAAA,CAAE,IAAA,EAAM,KAAK,CAAA;AAChB;AAGO,SAAS,gBAAA,CAAiB,MAAA,EAAmB,IAAA,EAAc,KAAA,EAA4C;AAC5G,EAAA,OAAO,iDAAA,MAAkB,EAAQ,MAAA,EAAQ,IAAA,EAAM,KAAK,CAAA;AACtD;ADUA;AACA;AACE;AACA;AACF,qEAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-HL7W3IJL.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport { isEmpty } from '../../common/data/is'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { isBrowser } from '../../common/platform'\nimport { LoggerBrowserHandler } from './log-browser'\nimport { LoggerBrowserSetupDebugFactory } from './log-browser-factory'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n if (isBrowser() && !isEmpty(localStorage.getItem('zeed'))) {\n context.setHandlers([LoggerBrowserHandler()]) // Fallback for previously registered Loggers\n context.setFactory(LoggerBrowserSetupDebugFactory({}))\n }\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _chunk34HB56WEcjs = require('./chunk-34HB56WE.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkBCX254SLcjs = require('./chunk-BCX254SL.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunk64ZMDALJcjs = require('./chunk-64ZMDALJ.cjs');
|
|
@@ -22,7 +22,7 @@ var Progress = class _Progress extends _chunk34HB56WEcjs.Emitter {
|
|
|
22
22
|
this._totalUnits = _nullishCoalesce(opt.totalUnits, () => ( 0));
|
|
23
23
|
this._completedUnits = _nullishCoalesce(opt.completeUnits, () => ( 0));
|
|
24
24
|
this._resetWhenFinished = _nullishCoalesce(opt.resetWhenFinished, () => ( true));
|
|
25
|
-
this.name = _nullishCoalesce(opt.name, () => (
|
|
25
|
+
this.name = _nullishCoalesce(opt.name, () => ( _chunkBCX254SLcjs.uname.call(void 0, "progress")));
|
|
26
26
|
this.dispose.add(async () => {
|
|
27
27
|
for (const child of this._children)
|
|
28
28
|
await child.dispose();
|
|
@@ -157,4 +157,4 @@ var Progress = class _Progress extends _chunk34HB56WEcjs.Emitter {
|
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
exports.Progress = Progress;
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-HWQNPGWU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-QP3M4SXG.cjs","../src/common/exec/progress.ts"],"names":[],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-QP3M4SXG.cjs","sourcesContent":[null,"// Inspired by https://developer.apple.com/documentation/foundation/progress\n\nimport { arrayRemoveElement } from '../data/array'\nimport { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname } from '../uuid'\n\ninterface ProgressOptions {\n totalUnits?: number\n completeUnits?: number\n resetWhenFinished?: boolean\n name?: string\n}\n\n/**\n * Progress helper with these properties:\n *\n * - `totalUnits` and `completedUnits` for progress\n * - Can be cancelled\n * - Sends events on cancel, changed and dispose\n * - Supports children and propagates values.\n * Total progress is sum of all units in the tree.\n * - On `dispose` child removes itself from parent.\n */\nexport class Progress extends Emitter<{\n progressCancelled: (progress: Progress) => void\n progressChanged: (progress: Progress) => void\n progressDispose: (progress: Progress) => void\n}> {\n private _totalUnits: number\n private _completedUnits: number\n private _isCancelled = false\n private _resetWhenFinished = true\n private _children: Progress[] = []\n\n dispose = useDispose()\n name: string\n\n constructor(opt: ProgressOptions = {}) {\n super()\n\n this._totalUnits = opt.totalUnits ?? 0\n this._completedUnits = opt.completeUnits ?? 0\n this._resetWhenFinished = opt.resetWhenFinished ?? true\n this.name = opt.name ?? uname('progress')\n\n // Make sure to cleanup also children\n this.dispose.add(async () => {\n for (const child of this._children)\n await child.dispose()\n await this.emit('progressDispose', this)\n })\n }\n\n /** Notify others about changes and reset on completion, if flag is set. */\n private update() {\n void this.emit('progressChanged', this)\n\n if (this._isCancelled && this._resetWhenFinished) {\n if (this.getTotalUnits() <= this.getCompletedUnits())\n this.reset()\n }\n }\n\n /** Fresh start */\n reset() {\n if (this._isCancelled) {\n this._isCancelled = false\n for (const child of this._children)\n child.reset()\n this.update()\n }\n }\n\n /** Notify and mark as cancelled. May take some time before having an effect. */\n async cancel() {\n if (!this._isCancelled) {\n this._isCancelled = true\n await this.emit('progressCancelled', this)\n for (const child of this._children)\n await child.cancel()\n this.update()\n }\n }\n\n /** Add child progress, which count into its parents units. On `dispose` it will auto remove itself from parent. */\n addChild(child: Progress) {\n child.on('progressDispose', () => this.removeChild(child))\n child.on('progressChanged', () => this.update())\n if (!this._children.includes(child))\n this._children.push(child)\n this.update()\n }\n\n /** Create child progress. */\n createChildProgress(opt?: ProgressOptions) {\n const progress = new Progress(opt)\n this.addChild(progress)\n return progress\n }\n\n removeChild(child: Progress) {\n arrayRemoveElement(this._children, child)\n this.update()\n }\n\n /** Total units including children */\n getTotalUnits(): number {\n if (this.isIndeterminate())\n return 0\n let units = this._totalUnits\n for (const child of this._children)\n units += child.getTotalUnits()\n return units\n }\n\n /** Completed units including children */\n getCompletedUnits(): number {\n if (this.isIndeterminate())\n return 0\n let units = this._completedUnits\n for (const child of this._children)\n units += child.getCompletedUnits()\n return units\n // return Math.min(this.getTotalUnits(), units)\n }\n\n /** Cannot calculate progress, because totalUnits are missing. Special representation in UI. */\n isIndeterminate(): boolean {\n return this._totalUnits <= 0 && this._children.length <= 0\n }\n\n isCancelled() {\n return this._isCancelled\n }\n\n /** Either disposed or all units completed. */\n isFinished() {\n return this.dispose.isDisposed() || (!this.isIndeterminate() && (this.getTotalUnits() <= this.getCompletedUnits()))\n }\n\n /** Value from 0 to 1, where 1 is 100% completeness. */\n getFraction() {\n if (this.isIndeterminate())\n return 0\n let value = this.getCompletedUnits() / this.getTotalUnits()\n if (Number.isNaN(value))\n value = 0\n return Math.min(1, Math.max(0, value))\n }\n\n getChildrenCount() {\n return this._children.length\n }\n\n /** Change total units. */\n setTotalUnits(units: number, completedUnits?: number) {\n this._totalUnits = units\n if (completedUnits != null)\n this._completedUnits = completedUnits\n this.update()\n }\n\n /** Relatively change total units. */\n incTotalUnits(step = 1) {\n this._totalUnits += step\n this.update()\n }\n\n /** Set fixed number of completed units. */\n setCompletetedUnits(units: number) {\n this._completedUnits = units\n this.update()\n }\n\n /** Set to 100% without disposing. */\n setCompleted() {\n this._completedUnits = this._totalUnits\n this.update()\n }\n\n /** Dynamically change completed units. */\n incCompletedUnits(step = 1) {\n this._completedUnits += step\n this.update()\n }\n\n /** Progress tree to string for debuggin purposes. Consider using `name` attribute of Progress. */\n toString(indent = 0) {\n let s = `${' '.repeat(indent)}${this.name}: ${this._completedUnits} of ${this._totalUnits} units, ${Math.floor(this.getFraction() * 100)} %, cancel=${this._isCancelled}\\n`\n for (const child of this._children)\n s += child.toString(indent + 1)\n if (indent === 0)\n return s.trim()\n return s\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-HWQNPGWU.cjs","../src/common/exec/progress.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACWO,IAAM,SAAA,EAAN,MAAM,UAAA,QAAiB,0BAI3B;AAAA,EAUD,WAAA,CAAY,IAAA,EAAuB,CAAC,CAAA,EAAG;AACrC,IAAA,KAAA,CAAM,CAAA;AARR,IAAA,IAAA,CAAQ,aAAA,EAAe,KAAA;AACvB,IAAA,IAAA,CAAQ,mBAAA,EAAqB,IAAA;AAC7B,IAAA,IAAA,CAAQ,UAAA,EAAwB,CAAC,CAAA;AAEjC,IAAA,IAAA,CAAA,QAAA,EAAU,0CAAA,CAAW;AAMnB,IAAA,IAAA,CAAK,YAAA,mBAAc,GAAA,CAAI,UAAA,UAAc,GAAA;AACrC,IAAA,IAAA,CAAK,gBAAA,mBAAkB,GAAA,CAAI,aAAA,UAAiB,GAAA;AAC5C,IAAA,IAAA,CAAK,mBAAA,mBAAqB,GAAA,CAAI,iBAAA,UAAqB,MAAA;AACnD,IAAA,IAAA,CAAK,KAAA,mBAAO,GAAA,CAAI,IAAA,UAAQ,qCAAA,UAAgB,GAAA;AAGxC,IAAA,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAA,EAAA,GAAY;AAC3B,MAAA,IAAA,CAAA,MAAW,MAAA,GAAS,IAAA,CAAK,SAAA;AACvB,QAAA,MAAM,KAAA,CAAM,OAAA,CAAQ,CAAA;AACtB,MAAA,MAAM,IAAA,CAAK,IAAA,CAAK,iBAAA,EAAmB,IAAI,CAAA;AAAA,IACzC,CAAC,CAAA;AAAA,EACH;AAAA;AAAA,EAGQ,MAAA,CAAA,EAAS;AACf,IAAA,KAAK,IAAA,CAAK,IAAA,CAAK,iBAAA,EAAmB,IAAI,CAAA;AAEtC,IAAA,GAAA,CAAI,IAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,kBAAA,EAAoB;AAChD,MAAA,GAAA,CAAI,IAAA,CAAK,aAAA,CAAc,EAAA,GAAK,IAAA,CAAK,iBAAA,CAAkB,CAAA;AACjD,QAAA,IAAA,CAAK,KAAA,CAAM,CAAA;AAAA,IACf;AAAA,EACF;AAAA;AAAA,EAGA,KAAA,CAAA,EAAQ;AACN,IAAA,GAAA,CAAI,IAAA,CAAK,YAAA,EAAc;AACrB,MAAA,IAAA,CAAK,aAAA,EAAe,KAAA;AACpB,MAAA,IAAA,CAAA,MAAW,MAAA,GAAS,IAAA,CAAK,SAAA;AACvB,QAAA,KAAA,CAAM,KAAA,CAAM,CAAA;AACd,MAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,IACd;AAAA,EACF;AAAA;AAAA,EAGA,MAAM,MAAA,CAAA,EAAS;AACb,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,YAAA,EAAc;AACtB,MAAA,IAAA,CAAK,aAAA,EAAe,IAAA;AACpB,MAAA,MAAM,IAAA,CAAK,IAAA,CAAK,mBAAA,EAAqB,IAAI,CAAA;AACzC,MAAA,IAAA,CAAA,MAAW,MAAA,GAAS,IAAA,CAAK,SAAA;AACvB,QAAA,MAAM,KAAA,CAAM,MAAA,CAAO,CAAA;AACrB,MAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,IACd;AAAA,EACF;AAAA;AAAA,EAGA,QAAA,CAAS,KAAA,EAAiB;AACxB,IAAA,KAAA,CAAM,EAAA,CAAG,iBAAA,EAAmB,CAAA,EAAA,GAAM,IAAA,CAAK,WAAA,CAAY,KAAK,CAAC,CAAA;AACzD,IAAA,KAAA,CAAM,EAAA,CAAG,iBAAA,EAAmB,CAAA,EAAA,GAAM,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA;AAC/C,IAAA,GAAA,CAAI,CAAC,IAAA,CAAK,SAAA,CAAU,QAAA,CAAS,KAAK,CAAA;AAChC,MAAA,IAAA,CAAK,SAAA,CAAU,IAAA,CAAK,KAAK,CAAA;AAC3B,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,mBAAA,CAAoB,GAAA,EAAuB;AACzC,IAAA,MAAM,SAAA,EAAW,IAAI,SAAA,CAAS,GAAG,CAAA;AACjC,IAAA,IAAA,CAAK,QAAA,CAAS,QAAQ,CAAA;AACtB,IAAA,OAAO,QAAA;AAAA,EACT;AAAA,EAEA,WAAA,CAAY,KAAA,EAAiB;AAC3B,IAAA,kDAAA,IAAmB,CAAK,SAAA,EAAW,KAAK,CAAA;AACxC,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,aAAA,CAAA,EAAwB;AACtB,IAAA,GAAA,CAAI,IAAA,CAAK,eAAA,CAAgB,CAAA;AACvB,MAAA,OAAO,CAAA;AACT,IAAA,IAAI,MAAA,EAAQ,IAAA,CAAK,WAAA;AACjB,IAAA,IAAA,CAAA,MAAW,MAAA,GAAS,IAAA,CAAK,SAAA;AACvB,MAAA,MAAA,GAAS,KAAA,CAAM,aAAA,CAAc,CAAA;AAC/B,IAAA,OAAO,KAAA;AAAA,EACT;AAAA;AAAA,EAGA,iBAAA,CAAA,EAA4B;AAC1B,IAAA,GAAA,CAAI,IAAA,CAAK,eAAA,CAAgB,CAAA;AACvB,MAAA,OAAO,CAAA;AACT,IAAA,IAAI,MAAA,EAAQ,IAAA,CAAK,eAAA;AACjB,IAAA,IAAA,CAAA,MAAW,MAAA,GAAS,IAAA,CAAK,SAAA;AACvB,MAAA,MAAA,GAAS,KAAA,CAAM,iBAAA,CAAkB,CAAA;AACnC,IAAA,OAAO,KAAA;AAAA,EAET;AAAA;AAAA,EAGA,eAAA,CAAA,EAA2B;AACzB,IAAA,OAAO,IAAA,CAAK,YAAA,GAAe,EAAA,GAAK,IAAA,CAAK,SAAA,CAAU,OAAA,GAAU,CAAA;AAAA,EAC3D;AAAA,EAEA,WAAA,CAAA,EAAc;AACZ,IAAA,OAAO,IAAA,CAAK,YAAA;AAAA,EACd;AAAA;AAAA,EAGA,UAAA,CAAA,EAAa;AACX,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,UAAA,CAAW,EAAA,GAAM,CAAC,IAAA,CAAK,eAAA,CAAgB,EAAA,GAAM,IAAA,CAAK,aAAA,CAAc,EAAA,GAAK,IAAA,CAAK,iBAAA,CAAkB,CAAA;AAAA,EAClH;AAAA;AAAA,EAGA,WAAA,CAAA,EAAc;AACZ,IAAA,GAAA,CAAI,IAAA,CAAK,eAAA,CAAgB,CAAA;AACvB,MAAA,OAAO,CAAA;AACT,IAAA,IAAI,MAAA,EAAQ,IAAA,CAAK,iBAAA,CAAkB,EAAA,EAAI,IAAA,CAAK,aAAA,CAAc,CAAA;AAC1D,IAAA,GAAA,CAAI,MAAA,CAAO,KAAA,CAAM,KAAK,CAAA;AACpB,MAAA,MAAA,EAAQ,CAAA;AACV,IAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,EACvC;AAAA,EAEA,gBAAA,CAAA,EAAmB;AACjB,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,MAAA;AAAA,EACxB;AAAA;AAAA,EAGA,aAAA,CAAc,KAAA,EAAe,cAAA,EAAyB;AACpD,IAAA,IAAA,CAAK,YAAA,EAAc,KAAA;AACnB,IAAA,GAAA,CAAI,eAAA,GAAkB,IAAA;AACpB,MAAA,IAAA,CAAK,gBAAA,EAAkB,cAAA;AACzB,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,aAAA,CAAc,KAAA,EAAO,CAAA,EAAG;AACtB,IAAA,IAAA,CAAK,YAAA,GAAe,IAAA;AACpB,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,mBAAA,CAAoB,KAAA,EAAe;AACjC,IAAA,IAAA,CAAK,gBAAA,EAAkB,KAAA;AACvB,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,YAAA,CAAA,EAAe;AACb,IAAA,IAAA,CAAK,gBAAA,EAAkB,IAAA,CAAK,WAAA;AAC5B,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,iBAAA,CAAkB,KAAA,EAAO,CAAA,EAAG;AAC1B,IAAA,IAAA,CAAK,gBAAA,GAAmB,IAAA;AACxB,IAAA,IAAA,CAAK,MAAA,CAAO,CAAA;AAAA,EACd;AAAA;AAAA,EAGA,QAAA,CAAS,OAAA,EAAS,CAAA,EAAG;AACnB,IAAA,IAAI,EAAA,EAAI,CAAA,EAAA;AAAgK;AACxK,IAAA;AACO,MAAA;AACH,IAAA;AACK,MAAA;AACF,IAAA;AACT,EAAA;AACF;ADzCa;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-HWQNPGWU.cjs","sourcesContent":[null,"// Inspired by https://developer.apple.com/documentation/foundation/progress\n\nimport { arrayRemoveElement } from '../data/array'\nimport { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname } from '../uuid'\n\ninterface ProgressOptions {\n totalUnits?: number\n completeUnits?: number\n resetWhenFinished?: boolean\n name?: string\n}\n\n/**\n * Progress helper with these properties:\n *\n * - `totalUnits` and `completedUnits` for progress\n * - Can be cancelled\n * - Sends events on cancel, changed and dispose\n * - Supports children and propagates values.\n * Total progress is sum of all units in the tree.\n * - On `dispose` child removes itself from parent.\n */\nexport class Progress extends Emitter<{\n progressCancelled: (progress: Progress) => void\n progressChanged: (progress: Progress) => void\n progressDispose: (progress: Progress) => void\n}> {\n private _totalUnits: number\n private _completedUnits: number\n private _isCancelled = false\n private _resetWhenFinished = true\n private _children: Progress[] = []\n\n dispose = useDispose()\n name: string\n\n constructor(opt: ProgressOptions = {}) {\n super()\n\n this._totalUnits = opt.totalUnits ?? 0\n this._completedUnits = opt.completeUnits ?? 0\n this._resetWhenFinished = opt.resetWhenFinished ?? true\n this.name = opt.name ?? uname('progress')\n\n // Make sure to cleanup also children\n this.dispose.add(async () => {\n for (const child of this._children)\n await child.dispose()\n await this.emit('progressDispose', this)\n })\n }\n\n /** Notify others about changes and reset on completion, if flag is set. */\n private update() {\n void this.emit('progressChanged', this)\n\n if (this._isCancelled && this._resetWhenFinished) {\n if (this.getTotalUnits() <= this.getCompletedUnits())\n this.reset()\n }\n }\n\n /** Fresh start */\n reset() {\n if (this._isCancelled) {\n this._isCancelled = false\n for (const child of this._children)\n child.reset()\n this.update()\n }\n }\n\n /** Notify and mark as cancelled. May take some time before having an effect. */\n async cancel() {\n if (!this._isCancelled) {\n this._isCancelled = true\n await this.emit('progressCancelled', this)\n for (const child of this._children)\n await child.cancel()\n this.update()\n }\n }\n\n /** Add child progress, which count into its parents units. On `dispose` it will auto remove itself from parent. */\n addChild(child: Progress) {\n child.on('progressDispose', () => this.removeChild(child))\n child.on('progressChanged', () => this.update())\n if (!this._children.includes(child))\n this._children.push(child)\n this.update()\n }\n\n /** Create child progress. */\n createChildProgress(opt?: ProgressOptions) {\n const progress = new Progress(opt)\n this.addChild(progress)\n return progress\n }\n\n removeChild(child: Progress) {\n arrayRemoveElement(this._children, child)\n this.update()\n }\n\n /** Total units including children */\n getTotalUnits(): number {\n if (this.isIndeterminate())\n return 0\n let units = this._totalUnits\n for (const child of this._children)\n units += child.getTotalUnits()\n return units\n }\n\n /** Completed units including children */\n getCompletedUnits(): number {\n if (this.isIndeterminate())\n return 0\n let units = this._completedUnits\n for (const child of this._children)\n units += child.getCompletedUnits()\n return units\n // return Math.min(this.getTotalUnits(), units)\n }\n\n /** Cannot calculate progress, because totalUnits are missing. Special representation in UI. */\n isIndeterminate(): boolean {\n return this._totalUnits <= 0 && this._children.length <= 0\n }\n\n isCancelled() {\n return this._isCancelled\n }\n\n /** Either disposed or all units completed. */\n isFinished() {\n return this.dispose.isDisposed() || (!this.isIndeterminate() && (this.getTotalUnits() <= this.getCompletedUnits()))\n }\n\n /** Value from 0 to 1, where 1 is 100% completeness. */\n getFraction() {\n if (this.isIndeterminate())\n return 0\n let value = this.getCompletedUnits() / this.getTotalUnits()\n if (Number.isNaN(value))\n value = 0\n return Math.min(1, Math.max(0, value))\n }\n\n getChildrenCount() {\n return this._children.length\n }\n\n /** Change total units. */\n setTotalUnits(units: number, completedUnits?: number) {\n this._totalUnits = units\n if (completedUnits != null)\n this._completedUnits = completedUnits\n this.update()\n }\n\n /** Relatively change total units. */\n incTotalUnits(step = 1) {\n this._totalUnits += step\n this.update()\n }\n\n /** Set fixed number of completed units. */\n setCompletetedUnits(units: number) {\n this._completedUnits = units\n this.update()\n }\n\n /** Set to 100% without disposing. */\n setCompleted() {\n this._completedUnits = this._totalUnits\n this.update()\n }\n\n /** Dynamically change completed units. */\n incCompletedUnits(step = 1) {\n this._completedUnits += step\n this.update()\n }\n\n /** Progress tree to string for debuggin purposes. Consider using `name` attribute of Progress. */\n toString(indent = 0) {\n let s = `${' '.repeat(indent)}${this.name}: ${this._completedUnits} of ${this._totalUnits} units, ${Math.floor(this.getFraction() * 100)} %, cancel=${this._isCancelled}\\n`\n for (const child of this._children)\n s += child.toString(indent + 1)\n if (indent === 0)\n return s.trim()\n return s\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-OSX4VQOR.js";
|
|
4
4
|
import {
|
|
5
5
|
uuid
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2KMVAIXW.js";
|
|
7
7
|
import {
|
|
8
8
|
useDispose
|
|
9
9
|
} from "./chunk-TRCJY7KG.js";
|
|
@@ -24,4 +24,4 @@ var Channel = class extends Emitter {
|
|
|
24
24
|
export {
|
|
25
25
|
Channel
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-IDWIANZR.js.map
|
|
@@ -10,7 +10,7 @@ var _chunkDRU33ZUGcjs = require('./chunk-DRU33ZUG.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunk33B2TEAZcjs = require('./chunk-33B2TEAZ.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -91,7 +91,7 @@ function LoggerNodeHandler(opt = {}) {
|
|
|
91
91
|
if (defaultUseStack == null)
|
|
92
92
|
defaultUseStack = shouldUseStack();
|
|
93
93
|
if (startTime == null)
|
|
94
|
-
startTime =
|
|
94
|
+
startTime = _chunk33B2TEAZcjs.getTimestamp.call(void 0, );
|
|
95
95
|
const {
|
|
96
96
|
level = void 0,
|
|
97
97
|
filter = void 0,
|
|
@@ -110,7 +110,7 @@ function LoggerNodeHandler(opt = {}) {
|
|
|
110
110
|
return;
|
|
111
111
|
if (!matchesNamespace(msg.name))
|
|
112
112
|
return;
|
|
113
|
-
const timeNow =
|
|
113
|
+
const timeNow = _chunk33B2TEAZcjs.getTimestamp.call(void 0, );
|
|
114
114
|
const name = msg.name || "";
|
|
115
115
|
let ninfo = namespaces[name || ""];
|
|
116
116
|
if (ninfo == null) {
|
|
@@ -120,7 +120,7 @@ function LoggerNodeHandler(opt = {}) {
|
|
|
120
120
|
};
|
|
121
121
|
namespaces[name] = ninfo;
|
|
122
122
|
}
|
|
123
|
-
const timeDiffString =
|
|
123
|
+
const timeDiffString = _chunk33B2TEAZcjs.formatMilliseconds.call(void 0, timeNow - startTime);
|
|
124
124
|
let args;
|
|
125
125
|
let displayName = nameBrackets ? `[${name}]` : name;
|
|
126
126
|
if (padding > 0)
|
|
@@ -200,4 +200,4 @@ function LoggerNodeHandler(opt = {}) {
|
|
|
200
200
|
|
|
201
201
|
|
|
202
202
|
exports.colorString = colorString; exports.colorStringList = colorStringList; exports.loggerStackTraceDebug = loggerStackTraceDebug; exports.LoggerNodeHandler = LoggerNodeHandler;
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
203
|
+
//# sourceMappingURL=chunk-IQ37FMAX.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-IQ37FMAX.cjs","../src/node/log/log-node.ts"],"names":["colors"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-IQ37FMAX.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport process from 'node:process'\nimport tty from 'node:tty'\nimport { renderMessages, valueToBoolean } from '../../common/data/convert'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { formatMilliseconds, getTimestamp } from '../../common/time'\nimport { getSourceLocation, getSourceLocationByPrecedingPattern, getStack } from './log-util'\n\nfunction shouldUseColor(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_COLOR, tty.isatty(process.stdout.fd))\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseColor: boolean | undefined\n\nconst colors = [6, 2, 3, 4, 5, 1]\n\nfunction nodeSelectColorByName(namespace: string) {\n let hash = 0\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i)\n hash |= 0 // Convert to 32bit integer\n }\n return colors[Math.abs(hash) % colors.length]\n}\n\nconst namespaces: Record<string, any> = {}\n\nlet startTime: number | undefined\n\nfunction log(...args: any[]) {\n process.stdout.write(`${renderMessages(args)}\\n`)\n}\n\n// const _browserStyleMap = {\n// [BOLD]: { \"font-weight\": \"bold\" },\n// [UNBOLD]: { \"font-weight\": \"normal\" },\n// [BLUE]: { color: \"blue\" },\n// [GREEN]: { color: \"green\" },\n// [GREY]: { color: \"grey\" },\n// [RED]: { color: \"red\" },\n// [PURPLE]: { color: \"purple\" },\n// [ORANGE]: { color: \"orange\" },\n// [UNCOLOR]: { color: \"black\" },\n// }\n\nconst TTY_STYLE = {\n BOLD: '\\u001B[1m',\n UNBOLD: '\\u001B[2m',\n RED: '\\u001B[31m',\n GREEN: '\\u001B[32m',\n BLUE: '\\u001B[34m',\n PURPLE: '\\u001B[35m',\n GRAY: '\\u001B[37m',\n ORANGE: '\\u001B[38;5;208m',\n UNCOLOR: '\\u001B[0m',\n}\n\nenum COLOR {\n RED = 1,\n GREEN = 2,\n BLUE = 4,\n PURPLE = 5,\n GRAY = 7,\n ORANGE = 8,\n}\n\nconst colorEnd = '\\u001B[0m'\n\nexport function colorString(text: string, colorCode: number) {\n const colorStart = colorCode === COLOR.ORANGE\n ? TTY_STYLE.ORANGE\n : `\\u001B[3${colorCode < 8 ? colorCode : `8;5;${colorCode}`}m`\n return `${colorStart}${text}${colorEnd}`\n}\n\nexport function colorStringList(\n list: Array<any>,\n style: string,\n bold = true,\n) {\n return list.map((value) => {\n if (typeof value !== 'string')\n return value\n let start = style\n let end = colorEnd\n if (bold) {\n start = `${TTY_STYLE.BOLD}${start}`\n end = `${end}${TTY_STYLE.BOLD}`\n }\n return `${start}${value}${end}`\n })\n}\n\nfunction shouldUseStack(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_STACK, false)\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseStack: boolean | undefined\n\nexport const loggerStackTraceDebug = 'loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485'\n\nexport function LoggerNodeHandler(opt: LogHandlerOptions = {}): LogHandler {\n if (defaultUseColor == null)\n defaultUseColor = shouldUseColor()\n\n if (defaultUseStack == null)\n defaultUseStack = shouldUseStack()\n\n if (startTime == null)\n startTime = getTimestamp()\n\n const {\n level = undefined,\n filter = undefined,\n colors = defaultUseColor,\n levelHelper = true,\n nameBrackets = true,\n padding = 0,\n fill = 0,\n stack = defaultUseStack,\n time = true,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const timeNow = getTimestamp()\n const name = msg.name || ''\n let ninfo = namespaces[name || '']\n if (ninfo == null) {\n ninfo = {\n color: nodeSelectColorByName(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n const timeDiffString = formatMilliseconds(timeNow - startTime!)\n\n let args: string[]\n\n let displayName = nameBrackets ? `[${name}]` : name\n\n if (padding > 0)\n displayName = displayName.padStart(padding, ' ')\n\n if (fill > 0)\n displayName = displayName.padEnd(fill, ' ')\n\n if (colors) {\n const c = ninfo.color\n args = [`${colorString(displayName, c)} | `] // nameBrackets ? [`%c[${name}]`] : [`%c${name}`]\n if (msg.level === LogLevelWarn)\n args.push(...colorStringList(msg.messages, TTY_STYLE.ORANGE))\n else if (msg.level === LogLevelError)\n args.push(...colorStringList(msg.messages, TTY_STYLE.RED))\n else\n args.push(...msg.messages)\n if (time)\n args.push(colorString(`+${timeDiffString}`, c))\n }\n else {\n args = [displayName, ...msg.messages]\n if (time)\n args.push(`+${timeDiffString}`)\n }\n\n if (msg.messages?.[0] === loggerStackTraceDebug) {\n try {\n // eslint-disable-next-line no-console\n console.log(getStack())\n }\n catch (err) { }\n }\n\n // Probably time consuming\n if (stack) {\n let line = ''\n if (typeof stack === 'boolean') {\n line = getSourceLocationByPrecedingPattern(\n ['at Function.', 'at null.log (', 'at log ('],\n true,\n )\n if (!line)\n line = getSourceLocation(0, true)\n }\n else {\n const depth = typeof stack === 'number' ? stack : 3\n line = getSourceLocation(depth, true)\n }\n if (line)\n args.push(colorString(`(${line})`, COLOR.GRAY))\n }\n\n const sep = '|'\n const charLevel = '.'\n\n switch (msg.level) {\n case LogLevelInfo:\n if (levelHelper)\n args[0] = `I${sep}${charLevel} ${args[0]}`\n log(...args)\n break\n case LogLevelWarn:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`W${sep}${charLevel}${charLevel} `, COLOR.ORANGE)\n : `W${sep}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n case LogLevelError:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`E${sep}${charLevel}${charLevel}${charLevel} `, COLOR.RED)\n : `E${sep}${charLevel}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n default:\n if (levelHelper)\n args[0] = `D${sep} ${args[0]}`\n log(...args)\n break\n }\n }\n}\n"]}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
formatMilliseconds,
|
|
12
12
|
getTimestamp
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-NNCJ3QL5.js";
|
|
14
14
|
import {
|
|
15
15
|
useLevelFilter,
|
|
16
16
|
useNamespaceFilter
|
|
@@ -200,4 +200,4 @@ export {
|
|
|
200
200
|
loggerStackTraceDebug,
|
|
201
201
|
LoggerNodeHandler
|
|
202
202
|
};
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
203
|
+
//# sourceMappingURL=chunk-IUSTZZ2Z.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
uname,
|
|
9
9
|
uuid
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2KMVAIXW.js";
|
|
11
11
|
import {
|
|
12
12
|
isPromise,
|
|
13
13
|
tryTimeout
|
|
@@ -162,4 +162,4 @@ export {
|
|
|
162
162
|
createPromiseProxy,
|
|
163
163
|
useMessageHub
|
|
164
164
|
};
|
|
165
|
-
//# sourceMappingURL=chunk-
|
|
165
|
+
//# sourceMappingURL=chunk-IX5ITV72.js.map
|
|
@@ -7,7 +7,7 @@ var _chunkDRU33ZUGcjs = require('./chunk-DRU33ZUG.cjs');
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkBCX254SLcjs = require('./chunk-BCX254SL.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -28,7 +28,7 @@ function createPromiseProxy(fn, opt, predefinedMethods = {}) {
|
|
|
28
28
|
}
|
|
29
29
|
function useMessageHub(opt = {}) {
|
|
30
30
|
const {
|
|
31
|
-
name =
|
|
31
|
+
name = _chunkBCX254SLcjs.uname.call(void 0, "hub"),
|
|
32
32
|
encoder = new (0, _chunkX5MWXWOAcjs.JsonEncoder)(),
|
|
33
33
|
retryAfter = 1e3,
|
|
34
34
|
ignoreUnhandled = true,
|
|
@@ -127,7 +127,7 @@ function useMessageHub(opt = {}) {
|
|
|
127
127
|
};
|
|
128
128
|
const fetchMessage = async (name2, args, opt2 = {}) => {
|
|
129
129
|
const { timeout = 5e3 } = opt2;
|
|
130
|
-
const id =
|
|
130
|
+
const id = _chunkBCX254SLcjs.uuid.call(void 0, );
|
|
131
131
|
await postMessage({
|
|
132
132
|
name: name2,
|
|
133
133
|
args,
|
|
@@ -162,4 +162,4 @@ function useMessageHub(opt = {}) {
|
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
exports.createPromiseProxy = createPromiseProxy; exports.useMessageHub = useMessageHub;
|
|
165
|
-
//# sourceMappingURL=chunk-
|
|
165
|
+
//# sourceMappingURL=chunk-K3AEUCMR.cjs.map
|