zeed 1.3.0 → 1.4.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/AGENTS.md +50 -211
- package/README.md +16 -0
- package/dist/_experiments/bitcask.cjs +243 -1
- package/dist/_experiments/bitcask.cjs.map +1 -1
- package/dist/_experiments/bitcask.mjs +230 -1
- package/dist/_experiments/bitcask.mjs.map +1 -1
- package/dist/bin-BAoS4qtm.mjs +593 -0
- package/dist/{bin-SPdenYkw.mjs.map → bin-BAoS4qtm.mjs.map} +1 -1
- package/dist/bin-Ddaz2lxM.cjs +862 -0
- package/dist/{bin-Ce3i6ABn.cjs.map → bin-Ddaz2lxM.cjs.map} +1 -1
- package/dist/browser/base64.cjs +14 -1
- package/dist/browser/base64.cjs.map +1 -1
- package/dist/browser/base64.mjs +12 -1
- package/dist/browser/base64.mjs.map +1 -1
- package/dist/browser/gravatar.cjs +186 -1
- package/dist/browser/gravatar.cjs.map +1 -1
- package/dist/browser/gravatar.mjs +184 -1
- package/dist/browser/gravatar.mjs.map +1 -1
- package/dist/browser/index.cjs +14 -1
- package/dist/browser/index.mjs +8 -1
- package/dist/browser/localstorage.cjs +46 -1
- package/dist/browser/localstorage.cjs.map +1 -1
- package/dist/browser/localstorage.mjs +45 -1
- package/dist/browser/localstorage.mjs.map +1 -1
- package/dist/browser/log/index.cjs +8 -1
- package/dist/browser/log/index.mjs +5 -1
- package/dist/browser/log/log-browser-factory.cjs +65 -1
- package/dist/browser/log/log-browser-factory.cjs.map +1 -1
- package/dist/browser/log/log-browser-factory.mjs +64 -1
- package/dist/browser/log/log-browser-factory.mjs.map +1 -1
- package/dist/browser/log/log-browser.cjs +72 -1
- package/dist/browser/log/log-browser.cjs.map +1 -1
- package/dist/browser/log/log-browser.mjs +71 -1
- package/dist/browser/log/log-browser.mjs.map +1 -1
- package/dist/browser/log/log-colors.cjs +11 -1
- package/dist/browser/log/log-colors.cjs.map +1 -1
- package/dist/browser/log/log-colors.mjs +9 -1
- package/dist/browser/log/log-colors.mjs.map +1 -1
- package/dist/browser/log/log-context-browser.cjs +25 -1
- package/dist/browser/log/log-context-browser.cjs.map +1 -1
- package/dist/browser/log/log-context-browser.mjs +23 -1
- package/dist/browser/log/log-context-browser.mjs.map +1 -1
- package/dist/chunk-DQk6qfdC.mjs +18 -0
- package/dist/chunk-uaV2rQ02.cjs +53 -0
- package/dist/common/assert.cjs +22 -1
- package/dist/common/assert.cjs.map +1 -1
- package/dist/common/assert.mjs +19 -1
- package/dist/common/assert.mjs.map +1 -1
- package/dist/common/bin/index.cjs +106 -1
- package/dist/common/bin/index.cjs.map +1 -1
- package/dist/common/bin/index.mjs +98 -1
- package/dist/common/bin/index.mjs.map +1 -1
- package/dist/common/bin/lib0/binary.cjs +146 -1
- package/dist/common/bin/lib0/binary.cjs.map +1 -1
- package/dist/common/bin/lib0/binary.mjs +80 -1
- package/dist/common/bin/lib0/binary.mjs.map +1 -1
- package/dist/common/bin/lib0/buffer.cjs +42 -1
- package/dist/common/bin/lib0/buffer.cjs.map +1 -1
- package/dist/common/bin/lib0/buffer.mjs +38 -1
- package/dist/common/bin/lib0/buffer.mjs.map +1 -1
- package/dist/common/bin/lib0/create.cjs +24 -1
- package/dist/common/bin/lib0/create.cjs.map +1 -1
- package/dist/common/bin/lib0/create.mjs +21 -1
- package/dist/common/bin/lib0/create.mjs.map +1 -1
- package/dist/common/bin/lib0/decoding.cjs +325 -1
- package/dist/common/bin/lib0/decoding.cjs.map +1 -1
- package/dist/common/bin/lib0/decoding.mjs +298 -1
- package/dist/common/bin/lib0/decoding.mjs.map +1 -1
- package/dist/common/bin/lib0/encoding.cjs +404 -1
- package/dist/common/bin/lib0/encoding.cjs.map +1 -1
- package/dist/common/bin/lib0/encoding.mjs +377 -1
- package/dist/common/bin/lib0/encoding.mjs.map +1 -1
- package/dist/common/bin/lib0/string.cjs +81 -1
- package/dist/common/bin/lib0/string.cjs.map +1 -1
- package/dist/common/bin/lib0/string.mjs +71 -1
- package/dist/common/bin/lib0/string.mjs.map +1 -1
- package/dist/common/crypto/aes-sealed.cjs +34 -1
- package/dist/common/crypto/aes-sealed.cjs.map +1 -1
- package/dist/common/crypto/aes-sealed.mjs +32 -1
- package/dist/common/crypto/aes-sealed.mjs.map +1 -1
- package/dist/common/crypto/crypto.cjs +91 -1
- package/dist/common/crypto/crypto.cjs.map +1 -1
- package/dist/common/crypto/crypto.mjs +80 -1
- package/dist/common/crypto/crypto.mjs.map +1 -1
- package/dist/common/crypto/index.cjs +23 -1
- package/dist/common/crypto/index.mjs +5 -1
- package/dist/common/crypto/xaes.cjs +128 -1
- package/dist/common/crypto/xaes.cjs.map +1 -1
- package/dist/common/crypto/xaes.mjs +123 -1
- package/dist/common/crypto/xaes.mjs.map +1 -1
- package/dist/common/csv.cjs +49 -4
- package/dist/common/csv.cjs.map +1 -1
- package/dist/common/csv.mjs +46 -4
- package/dist/common/csv.mjs.map +1 -1
- package/dist/common/data/array.cjs +299 -1
- package/dist/common/data/array.cjs.map +1 -1
- package/dist/common/data/array.mjs +274 -1
- package/dist/common/data/array.mjs.map +1 -1
- package/dist/common/data/basex-secure.cjs +30 -1
- package/dist/common/data/basex-secure.mjs +3 -1
- package/dist/common/data/basex.cjs +163 -1
- package/dist/common/data/basex.cjs.map +1 -1
- package/dist/common/data/basex.mjs +152 -1
- package/dist/common/data/basex.mjs.map +1 -1
- package/dist/common/data/bin-types.mjs +1 -1
- package/dist/common/data/bin.cjs +21 -1
- package/dist/common/data/bin.mjs +3 -1
- package/dist/common/data/camelcase.cjs +27 -1
- package/dist/common/data/camelcase.cjs.map +1 -1
- package/dist/common/data/camelcase.mjs +22 -1
- package/dist/common/data/camelcase.mjs.map +1 -1
- package/dist/common/data/convert.cjs +104 -1
- package/dist/common/data/convert.cjs.map +1 -1
- package/dist/common/data/convert.mjs +88 -1
- package/dist/common/data/convert.mjs.map +1 -1
- package/dist/common/data/datauri.cjs +32 -1
- package/dist/common/data/datauri.cjs.map +1 -1
- package/dist/common/data/datauri.mjs +27 -1
- package/dist/common/data/datauri.mjs.map +1 -1
- package/dist/common/data/day-legacy.cjs +148 -1
- package/dist/common/data/day-legacy.cjs.map +1 -1
- package/dist/common/data/day-legacy.mjs +143 -1
- package/dist/common/data/day-legacy.mjs.map +1 -1
- package/dist/common/data/day.cjs +335 -1
- package/dist/common/data/day.cjs.map +1 -1
- package/dist/common/data/day.mjs +305 -1
- package/dist/common/data/day.mjs.map +1 -1
- package/dist/common/data/decimal.cjs +28 -1
- package/dist/common/data/decimal.cjs.map +1 -1
- package/dist/common/data/decimal.mjs +23 -1
- package/dist/common/data/decimal.mjs.map +1 -1
- package/dist/common/data/deep.cjs +57 -1
- package/dist/common/data/deep.cjs.map +1 -1
- package/dist/common/data/deep.mjs +54 -1
- package/dist/common/data/deep.mjs.map +1 -1
- package/dist/common/data/diff.cjs +62 -1
- package/dist/common/data/diff.cjs.map +1 -1
- package/dist/common/data/diff.mjs +60 -1
- package/dist/common/data/diff.mjs.map +1 -1
- package/dist/common/data/distributed.cjs +24 -1
- package/dist/common/data/distributed.cjs.map +1 -1
- package/dist/common/data/distributed.mjs +22 -1
- package/dist/common/data/distributed.mjs.map +1 -1
- package/dist/common/data/format.cjs +63 -1
- package/dist/common/data/format.cjs.map +1 -1
- package/dist/common/data/format.mjs +59 -1
- package/dist/common/data/format.mjs.map +1 -1
- package/dist/common/data/html.cjs +13 -1
- package/dist/common/data/html.cjs.map +1 -1
- package/dist/common/data/html.mjs +10 -1
- package/dist/common/data/html.mjs.map +1 -1
- package/dist/common/data/index.cjs +296 -1
- package/dist/common/data/index.mjs +37 -1
- package/dist/common/data/is.cjs +106 -1
- package/dist/common/data/is.cjs.map +1 -1
- package/dist/common/data/is.mjs +85 -1
- package/dist/common/data/is.mjs.map +1 -1
- package/dist/common/data/json.cjs +70 -1
- package/dist/common/data/json.cjs.map +1 -1
- package/dist/common/data/json.mjs +65 -1
- package/dist/common/data/json.mjs.map +1 -1
- package/dist/common/data/list.cjs +32 -1
- package/dist/common/data/list.cjs.map +1 -1
- package/dist/common/data/list.mjs +27 -1
- package/dist/common/data/list.mjs.map +1 -1
- package/dist/common/data/lru.mjs +1 -1
- package/dist/common/data/math.cjs +79 -1
- package/dist/common/data/math.cjs.map +1 -1
- package/dist/common/data/math.mjs +65 -1
- package/dist/common/data/math.mjs.map +1 -1
- package/dist/common/data/message.cjs +30 -1
- package/dist/common/data/message.cjs.map +1 -1
- package/dist/common/data/message.mjs +28 -1
- package/dist/common/data/message.mjs.map +1 -1
- package/dist/common/data/object-changes.cjs +66 -1
- package/dist/common/data/object-changes.cjs.map +1 -1
- package/dist/common/data/object-changes.mjs +63 -1
- package/dist/common/data/object-changes.mjs.map +1 -1
- package/dist/common/data/object.cjs +112 -1
- package/dist/common/data/object.cjs.map +1 -1
- package/dist/common/data/object.mjs +104 -1
- package/dist/common/data/object.mjs.map +1 -1
- package/dist/common/data/orderby.cjs +42 -1
- package/dist/common/data/orderby.cjs.map +1 -1
- package/dist/common/data/orderby.mjs +37 -1
- package/dist/common/data/orderby.mjs.map +1 -1
- package/dist/common/data/path.cjs +26 -1
- package/dist/common/data/path.cjs.map +1 -1
- package/dist/common/data/path.mjs +25 -1
- package/dist/common/data/path.mjs.map +1 -1
- package/dist/common/data/regexp.cjs +12 -1
- package/dist/common/data/regexp.cjs.map +1 -1
- package/dist/common/data/regexp.mjs +10 -1
- package/dist/common/data/regexp.mjs.map +1 -1
- package/dist/common/data/rounding.cjs +107 -1
- package/dist/common/data/rounding.cjs.map +1 -1
- package/dist/common/data/rounding.mjs +95 -1
- package/dist/common/data/rounding.mjs.map +1 -1
- package/dist/common/data/signal.cjs +39 -1
- package/dist/common/data/signal.cjs.map +1 -1
- package/dist/common/data/signal.mjs +38 -1
- package/dist/common/data/signal.mjs.map +1 -1
- package/dist/common/data/sortable.cjs +35 -1
- package/dist/common/data/sortable.cjs.map +1 -1
- package/dist/common/data/sortable.mjs +31 -1
- package/dist/common/data/sortable.mjs.map +1 -1
- package/dist/common/data/sorted.cjs +54 -1
- package/dist/common/data/sorted.cjs.map +1 -1
- package/dist/common/data/sorted.mjs +53 -1
- package/dist/common/data/sorted.mjs.map +1 -1
- package/dist/common/data/string-deburr.cjs +240 -1
- package/dist/common/data/string-deburr.cjs.map +1 -1
- package/dist/common/data/string-deburr.mjs +238 -1
- package/dist/common/data/string-deburr.mjs.map +1 -1
- package/dist/common/data/string-hash-fnv.cjs +69 -1
- package/dist/common/data/string-hash-fnv.cjs.map +1 -1
- package/dist/common/data/string-hash-fnv.mjs +67 -1
- package/dist/common/data/string-hash-fnv.mjs.map +1 -1
- package/dist/common/data/string-hash-pool.cjs +28 -1
- package/dist/common/data/string-hash-pool.cjs.map +1 -1
- package/dist/common/data/string-hash-pool.mjs +27 -1
- package/dist/common/data/string-hash-pool.mjs.map +1 -1
- package/dist/common/data/url.cjs +98 -2
- package/dist/common/data/url.cjs.map +1 -1
- package/dist/common/data/url.mjs +91 -2
- package/dist/common/data/url.mjs.map +1 -1
- package/dist/common/data/utils.cjs +118 -1
- package/dist/common/data/utils.cjs.map +1 -1
- package/dist/common/data/utils.mjs +107 -1
- package/dist/common/data/utils.mjs.map +1 -1
- package/dist/common/data/wordlist.cjs +531 -1
- package/dist/common/data/wordlist.cjs.map +1 -1
- package/dist/common/data/wordlist.mjs +529 -1
- package/dist/common/data/wordlist.mjs.map +1 -1
- package/dist/common/data/xrx.cjs +96 -1
- package/dist/common/data/xrx.cjs.map +1 -1
- package/dist/common/data/xrx.mjs +92 -1
- package/dist/common/data/xrx.mjs.map +1 -1
- package/dist/common/dispose-defer.cjs +133 -1
- package/dist/common/dispose-defer.cjs.map +1 -1
- package/dist/common/dispose-defer.mjs +130 -1
- package/dist/common/dispose-defer.mjs.map +1 -1
- package/dist/common/dispose-types.mjs +1 -1
- package/dist/common/dispose-utils.cjs +113 -1
- package/dist/common/dispose-utils.cjs.map +1 -1
- package/dist/common/dispose-utils.mjs +106 -1
- package/dist/common/dispose-utils.mjs.map +1 -1
- package/dist/common/exec/index.cjs +24 -1
- package/dist/common/exec/index.d.cts +1 -1
- package/dist/common/exec/index.d.mts +1 -1
- package/dist/common/exec/index.mjs +8 -1
- package/dist/common/exec/mutex.cjs +44 -1
- package/dist/common/exec/mutex.cjs.map +1 -1
- package/dist/common/exec/mutex.mjs +42 -1
- package/dist/common/exec/mutex.mjs.map +1 -1
- package/dist/common/exec/pool.cjs +181 -1
- package/dist/common/exec/pool.cjs.map +1 -1
- package/dist/common/exec/pool.d.cts +1 -1
- package/dist/common/exec/pool.d.mts +1 -1
- package/dist/common/exec/pool.mjs +180 -1
- package/dist/common/exec/pool.mjs.map +1 -1
- package/dist/common/exec/progress.cjs +149 -1
- package/dist/common/exec/progress.cjs.map +1 -1
- package/dist/common/exec/progress.d.cts +1 -1
- package/dist/common/exec/progress.d.mts +1 -1
- package/dist/common/exec/progress.mjs +148 -1
- package/dist/common/exec/progress.mjs.map +1 -1
- package/dist/common/exec/promise.cjs +113 -1
- package/dist/common/exec/promise.cjs.map +1 -1
- package/dist/common/exec/promise.mjs +103 -1
- package/dist/common/exec/promise.mjs.map +1 -1
- package/dist/common/exec/queue.cjs +125 -1
- package/dist/common/exec/queue.cjs.map +1 -1
- package/dist/common/exec/queue.d.cts +1 -1
- package/dist/common/exec/queue.d.mts +1 -1
- package/dist/common/exec/queue.mjs +124 -1
- package/dist/common/exec/queue.mjs.map +1 -1
- package/dist/common/exec/throttle-debounce.cjs +114 -1
- package/dist/common/exec/throttle-debounce.cjs.map +1 -1
- package/dist/common/exec/throttle-debounce.mjs +112 -1
- package/dist/common/exec/throttle-debounce.mjs.map +1 -1
- package/dist/common/global.cjs +22 -1
- package/dist/common/global.cjs.map +1 -1
- package/dist/common/global.mjs +19 -1
- package/dist/common/global.mjs.map +1 -1
- package/dist/common/index.cjs +559 -1
- package/dist/common/index.d.cts +1 -1
- package/dist/common/index.d.mts +1 -1
- package/dist/common/index.mjs +89 -1
- package/dist/common/localhost.cjs +16 -1
- package/dist/common/localhost.cjs.map +1 -1
- package/dist/common/localhost.mjs +14 -1
- package/dist/common/localhost.mjs.map +1 -1
- package/dist/common/log/index.cjs +34 -1
- package/dist/common/log/index.mjs +11 -1
- package/dist/common/log/log-base.cjs +40 -1
- package/dist/common/log/log-base.cjs.map +1 -1
- package/dist/common/log/log-base.mjs +31 -1
- package/dist/common/log/log-base.mjs.map +1 -1
- package/dist/common/log/log-colors.cjs +92 -1
- package/dist/common/log/log-colors.cjs.map +1 -1
- package/dist/common/log/log-colors.mjs +90 -1
- package/dist/common/log/log-colors.mjs.map +1 -1
- package/dist/common/log/log-config.cjs +15 -1
- package/dist/common/log/log-config.cjs.map +1 -1
- package/dist/common/log/log-config.mjs +14 -1
- package/dist/common/log/log-config.mjs.map +1 -1
- package/dist/common/log/log-console-capture.cjs +33 -1
- package/dist/common/log/log-console-capture.cjs.map +1 -1
- package/dist/common/log/log-console-capture.mjs +32 -1
- package/dist/common/log/log-console-capture.mjs.map +1 -1
- package/dist/common/log/log-console-original.cjs +27 -1
- package/dist/common/log/log-console-original.cjs.map +1 -1
- package/dist/common/log/log-console-original.mjs +26 -1
- package/dist/common/log/log-console-original.mjs.map +1 -1
- package/dist/common/log/log-console.cjs +39 -1
- package/dist/common/log/log-console.cjs.map +1 -1
- package/dist/common/log/log-console.mjs +38 -1
- package/dist/common/log/log-console.mjs.map +1 -1
- package/dist/common/log/log-context.cjs +109 -1
- package/dist/common/log/log-context.cjs.map +1 -1
- package/dist/common/log/log-context.mjs +108 -1
- package/dist/common/log/log-context.mjs.map +1 -1
- package/dist/common/log/log-filter.cjs +80 -1
- package/dist/common/log/log-filter.cjs.map +1 -1
- package/dist/common/log/log-filter.mjs +75 -1
- package/dist/common/log/log-filter.mjs.map +1 -1
- package/dist/common/log/log-memory.cjs +45 -1
- package/dist/common/log/log-memory.cjs.map +1 -1
- package/dist/common/log/log-memory.mjs +43 -1
- package/dist/common/log/log-memory.mjs.map +1 -1
- package/dist/common/log/log-noop.cjs +17 -1
- package/dist/common/log/log-noop.cjs.map +1 -1
- package/dist/common/log/log-noop.mjs +15 -1
- package/dist/common/log/log-noop.mjs.map +1 -1
- package/dist/common/log/log.cjs +46 -1
- package/dist/common/log/log.cjs.map +1 -1
- package/dist/common/log/log.mjs +43 -1
- package/dist/common/log/log.mjs.map +1 -1
- package/dist/common/msg/channel-debug.cjs +17 -1
- package/dist/common/msg/channel-debug.cjs.map +1 -1
- package/dist/common/msg/channel-debug.d.cts +1 -1
- package/dist/common/msg/channel-debug.d.mts +1 -1
- package/dist/common/msg/channel-debug.mjs +16 -1
- package/dist/common/msg/channel-debug.mjs.map +1 -1
- package/dist/common/msg/channel-local.cjs +28 -1
- package/dist/common/msg/channel-local.cjs.map +1 -1
- package/dist/common/msg/channel-local.d.cts +1 -1
- package/dist/common/msg/channel-local.d.mts +1 -1
- package/dist/common/msg/channel-local.mjs +26 -1
- package/dist/common/msg/channel-local.mjs.map +1 -1
- package/dist/common/msg/channel-resilient.cjs +63 -1
- package/dist/common/msg/channel-resilient.cjs.map +1 -1
- package/dist/common/msg/channel-resilient.d.cts +1 -1
- package/dist/common/msg/channel-resilient.d.mts +1 -1
- package/dist/common/msg/channel-resilient.mjs +62 -1
- package/dist/common/msg/channel-resilient.mjs.map +1 -1
- package/dist/common/msg/channel-wkwebview.cjs +35 -1
- package/dist/common/msg/channel-wkwebview.cjs.map +1 -1
- package/dist/common/msg/channel-wkwebview.d.cts +2 -1
- package/dist/common/msg/channel-wkwebview.d.mts +2 -1
- package/dist/common/msg/channel-wkwebview.mjs +34 -1
- package/dist/common/msg/channel-wkwebview.mjs.map +1 -1
- package/dist/common/msg/channel.cjs +23 -1
- package/dist/common/msg/channel.cjs.map +1 -1
- package/dist/common/msg/channel.d.cts +1 -1
- package/dist/common/msg/channel.d.mts +1 -1
- package/dist/common/msg/channel.mjs +22 -1
- package/dist/common/msg/channel.mjs.map +1 -1
- package/dist/common/msg/emitter.cjs +141 -1
- package/dist/common/msg/emitter.cjs.map +1 -1
- package/dist/common/msg/emitter.d.cts +1 -1
- package/dist/common/msg/emitter.d.mts +1 -1
- package/dist/common/msg/emitter.mjs +139 -1
- package/dist/common/msg/emitter.mjs.map +1 -1
- package/dist/common/msg/encoder.cjs +38 -1
- package/dist/common/msg/encoder.cjs.map +1 -1
- package/dist/common/msg/encoder.mjs +35 -1
- package/dist/common/msg/encoder.mjs.map +1 -1
- package/dist/common/msg/index.cjs +28 -1
- package/dist/common/msg/index.d.cts +1 -1
- package/dist/common/msg/index.d.mts +1 -1
- package/dist/common/msg/index.mjs +11 -1
- package/dist/common/msg/messages.cjs +135 -1
- package/dist/common/msg/messages.cjs.map +1 -1
- package/dist/common/msg/messages.d.cts +1 -1
- package/dist/common/msg/messages.d.mts +1 -1
- package/dist/common/msg/messages.mjs +133 -1
- package/dist/common/msg/messages.mjs.map +1 -1
- package/dist/common/msg/pipe.mjs +1 -1
- package/dist/common/msg/pubsub.cjs +78 -1
- package/dist/common/msg/pubsub.cjs.map +1 -1
- package/dist/common/msg/pubsub.d.cts +1 -1
- package/dist/common/msg/pubsub.d.mts +1 -1
- package/dist/common/msg/pubsub.mjs +76 -1
- package/dist/common/msg/pubsub.mjs.map +1 -1
- package/dist/common/msg/rpc.cjs +142 -1
- package/dist/common/msg/rpc.cjs.map +1 -1
- package/dist/common/msg/rpc.mjs +139 -1
- package/dist/common/msg/rpc.mjs.map +1 -1
- package/dist/common/network.cjs +129 -1
- package/dist/common/network.cjs.map +1 -1
- package/dist/common/network.mjs +122 -1
- package/dist/common/network.mjs.map +1 -1
- package/dist/common/platform.cjs +92 -1
- package/dist/common/platform.cjs.map +1 -1
- package/dist/common/platform.mjs +84 -1
- package/dist/common/platform.mjs.map +1 -1
- package/dist/common/schema/_sandbox/sandbox-inherit.mjs +1 -1
- package/dist/common/schema/_sandbox/sandbox.mjs +1 -1
- package/dist/common/schema/_sandbox/sandbox.xspec.mjs +1 -1
- package/dist/common/schema/export-json-schema.cjs +54 -1
- package/dist/common/schema/export-json-schema.cjs.map +1 -1
- package/dist/common/schema/export-json-schema.mjs +52 -1
- package/dist/common/schema/export-json-schema.mjs.map +1 -1
- package/dist/common/schema/export-swift.cjs +30 -2
- package/dist/common/schema/export-swift.cjs.map +1 -1
- package/dist/common/schema/export-swift.mjs +29 -2
- package/dist/common/schema/export-swift.mjs.map +1 -1
- package/dist/common/schema/export-typescript.cjs +20 -2
- package/dist/common/schema/export-typescript.cjs.map +1 -1
- package/dist/common/schema/export-typescript.mjs +19 -2
- package/dist/common/schema/export-typescript.mjs.map +1 -1
- package/dist/common/schema/index.cjs +55 -1
- package/dist/common/schema/index.mjs +12 -1
- package/dist/common/schema/parse-args.cjs +62 -2
- package/dist/common/schema/parse-args.cjs.map +1 -1
- package/dist/common/schema/parse-args.mjs +60 -2
- package/dist/common/schema/parse-args.mjs.map +1 -1
- package/dist/common/schema/parse-env.cjs +48 -3
- package/dist/common/schema/parse-env.cjs.map +1 -1
- package/dist/common/schema/parse-env.mjs +46 -3
- package/dist/common/schema/parse-env.mjs.map +1 -1
- package/dist/common/schema/parse-object.cjs +122 -1
- package/dist/common/schema/parse-object.cjs.map +1 -1
- package/dist/common/schema/parse-object.mjs +119 -1
- package/dist/common/schema/parse-object.mjs.map +1 -1
- package/dist/common/schema/schema-standard.mjs +1 -1
- package/dist/common/schema/schema.cjs +423 -1
- package/dist/common/schema/schema.cjs.map +1 -1
- package/dist/common/schema/schema.mjs +404 -1
- package/dist/common/schema/schema.mjs.map +1 -1
- package/dist/common/schema/serialize.cjs +109 -1
- package/dist/common/schema/serialize.cjs.map +1 -1
- package/dist/common/schema/serialize.mjs +107 -1
- package/dist/common/schema/serialize.mjs.map +1 -1
- package/dist/common/schema/type-test.mjs +1 -1
- package/dist/common/schema/utils.cjs +25 -1
- package/dist/common/schema/utils.cjs.map +1 -1
- package/dist/common/schema/utils.mjs +19 -1
- package/dist/common/schema/utils.mjs.map +1 -1
- package/dist/common/schema/z-collection.cjs +51 -1
- package/dist/common/schema/z-collection.mjs +27 -1
- package/dist/common/schema/z.cjs +9 -1
- package/dist/common/schema/z.mjs +3 -1
- package/dist/common/storage/index.cjs +4 -1
- package/dist/common/storage/index.mjs +3 -1
- package/dist/common/storage/memstorage.cjs +26 -1
- package/dist/common/storage/memstorage.cjs.map +1 -1
- package/dist/common/storage/memstorage.mjs +25 -1
- package/dist/common/storage/memstorage.mjs.map +1 -1
- package/dist/common/test.cjs +14 -1
- package/dist/common/test.cjs.map +1 -1
- package/dist/common/test.mjs +13 -1
- package/dist/common/test.mjs.map +1 -1
- package/dist/common/time.cjs +220 -1
- package/dist/common/time.cjs.map +1 -1
- package/dist/common/time.mjs +194 -1
- package/dist/common/time.mjs.map +1 -1
- package/dist/common/timeout.cjs +27 -1
- package/dist/common/timeout.cjs.map +1 -1
- package/dist/common/timeout.mjs +25 -1
- package/dist/common/timeout.mjs.map +1 -1
- package/dist/common/types.mjs +1 -1
- package/dist/common/utils.cjs +7 -1
- package/dist/common/utils.cjs.map +1 -1
- package/dist/common/utils.mjs +5 -1
- package/dist/common/utils.mjs.map +1 -1
- package/dist/common/uuid.cjs +307 -1
- package/dist/common/uuid.cjs.map +1 -1
- package/dist/common/uuid.mjs +284 -1
- package/dist/common/uuid.mjs.map +1 -1
- package/dist/{index-DHXVOH8h.d.cts → index-CFkMqHvX.d.cts} +1 -2
- package/dist/{index-DMaPyx9O.d.mts → index-C_3Y_s6f.d.mts} +1 -2
- package/dist/index.all.cjs +641 -1
- package/dist/index.all.d.cts +1 -1
- package/dist/index.all.d.mts +1 -1
- package/dist/index.all.mjs +113 -1
- package/dist/index.browser.cjs +576 -1
- package/dist/index.browser.d.cts +1 -1
- package/dist/index.browser.d.mts +1 -1
- package/dist/index.browser.mjs +98 -1
- package/dist/index.jsr.cjs +57 -1
- package/dist/index.jsr.mjs +6 -1
- package/dist/index.node.cjs +628 -1
- package/dist/index.node.d.cts +1 -1
- package/dist/index.node.d.mts +1 -1
- package/dist/index.node.mjs +106 -1
- package/dist/node/args.cjs +56 -1
- package/dist/node/args.cjs.map +1 -1
- package/dist/node/args.mjs +53 -1
- package/dist/node/args.mjs.map +1 -1
- package/dist/node/clipboard.cjs +18 -1
- package/dist/node/clipboard.cjs.map +1 -1
- package/dist/node/clipboard.mjs +16 -1
- package/dist/node/clipboard.mjs.map +1 -1
- package/dist/node/crypto.cjs +28 -1
- package/dist/node/crypto.cjs.map +1 -1
- package/dist/node/crypto.mjs +24 -1
- package/dist/node/crypto.mjs.map +1 -1
- package/dist/node/env.cjs +100 -4
- package/dist/node/env.cjs.map +1 -1
- package/dist/node/env.mjs +90 -4
- package/dist/node/env.mjs.map +1 -1
- package/dist/node/files-async.cjs +66 -1
- package/dist/node/files-async.cjs.map +1 -1
- package/dist/node/files-async.mjs +60 -1
- package/dist/node/files-async.mjs.map +1 -1
- package/dist/node/files.cjs +52 -1
- package/dist/node/files.cjs.map +1 -1
- package/dist/node/files.mjs +46 -1
- package/dist/node/files.mjs.map +1 -1
- package/dist/node/filestorage.cjs +100 -1
- package/dist/node/filestorage.cjs.map +1 -1
- package/dist/node/filestorage.mjs +97 -1
- package/dist/node/filestorage.mjs.map +1 -1
- package/dist/node/fs.cjs +119 -1
- package/dist/node/fs.cjs.map +1 -1
- package/dist/node/fs.mjs +101 -1
- package/dist/node/fs.mjs.map +1 -1
- package/dist/node/glob.cjs +75 -1
- package/dist/node/glob.cjs.map +1 -1
- package/dist/node/glob.mjs +73 -1
- package/dist/node/glob.mjs.map +1 -1
- package/dist/node/index.cjs +66 -1
- package/dist/node/index.mjs +16 -1
- package/dist/node/log/index.cjs +20 -1
- package/dist/node/log/index.mjs +7 -1
- package/dist/node/log/log-context-node.cjs +39 -1
- package/dist/node/log/log-context-node.cjs.map +1 -1
- package/dist/node/log/log-context-node.mjs +35 -1
- package/dist/node/log/log-context-node.mjs.map +1 -1
- package/dist/node/log/log-file-rotation.cjs +71 -1
- package/dist/node/log/log-file-rotation.cjs.map +1 -1
- package/dist/node/log/log-file-rotation.mjs +68 -1
- package/dist/node/log/log-file-rotation.mjs.map +1 -1
- package/dist/node/log/log-file.cjs +57 -1
- package/dist/node/log/log-file.cjs.map +1 -1
- package/dist/node/log/log-file.mjs +54 -1
- package/dist/node/log/log-file.mjs.map +1 -1
- package/dist/node/log/log-node.cjs +162 -1
- package/dist/node/log/log-node.cjs.map +1 -1
- package/dist/node/log/log-node.mjs +155 -1
- package/dist/node/log/log-node.mjs.map +1 -1
- package/dist/node/log/log-rotation.cjs +543 -3
- package/dist/node/log/log-rotation.cjs.map +1 -1
- package/dist/node/log/log-rotation.mjs +538 -3
- package/dist/node/log/log-rotation.mjs.map +1 -1
- package/dist/node/log/log-util.cjs +69 -3
- package/dist/node/log/log-util.cjs.map +1 -1
- package/dist/node/log/log-util.mjs +63 -3
- package/dist/node/log/log-util.mjs.map +1 -1
- package/dist/node/open-browser.cjs +20 -1
- package/dist/node/open-browser.cjs.map +1 -1
- package/dist/node/open-browser.mjs +18 -1
- package/dist/node/open-browser.mjs.map +1 -1
- package/package.json +15 -15
- package/src/common/schema/README.md +247 -66
- package/src/eslint-defaults.js +4 -0
- package/src/index.spec.ts +6 -6
- package/dist/bin-Ce3i6ABn.cjs +0 -3
- package/dist/bin-SPdenYkw.mjs +0 -3
- package/dist/chunk-0Lt9GpW0.mjs +0 -1
- package/dist/chunk-D-qHiVGv.cjs +0 -1
- package/src/common/schema/README-SCHEMA.md +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.cjs","names":["Emitter","uuid","useDispose"],"sources":["../../../src/common/msg/channel.ts"],"sourcesContent":["import { useDispose } from '../dispose-defer'\nimport { uuid } from '../uuid'\nimport { Emitter } from './emitter'\n\n/** See http://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */\nexport interface ChannelMessageEvent<T = any> {\n data: T\n origin?: string\n lastEventId?: string\n}\n\n/**\n * Inspired by\n * http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * https://deno.com/deploy/docs/runtime-broadcast-channel\n */\nexport abstract class Channel<T = any, ContextType = Record<string, any>> extends Emitter<{\n message: (event: ChannelMessageEvent<T>) => void\n messageerror: (event: ChannelMessageEvent<T>) => void // optional\n connect: () => void // optional\n disconnect: () => void // optional\n close: () => void\n}> {\n id: string = uuid()\n\n // Put you own channel context here\n context: ContextType = {} as ContextType\n\n abstract isConnected?: boolean\n abstract postMessage(data: T): void\n\n dispose = useDispose()\n\n /** @deprecated use .dispose() */\n close() {\n void this.dispose()\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel.cjs","names":["Emitter","uuid","useDispose"],"sources":["../../../src/common/msg/channel.ts"],"sourcesContent":["import { useDispose } from '../dispose-defer'\nimport { uuid } from '../uuid'\nimport { Emitter } from './emitter'\n\n/** See http://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */\nexport interface ChannelMessageEvent<T = any> {\n data: T\n origin?: string\n lastEventId?: string\n}\n\n/**\n * Inspired by\n * http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * https://deno.com/deploy/docs/runtime-broadcast-channel\n */\nexport abstract class Channel<T = any, ContextType = Record<string, any>> extends Emitter<{\n message: (event: ChannelMessageEvent<T>) => void\n messageerror: (event: ChannelMessageEvent<T>) => void // optional\n connect: () => void // optional\n disconnect: () => void // optional\n close: () => void\n}> {\n id: string = uuid()\n\n // Put you own channel context here\n context: ContextType = {} as ContextType\n\n abstract isConnected?: boolean\n abstract postMessage(data: T): void\n\n dispose = useDispose()\n\n /** @deprecated use .dispose() */\n close() {\n void this.dispose()\n }\n}\n"],"mappings":";;;;;;;;;;;AAgBA,IAAsB,UAAtB,cAAkFA,mCAM/E;CACD,KAAaC,0BAAM;CAGnB,UAAuB,EAAE;CAKzB,UAAUC,yCAAY;;CAGtB,QAAQ;AACN,EAAK,KAAK,SAAS"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as Channel, j as ChannelMessageEvent } from "../../index-
|
|
1
|
+
import { A as Channel, j as ChannelMessageEvent } from "../../index-CFkMqHvX.cjs";
|
|
2
2
|
export { Channel, ChannelMessageEvent };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as Channel, j as ChannelMessageEvent } from "../../index-
|
|
1
|
+
import { A as Channel, j as ChannelMessageEvent } from "../../index-C_3Y_s6f.mjs";
|
|
2
2
|
export { Channel, ChannelMessageEvent };
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
import{useDispose
|
|
1
|
+
import { useDispose } from "../dispose-defer.mjs";
|
|
2
|
+
import { Emitter } from "./emitter.mjs";
|
|
3
|
+
import { uuid } from "../uuid.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/common/msg/channel.ts
|
|
6
|
+
/**
|
|
7
|
+
* Inspired by
|
|
8
|
+
* http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
9
|
+
* https://deno.com/deploy/docs/runtime-broadcast-channel
|
|
10
|
+
*/
|
|
11
|
+
var Channel = class extends Emitter {
|
|
12
|
+
id = uuid();
|
|
13
|
+
context = {};
|
|
14
|
+
dispose = useDispose();
|
|
15
|
+
/** @deprecated use .dispose() */
|
|
16
|
+
close() {
|
|
17
|
+
this.dispose();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Channel };
|
|
2
23
|
//# sourceMappingURL=channel.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.mjs","names":[],"sources":["../../../src/common/msg/channel.ts"],"sourcesContent":["import { useDispose } from '../dispose-defer'\nimport { uuid } from '../uuid'\nimport { Emitter } from './emitter'\n\n/** See http://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */\nexport interface ChannelMessageEvent<T = any> {\n data: T\n origin?: string\n lastEventId?: string\n}\n\n/**\n * Inspired by\n * http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * https://deno.com/deploy/docs/runtime-broadcast-channel\n */\nexport abstract class Channel<T = any, ContextType = Record<string, any>> extends Emitter<{\n message: (event: ChannelMessageEvent<T>) => void\n messageerror: (event: ChannelMessageEvent<T>) => void // optional\n connect: () => void // optional\n disconnect: () => void // optional\n close: () => void\n}> {\n id: string = uuid()\n\n // Put you own channel context here\n context: ContextType = {} as ContextType\n\n abstract isConnected?: boolean\n abstract postMessage(data: T): void\n\n dispose = useDispose()\n\n /** @deprecated use .dispose() */\n close() {\n void this.dispose()\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel.mjs","names":[],"sources":["../../../src/common/msg/channel.ts"],"sourcesContent":["import { useDispose } from '../dispose-defer'\nimport { uuid } from '../uuid'\nimport { Emitter } from './emitter'\n\n/** See http://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */\nexport interface ChannelMessageEvent<T = any> {\n data: T\n origin?: string\n lastEventId?: string\n}\n\n/**\n * Inspired by\n * http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * https://deno.com/deploy/docs/runtime-broadcast-channel\n */\nexport abstract class Channel<T = any, ContextType = Record<string, any>> extends Emitter<{\n message: (event: ChannelMessageEvent<T>) => void\n messageerror: (event: ChannelMessageEvent<T>) => void // optional\n connect: () => void // optional\n disconnect: () => void // optional\n close: () => void\n}> {\n id: string = uuid()\n\n // Put you own channel context here\n context: ContextType = {} as ContextType\n\n abstract isConnected?: boolean\n abstract postMessage(data: T): void\n\n dispose = useDispose()\n\n /** @deprecated use .dispose() */\n close() {\n void this.dispose()\n }\n}\n"],"mappings":";;;;;;;;;;AAgBA,IAAsB,UAAtB,cAAkF,QAM/E;CACD,KAAa,MAAM;CAGnB,UAAuB,EAAE;CAKzB,UAAU,YAAY;;CAGtB,QAAQ;AACN,EAAK,KAAK,SAAS"}
|
|
@@ -1,2 +1,142 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_global = require('../global.cjs');
|
|
3
|
+
const require_common_log_log = require('../log/log.cjs');
|
|
4
|
+
const require_common_timeout = require('../timeout.cjs');
|
|
5
|
+
|
|
6
|
+
//#region src/common/msg/emitter.ts
|
|
7
|
+
var Emitter = class {
|
|
8
|
+
subscribers = {};
|
|
9
|
+
subscribersOnAny = [];
|
|
10
|
+
_logEmitter = require_common_log_log.DefaultLogger("zeed:emitter", "warn");
|
|
11
|
+
/** RPC like emitting of events. */
|
|
12
|
+
call = new Proxy({}, { get: (target, name) => async (...args) => await this.emit(name, ...args) });
|
|
13
|
+
/**
|
|
14
|
+
* Emits an event to all subscribers and executes their corresponding event handlers.
|
|
15
|
+
*
|
|
16
|
+
* @param event - The event to emit.
|
|
17
|
+
* @param args - The arguments to pass to the event handlers.
|
|
18
|
+
* @returns A promise that resolves to an array of results from all subscribers, or undefined if no subscribers are present.
|
|
19
|
+
*/
|
|
20
|
+
async getAll(event, ...args) {
|
|
21
|
+
try {
|
|
22
|
+
const subscribers = this.subscribers[event] || [];
|
|
23
|
+
this._logEmitter.debug("emit", this?.constructor?.name, event, ...args, subscribers);
|
|
24
|
+
this.subscribersOnAny.forEach((fn) => fn(event, ...args));
|
|
25
|
+
if (subscribers.length > 0) {
|
|
26
|
+
const all = subscribers.map(({ fn }) => {
|
|
27
|
+
try {
|
|
28
|
+
return Promise.resolve(fn(...args));
|
|
29
|
+
} catch (err) {
|
|
30
|
+
this._logEmitter.warn("emit warning:", err);
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}).filter((fn) => fn != null);
|
|
34
|
+
return await Promise.all(all);
|
|
35
|
+
}
|
|
36
|
+
} catch (err) {
|
|
37
|
+
this._logEmitter.error("emit exception", err);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Emits an event to all subscribers and executes their corresponding event handlers.
|
|
42
|
+
*
|
|
43
|
+
* @param event - The event to emit.
|
|
44
|
+
* @param args - The arguments to pass to the event handlers.
|
|
45
|
+
* @returns A promise that resolves to the result of the first subscriber's handler, or undefined if no subscribers are present.
|
|
46
|
+
*/
|
|
47
|
+
async get(event, ...args) {
|
|
48
|
+
const results = await this.getAll(event, ...args);
|
|
49
|
+
if (results && results.length > 0) return results[0];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Emits an event to all subscribers and executes their corresponding event handlers.
|
|
53
|
+
*
|
|
54
|
+
* @param event - The event to emit.
|
|
55
|
+
* @param args - The arguments to pass to the event handlers.
|
|
56
|
+
* @returns A promise that resolves to a boolean indicating whether the event was successfully emitted.
|
|
57
|
+
*/
|
|
58
|
+
async emit(event, ...args) {
|
|
59
|
+
return await this.getAll(event, ...args) != null;
|
|
60
|
+
}
|
|
61
|
+
onAny(fn) {
|
|
62
|
+
this.subscribersOnAny.push(fn);
|
|
63
|
+
}
|
|
64
|
+
on(event, fn, opt = {}) {
|
|
65
|
+
const { priority = 0 } = opt;
|
|
66
|
+
const subscribers = this.subscribers[event] || [];
|
|
67
|
+
const slen = subscribers.length;
|
|
68
|
+
const sobj = {
|
|
69
|
+
fn,
|
|
70
|
+
priority
|
|
71
|
+
};
|
|
72
|
+
if (slen <= 0) this.subscribers[event] = [sobj];
|
|
73
|
+
else {
|
|
74
|
+
let pos = slen;
|
|
75
|
+
for (let i = subscribers.length - 1; i >= 0; i--) {
|
|
76
|
+
if (priority <= subscribers[i].priority) break;
|
|
77
|
+
pos -= 1;
|
|
78
|
+
}
|
|
79
|
+
subscribers.splice(pos, 0, sobj);
|
|
80
|
+
}
|
|
81
|
+
return () => {
|
|
82
|
+
this.off(event, fn);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
onCall(handlers) {
|
|
86
|
+
for (const [name, handler] of Object.entries(handlers)) this.on(name, handler);
|
|
87
|
+
}
|
|
88
|
+
once(event, listener) {
|
|
89
|
+
const onceListener = async (...args) => {
|
|
90
|
+
this.off(event, onceListener);
|
|
91
|
+
return await Promise.resolve(listener(...args));
|
|
92
|
+
};
|
|
93
|
+
this.on(event, onceListener);
|
|
94
|
+
return () => {
|
|
95
|
+
this.off(event, listener);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
off(event, listener) {
|
|
99
|
+
this.subscribers[event] = (this.subscribers[event] || []).filter((f) => listener && f.fn !== listener);
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
removeAllListeners() {
|
|
103
|
+
this.subscribers = {};
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
hasListeners(event) {
|
|
107
|
+
return !!this.subscribers[event] && this.subscribers[event].length > 0;
|
|
108
|
+
}
|
|
109
|
+
waitOn(event, timeoutMS = 1e3) {
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
let disposeTimer;
|
|
112
|
+
const disposeListener = this.once(event, ((value) => {
|
|
113
|
+
disposeTimer?.();
|
|
114
|
+
resolve(value);
|
|
115
|
+
}));
|
|
116
|
+
disposeTimer = require_common_timeout.safeTimeout(() => {
|
|
117
|
+
disposeListener();
|
|
118
|
+
reject(/* @__PURE__ */ new Error("Did not respond in time"));
|
|
119
|
+
}, timeoutMS);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
addEventListener(event, fn, opt = {}) {
|
|
123
|
+
return this.on(event, fn, opt);
|
|
124
|
+
}
|
|
125
|
+
removeEventListener(event, listener) {
|
|
126
|
+
return this.off(event, listener);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
/** Global emitter that will listen even across modules */
|
|
130
|
+
function getGlobalEmitter() {
|
|
131
|
+
let emitter = require_common_global.getGlobalContext().emitter;
|
|
132
|
+
if (!emitter) {
|
|
133
|
+
emitter = new Emitter();
|
|
134
|
+
require_common_global.getGlobalContext().emitter = emitter;
|
|
135
|
+
}
|
|
136
|
+
return emitter;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
//#endregion
|
|
140
|
+
exports.Emitter = Emitter;
|
|
141
|
+
exports.getGlobalEmitter = getGlobalEmitter;
|
|
2
142
|
//# sourceMappingURL=emitter.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.cjs","names":["DefaultLogger","safeTimeout","getGlobalContext"],"sources":["../../../src/common/msg/emitter.ts"],"sourcesContent":["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> = DefaultListener,\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 public hasListeners(event: keyof LocalListener): boolean {\n return !!this.subscribers[event] && this.subscribers[event].length > 0\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: provide explicitly typed wrapper methods so\n // documentation generator (TypeDoc) can resolve signatures/URLs correctly.\n public addEventListener<U extends keyof LocalListener>(\n event: U,\n fn: LocalListener[U],\n opt: EmitterSubscriberOptions = {},\n ): DisposerFunction {\n return this.on(event, fn, opt)\n }\n\n public removeEventListener<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): this {\n return this.off(event, listener)\n }\n}\n\ndeclare global {\n interface ZeedGlobalContext {\n emitter?: Emitter\n }\n\n /**\n * Global emitter interface for Zeed, used for cross-module event emission.\n * @category Global\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\n// Public alias so typedoc lists the global emitter under an Emitter-prefixed name\nexport interface ZeedGlobalEmitter extends DefaultListener {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emitter.cjs","names":["DefaultLogger","safeTimeout","getGlobalContext"],"sources":["../../../src/common/msg/emitter.ts"],"sourcesContent":["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> = DefaultListener,\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 public hasListeners(event: keyof LocalListener): boolean {\n return !!this.subscribers[event] && this.subscribers[event].length > 0\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: provide explicitly typed wrapper methods so\n // documentation generator (TypeDoc) can resolve signatures/URLs correctly.\n public addEventListener<U extends keyof LocalListener>(\n event: U,\n fn: LocalListener[U],\n opt: EmitterSubscriberOptions = {},\n ): DisposerFunction {\n return this.on(event, fn, opt)\n }\n\n public removeEventListener<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): this {\n return this.off(event, listener)\n }\n}\n\ndeclare global {\n interface ZeedGlobalContext {\n emitter?: Emitter\n }\n\n /**\n * Global emitter interface for Zeed, used for cross-module event emission.\n * @category Global\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\n// Public alias so typedoc lists the global emitter under an Emitter-prefixed name\nexport interface ZeedGlobalEmitter extends DefaultListener {}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, P as EmitterAllHandler, R as ZeedGlobalEmitter, z as getGlobalEmitter } from "../../index-
|
|
1
|
+
import { F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, P as EmitterAllHandler, R as ZeedGlobalEmitter, z as getGlobalEmitter } from "../../index-CFkMqHvX.cjs";
|
|
2
2
|
export { DefaultListener, Emitter, EmitterAllHandler, EmitterHandler, EmitterSubscriberOptions, ListenerSignature, ZeedGlobalEmitter, getGlobalEmitter };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, P as EmitterAllHandler, R as ZeedGlobalEmitter, z as getGlobalEmitter } from "../../index-
|
|
1
|
+
import { F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, P as EmitterAllHandler, R as ZeedGlobalEmitter, z as getGlobalEmitter } from "../../index-C_3Y_s6f.mjs";
|
|
2
2
|
export { DefaultListener, Emitter, EmitterAllHandler, EmitterHandler, EmitterSubscriberOptions, ListenerSignature, ZeedGlobalEmitter, getGlobalEmitter };
|
|
@@ -1,2 +1,140 @@
|
|
|
1
|
-
import{getGlobalContext
|
|
1
|
+
import { getGlobalContext } from "../global.mjs";
|
|
2
|
+
import { DefaultLogger } from "../log/log.mjs";
|
|
3
|
+
import { safeTimeout } from "../timeout.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/common/msg/emitter.ts
|
|
6
|
+
var Emitter = class {
|
|
7
|
+
subscribers = {};
|
|
8
|
+
subscribersOnAny = [];
|
|
9
|
+
_logEmitter = DefaultLogger("zeed:emitter", "warn");
|
|
10
|
+
/** RPC like emitting of events. */
|
|
11
|
+
call = new Proxy({}, { get: (target, name) => async (...args) => await this.emit(name, ...args) });
|
|
12
|
+
/**
|
|
13
|
+
* Emits an event to all subscribers and executes their corresponding event handlers.
|
|
14
|
+
*
|
|
15
|
+
* @param event - The event to emit.
|
|
16
|
+
* @param args - The arguments to pass to the event handlers.
|
|
17
|
+
* @returns A promise that resolves to an array of results from all subscribers, or undefined if no subscribers are present.
|
|
18
|
+
*/
|
|
19
|
+
async getAll(event, ...args) {
|
|
20
|
+
try {
|
|
21
|
+
const subscribers = this.subscribers[event] || [];
|
|
22
|
+
this._logEmitter.debug("emit", this?.constructor?.name, event, ...args, subscribers);
|
|
23
|
+
this.subscribersOnAny.forEach((fn) => fn(event, ...args));
|
|
24
|
+
if (subscribers.length > 0) {
|
|
25
|
+
const all = subscribers.map(({ fn }) => {
|
|
26
|
+
try {
|
|
27
|
+
return Promise.resolve(fn(...args));
|
|
28
|
+
} catch (err) {
|
|
29
|
+
this._logEmitter.warn("emit warning:", err);
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}).filter((fn) => fn != null);
|
|
33
|
+
return await Promise.all(all);
|
|
34
|
+
}
|
|
35
|
+
} catch (err) {
|
|
36
|
+
this._logEmitter.error("emit exception", err);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Emits an event to all subscribers and executes their corresponding event handlers.
|
|
41
|
+
*
|
|
42
|
+
* @param event - The event to emit.
|
|
43
|
+
* @param args - The arguments to pass to the event handlers.
|
|
44
|
+
* @returns A promise that resolves to the result of the first subscriber's handler, or undefined if no subscribers are present.
|
|
45
|
+
*/
|
|
46
|
+
async get(event, ...args) {
|
|
47
|
+
const results = await this.getAll(event, ...args);
|
|
48
|
+
if (results && results.length > 0) return results[0];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Emits an event to all subscribers and executes their corresponding event handlers.
|
|
52
|
+
*
|
|
53
|
+
* @param event - The event to emit.
|
|
54
|
+
* @param args - The arguments to pass to the event handlers.
|
|
55
|
+
* @returns A promise that resolves to a boolean indicating whether the event was successfully emitted.
|
|
56
|
+
*/
|
|
57
|
+
async emit(event, ...args) {
|
|
58
|
+
return await this.getAll(event, ...args) != null;
|
|
59
|
+
}
|
|
60
|
+
onAny(fn) {
|
|
61
|
+
this.subscribersOnAny.push(fn);
|
|
62
|
+
}
|
|
63
|
+
on(event, fn, opt = {}) {
|
|
64
|
+
const { priority = 0 } = opt;
|
|
65
|
+
const subscribers = this.subscribers[event] || [];
|
|
66
|
+
const slen = subscribers.length;
|
|
67
|
+
const sobj = {
|
|
68
|
+
fn,
|
|
69
|
+
priority
|
|
70
|
+
};
|
|
71
|
+
if (slen <= 0) this.subscribers[event] = [sobj];
|
|
72
|
+
else {
|
|
73
|
+
let pos = slen;
|
|
74
|
+
for (let i = subscribers.length - 1; i >= 0; i--) {
|
|
75
|
+
if (priority <= subscribers[i].priority) break;
|
|
76
|
+
pos -= 1;
|
|
77
|
+
}
|
|
78
|
+
subscribers.splice(pos, 0, sobj);
|
|
79
|
+
}
|
|
80
|
+
return () => {
|
|
81
|
+
this.off(event, fn);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
onCall(handlers) {
|
|
85
|
+
for (const [name, handler] of Object.entries(handlers)) this.on(name, handler);
|
|
86
|
+
}
|
|
87
|
+
once(event, listener) {
|
|
88
|
+
const onceListener = async (...args) => {
|
|
89
|
+
this.off(event, onceListener);
|
|
90
|
+
return await Promise.resolve(listener(...args));
|
|
91
|
+
};
|
|
92
|
+
this.on(event, onceListener);
|
|
93
|
+
return () => {
|
|
94
|
+
this.off(event, listener);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
off(event, listener) {
|
|
98
|
+
this.subscribers[event] = (this.subscribers[event] || []).filter((f) => listener && f.fn !== listener);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
removeAllListeners() {
|
|
102
|
+
this.subscribers = {};
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
hasListeners(event) {
|
|
106
|
+
return !!this.subscribers[event] && this.subscribers[event].length > 0;
|
|
107
|
+
}
|
|
108
|
+
waitOn(event, timeoutMS = 1e3) {
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
let disposeTimer;
|
|
111
|
+
const disposeListener = this.once(event, ((value) => {
|
|
112
|
+
disposeTimer?.();
|
|
113
|
+
resolve(value);
|
|
114
|
+
}));
|
|
115
|
+
disposeTimer = safeTimeout(() => {
|
|
116
|
+
disposeListener();
|
|
117
|
+
reject(/* @__PURE__ */ new Error("Did not respond in time"));
|
|
118
|
+
}, timeoutMS);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
addEventListener(event, fn, opt = {}) {
|
|
122
|
+
return this.on(event, fn, opt);
|
|
123
|
+
}
|
|
124
|
+
removeEventListener(event, listener) {
|
|
125
|
+
return this.off(event, listener);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
/** Global emitter that will listen even across modules */
|
|
129
|
+
function getGlobalEmitter() {
|
|
130
|
+
let emitter = getGlobalContext().emitter;
|
|
131
|
+
if (!emitter) {
|
|
132
|
+
emitter = new Emitter();
|
|
133
|
+
getGlobalContext().emitter = emitter;
|
|
134
|
+
}
|
|
135
|
+
return emitter;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
//#endregion
|
|
139
|
+
export { Emitter, getGlobalEmitter };
|
|
2
140
|
//# sourceMappingURL=emitter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.mjs","names":[],"sources":["../../../src/common/msg/emitter.ts"],"sourcesContent":["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> = DefaultListener,\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 public hasListeners(event: keyof LocalListener): boolean {\n return !!this.subscribers[event] && this.subscribers[event].length > 0\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: provide explicitly typed wrapper methods so\n // documentation generator (TypeDoc) can resolve signatures/URLs correctly.\n public addEventListener<U extends keyof LocalListener>(\n event: U,\n fn: LocalListener[U],\n opt: EmitterSubscriberOptions = {},\n ): DisposerFunction {\n return this.on(event, fn, opt)\n }\n\n public removeEventListener<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): this {\n return this.off(event, listener)\n }\n}\n\ndeclare global {\n interface ZeedGlobalContext {\n emitter?: Emitter\n }\n\n /**\n * Global emitter interface for Zeed, used for cross-module event emission.\n * @category Global\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\n// Public alias so typedoc lists the global emitter under an Emitter-prefixed name\nexport interface ZeedGlobalEmitter extends DefaultListener {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emitter.mjs","names":[],"sources":["../../../src/common/msg/emitter.ts"],"sourcesContent":["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> = DefaultListener,\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 public hasListeners(event: keyof LocalListener): boolean {\n return !!this.subscribers[event] && this.subscribers[event].length > 0\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: provide explicitly typed wrapper methods so\n // documentation generator (TypeDoc) can resolve signatures/URLs correctly.\n public addEventListener<U extends keyof LocalListener>(\n event: U,\n fn: LocalListener[U],\n opt: EmitterSubscriberOptions = {},\n ): DisposerFunction {\n return this.on(event, fn, opt)\n }\n\n public removeEventListener<U extends keyof LocalListener>(\n event: U,\n listener: LocalListener[U],\n ): this {\n return this.off(event, listener)\n }\n}\n\ndeclare global {\n interface ZeedGlobalContext {\n emitter?: Emitter\n }\n\n /**\n * Global emitter interface for Zeed, used for cross-module event emission.\n * @category Global\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\n// Public alias so typedoc lists the global emitter under an Emitter-prefixed name\nexport interface ZeedGlobalEmitter extends DefaultListener {}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,39 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_bin = require('../../bin-Ddaz2lxM.cjs');
|
|
3
|
+
const require_common_crypto_crypto = require('../crypto/crypto.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/common/msg/encoder.ts
|
|
6
|
+
var NoopEncoder = class {
|
|
7
|
+
async encode(data) {
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
10
|
+
async decode(data) {
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var JsonEncoder = class {
|
|
15
|
+
async encode(data) {
|
|
16
|
+
return require_bin.jsonToUint8Array(data);
|
|
17
|
+
}
|
|
18
|
+
async decode(data) {
|
|
19
|
+
return require_bin.Uint8ArrayToJson(require_bin.ensureUint8Array(data));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var CryptoEncoder = class {
|
|
23
|
+
key;
|
|
24
|
+
constructor(key) {
|
|
25
|
+
this.key = key;
|
|
26
|
+
}
|
|
27
|
+
async encode(data) {
|
|
28
|
+
return await require_common_crypto_crypto.encrypt(require_bin.jsonToUint8Array(data), this.key);
|
|
29
|
+
}
|
|
30
|
+
async decode(data) {
|
|
31
|
+
return require_bin.Uint8ArrayToJson(require_bin.ensureUint8Array(await require_common_crypto_crypto.decrypt(require_bin.ensureUint8Array(data), this.key)));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.CryptoEncoder = CryptoEncoder;
|
|
37
|
+
exports.JsonEncoder = JsonEncoder;
|
|
38
|
+
exports.NoopEncoder = NoopEncoder;
|
|
2
39
|
//# sourceMappingURL=encoder.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.cjs","names":["jsonToUint8Array","Uint8ArrayToJson","ensureUint8Array","encrypt","decrypt"],"sources":["../../../src/common/msg/encoder.ts"],"sourcesContent":["import { decrypt, encrypt } from '../crypto'\nimport { ensureUint8Array, jsonToUint8Array, Uint8ArrayToJson } from '../data/bin'\n\nexport interface Encoder<T = any> {\n encode: (data: T) => Promise<Uint8Array>\n decode: (data: Uint8Array) => Promise<T>\n}\n\nexport class NoopEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return data\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return data\n }\n}\n\nexport class JsonEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return jsonToUint8Array(data)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return Uint8ArrayToJson(ensureUint8Array(data))\n }\n}\n\nexport class CryptoEncoder<T> implements Encoder<T> {\n key: CryptoKey\n\n constructor(key: CryptoKey) {\n this.key = key\n }\n\n async encode(data: any): Promise<Uint8Array> {\n const plain = jsonToUint8Array(data)\n return await encrypt(plain, this.key)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n const plain = await decrypt(ensureUint8Array(data), this.key)\n return Uint8ArrayToJson(ensureUint8Array(plain))\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoder.cjs","names":["jsonToUint8Array","Uint8ArrayToJson","ensureUint8Array","encrypt","decrypt"],"sources":["../../../src/common/msg/encoder.ts"],"sourcesContent":["import { decrypt, encrypt } from '../crypto'\nimport { ensureUint8Array, jsonToUint8Array, Uint8ArrayToJson } from '../data/bin'\n\nexport interface Encoder<T = any> {\n encode: (data: T) => Promise<Uint8Array>\n decode: (data: Uint8Array) => Promise<T>\n}\n\nexport class NoopEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return data\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return data\n }\n}\n\nexport class JsonEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return jsonToUint8Array(data)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return Uint8ArrayToJson(ensureUint8Array(data))\n }\n}\n\nexport class CryptoEncoder<T> implements Encoder<T> {\n key: CryptoKey\n\n constructor(key: CryptoKey) {\n this.key = key\n }\n\n async encode(data: any): Promise<Uint8Array> {\n const plain = jsonToUint8Array(data)\n return await encrypt(plain, this.key)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n const plain = await decrypt(ensureUint8Array(data), this.key)\n return Uint8ArrayToJson(ensureUint8Array(plain))\n }\n}\n"],"mappings":";;;;;AAQA,IAAa,cAAb,MAAkD;CAChD,MAAM,OAAO,MAAgC;AAC3C,SAAO;;CAGT,MAAM,OAAO,MAAgC;AAC3C,SAAO;;;AAIX,IAAa,cAAb,MAAkD;CAChD,MAAM,OAAO,MAAgC;AAC3C,SAAOA,6BAAiB,KAAK;;CAG/B,MAAM,OAAO,MAAgC;AAC3C,SAAOC,6BAAiBC,6BAAiB,KAAK,CAAC;;;AAInD,IAAa,gBAAb,MAAoD;CAClD;CAEA,YAAY,KAAgB;AAC1B,OAAK,MAAM;;CAGb,MAAM,OAAO,MAAgC;AAE3C,SAAO,MAAMC,qCADCH,6BAAiB,KAAK,EACR,KAAK,IAAI;;CAGvC,MAAM,OAAO,MAAgC;AAE3C,SAAOC,6BAAiBC,6BADV,MAAME,qCAAQF,6BAAiB,KAAK,EAAE,KAAK,IAAI,CACd,CAAC"}
|
|
@@ -1,2 +1,36 @@
|
|
|
1
|
-
import{f as
|
|
1
|
+
import { f as jsonToUint8Array, n as Uint8ArrayToJson, o as ensureUint8Array } from "../../bin-BAoS4qtm.mjs";
|
|
2
|
+
import { decrypt, encrypt } from "../crypto/crypto.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/common/msg/encoder.ts
|
|
5
|
+
var NoopEncoder = class {
|
|
6
|
+
async encode(data) {
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
9
|
+
async decode(data) {
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
var JsonEncoder = class {
|
|
14
|
+
async encode(data) {
|
|
15
|
+
return jsonToUint8Array(data);
|
|
16
|
+
}
|
|
17
|
+
async decode(data) {
|
|
18
|
+
return Uint8ArrayToJson(ensureUint8Array(data));
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var CryptoEncoder = class {
|
|
22
|
+
key;
|
|
23
|
+
constructor(key) {
|
|
24
|
+
this.key = key;
|
|
25
|
+
}
|
|
26
|
+
async encode(data) {
|
|
27
|
+
return await encrypt(jsonToUint8Array(data), this.key);
|
|
28
|
+
}
|
|
29
|
+
async decode(data) {
|
|
30
|
+
return Uint8ArrayToJson(ensureUint8Array(await decrypt(ensureUint8Array(data), this.key)));
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { CryptoEncoder, JsonEncoder, NoopEncoder };
|
|
2
36
|
//# sourceMappingURL=encoder.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.mjs","names":[],"sources":["../../../src/common/msg/encoder.ts"],"sourcesContent":["import { decrypt, encrypt } from '../crypto'\nimport { ensureUint8Array, jsonToUint8Array, Uint8ArrayToJson } from '../data/bin'\n\nexport interface Encoder<T = any> {\n encode: (data: T) => Promise<Uint8Array>\n decode: (data: Uint8Array) => Promise<T>\n}\n\nexport class NoopEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return data\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return data\n }\n}\n\nexport class JsonEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return jsonToUint8Array(data)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return Uint8ArrayToJson(ensureUint8Array(data))\n }\n}\n\nexport class CryptoEncoder<T> implements Encoder<T> {\n key: CryptoKey\n\n constructor(key: CryptoKey) {\n this.key = key\n }\n\n async encode(data: any): Promise<Uint8Array> {\n const plain = jsonToUint8Array(data)\n return await encrypt(plain, this.key)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n const plain = await decrypt(ensureUint8Array(data), this.key)\n return Uint8ArrayToJson(ensureUint8Array(plain))\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"encoder.mjs","names":[],"sources":["../../../src/common/msg/encoder.ts"],"sourcesContent":["import { decrypt, encrypt } from '../crypto'\nimport { ensureUint8Array, jsonToUint8Array, Uint8ArrayToJson } from '../data/bin'\n\nexport interface Encoder<T = any> {\n encode: (data: T) => Promise<Uint8Array>\n decode: (data: Uint8Array) => Promise<T>\n}\n\nexport class NoopEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return data\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return data\n }\n}\n\nexport class JsonEncoder<T> implements Encoder<T> {\n async encode(data: any): Promise<Uint8Array> {\n return jsonToUint8Array(data)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n return Uint8ArrayToJson(ensureUint8Array(data))\n }\n}\n\nexport class CryptoEncoder<T> implements Encoder<T> {\n key: CryptoKey\n\n constructor(key: CryptoKey) {\n this.key = key\n }\n\n async encode(data: any): Promise<Uint8Array> {\n const plain = jsonToUint8Array(data)\n return await encrypt(plain, this.key)\n }\n\n async decode(data: Uint8Array): Promise<any> {\n const plain = await decrypt(ensureUint8Array(data), this.key)\n return Uint8ArrayToJson(ensureUint8Array(plain))\n }\n}\n"],"mappings":";;;;AAQA,IAAa,cAAb,MAAkD;CAChD,MAAM,OAAO,MAAgC;AAC3C,SAAO;;CAGT,MAAM,OAAO,MAAgC;AAC3C,SAAO;;;AAIX,IAAa,cAAb,MAAkD;CAChD,MAAM,OAAO,MAAgC;AAC3C,SAAO,iBAAiB,KAAK;;CAG/B,MAAM,OAAO,MAAgC;AAC3C,SAAO,iBAAiB,iBAAiB,KAAK,CAAC;;;AAInD,IAAa,gBAAb,MAAoD;CAClD;CAEA,YAAY,KAAgB;AAC1B,OAAK,MAAM;;CAGb,MAAM,OAAO,MAAgC;AAE3C,SAAO,MAAM,QADC,iBAAiB,KAAK,EACR,KAAK,IAAI;;CAGvC,MAAM,OAAO,MAAgC;AAE3C,SAAO,iBAAiB,iBADV,MAAM,QAAQ,iBAAiB,KAAK,EAAE,KAAK,IAAI,CACd,CAAC"}
|
|
@@ -1 +1,28 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_msg_emitter = require('./emitter.cjs');
|
|
3
|
+
const require_common_msg_channel = require('./channel.cjs');
|
|
4
|
+
const require_common_msg_channel_debug = require('./channel-debug.cjs');
|
|
5
|
+
const require_common_msg_channel_local = require('./channel-local.cjs');
|
|
6
|
+
const require_common_msg_channel_resilient = require('./channel-resilient.cjs');
|
|
7
|
+
const require_common_msg_encoder = require('./encoder.cjs');
|
|
8
|
+
const require_common_msg_messages = require('./messages.cjs');
|
|
9
|
+
const require_common_msg_pubsub = require('./pubsub.cjs');
|
|
10
|
+
const require_common_msg_rpc = require('./rpc.cjs');
|
|
11
|
+
|
|
12
|
+
exports.Channel = require_common_msg_channel.Channel;
|
|
13
|
+
exports.CryptoEncoder = require_common_msg_encoder.CryptoEncoder;
|
|
14
|
+
exports.DebugChannel = require_common_msg_channel_debug.DebugChannel;
|
|
15
|
+
exports.Emitter = require_common_msg_emitter.Emitter;
|
|
16
|
+
exports.JsonEncoder = require_common_msg_encoder.JsonEncoder;
|
|
17
|
+
exports.LocalChannel = require_common_msg_channel_local.LocalChannel;
|
|
18
|
+
exports.NoopEncoder = require_common_msg_encoder.NoopEncoder;
|
|
19
|
+
exports.PubSub = require_common_msg_pubsub.PubSub;
|
|
20
|
+
exports.RPCMode = require_common_msg_rpc.RPCMode;
|
|
21
|
+
exports.ResillientChannel = require_common_msg_channel_resilient.ResillientChannel;
|
|
22
|
+
exports.createLocalChannelPair = require_common_msg_channel_local.createLocalChannelPair;
|
|
23
|
+
exports.createPromiseProxy = require_common_msg_messages.createPromiseProxy;
|
|
24
|
+
exports.getGlobalEmitter = require_common_msg_emitter.getGlobalEmitter;
|
|
25
|
+
exports.useMessageHub = require_common_msg_messages.useMessageHub;
|
|
26
|
+
exports.usePubSub = require_common_msg_pubsub.usePubSub;
|
|
27
|
+
exports.useRPC = require_common_msg_rpc.useRPC;
|
|
28
|
+
exports.useRPCHub = require_common_msg_rpc.useRPCHub;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { i as NoopEncoder, n as Encoder, r as JsonEncoder, t as CryptoEncoder } from "../../encoder-7xERHWCp.cjs";
|
|
2
|
-
import { A as Channel, C as MessagesOptions, D as LocalChannel, E as ResillientChannel, F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, O as createLocalChannelPair, P as EmitterAllHandler, R as ZeedGlobalEmitter, S as MessagesMethods, T as useMessageHub, _ as MessageAction, b as MessageResult, g as Message, h as usePubSub, j as ChannelMessageEvent, k as DebugChannel, m as PubSubConfig, p as PubSub, v as MessageDefinitions, w as createPromiseProxy, x as MessagesDefaultMethods, y as MessageHub, z as getGlobalEmitter } from "../../index-
|
|
2
|
+
import { A as Channel, C as MessagesOptions, D as LocalChannel, E as ResillientChannel, F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, O as createLocalChannelPair, P as EmitterAllHandler, R as ZeedGlobalEmitter, S as MessagesMethods, T as useMessageHub, _ as MessageAction, b as MessageResult, g as Message, h as usePubSub, j as ChannelMessageEvent, k as DebugChannel, m as PubSubConfig, p as PubSub, v as MessageDefinitions, w as createPromiseProxy, x as MessagesDefaultMethods, y as MessageHub, z as getGlobalEmitter } from "../../index-CFkMqHvX.cjs";
|
|
3
3
|
import { a as RPCOptions, c as ReturnType, d as useRPCHub, i as RPCMode, l as UseRPCHubType, n as RPCFn, o as RPCOptionsBasic, r as RPCMessage, s as RPCReturn, t as ArgumentsType, u as useRPC } from "../../rpc-5Ln_Xp7t.cjs";
|
|
4
4
|
export { ArgumentsType, Channel, ChannelMessageEvent, CryptoEncoder, DebugChannel, DefaultListener, Emitter, EmitterAllHandler, EmitterHandler, EmitterSubscriberOptions, Encoder, JsonEncoder, ListenerSignature, LocalChannel, Message, MessageAction, MessageDefinitions, MessageHub, MessageResult, MessagesDefaultMethods, MessagesMethods, MessagesOptions, NoopEncoder, PubSub, PubSubConfig, RPCFn, RPCMessage, RPCMode, RPCOptions, RPCOptionsBasic, RPCReturn, ResillientChannel, ReturnType, UseRPCHubType, ZeedGlobalEmitter, createLocalChannelPair, createPromiseProxy, getGlobalEmitter, useMessageHub, usePubSub, useRPC, useRPCHub };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { i as NoopEncoder, n as Encoder, r as JsonEncoder, t as CryptoEncoder } from "../../encoder-BcdNE4uv.mjs";
|
|
2
|
-
import { A as Channel, C as MessagesOptions, D as LocalChannel, E as ResillientChannel, F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, O as createLocalChannelPair, P as EmitterAllHandler, R as ZeedGlobalEmitter, S as MessagesMethods, T as useMessageHub, _ as MessageAction, b as MessageResult, g as Message, h as usePubSub, j as ChannelMessageEvent, k as DebugChannel, m as PubSubConfig, p as PubSub, v as MessageDefinitions, w as createPromiseProxy, x as MessagesDefaultMethods, y as MessageHub, z as getGlobalEmitter } from "../../index-
|
|
2
|
+
import { A as Channel, C as MessagesOptions, D as LocalChannel, E as ResillientChannel, F as EmitterHandler, I as EmitterSubscriberOptions, L as ListenerSignature, M as DefaultListener, N as Emitter, O as createLocalChannelPair, P as EmitterAllHandler, R as ZeedGlobalEmitter, S as MessagesMethods, T as useMessageHub, _ as MessageAction, b as MessageResult, g as Message, h as usePubSub, j as ChannelMessageEvent, k as DebugChannel, m as PubSubConfig, p as PubSub, v as MessageDefinitions, w as createPromiseProxy, x as MessagesDefaultMethods, y as MessageHub, z as getGlobalEmitter } from "../../index-C_3Y_s6f.mjs";
|
|
3
3
|
import { a as RPCOptions, c as ReturnType, d as useRPCHub, i as RPCMode, l as UseRPCHubType, n as RPCFn, o as RPCOptionsBasic, r as RPCMessage, s as RPCReturn, t as ArgumentsType, u as useRPC } from "../../rpc-DX1FYLVn.mjs";
|
|
4
4
|
export { ArgumentsType, Channel, ChannelMessageEvent, CryptoEncoder, DebugChannel, DefaultListener, Emitter, EmitterAllHandler, EmitterHandler, EmitterSubscriberOptions, Encoder, JsonEncoder, ListenerSignature, LocalChannel, Message, MessageAction, MessageDefinitions, MessageHub, MessageResult, MessagesDefaultMethods, MessagesMethods, MessagesOptions, NoopEncoder, PubSub, PubSubConfig, RPCFn, RPCMessage, RPCMode, RPCOptions, RPCOptionsBasic, RPCReturn, ResillientChannel, ReturnType, UseRPCHubType, ZeedGlobalEmitter, createLocalChannelPair, createPromiseProxy, getGlobalEmitter, useMessageHub, usePubSub, useRPC, useRPCHub };
|