@noy-db/hub 0.3.0-pre.8 → 0.3.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/dist/aggregate/index.js +9 -8
- package/dist/aggregate/index.js.map +1 -1
- package/dist/api-ZGS6LCOF.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-BJ57IKAO.js +242 -0
- package/dist/backup-BJ57IKAO.js.map +1 -0
- package/dist/blobs/index.js +13 -11
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +92 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/bundle/index.js +25 -22
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +31 -31
- package/dist/chunk-2NVOWNI3.js +167 -0
- package/dist/chunk-2NVOWNI3.js.map +1 -0
- package/dist/chunk-3B5VVCNY.js +71 -0
- package/dist/chunk-3LQ2YKO4.js +230 -0
- package/dist/chunk-3QCRBHCY.js +54 -0
- package/dist/chunk-454JXE57.js +1697 -0
- package/dist/chunk-454JXE57.js.map +1 -0
- package/dist/chunk-4CTHCN4J.js +480 -0
- package/dist/chunk-4CTHCN4J.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-4JBYV75E.js +150 -0
- package/dist/chunk-4NXKCLLQ.js +97 -0
- package/dist/chunk-4VNQOLML.js +29 -0
- package/dist/chunk-4VNQOLML.js.map +1 -0
- package/dist/chunk-5M5DVGV7.js +69 -0
- package/dist/chunk-5O3XF4DV.js +150 -0
- package/dist/chunk-5O3XF4DV.js.map +1 -0
- package/dist/chunk-5YOLBEQ6.js +30 -0
- package/dist/chunk-6CRIV7DE.js +129 -0
- package/dist/chunk-6JTIAGHD.js +621 -0
- package/dist/chunk-6JTIAGHD.js.map +1 -0
- package/dist/chunk-6QTNZJBS.js +255 -0
- package/dist/chunk-6T2SCQRU.js +86 -0
- package/dist/chunk-7DSTRQIJ.js +45 -0
- package/dist/chunk-AUSTCW2X.js +589 -0
- package/dist/chunk-B3HJYUOF.js +209 -0
- package/dist/chunk-BDVFPG6Y.js +164 -0
- package/dist/chunk-BIOUI4HL.js +1554 -0
- package/dist/chunk-BIOUI4HL.js.map +1 -0
- package/dist/chunk-CAF6WOK7.js +36 -0
- package/dist/chunk-CDUQTA3Z.js +381 -0
- package/dist/chunk-CDUQTA3Z.js.map +1 -0
- package/dist/chunk-CIE2BASH.js +404 -0
- package/dist/chunk-CRI4OUV4.js +42 -0
- package/dist/chunk-DLG74CNB.js +91 -0
- package/dist/chunk-E5ZQT5KX.js +30 -0
- package/dist/chunk-E5ZQT5KX.js.map +1 -0
- package/dist/chunk-EQO2UVP4.js +247 -0
- package/dist/chunk-EQO2UVP4.js.map +1 -0
- package/dist/chunk-ERJ7FU55.js +367 -0
- package/dist/chunk-EVVGJDRQ.js +205 -0
- package/dist/chunk-EVX47VBM.js +74 -0
- package/dist/chunk-EVX47VBM.js.map +1 -0
- package/dist/chunk-EXK7QRWF.js +59 -0
- package/dist/chunk-EYZ6IQ6X.js +202 -0
- package/dist/chunk-F64IRYG3.js +45 -0
- package/dist/chunk-FHS2HQSH.js +823 -0
- package/dist/chunk-FM3G3NOY.js +206 -0
- package/dist/chunk-FM3G3NOY.js.map +1 -0
- package/dist/chunk-FUG4SFN3.js +36 -0
- package/dist/chunk-FUG4SFN3.js.map +1 -0
- package/dist/chunk-GKEWXIV5.js +80 -0
- package/dist/chunk-GTGPO5KW.js +59 -0
- package/dist/chunk-HB3RFQSC.js +95 -0
- package/dist/chunk-HDMEGAQE.js +957 -0
- package/dist/chunk-HDMEGAQE.js.map +1 -0
- package/dist/chunk-HDQIIUPH.js +135 -0
- package/dist/chunk-HDQIIUPH.js.map +1 -0
- package/dist/chunk-HTJQYHZP.js +344 -0
- package/dist/chunk-HTJQYHZP.js.map +1 -0
- package/dist/chunk-I6GALP6E.js +99 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IL6POWCW.js +130 -0
- package/dist/chunk-IU6SNYX6.js +117 -0
- package/dist/chunk-J2ZX2XUV.js +778 -0
- package/dist/chunk-JIF24JPM.js +495 -0
- package/dist/chunk-JIF24JPM.js.map +1 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JKJOGPZN.js +29 -0
- package/dist/chunk-JNAI2HN2.js +32 -0
- package/dist/chunk-JNAI2HN2.js.map +1 -0
- package/dist/chunk-JZUV47FZ.js +41 -0
- package/dist/chunk-K5IMOGHB.js +30 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-KSKBRKGJ.js +291 -0
- package/dist/chunk-KSKBRKGJ.js.map +1 -0
- package/dist/chunk-LASZKVMO.js +382 -0
- package/dist/chunk-LXEXBTKL.js +515 -0
- package/dist/chunk-LXEXBTKL.js.map +1 -0
- package/dist/chunk-M4CV6BRT.js +524 -0
- package/dist/chunk-M4CV6BRT.js.map +1 -0
- package/dist/chunk-MEFJPTZ4.js +371 -0
- package/dist/chunk-MEFJPTZ4.js.map +1 -0
- package/dist/chunk-MV43JSJF.js +265 -0
- package/dist/chunk-MV43JSJF.js.map +1 -0
- package/dist/chunk-NJ4EOKMB.js +392 -0
- package/dist/chunk-NJ4EOKMB.js.map +1 -0
- package/dist/chunk-NR5LT5RY.js +135 -0
- package/dist/chunk-NWSGI5C7.js +261 -0
- package/dist/chunk-NWSGI5C7.js.map +1 -0
- package/dist/chunk-OSDB5WW3.js +739 -0
- package/dist/chunk-OSDB5WW3.js.map +1 -0
- package/dist/chunk-PN2XMATY.js +37 -0
- package/dist/chunk-PN2XMATY.js.map +1 -0
- package/dist/chunk-Q5VNKNE5.js +70 -0
- package/dist/chunk-QLWMEXCT.js +21 -0
- package/dist/chunk-QRB7NAOJ.js +123 -0
- package/dist/chunk-R4ROFEYC.js +74 -0
- package/dist/chunk-RCVJZMFE.js +164 -0
- package/dist/chunk-RCVJZMFE.js.map +1 -0
- package/dist/chunk-RIX4V2TB.js +367 -0
- package/dist/chunk-RYCTDFUX.js +40 -0
- package/dist/chunk-RZ5SVOYR.js +155 -0
- package/dist/chunk-SLFHQTTW.js +99 -0
- package/dist/chunk-SNZ6URZZ.js +2782 -0
- package/dist/chunk-SNZ6URZZ.js.map +1 -0
- package/dist/chunk-T2FFWNPK.js +75 -0
- package/dist/chunk-T2FFWNPK.js.map +1 -0
- package/dist/chunk-UNFPPVNI.js +23 -0
- package/dist/chunk-VFUPHI2Z.js +333 -0
- package/dist/chunk-VFUPHI2Z.js.map +1 -0
- package/dist/chunk-VLFCJYTL.js +235 -0
- package/dist/chunk-VN3DBQAU.js +124 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-VZRODIM3.js +49 -0
- package/dist/chunk-W22IKJE2.js +94 -0
- package/dist/chunk-X3YYQWOQ.js +155 -0
- package/dist/chunk-X7QBD67R.js +14405 -0
- package/dist/chunk-X7QBD67R.js.map +1 -0
- package/dist/chunk-XDYREZWE.js +1128 -0
- package/dist/chunk-XDYREZWE.js.map +1 -0
- package/dist/chunk-XWZVFISC.js +720 -0
- package/dist/chunk-XWZVFISC.js.map +1 -0
- package/dist/chunk-YFXZEAYK.js +85 -0
- package/dist/chunk-ZAJAVEXY.js +50 -0
- package/dist/chunk-ZICD77GM.js +34 -0
- package/dist/chunk-ZJ2AK4V7.js +38 -0
- package/dist/chunk-ZJ2AK4V7.js.map +1 -0
- package/dist/chunk-ZUODRVHY.js +14 -0
- package/dist/classified/index.js +5 -3
- package/dist/classified-marker-CZKA6ITE.js +28 -0
- package/dist/classified-marker-CZKA6ITE.js.map +1 -0
- package/dist/collection-facade-TLWIPI76.js +44 -0
- package/dist/computed-ZIQTYTDI.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-ESOBZZP5.js +28 -0
- package/dist/delegation-W7ZV2322.js +25 -0
- package/dist/derivations/index.js +12 -11
- package/dist/derive-H2BJTLUI.js +21 -0
- package/dist/enclave-AP3I5W7O.js +141 -0
- package/dist/executor-KGWTNEQD.js +9 -0
- package/dist/executor-OVEXR6RT.js +9 -0
- package/dist/executor-UNEH5ZYH.js +25 -0
- package/dist/export-accessible-PCMXSUZS.js +23 -0
- package/dist/extract-partition-SWHFSYJO.js +38 -0
- package/dist/fanout-sidecar-A765THMX.js +74 -0
- package/dist/find-N6345CNT.js +11 -0
- package/dist/forget/index.js +10 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +14 -11
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +50 -37
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +307 -1459
- package/dist/index.js +595 -198
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +7 -7
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-5OKB6I2R.js +19 -0
- package/dist/kernel/best-effort-revert.d.ts +52 -0
- package/dist/kernel/cache/index.d.ts +10 -0
- package/dist/kernel/cache/lru.d.ts +97 -0
- package/dist/kernel/cache/policy.d.ts +32 -0
- package/dist/kernel/collection-config.d.ts +809 -0
- package/dist/kernel/collection.d.ts +1522 -0
- package/dist/kernel/constants.d.ts +18 -0
- package/dist/kernel/debug.d.ts +25 -0
- package/dist/kernel/enclave/broker/proof.d.ts +154 -0
- package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
- package/dist/kernel/enclave/classify/compare.d.ts +10 -0
- package/dist/kernel/enclave/classify/digest.d.ts +8 -0
- package/dist/kernel/enclave/classify/find.d.ts +36 -0
- package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
- package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
- package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
- package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
- package/dist/kernel/enclave/classify/verify.d.ts +36 -0
- package/dist/kernel/enclave/classify/write.d.ts +8 -0
- package/dist/kernel/enclave/crypto.d.ts +263 -0
- package/dist/kernel/enclave/index.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
- package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
- package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
- package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
- package/dist/kernel/env-check.d.ts +1 -0
- package/dist/kernel/errors.d.ts +1922 -0
- package/dist/kernel/events.d.ts +11 -0
- package/dist/kernel/lazy-count.d.ts +13 -0
- package/dist/kernel/memory-store.d.ts +17 -0
- package/dist/kernel/mutation.d.ts +14 -0
- package/dist/kernel/noydb.d.ts +826 -0
- package/dist/kernel/paths.d.ts +25 -0
- package/dist/kernel/query/builder.d.ts +520 -0
- package/dist/kernel/query/index.d.ts +31 -0
- package/dist/kernel/query/join.d.ts +205 -0
- package/dist/kernel/query/live.d.ts +111 -0
- package/dist/kernel/query/predicate.d.ts +139 -0
- package/dist/kernel/query/scan-builder.d.ts +334 -0
- package/dist/kernel/refs.d.ts +205 -0
- package/dist/kernel/schema.d.ts +134 -0
- package/dist/kernel/sync-policy.d.ts +188 -0
- package/dist/kernel/tier-visibility.d.ts +54 -0
- package/dist/kernel/types.d.ts +3239 -0
- package/dist/kernel/util/discriminant.d.ts +58 -0
- package/dist/kernel/util/index.d.ts +14 -0
- package/dist/kernel/util/sanitize-filename.d.ts +75 -0
- package/dist/kernel/validation.d.ts +130 -0
- package/dist/kernel/vault.d.ts +1740 -0
- package/dist/kernel/via/compose.d.ts +144 -0
- package/dist/kernel/via/dispatch.d.ts +195 -0
- package/dist/kernel/via/graph-wiring.d.ts +145 -0
- package/dist/kernel/via/graph.d.ts +166 -0
- package/dist/kernel/via/index.d.ts +200 -0
- package/dist/kernel/via/pipeline.d.ts +266 -0
- package/dist/kernel/via/reconcile.d.ts +153 -0
- package/dist/kernel/via/taint-binding.d.ts +66 -0
- package/dist/kernel/write-queue.d.ts +46 -0
- package/dist/ledger-GFBKVPV4.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-3VDOT4KO.js +24 -0
- package/dist/link-set-Z7Q2ASFX.js +31 -0
- package/dist/materialized-views/index.js +19 -15
- package/dist/noydb-ZCJOYBDI.js +68 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +11 -11
- package/dist/policy-Z3RUAIY2.js +41 -0
- package/dist/port/as/index.d.ts +26 -0
- package/dist/port/at/index.d.ts +18 -0
- package/dist/port/by/default-provider.d.ts +9 -0
- package/dist/port/by/index.d.ts +17 -0
- package/dist/port/by/types.d.ts +86 -0
- package/dist/port/in/index.d.ts +21 -0
- package/dist/port/on/index.d.ts +27 -0
- package/dist/port/to/index.d.ts +19 -0
- package/dist/port/ui/index.d.ts +21 -0
- package/dist/port/with/blob-strategy.d.ts +98 -0
- package/dist/port/with/broker-strategy.d.ts +84 -0
- package/dist/port/with/capabilities.d.ts +31 -0
- package/dist/port/with/classified-marker.d.ts +9 -0
- package/dist/port/with/classified-strategy.d.ts +62 -0
- package/dist/port/with/computed-strategy.d.ts +19 -0
- package/dist/port/with/i18n-strategy.d.ts +175 -0
- package/dist/port/with/index.d.ts +18 -0
- package/dist/port/with/lazy-strategy.d.ts +48 -0
- package/dist/port/with/lookup-strategy.d.ts +129 -0
- package/dist/port/with/service-bus.d.ts +156 -0
- package/dist/port/with/team-strategy.d.ts +36 -0
- package/dist/port/with/write-hooks.d.ts +34 -0
- package/dist/portability/index.js +8 -8
- package/dist/post-register-JTH76BLY.js +60 -0
- package/dist/post-register-JTH76BLY.js.map +1 -0
- package/dist/public-envelope-B4KNWVUA.js +32 -0
- package/dist/purge-scope-FGNNLWHD.js +24 -0
- package/dist/purge-scope-FGNNLWHD.js.map +1 -0
- package/dist/query/index.js +9 -6
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/register-VAHONCID.js +23 -0
- package/dist/registry-7MLVD3VO.js +19 -0
- package/dist/registry-EPKPD5SM.js +18 -0
- package/dist/registry-P5T7PS2U.js +9 -0
- package/dist/request-withdrawal-TI3A5WPS.js +31 -0
- package/dist/reveal-DIBHLUZX.js +38 -0
- package/dist/reveal-DIBHLUZX.js.map +1 -0
- package/dist/revoke-FDRD6GRW.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-Q6M2IZFL.js +231 -0
- package/dist/seed-Q6M2IZFL.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MUWEIUI6.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-OSQ7J3AA.js +29 -0
- package/dist/storage-MVFCGEQE.js +23 -0
- package/dist/store-coordination-provider-64OEZFGS.js +142 -0
- package/dist/sync/index.js +9 -9
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +14 -10
- package/dist/to/index.js +1 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-ZASTRNPR.js +140 -0
- package/dist/verify-ZASTRNPR.js.map +1 -0
- package/dist/via/blob/active.d.ts +34 -0
- package/dist/via/blob/binding.d.ts +86 -0
- package/dist/via/blob/index.d.ts +34 -0
- package/dist/via/classified/active.d.ts +3 -0
- package/dist/via/classified/binding.d.ts +83 -0
- package/dist/via/classified/config-drift.d.ts +34 -0
- package/dist/via/classified/descriptor.d.ts +66 -0
- package/dist/via/classified/errors.d.ts +19 -0
- package/dist/via/classified/guards.d.ts +23 -0
- package/dist/via/classified/index.d.ts +11 -0
- package/dist/via/classified/presets.d.ts +65 -0
- package/dist/via/classified/resolve.d.ts +9 -0
- package/dist/via/classified/strategy.d.ts +11 -0
- package/dist/via/classified/validators.d.ts +3 -0
- package/dist/via/classified/write.d.ts +4 -0
- package/dist/via/computed/binding.d.ts +34 -0
- package/dist/via/computed/descriptor.d.ts +35 -0
- package/dist/via/i18n/active.d.ts +28 -0
- package/dist/via/i18n/binding.d.ts +36 -0
- package/dist/via/i18n/core.d.ts +267 -0
- package/dist/via/i18n/densify.d.ts +24 -0
- package/dist/via/i18n/dictionary.d.ts +200 -0
- package/dist/via/i18n/index.d.ts +21 -0
- package/dist/via/i18n/policy.d.ts +44 -0
- package/dist/via/i18n/script.d.ts +26 -0
- package/dist/via/i18n/strategy.d.ts +13 -0
- package/dist/via/lookup/active.d.ts +19 -0
- package/dist/via/lookup/binding.d.ts +99 -0
- package/dist/via/lookup/descriptor.d.ts +123 -0
- package/dist/via/lookup/handle.d.ts +220 -0
- package/dist/via/lookup/index.d.ts +17 -0
- package/dist/via/lookup/registry.d.ts +228 -0
- package/dist/via/lookup/snapshot.d.ts +67 -0
- package/dist/via/money/arith.d.ts +68 -0
- package/dist/via/money/binding.d.ts +21 -0
- package/dist/via/money/branded.d.ts +61 -0
- package/dist/via/money/descriptor.d.ts +73 -0
- package/dist/via/money/fixed-point.d.ts +51 -0
- package/dist/via/money/index.d.ts +15 -0
- package/dist/via/money/iso4217.d.ts +6 -0
- package/dist/via/money/money-reducer.d.ts +33 -0
- package/dist/via/money/normalize.d.ts +105 -0
- package/dist/via/money/paths.d.ts +61 -0
- package/dist/via/money/where.d.ts +127 -0
- package/dist/walk-SVNDIZ62.js +241 -0
- package/dist/with/index.js +11 -11
- package/dist/with-audit/attestation/active.d.ts +10 -0
- package/dist/with-audit/attestation/index.d.ts +16 -0
- package/dist/with-audit/attestation/issue.d.ts +29 -0
- package/dist/with-audit/attestation/revoke.d.ts +15 -0
- package/dist/with-audit/attestation/signer.d.ts +33 -0
- package/dist/with-audit/attestation/strategy.d.ts +44 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
- package/dist/with-audit/consent/active.d.ts +14 -0
- package/dist/with-audit/consent/consent.d.ts +114 -0
- package/dist/with-audit/consent/index.d.ts +14 -0
- package/dist/with-audit/consent/strategy.d.ts +36 -0
- package/dist/with-audit/forget/active.d.ts +31 -0
- package/dist/with-audit/forget/index.d.ts +28 -0
- package/dist/with-audit/forget/purge-scope.d.ts +54 -0
- package/dist/with-audit/forget/strategy.d.ts +199 -0
- package/dist/with-audit/forget/subject-index.d.ts +83 -0
- package/dist/with-audit/guards/executor.d.ts +26 -0
- package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
- package/dist/with-audit/guards/index.d.ts +10 -0
- package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
- package/dist/with-audit/guards/registry.d.ts +83 -0
- package/dist/with-audit/guards/transition-guard.d.ts +82 -0
- package/dist/with-audit/guards/types.d.ts +134 -0
- package/dist/with-audit/guards/with-guard.d.ts +15 -0
- package/dist/with-audit/periods/active.d.ts +11 -0
- package/dist/with-audit/periods/index.d.ts +18 -0
- package/dist/with-audit/periods/periods.d.ts +417 -0
- package/dist/with-audit/periods/strategy.d.ts +32 -0
- package/dist/with-audit/periods/vault-facade.d.ts +95 -0
- package/dist/with-audit/portability/active.d.ts +11 -0
- package/dist/with-audit/portability/export-accessible.d.ts +46 -0
- package/dist/with-audit/portability/index.d.ts +18 -0
- package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
- package/dist/with-audit/portability/strategy.d.ts +31 -0
- package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
- package/dist/with-audit/sealed-record/active.d.ts +9 -0
- package/dist/with-audit/sealed-record/index.d.ts +55 -0
- package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
- package/dist/with-audit/sealed-record/types.d.ts +27 -0
- package/dist/with-audit/tiers/active.d.ts +9 -0
- package/dist/with-audit/tiers/index.d.ts +394 -0
- package/dist/with-audit/tiers/strategy.d.ts +36 -0
- package/dist/with-cargo/active.d.ts +11 -0
- package/dist/with-cargo/adopt-partition.d.ts +81 -0
- package/dist/with-cargo/decrypt-partition.d.ts +19 -0
- package/dist/with-cargo/describe-extraction.d.ts +41 -0
- package/dist/with-cargo/extract-partition.d.ts +155 -0
- package/dist/with-cargo/index.d.ts +33 -0
- package/dist/with-cargo/strategy.d.ts +30 -0
- package/dist/with-cargo/vault-diff.d.ts +144 -0
- package/dist/with-cargo/walk-closure.d.ts +67 -0
- package/dist/with-commit/crdt/active.d.ts +25 -0
- package/dist/with-commit/crdt/crdt.d.ts +42 -0
- package/dist/with-commit/crdt/index.d.ts +16 -0
- package/dist/with-commit/crdt/strategy.d.ts +25 -0
- package/dist/with-commit/history/active.d.ts +40 -0
- package/dist/with-commit/history/diff.d.ts +23 -0
- package/dist/with-commit/history/history.d.ts +73 -0
- package/dist/with-commit/history/index.d.ts +30 -0
- package/dist/with-commit/history/ledger/constants.d.ts +37 -0
- package/dist/with-commit/history/ledger/entry.d.ts +195 -0
- package/dist/with-commit/history/ledger/hash.d.ts +30 -0
- package/dist/with-commit/history/ledger/index.d.ts +19 -0
- package/dist/with-commit/history/ledger/patch.d.ts +99 -0
- package/dist/with-commit/history/ledger/store.d.ts +356 -0
- package/dist/with-commit/history/strategy.d.ts +136 -0
- package/dist/with-commit/history/time-machine.d.ts +202 -0
- package/dist/with-commit/numbering/descriptor.d.ts +27 -0
- package/dist/with-commit/numbering/index.d.ts +69 -0
- package/dist/with-commit/sequence/active.d.ts +10 -0
- package/dist/with-commit/sequence/index.d.ts +150 -0
- package/dist/with-commit/sequence/strategy.d.ts +26 -0
- package/dist/with-commit/tx/active.d.ts +27 -0
- package/dist/with-commit/tx/dry-run.d.ts +29 -0
- package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
- package/dist/with-commit/tx/index.d.ts +13 -0
- package/dist/with-commit/tx/invariants.d.ts +68 -0
- package/dist/with-commit/tx/strategy.d.ts +23 -0
- package/dist/with-commit/tx/transaction.d.ts +212 -0
- package/dist/with-fork/archive/engine.d.ts +71 -0
- package/dist/with-fork/archive/index.d.ts +23 -0
- package/dist/with-fork/shadow/active.d.ts +6 -0
- package/dist/with-fork/shadow/index.d.ts +14 -0
- package/dist/with-fork/shadow/strategy.d.ts +28 -0
- package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
- package/dist/with-fork/snapshots/active.d.ts +20 -0
- package/dist/with-fork/snapshots/engine.d.ts +36 -0
- package/dist/with-fork/snapshots/index.d.ts +5 -0
- package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
- package/dist/with-fork/snapshots/policy.d.ts +23 -0
- package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
- package/dist/with-fork/snapshots/strategy.d.ts +48 -0
- package/dist/with-formula/computed/index.d.ts +48 -0
- package/dist/with-formula/computed/lazy.d.ts +13 -0
- package/dist/with-formula/derivations/executor.d.ts +61 -0
- package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
- package/dist/with-formula/derivations/index.d.ts +6 -0
- package/dist/with-formula/derivations/registry.d.ts +67 -0
- package/dist/with-formula/derivations/stale.d.ts +39 -0
- package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
- package/dist/with-formula/derivations/types.d.ts +248 -0
- package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
- package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
- package/dist/with-formula/materialized-views/executor.d.ts +80 -0
- package/dist/with-formula/materialized-views/index.d.ts +11 -0
- package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
- package/dist/with-formula/materialized-views/registry.d.ts +99 -0
- package/dist/with-formula/materialized-views/stale.d.ts +113 -0
- package/dist/with-formula/materialized-views/types.d.ts +318 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
- package/dist/with-formula/overlay-views/index.d.ts +5 -0
- package/dist/with-formula/overlay-views/registry.d.ts +42 -0
- package/dist/with-formula/overlay-views/types.d.ts +97 -0
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
- package/dist/with-lookup/aggregate/active.d.ts +33 -0
- package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
- package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
- package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
- package/dist/with-lookup/aggregate/index.d.ts +23 -0
- package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
- package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
- package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
- package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
- package/dist/with-lookup/embeddings/index.d.ts +4 -0
- package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
- package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
- package/dist/with-lookup/indexing/active.d.ts +30 -0
- package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
- package/dist/with-lookup/indexing/index.d.ts +27 -0
- package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
- package/dist/with-lookup/indexing/strategy.d.ts +56 -0
- package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
- package/dist/with-lookup/search/active.d.ts +10 -0
- package/dist/with-lookup/search/build-docs.d.ts +15 -0
- package/dist/with-lookup/search/collection-facade.d.ts +163 -0
- package/dist/with-lookup/search/fuse.d.ts +22 -0
- package/dist/with-lookup/search/index-store.d.ts +19 -0
- package/dist/with-lookup/search/index.d.ts +19 -0
- package/dist/with-lookup/search/inverted-index.d.ts +47 -0
- package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
- package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
- package/dist/with-lookup/search/scan.d.ts +28 -0
- package/dist/with-lookup/search/segment.d.ts +15 -0
- package/dist/with-lookup/search/serialize.d.ts +4 -0
- package/dist/with-lookup/search/snippet.d.ts +5 -0
- package/dist/with-lookup/search/strategy.d.ts +41 -0
- package/dist/with-lookup/search/tokenize.d.ts +12 -0
- package/dist/with-party/auth-introspection/index.d.ts +44 -0
- package/dist/with-party/broker/active.d.ts +23 -0
- package/dist/with-party/broker/index.d.ts +28 -0
- package/dist/with-party/broker/seed.d.ts +77 -0
- package/dist/with-party/custody/active.d.ts +10 -0
- package/dist/with-party/custody/index.d.ts +69 -0
- package/dist/with-party/custody/liberate.d.ts +64 -0
- package/dist/with-party/custody/strategy.d.ts +48 -0
- package/dist/with-party/directory/index.d.ts +11 -0
- package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
- package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
- package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
- package/dist/with-party/directory/storage.d.ts +33 -0
- package/dist/with-party/directory/types.d.ts +43 -0
- package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
- package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
- package/dist/with-party/directory/visibility.d.ts +47 -0
- package/dist/with-party/policy/engine.d.ts +60 -0
- package/dist/with-party/policy/index.d.ts +15 -0
- package/dist/with-party/policy/noydb-facade.d.ts +39 -0
- package/dist/with-party/policy/presets.d.ts +38 -0
- package/dist/with-party/policy/storage.d.ts +31 -0
- package/dist/with-party/session/active.d.ts +34 -0
- package/dist/with-party/session/dev-unlock.d.ts +128 -0
- package/dist/with-party/session/index.d.ts +23 -0
- package/dist/with-party/session/session-policy.d.ts +92 -0
- package/dist/with-party/session/session.d.ts +131 -0
- package/dist/with-party/session/strategy.d.ts +42 -0
- package/dist/with-party/session/unlock-state.d.ts +47 -0
- package/dist/with-party/sync/index.d.ts +31 -0
- package/dist/with-party/tab-coordination.d.ts +73 -0
- package/dist/with-party/tab-write-relay.d.ts +39 -0
- package/dist/with-party/team/active.d.ts +13 -0
- package/dist/with-party/team/authenticators.d.ts +95 -0
- package/dist/with-party/team/deed.d.ts +97 -0
- package/dist/with-party/team/delegation.d.ts +88 -0
- package/dist/with-party/team/index.d.ts +38 -0
- package/dist/with-party/team/keyring.d.ts +318 -0
- package/dist/with-party/team/magic-link-grant.d.ts +152 -0
- package/dist/with-party/team/managed-passphrase.d.ts +280 -0
- package/dist/with-party/team/noydb-facade.d.ts +484 -0
- package/dist/with-party/team/peer-recover.d.ts +81 -0
- package/dist/with-party/team/presence.d.ts +81 -0
- package/dist/with-party/team/recovery.d.ts +191 -0
- package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
- package/dist/with-party/team/rotate-recover.d.ts +275 -0
- package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
- package/dist/with-party/team/strategy.d.ts +9 -0
- package/dist/with-party/team/sync-active.d.ts +33 -0
- package/dist/with-party/team/sync-credentials.d.ts +113 -0
- package/dist/with-party/team/sync-strategy.d.ts +67 -0
- package/dist/with-party/team/sync-transaction.d.ts +39 -0
- package/dist/with-party/team/sync.d.ts +174 -0
- package/dist/with-party/team/tiers.d.ts +39 -0
- package/dist/with-party/team/wrapped-deks.d.ts +86 -0
- package/dist/with-pod/backup.d.ts +74 -0
- package/dist/with-pod/bundle.d.ts +414 -0
- package/dist/with-pod/format.d.ts +203 -0
- package/dist/with-pod/index.d.ts +20 -0
- package/dist/with-pod/pod-store.d.ts +54 -0
- package/dist/with-pod/ulid.d.ts +64 -0
- package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
- package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
- package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
- package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
- package/dist/with-shape/blobs/import-external.d.ts +50 -0
- package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
- package/dist/with-shape/blobs/object-projection.d.ts +70 -0
- package/dist/with-shape/introspection/describe.d.ts +237 -0
- package/dist/with-shape/introspection/field-meta.d.ts +61 -0
- package/dist/with-shape/introspection/fields.d.ts +14 -0
- package/dist/with-shape/introspection/index.d.ts +12 -0
- package/dist/with-shape/introspection/json-schema.d.ts +13 -0
- package/dist/with-shape/introspection/meta.d.ts +22 -0
- package/dist/with-shape/introspection/projection.d.ts +13 -0
- package/dist/with-shape/introspection/types.d.ts +154 -0
- package/dist/with-shape/introspection/walk.d.ts +50 -0
- package/dist/with-shape/links/lazy-handle.d.ts +36 -0
- package/dist/with-shape/links/link-set.d.ts +67 -0
- package/dist/with-shape/links/names.d.ts +65 -0
- package/dist/with-shape/links/vault-facade.d.ts +211 -0
- package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
- package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
- package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
- package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
- package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
- package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
- package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
- package/dist/with-shape/satellites/declare.d.ts +60 -0
- package/dist/with-shape/satellites/existence.d.ts +5 -0
- package/dist/with-shape/satellites/fanout.d.ts +38 -0
- package/dist/with-shape/satellites/forget.d.ts +47 -0
- package/dist/with-shape/satellites/index.d.ts +3 -0
- package/dist/with-shape/satellites/joined.d.ts +19 -0
- package/dist/with-shape/satellites/marker.d.ts +10 -0
- package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
- package/dist/with-shape/satellites/post-register.d.ts +6 -0
- package/dist/with-shape/satellites/proxy.d.ts +37 -0
- package/dist/with-shape/satellites/raw-target.d.ts +14 -0
- package/dist/with-shape/satellites/registry.d.ts +19 -0
- package/dist/with-shape/satellites/types.d.ts +37 -0
- package/dist/with-shape/satellites/validate.d.ts +17 -0
- package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
- package/dist/with-shape/schema-update/cutover.d.ts +5 -0
- package/dist/with-shape/schema-update/delta.d.ts +2 -0
- package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
- package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
- package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
- package/dist/with-shape/schema-update/fence.d.ts +15 -0
- package/dist/with-shape/schema-update/gate.d.ts +16 -0
- package/dist/with-shape/schema-update/index.d.ts +6 -0
- package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
- package/dist/with-shape/schema-update/strategies.d.ts +12 -0
- package/dist/with-shape/schema-update/types.d.ts +53 -0
- package/dist/with-store/index.d.ts +15 -0
- package/dist/with-store/lazy/active.d.ts +12 -0
- package/dist/with-store/lazy/index.d.ts +14 -0
- package/dist/with-store/lazy/strategy.d.ts +9 -0
- package/dist/with-store/route-store.d.ts +259 -0
- package/dist/with-store/store-middleware.d.ts +189 -0
- package/dist/withdraw-accessible-WZIEVWSR.js +28 -0
- package/package.json +47 -55
- package/dist/adapter/index.d.ts +0 -5
- package/dist/adapter/index.js +0 -15
- package/dist/aggregate/index.d.ts +0 -42
- package/dist/api-JDWL67WL.js +0 -20
- package/dist/as/index.d.ts +0 -7
- package/dist/at/index.d.ts +0 -5
- package/dist/attestation/index.d.ts +0 -20
- package/dist/backup-WRGNTGJF.js +0 -225
- package/dist/backup-WRGNTGJF.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -44
- package/dist/bundle/index.d.ts +0 -122
- package/dist/bundle-DzWtVw7w.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -9
- package/dist/chunk-25G7PUTA.js +0 -235
- package/dist/chunk-26FSVNBL.js +0 -34
- package/dist/chunk-2PJB6H3H.js +0 -167
- package/dist/chunk-2PJB6H3H.js.map +0 -1
- package/dist/chunk-37JZR7CY.js +0 -91
- package/dist/chunk-3KBK5LU4.js +0 -117
- package/dist/chunk-3YKBGS3I.js +0 -686
- package/dist/chunk-3YKBGS3I.js.map +0 -1
- package/dist/chunk-44DV37ZV.js +0 -75
- package/dist/chunk-44DV37ZV.js.map +0 -1
- package/dist/chunk-47C4CI7R.js +0 -108
- package/dist/chunk-47C4CI7R.js.map +0 -1
- package/dist/chunk-4VDFUBTS.js +0 -275
- package/dist/chunk-4VDFUBTS.js.map +0 -1
- package/dist/chunk-55LSDABW.js +0 -94
- package/dist/chunk-56JB2BGI.js +0 -13003
- package/dist/chunk-56JB2BGI.js.map +0 -1
- package/dist/chunk-5GQE5IDB.js +0 -513
- package/dist/chunk-5GQE5IDB.js.map +0 -1
- package/dist/chunk-5HRJQSKN.js +0 -202
- package/dist/chunk-5HZULLHE.js +0 -404
- package/dist/chunk-5JQMX2EH.js +0 -50
- package/dist/chunk-5UOPIPZC.js +0 -95
- package/dist/chunk-5YBUFCFF.js +0 -135
- package/dist/chunk-62APEMF3.js +0 -280
- package/dist/chunk-62APEMF3.js.map +0 -1
- package/dist/chunk-6P5AJ2ZS.js +0 -120
- package/dist/chunk-6P5AJ2ZS.js.map +0 -1
- package/dist/chunk-6PALJTC2.js +0 -430
- package/dist/chunk-6PALJTC2.js.map +0 -1
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-6Z435B6N.js +0 -1656
- package/dist/chunk-6Z435B6N.js.map +0 -1
- package/dist/chunk-723XB5NX.js +0 -86
- package/dist/chunk-7CZ6YXMO.js +0 -124
- package/dist/chunk-7KTL4RHZ.js +0 -120
- package/dist/chunk-7KTL4RHZ.js.map +0 -1
- package/dist/chunk-7TAV3BFQ.js +0 -766
- package/dist/chunk-7TAV3BFQ.js.map +0 -1
- package/dist/chunk-BASCPHNM.js +0 -380
- package/dist/chunk-BASCPHNM.js.map +0 -1
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-BJ2XF2RC.js +0 -823
- package/dist/chunk-BM6E4MUT.js +0 -881
- package/dist/chunk-BM6E4MUT.js.map +0 -1
- package/dist/chunk-BTFTHF6Q.js +0 -42
- package/dist/chunk-C4NOLA5X.js +0 -132
- package/dist/chunk-C4NOLA5X.js.map +0 -1
- package/dist/chunk-CHK5VVMI.js +0 -155
- package/dist/chunk-DCVVCJVB.js +0 -45
- package/dist/chunk-EU7HDMT3.js +0 -54
- package/dist/chunk-F3EKFGUS.js +0 -99
- package/dist/chunk-FCOZ7DEC.js +0 -355
- package/dist/chunk-FCOZ7DEC.js.map +0 -1
- package/dist/chunk-FWART3VA.js +0 -205
- package/dist/chunk-FZK3JJJK.js +0 -150
- package/dist/chunk-GDOOG5YQ.js +0 -382
- package/dist/chunk-GLVXQU3E.js +0 -155
- package/dist/chunk-HU55NPHZ.js +0 -80
- package/dist/chunk-I6JJ6VJS.js +0 -97
- package/dist/chunk-I6URUNTD.js +0 -59
- package/dist/chunk-IARAK3PK.js +0 -14
- package/dist/chunk-II6DLDZM.js +0 -30
- package/dist/chunk-J5YUA6JB.js +0 -23
- package/dist/chunk-J7OH6R4K.js +0 -49
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-L6Q5NA22.js +0 -40
- package/dist/chunk-LFGJG4XZ.js +0 -30
- package/dist/chunk-M3OYTM5Z.js +0 -85
- package/dist/chunk-MOQ5M46U.js +0 -209
- package/dist/chunk-NTPWQH4S.js +0 -589
- package/dist/chunk-OJ64XMPJ.js +0 -1434
- package/dist/chunk-OJ64XMPJ.js.map +0 -1
- package/dist/chunk-OWGAXPRE.js +0 -129
- package/dist/chunk-P2PEPSPK.js +0 -230
- package/dist/chunk-P6TZ3IVN.js +0 -453
- package/dist/chunk-P6TZ3IVN.js.map +0 -1
- package/dist/chunk-PAJCRV7O.js +0 -123
- package/dist/chunk-PMMV5SQC.js +0 -416
- package/dist/chunk-PMMV5SQC.js.map +0 -1
- package/dist/chunk-PPPZIBKY.js +0 -261
- package/dist/chunk-PPPZIBKY.js.map +0 -1
- package/dist/chunk-PVC2FBCQ.js +0 -45
- package/dist/chunk-PYIUDUGS.js +0 -36
- package/dist/chunk-QABECTNN.js +0 -255
- package/dist/chunk-QYMMMKOO.js +0 -164
- package/dist/chunk-R4IVPJHN.js +0 -130
- package/dist/chunk-REWTMYSF.js +0 -32
- package/dist/chunk-REWTMYSF.js.map +0 -1
- package/dist/chunk-RNYDHIQL.js +0 -367
- package/dist/chunk-RUIMKQTA.js +0 -23
- package/dist/chunk-RUIMKQTA.js.map +0 -1
- package/dist/chunk-TCGVRKOS.js +0 -367
- package/dist/chunk-TIAYXOEI.js +0 -99
- package/dist/chunk-TQ3REHVF.js +0 -95
- package/dist/chunk-TQ3REHVF.js.map +0 -1
- package/dist/chunk-TUL5YQWF.js +0 -777
- package/dist/chunk-U7LV2DUN.js +0 -74
- package/dist/chunk-UB3XHGFG.js +0 -181
- package/dist/chunk-UB3XHGFG.js.map +0 -1
- package/dist/chunk-UMH35AQV.js +0 -70
- package/dist/chunk-UWZ7O4NR.js +0 -29
- package/dist/chunk-V76PHWLE.js +0 -41
- package/dist/chunk-VFQOE76I.js +0 -69
- package/dist/chunk-VIWOGJ2O.js +0 -71
- package/dist/chunk-VK6OC22R.js +0 -37
- package/dist/chunk-VK6OC22R.js.map +0 -1
- package/dist/chunk-VVLOWY74.js +0 -150
- package/dist/chunk-VVLOWY74.js.map +0 -1
- package/dist/chunk-W3JABOVB.js +0 -53
- package/dist/chunk-W3JABOVB.js.map +0 -1
- package/dist/chunk-WPNP3NF5.js +0 -1221
- package/dist/chunk-WPNP3NF5.js.map +0 -1
- package/dist/chunk-X5QZAJDB.js +0 -59
- package/dist/chunk-X6VNIRHS.js +0 -239
- package/dist/chunk-X6VNIRHS.js.map +0 -1
- package/dist/chunk-XBPUVQDO.js +0 -664
- package/dist/chunk-XBPUVQDO.js.map +0 -1
- package/dist/chunk-XW5LZYV4.js +0 -21
- package/dist/chunk-YTCCC6NG.js +0 -320
- package/dist/chunk-YTCCC6NG.js.map +0 -1
- package/dist/classified/index.d.ts +0 -17
- package/dist/collection-facade-EJVIN2BY.js +0 -39
- package/dist/computed-6FOFXQPE.js +0 -11
- package/dist/config-drift-RFEVGBKR.js +0 -24
- package/dist/config-drift-RFEVGBKR.js.map +0 -1
- package/dist/consent/index.d.ts +0 -23
- package/dist/crdt/index.d.ts +0 -34
- package/dist/dead-filter-RHMNYOXP.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-IHXOASHV.js +0 -25
- package/dist/derivations/index.d.ts +0 -70
- package/dist/derive-CD3ZVIXK.js +0 -21
- package/dist/describe/index.d.ts +0 -1
- package/dist/describe/index.js +0 -1
- package/dist/describe-C6iHNlqJ.d.ts +0 -162
- package/dist/dev-unlock-wgQ7Ci5I.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-KGEUW2GL.js +0 -123
- package/dist/executor-EUPYHCLU.js +0 -9
- package/dist/executor-KZ4B3PRT.js +0 -9
- package/dist/executor-MHUM2VZK.js +0 -21
- package/dist/export-accessible-Z3NSZZHN.js +0 -23
- package/dist/extract-partition-VSKT35JG.js +0 -36
- package/dist/fanout-sidecar-NBDKKCHT.js +0 -74
- package/dist/find-OH4BEULF.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -35
- package/dist/hash-CwHnoKyW.d.ts +0 -72
- package/dist/history/index.d.ts +0 -61
- package/dist/i18n/index.d.ts +0 -37
- package/dist/in/index.d.ts +0 -5
- package/dist/index-B9QdHytu.d.ts +0 -123
- package/dist/index-CTvUp94-.d.ts +0 -123
- package/dist/index-Dn5GzPg_.d.ts +0 -22138
- package/dist/indexing/index.d.ts +0 -39
- package/dist/issue-AEOL6RXA.js +0 -19
- package/dist/kernel/index.d.ts +0 -32
- package/dist/kernel/index.js +0 -59
- package/dist/lazy/index.d.ts +0 -21
- package/dist/ledger-3LR3YO2W.js +0 -42
- package/dist/liberate-XSEPRWEA.js +0 -24
- package/dist/link-set-NSUIX6BR.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -173
- package/dist/mime-magic-CYbFNQ4h.d.ts +0 -103
- package/dist/noydb-POVTIVQ6.js +0 -62
- package/dist/on/index.d.ts +0 -5
- package/dist/overlay-views/index.d.ts +0 -98
- package/dist/periods/index.d.ts +0 -20
- package/dist/pod/index.d.ts +0 -63
- package/dist/policy-Y7HL2KGA.js +0 -41
- package/dist/portability/index.d.ts +0 -20
- package/dist/post-register-KOFRTCDD.js +0 -55
- package/dist/post-register-KOFRTCDD.js.map +0 -1
- package/dist/public-envelope-NC7SPNMV.js +0 -32
- package/dist/query/index.d.ts +0 -5
- package/dist/read-only-facade-5ADRJVTM.js +0 -8
- package/dist/register-3D6R2MKN.js +0 -23
- package/dist/registry-AI4E46PD.js +0 -19
- package/dist/registry-HSNQ4NBP.js +0 -9
- package/dist/registry-WIX6QCV5.js +0 -17
- package/dist/request-withdrawal-GU4XS2R5.js +0 -31
- package/dist/reveal-5Y777N5Q.js +0 -38
- package/dist/reveal-5Y777N5Q.js.map +0 -1
- package/dist/revoke-ZFETCLYV.js +0 -24
- package/dist/revoke-ZFETCLYV.js.map +0 -1
- package/dist/satellites/index.d.ts +0 -5
- package/dist/sealed-record/index.d.ts +0 -69
- package/dist/session/index.d.ts +0 -44
- package/dist/shadow/index.d.ts +0 -15
- package/dist/signer-GAIMQQ2J.js +0 -25
- package/dist/signer-GAIMQQ2J.js.map +0 -1
- package/dist/snapshots/index.d.ts +0 -26
- package/dist/stale-77LP2EEF.js +0 -14
- package/dist/stale-77LP2EEF.js.map +0 -1
- package/dist/storage-KEXIXLGM.js +0 -23
- package/dist/storage-KEXIXLGM.js.map +0 -1
- package/dist/store-coordination-provider-NJDDZ264.js +0 -142
- package/dist/subject-index-O75wKshW.d.ts +0 -362
- package/dist/sync/index.d.ts +0 -41
- package/dist/team/index.d.ts +0 -155
- package/dist/tiers/index.d.ts +0 -5
- package/dist/to/index.d.ts +0 -5
- package/dist/transition-guard-D5RLJv8S.d.ts +0 -165
- package/dist/tx/index.d.ts +0 -35
- package/dist/ui/index.d.ts +0 -1
- package/dist/ulid-DRH25k3y.d.ts +0 -66
- package/dist/util/index.d.ts +0 -79
- package/dist/validators-C3lrVF-c.d.ts +0 -101
- package/dist/vault-diff-_LSIcOMv.d.ts +0 -147
- package/dist/verify-CAYGXYNO.js +0 -139
- package/dist/verify-CAYGXYNO.js.map +0 -1
- package/dist/walk-SMAE4IEI.js +0 -241
- package/dist/with/index.d.ts +0 -38
- package/dist/with-materialized-view-Xv1-9Bh0.d.ts +0 -27
- package/dist/with-overlayed-view-CuWhq_-C.d.ts +0 -12
- package/dist/with-rollup-K_iwal4b.d.ts +0 -47
- package/dist/withdraw-accessible-Q7BULAN5.js +0 -28
- package/dist/withdraw-accessible-Q7BULAN5.js.map +0 -1
- /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
- /package/dist/{chunk-VIWOGJ2O.js.map → chunk-3B5VVCNY.js.map} +0 -0
- /package/dist/{chunk-P2PEPSPK.js.map → chunk-3LQ2YKO4.js.map} +0 -0
- /package/dist/{chunk-EU7HDMT3.js.map → chunk-3QCRBHCY.js.map} +0 -0
- /package/dist/{chunk-FZK3JJJK.js.map → chunk-4JBYV75E.js.map} +0 -0
- /package/dist/{chunk-I6JJ6VJS.js.map → chunk-4NXKCLLQ.js.map} +0 -0
- /package/dist/{chunk-VFQOE76I.js.map → chunk-5M5DVGV7.js.map} +0 -0
- /package/dist/{chunk-LFGJG4XZ.js.map → chunk-5YOLBEQ6.js.map} +0 -0
- /package/dist/{chunk-OWGAXPRE.js.map → chunk-6CRIV7DE.js.map} +0 -0
- /package/dist/{chunk-QABECTNN.js.map → chunk-6QTNZJBS.js.map} +0 -0
- /package/dist/{chunk-723XB5NX.js.map → chunk-6T2SCQRU.js.map} +0 -0
- /package/dist/{chunk-PVC2FBCQ.js.map → chunk-7DSTRQIJ.js.map} +0 -0
- /package/dist/{chunk-NTPWQH4S.js.map → chunk-AUSTCW2X.js.map} +0 -0
- /package/dist/{chunk-MOQ5M46U.js.map → chunk-B3HJYUOF.js.map} +0 -0
- /package/dist/{chunk-QYMMMKOO.js.map → chunk-BDVFPG6Y.js.map} +0 -0
- /package/dist/{chunk-PYIUDUGS.js.map → chunk-CAF6WOK7.js.map} +0 -0
- /package/dist/{chunk-5HZULLHE.js.map → chunk-CIE2BASH.js.map} +0 -0
- /package/dist/{chunk-BTFTHF6Q.js.map → chunk-CRI4OUV4.js.map} +0 -0
- /package/dist/{chunk-37JZR7CY.js.map → chunk-DLG74CNB.js.map} +0 -0
- /package/dist/{chunk-TCGVRKOS.js.map → chunk-ERJ7FU55.js.map} +0 -0
- /package/dist/{chunk-FWART3VA.js.map → chunk-EVVGJDRQ.js.map} +0 -0
- /package/dist/{chunk-X5QZAJDB.js.map → chunk-EXK7QRWF.js.map} +0 -0
- /package/dist/{chunk-5HRJQSKN.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
- /package/dist/{chunk-DCVVCJVB.js.map → chunk-F64IRYG3.js.map} +0 -0
- /package/dist/{chunk-BJ2XF2RC.js.map → chunk-FHS2HQSH.js.map} +0 -0
- /package/dist/{chunk-HU55NPHZ.js.map → chunk-GKEWXIV5.js.map} +0 -0
- /package/dist/{chunk-I6URUNTD.js.map → chunk-GTGPO5KW.js.map} +0 -0
- /package/dist/{chunk-5UOPIPZC.js.map → chunk-HB3RFQSC.js.map} +0 -0
- /package/dist/{chunk-F3EKFGUS.js.map → chunk-I6GALP6E.js.map} +0 -0
- /package/dist/{chunk-R4IVPJHN.js.map → chunk-IL6POWCW.js.map} +0 -0
- /package/dist/{chunk-3KBK5LU4.js.map → chunk-IU6SNYX6.js.map} +0 -0
- /package/dist/{chunk-TUL5YQWF.js.map → chunk-J2ZX2XUV.js.map} +0 -0
- /package/dist/{chunk-UWZ7O4NR.js.map → chunk-JKJOGPZN.js.map} +0 -0
- /package/dist/{chunk-V76PHWLE.js.map → chunk-JZUV47FZ.js.map} +0 -0
- /package/dist/{chunk-II6DLDZM.js.map → chunk-K5IMOGHB.js.map} +0 -0
- /package/dist/{chunk-GDOOG5YQ.js.map → chunk-LASZKVMO.js.map} +0 -0
- /package/dist/{chunk-5YBUFCFF.js.map → chunk-NR5LT5RY.js.map} +0 -0
- /package/dist/{chunk-UMH35AQV.js.map → chunk-Q5VNKNE5.js.map} +0 -0
- /package/dist/{chunk-XW5LZYV4.js.map → chunk-QLWMEXCT.js.map} +0 -0
- /package/dist/{chunk-PAJCRV7O.js.map → chunk-QRB7NAOJ.js.map} +0 -0
- /package/dist/{chunk-U7LV2DUN.js.map → chunk-R4ROFEYC.js.map} +0 -0
- /package/dist/{chunk-RNYDHIQL.js.map → chunk-RIX4V2TB.js.map} +0 -0
- /package/dist/{chunk-L6Q5NA22.js.map → chunk-RYCTDFUX.js.map} +0 -0
- /package/dist/{chunk-CHK5VVMI.js.map → chunk-RZ5SVOYR.js.map} +0 -0
- /package/dist/{chunk-TIAYXOEI.js.map → chunk-SLFHQTTW.js.map} +0 -0
- /package/dist/{chunk-J5YUA6JB.js.map → chunk-UNFPPVNI.js.map} +0 -0
- /package/dist/{chunk-25G7PUTA.js.map → chunk-VLFCJYTL.js.map} +0 -0
- /package/dist/{chunk-7CZ6YXMO.js.map → chunk-VN3DBQAU.js.map} +0 -0
- /package/dist/{chunk-J7OH6R4K.js.map → chunk-VZRODIM3.js.map} +0 -0
- /package/dist/{chunk-55LSDABW.js.map → chunk-W22IKJE2.js.map} +0 -0
- /package/dist/{chunk-GLVXQU3E.js.map → chunk-X3YYQWOQ.js.map} +0 -0
- /package/dist/{chunk-M3OYTM5Z.js.map → chunk-YFXZEAYK.js.map} +0 -0
- /package/dist/{chunk-5JQMX2EH.js.map → chunk-ZAJAVEXY.js.map} +0 -0
- /package/dist/{chunk-26FSVNBL.js.map → chunk-ZICD77GM.js.map} +0 -0
- /package/dist/{chunk-IARAK3PK.js.map → chunk-ZUODRVHY.js.map} +0 -0
- /package/dist/{api-JDWL67WL.js.map → collection-facade-TLWIPI76.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
- /package/dist/{dead-filter-RHMNYOXP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
- /package/dist/{collection-facade-EJVIN2BY.js.map → derive-H2BJTLUI.js.map} +0 -0
- /package/dist/{computed-6FOFXQPE.js.map → enclave-AP3I5W7O.js.map} +0 -0
- /package/dist/{delegation-IHXOASHV.js.map → executor-KGWTNEQD.js.map} +0 -0
- /package/dist/{derive-CD3ZVIXK.js.map → executor-OVEXR6RT.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
- /package/dist/{enclave-KGEUW2GL.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
- /package/dist/{executor-EUPYHCLU.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
- /package/dist/{fanout-sidecar-NBDKKCHT.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
- /package/dist/{executor-KZ4B3PRT.js.map → find-N6345CNT.js.map} +0 -0
- /package/dist/{executor-MHUM2VZK.js.map → issue-5OKB6I2R.js.map} +0 -0
- /package/dist/{export-accessible-Z3NSZZHN.js.map → ledger-GFBKVPV4.js.map} +0 -0
- /package/dist/{extract-partition-VSKT35JG.js.map → liberate-3VDOT4KO.js.map} +0 -0
- /package/dist/{find-OH4BEULF.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
- /package/dist/{issue-AEOL6RXA.js.map → noydb-ZCJOYBDI.js.map} +0 -0
- /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
- /package/dist/{ledger-3LR3YO2W.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
- /package/dist/{liberate-XSEPRWEA.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{link-set-NSUIX6BR.js.map → register-VAHONCID.js.map} +0 -0
- /package/dist/{noydb-POVTIVQ6.js.map → registry-7MLVD3VO.js.map} +0 -0
- /package/dist/{policy-Y7HL2KGA.js.map → registry-EPKPD5SM.js.map} +0 -0
- /package/dist/{public-envelope-NC7SPNMV.js.map → registry-P5T7PS2U.js.map} +0 -0
- /package/dist/{read-only-facade-5ADRJVTM.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
- /package/dist/{register-3D6R2MKN.js.map → revoke-FDRD6GRW.js.map} +0 -0
- /package/dist/{registry-AI4E46PD.js.map → signer-MUWEIUI6.js.map} +0 -0
- /package/dist/{registry-HSNQ4NBP.js.map → stale-OSQ7J3AA.js.map} +0 -0
- /package/dist/{registry-WIX6QCV5.js.map → storage-MVFCGEQE.js.map} +0 -0
- /package/dist/{store-coordination-provider-NJDDZ264.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
- /package/dist/{walk-SMAE4IEI.js.map → walk-SVNDIZ62.js.map} +0 -0
- /package/dist/{request-withdrawal-GU4XS2R5.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branded money output type.
|
|
3
|
+
*
|
|
4
|
+
* The decoded read shape of a money field is an exact decimal STRING
|
|
5
|
+
* (`'10000.00'`) — but a hand-written schema types it `string | number`,
|
|
6
|
+
* which is honest about the input side and unhelpful on the output
|
|
7
|
+
* side: every read site hand-coerces, and a missed coercion passes
|
|
8
|
+
* typecheck silently (then surfaces as a runtime template warning, or
|
|
9
|
+
* worse, as `'10000.00' * 100` arithmetic).
|
|
10
|
+
*
|
|
11
|
+
* {@link MoneyString} is the output-side brand: a `string` that has
|
|
12
|
+
* been through noy-db's decode (or {@link asMoney}'s guard). Branding
|
|
13
|
+
* is type-level only — zero runtime cost on the read path.
|
|
14
|
+
*
|
|
15
|
+
* ## Wiring the brand through a validator (the input/output asymmetry)
|
|
16
|
+
*
|
|
17
|
+
* Keep the permissive `string | number` on the INPUT side so write
|
|
18
|
+
* sites are untouched, and brand the OUTPUT side. With Zod:
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* import type { MoneyString } from '@noy-db/hub'
|
|
22
|
+
*
|
|
23
|
+
* const moneyValue = z.union([z.number(), z.string()]) as unknown as
|
|
24
|
+
* z.ZodType<MoneyString, z.ZodTypeDef, string | number>
|
|
25
|
+
*
|
|
26
|
+
* const Invoice = z.object({ id: z.string(), total: moneyValue })
|
|
27
|
+
* type InvoiceOut = z.output<typeof Invoice> // total: MoneyString
|
|
28
|
+
* type InvoiceIn = z.input<typeof Invoice> // total: string | number
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* The cast is sound for fields declared in `moneyFields`: reads pass
|
|
32
|
+
* through `decodeMoneyFields`, which always produces the canonical
|
|
33
|
+
* decimal string.
|
|
34
|
+
*/
|
|
35
|
+
declare const MONEY_BRAND: unique symbol;
|
|
36
|
+
/**
|
|
37
|
+
* An exact decimal string produced by noy-db's money decode
|
|
38
|
+
* (`'10000.00'`). The brand exists only at the type level — at runtime
|
|
39
|
+
* a `MoneyString` is a plain string.
|
|
40
|
+
*/
|
|
41
|
+
export type MoneyString = string & {
|
|
42
|
+
readonly [MONEY_BRAND]: true;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Runtime-guarded cast to {@link MoneyString}. Accepts a decimal string
|
|
46
|
+
* or a number, returns the canonical decimal string branded — throws
|
|
47
|
+
* `MoneyUnsupportedError` on anything non-finite / non-decimal. Use at
|
|
48
|
+
* trust boundaries (deserialized JSON, route params); values read
|
|
49
|
+
* through `get()`/`list()` are already canonical.
|
|
50
|
+
*/
|
|
51
|
+
export declare function asMoney(value: string | number): MoneyString;
|
|
52
|
+
/** Type guard: is `value` a decimal string acceptable as money? */
|
|
53
|
+
export declare function isMoneyString(value: unknown): value is MoneyString;
|
|
54
|
+
/**
|
|
55
|
+
* The ONE sanctioned escape hatch to a JS `number` — explicit because
|
|
56
|
+
* the conversion is lossy past 2^53. For display math and chart axes;
|
|
57
|
+
* never feed the result back into stored amounts (use `mulRate` /
|
|
58
|
+
* `allocate` for exact arithmetic).
|
|
59
|
+
*/
|
|
60
|
+
export declare function moneyNumber(value: MoneyString | string | number): number;
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `money()` field descriptor — a branded schema-layer descriptor, a
|
|
3
|
+
* sibling of `i18nText()` / `dictKey()`. It owns currency, scale, and
|
|
4
|
+
* rounding policy for a field; the pure arithmetic lives in
|
|
5
|
+
* {@link ./fixed-point} and default scale resolution in
|
|
6
|
+
* {@link ./iso4217}.
|
|
7
|
+
*
|
|
8
|
+
* Two modes:
|
|
9
|
+
* - **fixed** `money({ currency: 'EUR' })` — one currency for the
|
|
10
|
+
* field; the value stores a bare scaled-integer string.
|
|
11
|
+
* - **multi** `money({ currencies: 'any' | [...] })` — currency travels
|
|
12
|
+
* per record; the value stores `{ amount, currency }`.
|
|
13
|
+
*
|
|
14
|
+
* `currency` and `currencies` are mutually exclusive.
|
|
15
|
+
*/
|
|
16
|
+
import type { RoundingMode } from './fixed-point.js';
|
|
17
|
+
import { NoydbError } from '../../kernel/errors.js';
|
|
18
|
+
export interface MoneyOptionsFixed {
|
|
19
|
+
currency: string;
|
|
20
|
+
/** Override the ISO-4217 default scale (required for unlisted codes). */
|
|
21
|
+
scale?: number;
|
|
22
|
+
rounding?: RoundingMode;
|
|
23
|
+
}
|
|
24
|
+
export interface MoneyOptionsMulti {
|
|
25
|
+
currencies: 'any' | readonly string[];
|
|
26
|
+
/** Per-currency scale overrides (required for unlisted codes). */
|
|
27
|
+
scaleOverrides?: Record<string, number>;
|
|
28
|
+
rounding?: RoundingMode;
|
|
29
|
+
}
|
|
30
|
+
export type MoneyOptions = MoneyOptionsFixed | MoneyOptionsMulti;
|
|
31
|
+
export interface MoneyDescriptor {
|
|
32
|
+
readonly _noydbMoney: true;
|
|
33
|
+
/** Via port brand marker — lets a `MoneyDescriptor` satisfy the kernel's opaque `ViaDescriptor`. */
|
|
34
|
+
readonly _viaBrand: 'money';
|
|
35
|
+
readonly mode: 'fixed' | 'multi';
|
|
36
|
+
readonly options: MoneyOptions;
|
|
37
|
+
readonly rounding: RoundingMode | undefined;
|
|
38
|
+
/** The currency for fixed mode; `undefined` in multi mode. */
|
|
39
|
+
readonly fixedCurrency: string | undefined;
|
|
40
|
+
/** Resolve the scale for a currency, throwing if not allowed / unknown. */
|
|
41
|
+
scaleFor(currency: string): number;
|
|
42
|
+
/** Whether this descriptor permits the given currency. */
|
|
43
|
+
allows(currency: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* The single currency this descriptor implies, if any — fixed mode, or
|
|
46
|
+
* multi mode with exactly one allow-listed currency. Lets a multi field
|
|
47
|
+
* accept a bare amount unambiguously. `undefined` otherwise.
|
|
48
|
+
*/
|
|
49
|
+
soleCurrency(): string | undefined;
|
|
50
|
+
}
|
|
51
|
+
/** Raised when a written value carries more precision than `scale` allows. */
|
|
52
|
+
export declare class MoneyPrecisionError extends NoydbError {
|
|
53
|
+
readonly field: string;
|
|
54
|
+
readonly value: unknown;
|
|
55
|
+
readonly scale: number;
|
|
56
|
+
constructor(field: string, value: unknown, scale: number);
|
|
57
|
+
}
|
|
58
|
+
/** Raised when a currency is disallowed or has no resolvable scale. */
|
|
59
|
+
export declare class MoneyCurrencyError extends NoydbError {
|
|
60
|
+
readonly currency: string;
|
|
61
|
+
readonly reason: 'not-allowed' | 'unknown-scale';
|
|
62
|
+
readonly field?: string | undefined;
|
|
63
|
+
constructor(currency: string, reason: 'not-allowed' | 'unknown-scale', field?: string | undefined);
|
|
64
|
+
}
|
|
65
|
+
/** Raised when an aggregate operation is not supported on a money field. */
|
|
66
|
+
export declare class MoneyUnsupportedError extends NoydbError {
|
|
67
|
+
readonly field: string;
|
|
68
|
+
constructor(field: string, message?: string);
|
|
69
|
+
}
|
|
70
|
+
/** Create a {@link MoneyDescriptor}. */
|
|
71
|
+
export declare function money(options: MoneyOptions): MoneyDescriptor;
|
|
72
|
+
/** Runtime predicate for detecting a {@link MoneyDescriptor}. */
|
|
73
|
+
export declare function isMoneyDescriptor(x: unknown): x is MoneyDescriptor;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure fixed-point decimal core for the money descriptor.
|
|
3
|
+
*
|
|
4
|
+
* All conversion goes decimal-string ⇄ scaled `BigInt`. There is no
|
|
5
|
+
* floating-point arithmetic anywhere: a value like `123.45` becomes
|
|
6
|
+
* `12345n` purely by string manipulation, never by `value * 100` (which
|
|
7
|
+
* would reintroduce the very drift money() exists to eliminate). BigInt
|
|
8
|
+
* has no magnitude ceiling, so values past `Number.MAX_SAFE_INTEGER`
|
|
9
|
+
* stay exact end-to-end.
|
|
10
|
+
*
|
|
11
|
+
* This module knows nothing about currencies, descriptors, or storage —
|
|
12
|
+
* it is the isolated, exhaustively-tested arithmetic kernel.
|
|
13
|
+
*/
|
|
14
|
+
export type RoundingMode = 'half-up' | 'half-even' | 'half-down' | 'up' | 'down' | 'ceil' | 'floor';
|
|
15
|
+
export type ParseResult = {
|
|
16
|
+
ok: true;
|
|
17
|
+
value: bigint;
|
|
18
|
+
} | {
|
|
19
|
+
ok: false;
|
|
20
|
+
reason: 'precision' | 'nonfinite';
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Parse a decimal (`number | string`) into a scaled `BigInt` at the
|
|
24
|
+
* given scale. When the input carries more fractional precision than
|
|
25
|
+
* `scale`:
|
|
26
|
+
* - `rounding` omitted ⇒ `{ ok: false, reason: 'precision' }`
|
|
27
|
+
* - `rounding` set ⇒ the tail is rounded per the mode.
|
|
28
|
+
* Non-finite / unparseable input ⇒ `{ ok: false, reason: 'nonfinite' }`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseToScaledInt(input: number | string, scale: number, rounding?: RoundingMode): ParseResult;
|
|
31
|
+
/**
|
|
32
|
+
* Number of fractional digits in the canonical decimal rendering of
|
|
33
|
+
* `input` (`'123.45'` → 2, `100` → 0, `'1e-7'` → 7), or `null` when the
|
|
34
|
+
* input is non-finite / not a decimal. Used to infer the working scale
|
|
35
|
+
* of arithmetic helpers from their canonical-string inputs.
|
|
36
|
+
*/
|
|
37
|
+
export declare function decimalScaleOf(input: number | string): number | null;
|
|
38
|
+
/**
|
|
39
|
+
* Re-scale a scaled `BigInt` from `fromScale` to `toScale`. Scaling up
|
|
40
|
+
* is exact (append zeros); scaling down rounds the discarded tail per
|
|
41
|
+
* `rounding`. The rounding decision reuses the same kernel as
|
|
42
|
+
* {@link parseToScaledInt}, so `rescaleScaledInt(parse('1.005', 3), 3, 2)`
|
|
43
|
+
* and `parse('1.005', 2, mode)` agree for every mode.
|
|
44
|
+
*/
|
|
45
|
+
export declare function rescaleScaledInt(value: bigint, fromScale: number, toScale: number, rounding?: RoundingMode): bigint;
|
|
46
|
+
/**
|
|
47
|
+
* Render a scaled `BigInt` back to its canonical decimal string at the
|
|
48
|
+
* given scale. `(12345n, 2)` → `'123.45'`; `(5n, 0)` → `'5'`;
|
|
49
|
+
* `(-1n, 2)` → `'-0.01'`. Exact for any magnitude.
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatScaledInt(value: bigint, scale: number): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@noy-db/hub` money service — the `money()` field descriptor for
|
|
3
|
+
* currency-safe, exact decimal storage, formatting, and aggregation.
|
|
4
|
+
*
|
|
5
|
+
* @see ./descriptor for the public `money()` factory.
|
|
6
|
+
*/
|
|
7
|
+
export { money, isMoneyDescriptor, MoneyPrecisionError, MoneyCurrencyError, MoneyUnsupportedError } from './descriptor.js';
|
|
8
|
+
export type { MoneyDescriptor, MoneyOptions, MoneyOptionsFixed, MoneyOptionsMulti, } from './descriptor.js';
|
|
9
|
+
export type { RoundingMode } from './fixed-point.js';
|
|
10
|
+
export { scaleForCurrency } from './iso4217.js';
|
|
11
|
+
export type { FxRates } from './money-reducer.js';
|
|
12
|
+
export { mulRate, allocate } from './arith.js';
|
|
13
|
+
export type { MulRateOptions, AllocateOptions } from './arith.js';
|
|
14
|
+
export { asMoney, isMoneyString, moneyNumber } from './branded.js';
|
|
15
|
+
export type { MoneyString } from './branded.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Money-aware aggregation: exact `sum` / `min` / `max` over money
|
|
3
|
+
* fields.
|
|
4
|
+
*
|
|
5
|
+
* The generic reducers (`aggregate/reducers.ts`) read a field via
|
|
6
|
+
* `readNumber`, which coerces a string (the stored scaled-integer form
|
|
7
|
+
* of money, e.g. `'12345'`) to `0` — so an un-wrapped money `sum` would
|
|
8
|
+
* silently return zero. {@link wrapMoneyReducers} rewrites any `sum` /
|
|
9
|
+
* `min` / `max` over a declared money field into a reducer that
|
|
10
|
+
* accumulates per-currency `BigInt` totals of the stored integers, so
|
|
11
|
+
* the result is exact for any magnitude (past `Number.MAX_SAFE_INTEGER`
|
|
12
|
+
* included).
|
|
13
|
+
*
|
|
14
|
+
* Results are currency-aware and never silently mix currencies:
|
|
15
|
+
* - **fixed** mode → a single exact decimal string.
|
|
16
|
+
* - **multi** mode → an exact `Record<currency, string>` map.
|
|
17
|
+
* - **`sum` with `convertTo` + `fx`** → a single exact string, with
|
|
18
|
+
* each currency converted via BigInt arithmetic (no float).
|
|
19
|
+
*
|
|
20
|
+
* `remove()` is implemented for every money reducer so they participate
|
|
21
|
+
* in incremental live-aggregation and materialized-view maintenance
|
|
22
|
+
* exactly like the generic reducers they replace.
|
|
23
|
+
*/
|
|
24
|
+
import type { MoneyDescriptor } from './descriptor.js';
|
|
25
|
+
import type { AggregateSpec } from '../../with-lookup/aggregate/aggregation.js';
|
|
26
|
+
export type FxRates = Record<string, number | string>;
|
|
27
|
+
/**
|
|
28
|
+
* Rewrite any `sum` / `min` / `max` reducer over a declared money field
|
|
29
|
+
* into its exact BigInt money-aware equivalent. Other reducers (and
|
|
30
|
+
* reducers over non-money fields) pass through unchanged. Returns a new
|
|
31
|
+
* spec; the input is not mutated.
|
|
32
|
+
*/
|
|
33
|
+
export declare function wrapMoneyReducers(spec: AggregateSpec, moneyFields: Record<string, MoneyDescriptor>): AggregateSpec;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Write-side and read-side normalization for money fields.
|
|
3
|
+
*
|
|
4
|
+
* - **Write** ({@link quantizeMoneyFields}): user input (`number | string`,
|
|
5
|
+
* or `{ amount, currency }` in multi mode) → the canonical *stored*
|
|
6
|
+
* form — a scaled-integer **digit string** (`'12345'`), or
|
|
7
|
+
* `{ amount: '12345', currency: 'EUR' }` in multi mode. A JSON number
|
|
8
|
+
* would truncate past 2^53, so the integer is always stored as a string.
|
|
9
|
+
* - **Read** ({@link decodeMoneyFields}): stored form → an exact decimal
|
|
10
|
+
* string (`'123.45'`) plus, when formatting is requested, the virtual
|
|
11
|
+
* `<field>Formatted` (locale currency string) and `<field>Number`
|
|
12
|
+
* (convenience JS number, explicitly lossy past 2^53).
|
|
13
|
+
*
|
|
14
|
+
* Both return a shallow clone; neither mutates the input record.
|
|
15
|
+
*/
|
|
16
|
+
import { type MoneyDescriptor } from './descriptor.js';
|
|
17
|
+
/**
|
|
18
|
+
* Canonicalize a STORED-form record's money fields for an internal
|
|
19
|
+
* callback boundary. Gate handlers (guard `check` /
|
|
20
|
+
* `frozenFields` / `onDelete`, period guard, amendment invariants) and
|
|
21
|
+
* derivation `derive(source, ctx)` callbacks are user-facing: they must
|
|
22
|
+
* see the same decoded canonical decimal that `get()` returns — the
|
|
23
|
+
* scaled-int storage form never escapes. Decoded with `'raw'` (no
|
|
24
|
+
* `<field>Formatted`/`<field>Number` virtuals): these boundaries carry
|
|
25
|
+
* no locale, and fabricating one would re-create a two-read-paths
|
|
26
|
+
* skew inside comparisons.
|
|
27
|
+
*/
|
|
28
|
+
export declare function canonicalizeStoredMoney(record: unknown, moneyFields: Record<string, MoneyDescriptor> | undefined): unknown;
|
|
29
|
+
/**
|
|
30
|
+
* Canonicalize an INCOMING record's money fields at the top of the
|
|
31
|
+
* write pipeline. Raw user input (pre-quantize) may hold a
|
|
32
|
+
* number (`10000`), a major-unit string (`'10000.00'`), or a spread of
|
|
33
|
+
* an already-decoded read. Quantize→decode folds all three to the
|
|
34
|
+
* canonical decimal string, so gate handlers, computed-field
|
|
35
|
+
* callbacks, and schema validation all see the `get()` shape — and
|
|
36
|
+
* freeze-style guards comparing `incoming[f]` vs `existing[f]` see
|
|
37
|
+
* equal values for an unchanged field. Best-effort: input that fails
|
|
38
|
+
* to quantize passes through unchanged — the write path quantizes
|
|
39
|
+
* again after validation and surfaces the real
|
|
40
|
+
* `MoneyPrecisionError`/`TypeError`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function canonicalizeIncomingMoney(record: unknown, moneyFields: Record<string, MoneyDescriptor> | undefined): unknown;
|
|
43
|
+
/**
|
|
44
|
+
* Convert money fields in `record` from user input to their canonical
|
|
45
|
+
* stored form. Returns a shallow clone (deep along declared nested
|
|
46
|
+
* paths). A nested path whose declared shape disagrees with the
|
|
47
|
+
* data throws: writing through would store an un-quantized amount.
|
|
48
|
+
*/
|
|
49
|
+
export declare function quantizeMoneyFields<T extends Record<string, unknown>>(record: T, moneyFields: Record<string, MoneyDescriptor>): T;
|
|
50
|
+
/**
|
|
51
|
+
* The stored scaled-integer value of a money field as a `BigInt`, for
|
|
52
|
+
* exact numeric comparison (e.g. `orderBy` / sorting), or `null` when the
|
|
53
|
+
* stored value is missing/malformed. Mirrors the stored form `decodeValue`
|
|
54
|
+
* reads: a bare scaled-int (fixed mode) or `{ amount, currency }`
|
|
55
|
+
* (multi-currency). Comparison is in scaled space and is exact within a
|
|
56
|
+
* single currency/scale (the `where` / `sum` BigInt model); across
|
|
57
|
+
* currencies of different scales the raw scaled comparison is best-effort.
|
|
58
|
+
*/
|
|
59
|
+
export declare function moneyScaledValue(stored: unknown, desc: MoneyDescriptor): bigint | null;
|
|
60
|
+
/**
|
|
61
|
+
* The `ViaBinding.canonicalizeIndexKey` implementation for money (#672) —
|
|
62
|
+
* bucket an eager index's money field entries by the BigInt-normalized
|
|
63
|
+
* scaled-int string, not the raw stored bytes, so a pre-declaration /
|
|
64
|
+
* non-canonical value (e.g. `'0100'`) lands under the SAME key a canonical
|
|
65
|
+
* write produces (`'100'`). Only FIXED-mode declared money fields
|
|
66
|
+
* participate — multi-mode stores `{ amount, currency }`, which has no
|
|
67
|
+
* single bucketable scalar (mirrors `moneyIndexProbe`'s fixed-only gate,
|
|
68
|
+
* `via/money/where.ts`). `undefined` when `field` isn't a declared
|
|
69
|
+
* fixed-mode money field, or the stored value doesn't parse — in both
|
|
70
|
+
* cases the caller falls back to the raw stringified bucket, which is
|
|
71
|
+
* exactly what the scan (`evaluateMoneyClause`) also treats as a
|
|
72
|
+
* non-match, preserving fast-path/scan parity.
|
|
73
|
+
*/
|
|
74
|
+
export declare function canonicalizeMoneyIndexKey(field: string, rawValue: unknown, moneyFields: Record<string, MoneyDescriptor>): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* money's `presentLate` hook (#669) — for each field in `virtualMoney` (money ∩
|
|
77
|
+
* virtual-mode computed on the SAME field), quantize the computed fn's fresh
|
|
78
|
+
* MAJOR-UNITS output to the descriptor's scale (with its declared rounding)
|
|
79
|
+
* and present it EXACTLY like a stored money field: the exact decimal string
|
|
80
|
+
* (via {@link formatScaledInt}), plus `<field>Formatted`/`<field>Number` when
|
|
81
|
+
* `locale !== 'raw'`. NEVER the scaled-int decode {@link decodeMoneyFields}
|
|
82
|
+
* runs for a genuinely-stored value — that would misread a virtual field's
|
|
83
|
+
* raw major-unit `21` as 21 SCALED units (`'0.21'`, the #665 corruption this
|
|
84
|
+
* must not reintroduce). Runs AFTER computed's `present()` (the pipeline's
|
|
85
|
+
* `presentLate` fold point, `kernel/via/pipeline.ts`), so `record[field]`
|
|
86
|
+
* already holds the fn's fresh output by the time this runs.
|
|
87
|
+
*
|
|
88
|
+
* Absent/null value → left untouched (nothing to dress). Unparseable value
|
|
89
|
+
* (fails `parseToScaledInt` — e.g. excess precision with no declared
|
|
90
|
+
* rounding) → left RAW, no throw: read-time dressing must never brick a
|
|
91
|
+
* read. Fixed-mode fields only — a virtual field's computed output has no
|
|
92
|
+
* natural `{ amount, currency }` shape to parse for multi-currency mode.
|
|
93
|
+
*/
|
|
94
|
+
export declare function presentVirtualMoneyFields<T extends Record<string, unknown>>(record: T, moneyFields: Record<string, MoneyDescriptor>, virtualMoney: ReadonlySet<string>, locale: string | undefined): T;
|
|
95
|
+
/**
|
|
96
|
+
* Convert money fields in `record` from stored form to the read shape:
|
|
97
|
+
* an exact decimal string, plus `<field>Formatted` / `<field>Number`
|
|
98
|
+
* virtuals when `locale !== 'raw'`. Returns a shallow clone (deep along
|
|
99
|
+
* declared nested paths; virtuals land as siblings inside the
|
|
100
|
+
* nested container, e.g. each `lineItems[]` element gains
|
|
101
|
+
* `amountFormatted`, except for values held directly in arrays where a
|
|
102
|
+
* scalar has no sibling slot). The decode walk is LENIENT: stored data
|
|
103
|
+
* predating a declaration change must stay readable.
|
|
104
|
+
*/
|
|
105
|
+
export declare function decodeMoneyFields<T extends Record<string, unknown>>(record: T, moneyFields: Record<string, MoneyDescriptor>, locale: string | undefined): T;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nested-path support for `moneyFields` declarations.
|
|
3
|
+
*
|
|
4
|
+
* A descriptor map key is a PATH, not just a top-level field name:
|
|
5
|
+
*
|
|
6
|
+
* - `'total'` — top-level scalar (the original form)
|
|
7
|
+
* - `'billing.monthlyServiceFee'` — nested object member
|
|
8
|
+
* - `'lineItems[].amount'` — member of every element of an array
|
|
9
|
+
* - `'summary.*'` — every value of a record/map object
|
|
10
|
+
* - `'income[].taxWithheld'`, `'byMonth.*.amount'` — segments compose
|
|
11
|
+
*
|
|
12
|
+
* Paths are parsed ONCE, at collection registration, and a syntactically
|
|
13
|
+
* invalid declaration throws there — loudly, at setup time. (The
|
|
14
|
+
* historical failure mode this kills: a declared-but-unreachable path
|
|
15
|
+
* that was silently ignored, leaving the field un-quantized — a latent
|
|
16
|
+
* 100× bug.) A path that doesn't match a given record at write time is
|
|
17
|
+
* NOT an error — optional fields and empty arrays are legitimate — but
|
|
18
|
+
* a path segment that hits a value of the WRONG SHAPE (`[]` on a
|
|
19
|
+
* non-array, `.*` on a non-object) throws, because that means the
|
|
20
|
+
* declaration and the data model disagree.
|
|
21
|
+
*/
|
|
22
|
+
export type MoneyPathSegment = {
|
|
23
|
+
readonly kind: 'key';
|
|
24
|
+
readonly key: string;
|
|
25
|
+
readonly array: boolean;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: 'wildcard';
|
|
28
|
+
readonly array: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Parse a moneyFields path into segments. Throws `ValidationError` on
|
|
32
|
+
* bad syntax. Results are memoized — the same declared paths are walked
|
|
33
|
+
* on every write/read.
|
|
34
|
+
*/
|
|
35
|
+
export declare function parseMoneyPath(path: string): readonly MoneyPathSegment[];
|
|
36
|
+
/** True when the path is a plain top-level field name (the fast path). */
|
|
37
|
+
export declare function isSimpleMoneyPath(path: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Validate every declared path's syntax. Call at collection
|
|
40
|
+
* registration so typos throw at setup, not silently no-op per write.
|
|
41
|
+
*/
|
|
42
|
+
export declare function validateMoneyFieldPaths(moneyFields: Record<string, unknown>): void;
|
|
43
|
+
/**
|
|
44
|
+
* The leaf visitor: receives the (already-cloned) container holding the
|
|
45
|
+
* money value and the key/index of that value. Mutating the container
|
|
46
|
+
* is safe — every container on a matched path is a fresh clone.
|
|
47
|
+
*/
|
|
48
|
+
export type MoneyLeafVisitor = (container: Record<string, unknown> | unknown[], key: string | number) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Walk `node` along `segments`, copy-on-write-cloning every container on
|
|
51
|
+
* a matched path, and call `visit` at each leaf position. Returns the
|
|
52
|
+
* (possibly new) node; unmatched paths return the input untouched.
|
|
53
|
+
*
|
|
54
|
+
* Shape mismatches (`[]` on a non-array, `*` on a non-object) THROW on
|
|
55
|
+
* the write path — the declaration and the data model disagree, and
|
|
56
|
+
* writing through would store an un-quantized amount. On the READ path
|
|
57
|
+
* pass `lenient: true` instead: stored data predating a declaration
|
|
58
|
+
* change must stay readable, so a mismatched node is returned untouched
|
|
59
|
+
* (mirrors the defensive `continue` the flat decoder always had).
|
|
60
|
+
*/
|
|
61
|
+
export declare function transformAtMoneyPath(node: unknown, path: string, segments: readonly MoneyPathSegment[], index: number, visit: MoneyLeafVisitor, lenient: boolean): unknown;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Money-aware `where()` comparison.
|
|
3
|
+
*
|
|
4
|
+
* Query clauses evaluate against RAW stored records — money decode
|
|
5
|
+
* happens on output only — so a money field's stored form is a
|
|
6
|
+
* scaled-integer digit string (`'1000000'`) while the caller naturally
|
|
7
|
+
* writes the operand in major units (`10000`, `'10000.00'`). Without a
|
|
8
|
+
* rewrite the comparison is silently wrong by the scale factor, and a
|
|
9
|
+
* string-vs-number comparison is excluded by `isComparable` anyway.
|
|
10
|
+
*
|
|
11
|
+
* Two halves:
|
|
12
|
+
*
|
|
13
|
+
* - {@link moneyFieldClause} runs at QUERY BUILD time: it quantizes the
|
|
14
|
+
* caller's major-unit operand into stored scaled-int space via the
|
|
15
|
+
* same `parseToScaledInt` path as writes, so a malformed operand
|
|
16
|
+
* throws at `.where()` — not silently filters everything out.
|
|
17
|
+
* - {@link evaluateMoneyClause} runs per record and compares
|
|
18
|
+
* `BigInt`-exact in scaled space (exact past 2^53, like the rest of
|
|
19
|
+
* the money service).
|
|
20
|
+
*
|
|
21
|
+
* Currency semantics (multi mode): an operand carries one currency —
|
|
22
|
+
* explicit via `{ amount, currency }`, or the descriptor's sole allowed
|
|
23
|
+
* currency for a bare amount. A record in a DIFFERENT currency has no
|
|
24
|
+
* defined order against the operand: it matches `!=` and nothing else.
|
|
25
|
+
*/
|
|
26
|
+
import { type MoneyDescriptor } from './descriptor.js';
|
|
27
|
+
import type { Operator } from '../../kernel/query/predicate.js';
|
|
28
|
+
/** One quantized operand value: scaled digit string + its currency. */
|
|
29
|
+
interface MoneyOperandEntry {
|
|
30
|
+
readonly scaled: string;
|
|
31
|
+
readonly currency: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The opaque `via` clause payload for a `where()` over a declared money
|
|
35
|
+
* field (see `ViaBinding.buildClause` in kernel/via/index.ts). `entries` holds
|
|
36
|
+
* one element for comparison ops, two for `between` (lo, hi — same
|
|
37
|
+
* currency), N for `in`.
|
|
38
|
+
*/
|
|
39
|
+
export interface MoneyWhereOperand {
|
|
40
|
+
readonly mode: 'fixed' | 'multi';
|
|
41
|
+
readonly entries: ReadonlyArray<MoneyOperandEntry>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build the `via` clause payload ({@link MoneyWhereOperand}) for a
|
|
45
|
+
* `where()` over a declared money field — the `ViaBinding.buildClause`
|
|
46
|
+
* implementation for money. The operand is quantized into stored
|
|
47
|
+
* scaled-int space NOW — build time — so typos throw at the call site.
|
|
48
|
+
*/
|
|
49
|
+
export declare function moneyFieldClause(field: string, op: Operator, value: unknown, desc: MoneyDescriptor): MoneyWhereOperand;
|
|
50
|
+
/**
|
|
51
|
+
* The `via` index-probe operand for a `where()` over a declared money
|
|
52
|
+
* field (see `ViaBinding.indexProbe` in kernel/via/index.ts) — the STORED-form
|
|
53
|
+
* value `CollectionIndexes.lookupEqual`/`lookupIn` (`with-lookup/indexing/
|
|
54
|
+
* eager-indexes.ts`) can bucket directly.
|
|
55
|
+
*
|
|
56
|
+
* Only FIXED-mode `==`/`in` are sound:
|
|
57
|
+
* - fixed-mode stores a bare scaled-int digit string (no currency
|
|
58
|
+
* component), and `entries[i].scaled` is built by {@link parseOperand}
|
|
59
|
+
* via the exact same `parseToScaledInt(...).value.toString()` path
|
|
60
|
+
* `quantizeMoneyFields` (`via-money/normalize.ts#quantizeAmount`) uses
|
|
61
|
+
* to produce the STORED value — so the two strings are byte-identical
|
|
62
|
+
* by construction, and `stringifyKey` (which passes a string through
|
|
63
|
+
* unchanged) buckets them the same way.
|
|
64
|
+
* - multi-mode stores `{ amount, currency }` — the index would stringify
|
|
65
|
+
* that object to its no-match `'\0OBJECT\0'` sentinel — so multi-mode
|
|
66
|
+
* always returns `undefined` (no sound probe).
|
|
67
|
+
* - every op besides `==`/`in` (range comparisons, `between`) has no
|
|
68
|
+
* single stored-form value the hash index can serve, so they return
|
|
69
|
+
* `undefined` too — the caller falls back to a scan.
|
|
70
|
+
*
|
|
71
|
+
* MIXED-ERA DATA (#672, fixed — including the #672 review's C1 finding): a
|
|
72
|
+
* record whose stored value predates the field's `money()` declaration, or
|
|
73
|
+
* otherwise bypassed `quantizeMoneyFields`, may hold a NON-canonical scaled
|
|
74
|
+
* string (e.g. `'0100'` instead of `'100'`). `CollectionIndexes` no longer
|
|
75
|
+
* buckets it under that raw string verbatim at ANY bucket-mutation site —
|
|
76
|
+
* `build`, `upsert`, and `remove` all consult the same registered
|
|
77
|
+
* canonicalizer (`ViaPipeline.canonicalizeIndexKey`; money's implementation:
|
|
78
|
+
* `canonicalizeMoneyIndexKey`, `via/money/normalize.ts`), which re-parses the
|
|
79
|
+
* stored value the same way the scan's `evaluateMoneyClause`/`readStored`
|
|
80
|
+
* does (`BigInt(actual).toString()`). So the legacy record lands in the SAME
|
|
81
|
+
* bucket a canonical write produces, an `==`/`in` probe for `'100'` finds it,
|
|
82
|
+
* and — because add and remove now agree on that bucket — a later `put()`
|
|
83
|
+
* (update) or `delete()` of that same legacy record cleans up the correct
|
|
84
|
+
* bucket instead of stranding the id under a bucket the removal could never
|
|
85
|
+
* reach. The two-string byte-identity argument above still explains WHY a
|
|
86
|
+
* canonical write's probe hits directly (no canonicalization needed for the
|
|
87
|
+
* common case); this note covers the pre-declaration tail.
|
|
88
|
+
*
|
|
89
|
+
* Boundary — CLOSED for the index layer (#677): LAZY mode's
|
|
90
|
+
* `PersistedCollectionIndex` (`with-lookup/indexing/persisted-indexes.ts`)
|
|
91
|
+
* now consults the SAME `ViaPipeline.canonicalizeIndexKey` at every
|
|
92
|
+
* bucket-mutation site (`ingest`/`upsert`/`remove`) as `CollectionIndexes`
|
|
93
|
+
* does, and its query path (`with-lookup/indexing/lazy-builder.ts`'s
|
|
94
|
+
* `resolveCandidateIds()`) canonicalizes the `==`/`in` probe value before
|
|
95
|
+
* calling `lookupEqual`/`lookupIn` — mirroring `candidateRecords()` above
|
|
96
|
+
* resolving `indexValue` before its own `lookupEqual`/`lookupIn` call. A
|
|
97
|
+
* lazy-mode mixed-era record's bucket and a canonicalized probe now agree,
|
|
98
|
+
* the same as eager mode.
|
|
99
|
+
*
|
|
100
|
+
* Residual boundary CLOSED by #684: `LazyQuery.where()` now builds
|
|
101
|
+
* `clause.via` exactly like `Query.where()`/`ScanBuilder.where()` do, and
|
|
102
|
+
* `LazyQuery`'s post-filter (`lazy-builder.ts`'s `toArray()`) runs it
|
|
103
|
+
* against the RAW record (a dedicated raw-fetch seam on `Collection`, split
|
|
104
|
+
* out of `get()`) instead of the DECODED one — `clause.via.evaluate` (this
|
|
105
|
+
* file's {@link evaluateMoneyClause}) now sees the same stored-form
|
|
106
|
+
* operand/actual-value space eager's `filterRecords` does, at any `scale`.
|
|
107
|
+
* Only survivors are decoded (`present()`) on the way out. Money RANGE
|
|
108
|
+
* clauses additionally route around `PersistedCollectionIndex.lookupRange`
|
|
109
|
+
* (raw/typed, wrong space for scaled-int money) — `resolveCandidateIds()`
|
|
110
|
+
* enumerates the field's indexed ids instead and lets this now-via-aware
|
|
111
|
+
* post-filter apply the correct BigInt-exact comparison. `lazyQuery().
|
|
112
|
+
* where()` on a money field now agrees with `scan().where()` /
|
|
113
|
+
* `query().where()` at every `scale` — for `.where()` results specifically.
|
|
114
|
+
* `orderBy` ordering is a separate, still-open lazy-vs-eager divergence,
|
|
115
|
+
* tracked in #695.
|
|
116
|
+
*/
|
|
117
|
+
export declare function moneyIndexProbe(op: Operator, payload: MoneyWhereOperand): unknown | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* Per-record evaluation of a money clause: BigInt-exact comparison in
|
|
120
|
+
* scaled-integer space. `actual` is the RAW stored field value.
|
|
121
|
+
*
|
|
122
|
+
* Missing/malformed stored values and cross-currency comparisons match
|
|
123
|
+
* `!=` only — consistent with the generic clause semantics where an
|
|
124
|
+
* absent field is "not equal" and has no defined order.
|
|
125
|
+
*/
|
|
126
|
+
export declare function evaluateMoneyClause(actual: unknown, op: Operator, operand: MoneyWhereOperand): boolean;
|
|
127
|
+
export {};
|