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,28 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/camelcase.ts
|
|
4
|
+
function toCamelCase(s) {
|
|
5
|
+
if (s.length > 0) {
|
|
6
|
+
if (/^[A-Z0-9_\- ]*$/.test(s)) s = s.toLowerCase();
|
|
7
|
+
s = s.replace(/^[-_ ]+/g, "").replace(/[-_ ]+$/g, "").replace(/[-_ ]+([a-z0-9])/gi, ($0, $1) => $1.toUpperCase());
|
|
8
|
+
s = s[0].toLowerCase() + s.substring(1);
|
|
9
|
+
}
|
|
10
|
+
return s;
|
|
11
|
+
}
|
|
12
|
+
function toCapitalize(s) {
|
|
13
|
+
return s.charAt(0).toUpperCase() + s.toLowerCase().slice(1);
|
|
14
|
+
}
|
|
15
|
+
function toCapitalizeWords(s) {
|
|
16
|
+
return s.replace(/\w\S*/g, toCapitalize);
|
|
17
|
+
}
|
|
18
|
+
function fromCamelCase(str, separator = "-") {
|
|
19
|
+
separator = typeof separator === "undefined" ? "_" : separator;
|
|
20
|
+
return str.replace(/([a-z\d])([A-Z])/g, `$1${separator}$2`).replace(/([A-Z]+)([A-Z][a-z\d]+)/g, `$1${separator}$2`).toLowerCase();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.fromCamelCase = fromCamelCase;
|
|
25
|
+
exports.toCamelCase = toCamelCase;
|
|
26
|
+
exports.toCapitalize = toCapitalize;
|
|
27
|
+
exports.toCapitalizeWords = toCapitalizeWords;
|
|
2
28
|
//# sourceMappingURL=camelcase.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camelcase.cjs","names":[],"sources":["../../../src/common/data/camelcase.ts"],"sourcesContent":["/*\nhttps://matthiashager.com/converting-snake-case-to-camel-case-object-keys-with-javascript\n\ncamelCase\nsnake_case\nkebab-case\nPascalCase // I won't be using this here, but it's only one small step further if you want to use it\n*/\n\n/// Convert a string to camelCase from snake_case, kebab-case or pascalCase\nexport function toCamelCase(s: string) {\n // if only capital letters, convert to lower case\n if (s.length > 0) {\n if (/^[A-Z0-9_\\- ]*$/.test(s))\n s = s.toLowerCase()\n\n s = s\n // strip trailing non chars\n .replace(/^[-_ ]+/g, '')\n .replace(/[-_ ]+$/g, '')\n // strip separators and upper case first char\n .replace(/[-_ ]+([a-z0-9])/gi, ($0, $1) => $1.toUpperCase())\n // lower case first char\n s = s[0].toLowerCase() + s.substring(1)\n }\n return s\n}\n\n/// Capitalize the first letter of a string.\nexport function toCapitalize(s: string) {\n return s.charAt(0).toUpperCase() + s.toLowerCase().slice(1)\n}\n\n/// Capitalize the first letter of each word in a string.\nexport function toCapitalizeWords(s: string) {\n return s.replace(/\\w\\S*/g, toCapitalize)\n}\n\n// export function camelize(str: string) {\n// return str\n// .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word: string, index: number) =>\n// index === 0 ? word.toLowerCase() : word.toUpperCase()\n// )\n// .replace(/\\s+/g, \"\")\n// }\n\n/// Convert a string from camelCase to snake_case or kebab-case\nexport function fromCamelCase(str: string, separator = '-') {\n separator = typeof separator === 'undefined' ? '_' : separator\n return str\n .replace(/([a-z\\d])([A-Z])/g, `$1${separator}$2`)\n .replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, `$1${separator}$2`)\n .toLowerCase()\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"camelcase.cjs","names":[],"sources":["../../../src/common/data/camelcase.ts"],"sourcesContent":["/*\nhttps://matthiashager.com/converting-snake-case-to-camel-case-object-keys-with-javascript\n\ncamelCase\nsnake_case\nkebab-case\nPascalCase // I won't be using this here, but it's only one small step further if you want to use it\n*/\n\n/// Convert a string to camelCase from snake_case, kebab-case or pascalCase\nexport function toCamelCase(s: string) {\n // if only capital letters, convert to lower case\n if (s.length > 0) {\n if (/^[A-Z0-9_\\- ]*$/.test(s))\n s = s.toLowerCase()\n\n s = s\n // strip trailing non chars\n .replace(/^[-_ ]+/g, '')\n .replace(/[-_ ]+$/g, '')\n // strip separators and upper case first char\n .replace(/[-_ ]+([a-z0-9])/gi, ($0, $1) => $1.toUpperCase())\n // lower case first char\n s = s[0].toLowerCase() + s.substring(1)\n }\n return s\n}\n\n/// Capitalize the first letter of a string.\nexport function toCapitalize(s: string) {\n return s.charAt(0).toUpperCase() + s.toLowerCase().slice(1)\n}\n\n/// Capitalize the first letter of each word in a string.\nexport function toCapitalizeWords(s: string) {\n return s.replace(/\\w\\S*/g, toCapitalize)\n}\n\n// export function camelize(str: string) {\n// return str\n// .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word: string, index: number) =>\n// index === 0 ? word.toLowerCase() : word.toUpperCase()\n// )\n// .replace(/\\s+/g, \"\")\n// }\n\n/// Convert a string from camelCase to snake_case or kebab-case\nexport function fromCamelCase(str: string, separator = '-') {\n separator = typeof separator === 'undefined' ? '_' : separator\n return str\n .replace(/([a-z\\d])([A-Z])/g, `$1${separator}$2`)\n .replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, `$1${separator}$2`)\n .toLowerCase()\n}\n"],"mappings":";;;AAUA,SAAgB,YAAY,GAAW;AAErC,KAAI,EAAE,SAAS,GAAG;AAChB,MAAI,kBAAkB,KAAK,EAAE,CAC3B,KAAI,EAAE,aAAa;AAErB,MAAI,EAED,QAAQ,YAAY,GAAG,CACvB,QAAQ,YAAY,GAAG,CAEvB,QAAQ,uBAAuB,IAAI,OAAO,GAAG,aAAa,CAAC;AAE9D,MAAI,EAAE,GAAG,aAAa,GAAG,EAAE,UAAU,EAAE;;AAEzC,QAAO;;AAIT,SAAgB,aAAa,GAAW;AACtC,QAAO,EAAE,OAAO,EAAE,CAAC,aAAa,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE;;AAI7D,SAAgB,kBAAkB,GAAW;AAC3C,QAAO,EAAE,QAAQ,UAAU,aAAa;;AAY1C,SAAgB,cAAc,KAAa,YAAY,KAAK;AAC1D,aAAY,OAAO,cAAc,cAAc,MAAM;AACrD,QAAO,IACJ,QAAQ,qBAAqB,KAAK,UAAU,IAAI,CAChD,QAAQ,4BAA4B,KAAK,UAAU,IAAI,CACvD,aAAa"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data/camelcase.ts
|
|
2
|
+
function toCamelCase(s) {
|
|
3
|
+
if (s.length > 0) {
|
|
4
|
+
if (/^[A-Z0-9_\- ]*$/.test(s)) s = s.toLowerCase();
|
|
5
|
+
s = s.replace(/^[-_ ]+/g, "").replace(/[-_ ]+$/g, "").replace(/[-_ ]+([a-z0-9])/gi, ($0, $1) => $1.toUpperCase());
|
|
6
|
+
s = s[0].toLowerCase() + s.substring(1);
|
|
7
|
+
}
|
|
8
|
+
return s;
|
|
9
|
+
}
|
|
10
|
+
function toCapitalize(s) {
|
|
11
|
+
return s.charAt(0).toUpperCase() + s.toLowerCase().slice(1);
|
|
12
|
+
}
|
|
13
|
+
function toCapitalizeWords(s) {
|
|
14
|
+
return s.replace(/\w\S*/g, toCapitalize);
|
|
15
|
+
}
|
|
16
|
+
function fromCamelCase(str, separator = "-") {
|
|
17
|
+
separator = typeof separator === "undefined" ? "_" : separator;
|
|
18
|
+
return str.replace(/([a-z\d])([A-Z])/g, `$1${separator}$2`).replace(/([A-Z]+)([A-Z][a-z\d]+)/g, `$1${separator}$2`).toLowerCase();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { fromCamelCase, toCamelCase, toCapitalize, toCapitalizeWords };
|
|
2
23
|
//# sourceMappingURL=camelcase.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camelcase.mjs","names":[],"sources":["../../../src/common/data/camelcase.ts"],"sourcesContent":["/*\nhttps://matthiashager.com/converting-snake-case-to-camel-case-object-keys-with-javascript\n\ncamelCase\nsnake_case\nkebab-case\nPascalCase // I won't be using this here, but it's only one small step further if you want to use it\n*/\n\n/// Convert a string to camelCase from snake_case, kebab-case or pascalCase\nexport function toCamelCase(s: string) {\n // if only capital letters, convert to lower case\n if (s.length > 0) {\n if (/^[A-Z0-9_\\- ]*$/.test(s))\n s = s.toLowerCase()\n\n s = s\n // strip trailing non chars\n .replace(/^[-_ ]+/g, '')\n .replace(/[-_ ]+$/g, '')\n // strip separators and upper case first char\n .replace(/[-_ ]+([a-z0-9])/gi, ($0, $1) => $1.toUpperCase())\n // lower case first char\n s = s[0].toLowerCase() + s.substring(1)\n }\n return s\n}\n\n/// Capitalize the first letter of a string.\nexport function toCapitalize(s: string) {\n return s.charAt(0).toUpperCase() + s.toLowerCase().slice(1)\n}\n\n/// Capitalize the first letter of each word in a string.\nexport function toCapitalizeWords(s: string) {\n return s.replace(/\\w\\S*/g, toCapitalize)\n}\n\n// export function camelize(str: string) {\n// return str\n// .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word: string, index: number) =>\n// index === 0 ? word.toLowerCase() : word.toUpperCase()\n// )\n// .replace(/\\s+/g, \"\")\n// }\n\n/// Convert a string from camelCase to snake_case or kebab-case\nexport function fromCamelCase(str: string, separator = '-') {\n separator = typeof separator === 'undefined' ? '_' : separator\n return str\n .replace(/([a-z\\d])([A-Z])/g, `$1${separator}$2`)\n .replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, `$1${separator}$2`)\n .toLowerCase()\n}\n"],"mappings":"AAUA,SAAgB,
|
|
1
|
+
{"version":3,"file":"camelcase.mjs","names":[],"sources":["../../../src/common/data/camelcase.ts"],"sourcesContent":["/*\nhttps://matthiashager.com/converting-snake-case-to-camel-case-object-keys-with-javascript\n\ncamelCase\nsnake_case\nkebab-case\nPascalCase // I won't be using this here, but it's only one small step further if you want to use it\n*/\n\n/// Convert a string to camelCase from snake_case, kebab-case or pascalCase\nexport function toCamelCase(s: string) {\n // if only capital letters, convert to lower case\n if (s.length > 0) {\n if (/^[A-Z0-9_\\- ]*$/.test(s))\n s = s.toLowerCase()\n\n s = s\n // strip trailing non chars\n .replace(/^[-_ ]+/g, '')\n .replace(/[-_ ]+$/g, '')\n // strip separators and upper case first char\n .replace(/[-_ ]+([a-z0-9])/gi, ($0, $1) => $1.toUpperCase())\n // lower case first char\n s = s[0].toLowerCase() + s.substring(1)\n }\n return s\n}\n\n/// Capitalize the first letter of a string.\nexport function toCapitalize(s: string) {\n return s.charAt(0).toUpperCase() + s.toLowerCase().slice(1)\n}\n\n/// Capitalize the first letter of each word in a string.\nexport function toCapitalizeWords(s: string) {\n return s.replace(/\\w\\S*/g, toCapitalize)\n}\n\n// export function camelize(str: string) {\n// return str\n// .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word: string, index: number) =>\n// index === 0 ? word.toLowerCase() : word.toUpperCase()\n// )\n// .replace(/\\s+/g, \"\")\n// }\n\n/// Convert a string from camelCase to snake_case or kebab-case\nexport function fromCamelCase(str: string, separator = '-') {\n separator = typeof separator === 'undefined' ? '_' : separator\n return str\n .replace(/([a-z\\d])([A-Z])/g, `$1${separator}$2`)\n .replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, `$1${separator}$2`)\n .toLowerCase()\n}\n"],"mappings":";AAUA,SAAgB,YAAY,GAAW;AAErC,KAAI,EAAE,SAAS,GAAG;AAChB,MAAI,kBAAkB,KAAK,EAAE,CAC3B,KAAI,EAAE,aAAa;AAErB,MAAI,EAED,QAAQ,YAAY,GAAG,CACvB,QAAQ,YAAY,GAAG,CAEvB,QAAQ,uBAAuB,IAAI,OAAO,GAAG,aAAa,CAAC;AAE9D,MAAI,EAAE,GAAG,aAAa,GAAG,EAAE,UAAU,EAAE;;AAEzC,QAAO;;AAIT,SAAgB,aAAa,GAAW;AACtC,QAAO,EAAE,OAAO,EAAE,CAAC,aAAa,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE;;AAI7D,SAAgB,kBAAkB,GAAW;AAC3C,QAAO,EAAE,QAAQ,UAAU,aAAa;;AAY1C,SAAgB,cAAc,KAAa,YAAY,KAAK;AAC1D,aAAY,OAAO,cAAc,cAAc,MAAM;AACrD,QAAO,IACJ,QAAQ,qBAAqB,KAAK,UAAU,IAAI,CAChD,QAAQ,4BAA4B,KAAK,UAAU,IAAI,CACvD,aAAa"}
|
|
@@ -1,2 +1,105 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
//#region src/common/data/convert.ts
|
|
4
|
+
const TRUE_VALUES_LIST = [
|
|
5
|
+
"1",
|
|
6
|
+
"true",
|
|
7
|
+
"yes",
|
|
8
|
+
"y",
|
|
9
|
+
"on"
|
|
10
|
+
];
|
|
11
|
+
const FALSE_VALUES_LIST = [
|
|
12
|
+
"0",
|
|
13
|
+
"false",
|
|
14
|
+
"no",
|
|
15
|
+
"n",
|
|
16
|
+
"off"
|
|
17
|
+
];
|
|
18
|
+
/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */
|
|
19
|
+
function parseFloat(value) {
|
|
20
|
+
try {
|
|
21
|
+
const parsed = Number.parseFloat(value);
|
|
22
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
23
|
+
} catch (e) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Like Number.parseInt, but returning `undefined` instead of `NaN` */
|
|
28
|
+
function parseInt(value, radix = 10) {
|
|
29
|
+
try {
|
|
30
|
+
const parsed = Number.parseInt(value, radix);
|
|
31
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
32
|
+
} catch (e) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function stringToBoolean(value, defaultValue = false) {
|
|
37
|
+
if (value == null || typeof value !== "string") return defaultValue;
|
|
38
|
+
return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase());
|
|
39
|
+
}
|
|
40
|
+
function stringToInteger(value, defaultValue = 0) {
|
|
41
|
+
if (value == null || typeof value !== "string") return defaultValue;
|
|
42
|
+
return parseInt(value.trim(), 10) ?? defaultValue;
|
|
43
|
+
}
|
|
44
|
+
function stringToFloat(value, defaultValue = 0) {
|
|
45
|
+
if (value == null || typeof value !== "string") return defaultValue;
|
|
46
|
+
return parseFloat(value.trim()) ?? defaultValue;
|
|
47
|
+
}
|
|
48
|
+
/** `true` is a number != 0, a string stating `true`. Otherwise false. */
|
|
49
|
+
function valueToBoolean(value, defaultValue = false) {
|
|
50
|
+
if (value == null) return defaultValue;
|
|
51
|
+
if (typeof value === "boolean") return value;
|
|
52
|
+
if (typeof value === "number") return value !== 0;
|
|
53
|
+
return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase());
|
|
54
|
+
}
|
|
55
|
+
/** Explicitly has to have a `false` value to become `false`, otherwise `true` */
|
|
56
|
+
function valueToBooleanNotFalse(value, defaultValue = true) {
|
|
57
|
+
if (value == null) return defaultValue;
|
|
58
|
+
if (typeof value === "boolean") return value;
|
|
59
|
+
if (typeof value === "number") return value !== 0;
|
|
60
|
+
return !FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase());
|
|
61
|
+
}
|
|
62
|
+
function valueToInteger(value, defaultValue = 0) {
|
|
63
|
+
if (value == null) return defaultValue;
|
|
64
|
+
if (typeof value === "boolean") return value ? 1 : 0;
|
|
65
|
+
if (typeof value === "number") return Math.floor(value);
|
|
66
|
+
return parseInt(String(value).trim(), 10) ?? defaultValue;
|
|
67
|
+
}
|
|
68
|
+
function valueToFloat(value, defaultValue = 0) {
|
|
69
|
+
if (value == null) return defaultValue;
|
|
70
|
+
if (typeof value === "boolean") return value ? 1 : 0;
|
|
71
|
+
if (typeof value === "number") return Math.floor(value);
|
|
72
|
+
return parseFloat(String(value).trim()) ?? defaultValue;
|
|
73
|
+
}
|
|
74
|
+
function valueToString(value, defaultValue = "") {
|
|
75
|
+
if (value == null) return defaultValue;
|
|
76
|
+
return String(value) ?? defaultValue;
|
|
77
|
+
}
|
|
78
|
+
const toFloat = valueToFloat;
|
|
79
|
+
const toInt = valueToInteger;
|
|
80
|
+
const toString = valueToString;
|
|
81
|
+
const toBool = valueToBoolean;
|
|
82
|
+
function fixBrokenUtf8String(brokenString) {
|
|
83
|
+
try {
|
|
84
|
+
return decodeURIComponent(escape(brokenString));
|
|
85
|
+
} catch (e) {}
|
|
86
|
+
return brokenString;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
exports.fixBrokenUtf8String = fixBrokenUtf8String;
|
|
91
|
+
exports.parseFloat = parseFloat;
|
|
92
|
+
exports.parseInt = parseInt;
|
|
93
|
+
exports.stringToBoolean = stringToBoolean;
|
|
94
|
+
exports.stringToFloat = stringToFloat;
|
|
95
|
+
exports.stringToInteger = stringToInteger;
|
|
96
|
+
exports.toBool = toBool;
|
|
97
|
+
exports.toFloat = toFloat;
|
|
98
|
+
exports.toInt = toInt;
|
|
99
|
+
exports.toString = toString;
|
|
100
|
+
exports.valueToBoolean = valueToBoolean;
|
|
101
|
+
exports.valueToBooleanNotFalse = valueToBooleanNotFalse;
|
|
102
|
+
exports.valueToFloat = valueToFloat;
|
|
103
|
+
exports.valueToInteger = valueToInteger;
|
|
104
|
+
exports.valueToString = valueToString;
|
|
2
105
|
//# sourceMappingURL=convert.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.cjs","names":[],"sources":["../../../src/common/data/convert.ts"],"sourcesContent":["\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\n/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */\nexport function parseFloat(value: any): number | undefined {\n try {\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n/** Like Number.parseInt, but returning `undefined` instead of `NaN` */\nexport function parseInt(value: any, radix = 10): number | undefined {\n try {\n const parsed = Number.parseInt(value, radix)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.cjs","names":[],"sources":["../../../src/common/data/convert.ts"],"sourcesContent":["\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\n/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */\nexport function parseFloat(value: any): number | undefined {\n try {\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n/** Like Number.parseInt, but returning `undefined` instead of `NaN` */\nexport function parseInt(value: any, radix = 10): number | undefined {\n try {\n const parsed = Number.parseInt(value, radix)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"],"mappings":";;;AAGA,MAAM,mBAAmB;CAAC;CAAK;CAAQ;CAAO;CAAK;CAAK;AACxD,MAAM,oBAAoB;CAAC;CAAK;CAAS;CAAM;CAAK;CAAM;;AAG1D,SAAgB,WAAW,OAAgC;AACzD,KAAI;EACF,MAAM,SAAS,OAAO,WAAW,MAAM;AACvC,SAAO,OAAO,MAAM,OAAO,GAAG,SAAY;UACnC,GAAG;AACV;;;;AAKJ,SAAgB,SAAS,OAAY,QAAQ,IAAwB;AACnE,KAAI;EACF,MAAM,SAAS,OAAO,SAAS,OAAO,MAAM;AAC5C,SAAO,OAAO,MAAM,OAAO,GAAG,SAAY;UACnC,GAAG;AACV;;;AAKJ,SAAgB,gBAAgB,OAAgB,eAAe,OAAgB;AAC7E,KAAI,SAAS,QAAQ,OAAO,UAAU,SACpC,QAAO;AACT,QAAO,iBAAiB,SAAS,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AAGtE,SAAgB,gBAAgB,OAAgB,eAAe,GAAW;AACxE,KAAI,SAAS,QAAQ,OAAO,UAAU,SACpC,QAAO;AACT,QAAO,SAAS,MAAM,MAAM,EAAE,GAAG,IAAI;;AAGvC,SAAgB,cAAc,OAAgB,eAAe,GAAa;AACxE,KAAI,SAAS,QAAQ,OAAO,UAAU,SACpC,QAAO;AACT,QAAO,WAAW,MAAM,MAAM,CAAC,IAAI;;;AAIrC,SAAgB,eAAe,OAAa,eAAe,OAAgB;AACzE,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO;AACT,KAAI,OAAO,UAAU,SACnB,QAAO,UAAU;AACnB,QAAO,iBAAiB,SAAS,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;;AAItE,SAAgB,uBAAuB,OAAa,eAAe,MAAe;AAChF,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO;AACT,KAAI,OAAO,UAAU,SACnB,QAAO,UAAU;AACnB,QAAO,CAAE,kBAAkB,SAAS,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AAGzE,SAAgB,eAAe,OAAa,eAAe,GAAW;AACpE,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO,QAAQ,IAAI;AACrB,KAAI,OAAO,UAAU,SACnB,QAAO,KAAK,MAAM,MAAM;AAC1B,QAAO,SAAS,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;;AAG/C,SAAgB,aAAa,OAAa,eAAe,GAAa;AACpE,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO,QAAQ,IAAI;AACrB,KAAI,OAAO,UAAU,SACnB,QAAO,KAAK,MAAM,MAAM;AAC1B,QAAO,WAAW,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI;;AAG7C,SAAgB,cAAc,OAAa,eAAe,IAAY;AACpE,KAAI,SAAS,KACX,QAAO;AAET,QAAO,OAAO,MAAM,IAAI;;AAe1B,MAAa,UAAU;AACvB,MAAa,QAAQ;AACrB,MAAa,WAAW;AACxB,MAAa,SAAS;AAItB,SAAgB,oBAAoB,cAA8B;AAChE,KAAI;AACF,SAAO,mBAAmB,OAAO,aAAa,CAAC;UAE1C,GAAG;AAGV,QAAO"}
|
|
@@ -1,2 +1,89 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data/convert.ts
|
|
2
|
+
const TRUE_VALUES_LIST = [
|
|
3
|
+
"1",
|
|
4
|
+
"true",
|
|
5
|
+
"yes",
|
|
6
|
+
"y",
|
|
7
|
+
"on"
|
|
8
|
+
];
|
|
9
|
+
const FALSE_VALUES_LIST = [
|
|
10
|
+
"0",
|
|
11
|
+
"false",
|
|
12
|
+
"no",
|
|
13
|
+
"n",
|
|
14
|
+
"off"
|
|
15
|
+
];
|
|
16
|
+
/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */
|
|
17
|
+
function parseFloat(value) {
|
|
18
|
+
try {
|
|
19
|
+
const parsed = Number.parseFloat(value);
|
|
20
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
21
|
+
} catch (e) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** Like Number.parseInt, but returning `undefined` instead of `NaN` */
|
|
26
|
+
function parseInt(value, radix = 10) {
|
|
27
|
+
try {
|
|
28
|
+
const parsed = Number.parseInt(value, radix);
|
|
29
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
30
|
+
} catch (e) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function stringToBoolean(value, defaultValue = false) {
|
|
35
|
+
if (value == null || typeof value !== "string") return defaultValue;
|
|
36
|
+
return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase());
|
|
37
|
+
}
|
|
38
|
+
function stringToInteger(value, defaultValue = 0) {
|
|
39
|
+
if (value == null || typeof value !== "string") return defaultValue;
|
|
40
|
+
return parseInt(value.trim(), 10) ?? defaultValue;
|
|
41
|
+
}
|
|
42
|
+
function stringToFloat(value, defaultValue = 0) {
|
|
43
|
+
if (value == null || typeof value !== "string") return defaultValue;
|
|
44
|
+
return parseFloat(value.trim()) ?? defaultValue;
|
|
45
|
+
}
|
|
46
|
+
/** `true` is a number != 0, a string stating `true`. Otherwise false. */
|
|
47
|
+
function valueToBoolean(value, defaultValue = false) {
|
|
48
|
+
if (value == null) return defaultValue;
|
|
49
|
+
if (typeof value === "boolean") return value;
|
|
50
|
+
if (typeof value === "number") return value !== 0;
|
|
51
|
+
return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase());
|
|
52
|
+
}
|
|
53
|
+
/** Explicitly has to have a `false` value to become `false`, otherwise `true` */
|
|
54
|
+
function valueToBooleanNotFalse(value, defaultValue = true) {
|
|
55
|
+
if (value == null) return defaultValue;
|
|
56
|
+
if (typeof value === "boolean") return value;
|
|
57
|
+
if (typeof value === "number") return value !== 0;
|
|
58
|
+
return !FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase());
|
|
59
|
+
}
|
|
60
|
+
function valueToInteger(value, defaultValue = 0) {
|
|
61
|
+
if (value == null) return defaultValue;
|
|
62
|
+
if (typeof value === "boolean") return value ? 1 : 0;
|
|
63
|
+
if (typeof value === "number") return Math.floor(value);
|
|
64
|
+
return parseInt(String(value).trim(), 10) ?? defaultValue;
|
|
65
|
+
}
|
|
66
|
+
function valueToFloat(value, defaultValue = 0) {
|
|
67
|
+
if (value == null) return defaultValue;
|
|
68
|
+
if (typeof value === "boolean") return value ? 1 : 0;
|
|
69
|
+
if (typeof value === "number") return Math.floor(value);
|
|
70
|
+
return parseFloat(String(value).trim()) ?? defaultValue;
|
|
71
|
+
}
|
|
72
|
+
function valueToString(value, defaultValue = "") {
|
|
73
|
+
if (value == null) return defaultValue;
|
|
74
|
+
return String(value) ?? defaultValue;
|
|
75
|
+
}
|
|
76
|
+
const toFloat = valueToFloat;
|
|
77
|
+
const toInt = valueToInteger;
|
|
78
|
+
const toString = valueToString;
|
|
79
|
+
const toBool = valueToBoolean;
|
|
80
|
+
function fixBrokenUtf8String(brokenString) {
|
|
81
|
+
try {
|
|
82
|
+
return decodeURIComponent(escape(brokenString));
|
|
83
|
+
} catch (e) {}
|
|
84
|
+
return brokenString;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
export { fixBrokenUtf8String, parseFloat, parseInt, stringToBoolean, stringToFloat, stringToInteger, toBool, toFloat, toInt, toString, valueToBoolean, valueToBooleanNotFalse, valueToFloat, valueToInteger, valueToString };
|
|
2
89
|
//# sourceMappingURL=convert.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.mjs","names":[],"sources":["../../../src/common/data/convert.ts"],"sourcesContent":["\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\n/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */\nexport function parseFloat(value: any): number | undefined {\n try {\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n/** Like Number.parseInt, but returning `undefined` instead of `NaN` */\nexport function parseInt(value: any, radix = 10): number | undefined {\n try {\n const parsed = Number.parseInt(value, radix)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"],"mappings":"AAGA,MAAM,
|
|
1
|
+
{"version":3,"file":"convert.mjs","names":[],"sources":["../../../src/common/data/convert.ts"],"sourcesContent":["\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\n/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */\nexport function parseFloat(value: any): number | undefined {\n try {\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n/** Like Number.parseInt, but returning `undefined` instead of `NaN` */\nexport function parseInt(value: any, radix = 10): number | undefined {\n try {\n const parsed = Number.parseInt(value, radix)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"],"mappings":";AAGA,MAAM,mBAAmB;CAAC;CAAK;CAAQ;CAAO;CAAK;CAAK;AACxD,MAAM,oBAAoB;CAAC;CAAK;CAAS;CAAM;CAAK;CAAM;;AAG1D,SAAgB,WAAW,OAAgC;AACzD,KAAI;EACF,MAAM,SAAS,OAAO,WAAW,MAAM;AACvC,SAAO,OAAO,MAAM,OAAO,GAAG,SAAY;UACnC,GAAG;AACV;;;;AAKJ,SAAgB,SAAS,OAAY,QAAQ,IAAwB;AACnE,KAAI;EACF,MAAM,SAAS,OAAO,SAAS,OAAO,MAAM;AAC5C,SAAO,OAAO,MAAM,OAAO,GAAG,SAAY;UACnC,GAAG;AACV;;;AAKJ,SAAgB,gBAAgB,OAAgB,eAAe,OAAgB;AAC7E,KAAI,SAAS,QAAQ,OAAO,UAAU,SACpC,QAAO;AACT,QAAO,iBAAiB,SAAS,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AAGtE,SAAgB,gBAAgB,OAAgB,eAAe,GAAW;AACxE,KAAI,SAAS,QAAQ,OAAO,UAAU,SACpC,QAAO;AACT,QAAO,SAAS,MAAM,MAAM,EAAE,GAAG,IAAI;;AAGvC,SAAgB,cAAc,OAAgB,eAAe,GAAa;AACxE,KAAI,SAAS,QAAQ,OAAO,UAAU,SACpC,QAAO;AACT,QAAO,WAAW,MAAM,MAAM,CAAC,IAAI;;;AAIrC,SAAgB,eAAe,OAAa,eAAe,OAAgB;AACzE,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO;AACT,KAAI,OAAO,UAAU,SACnB,QAAO,UAAU;AACnB,QAAO,iBAAiB,SAAS,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;;AAItE,SAAgB,uBAAuB,OAAa,eAAe,MAAe;AAChF,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO;AACT,KAAI,OAAO,UAAU,SACnB,QAAO,UAAU;AACnB,QAAO,CAAE,kBAAkB,SAAS,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;AAGzE,SAAgB,eAAe,OAAa,eAAe,GAAW;AACpE,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO,QAAQ,IAAI;AACrB,KAAI,OAAO,UAAU,SACnB,QAAO,KAAK,MAAM,MAAM;AAC1B,QAAO,SAAS,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;;AAG/C,SAAgB,aAAa,OAAa,eAAe,GAAa;AACpE,KAAI,SAAS,KACX,QAAO;AACT,KAAI,OAAO,UAAU,UACnB,QAAO,QAAQ,IAAI;AACrB,KAAI,OAAO,UAAU,SACnB,QAAO,KAAK,MAAM,MAAM;AAC1B,QAAO,WAAW,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI;;AAG7C,SAAgB,cAAc,OAAa,eAAe,IAAY;AACpE,KAAI,SAAS,KACX,QAAO;AAET,QAAO,OAAO,MAAM,IAAI;;AAe1B,MAAa,UAAU;AACvB,MAAa,QAAQ;AACrB,MAAa,WAAW;AACxB,MAAa,SAAS;AAItB,SAAgB,oBAAoB,cAA8B;AAChE,KAAI;AACF,SAAO,mBAAmB,OAAO,aAAa,CAAC;UAE1C,GAAG;AAGV,QAAO"}
|
|
@@ -1,2 +1,33 @@
|
|
|
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_bin_index = require('../bin/index.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/common/data/datauri.ts
|
|
6
|
+
function dataUriToUint8Array(dataUri) {
|
|
7
|
+
if (dataUri.startsWith("data:")) return require_bin.fromBase64(dataUri.split(",", 2)[1]);
|
|
8
|
+
}
|
|
9
|
+
function dataUriToMimeType(dataUri) {
|
|
10
|
+
if (dataUri.startsWith("data:")) return dataUri.slice(5).split(",", 2)[0];
|
|
11
|
+
}
|
|
12
|
+
function dataUriToBlob(dataUri) {
|
|
13
|
+
if (dataUri.startsWith("data:")) {
|
|
14
|
+
const [mimeString, base64String] = dataUri.slice(5).split(",", 2);
|
|
15
|
+
const buffer = require_bin.fromBase64(base64String).slice().buffer;
|
|
16
|
+
return new Blob([buffer], { type: mimeString });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async function blobToDataUri(blob) {
|
|
20
|
+
const bin = await require_common_bin_index.blobToArrayBuffer(blob);
|
|
21
|
+
if (bin) return `data:${blob.type},${require_bin.toBase64(bin)}`;
|
|
22
|
+
}
|
|
23
|
+
function Uint8ArrayToDataUri(bin, type = "application/octet-stream") {
|
|
24
|
+
return `data:${type},${require_bin.toBase64(bin)}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
exports.Uint8ArrayToDataUri = Uint8ArrayToDataUri;
|
|
29
|
+
exports.blobToDataUri = blobToDataUri;
|
|
30
|
+
exports.dataUriToBlob = dataUriToBlob;
|
|
31
|
+
exports.dataUriToMimeType = dataUriToMimeType;
|
|
32
|
+
exports.dataUriToUint8Array = dataUriToUint8Array;
|
|
2
33
|
//# sourceMappingURL=datauri.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datauri.cjs","names":["fromBase64","blobToArrayBuffer","toBase64"],"sources":["../../../src/common/data/datauri.ts"],"sourcesContent":["import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n const u = fromBase64(base64String)\n // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n const buffer = u.slice().buffer\n return new Blob([buffer], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"datauri.cjs","names":["fromBase64","blobToArrayBuffer","toBase64"],"sources":["../../../src/common/data/datauri.ts"],"sourcesContent":["import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n const u = fromBase64(base64String)\n // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n const buffer = u.slice().buffer\n return new Blob([buffer], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"],"mappings":";;;;;AAGA,SAAgB,oBAAoB,SAAyC;AAC3E,KAAI,QAAQ,WAAW,QAAQ,CAC7B,QAAOA,uBAAW,QAAQ,MAAM,KAAK,EAAE,CAAC,GAAG;;AAG/C,SAAgB,kBAAkB,SAAqC;AACrE,KAAI,QAAQ,WAAW,QAAQ,CAC7B,QAAO,QAAQ,MAAM,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC;;AAG1C,SAAgB,cAAc,SAAmC;AAC/D,KAAI,QAAQ,WAAW,QAAQ,EAAE;EAC/B,MAAM,CAAC,YAAY,gBAAgB,QAAQ,MAAM,EAAE,CAAC,MAAM,KAAK,EAAE;EAGnE,MAAM,SAFIA,uBAAW,aAAa,CAEjB,OAAO,CAAC;AACzB,SAAO,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,YAAY,CAAC;;;AAIjD,eAAsB,cAAc,MAAyC;CAC3E,MAAM,MAAM,MAAMC,2CAAkB,KAAK;AACzC,KAAI,IACF,QAAO,QAAQ,KAAK,KAAK,GAAGC,qBAAS,IAAI;;AAG7C,SAAgB,oBAAoB,KAAiB,OAAO,4BAAoC;AAC9F,QAAO,QAAQ,KAAK,GAAGA,qBAAS,IAAI"}
|
|
@@ -1,2 +1,28 @@
|
|
|
1
|
-
import{c as
|
|
1
|
+
import { c as fromBase64, h as toBase64 } from "../../bin-BAoS4qtm.mjs";
|
|
2
|
+
import { blobToArrayBuffer } from "../bin/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/common/data/datauri.ts
|
|
5
|
+
function dataUriToUint8Array(dataUri) {
|
|
6
|
+
if (dataUri.startsWith("data:")) return fromBase64(dataUri.split(",", 2)[1]);
|
|
7
|
+
}
|
|
8
|
+
function dataUriToMimeType(dataUri) {
|
|
9
|
+
if (dataUri.startsWith("data:")) return dataUri.slice(5).split(",", 2)[0];
|
|
10
|
+
}
|
|
11
|
+
function dataUriToBlob(dataUri) {
|
|
12
|
+
if (dataUri.startsWith("data:")) {
|
|
13
|
+
const [mimeString, base64String] = dataUri.slice(5).split(",", 2);
|
|
14
|
+
const buffer = fromBase64(base64String).slice().buffer;
|
|
15
|
+
return new Blob([buffer], { type: mimeString });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async function blobToDataUri(blob) {
|
|
19
|
+
const bin = await blobToArrayBuffer(blob);
|
|
20
|
+
if (bin) return `data:${blob.type},${toBase64(bin)}`;
|
|
21
|
+
}
|
|
22
|
+
function Uint8ArrayToDataUri(bin, type = "application/octet-stream") {
|
|
23
|
+
return `data:${type},${toBase64(bin)}`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Uint8ArrayToDataUri, blobToDataUri, dataUriToBlob, dataUriToMimeType, dataUriToUint8Array };
|
|
2
28
|
//# sourceMappingURL=datauri.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datauri.mjs","names":[],"sources":["../../../src/common/data/datauri.ts"],"sourcesContent":["import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n const u = fromBase64(base64String)\n // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n const buffer = u.slice().buffer\n return new Blob([buffer], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"datauri.mjs","names":[],"sources":["../../../src/common/data/datauri.ts"],"sourcesContent":["import { blobToArrayBuffer } from '../bin'\nimport { fromBase64, toBase64 } from './bin'\n\nexport function dataUriToUint8Array(dataUri: string): Uint8Array | undefined {\n if (dataUri.startsWith('data:'))\n return fromBase64(dataUri.split(',', 2)[1])\n}\n\nexport function dataUriToMimeType(dataUri: string): string | undefined {\n if (dataUri.startsWith('data:'))\n return dataUri.slice(5).split(',', 2)[0]\n}\n\nexport function dataUriToBlob(dataUri: string): Blob | undefined {\n if (dataUri.startsWith('data:')) {\n const [mimeString, base64String] = dataUri.slice(5).split(',', 2)\n const u = fromBase64(base64String)\n // create a plain ArrayBuffer copy (ensures .buffer is an ArrayBuffer, not SharedArrayBuffer)\n const buffer = u.slice().buffer\n return new Blob([buffer], { type: mimeString })\n }\n}\n\nexport async function blobToDataUri(blob: Blob): Promise<string | undefined> {\n const bin = await blobToArrayBuffer(blob)\n if (bin)\n return `data:${blob.type},${toBase64(bin)}`\n}\n\nexport function Uint8ArrayToDataUri(bin: Uint8Array, type = 'application/octet-stream'): string {\n return `data:${type},${toBase64(bin)}`\n}\n"],"mappings":";;;;AAGA,SAAgB,oBAAoB,SAAyC;AAC3E,KAAI,QAAQ,WAAW,QAAQ,CAC7B,QAAO,WAAW,QAAQ,MAAM,KAAK,EAAE,CAAC,GAAG;;AAG/C,SAAgB,kBAAkB,SAAqC;AACrE,KAAI,QAAQ,WAAW,QAAQ,CAC7B,QAAO,QAAQ,MAAM,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC;;AAG1C,SAAgB,cAAc,SAAmC;AAC/D,KAAI,QAAQ,WAAW,QAAQ,EAAE;EAC/B,MAAM,CAAC,YAAY,gBAAgB,QAAQ,MAAM,EAAE,CAAC,MAAM,KAAK,EAAE;EAGnE,MAAM,SAFI,WAAW,aAAa,CAEjB,OAAO,CAAC;AACzB,SAAO,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,YAAY,CAAC;;;AAIjD,eAAsB,cAAc,MAAyC;CAC3E,MAAM,MAAM,MAAM,kBAAkB,KAAK;AACzC,KAAI,IACF,QAAO,QAAQ,KAAK,KAAK,GAAG,SAAS,IAAI;;AAG7C,SAAgB,oBAAoB,KAAiB,OAAO,4BAAoC;AAC9F,QAAO,QAAQ,KAAK,GAAG,SAAS,IAAI"}
|
|
@@ -1,2 +1,149 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_exec_promise = require('../exec/promise.cjs');
|
|
3
|
+
const require_common_data_day = require('./day.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/common/data/day-legacy.ts
|
|
6
|
+
/**
|
|
7
|
+
* Date represented as positive integer value. Years smaller 0 are not supported.
|
|
8
|
+
* @deprecated
|
|
9
|
+
*/
|
|
10
|
+
var Day = class Day {
|
|
11
|
+
days;
|
|
12
|
+
get value() {
|
|
13
|
+
return this.days;
|
|
14
|
+
}
|
|
15
|
+
constructor(days) {
|
|
16
|
+
if (typeof days === "number") {
|
|
17
|
+
this.days = days;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (days != null) days = Day.from(days)?.days;
|
|
21
|
+
if (days == null) {
|
|
22
|
+
const date = /* @__PURE__ */ new Date();
|
|
23
|
+
this.days = date.getFullYear() * 1e4 + (date.getMonth() + 1) * 100 + date.getDate();
|
|
24
|
+
} else this.days = days;
|
|
25
|
+
}
|
|
26
|
+
static fromNumber(n) {
|
|
27
|
+
return new Day(n);
|
|
28
|
+
}
|
|
29
|
+
static fromString(dateString) {
|
|
30
|
+
return Day.from(+dateString.replace(/\D/g, "").slice(0, 8));
|
|
31
|
+
}
|
|
32
|
+
static fromDate(date, utc = false) {
|
|
33
|
+
return utc ? Day.fromString(date.toISOString().substr(0, 10)) : Day.from(date.getFullYear() * 1e4 + (date.getMonth() + 1) * 100 + date.getDate());
|
|
34
|
+
}
|
|
35
|
+
static fromDateUTC(date) {
|
|
36
|
+
return Day.fromDate(date, true);
|
|
37
|
+
}
|
|
38
|
+
/** @deprecated use fromDateUTC */
|
|
39
|
+
static fromDateGMT(date) {
|
|
40
|
+
return Day.fromDate(date, true);
|
|
41
|
+
}
|
|
42
|
+
static from(value, utc = false) {
|
|
43
|
+
if (typeof value === "number") {
|
|
44
|
+
if (value < 100) return;
|
|
45
|
+
return new Day(value);
|
|
46
|
+
} else if (typeof value === "string") return Day.fromString(value);
|
|
47
|
+
else if (Array.isArray(value) && value.length === 3) {
|
|
48
|
+
const [year, month = 1, day = 1] = value;
|
|
49
|
+
if (month < 1 || month > 12 || day < 1 || day > 31) return;
|
|
50
|
+
return new Day(year * 1e4 + month * 100 + day);
|
|
51
|
+
} else if (value instanceof Date) return Day.fromDate(value, utc);
|
|
52
|
+
else if (value instanceof Day) return value;
|
|
53
|
+
}
|
|
54
|
+
toNumber() {
|
|
55
|
+
return this.days;
|
|
56
|
+
}
|
|
57
|
+
/** Just for future extensions */
|
|
58
|
+
toJson() {
|
|
59
|
+
return this.days;
|
|
60
|
+
}
|
|
61
|
+
toString(sep = "-") {
|
|
62
|
+
const baseString = String(this.days);
|
|
63
|
+
return baseString.slice(0, 4) + sep + baseString.slice(4, 6) + sep + baseString.slice(6, 8);
|
|
64
|
+
}
|
|
65
|
+
toDate(utc = false) {
|
|
66
|
+
return utc ? /* @__PURE__ */ new Date(`${this.toString()}T00:00:00.000Z`) : new Date(this.days / 1e4, this.days / 100 % 100 - 1, this.days % 100);
|
|
67
|
+
}
|
|
68
|
+
toDateUTC() {
|
|
69
|
+
return this.toDate(true);
|
|
70
|
+
}
|
|
71
|
+
/** @deprecated use toDateUTC */
|
|
72
|
+
toDateGMT() {
|
|
73
|
+
return this.toDate(true);
|
|
74
|
+
}
|
|
75
|
+
get year() {
|
|
76
|
+
return Math.floor(this.days / 1e4);
|
|
77
|
+
}
|
|
78
|
+
get month() {
|
|
79
|
+
return Math.floor(this.days / 100 % 100);
|
|
80
|
+
}
|
|
81
|
+
get day() {
|
|
82
|
+
return Math.floor(this.days % 100);
|
|
83
|
+
}
|
|
84
|
+
dayOffset(offset) {
|
|
85
|
+
return Day.fromDateUTC(new Date(this.toDateUTC().getTime() + offset * require_common_data_day.DAY_MS));
|
|
86
|
+
}
|
|
87
|
+
monthStart() {
|
|
88
|
+
return Day.from([
|
|
89
|
+
this.year,
|
|
90
|
+
this.month,
|
|
91
|
+
1
|
|
92
|
+
]);
|
|
93
|
+
}
|
|
94
|
+
yearStart() {
|
|
95
|
+
return Day.from([
|
|
96
|
+
this.year,
|
|
97
|
+
1,
|
|
98
|
+
1
|
|
99
|
+
]);
|
|
100
|
+
}
|
|
101
|
+
/** Very stupid approach, only works for days <= 28 */
|
|
102
|
+
monthOffset(offset) {
|
|
103
|
+
const m = this.month + offset;
|
|
104
|
+
let mm = Math.floor((m - 1) % 12) + 1;
|
|
105
|
+
if (mm === 0) mm = 12;
|
|
106
|
+
const yy = Math.floor((m - 1) / 12);
|
|
107
|
+
return Day.from([
|
|
108
|
+
this.year + yy,
|
|
109
|
+
mm,
|
|
110
|
+
this.day
|
|
111
|
+
]);
|
|
112
|
+
}
|
|
113
|
+
daysUntil(otherDay) {
|
|
114
|
+
return Math.round((new Day(otherDay)?.toDateUTC().getTime() - this.toDateUTC().getTime()) / require_common_data_day.DAY_MS);
|
|
115
|
+
}
|
|
116
|
+
yesterday() {
|
|
117
|
+
return this.dayOffset(-1);
|
|
118
|
+
}
|
|
119
|
+
tomorrow() {
|
|
120
|
+
return this.dayOffset(1);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
async function forEachDay(from, to, handler) {
|
|
124
|
+
let start = Day.from(from);
|
|
125
|
+
const end = Day.from(to);
|
|
126
|
+
while (start && end && start?.days <= end?.days) {
|
|
127
|
+
const result = handler(start);
|
|
128
|
+
if (require_common_exec_promise.isPromise(result)) await result;
|
|
129
|
+
start = start.dayOffset(1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function today() {
|
|
133
|
+
return new Day();
|
|
134
|
+
}
|
|
135
|
+
/** @deprecated */
|
|
136
|
+
function day(days) {
|
|
137
|
+
return new Day(days);
|
|
138
|
+
}
|
|
139
|
+
function dateStringToDays(dateString) {
|
|
140
|
+
return Day.fromDate(new Date(dateString)).days;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
//#endregion
|
|
144
|
+
exports.Day = Day;
|
|
145
|
+
exports.dateStringToDays = dateStringToDays;
|
|
146
|
+
exports.day = day;
|
|
147
|
+
exports.forEachDay = forEachDay;
|
|
148
|
+
exports.today = today;
|
|
2
149
|
//# sourceMappingURL=day-legacy.cjs.map
|