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,3 +1,31 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
2
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_data_is = require('../data/is.cjs');
|
|
3
|
+
const require_common_assert = require('../assert.cjs');
|
|
4
|
+
const require_common_data_object = require('../data/object.cjs');
|
|
5
|
+
const require_common_schema_utils = require('./utils.cjs');
|
|
6
|
+
|
|
7
|
+
//#region src/common/schema/export-swift.ts
|
|
8
|
+
const mapSwiftType = {
|
|
9
|
+
string: "String",
|
|
10
|
+
number: "Double",
|
|
11
|
+
int: "Int",
|
|
12
|
+
boolean: "Bool"
|
|
13
|
+
};
|
|
14
|
+
function schemaExportSwiftStruct(schema, name = "Example") {
|
|
15
|
+
require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
16
|
+
let protocol = "";
|
|
17
|
+
if (schema._meta?.swiftProtocol) protocol = `: ${schema._meta.swiftProtocol}`;
|
|
18
|
+
const lines = [`struct ${schema._meta?.swiftName ?? name}${protocol} {`];
|
|
19
|
+
require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
20
|
+
let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`;
|
|
21
|
+
if (schema._optional === true) s += "?";
|
|
22
|
+
if (schema._meta?.swiftDefault || schema._default != null && require_common_data_is.isPrimitive(schema._default)) s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`;
|
|
23
|
+
lines.push(s);
|
|
24
|
+
});
|
|
25
|
+
lines.push("}");
|
|
26
|
+
return lines.join("\n");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.schemaExportSwiftStruct = schemaExportSwiftStruct;
|
|
3
31
|
//# sourceMappingURL=export-swift.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-swift.cjs","names":["isSchemaObjectFlat","isPrimitive"],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"export-swift.cjs","names":["isSchemaObjectFlat","isPrimitive"],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;AAeA,MAAM,eAAe;CACnB,QAAQ;CACR,QAAQ;CACR,KAAK;CACL,SAAS;CACV;AAED,SAAgB,wBAA2B,QAAiB,OAAe,WAAmB;AAC5F,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,IAAI,WAAW;AACf,KAAI,OAAO,OAAO,cAChB,YAAW,KAAK,OAAO,MAAM;CAG/B,MAAM,QAAkB,CACtB,UAAU,OAAO,OAAO,aAAa,OAAO,SAAS,IACtD;AAED,sCAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,SAAS,IAAI,IAAI,aAAa,OAAO,SAAS,OAAO;AAC7D,MAAI,OAAO,cAAc,KACvB,MAAK;AACP,MAAI,OAAO,OAAO,gBAAiB,OAAO,YAAY,QAAQC,mCAAY,OAAO,SAAS,CACxF,MAAK,MAAM,OAAO,OAAO,gBAAgB,KAAK,UAAU,OAAO,SAAS;AAC1E,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
-
import{isPrimitive
|
|
2
|
-
|
|
1
|
+
import { isPrimitive } from "../data/is.mjs";
|
|
2
|
+
import { assert } from "../assert.mjs";
|
|
3
|
+
import { objectMap } from "../data/object.mjs";
|
|
4
|
+
import { isSchemaObjectFlat } from "./utils.mjs";
|
|
5
|
+
|
|
6
|
+
//#region src/common/schema/export-swift.ts
|
|
7
|
+
const mapSwiftType = {
|
|
8
|
+
string: "String",
|
|
9
|
+
number: "Double",
|
|
10
|
+
int: "Int",
|
|
11
|
+
boolean: "Bool"
|
|
12
|
+
};
|
|
13
|
+
function schemaExportSwiftStruct(schema, name = "Example") {
|
|
14
|
+
assert(isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
15
|
+
let protocol = "";
|
|
16
|
+
if (schema._meta?.swiftProtocol) protocol = `: ${schema._meta.swiftProtocol}`;
|
|
17
|
+
const lines = [`struct ${schema._meta?.swiftName ?? name}${protocol} {`];
|
|
18
|
+
objectMap(schema._object, (key, schema) => {
|
|
19
|
+
let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`;
|
|
20
|
+
if (schema._optional === true) s += "?";
|
|
21
|
+
if (schema._meta?.swiftDefault || schema._default != null && isPrimitive(schema._default)) s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`;
|
|
22
|
+
lines.push(s);
|
|
23
|
+
});
|
|
24
|
+
lines.push("}");
|
|
25
|
+
return lines.join("\n");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
export { schemaExportSwiftStruct };
|
|
3
30
|
//# sourceMappingURL=export-swift.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-swift.mjs","names":[],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"export-swift.mjs","names":[],"sources":["../../../src/common/schema/export-swift.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { isPrimitive } from '../data'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n swiftName?: string\n swiftProtocol?: string\n swiftDesc?: string\n swiftDefault?: string\n }\n}\n\nconst mapSwiftType = {\n string: 'String',\n number: 'Double',\n int: 'Int',\n boolean: 'Bool',\n} as any\n\nexport function schemaExportSwiftStruct<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n let protocol = ''\n if (schema._meta?.swiftProtocol) {\n protocol = `: ${schema._meta.swiftProtocol}`\n }\n\n const lines: string[] = [\n `struct ${schema._meta?.swiftName ?? name}${protocol} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = ` var ${key}: ${mapSwiftType[schema.type] ?? schema.type}`\n if (schema._optional === true)\n s += '?'\n if (schema._meta?.swiftDefault || (schema._default != null && isPrimitive(schema._default)))\n s += ` = ${schema._meta?.swiftDefault ?? JSON.stringify(schema._default)}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;AAeA,MAAM,eAAe;CACnB,QAAQ;CACR,QAAQ;CACR,KAAK;CACL,SAAS;CACV;AAED,SAAgB,wBAA2B,QAAiB,OAAe,WAAmB;AAC5F,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,IAAI,WAAW;AACf,KAAI,OAAO,OAAO,cAChB,YAAW,KAAK,OAAO,MAAM;CAG/B,MAAM,QAAkB,CACtB,UAAU,OAAO,OAAO,aAAa,OAAO,SAAS,IACtD;AAED,WAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,SAAS,IAAI,IAAI,aAAa,OAAO,SAAS,OAAO;AAC7D,MAAI,OAAO,cAAc,KACvB,MAAK;AACP,MAAI,OAAO,OAAO,gBAAiB,OAAO,YAAY,QAAQ,YAAY,OAAO,SAAS,CACxF,MAAK,MAAM,OAAO,OAAO,gBAAgB,KAAK,UAAU,OAAO,SAAS;AAC1E,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
2
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_assert = require('../assert.cjs');
|
|
3
|
+
const require_common_data_object = require('../data/object.cjs');
|
|
4
|
+
const require_common_schema_utils = require('./utils.cjs');
|
|
5
|
+
|
|
6
|
+
//#region src/common/schema/export-typescript.ts
|
|
7
|
+
const mapTypescriptType = { int: "number" };
|
|
8
|
+
function schemaExportTypescriptInterface(schema, name = "Example") {
|
|
9
|
+
require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
10
|
+
const lines = [`interface ${name} {`];
|
|
11
|
+
require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
12
|
+
const s = ` ${key}${schema._optional === true ? "?" : ""}: ${mapTypescriptType[schema.type] ?? schema.type}`;
|
|
13
|
+
lines.push(s);
|
|
14
|
+
});
|
|
15
|
+
lines.push("}");
|
|
16
|
+
return lines.join("\n");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.schemaExportTypescriptInterface = schemaExportTypescriptInterface;
|
|
3
21
|
//# sourceMappingURL=export-typescript.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-typescript.cjs","names":["isSchemaObjectFlat"],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"export-typescript.cjs","names":["isSchemaObjectFlat"],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;AAYA,MAAM,oBAAoB,EACxB,KAAK,UACN;AAED,SAAgB,gCAAmC,QAAiB,OAAe,WAAmB;AACpG,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,CACtB,aAAa,KAAK,IACnB;AAED,sCAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,MAAM,IAAI,KAAK,MAAM,OAAO,cAAc,OAAO,MAAM,GAAG,IAAI,kBAAkB,OAAO,SAAS,OAAO;AAGvG,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
-
import{assert
|
|
2
|
-
|
|
1
|
+
import { assert } from "../assert.mjs";
|
|
2
|
+
import { objectMap } from "../data/object.mjs";
|
|
3
|
+
import { isSchemaObjectFlat } from "./utils.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/common/schema/export-typescript.ts
|
|
6
|
+
const mapTypescriptType = { int: "number" };
|
|
7
|
+
function schemaExportTypescriptInterface(schema, name = "Example") {
|
|
8
|
+
assert(isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
9
|
+
const lines = [`interface ${name} {`];
|
|
10
|
+
objectMap(schema._object, (key, schema) => {
|
|
11
|
+
const s = ` ${key}${schema._optional === true ? "?" : ""}: ${mapTypescriptType[schema.type] ?? schema.type}`;
|
|
12
|
+
lines.push(s);
|
|
13
|
+
});
|
|
14
|
+
lines.push("}");
|
|
15
|
+
return lines.join("\n");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { schemaExportTypescriptInterface };
|
|
3
20
|
//# sourceMappingURL=export-typescript.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-typescript.mjs","names":[],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"export-typescript.mjs","names":[],"sources":["../../../src/common/schema/export-typescript.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { objectMap } from '../data/object'\nimport { isSchemaObjectFlat } from './utils'\n\n// declare module './schema' {\n// interface TypeMeta {\n// argShort?: string\n// argDesc?: string\n// }\n// }\n\nconst mapTypescriptType = {\n int: 'number',\n} as any\n\nexport function schemaExportTypescriptInterface<T>(schema: Type<T>, name: string = 'Example'): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = [\n `interface ${name} {`,\n ]\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n const s = ` ${key}${schema._optional === true ? '?' : ''}: ${mapTypescriptType[schema.type] ?? schema.type}`\n // if (schema._default != null)\n // s += ` = ${schema._default}`\n lines.push(s)\n })\n\n lines.push('}')\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;AAYA,MAAM,oBAAoB,EACxB,KAAK,UACN;AAED,SAAgB,gCAAmC,QAAiB,OAAe,WAAmB;AACpG,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,CACtB,aAAa,KAAK,IACnB;AAED,WAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,MAAM,IAAI,KAAK,MAAM,OAAO,cAAc,OAAO,MAAM,GAAG,IAAI,kBAAkB,OAAO,SAAS,OAAO;AAGvG,QAAM,KAAK,EAAE;GACb;AAEF,OAAM,KAAK,IAAI;AAEf,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1 +1,55 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_schema_export_json_schema = require('./export-json-schema.cjs');
|
|
3
|
+
const require_common_schema_utils = require('./utils.cjs');
|
|
4
|
+
const require_common_schema_export_swift = require('./export-swift.cjs');
|
|
5
|
+
const require_common_schema_export_typescript = require('./export-typescript.cjs');
|
|
6
|
+
const require_common_schema_parse_object = require('./parse-object.cjs');
|
|
7
|
+
const require_common_schema_parse_args = require('./parse-args.cjs');
|
|
8
|
+
const require_common_schema_parse_env = require('./parse-env.cjs');
|
|
9
|
+
const require_common_schema_schema = require('./schema.cjs');
|
|
10
|
+
const require_common_schema_serialize = require('./serialize.cjs');
|
|
11
|
+
const require_common_schema_z_collection = require('./z-collection.cjs');
|
|
12
|
+
|
|
13
|
+
exports.Type = require_common_schema_schema.Type;
|
|
14
|
+
exports.any = require_common_schema_schema.any;
|
|
15
|
+
exports.array = require_common_schema_schema.array;
|
|
16
|
+
exports.boolean = require_common_schema_schema.boolean;
|
|
17
|
+
exports.deserializeSchema = require_common_schema_serialize.deserializeSchema;
|
|
18
|
+
exports.double = require_common_schema_schema.double;
|
|
19
|
+
exports.float = require_common_schema_schema.float;
|
|
20
|
+
exports.func = require_common_schema_schema.func;
|
|
21
|
+
exports.helpSchemaArgs = require_common_schema_parse_args.helpSchemaArgs;
|
|
22
|
+
exports.int = require_common_schema_schema.int;
|
|
23
|
+
exports.isSchemaDefault = require_common_schema_utils.isSchemaDefault;
|
|
24
|
+
exports.isSchemaObject = require_common_schema_utils.isSchemaObject;
|
|
25
|
+
exports.isSchemaObjectFlat = require_common_schema_utils.isSchemaObjectFlat;
|
|
26
|
+
exports.isSchemaOptional = require_common_schema_utils.isSchemaOptional;
|
|
27
|
+
exports.isSchemaPrimitive = require_common_schema_utils.isSchemaPrimitive;
|
|
28
|
+
exports.literal = require_common_schema_schema.literal;
|
|
29
|
+
exports.none = require_common_schema_schema.none;
|
|
30
|
+
exports.number = require_common_schema_schema.number;
|
|
31
|
+
exports.object = require_common_schema_schema.object;
|
|
32
|
+
exports.parseSchemaArgs = require_common_schema_parse_args.parseSchemaArgs;
|
|
33
|
+
exports.parseSchemaEnv = require_common_schema_parse_env.parseSchemaEnv;
|
|
34
|
+
exports.real = require_common_schema_schema.real;
|
|
35
|
+
exports.record = require_common_schema_schema.record;
|
|
36
|
+
exports.rpc = require_common_schema_schema.rpc;
|
|
37
|
+
exports.schemaCreateObject = require_common_schema_parse_object.schemaCreateObject;
|
|
38
|
+
exports.schemaExportJsonSchema = require_common_schema_export_json_schema.schemaExportJsonSchema;
|
|
39
|
+
exports.schemaExportJsonSchemaString = require_common_schema_export_json_schema.schemaExportJsonSchemaString;
|
|
40
|
+
exports.schemaExportSwiftStruct = require_common_schema_export_swift.schemaExportSwiftStruct;
|
|
41
|
+
exports.schemaExportTypescriptInterface = require_common_schema_export_typescript.schemaExportTypescriptInterface;
|
|
42
|
+
exports.schemaParseObject = require_common_schema_parse_object.schemaParseObject;
|
|
43
|
+
exports.schemaValidateObject = require_common_schema_parse_object.schemaValidateObject;
|
|
44
|
+
exports.serializeSchema = require_common_schema_serialize.serializeSchema;
|
|
45
|
+
exports.string = require_common_schema_schema.string;
|
|
46
|
+
exports.stringFromSchemaEnv = require_common_schema_parse_env.stringFromSchemaEnv;
|
|
47
|
+
exports.stringLiterals = require_common_schema_schema.stringLiterals;
|
|
48
|
+
exports.tuple = require_common_schema_schema.tuple;
|
|
49
|
+
exports.union = require_common_schema_schema.union;
|
|
50
|
+
Object.defineProperty(exports, 'z', {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function () {
|
|
53
|
+
return require_common_schema_z_collection.z_collection_exports;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { schemaExportJsonSchema, schemaExportJsonSchemaString } from "./export-json-schema.mjs";
|
|
2
|
+
import { isSchemaDefault, isSchemaObject, isSchemaObjectFlat, isSchemaOptional, isSchemaPrimitive } from "./utils.mjs";
|
|
3
|
+
import { schemaExportSwiftStruct } from "./export-swift.mjs";
|
|
4
|
+
import { schemaExportTypescriptInterface } from "./export-typescript.mjs";
|
|
5
|
+
import { schemaCreateObject, schemaParseObject, schemaValidateObject } from "./parse-object.mjs";
|
|
6
|
+
import { helpSchemaArgs, parseSchemaArgs } from "./parse-args.mjs";
|
|
7
|
+
import { parseSchemaEnv, stringFromSchemaEnv } from "./parse-env.mjs";
|
|
8
|
+
import { Type, any, array, boolean, double, float, func, int, literal, none, number, object, real, record, rpc, string, stringLiterals, tuple, union } from "./schema.mjs";
|
|
9
|
+
import { deserializeSchema, serializeSchema } from "./serialize.mjs";
|
|
10
|
+
import { t as z_collection_exports } from "./z-collection.mjs";
|
|
11
|
+
|
|
12
|
+
export { Type, any, array, boolean, deserializeSchema, double, float, func, helpSchemaArgs, int, isSchemaDefault, isSchemaObject, isSchemaObjectFlat, isSchemaOptional, isSchemaPrimitive, literal, none, number, object, parseSchemaArgs, parseSchemaEnv, real, record, rpc, schemaCreateObject, schemaExportJsonSchema, schemaExportJsonSchemaString, schemaExportSwiftStruct, schemaExportTypescriptInterface, schemaParseObject, schemaValidateObject, serializeSchema, string, stringFromSchemaEnv, stringLiterals, tuple, union, z_collection_exports as z };
|
|
@@ -1,3 +1,63 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
2
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_assert = require('../assert.cjs');
|
|
3
|
+
const require_common_data_camelcase = require('../data/camelcase.cjs');
|
|
4
|
+
const require_common_data_convert = require('../data/convert.cjs');
|
|
5
|
+
const require_common_data_object = require('../data/object.cjs');
|
|
6
|
+
const require_common_schema_utils = require('./utils.cjs');
|
|
7
|
+
const require_common_schema_parse_object = require('./parse-object.cjs');
|
|
8
|
+
|
|
9
|
+
//#region src/common/schema/parse-args.ts
|
|
10
|
+
function parseSchemaArgs(schema, args = process?.argv ?? {}) {
|
|
11
|
+
require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
12
|
+
const alias = {};
|
|
13
|
+
const booleanArgs = [];
|
|
14
|
+
require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
15
|
+
if (schema._meta?.argShort) alias[require_common_data_camelcase.toCamelCase(schema._meta.argShort)] = require_common_data_camelcase.toCamelCase(key);
|
|
16
|
+
if (schema.type === "boolean") booleanArgs.push(require_common_data_camelcase.toCamelCase(key));
|
|
17
|
+
});
|
|
18
|
+
const argList = [...args];
|
|
19
|
+
let arg;
|
|
20
|
+
const names = [];
|
|
21
|
+
const argsObj = {};
|
|
22
|
+
while (arg = argList.shift()) {
|
|
23
|
+
let value;
|
|
24
|
+
if (/^--?/.test(arg)) {
|
|
25
|
+
let key = arg.replace(/^--?/, "");
|
|
26
|
+
if (arg.includes("=")) {
|
|
27
|
+
const [name, valuePart] = key.split("=", 2);
|
|
28
|
+
key = name.trim();
|
|
29
|
+
value = valuePart.trim();
|
|
30
|
+
}
|
|
31
|
+
key = require_common_data_camelcase.toCamelCase(key);
|
|
32
|
+
key = alias[key] ?? key;
|
|
33
|
+
if (booleanArgs.includes(key)) argsObj[key] = true;
|
|
34
|
+
else {
|
|
35
|
+
value = value ?? argList.shift() ?? "";
|
|
36
|
+
argsObj[key] = value;
|
|
37
|
+
}
|
|
38
|
+
} else names.push(arg);
|
|
39
|
+
}
|
|
40
|
+
return [require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
41
|
+
let value = argsObj[require_common_data_camelcase.toCamelCase(key)];
|
|
42
|
+
if (schema.type === "number" && value != null) value = require_common_data_convert.valueToInteger(value);
|
|
43
|
+
return require_common_schema_parse_object.schemaParseObject(schema, value);
|
|
44
|
+
}), names];
|
|
45
|
+
}
|
|
46
|
+
function helpSchemaArgs(schema) {
|
|
47
|
+
require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
48
|
+
const lines = [];
|
|
49
|
+
require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
50
|
+
let s = `--${require_common_data_camelcase.fromCamelCase(key)}`;
|
|
51
|
+
if (schema._meta?.argShort) s += `, -${require_common_data_camelcase.fromCamelCase(schema._meta.argShort)}`;
|
|
52
|
+
if (schema.type !== "boolean") s += `=${schema.type}`;
|
|
53
|
+
lines.push(s);
|
|
54
|
+
const desc = schema._meta?.argDesc ?? schema._meta?.desc;
|
|
55
|
+
if (desc) lines.push(` ${desc}`);
|
|
56
|
+
});
|
|
57
|
+
return lines.join("\n");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
exports.helpSchemaArgs = helpSchemaArgs;
|
|
62
|
+
exports.parseSchemaArgs = parseSchemaArgs;
|
|
3
63
|
//# sourceMappingURL=parse-args.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-args.cjs","names":["isSchemaObjectFlat","toCamelCase","objectMap","valueToInteger","schemaParseObject","fromCamelCase"],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-args.cjs","names":["isSchemaObjectFlat","toCamelCase","objectMap","valueToInteger","schemaParseObject","fromCamelCase"],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,gBAAmB,QAAiB,OAAY,SAAS,QAAQ,EAAE,EAAiB;AAClG,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAgC,EAAE;CACxC,MAAM,cAAwB,EAAE;AAEhC,sCAAU,OAAO,UAAW,KAAK,WAAsB;AACrD,MAAI,OAAO,OAAO,SAChB,OAAMC,0CAAY,OAAO,MAAM,SAAS,IAAIA,0CAAY,IAAI;AAC9D,MAAI,OAAO,SAAS,UAClB,aAAY,KAAKA,0CAAY,IAAI,CAAC;GAEpC;CAEF,MAAM,UAAU,CAAC,GAAG,KAAK;CACzB,IAAI;CACJ,MAAM,QAAkB,EAAE;CAC1B,MAAM,UAA+B,EAAE;AAGvC,QAAQ,MAAM,QAAQ,OAAO,EAAG;EAC9B,IAAI;AACJ,MAAI,OAAO,KAAK,IAAI,EAAE;GACpB,IAAI,MAAM,IAAI,QAAQ,QAAQ,GAAG;AACjC,OAAI,IAAI,SAAS,IAAI,EAAE;IACrB,MAAM,CAAC,MAAM,aAAa,IAAI,MAAM,KAAK,EAAE;AAC3C,UAAM,KAAK,MAAM;AACjB,YAAQ,UAAU,MAAM;;AAE1B,SAAMA,0CAAY,IAAI;AACtB,SAAM,MAAM,QAAQ;AACpB,OAAI,YAAY,SAAS,IAAI,CAC3B,SAAQ,OAAO;QAEZ;AACH,YAAQ,SAAS,QAAQ,OAAO,IAAI;AACpC,YAAQ,OAAO;;QAIjB,OAAM,KAAK,IAAI;;AAYnB,QAAO,CARYC,qCAAU,OAAO,UAAW,KAAK,WAAW;EAC7D,IAAI,QAAQ,QAAQD,0CAAY,IAAI;AACpC,MAAI,OAAO,SAAS,YAAY,SAAS,KACvC,SAAQE,2CAAe,MAAM;AAE/B,SAAOC,qDAAkB,QAAQ,MAAM;GACvC,EAEkB,MAAM;;AAG5B,SAAgB,eAAkB,QAAyB;AACzD,8BAAOJ,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,EAAE;AAE1B,sCAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,KAAKK,4CAAc,IAAI;AAC/B,MAAI,OAAO,OAAO,SAChB,MAAK,MAAMA,4CAAc,OAAO,MAAM,SAAS;AACjD,MAAI,OAAO,SAAS,UAClB,MAAK,IAAI,OAAO;AAClB,QAAM,KAAK,EAAE;EACb,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,OAAO;AACpD,MAAI,KACF,OAAM,KAAK,KAAK,OAAO;GACzB;AAEF,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,3 +1,61 @@
|
|
|
1
|
-
import{
|
|
2
|
-
|
|
1
|
+
import { assert } from "../assert.mjs";
|
|
2
|
+
import { fromCamelCase, toCamelCase } from "../data/camelcase.mjs";
|
|
3
|
+
import { valueToInteger } from "../data/convert.mjs";
|
|
4
|
+
import { objectMap } from "../data/object.mjs";
|
|
5
|
+
import { isSchemaObjectFlat } from "./utils.mjs";
|
|
6
|
+
import { schemaParseObject } from "./parse-object.mjs";
|
|
7
|
+
|
|
8
|
+
//#region src/common/schema/parse-args.ts
|
|
9
|
+
function parseSchemaArgs(schema, args = process?.argv ?? {}) {
|
|
10
|
+
assert(isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
11
|
+
const alias = {};
|
|
12
|
+
const booleanArgs = [];
|
|
13
|
+
objectMap(schema._object, (key, schema) => {
|
|
14
|
+
if (schema._meta?.argShort) alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key);
|
|
15
|
+
if (schema.type === "boolean") booleanArgs.push(toCamelCase(key));
|
|
16
|
+
});
|
|
17
|
+
const argList = [...args];
|
|
18
|
+
let arg;
|
|
19
|
+
const names = [];
|
|
20
|
+
const argsObj = {};
|
|
21
|
+
while (arg = argList.shift()) {
|
|
22
|
+
let value;
|
|
23
|
+
if (/^--?/.test(arg)) {
|
|
24
|
+
let key = arg.replace(/^--?/, "");
|
|
25
|
+
if (arg.includes("=")) {
|
|
26
|
+
const [name, valuePart] = key.split("=", 2);
|
|
27
|
+
key = name.trim();
|
|
28
|
+
value = valuePart.trim();
|
|
29
|
+
}
|
|
30
|
+
key = toCamelCase(key);
|
|
31
|
+
key = alias[key] ?? key;
|
|
32
|
+
if (booleanArgs.includes(key)) argsObj[key] = true;
|
|
33
|
+
else {
|
|
34
|
+
value = value ?? argList.shift() ?? "";
|
|
35
|
+
argsObj[key] = value;
|
|
36
|
+
}
|
|
37
|
+
} else names.push(arg);
|
|
38
|
+
}
|
|
39
|
+
return [objectMap(schema._object, (key, schema) => {
|
|
40
|
+
let value = argsObj[toCamelCase(key)];
|
|
41
|
+
if (schema.type === "number" && value != null) value = valueToInteger(value);
|
|
42
|
+
return schemaParseObject(schema, value);
|
|
43
|
+
}), names];
|
|
44
|
+
}
|
|
45
|
+
function helpSchemaArgs(schema) {
|
|
46
|
+
assert(isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
47
|
+
const lines = [];
|
|
48
|
+
objectMap(schema._object, (key, schema) => {
|
|
49
|
+
let s = `--${fromCamelCase(key)}`;
|
|
50
|
+
if (schema._meta?.argShort) s += `, -${fromCamelCase(schema._meta.argShort)}`;
|
|
51
|
+
if (schema.type !== "boolean") s += `=${schema.type}`;
|
|
52
|
+
lines.push(s);
|
|
53
|
+
const desc = schema._meta?.argDesc ?? schema._meta?.desc;
|
|
54
|
+
if (desc) lines.push(` ${desc}`);
|
|
55
|
+
});
|
|
56
|
+
return lines.join("\n");
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { helpSchemaArgs, parseSchemaArgs };
|
|
3
61
|
//# sourceMappingURL=parse-args.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-args.mjs","names":[],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-args.mjs","names":[],"sources":["../../../src/common/schema/parse-args.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgB,gBAAmB,QAAiB,OAAY,SAAS,QAAQ,EAAE,EAAiB;AAClG,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAgC,EAAE;CACxC,MAAM,cAAwB,EAAE;AAEhC,WAAU,OAAO,UAAW,KAAK,WAAsB;AACrD,MAAI,OAAO,OAAO,SAChB,OAAM,YAAY,OAAO,MAAM,SAAS,IAAI,YAAY,IAAI;AAC9D,MAAI,OAAO,SAAS,UAClB,aAAY,KAAK,YAAY,IAAI,CAAC;GAEpC;CAEF,MAAM,UAAU,CAAC,GAAG,KAAK;CACzB,IAAI;CACJ,MAAM,QAAkB,EAAE;CAC1B,MAAM,UAA+B,EAAE;AAGvC,QAAQ,MAAM,QAAQ,OAAO,EAAG;EAC9B,IAAI;AACJ,MAAI,OAAO,KAAK,IAAI,EAAE;GACpB,IAAI,MAAM,IAAI,QAAQ,QAAQ,GAAG;AACjC,OAAI,IAAI,SAAS,IAAI,EAAE;IACrB,MAAM,CAAC,MAAM,aAAa,IAAI,MAAM,KAAK,EAAE;AAC3C,UAAM,KAAK,MAAM;AACjB,YAAQ,UAAU,MAAM;;AAE1B,SAAM,YAAY,IAAI;AACtB,SAAM,MAAM,QAAQ;AACpB,OAAI,YAAY,SAAS,IAAI,CAC3B,SAAQ,OAAO;QAEZ;AACH,YAAQ,SAAS,QAAQ,OAAO,IAAI;AACpC,YAAQ,OAAO;;QAIjB,OAAM,KAAK,IAAI;;AAYnB,QAAO,CARY,UAAU,OAAO,UAAW,KAAK,WAAW;EAC7D,IAAI,QAAQ,QAAQ,YAAY,IAAI;AACpC,MAAI,OAAO,SAAS,YAAY,SAAS,KACvC,SAAQ,eAAe,MAAM;AAE/B,SAAO,kBAAkB,QAAQ,MAAM;GACvC,EAEkB,MAAM;;AAG5B,SAAgB,eAAkB,QAAyB;AACzD,QAAO,mBAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,QAAkB,EAAE;AAE1B,WAAU,OAAO,UAAW,KAAK,WAAsB;EACrD,IAAI,IAAI,KAAK,cAAc,IAAI;AAC/B,MAAI,OAAO,OAAO,SAChB,MAAK,MAAM,cAAc,OAAO,MAAM,SAAS;AACjD,MAAI,OAAO,SAAS,UAClB,MAAK,IAAI,OAAO;AAClB,QAAM,KAAK,EAAE;EACb,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,OAAO;AACpD,MAAI,KACF,OAAM,KAAK,KAAK,OAAO;GACzB;AAEF,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,4 +1,49 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_common_assert = require('../assert.cjs');
|
|
3
|
+
const require_common_data_camelcase = require('../data/camelcase.cjs');
|
|
4
|
+
const require_common_data_convert = require('../data/convert.cjs');
|
|
5
|
+
const require_common_data_object = require('../data/object.cjs');
|
|
6
|
+
const require_common_schema_utils = require('./utils.cjs');
|
|
7
|
+
const require_common_schema_parse_object = require('./parse-object.cjs');
|
|
8
|
+
|
|
9
|
+
//#region src/common/schema/parse-env.ts
|
|
10
|
+
function parseSchemaEnv(schema, opt) {
|
|
11
|
+
require_common_assert.assert(schema?._object, "schema should be of type object");
|
|
12
|
+
require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
13
|
+
const { env = process?.env ?? {}, prefix = "", prefixOptional = false } = opt ?? {};
|
|
14
|
+
const pl = prefix.length;
|
|
15
|
+
const existing = opt?.existing ?? {};
|
|
16
|
+
return require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
17
|
+
const defaultValue = existing[key] ?? schema._default;
|
|
18
|
+
if (schema._meta?.envSkip) return defaultValue;
|
|
19
|
+
const envKey = require_common_data_camelcase.fromCamelCase(key, "_").toUpperCase();
|
|
20
|
+
const envKeyWithPrefix = prefix + require_common_data_camelcase.fromCamelCase(key, "_").toUpperCase();
|
|
21
|
+
let value = env[envKey];
|
|
22
|
+
if (pl > 0) if (prefixOptional === true) value = env[envKeyWithPrefix] ?? value;
|
|
23
|
+
else value = env[envKeyWithPrefix];
|
|
24
|
+
if (value === void 0) return defaultValue;
|
|
25
|
+
if (schema.type === "number") value = require_common_data_convert.valueToInteger(value, schema._default);
|
|
26
|
+
else if (schema.type === "boolean") if (schema._default === true) value = require_common_data_convert.valueToBooleanNotFalse(value);
|
|
27
|
+
else value = require_common_data_convert.valueToBoolean(value, false);
|
|
28
|
+
return require_common_schema_parse_object.schemaParseObject(schema, value);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function stringFromSchemaEnv(schema, prefix = "", commentOut = false, showPrivate = false) {
|
|
32
|
+
require_common_assert.assert(require_common_schema_utils.isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
33
|
+
const lines = [];
|
|
34
|
+
require_common_data_object.objectMap(schema._object, (key, schema) => {
|
|
35
|
+
if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate) return;
|
|
36
|
+
const desc = schema._meta?.envDesc ?? schema._meta?.desc;
|
|
37
|
+
if (desc) desc.trim().split("\n").forEach((line) => {
|
|
38
|
+
lines.push(`# ${line.trim()}`);
|
|
39
|
+
});
|
|
40
|
+
lines.push(`${commentOut ? "# " : ""}${prefix + require_common_data_camelcase.fromCamelCase(key, "_").toUpperCase()}=${schema._default ?? ""}`);
|
|
41
|
+
lines.push("");
|
|
42
|
+
});
|
|
43
|
+
return lines.join("\n");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
exports.parseSchemaEnv = parseSchemaEnv;
|
|
48
|
+
exports.stringFromSchemaEnv = stringFromSchemaEnv;
|
|
4
49
|
//# sourceMappingURL=parse-env.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-env.cjs","names":["isSchemaObjectFlat","objectMap","fromCamelCase","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject"],"sources":["../../../src/common/schema/parse-env.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-env.cjs","names":["isSchemaObjectFlat","objectMap","fromCamelCase","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject"],"sources":["../../../src/common/schema/parse-env.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"],"mappings":";;;;;;;;;AAyBA,SAAgB,eAAkB,QAAiB,KAA8B;AAC/E,8BAAO,QAAQ,SAAS,kCAAkC;AAC1D,8BAAOA,+CAAmB,OAAO,EAAE,iCAAiC;CAEpE,MAAM,EAEJ,MAAO,SAAS,OAAO,EAAE,EACzB,SAAS,IACT,iBAAiB,UACf,OAAO,EAAE;CACb,MAAM,KAAK,OAAO;CAClB,MAAM,WAAgB,KAAK,YAAY,EAAE;AAEzC,QAAOC,qCAAU,OAAO,UAAU,KAAK,WAAW;EAChD,MAAM,eAAe,SAAS,QAAQ,OAAO;AAC7C,MAAI,OAAO,OAAO,QAChB,QAAO;EAET,MAAM,SAASC,4CAAc,KAAK,IAAI,CAAC,aAAa;EACpD,MAAM,mBAAmB,SAASA,4CAAc,KAAK,IAAI,CAAC,aAAa;EAEvE,IAAI,QAAa,IAAI;AAErB,MAAI,KAAK,EACP,KAAI,mBAAmB,KACrB,SAAQ,IAAI,qBAAqB;MAGjC,SAAQ,IAAI;AAIhB,MAAI,UAAU,OACZ,QAAO;AAGT,MAAI,OAAO,SAAS,SAClB,SAAQC,2CAAe,OAAO,OAAO,SAAS;WAEvC,OAAO,SAAS,UACvB,KAAI,OAAO,aAAa,KACtB,SAAQC,mDAAuB,MAAM;MAErC,SAAQC,2CAAe,OAAO,MAAM;AAExC,SAAOC,qDAAkB,QAAQ,MAAM;GACvC;;AAGJ,SAAgB,oBAAuB,QAAiB,SAAS,IAAI,aAAa,OAAO,cAAc,OAAe;AACpH,8BAAON,+CAAmB,OAAO,EAAE,iCAAiC;CACpE,MAAM,QAAkB,EAAE;AAC1B,sCAAU,OAAO,UAAW,KAAK,WAAW;AAC1C,OAAK,OAAO,OAAO,cAAc,OAAO,OAAO,YAAY,CAAC,YAC1D;EACF,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,OAAO;AACpD,MAAI,KACF,MAAK,MAAM,CAAC,MAAM,KAAK,CAAC,SAAS,SAAiB;AAChD,SAAM,KAAK,KAAK,KAAK,MAAM,GAAG;IAC9B;AAEJ,QAAM,KAAK,GAAG,aAAa,OAAO,KAAK,SAASE,4CAAc,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,OAAO,YAAY,KAAK;AACjH,QAAM,KAAK,GAAG;GACd;AACF,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,4 +1,47 @@
|
|
|
1
|
-
import{
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { assert } from "../assert.mjs";
|
|
2
|
+
import { fromCamelCase } from "../data/camelcase.mjs";
|
|
3
|
+
import { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from "../data/convert.mjs";
|
|
4
|
+
import { objectMap } from "../data/object.mjs";
|
|
5
|
+
import { isSchemaObjectFlat } from "./utils.mjs";
|
|
6
|
+
import { schemaParseObject } from "./parse-object.mjs";
|
|
7
|
+
|
|
8
|
+
//#region src/common/schema/parse-env.ts
|
|
9
|
+
function parseSchemaEnv(schema, opt) {
|
|
10
|
+
assert(schema?._object, "schema should be of type object");
|
|
11
|
+
assert(isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
12
|
+
const { env = process?.env ?? {}, prefix = "", prefixOptional = false } = opt ?? {};
|
|
13
|
+
const pl = prefix.length;
|
|
14
|
+
const existing = opt?.existing ?? {};
|
|
15
|
+
return objectMap(schema._object, (key, schema) => {
|
|
16
|
+
const defaultValue = existing[key] ?? schema._default;
|
|
17
|
+
if (schema._meta?.envSkip) return defaultValue;
|
|
18
|
+
const envKey = fromCamelCase(key, "_").toUpperCase();
|
|
19
|
+
const envKeyWithPrefix = prefix + fromCamelCase(key, "_").toUpperCase();
|
|
20
|
+
let value = env[envKey];
|
|
21
|
+
if (pl > 0) if (prefixOptional === true) value = env[envKeyWithPrefix] ?? value;
|
|
22
|
+
else value = env[envKeyWithPrefix];
|
|
23
|
+
if (value === void 0) return defaultValue;
|
|
24
|
+
if (schema.type === "number") value = valueToInteger(value, schema._default);
|
|
25
|
+
else if (schema.type === "boolean") if (schema._default === true) value = valueToBooleanNotFalse(value);
|
|
26
|
+
else value = valueToBoolean(value, false);
|
|
27
|
+
return schemaParseObject(schema, value);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function stringFromSchemaEnv(schema, prefix = "", commentOut = false, showPrivate = false) {
|
|
31
|
+
assert(isSchemaObjectFlat(schema), "schema should be a flat object");
|
|
32
|
+
const lines = [];
|
|
33
|
+
objectMap(schema._object, (key, schema) => {
|
|
34
|
+
if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate) return;
|
|
35
|
+
const desc = schema._meta?.envDesc ?? schema._meta?.desc;
|
|
36
|
+
if (desc) desc.trim().split("\n").forEach((line) => {
|
|
37
|
+
lines.push(`# ${line.trim()}`);
|
|
38
|
+
});
|
|
39
|
+
lines.push(`${commentOut ? "# " : ""}${prefix + fromCamelCase(key, "_").toUpperCase()}=${schema._default ?? ""}`);
|
|
40
|
+
lines.push("");
|
|
41
|
+
});
|
|
42
|
+
return lines.join("\n");
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { parseSchemaEnv, stringFromSchemaEnv };
|
|
4
47
|
//# sourceMappingURL=parse-env.mjs.map
|