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,2 +1,55 @@
|
|
|
1
|
-
import{isArray
|
|
1
|
+
import { isArray, isObject, isPrimitive, isRecord } from "./is.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/deep.ts
|
|
4
|
+
function deepEqual(a, b, hash = /* @__PURE__ */ new WeakSet()) {
|
|
5
|
+
if (a === b) return true;
|
|
6
|
+
if (hash.has(b)) return false;
|
|
7
|
+
if (!isPrimitive(b)) hash.add(b);
|
|
8
|
+
if (!(a instanceof Object) || !(b instanceof Object)) return false;
|
|
9
|
+
if (a.constructor !== b.constructor) return false;
|
|
10
|
+
if (a.length !== b.length) return false;
|
|
11
|
+
for (const p in a) {
|
|
12
|
+
if (!a.hasOwnProperty(p)) continue;
|
|
13
|
+
if (!b.hasOwnProperty(p)) return false;
|
|
14
|
+
const aa = a[p];
|
|
15
|
+
const bb = b[p];
|
|
16
|
+
if (!deepEqual(aa, bb, hash)) return false;
|
|
17
|
+
}
|
|
18
|
+
for (const p in b) if (b.hasOwnProperty(p) && !a.hasOwnProperty(p)) return false;
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
/** Strip properties with value `undefined` in place */
|
|
22
|
+
function deepStripUndefinedInPlace(a, hash = /* @__PURE__ */ new WeakSet()) {
|
|
23
|
+
if (hash.has(a)) return "[Circular ~]";
|
|
24
|
+
if (!isPrimitive(a)) hash.add(a);
|
|
25
|
+
if (isRecord(a)) for (const p in a) {
|
|
26
|
+
if (!a.hasOwnProperty(p)) continue;
|
|
27
|
+
if (a[p] === void 0) {
|
|
28
|
+
delete a[p];
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
deepStripUndefinedInPlace(a[p], hash);
|
|
32
|
+
}
|
|
33
|
+
else if (isArray(a)) {
|
|
34
|
+
for (let i = a.length - 1; i >= 0; i--) if (a[i] === void 0) a.splice(i, 1);
|
|
35
|
+
}
|
|
36
|
+
return a;
|
|
37
|
+
}
|
|
38
|
+
function deepMerge(target, ...sources) {
|
|
39
|
+
for (const source of sources) {
|
|
40
|
+
if (!isObject(target)) target = {};
|
|
41
|
+
if (source == null || !isObject(source)) continue;
|
|
42
|
+
Object.keys(source).forEach((key) => {
|
|
43
|
+
const targetValue = target[key];
|
|
44
|
+
const sourceValue = source[key];
|
|
45
|
+
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) target[key] = targetValue.concat(sourceValue);
|
|
46
|
+
else if (isObject(targetValue) && isObject(sourceValue)) target[key] = deepMerge(Object.assign({}, targetValue), sourceValue);
|
|
47
|
+
else target[key] = sourceValue;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return target;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
export { deepEqual, deepMerge, deepStripUndefinedInPlace };
|
|
2
55
|
//# sourceMappingURL=deep.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep.mjs","names":[],"sources":["../../../src/common/data/deep.ts"],"sourcesContent":["/* eslint-disable no-prototype-builtins */\n\nimport { isArray, isObject, isPrimitive, isRecord } from './is'\n\nexport function deepEqual(a: any, b: any, hash = new WeakSet()) {\n // if both x and y are null or undefined and exactly the same\n if (a === b)\n return true\n\n // Cyclic\n if (hash.has(b)) {\n // console.log('cyclic')\n return false\n }\n\n if (!isPrimitive(b))\n hash.add(b)\n\n // if they are not strictly equal, they both need to be Objects\n if (!(a instanceof Object) || !(b instanceof Object))\n return false\n\n // they must have the exact same prototype chain, the closest we can do is\n // test there constructor.\n if (a.constructor !== b.constructor)\n return false\n\n // Shortcut to avoid to many loops\n if (a.length !== b.length)\n return false\n\n for (const p in a) {\n // other properties were tested using x.constructor === y.constructor\n if (!a.hasOwnProperty(p))\n continue\n\n // allows to compare x[ p ] and y[ p ] when set to undefined\n if (!b.hasOwnProperty(p))\n return false\n\n const aa = a[p]\n const bb = b[p]\n\n // if they have the same strict value or identity then they are equal\n // if (aa === bb) {\n // console.log('eq', typeof bb)\n // if (bb != null) hash.set(bb, true)\n // continue\n // }\n //\n // // Numbers, Strings, Functions, Booleans must be strictly equal\n // if (typeof (aa) !== 'object') {\n // return false\n // }\n\n // Objects and Arrays must be tested recursively\n if (!deepEqual(aa, bb, hash))\n return false\n }\n\n // allows x[ p ] to be set to undefined\n for (const p in b) {\n if (b.hasOwnProperty(p) && !a.hasOwnProperty(p))\n return false\n }\n\n return true\n}\n\n/** Strip properties with value `undefined` in place */\nexport function deepStripUndefinedInPlace(a: any, hash:WeakSet<object> = new WeakSet()) {\n // Cyclic\n if (hash.has(a))\n return '[Circular ~]'\n if (!isPrimitive(a))\n hash.add(a)\n\n if (isRecord(a)) {\n for (const p in a) {\n if (!a.hasOwnProperty(p))\n continue\n if (a[p] === undefined) {\n delete a[p]\n continue\n }\n deepStripUndefinedInPlace(a[p], hash)\n }\n }\n else if (isArray(a)) {\n for (let i = a.length - 1; i >= 0; i--) {\n if (a[i] === undefined)\n a.splice(i, 1)\n }\n }\n // else ignore\n\n return a\n}\n\nexport function deepMerge(target: any, ...sources: any[]) {\n // todo cyclic protection\n for (const source of sources) {\n if (!isObject(target))\n target = {}\n\n if (source == null || !isObject(source))\n continue\n\n Object.keys(source).forEach((key) => {\n const targetValue = target[key]\n const sourceValue = (source as any)[key]\n\n if (Array.isArray(targetValue) && Array.isArray(sourceValue))\n target[key] = targetValue.concat(sourceValue)\n else if (isObject(targetValue) && isObject(sourceValue))\n target[key] = deepMerge(Object.assign({}, targetValue), sourceValue)\n else\n target[key] = sourceValue\n })\n }\n\n return target\n}\n\n// // https://stackoverflow.com/a/40294058/140927\n// // Handles cyclic references\n// export function deepClonePrimitives(obj, hash = new WeakMap()) {\n//\n// // primitives\n// if (Object(obj) !== obj) {\n// // log('Primitive', obj)\n// return obj\n// }\n//\n// // cyclic reference\n// if (hash.has(obj)) {\n// return hash.get(obj)\n// }\n//\n// let result\n//\n// // primitives as objects like new String(), new Number()\n// if (\n// obj instanceof String ||\n// obj instanceof Number ||\n// obj instanceof BigInt ||\n// obj instanceof Boolean ||\n// obj instanceof Symbol\n// ) {\n// result = new obj.constructor(obj.valueOf())\n// // hash.set(obj, result)\n// return result\n// }\n//\n// // log('Obj', obj)\n//\n// if (obj instanceof Set) {\n// result = new Set(obj)\n// } else if (obj instanceof Map) {\n// result = new Map(Array.from(obj, ([key, val]) => [key, deepClonePrimitives(val, hash)]))\n// } else if (obj instanceof Date) {\n// result = new Date(obj)\n// } else if (obj instanceof RegExp) {\n// result = new RegExp(obj.source, obj.flags)\n// } else if (Array.isArray(obj)) {\n// result = Array.from(obj, val => deepClonePrimitives(val, hash))\n// } else if (obj.constructor) {\n// result = new obj.constructor()\n// log('bj object', result)\n// } else if (obj instanceof Function || typeof obj === 'function') {\n// log('Keep object', obj, Object.getPrototypeOf(obj))\n// result = obj\n// } else {\n// result = Object.create(null)\n// }\n//\n// hash.set(obj, result)\n//\n// return Object.assign(result, ...Object.keys(obj).map(key => ({\n// [key]: deepClonePrimitives(obj[key], hash),\n// })))\n// }\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"deep.mjs","names":[],"sources":["../../../src/common/data/deep.ts"],"sourcesContent":["/* eslint-disable no-prototype-builtins */\n\nimport { isArray, isObject, isPrimitive, isRecord } from './is'\n\nexport function deepEqual(a: any, b: any, hash = new WeakSet()) {\n // if both x and y are null or undefined and exactly the same\n if (a === b)\n return true\n\n // Cyclic\n if (hash.has(b)) {\n // console.log('cyclic')\n return false\n }\n\n if (!isPrimitive(b))\n hash.add(b)\n\n // if they are not strictly equal, they both need to be Objects\n if (!(a instanceof Object) || !(b instanceof Object))\n return false\n\n // they must have the exact same prototype chain, the closest we can do is\n // test there constructor.\n if (a.constructor !== b.constructor)\n return false\n\n // Shortcut to avoid to many loops\n if (a.length !== b.length)\n return false\n\n for (const p in a) {\n // other properties were tested using x.constructor === y.constructor\n if (!a.hasOwnProperty(p))\n continue\n\n // allows to compare x[ p ] and y[ p ] when set to undefined\n if (!b.hasOwnProperty(p))\n return false\n\n const aa = a[p]\n const bb = b[p]\n\n // if they have the same strict value or identity then they are equal\n // if (aa === bb) {\n // console.log('eq', typeof bb)\n // if (bb != null) hash.set(bb, true)\n // continue\n // }\n //\n // // Numbers, Strings, Functions, Booleans must be strictly equal\n // if (typeof (aa) !== 'object') {\n // return false\n // }\n\n // Objects and Arrays must be tested recursively\n if (!deepEqual(aa, bb, hash))\n return false\n }\n\n // allows x[ p ] to be set to undefined\n for (const p in b) {\n if (b.hasOwnProperty(p) && !a.hasOwnProperty(p))\n return false\n }\n\n return true\n}\n\n/** Strip properties with value `undefined` in place */\nexport function deepStripUndefinedInPlace(a: any, hash:WeakSet<object> = new WeakSet()) {\n // Cyclic\n if (hash.has(a))\n return '[Circular ~]'\n if (!isPrimitive(a))\n hash.add(a)\n\n if (isRecord(a)) {\n for (const p in a) {\n if (!a.hasOwnProperty(p))\n continue\n if (a[p] === undefined) {\n delete a[p]\n continue\n }\n deepStripUndefinedInPlace(a[p], hash)\n }\n }\n else if (isArray(a)) {\n for (let i = a.length - 1; i >= 0; i--) {\n if (a[i] === undefined)\n a.splice(i, 1)\n }\n }\n // else ignore\n\n return a\n}\n\nexport function deepMerge(target: any, ...sources: any[]) {\n // todo cyclic protection\n for (const source of sources) {\n if (!isObject(target))\n target = {}\n\n if (source == null || !isObject(source))\n continue\n\n Object.keys(source).forEach((key) => {\n const targetValue = target[key]\n const sourceValue = (source as any)[key]\n\n if (Array.isArray(targetValue) && Array.isArray(sourceValue))\n target[key] = targetValue.concat(sourceValue)\n else if (isObject(targetValue) && isObject(sourceValue))\n target[key] = deepMerge(Object.assign({}, targetValue), sourceValue)\n else\n target[key] = sourceValue\n })\n }\n\n return target\n}\n\n// // https://stackoverflow.com/a/40294058/140927\n// // Handles cyclic references\n// export function deepClonePrimitives(obj, hash = new WeakMap()) {\n//\n// // primitives\n// if (Object(obj) !== obj) {\n// // log('Primitive', obj)\n// return obj\n// }\n//\n// // cyclic reference\n// if (hash.has(obj)) {\n// return hash.get(obj)\n// }\n//\n// let result\n//\n// // primitives as objects like new String(), new Number()\n// if (\n// obj instanceof String ||\n// obj instanceof Number ||\n// obj instanceof BigInt ||\n// obj instanceof Boolean ||\n// obj instanceof Symbol\n// ) {\n// result = new obj.constructor(obj.valueOf())\n// // hash.set(obj, result)\n// return result\n// }\n//\n// // log('Obj', obj)\n//\n// if (obj instanceof Set) {\n// result = new Set(obj)\n// } else if (obj instanceof Map) {\n// result = new Map(Array.from(obj, ([key, val]) => [key, deepClonePrimitives(val, hash)]))\n// } else if (obj instanceof Date) {\n// result = new Date(obj)\n// } else if (obj instanceof RegExp) {\n// result = new RegExp(obj.source, obj.flags)\n// } else if (Array.isArray(obj)) {\n// result = Array.from(obj, val => deepClonePrimitives(val, hash))\n// } else if (obj.constructor) {\n// result = new obj.constructor()\n// log('bj object', result)\n// } else if (obj instanceof Function || typeof obj === 'function') {\n// log('Keep object', obj, Object.getPrototypeOf(obj))\n// result = obj\n// } else {\n// result = Object.create(null)\n// }\n//\n// hash.set(obj, result)\n//\n// return Object.assign(result, ...Object.keys(obj).map(key => ({\n// [key]: deepClonePrimitives(obj[key], hash),\n// })))\n// }\n"],"mappings":";;;AAIA,SAAgB,UAAU,GAAQ,GAAQ,uBAAO,IAAI,SAAS,EAAE;AAE9D,KAAI,MAAM,EACR,QAAO;AAGT,KAAI,KAAK,IAAI,EAAE,CAEb,QAAO;AAGT,KAAI,CAAC,YAAY,EAAE,CACjB,MAAK,IAAI,EAAE;AAGb,KAAI,EAAE,aAAa,WAAW,EAAE,aAAa,QAC3C,QAAO;AAIT,KAAI,EAAE,gBAAgB,EAAE,YACtB,QAAO;AAGT,KAAI,EAAE,WAAW,EAAE,OACjB,QAAO;AAET,MAAK,MAAM,KAAK,GAAG;AAEjB,MAAI,CAAC,EAAE,eAAe,EAAE,CACtB;AAGF,MAAI,CAAC,EAAE,eAAe,EAAE,CACtB,QAAO;EAET,MAAM,KAAK,EAAE;EACb,MAAM,KAAK,EAAE;AAeb,MAAI,CAAC,UAAU,IAAI,IAAI,KAAK,CAC1B,QAAO;;AAIX,MAAK,MAAM,KAAK,EACd,KAAI,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,CAC7C,QAAO;AAGX,QAAO;;;AAIT,SAAgB,0BAA0B,GAAQ,uBAAuB,IAAI,SAAS,EAAE;AAEtF,KAAI,KAAK,IAAI,EAAE,CACb,QAAO;AACT,KAAI,CAAC,YAAY,EAAE,CACjB,MAAK,IAAI,EAAE;AAEb,KAAI,SAAS,EAAE,CACb,MAAK,MAAM,KAAK,GAAG;AACjB,MAAI,CAAC,EAAE,eAAe,EAAE,CACtB;AACF,MAAI,EAAE,OAAO,QAAW;AACtB,UAAO,EAAE;AACT;;AAEF,4BAA0B,EAAE,IAAI,KAAK;;UAGhC,QAAQ,EAAE,EACjB;OAAK,IAAI,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,IACjC,KAAI,EAAE,OAAO,OACX,GAAE,OAAO,GAAG,EAAE;;AAKpB,QAAO;;AAGT,SAAgB,UAAU,QAAa,GAAG,SAAgB;AAExD,MAAK,MAAM,UAAU,SAAS;AAC5B,MAAI,CAAC,SAAS,OAAO,CACnB,UAAS,EAAE;AAEb,MAAI,UAAU,QAAQ,CAAC,SAAS,OAAO,CACrC;AAEF,SAAO,KAAK,OAAO,CAAC,SAAS,QAAQ;GACnC,MAAM,cAAc,OAAO;GAC3B,MAAM,cAAe,OAAe;AAEpC,OAAI,MAAM,QAAQ,YAAY,IAAI,MAAM,QAAQ,YAAY,CAC1D,QAAO,OAAO,YAAY,OAAO,YAAY;YACtC,SAAS,YAAY,IAAI,SAAS,YAAY,CACrD,QAAO,OAAO,UAAU,OAAO,OAAO,EAAE,EAAE,YAAY,EAAE,YAAY;OAEpE,QAAO,OAAO;IAChB;;AAGJ,QAAO"}
|
|
@@ -1,2 +1,63 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/diff.ts
|
|
4
|
+
/**
|
|
5
|
+
* Describes the changes between to object with a list like:
|
|
6
|
+
*
|
|
7
|
+
* ```
|
|
8
|
+
* [{
|
|
9
|
+
* type: 'upd',
|
|
10
|
+
* path: ['a'],
|
|
11
|
+
* value: 1
|
|
12
|
+
* },
|
|
13
|
+
* {
|
|
14
|
+
* type: 'del',
|
|
15
|
+
* path: ['b', 'c']
|
|
16
|
+
* }
|
|
17
|
+
* ...]
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function diffObjects(obj, newObj, options = { cyclesFix: true }, _stack = []) {
|
|
21
|
+
let diffs = [];
|
|
22
|
+
const isObjArray = Array.isArray(obj);
|
|
23
|
+
for (const key in obj) {
|
|
24
|
+
const objValue = obj[key];
|
|
25
|
+
const path = isObjArray ? +key : key;
|
|
26
|
+
if (!(key in newObj)) {
|
|
27
|
+
diffs.push({
|
|
28
|
+
type: "del",
|
|
29
|
+
path: [path]
|
|
30
|
+
});
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const newValue = newObj[key];
|
|
34
|
+
const areObjects = typeof objValue === "object" && typeof newValue === "object";
|
|
35
|
+
if (objValue && newValue && areObjects && ![
|
|
36
|
+
"Date",
|
|
37
|
+
"RegExp",
|
|
38
|
+
"String",
|
|
39
|
+
"Number"
|
|
40
|
+
].includes(Object.getPrototypeOf(objValue).constructor.name) && (options.cyclesFix ? !_stack.includes(objValue) : true)) {
|
|
41
|
+
const nestedDiffs = diffObjects(objValue, newValue, options, options.cyclesFix ? _stack.concat([objValue]) : []);
|
|
42
|
+
diffs = [...diffs, ...nestedDiffs.map((difference) => {
|
|
43
|
+
difference.path.unshift(path);
|
|
44
|
+
return difference;
|
|
45
|
+
})];
|
|
46
|
+
} else if (objValue !== newValue && !(areObjects && (Number.isNaN(objValue) ? `${objValue}` === `${newValue}` : +objValue === +newValue))) diffs.push({
|
|
47
|
+
path: [path],
|
|
48
|
+
type: "upd",
|
|
49
|
+
value: newValue
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const isNewObjArray = Array.isArray(newObj);
|
|
53
|
+
for (const key in newObj) if (!(key in obj)) diffs.push({
|
|
54
|
+
type: "new",
|
|
55
|
+
path: [isNewObjArray ? +key : key],
|
|
56
|
+
value: newObj[key]
|
|
57
|
+
});
|
|
58
|
+
return diffs;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.diffObjects = diffObjects;
|
|
2
63
|
//# sourceMappingURL=diff.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.cjs","names":[],"sources":["../../../src/common/data/diff.ts"],"sourcesContent":["// Original from https://github.com/AsyncBanana/microdiff MIT\n// Alternative https://github.com/kpdecker/jsdiff\n\nexport type DifferenceType = 'new' | 'upd' | 'del'\n\nexport interface Difference {\n type: DifferenceType\n path: (string | number)[]\n value?: any\n}\n\nexport interface DiffOptions {\n cyclesFix: boolean\n}\n\n/**\n * Describes the changes between to object with a list like:\n *\n * ```\n * [{\n * type: 'upd',\n * path: ['a'],\n * value: 1\n * },\n * {\n * type: 'del',\n * path: ['b', 'c']\n * }\n * ...]\n * ```\n */\nexport function diffObjects(\n obj: Record<string, any> | any[],\n newObj: Record<string, any> | any[],\n options: Partial<DiffOptions> = { cyclesFix: true },\n _stack: Record<string, any>[] = [],\n): Difference[] {\n let diffs: Difference[] = []\n const isObjArray = Array.isArray(obj)\n\n for (const key in obj) {\n const objValue = (obj as any)[key] // works for both array and record, only TS doesn't know ;)\n const path = isObjArray ? +key : key\n if (!(key in newObj)) {\n diffs.push({\n type: 'del',\n path: [path],\n })\n continue\n }\n const newValue = (newObj as any)[key]\n const areObjects = typeof objValue === 'object' && typeof newValue === 'object'\n if (objValue\n && newValue\n && areObjects\n && !(['Date', 'RegExp', 'String', 'Number'].includes(Object.getPrototypeOf(objValue).constructor.name))\n && (options.cyclesFix ? !_stack.includes(objValue) : true)\n ) {\n const nestedDiffs = diffObjects(\n objValue,\n newValue,\n options,\n options.cyclesFix ? _stack.concat([objValue]) : [],\n )\n diffs = [...diffs, ...nestedDiffs.map((difference) => {\n difference.path.unshift(path)\n return difference\n })]\n }\n else if (\n objValue !== newValue\n && !(\n areObjects\n && (Number.isNaN(objValue)\n ? `${objValue}` === `${newValue}`\n : +objValue === +newValue)\n )\n ) {\n diffs.push({\n path: [path],\n type: 'upd',\n value: newValue,\n })\n }\n }\n\n const isNewObjArray = Array.isArray(newObj)\n for (const key in newObj) {\n if (!(key in obj)) {\n diffs.push({\n type: 'new',\n path: [isNewObjArray ? +key : key],\n value: (newObj as any)[key], // works for both array and record, only TS doesn't know ;)\n })\n }\n }\n return diffs\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff.cjs","names":[],"sources":["../../../src/common/data/diff.ts"],"sourcesContent":["// Original from https://github.com/AsyncBanana/microdiff MIT\n// Alternative https://github.com/kpdecker/jsdiff\n\nexport type DifferenceType = 'new' | 'upd' | 'del'\n\nexport interface Difference {\n type: DifferenceType\n path: (string | number)[]\n value?: any\n}\n\nexport interface DiffOptions {\n cyclesFix: boolean\n}\n\n/**\n * Describes the changes between to object with a list like:\n *\n * ```\n * [{\n * type: 'upd',\n * path: ['a'],\n * value: 1\n * },\n * {\n * type: 'del',\n * path: ['b', 'c']\n * }\n * ...]\n * ```\n */\nexport function diffObjects(\n obj: Record<string, any> | any[],\n newObj: Record<string, any> | any[],\n options: Partial<DiffOptions> = { cyclesFix: true },\n _stack: Record<string, any>[] = [],\n): Difference[] {\n let diffs: Difference[] = []\n const isObjArray = Array.isArray(obj)\n\n for (const key in obj) {\n const objValue = (obj as any)[key] // works for both array and record, only TS doesn't know ;)\n const path = isObjArray ? +key : key\n if (!(key in newObj)) {\n diffs.push({\n type: 'del',\n path: [path],\n })\n continue\n }\n const newValue = (newObj as any)[key]\n const areObjects = typeof objValue === 'object' && typeof newValue === 'object'\n if (objValue\n && newValue\n && areObjects\n && !(['Date', 'RegExp', 'String', 'Number'].includes(Object.getPrototypeOf(objValue).constructor.name))\n && (options.cyclesFix ? !_stack.includes(objValue) : true)\n ) {\n const nestedDiffs = diffObjects(\n objValue,\n newValue,\n options,\n options.cyclesFix ? _stack.concat([objValue]) : [],\n )\n diffs = [...diffs, ...nestedDiffs.map((difference) => {\n difference.path.unshift(path)\n return difference\n })]\n }\n else if (\n objValue !== newValue\n && !(\n areObjects\n && (Number.isNaN(objValue)\n ? `${objValue}` === `${newValue}`\n : +objValue === +newValue)\n )\n ) {\n diffs.push({\n path: [path],\n type: 'upd',\n value: newValue,\n })\n }\n }\n\n const isNewObjArray = Array.isArray(newObj)\n for (const key in newObj) {\n if (!(key in obj)) {\n diffs.push({\n type: 'new',\n path: [isNewObjArray ? +key : key],\n value: (newObj as any)[key], // works for both array and record, only TS doesn't know ;)\n })\n }\n }\n return diffs\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA+BA,SAAgB,YACd,KACA,QACA,UAAgC,EAAE,WAAW,MAAM,EACnD,SAAgC,EAAE,EACpB;CACd,IAAI,QAAsB,EAAE;CAC5B,MAAM,aAAa,MAAM,QAAQ,IAAI;AAErC,MAAK,MAAM,OAAO,KAAK;EACrB,MAAM,WAAY,IAAY;EAC9B,MAAM,OAAO,aAAa,CAAC,MAAM;AACjC,MAAI,EAAE,OAAO,SAAS;AACpB,SAAM,KAAK;IACT,MAAM;IACN,MAAM,CAAC,KAAK;IACb,CAAC;AACF;;EAEF,MAAM,WAAY,OAAe;EACjC,MAAM,aAAa,OAAO,aAAa,YAAY,OAAO,aAAa;AACvE,MAAI,YACC,YACA,cACA,CAAE;GAAC;GAAQ;GAAU;GAAU;GAAS,CAAC,SAAS,OAAO,eAAe,SAAS,CAAC,YAAY,KAAK,KAClG,QAAQ,YAAY,CAAC,OAAO,SAAS,SAAS,GAAG,OACrD;GACA,MAAM,cAAc,YAClB,UACA,UACA,SACA,QAAQ,YAAY,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CACnD;AACD,WAAQ,CAAC,GAAG,OAAO,GAAG,YAAY,KAAK,eAAe;AACpD,eAAW,KAAK,QAAQ,KAAK;AAC7B,WAAO;KACP,CAAC;aAGH,aAAa,YACV,EACD,eACI,OAAO,MAAM,SAAS,GACtB,GAAG,eAAe,GAAG,aACrB,CAAC,aAAa,CAAC,WAGrB,OAAM,KAAK;GACT,MAAM,CAAC,KAAK;GACZ,MAAM;GACN,OAAO;GACR,CAAC;;CAIN,MAAM,gBAAgB,MAAM,QAAQ,OAAO;AAC3C,MAAK,MAAM,OAAO,OAChB,KAAI,EAAE,OAAO,KACX,OAAM,KAAK;EACT,MAAM;EACN,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI;EAClC,OAAQ,OAAe;EACxB,CAAC;AAGN,QAAO"}
|
|
@@ -1,2 +1,61 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data/diff.ts
|
|
2
|
+
/**
|
|
3
|
+
* Describes the changes between to object with a list like:
|
|
4
|
+
*
|
|
5
|
+
* ```
|
|
6
|
+
* [{
|
|
7
|
+
* type: 'upd',
|
|
8
|
+
* path: ['a'],
|
|
9
|
+
* value: 1
|
|
10
|
+
* },
|
|
11
|
+
* {
|
|
12
|
+
* type: 'del',
|
|
13
|
+
* path: ['b', 'c']
|
|
14
|
+
* }
|
|
15
|
+
* ...]
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function diffObjects(obj, newObj, options = { cyclesFix: true }, _stack = []) {
|
|
19
|
+
let diffs = [];
|
|
20
|
+
const isObjArray = Array.isArray(obj);
|
|
21
|
+
for (const key in obj) {
|
|
22
|
+
const objValue = obj[key];
|
|
23
|
+
const path = isObjArray ? +key : key;
|
|
24
|
+
if (!(key in newObj)) {
|
|
25
|
+
diffs.push({
|
|
26
|
+
type: "del",
|
|
27
|
+
path: [path]
|
|
28
|
+
});
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const newValue = newObj[key];
|
|
32
|
+
const areObjects = typeof objValue === "object" && typeof newValue === "object";
|
|
33
|
+
if (objValue && newValue && areObjects && ![
|
|
34
|
+
"Date",
|
|
35
|
+
"RegExp",
|
|
36
|
+
"String",
|
|
37
|
+
"Number"
|
|
38
|
+
].includes(Object.getPrototypeOf(objValue).constructor.name) && (options.cyclesFix ? !_stack.includes(objValue) : true)) {
|
|
39
|
+
const nestedDiffs = diffObjects(objValue, newValue, options, options.cyclesFix ? _stack.concat([objValue]) : []);
|
|
40
|
+
diffs = [...diffs, ...nestedDiffs.map((difference) => {
|
|
41
|
+
difference.path.unshift(path);
|
|
42
|
+
return difference;
|
|
43
|
+
})];
|
|
44
|
+
} else if (objValue !== newValue && !(areObjects && (Number.isNaN(objValue) ? `${objValue}` === `${newValue}` : +objValue === +newValue))) diffs.push({
|
|
45
|
+
path: [path],
|
|
46
|
+
type: "upd",
|
|
47
|
+
value: newValue
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
const isNewObjArray = Array.isArray(newObj);
|
|
51
|
+
for (const key in newObj) if (!(key in obj)) diffs.push({
|
|
52
|
+
type: "new",
|
|
53
|
+
path: [isNewObjArray ? +key : key],
|
|
54
|
+
value: newObj[key]
|
|
55
|
+
});
|
|
56
|
+
return diffs;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { diffObjects };
|
|
2
61
|
//# sourceMappingURL=diff.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.mjs","names":[],"sources":["../../../src/common/data/diff.ts"],"sourcesContent":["// Original from https://github.com/AsyncBanana/microdiff MIT\n// Alternative https://github.com/kpdecker/jsdiff\n\nexport type DifferenceType = 'new' | 'upd' | 'del'\n\nexport interface Difference {\n type: DifferenceType\n path: (string | number)[]\n value?: any\n}\n\nexport interface DiffOptions {\n cyclesFix: boolean\n}\n\n/**\n * Describes the changes between to object with a list like:\n *\n * ```\n * [{\n * type: 'upd',\n * path: ['a'],\n * value: 1\n * },\n * {\n * type: 'del',\n * path: ['b', 'c']\n * }\n * ...]\n * ```\n */\nexport function diffObjects(\n obj: Record<string, any> | any[],\n newObj: Record<string, any> | any[],\n options: Partial<DiffOptions> = { cyclesFix: true },\n _stack: Record<string, any>[] = [],\n): Difference[] {\n let diffs: Difference[] = []\n const isObjArray = Array.isArray(obj)\n\n for (const key in obj) {\n const objValue = (obj as any)[key] // works for both array and record, only TS doesn't know ;)\n const path = isObjArray ? +key : key\n if (!(key in newObj)) {\n diffs.push({\n type: 'del',\n path: [path],\n })\n continue\n }\n const newValue = (newObj as any)[key]\n const areObjects = typeof objValue === 'object' && typeof newValue === 'object'\n if (objValue\n && newValue\n && areObjects\n && !(['Date', 'RegExp', 'String', 'Number'].includes(Object.getPrototypeOf(objValue).constructor.name))\n && (options.cyclesFix ? !_stack.includes(objValue) : true)\n ) {\n const nestedDiffs = diffObjects(\n objValue,\n newValue,\n options,\n options.cyclesFix ? _stack.concat([objValue]) : [],\n )\n diffs = [...diffs, ...nestedDiffs.map((difference) => {\n difference.path.unshift(path)\n return difference\n })]\n }\n else if (\n objValue !== newValue\n && !(\n areObjects\n && (Number.isNaN(objValue)\n ? `${objValue}` === `${newValue}`\n : +objValue === +newValue)\n )\n ) {\n diffs.push({\n path: [path],\n type: 'upd',\n value: newValue,\n })\n }\n }\n\n const isNewObjArray = Array.isArray(newObj)\n for (const key in newObj) {\n if (!(key in obj)) {\n diffs.push({\n type: 'new',\n path: [isNewObjArray ? +key : key],\n value: (newObj as any)[key], // works for both array and record, only TS doesn't know ;)\n })\n }\n }\n return diffs\n}\n"],"mappings":"AA+BA,SAAgB,
|
|
1
|
+
{"version":3,"file":"diff.mjs","names":[],"sources":["../../../src/common/data/diff.ts"],"sourcesContent":["// Original from https://github.com/AsyncBanana/microdiff MIT\n// Alternative https://github.com/kpdecker/jsdiff\n\nexport type DifferenceType = 'new' | 'upd' | 'del'\n\nexport interface Difference {\n type: DifferenceType\n path: (string | number)[]\n value?: any\n}\n\nexport interface DiffOptions {\n cyclesFix: boolean\n}\n\n/**\n * Describes the changes between to object with a list like:\n *\n * ```\n * [{\n * type: 'upd',\n * path: ['a'],\n * value: 1\n * },\n * {\n * type: 'del',\n * path: ['b', 'c']\n * }\n * ...]\n * ```\n */\nexport function diffObjects(\n obj: Record<string, any> | any[],\n newObj: Record<string, any> | any[],\n options: Partial<DiffOptions> = { cyclesFix: true },\n _stack: Record<string, any>[] = [],\n): Difference[] {\n let diffs: Difference[] = []\n const isObjArray = Array.isArray(obj)\n\n for (const key in obj) {\n const objValue = (obj as any)[key] // works for both array and record, only TS doesn't know ;)\n const path = isObjArray ? +key : key\n if (!(key in newObj)) {\n diffs.push({\n type: 'del',\n path: [path],\n })\n continue\n }\n const newValue = (newObj as any)[key]\n const areObjects = typeof objValue === 'object' && typeof newValue === 'object'\n if (objValue\n && newValue\n && areObjects\n && !(['Date', 'RegExp', 'String', 'Number'].includes(Object.getPrototypeOf(objValue).constructor.name))\n && (options.cyclesFix ? !_stack.includes(objValue) : true)\n ) {\n const nestedDiffs = diffObjects(\n objValue,\n newValue,\n options,\n options.cyclesFix ? _stack.concat([objValue]) : [],\n )\n diffs = [...diffs, ...nestedDiffs.map((difference) => {\n difference.path.unshift(path)\n return difference\n })]\n }\n else if (\n objValue !== newValue\n && !(\n areObjects\n && (Number.isNaN(objValue)\n ? `${objValue}` === `${newValue}`\n : +objValue === +newValue)\n )\n ) {\n diffs.push({\n path: [path],\n type: 'upd',\n value: newValue,\n })\n }\n }\n\n const isNewObjArray = Array.isArray(newObj)\n for (const key in newObj) {\n if (!(key in obj)) {\n diffs.push({\n type: 'new',\n path: [isNewObjArray ? +key : key],\n value: (newObj as any)[key], // works for both array and record, only TS doesn't know ;)\n })\n }\n }\n return diffs\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA+BA,SAAgB,YACd,KACA,QACA,UAAgC,EAAE,WAAW,MAAM,EACnD,SAAgC,EAAE,EACpB;CACd,IAAI,QAAsB,EAAE;CAC5B,MAAM,aAAa,MAAM,QAAQ,IAAI;AAErC,MAAK,MAAM,OAAO,KAAK;EACrB,MAAM,WAAY,IAAY;EAC9B,MAAM,OAAO,aAAa,CAAC,MAAM;AACjC,MAAI,EAAE,OAAO,SAAS;AACpB,SAAM,KAAK;IACT,MAAM;IACN,MAAM,CAAC,KAAK;IACb,CAAC;AACF;;EAEF,MAAM,WAAY,OAAe;EACjC,MAAM,aAAa,OAAO,aAAa,YAAY,OAAO,aAAa;AACvE,MAAI,YACC,YACA,cACA,CAAE;GAAC;GAAQ;GAAU;GAAU;GAAS,CAAC,SAAS,OAAO,eAAe,SAAS,CAAC,YAAY,KAAK,KAClG,QAAQ,YAAY,CAAC,OAAO,SAAS,SAAS,GAAG,OACrD;GACA,MAAM,cAAc,YAClB,UACA,UACA,SACA,QAAQ,YAAY,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CACnD;AACD,WAAQ,CAAC,GAAG,OAAO,GAAG,YAAY,KAAK,eAAe;AACpD,eAAW,KAAK,QAAQ,KAAK;AAC7B,WAAO;KACP,CAAC;aAGH,aAAa,YACV,EACD,eACI,OAAO,MAAM,SAAS,GACtB,GAAG,eAAe,GAAG,aACrB,CAAC,aAAa,CAAC,WAGrB,OAAM,KAAK;GACT,MAAM,CAAC,KAAK;GACZ,MAAM;GACN,OAAO;GACR,CAAC;;CAIN,MAAM,gBAAgB,MAAM,QAAQ,OAAO;AAC3C,MAAK,MAAM,OAAO,OAChB,KAAI,EAAE,OAAO,KACX,OAAM,KAAK;EACT,MAAM;EACN,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI;EAClC,OAAQ,OAAe;EACxB,CAAC;AAGN,QAAO"}
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/distributed.ts
|
|
4
|
+
/**
|
|
5
|
+
* Distribute file, named by natural numbers, in a way that each folder only
|
|
6
|
+
* contains `maxEntriesPerFolder` subfolders or files. Returns a list of
|
|
7
|
+
* names, where the last one is the file name, all others are folder names.
|
|
8
|
+
*
|
|
9
|
+
* Example: `distributedFilePath(1003)` results in `['2', '1', '3']` which
|
|
10
|
+
* could be translated to the file path `2/1/3.json`.
|
|
11
|
+
*/
|
|
12
|
+
function distributedFilePath(index, maxEntriesPerFolder = 1e3) {
|
|
13
|
+
if (index < 0) throw new Error("Only numbers >= 0 supported");
|
|
14
|
+
const names = [];
|
|
15
|
+
do {
|
|
16
|
+
names.unshift((index % maxEntriesPerFolder).toString());
|
|
17
|
+
index = Math.floor(index / maxEntriesPerFolder);
|
|
18
|
+
} while (index > 0);
|
|
19
|
+
names.unshift(names.length.toString());
|
|
20
|
+
return names;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.distributedFilePath = distributedFilePath;
|
|
2
25
|
//# sourceMappingURL=distributed.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributed.cjs","names":[],"sources":["../../../src/common/data/distributed.ts"],"sourcesContent":["/**\n * Distribute file, named by natural numbers, in a way that each folder only\n * contains `maxEntriesPerFolder` subfolders or files. Returns a list of\n * names, where the last one is the file name, all others are folder names.\n *\n * Example: `distributedFilePath(1003)` results in `['2', '1', '3']` which\n * could be translated to the file path `2/1/3.json`.\n */\nexport function distributedFilePath(index: number, maxEntriesPerFolder: number = 1000): string[] {\n if (index < 0)\n throw new Error('Only numbers >= 0 supported')\n const names: string[] = []\n do {\n names.unshift((index % maxEntriesPerFolder).toString())\n index = Math.floor(index / maxEntriesPerFolder)\n } while (index > 0)\n names.unshift(names.length.toString())\n return names\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"distributed.cjs","names":[],"sources":["../../../src/common/data/distributed.ts"],"sourcesContent":["/**\n * Distribute file, named by natural numbers, in a way that each folder only\n * contains `maxEntriesPerFolder` subfolders or files. Returns a list of\n * names, where the last one is the file name, all others are folder names.\n *\n * Example: `distributedFilePath(1003)` results in `['2', '1', '3']` which\n * could be translated to the file path `2/1/3.json`.\n */\nexport function distributedFilePath(index: number, maxEntriesPerFolder: number = 1000): string[] {\n if (index < 0)\n throw new Error('Only numbers >= 0 supported')\n const names: string[] = []\n do {\n names.unshift((index % maxEntriesPerFolder).toString())\n index = Math.floor(index / maxEntriesPerFolder)\n } while (index > 0)\n names.unshift(names.length.toString())\n return names\n}\n"],"mappings":";;;;;;;;;;;AAQA,SAAgB,oBAAoB,OAAe,sBAA8B,KAAgB;AAC/F,KAAI,QAAQ,EACV,OAAM,IAAI,MAAM,8BAA8B;CAChD,MAAM,QAAkB,EAAE;AAC1B,IAAG;AACD,QAAM,SAAS,QAAQ,qBAAqB,UAAU,CAAC;AACvD,UAAQ,KAAK,MAAM,QAAQ,oBAAoB;UACxC,QAAQ;AACjB,OAAM,QAAQ,MAAM,OAAO,UAAU,CAAC;AACtC,QAAO"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data/distributed.ts
|
|
2
|
+
/**
|
|
3
|
+
* Distribute file, named by natural numbers, in a way that each folder only
|
|
4
|
+
* contains `maxEntriesPerFolder` subfolders or files. Returns a list of
|
|
5
|
+
* names, where the last one is the file name, all others are folder names.
|
|
6
|
+
*
|
|
7
|
+
* Example: `distributedFilePath(1003)` results in `['2', '1', '3']` which
|
|
8
|
+
* could be translated to the file path `2/1/3.json`.
|
|
9
|
+
*/
|
|
10
|
+
function distributedFilePath(index, maxEntriesPerFolder = 1e3) {
|
|
11
|
+
if (index < 0) throw new Error("Only numbers >= 0 supported");
|
|
12
|
+
const names = [];
|
|
13
|
+
do {
|
|
14
|
+
names.unshift((index % maxEntriesPerFolder).toString());
|
|
15
|
+
index = Math.floor(index / maxEntriesPerFolder);
|
|
16
|
+
} while (index > 0);
|
|
17
|
+
names.unshift(names.length.toString());
|
|
18
|
+
return names;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { distributedFilePath };
|
|
2
23
|
//# sourceMappingURL=distributed.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributed.mjs","names":[],"sources":["../../../src/common/data/distributed.ts"],"sourcesContent":["/**\n * Distribute file, named by natural numbers, in a way that each folder only\n * contains `maxEntriesPerFolder` subfolders or files. Returns a list of\n * names, where the last one is the file name, all others are folder names.\n *\n * Example: `distributedFilePath(1003)` results in `['2', '1', '3']` which\n * could be translated to the file path `2/1/3.json`.\n */\nexport function distributedFilePath(index: number, maxEntriesPerFolder: number = 1000): string[] {\n if (index < 0)\n throw new Error('Only numbers >= 0 supported')\n const names: string[] = []\n do {\n names.unshift((index % maxEntriesPerFolder).toString())\n index = Math.floor(index / maxEntriesPerFolder)\n } while (index > 0)\n names.unshift(names.length.toString())\n return names\n}\n"],"mappings":"AAQA,SAAgB,
|
|
1
|
+
{"version":3,"file":"distributed.mjs","names":[],"sources":["../../../src/common/data/distributed.ts"],"sourcesContent":["/**\n * Distribute file, named by natural numbers, in a way that each folder only\n * contains `maxEntriesPerFolder` subfolders or files. Returns a list of\n * names, where the last one is the file name, all others are folder names.\n *\n * Example: `distributedFilePath(1003)` results in `['2', '1', '3']` which\n * could be translated to the file path `2/1/3.json`.\n */\nexport function distributedFilePath(index: number, maxEntriesPerFolder: number = 1000): string[] {\n if (index < 0)\n throw new Error('Only numbers >= 0 supported')\n const names: string[] = []\n do {\n names.unshift((index % maxEntriesPerFolder).toString())\n index = Math.floor(index / maxEntriesPerFolder)\n } while (index > 0)\n names.unshift(names.length.toString())\n return names\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,oBAAoB,OAAe,sBAA8B,KAAgB;AAC/F,KAAI,QAAQ,EACV,OAAM,IAAI,MAAM,8BAA8B;CAChD,MAAM,QAAkB,EAAE;AAC1B,IAAG;AACD,QAAM,SAAS,QAAQ,qBAAqB,UAAU,CAAC;AACvD,UAAQ,KAAK,MAAM,QAAQ,oBAAoB;UACxC,QAAQ;AACjB,OAAM,QAAQ,MAAM,OAAO,UAAU,CAAC;AACtC,QAAO"}
|
|
@@ -1,2 +1,64 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/format.ts
|
|
4
|
+
/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */
|
|
5
|
+
function formatBytesToHumanBase1024(bytes, decimals = 2) {
|
|
6
|
+
const units = [
|
|
7
|
+
"bytes",
|
|
8
|
+
"KiB",
|
|
9
|
+
"MiB",
|
|
10
|
+
"GiB",
|
|
11
|
+
"TiB",
|
|
12
|
+
"PiB",
|
|
13
|
+
"EiB"
|
|
14
|
+
];
|
|
15
|
+
const c = 1 / 1023;
|
|
16
|
+
let i = 0;
|
|
17
|
+
let h = 0;
|
|
18
|
+
if (bytes < 0) bytes = 0;
|
|
19
|
+
for (; h < c && i < units.length; i++) {
|
|
20
|
+
h = 1024 ** i / bytes;
|
|
21
|
+
if (h >= c) break;
|
|
22
|
+
}
|
|
23
|
+
return `${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`;
|
|
24
|
+
}
|
|
25
|
+
/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */
|
|
26
|
+
function formatBytesToHumanBase1000(bytes, decimals = 2) {
|
|
27
|
+
const units = [
|
|
28
|
+
"bytes",
|
|
29
|
+
"KB",
|
|
30
|
+
"MB",
|
|
31
|
+
"GB",
|
|
32
|
+
"TB",
|
|
33
|
+
"PB",
|
|
34
|
+
"EB"
|
|
35
|
+
];
|
|
36
|
+
const c = 1 / 999;
|
|
37
|
+
let i = 0;
|
|
38
|
+
let h = 0;
|
|
39
|
+
if (bytes < 0) bytes = 0;
|
|
40
|
+
for (; h < c && i < units.length; i++) {
|
|
41
|
+
h = 1e3 ** i / bytes;
|
|
42
|
+
if (h >= c) break;
|
|
43
|
+
}
|
|
44
|
+
return `${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`;
|
|
45
|
+
}
|
|
46
|
+
/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat */
|
|
47
|
+
function formatSecondsToTime(seconds, separator = ":") {
|
|
48
|
+
const prefix = seconds < 0 ? "-" : "";
|
|
49
|
+
if (seconds < 0) seconds = -1 * seconds;
|
|
50
|
+
const h = Math.floor(seconds / 3600);
|
|
51
|
+
const m = Math.floor(seconds % 3600 / 60);
|
|
52
|
+
const s = Math.round(seconds % 60);
|
|
53
|
+
return prefix + [
|
|
54
|
+
h,
|
|
55
|
+
m > 9 ? m : h ? `0${m}` : m || "0",
|
|
56
|
+
s > 9 ? s : `0${s}`
|
|
57
|
+
].filter(Boolean).join(separator);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
exports.formatBytesToHumanBase1000 = formatBytesToHumanBase1000;
|
|
62
|
+
exports.formatBytesToHumanBase1024 = formatBytesToHumanBase1024;
|
|
63
|
+
exports.formatSecondsToTime = formatSecondsToTime;
|
|
2
64
|
//# sourceMappingURL=format.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.cjs","names":[],"sources":["../../../src/common/data/format.ts"],"sourcesContent":["/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1024(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB'] // etc\n const c = 1 / 1023 // change it to 1024 and see the diff\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1024 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1000(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'] // etc\n const c = 1 / 999\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1000 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat */\nexport function formatSecondsToTime(seconds: number, separator = ':') {\n const prefix = seconds < 0 ? '-' : ''\n if (seconds < 0)\n seconds = -1 * seconds\n const h = Math.floor(seconds / 3600)\n const m = Math.floor((seconds % 3600) / 60)\n const s = Math.round(seconds % 60)\n return prefix + [h, m > 9 ? m : h ? `0${m}` : m || '0', s > 9 ? s : `0${s}`].filter(Boolean).join(separator)\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"format.cjs","names":[],"sources":["../../../src/common/data/format.ts"],"sourcesContent":["/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1024(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB'] // etc\n const c = 1 / 1023 // change it to 1024 and see the diff\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1024 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1000(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'] // etc\n const c = 1 / 999\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1000 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat */\nexport function formatSecondsToTime(seconds: number, separator = ':') {\n const prefix = seconds < 0 ? '-' : ''\n if (seconds < 0)\n seconds = -1 * seconds\n const h = Math.floor(seconds / 3600)\n const m = Math.floor((seconds % 3600) / 60)\n const s = Math.round(seconds % 60)\n return prefix + [h, m > 9 ? m : h ? `0${m}` : m || '0', s > 9 ? s : `0${s}`].filter(Boolean).join(separator)\n}\n"],"mappings":";;;;AACA,SAAgB,2BAA2B,OAAe,WAAW,GAAG;CAEtE,MAAM,QAAQ;EAAC;EAAS;EAAO;EAAO;EAAO;EAAO;EAAO;EAAM;CACjE,MAAM,IAAI,IAAI;CACd,IAAI,IAAI;CACR,IAAI,IAAI;AACR,KAAI,QAAQ,EACV,SAAQ;AACV,QAAO,IAAI,KAAK,IAAI,MAAM,QAAQ,KAAK;AACrC,MAAI,QAAQ,IAAI;AAChB,MAAI,KAAK,EACP;;AAEJ,QAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,WAAW,EAAE,CAAC,gBAAgB,CAAC,GAAG,MAAM;;;AAI7E,SAAgB,2BAA2B,OAAe,WAAW,GAAG;CAEtE,MAAM,QAAQ;EAAC;EAAS;EAAM;EAAM;EAAM;EAAM;EAAM;EAAK;CAC3D,MAAM,IAAI,IAAI;CACd,IAAI,IAAI;CACR,IAAI,IAAI;AACR,KAAI,QAAQ,EACV,SAAQ;AACV,QAAO,IAAI,KAAK,IAAI,MAAM,QAAQ,KAAK;AACrC,MAAI,OAAQ,IAAI;AAChB,MAAI,KAAK,EACP;;AAEJ,QAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,WAAW,EAAE,CAAC,gBAAgB,CAAC,GAAG,MAAM;;;AAI7E,SAAgB,oBAAoB,SAAiB,YAAY,KAAK;CACpE,MAAM,SAAS,UAAU,IAAI,MAAM;AACnC,KAAI,UAAU,EACZ,WAAU,KAAK;CACjB,MAAM,IAAI,KAAK,MAAM,UAAU,KAAK;CACpC,MAAM,IAAI,KAAK,MAAO,UAAU,OAAQ,GAAG;CAC3C,MAAM,IAAI,KAAK,MAAM,UAAU,GAAG;AAClC,QAAO,SAAS;EAAC;EAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,KAAK;EAAK,IAAI,IAAI,IAAI,IAAI;EAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,UAAU"}
|
|
@@ -1,2 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data/format.ts
|
|
2
|
+
/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */
|
|
3
|
+
function formatBytesToHumanBase1024(bytes, decimals = 2) {
|
|
4
|
+
const units = [
|
|
5
|
+
"bytes",
|
|
6
|
+
"KiB",
|
|
7
|
+
"MiB",
|
|
8
|
+
"GiB",
|
|
9
|
+
"TiB",
|
|
10
|
+
"PiB",
|
|
11
|
+
"EiB"
|
|
12
|
+
];
|
|
13
|
+
const c = 1 / 1023;
|
|
14
|
+
let i = 0;
|
|
15
|
+
let h = 0;
|
|
16
|
+
if (bytes < 0) bytes = 0;
|
|
17
|
+
for (; h < c && i < units.length; i++) {
|
|
18
|
+
h = 1024 ** i / bytes;
|
|
19
|
+
if (h >= c) break;
|
|
20
|
+
}
|
|
21
|
+
return `${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`;
|
|
22
|
+
}
|
|
23
|
+
/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */
|
|
24
|
+
function formatBytesToHumanBase1000(bytes, decimals = 2) {
|
|
25
|
+
const units = [
|
|
26
|
+
"bytes",
|
|
27
|
+
"KB",
|
|
28
|
+
"MB",
|
|
29
|
+
"GB",
|
|
30
|
+
"TB",
|
|
31
|
+
"PB",
|
|
32
|
+
"EB"
|
|
33
|
+
];
|
|
34
|
+
const c = 1 / 999;
|
|
35
|
+
let i = 0;
|
|
36
|
+
let h = 0;
|
|
37
|
+
if (bytes < 0) bytes = 0;
|
|
38
|
+
for (; h < c && i < units.length; i++) {
|
|
39
|
+
h = 1e3 ** i / bytes;
|
|
40
|
+
if (h >= c) break;
|
|
41
|
+
}
|
|
42
|
+
return `${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`;
|
|
43
|
+
}
|
|
44
|
+
/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat */
|
|
45
|
+
function formatSecondsToTime(seconds, separator = ":") {
|
|
46
|
+
const prefix = seconds < 0 ? "-" : "";
|
|
47
|
+
if (seconds < 0) seconds = -1 * seconds;
|
|
48
|
+
const h = Math.floor(seconds / 3600);
|
|
49
|
+
const m = Math.floor(seconds % 3600 / 60);
|
|
50
|
+
const s = Math.round(seconds % 60);
|
|
51
|
+
return prefix + [
|
|
52
|
+
h,
|
|
53
|
+
m > 9 ? m : h ? `0${m}` : m || "0",
|
|
54
|
+
s > 9 ? s : `0${s}`
|
|
55
|
+
].filter(Boolean).join(separator);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
//#endregion
|
|
59
|
+
export { formatBytesToHumanBase1000, formatBytesToHumanBase1024, formatSecondsToTime };
|
|
2
60
|
//# sourceMappingURL=format.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.mjs","names":[],"sources":["../../../src/common/data/format.ts"],"sourcesContent":["/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1024(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB'] // etc\n const c = 1 / 1023 // change it to 1024 and see the diff\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1024 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1000(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'] // etc\n const c = 1 / 999\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1000 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat */\nexport function formatSecondsToTime(seconds: number, separator = ':') {\n const prefix = seconds < 0 ? '-' : ''\n if (seconds < 0)\n seconds = -1 * seconds\n const h = Math.floor(seconds / 3600)\n const m = Math.floor((seconds % 3600) / 60)\n const s = Math.round(seconds % 60)\n return prefix + [h, m > 9 ? m : h ? `0${m}` : m || '0', s > 9 ? s : `0${s}`].filter(Boolean).join(separator)\n}\n"],"mappings":"AACA,SAAgB,
|
|
1
|
+
{"version":3,"file":"format.mjs","names":[],"sources":["../../../src/common/data/format.ts"],"sourcesContent":["/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1024(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB'] // etc\n const c = 1 / 1023 // change it to 1024 and see the diff\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1024 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */\nexport function formatBytesToHumanBase1000(bytes: number, decimals = 2) {\n // https://en.wikipedia.org/wiki/Orders_of_magnitude_(data)\n const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'] // etc\n const c = 1 / 999\n let i = 0\n let h = 0\n if (bytes < 0)\n bytes = 0\n for (; h < c && i < units.length; i++) {\n h = 1000 ** i / bytes\n if (h >= c)\n break\n }\n return (`${(1 / h).toFixed(i > 0 ? decimals : 0).toLocaleString()} ${units[i]}`)\n}\n\n/** Just a simple yet fast helper. Alternatively you may use Intl formatters http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat */\nexport function formatSecondsToTime(seconds: number, separator = ':') {\n const prefix = seconds < 0 ? '-' : ''\n if (seconds < 0)\n seconds = -1 * seconds\n const h = Math.floor(seconds / 3600)\n const m = Math.floor((seconds % 3600) / 60)\n const s = Math.round(seconds % 60)\n return prefix + [h, m > 9 ? m : h ? `0${m}` : m || '0', s > 9 ? s : `0${s}`].filter(Boolean).join(separator)\n}\n"],"mappings":";;AACA,SAAgB,2BAA2B,OAAe,WAAW,GAAG;CAEtE,MAAM,QAAQ;EAAC;EAAS;EAAO;EAAO;EAAO;EAAO;EAAO;EAAM;CACjE,MAAM,IAAI,IAAI;CACd,IAAI,IAAI;CACR,IAAI,IAAI;AACR,KAAI,QAAQ,EACV,SAAQ;AACV,QAAO,IAAI,KAAK,IAAI,MAAM,QAAQ,KAAK;AACrC,MAAI,QAAQ,IAAI;AAChB,MAAI,KAAK,EACP;;AAEJ,QAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,WAAW,EAAE,CAAC,gBAAgB,CAAC,GAAG,MAAM;;;AAI7E,SAAgB,2BAA2B,OAAe,WAAW,GAAG;CAEtE,MAAM,QAAQ;EAAC;EAAS;EAAM;EAAM;EAAM;EAAM;EAAM;EAAK;CAC3D,MAAM,IAAI,IAAI;CACd,IAAI,IAAI;CACR,IAAI,IAAI;AACR,KAAI,QAAQ,EACV,SAAQ;AACV,QAAO,IAAI,KAAK,IAAI,MAAM,QAAQ,KAAK;AACrC,MAAI,OAAQ,IAAI;AAChB,MAAI,KAAK,EACP;;AAEJ,QAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,WAAW,EAAE,CAAC,gBAAgB,CAAC,GAAG,MAAM;;;AAI7E,SAAgB,oBAAoB,SAAiB,YAAY,KAAK;CACpE,MAAM,SAAS,UAAU,IAAI,MAAM;AACnC,KAAI,UAAU,EACZ,WAAU,KAAK;CACjB,MAAM,IAAI,KAAK,MAAM,UAAU,KAAK;CACpC,MAAM,IAAI,KAAK,MAAO,UAAU,OAAQ,GAAG;CAC3C,MAAM,IAAI,KAAK,MAAM,UAAU,GAAG;AAClC,QAAO,SAAS;EAAC;EAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,KAAK;EAAK,IAAI,IAAI,IAAI,IAAI;EAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,UAAU"}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/html.ts
|
|
4
|
+
function escapeHTML(s) {
|
|
5
|
+
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/'/g, "'").replace(/"/g, """);
|
|
6
|
+
}
|
|
7
|
+
function unescapeHTML(s) {
|
|
8
|
+
return s.replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, "\"").replace(/'/gi, "'").replace(/&/gi, "&");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.escapeHTML = escapeHTML;
|
|
13
|
+
exports.unescapeHTML = unescapeHTML;
|
|
2
14
|
//# sourceMappingURL=html.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.cjs","names":[],"sources":["../../../src/common/data/html.ts"],"sourcesContent":["export function escapeHTML(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/'/g, ''')\n .replace(/\"/g, '"')\n}\n\nexport function unescapeHTML(s: string): string {\n return s\n .replace(/</gi, '<')\n .replace(/>/gi, '>')\n .replace(/"/gi, '\"')\n .replace(/'/gi, '\\'')\n .replace(/&/gi, '&')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"html.cjs","names":[],"sources":["../../../src/common/data/html.ts"],"sourcesContent":["export function escapeHTML(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/'/g, ''')\n .replace(/\"/g, '"')\n}\n\nexport function unescapeHTML(s: string): string {\n return s\n .replace(/</gi, '<')\n .replace(/>/gi, '>')\n .replace(/"/gi, '\"')\n .replace(/'/gi, '\\'')\n .replace(/&/gi, '&')\n}\n"],"mappings":";;;AAAA,SAAgB,WAAW,GAAmB;AAC5C,QAAO,EACJ,QAAQ,MAAM,QAAQ,CACtB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,SAAS,CACvB,QAAQ,MAAM,SAAS;;AAG5B,SAAgB,aAAa,GAAmB;AAC9C,QAAO,EACJ,QAAQ,UAAU,IAAI,CACtB,QAAQ,UAAU,IAAI,CACtB,QAAQ,YAAY,KAAI,CACxB,QAAQ,YAAY,IAAK,CACzB,QAAQ,WAAW,IAAI"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data/html.ts
|
|
2
|
+
function escapeHTML(s) {
|
|
3
|
+
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/'/g, "'").replace(/"/g, """);
|
|
4
|
+
}
|
|
5
|
+
function unescapeHTML(s) {
|
|
6
|
+
return s.replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, "\"").replace(/'/gi, "'").replace(/&/gi, "&");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { escapeHTML, unescapeHTML };
|
|
2
11
|
//# sourceMappingURL=html.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.mjs","names":[],"sources":["../../../src/common/data/html.ts"],"sourcesContent":["export function escapeHTML(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/'/g, ''')\n .replace(/\"/g, '"')\n}\n\nexport function unescapeHTML(s: string): string {\n return s\n .replace(/</gi, '<')\n .replace(/>/gi, '>')\n .replace(/"/gi, '\"')\n .replace(/'/gi, '\\'')\n .replace(/&/gi, '&')\n}\n"],"mappings":"AAAA,SAAgB,
|
|
1
|
+
{"version":3,"file":"html.mjs","names":[],"sources":["../../../src/common/data/html.ts"],"sourcesContent":["export function escapeHTML(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/'/g, ''')\n .replace(/\"/g, '"')\n}\n\nexport function unescapeHTML(s: string): string {\n return s\n .replace(/</gi, '<')\n .replace(/>/gi, '>')\n .replace(/"/gi, '\"')\n .replace(/'/gi, '\\'')\n .replace(/&/gi, '&')\n}\n"],"mappings":";AAAA,SAAgB,WAAW,GAAmB;AAC5C,QAAO,EACJ,QAAQ,MAAM,QAAQ,CACtB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,SAAS,CACvB,QAAQ,MAAM,SAAS;;AAG5B,SAAgB,aAAa,GAAmB;AAC9C,QAAO,EACJ,QAAQ,UAAU,IAAI,CACtB,QAAQ,UAAU,IAAI,CACtB,QAAQ,YAAY,KAAI,CACxB,QAAQ,YAAY,IAAK,CACzB,QAAQ,WAAW,IAAI"}
|