@noy-db/hub 0.2.0-pre.18 → 0.2.0-pre.19
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.cjs +227 -3
- package/dist/aggregate/index.cjs.map +1 -1
- package/dist/aggregate/index.d.cts +3 -3
- package/dist/aggregate/index.d.ts +3 -3
- package/dist/aggregate/index.js +5 -4
- package/dist/aggregate/index.js.map +1 -1
- package/dist/attestation/index.cjs.map +1 -1
- package/dist/attestation/index.d.cts +5 -5
- package/dist/attestation/index.d.ts +5 -5
- package/dist/attestation/index.js +6 -6
- package/dist/blobs/index.cjs +4 -10
- package/dist/blobs/index.cjs.map +1 -1
- package/dist/blobs/index.d.cts +6 -6
- package/dist/blobs/index.d.ts +6 -6
- package/dist/blobs/index.js +6 -6
- package/dist/bundle/index.cjs +520 -46
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +7 -7
- package/dist/bundle/index.d.ts +7 -7
- package/dist/bundle/index.js +10 -10
- package/dist/{chunk-6Q5XRLKG.js → chunk-3FSMVWBN.js} +4 -4
- package/dist/{chunk-647TFNYL.js → chunk-3Q2AOPLT.js} +76 -28
- package/dist/chunk-3Q2AOPLT.js.map +1 -0
- package/dist/{chunk-2U226RDC.js → chunk-4ULLGYPA.js} +3 -3
- package/dist/{chunk-6FHCU3QO.js → chunk-5IGWRMEC.js} +5 -5
- package/dist/{chunk-Y5XVB75E.js → chunk-6KESZO5D.js} +35 -7
- package/dist/chunk-6KESZO5D.js.map +1 -0
- package/dist/{chunk-KQ523X3A.js → chunk-6OSOE6BY.js} +2 -2
- package/dist/{chunk-HWK75CYX.js → chunk-7C6VFNIY.js} +2 -2
- package/dist/{chunk-33DAO2XG.js → chunk-7HD67R6U.js} +2 -2
- package/dist/{chunk-RQFG2YSV.js → chunk-B6E5IRPJ.js} +3 -3
- package/dist/{chunk-YWYW2YNO.js → chunk-CYNTFU2D.js} +2 -2
- package/dist/{chunk-HMFC6M2G.js → chunk-DJF3FXW5.js} +17 -1
- package/dist/{chunk-HMFC6M2G.js.map → chunk-DJF3FXW5.js.map} +1 -1
- package/dist/{chunk-KTZ2MHQK.js → chunk-DY3EOJEN.js} +2 -2
- package/dist/{chunk-PGVEL5IZ.js → chunk-E66DSTJP.js} +3 -3
- package/dist/{chunk-6YEC7LLO.js → chunk-FBLAWK6A.js} +2 -2
- package/dist/{chunk-LQ3GD5LL.js → chunk-FPHRTW2Z.js} +5 -5
- package/dist/{chunk-ZJ67TB4S.js → chunk-G4PYA575.js} +2 -2
- package/dist/{chunk-45643PAU.js → chunk-GKQAU52M.js} +4 -4
- package/dist/{chunk-5KKNBDCT.js → chunk-GYAWXHFO.js} +2 -2
- package/dist/{chunk-KOURQXIU.js → chunk-H42KZXNV.js} +5 -210
- package/dist/chunk-H42KZXNV.js.map +1 -0
- package/dist/{chunk-6XEGHIBA.js → chunk-IBVTH4JR.js} +4 -4
- package/dist/{chunk-AB7JF2KF.js → chunk-IVP5IVON.js} +2 -2
- package/dist/{chunk-T4T5I5L6.js → chunk-KEDJDWWQ.js} +3 -3
- package/dist/{chunk-C2OYWD5S.js → chunk-KNKNOJFS.js} +3 -3
- package/dist/chunk-KNKNOJFS.js.map +1 -0
- package/dist/{chunk-F2IJ2HGD.js → chunk-KYGGXXT6.js} +228 -69
- package/dist/chunk-KYGGXXT6.js.map +1 -0
- package/dist/{chunk-RZWQNMMP.js → chunk-LSIIPKYT.js} +2 -2
- package/dist/{chunk-FQRAYDS4.js → chunk-M3FPNTO2.js} +4 -4
- package/dist/{chunk-DR5I7Q6N.js → chunk-MI36HL5G.js} +4 -4
- package/dist/{chunk-Z3I2WNGF.js → chunk-NN6IISZO.js} +2 -2
- package/dist/{chunk-32XVU2LT.js → chunk-OBMYMKGO.js} +29 -6
- package/dist/{chunk-32XVU2LT.js.map → chunk-OBMYMKGO.js.map} +1 -1
- package/dist/{chunk-QJKZ5WUP.js → chunk-OKOKPYWH.js} +2 -2
- package/dist/{chunk-CMISAJAE.js → chunk-OY7RX2VL.js} +9 -15
- package/dist/chunk-OY7RX2VL.js.map +1 -0
- package/dist/{chunk-Z3BE5BRK.js → chunk-PTGQPWMV.js} +2 -2
- package/dist/{chunk-QPJ7Z4L3.js → chunk-PWFTQHYX.js} +2 -2
- package/dist/{chunk-K3NYRK7U.js → chunk-Q5MCHUXZ.js} +2 -2
- package/dist/{chunk-IQ4GMEYZ.js → chunk-S22UOMHM.js} +6 -6
- package/dist/{chunk-WZCG3EZ6.js → chunk-S3XA7G35.js} +2 -2
- package/dist/{chunk-LGPSCKWZ.js → chunk-SHIUFIPW.js} +1 -1
- package/dist/chunk-SHIUFIPW.js.map +1 -0
- package/dist/{chunk-BUBJYIZ7.js → chunk-U7JNBSS3.js} +3 -3
- package/dist/{chunk-TFAN3NFD.js → chunk-V3VIRTTE.js} +3 -3
- package/dist/{chunk-VVDSDOVV.js → chunk-V5FZWQNN.js} +4 -4
- package/dist/chunk-VEIVAYJ7.js +361 -0
- package/dist/chunk-VEIVAYJ7.js.map +1 -0
- package/dist/{chunk-P57D4KBG.js → chunk-VNUE6FHP.js} +3 -3
- package/dist/{chunk-TPOHMOGX.js → chunk-WFK2EVYU.js} +10 -2
- package/dist/chunk-WFK2EVYU.js.map +1 -0
- package/dist/{chunk-TTS3RWL5.js → chunk-X7FJMKT3.js} +2 -2
- package/dist/{chunk-HZOEBM67.js → chunk-XPH3FWME.js} +7 -2
- package/dist/{chunk-HZOEBM67.js.map → chunk-XPH3FWME.js.map} +1 -1
- package/dist/{chunk-DKMPR76W.js → chunk-Y5J63SMF.js} +5 -5
- package/dist/{chunk-HOO5I3VG.js → chunk-YLRRU72W.js} +2 -2
- package/dist/{chunk-MGB67HKX.js → chunk-YX333DPS.js} +4 -4
- package/dist/{chunk-4UI5T3K7.js → chunk-YZE6C3TQ.js} +3 -3
- package/dist/consent/index.cjs.map +1 -1
- package/dist/consent/index.d.cts +6 -6
- package/dist/consent/index.d.ts +6 -6
- package/dist/consent/index.js +3 -3
- package/dist/{crypto-FNK3XPCS.js → crypto-B46VNH6X.js} +3 -3
- package/dist/{delegation-FMXNUWE6.js → delegation-5HON72PV.js} +5 -5
- package/dist/derivations/index.cjs.map +1 -1
- package/dist/derivations/index.d.cts +7 -7
- package/dist/derivations/index.d.ts +7 -7
- package/dist/derivations/index.js +4 -4
- package/dist/{dev-unlock-3_2b_vo6.d.cts → dev-unlock-BR1rMOS-.d.cts} +1 -1
- package/dist/{dev-unlock-BMvwPr_E.d.ts → dev-unlock-whL49sxV.d.ts} +1 -1
- package/dist/{errors-DUTlAt3Y.d.ts → errors-DL-zTrrF.d.cts} +14 -1
- package/dist/{errors-DUTlAt3Y.d.cts → errors-DL-zTrrF.d.ts} +14 -1
- package/dist/executor-44R5CUS2.js +12 -0
- package/dist/executor-AOACUK7Z.js +8 -0
- package/dist/executor-OKFLQCDW.js +8 -0
- package/dist/{fanout-sidecar-JGHXAJO5.js → fanout-sidecar-DCQWJQ6S.js} +2 -2
- package/dist/forget/index.cjs.map +1 -1
- package/dist/forget/index.d.cts +1 -1
- package/dist/forget/index.d.ts +1 -1
- package/dist/forget/index.js +4 -4
- package/dist/guards/index.cjs.map +1 -1
- package/dist/guards/index.d.cts +7 -7
- package/dist/guards/index.d.ts +7 -7
- package/dist/guards/index.js +3 -3
- package/dist/{hash-BnWnL9bQ.d.cts → hash-BEUBmmI4.d.cts} +1 -1
- package/dist/{hash-BThBJFO1.d.ts → hash-Dtb7FwWd.d.ts} +1 -1
- package/dist/history/index.cjs.map +1 -1
- package/dist/history/index.d.cts +7 -7
- package/dist/history/index.d.ts +7 -7
- package/dist/history/index.js +5 -5
- package/dist/i18n/index.cjs +149 -132
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.d.cts +6 -6
- package/dist/i18n/index.d.ts +6 -6
- package/dist/i18n/index.js +14 -14
- package/dist/{index-C6lgoUhK.d.cts → index-BM7O48Ur.d.cts} +47 -8
- package/dist/{index-C-SSRIxP.d.ts → index-BMmajblo.d.cts} +14 -0
- package/dist/{index-C-SSRIxP.d.cts → index-BMmajblo.d.ts} +14 -0
- package/dist/{index-DP1JTWHZ.d.ts → index-BelbyUwz.d.ts} +47 -8
- package/dist/index.cjs +799 -465
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -16
- package/dist/index.d.ts +29 -16
- package/dist/index.js +56 -52
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.cjs.map +1 -1
- package/dist/indexing/index.js +4 -4
- package/dist/issue-EPA2PSWP.js +12 -0
- package/dist/{ledger-GXC2YA3A.js → ledger-LS6GXCBP.js} +5 -5
- package/dist/materialized-views/index.cjs +257 -4
- package/dist/materialized-views/index.cjs.map +1 -1
- package/dist/materialized-views/index.d.cts +7 -7
- package/dist/materialized-views/index.d.ts +7 -7
- package/dist/materialized-views/index.js +8 -7
- package/dist/noydb-BVKFP74P.js +38 -0
- package/dist/overlay-views/index.cjs.map +1 -1
- package/dist/overlay-views/index.d.cts +7 -7
- package/dist/overlay-views/index.d.ts +7 -7
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.cjs.map +1 -1
- package/dist/periods/index.d.cts +6 -6
- package/dist/periods/index.d.ts +6 -6
- package/dist/periods/index.js +5 -5
- package/dist/{public-envelope-HXOFHY4N.js → public-envelope-AGU6SS4Z.js} +4 -4
- package/dist/query/index.cjs +296 -27
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.cts +3 -3
- package/dist/query/index.d.ts +3 -3
- package/dist/query/index.js +7 -6
- package/dist/registry-ERNAMRDE.js +8 -0
- package/dist/registry-EXTHSXQW.js +8 -0
- package/dist/{registry-WVXO6NH5.js → registry-RDPTFXQ7.js} +3 -3
- package/dist/{revoke-7LCWE2AH.js → revoke-IFLXEZA5.js} +6 -6
- package/dist/sealed-record/index.cjs.map +1 -1
- package/dist/sealed-record/index.d.cts +1 -1
- package/dist/sealed-record/index.d.ts +1 -1
- package/dist/sealed-record/index.js +2 -2
- package/dist/session/index.cjs.map +1 -1
- package/dist/session/index.d.cts +7 -7
- package/dist/session/index.d.ts +7 -7
- package/dist/session/index.js +3 -3
- package/dist/shadow/index.cjs.map +1 -1
- package/dist/shadow/index.d.cts +6 -6
- package/dist/shadow/index.d.ts +6 -6
- package/dist/shadow/index.js +2 -2
- package/dist/{signer-HAVDLGOK.js → signer-UNWOUJAK.js} +5 -5
- package/dist/snapshots/index.cjs.map +1 -1
- package/dist/snapshots/index.d.cts +6 -6
- package/dist/snapshots/index.d.ts +6 -6
- package/dist/snapshots/index.js +4 -4
- package/dist/{stale-PGTEGJDI.js → stale-NTEV5SLX.js} +2 -2
- package/dist/{state-vault-QKQKN3H3.js → state-vault-TUTFRTOA.js} +4 -4
- package/dist/store/index.cjs +8 -0
- package/dist/store/index.cjs.map +1 -1
- package/dist/store/index.d.cts +13 -6
- package/dist/store/index.d.ts +13 -6
- package/dist/store/index.js +2 -2
- package/dist/{strategy-Diwh5lzS.d.ts → strategy-BDxQnnTX.d.ts} +315 -4
- package/dist/{strategy-nuyN8K5N.d.cts → strategy-C5ol6NdV.d.cts} +315 -4
- package/dist/sync/index.cjs.map +1 -1
- package/dist/sync/index.d.cts +5 -5
- package/dist/sync/index.d.ts +5 -5
- package/dist/sync/index.js +4 -4
- package/dist/team/index.cjs.map +1 -1
- package/dist/team/index.d.cts +6 -6
- package/dist/team/index.d.ts +6 -6
- package/dist/team/index.js +8 -8
- package/dist/{transition-guard--t3exQHF.d.cts → transition-guard-B1N82hMf.d.cts} +1 -1
- package/dist/{transition-guard-BlI9Oy5K.d.ts → transition-guard-C__YeF3_.d.ts} +1 -1
- package/dist/tx/index.cjs.map +1 -1
- package/dist/tx/index.d.cts +6 -6
- package/dist/tx/index.d.ts +6 -6
- package/dist/tx/index.js +3 -3
- package/dist/{types-Diqc2caK.d.ts → types-CraiZOyO.d.ts} +134 -292
- package/dist/{types-BpLPqyaO.d.cts → types-D-gr5t0G.d.cts} +134 -292
- package/dist/{ulid-DNiRB4Mx.d.cts → ulid-DQnSAP5W.d.cts} +1 -1
- package/dist/{ulid-B1zNV8r9.d.ts → ulid-FFRRHkVf.d.ts} +1 -1
- package/dist/util/index.cjs.map +1 -1
- package/dist/util/index.js +1 -1
- package/dist/{vault-group-DPZVFRI5.js → vault-group-27EV7KB4.js} +29 -8
- package/dist/vault-group-27EV7KB4.js.map +1 -0
- package/dist/{with-materialized-view-BdH_A_r6.d.cts → with-materialized-view-BboqxyV3.d.cts} +1 -1
- package/dist/{with-materialized-view-CzAgp_HJ.d.ts → with-materialized-view-CguCeVcT.d.ts} +1 -1
- package/dist/{with-overlayed-view-BJbqQnsR.d.ts → with-overlayed-view-DO08u_tx.d.ts} +1 -1
- package/dist/{with-overlayed-view-C40rDPlu.d.cts → with-overlayed-view-mmsg5Of3.d.cts} +1 -1
- package/dist/{with-rollup-DrlGkxiE.d.ts → with-rollup-_TyBzz3T.d.ts} +1 -1
- package/dist/{with-rollup-Bopu5UDZ.d.cts → with-rollup-aaxOZcIb.d.cts} +1 -1
- package/package.json +3 -3
- package/dist/chunk-647TFNYL.js.map +0 -1
- package/dist/chunk-C2OYWD5S.js.map +0 -1
- package/dist/chunk-CMISAJAE.js.map +0 -1
- package/dist/chunk-F2IJ2HGD.js.map +0 -1
- package/dist/chunk-KOURQXIU.js.map +0 -1
- package/dist/chunk-LGPSCKWZ.js.map +0 -1
- package/dist/chunk-M3H7VSRV.js +0 -139
- package/dist/chunk-M3H7VSRV.js.map +0 -1
- package/dist/chunk-TPOHMOGX.js.map +0 -1
- package/dist/chunk-Y5XVB75E.js.map +0 -1
- package/dist/executor-IZ2NVXCY.js +0 -11
- package/dist/executor-THSEYEJG.js +0 -8
- package/dist/executor-WLFDUTOM.js +0 -8
- package/dist/issue-R2MWQO6K.js +0 -12
- package/dist/noydb-RJL6FQ4B.js +0 -37
- package/dist/registry-3T2RZC5A.js +0 -8
- package/dist/registry-DMS7OKBM.js +0 -8
- package/dist/vault-group-DPZVFRI5.js.map +0 -1
- /package/dist/{chunk-6Q5XRLKG.js.map → chunk-3FSMVWBN.js.map} +0 -0
- /package/dist/{chunk-2U226RDC.js.map → chunk-4ULLGYPA.js.map} +0 -0
- /package/dist/{chunk-6FHCU3QO.js.map → chunk-5IGWRMEC.js.map} +0 -0
- /package/dist/{chunk-KQ523X3A.js.map → chunk-6OSOE6BY.js.map} +0 -0
- /package/dist/{chunk-HWK75CYX.js.map → chunk-7C6VFNIY.js.map} +0 -0
- /package/dist/{chunk-33DAO2XG.js.map → chunk-7HD67R6U.js.map} +0 -0
- /package/dist/{chunk-RQFG2YSV.js.map → chunk-B6E5IRPJ.js.map} +0 -0
- /package/dist/{chunk-YWYW2YNO.js.map → chunk-CYNTFU2D.js.map} +0 -0
- /package/dist/{chunk-KTZ2MHQK.js.map → chunk-DY3EOJEN.js.map} +0 -0
- /package/dist/{chunk-PGVEL5IZ.js.map → chunk-E66DSTJP.js.map} +0 -0
- /package/dist/{chunk-6YEC7LLO.js.map → chunk-FBLAWK6A.js.map} +0 -0
- /package/dist/{chunk-LQ3GD5LL.js.map → chunk-FPHRTW2Z.js.map} +0 -0
- /package/dist/{chunk-ZJ67TB4S.js.map → chunk-G4PYA575.js.map} +0 -0
- /package/dist/{chunk-45643PAU.js.map → chunk-GKQAU52M.js.map} +0 -0
- /package/dist/{chunk-5KKNBDCT.js.map → chunk-GYAWXHFO.js.map} +0 -0
- /package/dist/{chunk-6XEGHIBA.js.map → chunk-IBVTH4JR.js.map} +0 -0
- /package/dist/{chunk-AB7JF2KF.js.map → chunk-IVP5IVON.js.map} +0 -0
- /package/dist/{chunk-T4T5I5L6.js.map → chunk-KEDJDWWQ.js.map} +0 -0
- /package/dist/{chunk-RZWQNMMP.js.map → chunk-LSIIPKYT.js.map} +0 -0
- /package/dist/{chunk-FQRAYDS4.js.map → chunk-M3FPNTO2.js.map} +0 -0
- /package/dist/{chunk-DR5I7Q6N.js.map → chunk-MI36HL5G.js.map} +0 -0
- /package/dist/{chunk-Z3I2WNGF.js.map → chunk-NN6IISZO.js.map} +0 -0
- /package/dist/{chunk-QJKZ5WUP.js.map → chunk-OKOKPYWH.js.map} +0 -0
- /package/dist/{chunk-Z3BE5BRK.js.map → chunk-PTGQPWMV.js.map} +0 -0
- /package/dist/{chunk-QPJ7Z4L3.js.map → chunk-PWFTQHYX.js.map} +0 -0
- /package/dist/{chunk-K3NYRK7U.js.map → chunk-Q5MCHUXZ.js.map} +0 -0
- /package/dist/{chunk-IQ4GMEYZ.js.map → chunk-S22UOMHM.js.map} +0 -0
- /package/dist/{chunk-WZCG3EZ6.js.map → chunk-S3XA7G35.js.map} +0 -0
- /package/dist/{chunk-BUBJYIZ7.js.map → chunk-U7JNBSS3.js.map} +0 -0
- /package/dist/{chunk-TFAN3NFD.js.map → chunk-V3VIRTTE.js.map} +0 -0
- /package/dist/{chunk-VVDSDOVV.js.map → chunk-V5FZWQNN.js.map} +0 -0
- /package/dist/{chunk-P57D4KBG.js.map → chunk-VNUE6FHP.js.map} +0 -0
- /package/dist/{chunk-TTS3RWL5.js.map → chunk-X7FJMKT3.js.map} +0 -0
- /package/dist/{chunk-DKMPR76W.js.map → chunk-Y5J63SMF.js.map} +0 -0
- /package/dist/{chunk-HOO5I3VG.js.map → chunk-YLRRU72W.js.map} +0 -0
- /package/dist/{chunk-MGB67HKX.js.map → chunk-YX333DPS.js.map} +0 -0
- /package/dist/{chunk-4UI5T3K7.js.map → chunk-YZE6C3TQ.js.map} +0 -0
- /package/dist/{crypto-FNK3XPCS.js.map → crypto-B46VNH6X.js.map} +0 -0
- /package/dist/{delegation-FMXNUWE6.js.map → delegation-5HON72PV.js.map} +0 -0
- /package/dist/{executor-IZ2NVXCY.js.map → executor-44R5CUS2.js.map} +0 -0
- /package/dist/{executor-THSEYEJG.js.map → executor-AOACUK7Z.js.map} +0 -0
- /package/dist/{executor-WLFDUTOM.js.map → executor-OKFLQCDW.js.map} +0 -0
- /package/dist/{fanout-sidecar-JGHXAJO5.js.map → fanout-sidecar-DCQWJQ6S.js.map} +0 -0
- /package/dist/{issue-R2MWQO6K.js.map → issue-EPA2PSWP.js.map} +0 -0
- /package/dist/{ledger-GXC2YA3A.js.map → ledger-LS6GXCBP.js.map} +0 -0
- /package/dist/{noydb-RJL6FQ4B.js.map → noydb-BVKFP74P.js.map} +0 -0
- /package/dist/{public-envelope-HXOFHY4N.js.map → public-envelope-AGU6SS4Z.js.map} +0 -0
- /package/dist/{registry-3T2RZC5A.js.map → registry-ERNAMRDE.js.map} +0 -0
- /package/dist/{registry-DMS7OKBM.js.map → registry-EXTHSXQW.js.map} +0 -0
- /package/dist/{registry-WVXO6NH5.js.map → registry-RDPTFXQ7.js.map} +0 -0
- /package/dist/{revoke-7LCWE2AH.js.map → revoke-IFLXEZA5.js.map} +0 -0
- /package/dist/{signer-HAVDLGOK.js.map → signer-UNWOUJAK.js.map} +0 -0
- /package/dist/{stale-PGTEGJDI.js.map → stale-NTEV5SLX.js.map} +0 -0
- /package/dist/{state-vault-QKQKN3H3.js.map → state-vault-TUTFRTOA.js.map} +0 -0
package/dist/aggregate/index.cjs
CHANGED
|
@@ -342,6 +342,18 @@ var GroupCardinalityError = class extends NoydbError {
|
|
|
342
342
|
this.maxGroups = maxGroups;
|
|
343
343
|
}
|
|
344
344
|
};
|
|
345
|
+
var LocaleNotSpecifiedError = class extends NoydbError {
|
|
346
|
+
/** The field name that required a locale. */
|
|
347
|
+
field;
|
|
348
|
+
constructor(field, message) {
|
|
349
|
+
super(
|
|
350
|
+
"LOCALE_NOT_SPECIFIED",
|
|
351
|
+
message ?? `Cannot read i18nText field "${field}" without a locale. Pass { locale } to get()/list()/query() or set a default via openVault(name, { locale }).`
|
|
352
|
+
);
|
|
353
|
+
this.name = "LocaleNotSpecifiedError";
|
|
354
|
+
this.field = field;
|
|
355
|
+
}
|
|
356
|
+
};
|
|
345
357
|
|
|
346
358
|
// src/money/descriptor.ts
|
|
347
359
|
var MoneyUnsupportedError = class extends NoydbError {
|
|
@@ -568,6 +580,198 @@ function wrapMoneyReducers(spec, moneyFields) {
|
|
|
568
580
|
return changed ? out : spec;
|
|
569
581
|
}
|
|
570
582
|
|
|
583
|
+
// src/i18n/policy.ts
|
|
584
|
+
function resolvePolicy(onMissing, layer) {
|
|
585
|
+
const explicit = onMissing && typeof onMissing === "object" ? onMissing[layer] : void 0;
|
|
586
|
+
const scalar = typeof onMissing === "string" ? onMissing : void 0;
|
|
587
|
+
const layerDefault = layer === "guard" ? "substitute" : void 0;
|
|
588
|
+
return explicit ?? layerDefault ?? scalar ?? "throw";
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// src/i18n/script.ts
|
|
592
|
+
var LATIN_BASE = /* @__PURE__ */ new Set([
|
|
593
|
+
"en",
|
|
594
|
+
"fr",
|
|
595
|
+
"de",
|
|
596
|
+
"es",
|
|
597
|
+
"it",
|
|
598
|
+
"pt",
|
|
599
|
+
"nl",
|
|
600
|
+
"sv",
|
|
601
|
+
"no",
|
|
602
|
+
"da",
|
|
603
|
+
"fi",
|
|
604
|
+
"is",
|
|
605
|
+
"pl",
|
|
606
|
+
"cs",
|
|
607
|
+
"sk",
|
|
608
|
+
"hu",
|
|
609
|
+
"ro",
|
|
610
|
+
"hr",
|
|
611
|
+
"sl",
|
|
612
|
+
"et",
|
|
613
|
+
"lv",
|
|
614
|
+
"lt",
|
|
615
|
+
"tr",
|
|
616
|
+
"vi",
|
|
617
|
+
"id",
|
|
618
|
+
"ms",
|
|
619
|
+
"tl",
|
|
620
|
+
"sw",
|
|
621
|
+
"af",
|
|
622
|
+
"ca",
|
|
623
|
+
"gl",
|
|
624
|
+
"eu",
|
|
625
|
+
"cy",
|
|
626
|
+
"ga"
|
|
627
|
+
]);
|
|
628
|
+
var SCRIPT_TABLE = {
|
|
629
|
+
th: ["Thai"],
|
|
630
|
+
ko: ["Hangul", "Han"],
|
|
631
|
+
ja: ["Han", "Hiragana", "Katakana"],
|
|
632
|
+
zh: ["Han"],
|
|
633
|
+
ar: ["Arabic"],
|
|
634
|
+
fa: ["Arabic"],
|
|
635
|
+
ur: ["Arabic"],
|
|
636
|
+
ru: ["Cyrillic"],
|
|
637
|
+
uk: ["Cyrillic"],
|
|
638
|
+
bg: ["Cyrillic"],
|
|
639
|
+
sr: ["Cyrillic"],
|
|
640
|
+
he: ["Hebrew"],
|
|
641
|
+
el: ["Greek"],
|
|
642
|
+
hi: ["Devanagari"],
|
|
643
|
+
ta: ["Tamil"],
|
|
644
|
+
km: ["Khmer"],
|
|
645
|
+
lo: ["Lao"],
|
|
646
|
+
my: ["Myanmar"]
|
|
647
|
+
};
|
|
648
|
+
var SUBTAG_SCRIPTS = {
|
|
649
|
+
Latn: ["Latin"],
|
|
650
|
+
Cyrl: ["Cyrillic", "Latin"],
|
|
651
|
+
Hans: ["Han", "Latin"],
|
|
652
|
+
Hant: ["Han", "Latin"],
|
|
653
|
+
Thai: ["Thai", "Latin"],
|
|
654
|
+
Arab: ["Arabic", "Latin"]
|
|
655
|
+
};
|
|
656
|
+
function inferScripts(locale) {
|
|
657
|
+
const parts = locale.split("-");
|
|
658
|
+
const subtag = parts.find((t) => /^[A-Z][a-z]{3}$/.test(t));
|
|
659
|
+
if (subtag && SUBTAG_SCRIPTS[subtag]) return SUBTAG_SCRIPTS[subtag];
|
|
660
|
+
const base = (parts[0] ?? "").toLowerCase();
|
|
661
|
+
if (LATIN_BASE.has(base)) return ["Latin"];
|
|
662
|
+
const primary = SCRIPT_TABLE[base];
|
|
663
|
+
if (primary) return [...primary, "Latin"];
|
|
664
|
+
return ["Latin"];
|
|
665
|
+
}
|
|
666
|
+
var BASELINE = String.raw`\p{White_Space}\p{Script=Common}\p{Script=Inherited}\p{Mark}`;
|
|
667
|
+
|
|
668
|
+
// src/i18n/core.ts
|
|
669
|
+
function toChain(fallback) {
|
|
670
|
+
return Array.isArray(fallback) ? fallback : fallback ? [fallback] : [];
|
|
671
|
+
}
|
|
672
|
+
function pickFromChain(value, chain) {
|
|
673
|
+
for (const fb of chain) {
|
|
674
|
+
if (fb === "any") {
|
|
675
|
+
const any = Object.values(value).find((v) => v !== "");
|
|
676
|
+
if (any !== void 0) return any;
|
|
677
|
+
} else if (value[fb] !== void 0 && value[fb] !== "") {
|
|
678
|
+
return value[fb];
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
return void 0;
|
|
682
|
+
}
|
|
683
|
+
function resolveI18nText(value, locale, fallback, field, opts) {
|
|
684
|
+
if (locale === "raw") {
|
|
685
|
+
return value;
|
|
686
|
+
}
|
|
687
|
+
if (!locale) {
|
|
688
|
+
throw new LocaleNotSpecifiedError(field ?? "<unknown>");
|
|
689
|
+
}
|
|
690
|
+
if (value[locale] !== void 0 && value[locale] !== "") {
|
|
691
|
+
return value[locale];
|
|
692
|
+
}
|
|
693
|
+
const policy = opts?.policy ?? "throw";
|
|
694
|
+
const callerChain = toChain(fallback);
|
|
695
|
+
const callerHit = pickFromChain(value, callerChain);
|
|
696
|
+
if (callerHit !== void 0) return callerHit;
|
|
697
|
+
if (policy === "substitute") {
|
|
698
|
+
const subHit = pickFromChain(value, toChain(opts?.substitute));
|
|
699
|
+
if (subHit !== void 0) return subHit;
|
|
700
|
+
if (opts?.smartSubstitute) {
|
|
701
|
+
const smartHit = pickNearestScript(value, locale);
|
|
702
|
+
if (smartHit !== void 0) return smartHit;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
if (policy === "throw") {
|
|
706
|
+
throw new LocaleNotSpecifiedError(
|
|
707
|
+
field ?? "<unknown>",
|
|
708
|
+
`No translation available for locale "${locale}"` + (callerChain.length > 0 ? ` or fallback chain [${callerChain.join(", ")}]` : "") + "."
|
|
709
|
+
);
|
|
710
|
+
}
|
|
711
|
+
return null;
|
|
712
|
+
}
|
|
713
|
+
function pickNearestScript(value, target) {
|
|
714
|
+
const targetScript = inferScripts(target)[0] ?? "Latin";
|
|
715
|
+
let best;
|
|
716
|
+
for (const [loc, v] of Object.entries(value)) {
|
|
717
|
+
if (typeof v !== "string" || v === "") continue;
|
|
718
|
+
const s = inferScripts(loc)[0] ?? "Latin";
|
|
719
|
+
const score = s === targetScript ? 0 : s === "Latin" ? 1 : 2;
|
|
720
|
+
if (best === void 0 || score < best.score) best = { score, v };
|
|
721
|
+
if (score === 0) break;
|
|
722
|
+
}
|
|
723
|
+
return best?.v;
|
|
724
|
+
}
|
|
725
|
+
function applyAtPath(obj, path, locale, fallback, opts) {
|
|
726
|
+
const arrayIdx = path.indexOf("[].");
|
|
727
|
+
if (arrayIdx !== -1) {
|
|
728
|
+
const arrayKey = path.slice(0, arrayIdx);
|
|
729
|
+
const restPath = path.slice(arrayIdx + 3);
|
|
730
|
+
const arr = obj[arrayKey];
|
|
731
|
+
if (!Array.isArray(arr)) return obj;
|
|
732
|
+
return {
|
|
733
|
+
...obj,
|
|
734
|
+
[arrayKey]: arr.map((item) => {
|
|
735
|
+
if (!item || typeof item !== "object" || Array.isArray(item)) return item;
|
|
736
|
+
return applyAtPath(item, restPath, locale, fallback, opts);
|
|
737
|
+
})
|
|
738
|
+
};
|
|
739
|
+
}
|
|
740
|
+
const dotIdx = path.indexOf(".");
|
|
741
|
+
if (dotIdx !== -1) {
|
|
742
|
+
const head = path.slice(0, dotIdx);
|
|
743
|
+
const rest = path.slice(dotIdx + 1);
|
|
744
|
+
const nested = obj[head];
|
|
745
|
+
if (!nested || typeof nested !== "object" || Array.isArray(nested)) return obj;
|
|
746
|
+
return {
|
|
747
|
+
...obj,
|
|
748
|
+
[head]: applyAtPath(nested, rest, locale, fallback, opts)
|
|
749
|
+
};
|
|
750
|
+
}
|
|
751
|
+
const raw = obj[path];
|
|
752
|
+
if (raw === void 0 || raw === null) return obj;
|
|
753
|
+
if (typeof raw !== "object" || Array.isArray(raw)) return obj;
|
|
754
|
+
return {
|
|
755
|
+
...obj,
|
|
756
|
+
[path]: resolveI18nText(raw, locale, fallback, path, opts)
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
function applyI18nLocale(record, i18nFields, locale, fallback, layer = "read") {
|
|
760
|
+
const fieldNames = Object.keys(i18nFields);
|
|
761
|
+
if (fieldNames.length === 0) return record;
|
|
762
|
+
let result = record;
|
|
763
|
+
for (const [field, descriptor] of Object.entries(i18nFields)) {
|
|
764
|
+
const { onMissing, substitute, smartSubstitute } = descriptor.options;
|
|
765
|
+
const opts = {
|
|
766
|
+
policy: resolvePolicy(onMissing, layer),
|
|
767
|
+
...substitute !== void 0 ? { substitute } : {},
|
|
768
|
+
...smartSubstitute ? { smartSubstitute } : {}
|
|
769
|
+
};
|
|
770
|
+
result = applyAtPath(result, field, locale, fallback, opts);
|
|
771
|
+
}
|
|
772
|
+
return result;
|
|
773
|
+
}
|
|
774
|
+
|
|
571
775
|
// src/aggregate/groupby.ts
|
|
572
776
|
var GROUPBY_WARN_CARDINALITY = 1e4;
|
|
573
777
|
var GROUPBY_MAX_CARDINALITY = 1e5;
|
|
@@ -705,9 +909,29 @@ var GroupedAggregation = class {
|
|
|
705
909
|
upstreams;
|
|
706
910
|
dictLabelResolver;
|
|
707
911
|
fields;
|
|
708
|
-
/**
|
|
709
|
-
|
|
710
|
-
|
|
912
|
+
/**
|
|
913
|
+
* Execute the query, group, reduce, and return an array of rows.
|
|
914
|
+
*
|
|
915
|
+
* `opts` (#285 query-form MV grouping): when a `locale` + `i18nFields` are
|
|
916
|
+
* given, the declared group-key `i18nText` fields are resolved to that locale
|
|
917
|
+
* at the `mv` layer BEFORE bucketing — so an i18n group key is a stable string
|
|
918
|
+
* instead of a raw `{locale}` map. The MV executor passes the MV's
|
|
919
|
+
* `i18nLocale`/`i18nFields`; ordinary `.run()` callers pass nothing and are
|
|
920
|
+
* unaffected.
|
|
921
|
+
*/
|
|
922
|
+
run(opts) {
|
|
923
|
+
let records = this.executeRecords();
|
|
924
|
+
if (opts?.locale !== void 0 && opts.i18nFields !== void 0) {
|
|
925
|
+
const groupI18n = {};
|
|
926
|
+
for (const f of this.fields) {
|
|
927
|
+
const d = opts.i18nFields[f];
|
|
928
|
+
if (d !== void 0) groupI18n[f] = d;
|
|
929
|
+
}
|
|
930
|
+
if (Object.keys(groupI18n).length > 0) {
|
|
931
|
+
records = records.map((r) => applyI18nLocale(r, groupI18n, opts.locale, void 0, "mv"));
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
return groupAndReduce(records, this.fields, this.spec);
|
|
711
935
|
}
|
|
712
936
|
/**
|
|
713
937
|
* Execute the query, group, reduce, and resolve `<field>Label` for
|