@ducatjs/money 0.2.2 → 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/NOTICE +17 -8
- package/README.md +346 -43
- package/data/cldr-territories.json +2791 -0
- package/data/crypto-units.json +68 -0
- package/data/rbnf/de.txt +243 -0
- package/data/rbnf/en.txt +166 -0
- package/data/rbnf/es.txt +261 -0
- package/data/rbnf/fr.txt +159 -0
- package/data/rbnf/it.txt +502 -0
- package/data/rbnf/nl.txt +103 -0
- package/data/rbnf/pt.txt +171 -0
- package/dist/adyen-fx.js +1 -1
- package/dist/adyen-fx.js.map +1 -1
- package/dist/allocate.d.ts.map +1 -1
- package/dist/allocate.js +2 -3
- package/dist/allocate.js.map +1 -1
- package/dist/cash.d.ts +15 -0
- package/dist/cash.d.ts.map +1 -1
- package/dist/cash.js +17 -0
- package/dist/cash.js.map +1 -1
- package/dist/convert.d.ts.map +1 -1
- package/dist/convert.js +2 -3
- package/dist/convert.js.map +1 -1
- package/dist/crypto.d.ts +54 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +89 -0
- package/dist/crypto.js.map +1 -0
- package/dist/currencies.d.ts +43 -0
- package/dist/currencies.d.ts.map +1 -0
- package/dist/currencies.js +91 -0
- package/dist/currencies.js.map +1 -0
- package/dist/currency.d.ts +9 -1
- package/dist/currency.d.ts.map +1 -1
- package/dist/currency.js +41 -14
- package/dist/currency.js.map +1 -1
- package/dist/decimal.d.ts +25 -3
- package/dist/decimal.d.ts.map +1 -1
- package/dist/decimal.js +78 -8
- package/dist/decimal.js.map +1 -1
- package/dist/ecb.d.ts +23 -8
- package/dist/ecb.d.ts.map +1 -1
- package/dist/ecb.js +46 -15
- package/dist/ecb.js.map +1 -1
- package/dist/entries/adyen-fx.d.ts +3 -0
- package/dist/entries/adyen-fx.d.ts.map +1 -0
- package/dist/entries/adyen-fx.js +5 -0
- package/dist/entries/adyen-fx.js.map +1 -0
- package/dist/entries/boc.d.ts +3 -0
- package/dist/entries/boc.d.ts.map +1 -0
- package/dist/entries/boc.js +5 -0
- package/dist/entries/boc.js.map +1 -0
- package/dist/entries/boe.d.ts +3 -0
- package/dist/entries/boe.d.ts.map +1 -0
- package/dist/entries/boe.js +5 -0
- package/dist/entries/boe.js.map +1 -0
- package/dist/entries/crypto.d.ts +3 -0
- package/dist/entries/crypto.d.ts.map +1 -0
- package/dist/entries/crypto.js +5 -0
- package/dist/entries/crypto.js.map +1 -0
- package/dist/entries/currencies.d.ts +3 -0
- package/dist/entries/currencies.d.ts.map +1 -0
- package/dist/entries/currencies.js +5 -0
- package/dist/entries/currencies.js.map +1 -0
- package/dist/entries/drizzle-mysql.d.ts +3 -0
- package/dist/entries/drizzle-mysql.d.ts.map +1 -0
- package/dist/entries/drizzle-mysql.js +5 -0
- package/dist/entries/drizzle-mysql.js.map +1 -0
- package/dist/entries/drizzle-pg.d.ts +3 -0
- package/dist/entries/drizzle-pg.d.ts.map +1 -0
- package/dist/entries/drizzle-pg.js +5 -0
- package/dist/entries/drizzle-pg.js.map +1 -0
- package/dist/entries/drizzle-sqlite.d.ts +3 -0
- package/dist/entries/drizzle-sqlite.d.ts.map +1 -0
- package/dist/entries/drizzle-sqlite.js +5 -0
- package/dist/entries/drizzle-sqlite.js.map +1 -0
- package/dist/entries/ecb.d.ts +3 -0
- package/dist/entries/ecb.d.ts.map +1 -0
- package/dist/entries/ecb.js +5 -0
- package/dist/entries/ecb.js.map +1 -0
- package/dist/entries/fed.d.ts +3 -0
- package/dist/entries/fed.d.ts.map +1 -0
- package/dist/entries/fed.js +5 -0
- package/dist/entries/fed.js.map +1 -0
- package/dist/entries/fetch.d.ts +3 -0
- package/dist/entries/fetch.d.ts.map +1 -0
- package/dist/entries/fetch.js +5 -0
- package/dist/entries/fetch.js.map +1 -0
- package/dist/entries/finance.d.ts +3 -0
- package/dist/entries/finance.d.ts.map +1 -0
- package/dist/entries/finance.js +5 -0
- package/dist/entries/finance.js.map +1 -0
- package/dist/entries/historic.d.ts +3 -0
- package/dist/entries/historic.d.ts.map +1 -0
- package/dist/entries/historic.js +5 -0
- package/dist/entries/historic.js.map +1 -0
- package/dist/entries/history.d.ts +3 -0
- package/dist/entries/history.d.ts.map +1 -0
- package/dist/entries/history.js +5 -0
- package/dist/entries/history.js.map +1 -0
- package/dist/entries/hmrc.d.ts +3 -0
- package/dist/entries/hmrc.d.ts.map +1 -0
- package/dist/entries/hmrc.js +5 -0
- package/dist/entries/hmrc.js.map +1 -0
- package/dist/entries/kysely.d.ts +3 -0
- package/dist/entries/kysely.d.ts.map +1 -0
- package/dist/entries/kysely.js +5 -0
- package/dist/entries/kysely.js.map +1 -0
- package/dist/entries/parse.d.ts +3 -0
- package/dist/entries/parse.d.ts.map +1 -0
- package/dist/entries/parse.js +5 -0
- package/dist/entries/parse.js.map +1 -0
- package/dist/entries/pg.d.ts +3 -0
- package/dist/entries/pg.d.ts.map +1 -0
- package/dist/entries/pg.js +5 -0
- package/dist/entries/pg.js.map +1 -0
- package/dist/entries/policy.d.ts +3 -0
- package/dist/entries/policy.d.ts.map +1 -0
- package/dist/entries/policy.js +5 -0
- package/dist/entries/policy.js.map +1 -0
- package/dist/entries/pricing.d.ts +3 -0
- package/dist/entries/pricing.d.ts.map +1 -0
- package/dist/entries/pricing.js +5 -0
- package/dist/entries/pricing.js.map +1 -0
- package/dist/entries/stripe-fx.d.ts +3 -0
- package/dist/entries/stripe-fx.d.ts.map +1 -0
- package/dist/entries/stripe-fx.js +5 -0
- package/dist/entries/stripe-fx.js.map +1 -0
- package/dist/entries/testing-arbitraries.d.ts +3 -0
- package/dist/entries/testing-arbitraries.d.ts.map +1 -0
- package/dist/entries/testing-arbitraries.js +5 -0
- package/dist/entries/testing-arbitraries.js.map +1 -0
- package/dist/entries/testing-index.d.ts +3 -0
- package/dist/entries/testing-index.d.ts.map +1 -0
- package/dist/entries/testing-index.js +5 -0
- package/dist/entries/testing-index.js.map +1 -0
- package/dist/entries/testing-jest.d.ts +3 -0
- package/dist/entries/testing-jest.d.ts.map +1 -0
- package/dist/entries/testing-jest.js +5 -0
- package/dist/entries/testing-jest.js.map +1 -0
- package/dist/entries/testing-vitest.d.ts +3 -0
- package/dist/entries/testing-vitest.d.ts.map +1 -0
- package/dist/entries/testing-vitest.js +5 -0
- package/dist/entries/testing-vitest.js.map +1 -0
- package/dist/entries/valibot.d.ts +3 -0
- package/dist/entries/valibot.d.ts.map +1 -0
- package/dist/entries/valibot.js +5 -0
- package/dist/entries/valibot.js.map +1 -0
- package/dist/entries/wire.d.ts +3 -0
- package/dist/entries/wire.d.ts.map +1 -0
- package/dist/entries/wire.js +5 -0
- package/dist/entries/wire.js.map +1 -0
- package/dist/entries/zod.d.ts +3 -0
- package/dist/entries/zod.d.ts.map +1 -0
- package/dist/entries/zod.js +5 -0
- package/dist/entries/zod.js.map +1 -0
- package/dist/exact.d.ts.map +1 -1
- package/dist/exact.js +3 -3
- package/dist/exact.js.map +1 -1
- package/dist/fetch.d.ts +7 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +11 -2
- package/dist/fetch.js.map +1 -1
- package/dist/finance.d.ts +296 -0
- package/dist/finance.d.ts.map +1 -0
- package/dist/finance.js +825 -0
- package/dist/finance.js.map +1 -0
- package/dist/fixed-money.d.ts +12 -0
- package/dist/fixed-money.d.ts.map +1 -0
- package/dist/fixed-money.js +32 -0
- package/dist/fixed-money.js.map +1 -0
- package/dist/fixed.d.ts +26 -9
- package/dist/fixed.d.ts.map +1 -1
- package/dist/fixed.js +65 -48
- package/dist/fixed.js.map +1 -1
- package/dist/fn.d.ts +17 -1
- package/dist/fn.d.ts.map +1 -1
- package/dist/fn.js +17 -1
- package/dist/fn.js.map +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +28 -9
- package/dist/format.js.map +1 -1
- package/dist/generated/crypto.d.ts +58 -0
- package/dist/generated/crypto.d.ts.map +1 -0
- package/dist/generated/crypto.js +15 -0
- package/dist/generated/crypto.js.map +1 -0
- package/dist/generated/iso/AED.d.ts +2 -0
- package/dist/generated/iso/AED.d.ts.map +1 -0
- package/dist/generated/iso/AED.js +5 -0
- package/dist/generated/iso/AED.js.map +1 -0
- package/dist/generated/iso/AFN.d.ts +2 -0
- package/dist/generated/iso/AFN.d.ts.map +1 -0
- package/dist/generated/iso/AFN.js +5 -0
- package/dist/generated/iso/AFN.js.map +1 -0
- package/dist/generated/iso/ALL.d.ts +2 -0
- package/dist/generated/iso/ALL.d.ts.map +1 -0
- package/dist/generated/iso/ALL.js +5 -0
- package/dist/generated/iso/ALL.js.map +1 -0
- package/dist/generated/iso/AMD.d.ts +2 -0
- package/dist/generated/iso/AMD.d.ts.map +1 -0
- package/dist/generated/iso/AMD.js +5 -0
- package/dist/generated/iso/AMD.js.map +1 -0
- package/dist/generated/iso/AOA.d.ts +2 -0
- package/dist/generated/iso/AOA.d.ts.map +1 -0
- package/dist/generated/iso/AOA.js +5 -0
- package/dist/generated/iso/AOA.js.map +1 -0
- package/dist/generated/iso/ARS.d.ts +2 -0
- package/dist/generated/iso/ARS.d.ts.map +1 -0
- package/dist/generated/iso/ARS.js +5 -0
- package/dist/generated/iso/ARS.js.map +1 -0
- package/dist/generated/iso/AUD.d.ts +2 -0
- package/dist/generated/iso/AUD.d.ts.map +1 -0
- package/dist/generated/iso/AUD.js +5 -0
- package/dist/generated/iso/AUD.js.map +1 -0
- package/dist/generated/iso/AWG.d.ts +2 -0
- package/dist/generated/iso/AWG.d.ts.map +1 -0
- package/dist/generated/iso/AWG.js +5 -0
- package/dist/generated/iso/AWG.js.map +1 -0
- package/dist/generated/iso/AZN.d.ts +2 -0
- package/dist/generated/iso/AZN.d.ts.map +1 -0
- package/dist/generated/iso/AZN.js +5 -0
- package/dist/generated/iso/AZN.js.map +1 -0
- package/dist/generated/iso/BAM.d.ts +2 -0
- package/dist/generated/iso/BAM.d.ts.map +1 -0
- package/dist/generated/iso/BAM.js +5 -0
- package/dist/generated/iso/BAM.js.map +1 -0
- package/dist/generated/iso/BBD.d.ts +2 -0
- package/dist/generated/iso/BBD.d.ts.map +1 -0
- package/dist/generated/iso/BBD.js +5 -0
- package/dist/generated/iso/BBD.js.map +1 -0
- package/dist/generated/iso/BDT.d.ts +2 -0
- package/dist/generated/iso/BDT.d.ts.map +1 -0
- package/dist/generated/iso/BDT.js +5 -0
- package/dist/generated/iso/BDT.js.map +1 -0
- package/dist/generated/iso/BHD.d.ts +2 -0
- package/dist/generated/iso/BHD.d.ts.map +1 -0
- package/dist/generated/iso/BHD.js +5 -0
- package/dist/generated/iso/BHD.js.map +1 -0
- package/dist/generated/iso/BIF.d.ts +2 -0
- package/dist/generated/iso/BIF.d.ts.map +1 -0
- package/dist/generated/iso/BIF.js +5 -0
- package/dist/generated/iso/BIF.js.map +1 -0
- package/dist/generated/iso/BMD.d.ts +2 -0
- package/dist/generated/iso/BMD.d.ts.map +1 -0
- package/dist/generated/iso/BMD.js +5 -0
- package/dist/generated/iso/BMD.js.map +1 -0
- package/dist/generated/iso/BND.d.ts +2 -0
- package/dist/generated/iso/BND.d.ts.map +1 -0
- package/dist/generated/iso/BND.js +5 -0
- package/dist/generated/iso/BND.js.map +1 -0
- package/dist/generated/iso/BOB.d.ts +2 -0
- package/dist/generated/iso/BOB.d.ts.map +1 -0
- package/dist/generated/iso/BOB.js +5 -0
- package/dist/generated/iso/BOB.js.map +1 -0
- package/dist/generated/iso/BOV.d.ts +2 -0
- package/dist/generated/iso/BOV.d.ts.map +1 -0
- package/dist/generated/iso/BOV.js +5 -0
- package/dist/generated/iso/BOV.js.map +1 -0
- package/dist/generated/iso/BRL.d.ts +2 -0
- package/dist/generated/iso/BRL.d.ts.map +1 -0
- package/dist/generated/iso/BRL.js +5 -0
- package/dist/generated/iso/BRL.js.map +1 -0
- package/dist/generated/iso/BSD.d.ts +2 -0
- package/dist/generated/iso/BSD.d.ts.map +1 -0
- package/dist/generated/iso/BSD.js +5 -0
- package/dist/generated/iso/BSD.js.map +1 -0
- package/dist/generated/iso/BTN.d.ts +2 -0
- package/dist/generated/iso/BTN.d.ts.map +1 -0
- package/dist/generated/iso/BTN.js +5 -0
- package/dist/generated/iso/BTN.js.map +1 -0
- package/dist/generated/iso/BWP.d.ts +2 -0
- package/dist/generated/iso/BWP.d.ts.map +1 -0
- package/dist/generated/iso/BWP.js +5 -0
- package/dist/generated/iso/BWP.js.map +1 -0
- package/dist/generated/iso/BYN.d.ts +2 -0
- package/dist/generated/iso/BYN.d.ts.map +1 -0
- package/dist/generated/iso/BYN.js +5 -0
- package/dist/generated/iso/BYN.js.map +1 -0
- package/dist/generated/iso/BZD.d.ts +2 -0
- package/dist/generated/iso/BZD.d.ts.map +1 -0
- package/dist/generated/iso/BZD.js +5 -0
- package/dist/generated/iso/BZD.js.map +1 -0
- package/dist/generated/iso/CAD.d.ts +2 -0
- package/dist/generated/iso/CAD.d.ts.map +1 -0
- package/dist/generated/iso/CAD.js +5 -0
- package/dist/generated/iso/CAD.js.map +1 -0
- package/dist/generated/iso/CDF.d.ts +2 -0
- package/dist/generated/iso/CDF.d.ts.map +1 -0
- package/dist/generated/iso/CDF.js +5 -0
- package/dist/generated/iso/CDF.js.map +1 -0
- package/dist/generated/iso/CHE.d.ts +2 -0
- package/dist/generated/iso/CHE.d.ts.map +1 -0
- package/dist/generated/iso/CHE.js +5 -0
- package/dist/generated/iso/CHE.js.map +1 -0
- package/dist/generated/iso/CHF.d.ts +2 -0
- package/dist/generated/iso/CHF.d.ts.map +1 -0
- package/dist/generated/iso/CHF.js +5 -0
- package/dist/generated/iso/CHF.js.map +1 -0
- package/dist/generated/iso/CHW.d.ts +2 -0
- package/dist/generated/iso/CHW.d.ts.map +1 -0
- package/dist/generated/iso/CHW.js +5 -0
- package/dist/generated/iso/CHW.js.map +1 -0
- package/dist/generated/iso/CLF.d.ts +2 -0
- package/dist/generated/iso/CLF.d.ts.map +1 -0
- package/dist/generated/iso/CLF.js +5 -0
- package/dist/generated/iso/CLF.js.map +1 -0
- package/dist/generated/iso/CLP.d.ts +2 -0
- package/dist/generated/iso/CLP.d.ts.map +1 -0
- package/dist/generated/iso/CLP.js +5 -0
- package/dist/generated/iso/CLP.js.map +1 -0
- package/dist/generated/iso/CNY.d.ts +2 -0
- package/dist/generated/iso/CNY.d.ts.map +1 -0
- package/dist/generated/iso/CNY.js +5 -0
- package/dist/generated/iso/CNY.js.map +1 -0
- package/dist/generated/iso/COP.d.ts +2 -0
- package/dist/generated/iso/COP.d.ts.map +1 -0
- package/dist/generated/iso/COP.js +5 -0
- package/dist/generated/iso/COP.js.map +1 -0
- package/dist/generated/iso/COU.d.ts +2 -0
- package/dist/generated/iso/COU.d.ts.map +1 -0
- package/dist/generated/iso/COU.js +5 -0
- package/dist/generated/iso/COU.js.map +1 -0
- package/dist/generated/iso/CRC.d.ts +2 -0
- package/dist/generated/iso/CRC.d.ts.map +1 -0
- package/dist/generated/iso/CRC.js +5 -0
- package/dist/generated/iso/CRC.js.map +1 -0
- package/dist/generated/iso/CUP.d.ts +2 -0
- package/dist/generated/iso/CUP.d.ts.map +1 -0
- package/dist/generated/iso/CUP.js +5 -0
- package/dist/generated/iso/CUP.js.map +1 -0
- package/dist/generated/iso/CVE.d.ts +2 -0
- package/dist/generated/iso/CVE.d.ts.map +1 -0
- package/dist/generated/iso/CVE.js +5 -0
- package/dist/generated/iso/CVE.js.map +1 -0
- package/dist/generated/iso/CZK.d.ts +2 -0
- package/dist/generated/iso/CZK.d.ts.map +1 -0
- package/dist/generated/iso/CZK.js +5 -0
- package/dist/generated/iso/CZK.js.map +1 -0
- package/dist/generated/iso/DJF.d.ts +2 -0
- package/dist/generated/iso/DJF.d.ts.map +1 -0
- package/dist/generated/iso/DJF.js +5 -0
- package/dist/generated/iso/DJF.js.map +1 -0
- package/dist/generated/iso/DKK.d.ts +2 -0
- package/dist/generated/iso/DKK.d.ts.map +1 -0
- package/dist/generated/iso/DKK.js +5 -0
- package/dist/generated/iso/DKK.js.map +1 -0
- package/dist/generated/iso/DOP.d.ts +2 -0
- package/dist/generated/iso/DOP.d.ts.map +1 -0
- package/dist/generated/iso/DOP.js +5 -0
- package/dist/generated/iso/DOP.js.map +1 -0
- package/dist/generated/iso/DZD.d.ts +2 -0
- package/dist/generated/iso/DZD.d.ts.map +1 -0
- package/dist/generated/iso/DZD.js +5 -0
- package/dist/generated/iso/DZD.js.map +1 -0
- package/dist/generated/iso/EGP.d.ts +2 -0
- package/dist/generated/iso/EGP.d.ts.map +1 -0
- package/dist/generated/iso/EGP.js +5 -0
- package/dist/generated/iso/EGP.js.map +1 -0
- package/dist/generated/iso/ERN.d.ts +2 -0
- package/dist/generated/iso/ERN.d.ts.map +1 -0
- package/dist/generated/iso/ERN.js +5 -0
- package/dist/generated/iso/ERN.js.map +1 -0
- package/dist/generated/iso/ETB.d.ts +2 -0
- package/dist/generated/iso/ETB.d.ts.map +1 -0
- package/dist/generated/iso/ETB.js +5 -0
- package/dist/generated/iso/ETB.js.map +1 -0
- package/dist/generated/iso/EUR.d.ts +2 -0
- package/dist/generated/iso/EUR.d.ts.map +1 -0
- package/dist/generated/iso/EUR.js +5 -0
- package/dist/generated/iso/EUR.js.map +1 -0
- package/dist/generated/iso/FJD.d.ts +2 -0
- package/dist/generated/iso/FJD.d.ts.map +1 -0
- package/dist/generated/iso/FJD.js +5 -0
- package/dist/generated/iso/FJD.js.map +1 -0
- package/dist/generated/iso/FKP.d.ts +2 -0
- package/dist/generated/iso/FKP.d.ts.map +1 -0
- package/dist/generated/iso/FKP.js +5 -0
- package/dist/generated/iso/FKP.js.map +1 -0
- package/dist/generated/iso/GBP.d.ts +2 -0
- package/dist/generated/iso/GBP.d.ts.map +1 -0
- package/dist/generated/iso/GBP.js +5 -0
- package/dist/generated/iso/GBP.js.map +1 -0
- package/dist/generated/iso/GEL.d.ts +2 -0
- package/dist/generated/iso/GEL.d.ts.map +1 -0
- package/dist/generated/iso/GEL.js +5 -0
- package/dist/generated/iso/GEL.js.map +1 -0
- package/dist/generated/iso/GHS.d.ts +2 -0
- package/dist/generated/iso/GHS.d.ts.map +1 -0
- package/dist/generated/iso/GHS.js +5 -0
- package/dist/generated/iso/GHS.js.map +1 -0
- package/dist/generated/iso/GIP.d.ts +2 -0
- package/dist/generated/iso/GIP.d.ts.map +1 -0
- package/dist/generated/iso/GIP.js +5 -0
- package/dist/generated/iso/GIP.js.map +1 -0
- package/dist/generated/iso/GMD.d.ts +2 -0
- package/dist/generated/iso/GMD.d.ts.map +1 -0
- package/dist/generated/iso/GMD.js +5 -0
- package/dist/generated/iso/GMD.js.map +1 -0
- package/dist/generated/iso/GNF.d.ts +2 -0
- package/dist/generated/iso/GNF.d.ts.map +1 -0
- package/dist/generated/iso/GNF.js +5 -0
- package/dist/generated/iso/GNF.js.map +1 -0
- package/dist/generated/iso/GTQ.d.ts +2 -0
- package/dist/generated/iso/GTQ.d.ts.map +1 -0
- package/dist/generated/iso/GTQ.js +5 -0
- package/dist/generated/iso/GTQ.js.map +1 -0
- package/dist/generated/iso/GYD.d.ts +2 -0
- package/dist/generated/iso/GYD.d.ts.map +1 -0
- package/dist/generated/iso/GYD.js +5 -0
- package/dist/generated/iso/GYD.js.map +1 -0
- package/dist/generated/iso/HKD.d.ts +2 -0
- package/dist/generated/iso/HKD.d.ts.map +1 -0
- package/dist/generated/iso/HKD.js +5 -0
- package/dist/generated/iso/HKD.js.map +1 -0
- package/dist/generated/iso/HNL.d.ts +2 -0
- package/dist/generated/iso/HNL.d.ts.map +1 -0
- package/dist/generated/iso/HNL.js +5 -0
- package/dist/generated/iso/HNL.js.map +1 -0
- package/dist/generated/iso/HTG.d.ts +2 -0
- package/dist/generated/iso/HTG.d.ts.map +1 -0
- package/dist/generated/iso/HTG.js +5 -0
- package/dist/generated/iso/HTG.js.map +1 -0
- package/dist/generated/iso/HUF.d.ts +2 -0
- package/dist/generated/iso/HUF.d.ts.map +1 -0
- package/dist/generated/iso/HUF.js +5 -0
- package/dist/generated/iso/HUF.js.map +1 -0
- package/dist/generated/iso/IDR.d.ts +2 -0
- package/dist/generated/iso/IDR.d.ts.map +1 -0
- package/dist/generated/iso/IDR.js +5 -0
- package/dist/generated/iso/IDR.js.map +1 -0
- package/dist/generated/iso/ILS.d.ts +2 -0
- package/dist/generated/iso/ILS.d.ts.map +1 -0
- package/dist/generated/iso/ILS.js +5 -0
- package/dist/generated/iso/ILS.js.map +1 -0
- package/dist/generated/iso/INR.d.ts +2 -0
- package/dist/generated/iso/INR.d.ts.map +1 -0
- package/dist/generated/iso/INR.js +5 -0
- package/dist/generated/iso/INR.js.map +1 -0
- package/dist/generated/iso/IQD.d.ts +2 -0
- package/dist/generated/iso/IQD.d.ts.map +1 -0
- package/dist/generated/iso/IQD.js +5 -0
- package/dist/generated/iso/IQD.js.map +1 -0
- package/dist/generated/iso/IRR.d.ts +2 -0
- package/dist/generated/iso/IRR.d.ts.map +1 -0
- package/dist/generated/iso/IRR.js +5 -0
- package/dist/generated/iso/IRR.js.map +1 -0
- package/dist/generated/iso/ISK.d.ts +2 -0
- package/dist/generated/iso/ISK.d.ts.map +1 -0
- package/dist/generated/iso/ISK.js +5 -0
- package/dist/generated/iso/ISK.js.map +1 -0
- package/dist/generated/iso/JMD.d.ts +2 -0
- package/dist/generated/iso/JMD.d.ts.map +1 -0
- package/dist/generated/iso/JMD.js +5 -0
- package/dist/generated/iso/JMD.js.map +1 -0
- package/dist/generated/iso/JOD.d.ts +2 -0
- package/dist/generated/iso/JOD.d.ts.map +1 -0
- package/dist/generated/iso/JOD.js +5 -0
- package/dist/generated/iso/JOD.js.map +1 -0
- package/dist/generated/iso/JPY.d.ts +2 -0
- package/dist/generated/iso/JPY.d.ts.map +1 -0
- package/dist/generated/iso/JPY.js +5 -0
- package/dist/generated/iso/JPY.js.map +1 -0
- package/dist/generated/iso/KES.d.ts +2 -0
- package/dist/generated/iso/KES.d.ts.map +1 -0
- package/dist/generated/iso/KES.js +5 -0
- package/dist/generated/iso/KES.js.map +1 -0
- package/dist/generated/iso/KGS.d.ts +2 -0
- package/dist/generated/iso/KGS.d.ts.map +1 -0
- package/dist/generated/iso/KGS.js +5 -0
- package/dist/generated/iso/KGS.js.map +1 -0
- package/dist/generated/iso/KHR.d.ts +2 -0
- package/dist/generated/iso/KHR.d.ts.map +1 -0
- package/dist/generated/iso/KHR.js +5 -0
- package/dist/generated/iso/KHR.js.map +1 -0
- package/dist/generated/iso/KMF.d.ts +2 -0
- package/dist/generated/iso/KMF.d.ts.map +1 -0
- package/dist/generated/iso/KMF.js +5 -0
- package/dist/generated/iso/KMF.js.map +1 -0
- package/dist/generated/iso/KPW.d.ts +2 -0
- package/dist/generated/iso/KPW.d.ts.map +1 -0
- package/dist/generated/iso/KPW.js +5 -0
- package/dist/generated/iso/KPW.js.map +1 -0
- package/dist/generated/iso/KRW.d.ts +2 -0
- package/dist/generated/iso/KRW.d.ts.map +1 -0
- package/dist/generated/iso/KRW.js +5 -0
- package/dist/generated/iso/KRW.js.map +1 -0
- package/dist/generated/iso/KWD.d.ts +2 -0
- package/dist/generated/iso/KWD.d.ts.map +1 -0
- package/dist/generated/iso/KWD.js +5 -0
- package/dist/generated/iso/KWD.js.map +1 -0
- package/dist/generated/iso/KYD.d.ts +2 -0
- package/dist/generated/iso/KYD.d.ts.map +1 -0
- package/dist/generated/iso/KYD.js +5 -0
- package/dist/generated/iso/KYD.js.map +1 -0
- package/dist/generated/iso/KZT.d.ts +2 -0
- package/dist/generated/iso/KZT.d.ts.map +1 -0
- package/dist/generated/iso/KZT.js +5 -0
- package/dist/generated/iso/KZT.js.map +1 -0
- package/dist/generated/iso/LAK.d.ts +2 -0
- package/dist/generated/iso/LAK.d.ts.map +1 -0
- package/dist/generated/iso/LAK.js +5 -0
- package/dist/generated/iso/LAK.js.map +1 -0
- package/dist/generated/iso/LBP.d.ts +2 -0
- package/dist/generated/iso/LBP.d.ts.map +1 -0
- package/dist/generated/iso/LBP.js +5 -0
- package/dist/generated/iso/LBP.js.map +1 -0
- package/dist/generated/iso/LKR.d.ts +2 -0
- package/dist/generated/iso/LKR.d.ts.map +1 -0
- package/dist/generated/iso/LKR.js +5 -0
- package/dist/generated/iso/LKR.js.map +1 -0
- package/dist/generated/iso/LRD.d.ts +2 -0
- package/dist/generated/iso/LRD.d.ts.map +1 -0
- package/dist/generated/iso/LRD.js +5 -0
- package/dist/generated/iso/LRD.js.map +1 -0
- package/dist/generated/iso/LSL.d.ts +2 -0
- package/dist/generated/iso/LSL.d.ts.map +1 -0
- package/dist/generated/iso/LSL.js +5 -0
- package/dist/generated/iso/LSL.js.map +1 -0
- package/dist/generated/iso/LYD.d.ts +2 -0
- package/dist/generated/iso/LYD.d.ts.map +1 -0
- package/dist/generated/iso/LYD.js +5 -0
- package/dist/generated/iso/LYD.js.map +1 -0
- package/dist/generated/iso/MAD.d.ts +2 -0
- package/dist/generated/iso/MAD.d.ts.map +1 -0
- package/dist/generated/iso/MAD.js +5 -0
- package/dist/generated/iso/MAD.js.map +1 -0
- package/dist/generated/iso/MDL.d.ts +2 -0
- package/dist/generated/iso/MDL.d.ts.map +1 -0
- package/dist/generated/iso/MDL.js +5 -0
- package/dist/generated/iso/MDL.js.map +1 -0
- package/dist/generated/iso/MGA.d.ts +2 -0
- package/dist/generated/iso/MGA.d.ts.map +1 -0
- package/dist/generated/iso/MGA.js +5 -0
- package/dist/generated/iso/MGA.js.map +1 -0
- package/dist/generated/iso/MKD.d.ts +2 -0
- package/dist/generated/iso/MKD.d.ts.map +1 -0
- package/dist/generated/iso/MKD.js +5 -0
- package/dist/generated/iso/MKD.js.map +1 -0
- package/dist/generated/iso/MMK.d.ts +2 -0
- package/dist/generated/iso/MMK.d.ts.map +1 -0
- package/dist/generated/iso/MMK.js +5 -0
- package/dist/generated/iso/MMK.js.map +1 -0
- package/dist/generated/iso/MNT.d.ts +2 -0
- package/dist/generated/iso/MNT.d.ts.map +1 -0
- package/dist/generated/iso/MNT.js +5 -0
- package/dist/generated/iso/MNT.js.map +1 -0
- package/dist/generated/iso/MOP.d.ts +2 -0
- package/dist/generated/iso/MOP.d.ts.map +1 -0
- package/dist/generated/iso/MOP.js +5 -0
- package/dist/generated/iso/MOP.js.map +1 -0
- package/dist/generated/iso/MRU.d.ts +2 -0
- package/dist/generated/iso/MRU.d.ts.map +1 -0
- package/dist/generated/iso/MRU.js +5 -0
- package/dist/generated/iso/MRU.js.map +1 -0
- package/dist/generated/iso/MUR.d.ts +2 -0
- package/dist/generated/iso/MUR.d.ts.map +1 -0
- package/dist/generated/iso/MUR.js +5 -0
- package/dist/generated/iso/MUR.js.map +1 -0
- package/dist/generated/iso/MVR.d.ts +2 -0
- package/dist/generated/iso/MVR.d.ts.map +1 -0
- package/dist/generated/iso/MVR.js +5 -0
- package/dist/generated/iso/MVR.js.map +1 -0
- package/dist/generated/iso/MWK.d.ts +2 -0
- package/dist/generated/iso/MWK.d.ts.map +1 -0
- package/dist/generated/iso/MWK.js +5 -0
- package/dist/generated/iso/MWK.js.map +1 -0
- package/dist/generated/iso/MXN.d.ts +2 -0
- package/dist/generated/iso/MXN.d.ts.map +1 -0
- package/dist/generated/iso/MXN.js +5 -0
- package/dist/generated/iso/MXN.js.map +1 -0
- package/dist/generated/iso/MXV.d.ts +2 -0
- package/dist/generated/iso/MXV.d.ts.map +1 -0
- package/dist/generated/iso/MXV.js +5 -0
- package/dist/generated/iso/MXV.js.map +1 -0
- package/dist/generated/iso/MYR.d.ts +2 -0
- package/dist/generated/iso/MYR.d.ts.map +1 -0
- package/dist/generated/iso/MYR.js +5 -0
- package/dist/generated/iso/MYR.js.map +1 -0
- package/dist/generated/iso/MZN.d.ts +2 -0
- package/dist/generated/iso/MZN.d.ts.map +1 -0
- package/dist/generated/iso/MZN.js +5 -0
- package/dist/generated/iso/MZN.js.map +1 -0
- package/dist/generated/iso/NAD.d.ts +2 -0
- package/dist/generated/iso/NAD.d.ts.map +1 -0
- package/dist/generated/iso/NAD.js +5 -0
- package/dist/generated/iso/NAD.js.map +1 -0
- package/dist/generated/iso/NGN.d.ts +2 -0
- package/dist/generated/iso/NGN.d.ts.map +1 -0
- package/dist/generated/iso/NGN.js +5 -0
- package/dist/generated/iso/NGN.js.map +1 -0
- package/dist/generated/iso/NIO.d.ts +2 -0
- package/dist/generated/iso/NIO.d.ts.map +1 -0
- package/dist/generated/iso/NIO.js +5 -0
- package/dist/generated/iso/NIO.js.map +1 -0
- package/dist/generated/iso/NOK.d.ts +2 -0
- package/dist/generated/iso/NOK.d.ts.map +1 -0
- package/dist/generated/iso/NOK.js +5 -0
- package/dist/generated/iso/NOK.js.map +1 -0
- package/dist/generated/iso/NPR.d.ts +2 -0
- package/dist/generated/iso/NPR.d.ts.map +1 -0
- package/dist/generated/iso/NPR.js +5 -0
- package/dist/generated/iso/NPR.js.map +1 -0
- package/dist/generated/iso/NZD.d.ts +2 -0
- package/dist/generated/iso/NZD.d.ts.map +1 -0
- package/dist/generated/iso/NZD.js +5 -0
- package/dist/generated/iso/NZD.js.map +1 -0
- package/dist/generated/iso/OMR.d.ts +2 -0
- package/dist/generated/iso/OMR.d.ts.map +1 -0
- package/dist/generated/iso/OMR.js +5 -0
- package/dist/generated/iso/OMR.js.map +1 -0
- package/dist/generated/iso/PAB.d.ts +2 -0
- package/dist/generated/iso/PAB.d.ts.map +1 -0
- package/dist/generated/iso/PAB.js +5 -0
- package/dist/generated/iso/PAB.js.map +1 -0
- package/dist/generated/iso/PEN.d.ts +2 -0
- package/dist/generated/iso/PEN.d.ts.map +1 -0
- package/dist/generated/iso/PEN.js +5 -0
- package/dist/generated/iso/PEN.js.map +1 -0
- package/dist/generated/iso/PGK.d.ts +2 -0
- package/dist/generated/iso/PGK.d.ts.map +1 -0
- package/dist/generated/iso/PGK.js +5 -0
- package/dist/generated/iso/PGK.js.map +1 -0
- package/dist/generated/iso/PHP.d.ts +2 -0
- package/dist/generated/iso/PHP.d.ts.map +1 -0
- package/dist/generated/iso/PHP.js +5 -0
- package/dist/generated/iso/PHP.js.map +1 -0
- package/dist/generated/iso/PKR.d.ts +2 -0
- package/dist/generated/iso/PKR.d.ts.map +1 -0
- package/dist/generated/iso/PKR.js +5 -0
- package/dist/generated/iso/PKR.js.map +1 -0
- package/dist/generated/iso/PLN.d.ts +2 -0
- package/dist/generated/iso/PLN.d.ts.map +1 -0
- package/dist/generated/iso/PLN.js +5 -0
- package/dist/generated/iso/PLN.js.map +1 -0
- package/dist/generated/iso/PYG.d.ts +2 -0
- package/dist/generated/iso/PYG.d.ts.map +1 -0
- package/dist/generated/iso/PYG.js +5 -0
- package/dist/generated/iso/PYG.js.map +1 -0
- package/dist/generated/iso/QAR.d.ts +2 -0
- package/dist/generated/iso/QAR.d.ts.map +1 -0
- package/dist/generated/iso/QAR.js +5 -0
- package/dist/generated/iso/QAR.js.map +1 -0
- package/dist/generated/iso/RON.d.ts +2 -0
- package/dist/generated/iso/RON.d.ts.map +1 -0
- package/dist/generated/iso/RON.js +5 -0
- package/dist/generated/iso/RON.js.map +1 -0
- package/dist/generated/iso/RSD.d.ts +2 -0
- package/dist/generated/iso/RSD.d.ts.map +1 -0
- package/dist/generated/iso/RSD.js +5 -0
- package/dist/generated/iso/RSD.js.map +1 -0
- package/dist/generated/iso/RUB.d.ts +2 -0
- package/dist/generated/iso/RUB.d.ts.map +1 -0
- package/dist/generated/iso/RUB.js +5 -0
- package/dist/generated/iso/RUB.js.map +1 -0
- package/dist/generated/iso/RWF.d.ts +2 -0
- package/dist/generated/iso/RWF.d.ts.map +1 -0
- package/dist/generated/iso/RWF.js +5 -0
- package/dist/generated/iso/RWF.js.map +1 -0
- package/dist/generated/iso/SAR.d.ts +2 -0
- package/dist/generated/iso/SAR.d.ts.map +1 -0
- package/dist/generated/iso/SAR.js +5 -0
- package/dist/generated/iso/SAR.js.map +1 -0
- package/dist/generated/iso/SBD.d.ts +2 -0
- package/dist/generated/iso/SBD.d.ts.map +1 -0
- package/dist/generated/iso/SBD.js +5 -0
- package/dist/generated/iso/SBD.js.map +1 -0
- package/dist/generated/iso/SCR.d.ts +2 -0
- package/dist/generated/iso/SCR.d.ts.map +1 -0
- package/dist/generated/iso/SCR.js +5 -0
- package/dist/generated/iso/SCR.js.map +1 -0
- package/dist/generated/iso/SDG.d.ts +2 -0
- package/dist/generated/iso/SDG.d.ts.map +1 -0
- package/dist/generated/iso/SDG.js +5 -0
- package/dist/generated/iso/SDG.js.map +1 -0
- package/dist/generated/iso/SEK.d.ts +2 -0
- package/dist/generated/iso/SEK.d.ts.map +1 -0
- package/dist/generated/iso/SEK.js +5 -0
- package/dist/generated/iso/SEK.js.map +1 -0
- package/dist/generated/iso/SGD.d.ts +2 -0
- package/dist/generated/iso/SGD.d.ts.map +1 -0
- package/dist/generated/iso/SGD.js +5 -0
- package/dist/generated/iso/SGD.js.map +1 -0
- package/dist/generated/iso/SHP.d.ts +2 -0
- package/dist/generated/iso/SHP.d.ts.map +1 -0
- package/dist/generated/iso/SHP.js +5 -0
- package/dist/generated/iso/SHP.js.map +1 -0
- package/dist/generated/iso/SLE.d.ts +2 -0
- package/dist/generated/iso/SLE.d.ts.map +1 -0
- package/dist/generated/iso/SLE.js +5 -0
- package/dist/generated/iso/SLE.js.map +1 -0
- package/dist/generated/iso/SOS.d.ts +2 -0
- package/dist/generated/iso/SOS.d.ts.map +1 -0
- package/dist/generated/iso/SOS.js +5 -0
- package/dist/generated/iso/SOS.js.map +1 -0
- package/dist/generated/iso/SRD.d.ts +2 -0
- package/dist/generated/iso/SRD.d.ts.map +1 -0
- package/dist/generated/iso/SRD.js +5 -0
- package/dist/generated/iso/SRD.js.map +1 -0
- package/dist/generated/iso/SSP.d.ts +2 -0
- package/dist/generated/iso/SSP.d.ts.map +1 -0
- package/dist/generated/iso/SSP.js +5 -0
- package/dist/generated/iso/SSP.js.map +1 -0
- package/dist/generated/iso/STN.d.ts +2 -0
- package/dist/generated/iso/STN.d.ts.map +1 -0
- package/dist/generated/iso/STN.js +5 -0
- package/dist/generated/iso/STN.js.map +1 -0
- package/dist/generated/iso/SVC.d.ts +2 -0
- package/dist/generated/iso/SVC.d.ts.map +1 -0
- package/dist/generated/iso/SVC.js +5 -0
- package/dist/generated/iso/SVC.js.map +1 -0
- package/dist/generated/iso/SYP.d.ts +2 -0
- package/dist/generated/iso/SYP.d.ts.map +1 -0
- package/dist/generated/iso/SYP.js +5 -0
- package/dist/generated/iso/SYP.js.map +1 -0
- package/dist/generated/iso/SZL.d.ts +2 -0
- package/dist/generated/iso/SZL.d.ts.map +1 -0
- package/dist/generated/iso/SZL.js +5 -0
- package/dist/generated/iso/SZL.js.map +1 -0
- package/dist/generated/iso/THB.d.ts +2 -0
- package/dist/generated/iso/THB.d.ts.map +1 -0
- package/dist/generated/iso/THB.js +5 -0
- package/dist/generated/iso/THB.js.map +1 -0
- package/dist/generated/iso/TJS.d.ts +2 -0
- package/dist/generated/iso/TJS.d.ts.map +1 -0
- package/dist/generated/iso/TJS.js +5 -0
- package/dist/generated/iso/TJS.js.map +1 -0
- package/dist/generated/iso/TMT.d.ts +2 -0
- package/dist/generated/iso/TMT.d.ts.map +1 -0
- package/dist/generated/iso/TMT.js +5 -0
- package/dist/generated/iso/TMT.js.map +1 -0
- package/dist/generated/iso/TND.d.ts +2 -0
- package/dist/generated/iso/TND.d.ts.map +1 -0
- package/dist/generated/iso/TND.js +5 -0
- package/dist/generated/iso/TND.js.map +1 -0
- package/dist/generated/iso/TOP.d.ts +2 -0
- package/dist/generated/iso/TOP.d.ts.map +1 -0
- package/dist/generated/iso/TOP.js +5 -0
- package/dist/generated/iso/TOP.js.map +1 -0
- package/dist/generated/iso/TRY.d.ts +2 -0
- package/dist/generated/iso/TRY.d.ts.map +1 -0
- package/dist/generated/iso/TRY.js +5 -0
- package/dist/generated/iso/TRY.js.map +1 -0
- package/dist/generated/iso/TTD.d.ts +2 -0
- package/dist/generated/iso/TTD.d.ts.map +1 -0
- package/dist/generated/iso/TTD.js +5 -0
- package/dist/generated/iso/TTD.js.map +1 -0
- package/dist/generated/iso/TWD.d.ts +2 -0
- package/dist/generated/iso/TWD.d.ts.map +1 -0
- package/dist/generated/iso/TWD.js +5 -0
- package/dist/generated/iso/TWD.js.map +1 -0
- package/dist/generated/iso/TZS.d.ts +2 -0
- package/dist/generated/iso/TZS.d.ts.map +1 -0
- package/dist/generated/iso/TZS.js +5 -0
- package/dist/generated/iso/TZS.js.map +1 -0
- package/dist/generated/iso/UAH.d.ts +2 -0
- package/dist/generated/iso/UAH.d.ts.map +1 -0
- package/dist/generated/iso/UAH.js +5 -0
- package/dist/generated/iso/UAH.js.map +1 -0
- package/dist/generated/iso/UGX.d.ts +2 -0
- package/dist/generated/iso/UGX.d.ts.map +1 -0
- package/dist/generated/iso/UGX.js +5 -0
- package/dist/generated/iso/UGX.js.map +1 -0
- package/dist/generated/iso/USD.d.ts +2 -0
- package/dist/generated/iso/USD.d.ts.map +1 -0
- package/dist/generated/iso/USD.js +5 -0
- package/dist/generated/iso/USD.js.map +1 -0
- package/dist/generated/iso/USN.d.ts +2 -0
- package/dist/generated/iso/USN.d.ts.map +1 -0
- package/dist/generated/iso/USN.js +5 -0
- package/dist/generated/iso/USN.js.map +1 -0
- package/dist/generated/iso/UYI.d.ts +2 -0
- package/dist/generated/iso/UYI.d.ts.map +1 -0
- package/dist/generated/iso/UYI.js +5 -0
- package/dist/generated/iso/UYI.js.map +1 -0
- package/dist/generated/iso/UYU.d.ts +2 -0
- package/dist/generated/iso/UYU.d.ts.map +1 -0
- package/dist/generated/iso/UYU.js +5 -0
- package/dist/generated/iso/UYU.js.map +1 -0
- package/dist/generated/iso/UYW.d.ts +2 -0
- package/dist/generated/iso/UYW.d.ts.map +1 -0
- package/dist/generated/iso/UYW.js +5 -0
- package/dist/generated/iso/UYW.js.map +1 -0
- package/dist/generated/iso/UZS.d.ts +2 -0
- package/dist/generated/iso/UZS.d.ts.map +1 -0
- package/dist/generated/iso/UZS.js +5 -0
- package/dist/generated/iso/UZS.js.map +1 -0
- package/dist/generated/iso/VED.d.ts +2 -0
- package/dist/generated/iso/VED.d.ts.map +1 -0
- package/dist/generated/iso/VED.js +5 -0
- package/dist/generated/iso/VED.js.map +1 -0
- package/dist/generated/iso/VES.d.ts +2 -0
- package/dist/generated/iso/VES.d.ts.map +1 -0
- package/dist/generated/iso/VES.js +5 -0
- package/dist/generated/iso/VES.js.map +1 -0
- package/dist/generated/iso/VND.d.ts +2 -0
- package/dist/generated/iso/VND.d.ts.map +1 -0
- package/dist/generated/iso/VND.js +5 -0
- package/dist/generated/iso/VND.js.map +1 -0
- package/dist/generated/iso/VUV.d.ts +2 -0
- package/dist/generated/iso/VUV.d.ts.map +1 -0
- package/dist/generated/iso/VUV.js +5 -0
- package/dist/generated/iso/VUV.js.map +1 -0
- package/dist/generated/iso/WST.d.ts +2 -0
- package/dist/generated/iso/WST.d.ts.map +1 -0
- package/dist/generated/iso/WST.js +5 -0
- package/dist/generated/iso/WST.js.map +1 -0
- package/dist/generated/iso/XAD.d.ts +2 -0
- package/dist/generated/iso/XAD.d.ts.map +1 -0
- package/dist/generated/iso/XAD.js +5 -0
- package/dist/generated/iso/XAD.js.map +1 -0
- package/dist/generated/iso/XAF.d.ts +2 -0
- package/dist/generated/iso/XAF.d.ts.map +1 -0
- package/dist/generated/iso/XAF.js +5 -0
- package/dist/generated/iso/XAF.js.map +1 -0
- package/dist/generated/iso/XCD.d.ts +2 -0
- package/dist/generated/iso/XCD.d.ts.map +1 -0
- package/dist/generated/iso/XCD.js +5 -0
- package/dist/generated/iso/XCD.js.map +1 -0
- package/dist/generated/iso/XCG.d.ts +2 -0
- package/dist/generated/iso/XCG.d.ts.map +1 -0
- package/dist/generated/iso/XCG.js +5 -0
- package/dist/generated/iso/XCG.js.map +1 -0
- package/dist/generated/iso/XOF.d.ts +2 -0
- package/dist/generated/iso/XOF.d.ts.map +1 -0
- package/dist/generated/iso/XOF.js +5 -0
- package/dist/generated/iso/XOF.js.map +1 -0
- package/dist/generated/iso/XPF.d.ts +2 -0
- package/dist/generated/iso/XPF.d.ts.map +1 -0
- package/dist/generated/iso/XPF.js +5 -0
- package/dist/generated/iso/XPF.js.map +1 -0
- package/dist/generated/iso/YER.d.ts +2 -0
- package/dist/generated/iso/YER.d.ts.map +1 -0
- package/dist/generated/iso/YER.js +5 -0
- package/dist/generated/iso/YER.js.map +1 -0
- package/dist/generated/iso/ZAR.d.ts +2 -0
- package/dist/generated/iso/ZAR.d.ts.map +1 -0
- package/dist/generated/iso/ZAR.js +5 -0
- package/dist/generated/iso/ZAR.js.map +1 -0
- package/dist/generated/iso/ZMW.d.ts +2 -0
- package/dist/generated/iso/ZMW.d.ts.map +1 -0
- package/dist/generated/iso/ZMW.js +5 -0
- package/dist/generated/iso/ZMW.js.map +1 -0
- package/dist/generated/iso/ZWG.d.ts +2 -0
- package/dist/generated/iso/ZWG.d.ts.map +1 -0
- package/dist/generated/iso/ZWG.js +5 -0
- package/dist/generated/iso/ZWG.js.map +1 -0
- package/dist/generated/iso4217-numeric.d.ts +3 -0
- package/dist/generated/iso4217-numeric.d.ts.map +1 -0
- package/dist/generated/iso4217-numeric.js +184 -0
- package/dist/generated/iso4217-numeric.js.map +1 -0
- package/dist/generated/rbnf-de.d.ts +3 -0
- package/dist/generated/rbnf-de.d.ts.map +1 -0
- package/dist/generated/rbnf-de.js +5 -0
- package/dist/generated/rbnf-de.js.map +1 -0
- package/dist/generated/rbnf-en.d.ts +3 -0
- package/dist/generated/rbnf-en.d.ts.map +1 -0
- package/dist/generated/rbnf-en.js +5 -0
- package/dist/generated/rbnf-en.js.map +1 -0
- package/dist/generated/rbnf-es.d.ts +3 -0
- package/dist/generated/rbnf-es.d.ts.map +1 -0
- package/dist/generated/rbnf-es.js +5 -0
- package/dist/generated/rbnf-es.js.map +1 -0
- package/dist/generated/rbnf-fr.d.ts +3 -0
- package/dist/generated/rbnf-fr.d.ts.map +1 -0
- package/dist/generated/rbnf-fr.js +5 -0
- package/dist/generated/rbnf-fr.js.map +1 -0
- package/dist/generated/rbnf-it.d.ts +3 -0
- package/dist/generated/rbnf-it.d.ts.map +1 -0
- package/dist/generated/rbnf-it.js +5 -0
- package/dist/generated/rbnf-it.js.map +1 -0
- package/dist/generated/rbnf-nl.d.ts +3 -0
- package/dist/generated/rbnf-nl.d.ts.map +1 -0
- package/dist/generated/rbnf-nl.js +5 -0
- package/dist/generated/rbnf-nl.js.map +1 -0
- package/dist/generated/rbnf-pt.d.ts +3 -0
- package/dist/generated/rbnf-pt.d.ts.map +1 -0
- package/dist/generated/rbnf-pt.js +5 -0
- package/dist/generated/rbnf-pt.js.map +1 -0
- package/dist/generated/territories.d.ts +6 -0
- package/dist/generated/territories.d.ts.map +1 -0
- package/dist/generated/territories.js +275 -0
- package/dist/generated/territories.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kysely.d.ts.map +1 -1
- package/dist/kysely.js +2 -2
- package/dist/kysely.js.map +1 -1
- package/dist/math.d.ts +41 -0
- package/dist/math.d.ts.map +1 -0
- package/dist/math.js +132 -0
- package/dist/math.js.map +1 -0
- package/dist/money.d.ts +39 -57
- package/dist/money.d.ts.map +1 -1
- package/dist/money.js +116 -128
- package/dist/money.js.map +1 -1
- package/dist/parse.js +7 -7
- package/dist/parse.js.map +1 -1
- package/dist/plugins/adyen.d.ts +2 -0
- package/dist/plugins/adyen.d.ts.map +1 -1
- package/dist/plugins/adyen.js +2 -0
- package/dist/plugins/adyen.js.map +1 -1
- package/dist/plugins/all.d.ts +18 -2
- package/dist/plugins/all.d.ts.map +1 -1
- package/dist/plugins/all.js +19 -2
- package/dist/plugins/all.js.map +1 -1
- package/dist/plugins/allocate.d.ts +1 -0
- package/dist/plugins/allocate.d.ts.map +1 -1
- package/dist/plugins/allocate.js +2 -0
- package/dist/plugins/allocate.js.map +1 -1
- package/dist/plugins/braintree.d.ts +1 -0
- package/dist/plugins/braintree.d.ts.map +1 -1
- package/dist/plugins/braintree.js +2 -0
- package/dist/plugins/braintree.js.map +1 -1
- package/dist/plugins/cash.d.ts +1 -0
- package/dist/plugins/cash.d.ts.map +1 -1
- package/dist/plugins/cash.js +2 -0
- package/dist/plugins/cash.js.map +1 -1
- package/dist/plugins/checkout.d.ts +1 -0
- package/dist/plugins/checkout.d.ts.map +1 -1
- package/dist/plugins/checkout.js +2 -0
- package/dist/plugins/checkout.js.map +1 -1
- package/dist/plugins/convert.d.ts +5 -0
- package/dist/plugins/convert.d.ts.map +1 -1
- package/dist/plugins/convert.js +2 -0
- package/dist/plugins/convert.js.map +1 -1
- package/dist/plugins/core.d.ts +78 -0
- package/dist/plugins/core.d.ts.map +1 -0
- package/dist/plugins/core.js +104 -0
- package/dist/plugins/core.js.map +1 -0
- package/dist/plugins/exact.d.ts +1 -0
- package/dist/plugins/exact.d.ts.map +1 -1
- package/dist/plugins/exact.js +2 -0
- package/dist/plugins/exact.js.map +1 -1
- package/dist/plugins/fixed-money.d.ts +31 -0
- package/dist/plugins/fixed-money.d.ts.map +1 -0
- package/dist/plugins/fixed-money.js +29 -0
- package/dist/plugins/fixed-money.js.map +1 -0
- package/dist/plugins/format.d.ts +5 -0
- package/dist/plugins/format.d.ts.map +1 -1
- package/dist/plugins/format.js +2 -0
- package/dist/plugins/format.js.map +1 -1
- package/dist/plugins/iso.d.ts +2 -0
- package/dist/plugins/iso.d.ts.map +1 -0
- package/dist/plugins/iso.js +9 -0
- package/dist/plugins/iso.js.map +1 -0
- package/dist/plugins/klarna.d.ts +1 -0
- package/dist/plugins/klarna.d.ts.map +1 -1
- package/dist/plugins/klarna.js +2 -0
- package/dist/plugins/klarna.js.map +1 -1
- package/dist/plugins/math.d.ts +20 -0
- package/dist/plugins/math.d.ts.map +1 -0
- package/dist/plugins/math.js +24 -0
- package/dist/plugins/math.js.map +1 -0
- package/dist/plugins/paypal.d.ts +5 -0
- package/dist/plugins/paypal.d.ts.map +1 -1
- package/dist/plugins/paypal.js +6 -0
- package/dist/plugins/paypal.js.map +1 -1
- package/dist/plugins/prisma.d.ts +5 -0
- package/dist/plugins/prisma.d.ts.map +1 -1
- package/dist/plugins/prisma.js +6 -0
- package/dist/plugins/prisma.js.map +1 -1
- package/dist/plugins/stripe.d.ts +5 -0
- package/dist/plugins/stripe.d.ts.map +1 -1
- package/dist/plugins/stripe.js +6 -0
- package/dist/plugins/stripe.js.map +1 -1
- package/dist/plugins/tax.d.ts +1 -0
- package/dist/plugins/tax.d.ts.map +1 -1
- package/dist/plugins/tax.js +6 -0
- package/dist/plugins/tax.js.map +1 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +5 -6
- package/dist/policy.js.map +1 -1
- package/dist/pricing.d.ts +52 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +100 -0
- package/dist/pricing.js.map +1 -0
- package/dist/prisma.d.ts.map +1 -1
- package/dist/prisma.js +6 -2
- package/dist/prisma.js.map +1 -1
- package/dist/provider.js +2 -2
- package/dist/provider.js.map +1 -1
- package/dist/rate-text.d.ts +6 -0
- package/dist/rate-text.d.ts.map +1 -1
- package/dist/rate-text.js +24 -1
- package/dist/rate-text.js.map +1 -1
- package/dist/rate.d.ts.map +1 -1
- package/dist/rate.js +2 -3
- package/dist/rate.js.map +1 -1
- package/dist/rbnf.d.ts +29 -0
- package/dist/rbnf.d.ts.map +1 -0
- package/dist/rbnf.js +301 -0
- package/dist/rbnf.js.map +1 -0
- package/dist/scale.d.ts +8 -0
- package/dist/scale.d.ts.map +1 -0
- package/dist/scale.js +34 -0
- package/dist/scale.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +4 -5
- package/dist/schema.js.map +1 -1
- package/dist/territories.d.ts +40 -0
- package/dist/territories.d.ts.map +1 -0
- package/dist/territories.js +71 -0
- package/dist/territories.js.map +1 -0
- package/dist/testing/arbitraries.d.ts.map +1 -1
- package/dist/testing/arbitraries.js +4 -4
- package/dist/testing/arbitraries.js.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/tiers.d.ts +95 -0
- package/dist/tiers.d.ts.map +1 -0
- package/dist/tiers.js +173 -0
- package/dist/tiers.js.map +1 -0
- package/dist/valibot.d.ts.map +1 -1
- package/dist/valibot.js +4 -1
- package/dist/valibot.js.map +1 -1
- package/dist/wire.d.ts +105 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +212 -0
- package/dist/wire.js.map +1 -0
- package/dist/words/de.d.ts +4 -0
- package/dist/words/de.d.ts.map +1 -0
- package/dist/words/de.js +8 -0
- package/dist/words/de.js.map +1 -0
- package/dist/words/en.d.ts +4 -0
- package/dist/words/en.d.ts.map +1 -0
- package/dist/words/en.js +8 -0
- package/dist/words/en.js.map +1 -0
- package/dist/words/es.d.ts +4 -0
- package/dist/words/es.d.ts.map +1 -0
- package/dist/words/es.js +8 -0
- package/dist/words/es.js.map +1 -0
- package/dist/words/fr.d.ts +4 -0
- package/dist/words/fr.d.ts.map +1 -0
- package/dist/words/fr.js +8 -0
- package/dist/words/fr.js.map +1 -0
- package/dist/words/it.d.ts +4 -0
- package/dist/words/it.d.ts.map +1 -0
- package/dist/words/it.js +8 -0
- package/dist/words/it.js.map +1 -0
- package/dist/words/nl.d.ts +4 -0
- package/dist/words/nl.d.ts.map +1 -0
- package/dist/words/nl.js +8 -0
- package/dist/words/nl.js.map +1 -0
- package/dist/words/pt.d.ts +4 -0
- package/dist/words/pt.d.ts.map +1 -0
- package/dist/words/pt.js +8 -0
- package/dist/words/pt.js.map +1 -0
- package/dist/words.d.ts +63 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +107 -0
- package/dist/words.js.map +1 -0
- package/dist/zod.d.ts.map +1 -1
- package/dist/zod.js +1 -1
- package/dist/zod.js.map +1 -1
- package/package.json +312 -54
- package/src/adyen-fx.ts +1 -1
- package/src/allocate.ts +4 -3
- package/src/cash.ts +26 -0
- package/src/convert.ts +2 -3
- package/src/crypto.ts +129 -0
- package/src/currencies.ts +123 -0
- package/src/currency.ts +45 -14
- package/src/decimal.ts +98 -10
- package/src/ecb.ts +75 -16
- package/src/entries/adyen-fx.ts +5 -0
- package/src/entries/boc.ts +5 -0
- package/src/entries/boe.ts +5 -0
- package/src/entries/crypto.ts +5 -0
- package/src/entries/currencies.ts +5 -0
- package/src/entries/drizzle-mysql.ts +5 -0
- package/src/entries/drizzle-pg.ts +5 -0
- package/src/entries/drizzle-sqlite.ts +5 -0
- package/src/entries/ecb.ts +5 -0
- package/src/entries/fed.ts +5 -0
- package/src/entries/fetch.ts +5 -0
- package/src/entries/finance.ts +5 -0
- package/src/entries/historic.ts +5 -0
- package/src/entries/history.ts +5 -0
- package/src/entries/hmrc.ts +5 -0
- package/src/entries/kysely.ts +5 -0
- package/src/entries/parse.ts +5 -0
- package/src/entries/pg.ts +5 -0
- package/src/entries/policy.ts +5 -0
- package/src/entries/pricing.ts +5 -0
- package/src/entries/stripe-fx.ts +5 -0
- package/src/entries/testing-arbitraries.ts +5 -0
- package/src/entries/testing-index.ts +5 -0
- package/src/entries/testing-jest.ts +5 -0
- package/src/entries/testing-vitest.ts +5 -0
- package/src/entries/valibot.ts +5 -0
- package/src/entries/wire.ts +5 -0
- package/src/entries/zod.ts +5 -0
- package/src/exact.ts +3 -3
- package/src/fetch.ts +20 -4
- package/src/finance.ts +1219 -0
- package/src/fixed-money.ts +38 -0
- package/src/fixed.ts +74 -66
- package/src/fn.ts +17 -0
- package/src/format.ts +28 -9
- package/src/generated/crypto.ts +15 -0
- package/src/generated/iso/AED.ts +5 -0
- package/src/generated/iso/AFN.ts +5 -0
- package/src/generated/iso/ALL.ts +5 -0
- package/src/generated/iso/AMD.ts +5 -0
- package/src/generated/iso/AOA.ts +5 -0
- package/src/generated/iso/ARS.ts +5 -0
- package/src/generated/iso/AUD.ts +5 -0
- package/src/generated/iso/AWG.ts +5 -0
- package/src/generated/iso/AZN.ts +5 -0
- package/src/generated/iso/BAM.ts +5 -0
- package/src/generated/iso/BBD.ts +5 -0
- package/src/generated/iso/BDT.ts +5 -0
- package/src/generated/iso/BHD.ts +5 -0
- package/src/generated/iso/BIF.ts +5 -0
- package/src/generated/iso/BMD.ts +5 -0
- package/src/generated/iso/BND.ts +5 -0
- package/src/generated/iso/BOB.ts +5 -0
- package/src/generated/iso/BOV.ts +5 -0
- package/src/generated/iso/BRL.ts +5 -0
- package/src/generated/iso/BSD.ts +5 -0
- package/src/generated/iso/BTN.ts +5 -0
- package/src/generated/iso/BWP.ts +5 -0
- package/src/generated/iso/BYN.ts +5 -0
- package/src/generated/iso/BZD.ts +5 -0
- package/src/generated/iso/CAD.ts +5 -0
- package/src/generated/iso/CDF.ts +5 -0
- package/src/generated/iso/CHE.ts +5 -0
- package/src/generated/iso/CHF.ts +5 -0
- package/src/generated/iso/CHW.ts +5 -0
- package/src/generated/iso/CLF.ts +5 -0
- package/src/generated/iso/CLP.ts +5 -0
- package/src/generated/iso/CNY.ts +5 -0
- package/src/generated/iso/COP.ts +5 -0
- package/src/generated/iso/COU.ts +5 -0
- package/src/generated/iso/CRC.ts +5 -0
- package/src/generated/iso/CUP.ts +5 -0
- package/src/generated/iso/CVE.ts +5 -0
- package/src/generated/iso/CZK.ts +5 -0
- package/src/generated/iso/DJF.ts +5 -0
- package/src/generated/iso/DKK.ts +5 -0
- package/src/generated/iso/DOP.ts +5 -0
- package/src/generated/iso/DZD.ts +5 -0
- package/src/generated/iso/EGP.ts +5 -0
- package/src/generated/iso/ERN.ts +5 -0
- package/src/generated/iso/ETB.ts +5 -0
- package/src/generated/iso/EUR.ts +5 -0
- package/src/generated/iso/FJD.ts +5 -0
- package/src/generated/iso/FKP.ts +5 -0
- package/src/generated/iso/GBP.ts +5 -0
- package/src/generated/iso/GEL.ts +5 -0
- package/src/generated/iso/GHS.ts +5 -0
- package/src/generated/iso/GIP.ts +5 -0
- package/src/generated/iso/GMD.ts +5 -0
- package/src/generated/iso/GNF.ts +5 -0
- package/src/generated/iso/GTQ.ts +5 -0
- package/src/generated/iso/GYD.ts +5 -0
- package/src/generated/iso/HKD.ts +5 -0
- package/src/generated/iso/HNL.ts +5 -0
- package/src/generated/iso/HTG.ts +5 -0
- package/src/generated/iso/HUF.ts +5 -0
- package/src/generated/iso/IDR.ts +5 -0
- package/src/generated/iso/ILS.ts +5 -0
- package/src/generated/iso/INR.ts +5 -0
- package/src/generated/iso/IQD.ts +5 -0
- package/src/generated/iso/IRR.ts +5 -0
- package/src/generated/iso/ISK.ts +5 -0
- package/src/generated/iso/JMD.ts +5 -0
- package/src/generated/iso/JOD.ts +5 -0
- package/src/generated/iso/JPY.ts +5 -0
- package/src/generated/iso/KES.ts +5 -0
- package/src/generated/iso/KGS.ts +5 -0
- package/src/generated/iso/KHR.ts +5 -0
- package/src/generated/iso/KMF.ts +5 -0
- package/src/generated/iso/KPW.ts +5 -0
- package/src/generated/iso/KRW.ts +5 -0
- package/src/generated/iso/KWD.ts +5 -0
- package/src/generated/iso/KYD.ts +5 -0
- package/src/generated/iso/KZT.ts +5 -0
- package/src/generated/iso/LAK.ts +5 -0
- package/src/generated/iso/LBP.ts +5 -0
- package/src/generated/iso/LKR.ts +5 -0
- package/src/generated/iso/LRD.ts +5 -0
- package/src/generated/iso/LSL.ts +5 -0
- package/src/generated/iso/LYD.ts +5 -0
- package/src/generated/iso/MAD.ts +5 -0
- package/src/generated/iso/MDL.ts +5 -0
- package/src/generated/iso/MGA.ts +5 -0
- package/src/generated/iso/MKD.ts +5 -0
- package/src/generated/iso/MMK.ts +5 -0
- package/src/generated/iso/MNT.ts +5 -0
- package/src/generated/iso/MOP.ts +5 -0
- package/src/generated/iso/MRU.ts +5 -0
- package/src/generated/iso/MUR.ts +5 -0
- package/src/generated/iso/MVR.ts +5 -0
- package/src/generated/iso/MWK.ts +5 -0
- package/src/generated/iso/MXN.ts +5 -0
- package/src/generated/iso/MXV.ts +5 -0
- package/src/generated/iso/MYR.ts +5 -0
- package/src/generated/iso/MZN.ts +5 -0
- package/src/generated/iso/NAD.ts +5 -0
- package/src/generated/iso/NGN.ts +5 -0
- package/src/generated/iso/NIO.ts +5 -0
- package/src/generated/iso/NOK.ts +5 -0
- package/src/generated/iso/NPR.ts +5 -0
- package/src/generated/iso/NZD.ts +5 -0
- package/src/generated/iso/OMR.ts +5 -0
- package/src/generated/iso/PAB.ts +5 -0
- package/src/generated/iso/PEN.ts +5 -0
- package/src/generated/iso/PGK.ts +5 -0
- package/src/generated/iso/PHP.ts +5 -0
- package/src/generated/iso/PKR.ts +5 -0
- package/src/generated/iso/PLN.ts +5 -0
- package/src/generated/iso/PYG.ts +5 -0
- package/src/generated/iso/QAR.ts +5 -0
- package/src/generated/iso/RON.ts +5 -0
- package/src/generated/iso/RSD.ts +5 -0
- package/src/generated/iso/RUB.ts +5 -0
- package/src/generated/iso/RWF.ts +5 -0
- package/src/generated/iso/SAR.ts +5 -0
- package/src/generated/iso/SBD.ts +5 -0
- package/src/generated/iso/SCR.ts +5 -0
- package/src/generated/iso/SDG.ts +5 -0
- package/src/generated/iso/SEK.ts +5 -0
- package/src/generated/iso/SGD.ts +5 -0
- package/src/generated/iso/SHP.ts +5 -0
- package/src/generated/iso/SLE.ts +5 -0
- package/src/generated/iso/SOS.ts +5 -0
- package/src/generated/iso/SRD.ts +5 -0
- package/src/generated/iso/SSP.ts +5 -0
- package/src/generated/iso/STN.ts +5 -0
- package/src/generated/iso/SVC.ts +5 -0
- package/src/generated/iso/SYP.ts +5 -0
- package/src/generated/iso/SZL.ts +5 -0
- package/src/generated/iso/THB.ts +5 -0
- package/src/generated/iso/TJS.ts +5 -0
- package/src/generated/iso/TMT.ts +5 -0
- package/src/generated/iso/TND.ts +5 -0
- package/src/generated/iso/TOP.ts +5 -0
- package/src/generated/iso/TRY.ts +5 -0
- package/src/generated/iso/TTD.ts +5 -0
- package/src/generated/iso/TWD.ts +5 -0
- package/src/generated/iso/TZS.ts +5 -0
- package/src/generated/iso/UAH.ts +5 -0
- package/src/generated/iso/UGX.ts +5 -0
- package/src/generated/iso/USD.ts +5 -0
- package/src/generated/iso/USN.ts +5 -0
- package/src/generated/iso/UYI.ts +5 -0
- package/src/generated/iso/UYU.ts +5 -0
- package/src/generated/iso/UYW.ts +5 -0
- package/src/generated/iso/UZS.ts +5 -0
- package/src/generated/iso/VED.ts +5 -0
- package/src/generated/iso/VES.ts +5 -0
- package/src/generated/iso/VND.ts +5 -0
- package/src/generated/iso/VUV.ts +5 -0
- package/src/generated/iso/WST.ts +5 -0
- package/src/generated/iso/XAD.ts +5 -0
- package/src/generated/iso/XAF.ts +5 -0
- package/src/generated/iso/XCD.ts +5 -0
- package/src/generated/iso/XCG.ts +5 -0
- package/src/generated/iso/XOF.ts +5 -0
- package/src/generated/iso/XPF.ts +5 -0
- package/src/generated/iso/YER.ts +5 -0
- package/src/generated/iso/ZAR.ts +5 -0
- package/src/generated/iso/ZMW.ts +5 -0
- package/src/generated/iso/ZWG.ts +5 -0
- package/src/generated/iso4217-numeric.ts +184 -0
- package/src/generated/rbnf-de.ts +5 -0
- package/src/generated/rbnf-en.ts +5 -0
- package/src/generated/rbnf-es.ts +5 -0
- package/src/generated/rbnf-fr.ts +5 -0
- package/src/generated/rbnf-it.ts +5 -0
- package/src/generated/rbnf-nl.ts +5 -0
- package/src/generated/rbnf-pt.ts +5 -0
- package/src/generated/territories.ts +277 -0
- package/src/index.ts +3 -0
- package/src/kysely.ts +4 -3
- package/src/math.ts +167 -0
- package/src/money.ts +136 -140
- package/src/parse.ts +7 -7
- package/src/plugins/adyen.ts +2 -0
- package/src/plugins/all.ts +19 -1
- package/src/plugins/allocate.ts +2 -0
- package/src/plugins/braintree.ts +2 -0
- package/src/plugins/cash.ts +2 -0
- package/src/plugins/checkout.ts +2 -0
- package/src/plugins/convert.ts +2 -0
- package/src/plugins/core.ts +195 -0
- package/src/plugins/exact.ts +2 -0
- package/src/plugins/fixed-money.ts +57 -0
- package/src/plugins/format.ts +2 -0
- package/src/plugins/iso.ts +9 -0
- package/src/plugins/klarna.ts +2 -0
- package/src/plugins/math.ts +43 -0
- package/src/plugins/paypal.ts +2 -0
- package/src/plugins/prisma.ts +2 -0
- package/src/plugins/stripe.ts +2 -0
- package/src/plugins/tax.ts +2 -0
- package/src/policy.ts +5 -8
- package/src/pricing.ts +155 -0
- package/src/prisma.ts +6 -1
- package/src/provider.ts +2 -2
- package/src/rate-text.ts +27 -1
- package/src/rate.ts +2 -2
- package/src/rbnf.ts +389 -0
- package/src/scale.ts +42 -0
- package/src/schema.ts +4 -7
- package/src/territories.ts +102 -0
- package/src/testing/arbitraries.ts +4 -4
- package/src/testing/index.ts +1 -1
- package/src/tiers.ts +284 -0
- package/src/valibot.ts +4 -1
- package/src/wire.ts +322 -0
- package/src/words/de.ts +9 -0
- package/src/words/en.ts +9 -0
- package/src/words/es.ts +9 -0
- package/src/words/fr.ts +9 -0
- package/src/words/it.ts +9 -0
- package/src/words/nl.ts +9 -0
- package/src/words/pt.ts +9 -0
- package/src/words.ts +168 -0
- package/src/zod.ts +1 -1
- package/dist/plugins/fixed.d.ts +0 -17
- package/dist/plugins/fixed.d.ts.map +0 -1
- package/dist/plugins/fixed.js +0 -13
- package/dist/plugins/fixed.js.map +0 -1
- package/src/plugins/fixed.ts +0 -29
package/dist/wire.js
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/wire`: Money to and from common wire formats, exactly in both directions:
|
|
3
|
+
* - `google.type.Money` (`currencyCode`, `units`, `nanos`), used by Google APIs and many gRPC
|
|
4
|
+
* services;
|
|
5
|
+
* - ISO 20022 amounts (`<InstdAmt Ccy="EUR">12.34</InstdAmt>`): a non-negative decimal with at
|
|
6
|
+
* most 5 decimals and 18 digits;
|
|
7
|
+
* - `{ value, currency }` with an integer count of ISO 4217 minor units, the JSON several
|
|
8
|
+
* processors and ledgers use.
|
|
9
|
+
*
|
|
10
|
+
* Every reader checks the format strictly, and every writer throws rather than send a value the
|
|
11
|
+
* format can't hold.
|
|
12
|
+
*/
|
|
13
|
+
import { currencyExponent } from './currency.js';
|
|
14
|
+
import { formatScaled, parseDecimal } from './decimal.js';
|
|
15
|
+
import { fromMinor, toScale } from './money.js';
|
|
16
|
+
import { fromProcessorAmount, toProcessorAmount } from './processor.js';
|
|
17
|
+
import { RoundingError } from './rounding.js';
|
|
18
|
+
const NANOS_PER_UNIT = 1000000000n;
|
|
19
|
+
const MAX_INT64 = 2n ** 63n - 1n;
|
|
20
|
+
const MIN_INT64 = -(2n ** 63n);
|
|
21
|
+
const CURRENCY_CODE = /^[A-Z]{3}$/;
|
|
22
|
+
/** `value` (an integer count of 10^-from units) as Money at the requested scale. */
|
|
23
|
+
function atScale(format, value, from, currency, options) {
|
|
24
|
+
const exact = fromMinor(value, currency, from);
|
|
25
|
+
const scale = options?.scale ?? currencyExponent(currency);
|
|
26
|
+
try {
|
|
27
|
+
return toScale(exact, scale, options?.rounding ?? 'unnecessary');
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (error instanceof RoundingError) {
|
|
31
|
+
throw new RoundingError(`${format} ${formatScaled(exact.minor, exact.scale)} ${currency} has more than ${scale} decimals; pass { rounding } or { scale }`);
|
|
32
|
+
}
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** `money` as an integer count of 10^-scale units, or undefined when that would drop digits. */
|
|
37
|
+
function exactAt(money, scale) {
|
|
38
|
+
const minor = BigInt(money.minor);
|
|
39
|
+
if (money.scale <= scale) {
|
|
40
|
+
return minor * 10n ** BigInt(scale - money.scale);
|
|
41
|
+
}
|
|
42
|
+
const divisor = 10n ** BigInt(money.scale - scale);
|
|
43
|
+
return minor % divisor === 0n ? minor / divisor : undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Money as `google.type.Money`: `toGoogleMoney(money('-1.75', 'EUR'))` is `{ currencyCode: 'EUR',
|
|
47
|
+
* units: '-1', nanos: -750000000 }`. Throws a RoundingError for an amount with more than 9
|
|
48
|
+
* decimals (unless `rounding` is given), and a RangeError when the whole units don't fit in an
|
|
49
|
+
* int64 or the code isn't three capital letters, as the format requires.
|
|
50
|
+
*/
|
|
51
|
+
export function toGoogleMoney(money, rounding = 'unnecessary') {
|
|
52
|
+
if (!CURRENCY_CODE.test(money.currency)) {
|
|
53
|
+
throw new RangeError(`google.type.Money needs an ISO 4217 code, got ${money.currency}`);
|
|
54
|
+
}
|
|
55
|
+
let total = exactAt(money, 9);
|
|
56
|
+
if (total === undefined) {
|
|
57
|
+
if (rounding === 'unnecessary') {
|
|
58
|
+
throw new RoundingError(`${money.toString()} has more than 9 decimals, the most google.type.Money holds; pass a rounding mode`);
|
|
59
|
+
}
|
|
60
|
+
total = BigInt(toScale(money, 9, rounding).minor);
|
|
61
|
+
}
|
|
62
|
+
// bigint division and remainder truncate toward zero, so units and nanos share the sign
|
|
63
|
+
const units = total / NANOS_PER_UNIT;
|
|
64
|
+
const nanos = Number(total % NANOS_PER_UNIT);
|
|
65
|
+
if (units > MAX_INT64 || units < MIN_INT64) {
|
|
66
|
+
throw new RangeError(`${money.toString()} doesn't fit in google.type.Money (int64 units)`);
|
|
67
|
+
}
|
|
68
|
+
// `+ 0` turns -0 into 0
|
|
69
|
+
return { currencyCode: money.currency, units: String(units), nanos: nanos + 0 };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Reads `google.type.Money`, exactly: `fromGoogleMoney({ currencyCode: 'EUR', units: '12', nanos:
|
|
73
|
+
* 340000000 })` is 12.34 EUR. Missing `units` or `nanos` mean 0, as in proto3. The value is checked
|
|
74
|
+
* as the format defines it: `units` an int64, `nanos` from -999,999,999 to 999,999,999 with the
|
|
75
|
+
* same sign as a non-zero `units`. A malformed value throws a RangeError. The result has the
|
|
76
|
+
* currency's exponent; more decimals throw a RoundingError unless `options` says what to do.
|
|
77
|
+
*/
|
|
78
|
+
export function fromGoogleMoney(value, options) {
|
|
79
|
+
const invalid = (reason) => {
|
|
80
|
+
throw new RangeError(`Invalid google.type.Money: ${reason}`);
|
|
81
|
+
};
|
|
82
|
+
if (value === null || typeof value !== 'object') {
|
|
83
|
+
return invalid('expected an object');
|
|
84
|
+
}
|
|
85
|
+
const { currencyCode, units = 0, nanos = 0 } = value;
|
|
86
|
+
if (typeof currencyCode !== 'string' || !CURRENCY_CODE.test(currencyCode)) {
|
|
87
|
+
return invalid(`currencyCode ${JSON.stringify(currencyCode)}`);
|
|
88
|
+
}
|
|
89
|
+
let wholeUnits;
|
|
90
|
+
if (typeof units === 'bigint') {
|
|
91
|
+
wholeUnits = units;
|
|
92
|
+
}
|
|
93
|
+
else if (typeof units === 'number' && Number.isSafeInteger(units)) {
|
|
94
|
+
wholeUnits = BigInt(units);
|
|
95
|
+
}
|
|
96
|
+
else if (typeof units === 'string' && /^-?\d{1,19}$/.test(units)) {
|
|
97
|
+
wholeUnits = BigInt(units);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return invalid(`units ${JSON.stringify(String(units))}`);
|
|
101
|
+
}
|
|
102
|
+
if (wholeUnits > MAX_INT64 || wholeUnits < MIN_INT64) {
|
|
103
|
+
return invalid(`units ${wholeUnits} is beyond int64`);
|
|
104
|
+
}
|
|
105
|
+
if (!Number.isInteger(nanos) || nanos > 999_999_999 || nanos < -999_999_999) {
|
|
106
|
+
return invalid(`nanos ${nanos}`);
|
|
107
|
+
}
|
|
108
|
+
if ((wholeUnits > 0n && nanos < 0) || (wholeUnits < 0n && nanos > 0)) {
|
|
109
|
+
return invalid(`units ${wholeUnits} and nanos ${nanos} have different signs`);
|
|
110
|
+
}
|
|
111
|
+
const total = wholeUnits * NANOS_PER_UNIT + BigInt(nanos);
|
|
112
|
+
return atScale('google.type.Money', total, 9, currencyCode, options);
|
|
113
|
+
}
|
|
114
|
+
// ActiveOrHistoricCurrencyAndAmount: xs:decimal, fractionDigits 5, totalDigits 18, minInclusive 0
|
|
115
|
+
const ISO_20022_AMOUNT = /^(\d+)(?:\.(\d+))?$/;
|
|
116
|
+
const ISO_20022_MAX_DECIMALS = 5;
|
|
117
|
+
const ISO_20022_MAX_DIGITS = 18;
|
|
118
|
+
/**
|
|
119
|
+
* Whether a decimal's value fits the schema's facets. XSD counts digits in the value, not the text,
|
|
120
|
+
* so leading zeros and trailing fractional zeros don't count: '0012.3400' has 4 digits, 2 decimals.
|
|
121
|
+
*/
|
|
122
|
+
function fitsIso20022(integer, fraction) {
|
|
123
|
+
const decimals = fraction.replace(/0+$/, '');
|
|
124
|
+
const whole = integer.replace(/^0+/, '');
|
|
125
|
+
return (decimals.length <= ISO_20022_MAX_DECIMALS &&
|
|
126
|
+
whole.length + decimals.length <= ISO_20022_MAX_DIGITS);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Money as an ISO 20022 amount: `toIso20022Amount(money('12.34', 'EUR'))` is `{ Ccy: 'EUR', value:
|
|
130
|
+
* '12.34' }`. It is written with the currency's decimals, as the payment networks' rules (CBPR+,
|
|
131
|
+
* HVPS+) require for ActiveCurrencyAndAmount: 12.3400 EUR at scale 4 is written '12.34', and JPY
|
|
132
|
+
* '1000'. More decimals than that throw a RoundingError unless `rounding` is given. The schema
|
|
133
|
+
* types allow at most 5 decimals and 18 digits, and no negative amounts: the direction is carried
|
|
134
|
+
* elsewhere in the message (a credit/debit indicator). An amount that doesn't fit throws a
|
|
135
|
+
* RangeError.
|
|
136
|
+
*/
|
|
137
|
+
export function toIso20022Amount(money, rounding = 'unnecessary', options) {
|
|
138
|
+
if (!CURRENCY_CODE.test(money.currency)) {
|
|
139
|
+
throw new RangeError(`ISO 20022 amounts need an ISO 4217 code, got ${money.currency}`);
|
|
140
|
+
}
|
|
141
|
+
const scale = options?.scale ?? currencyExponent(money.currency);
|
|
142
|
+
if (!Number.isInteger(scale) || scale < 0 || scale > ISO_20022_MAX_DECIMALS) {
|
|
143
|
+
throw new RangeError(`ISO 20022 amounts have 0 to 5 decimals, not ${scale}`);
|
|
144
|
+
}
|
|
145
|
+
let amount;
|
|
146
|
+
try {
|
|
147
|
+
amount = toScale(money, scale, rounding);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
if (error instanceof RoundingError) {
|
|
151
|
+
throw new RoundingError(`${money.toString()} has more than ${scale} decimals for an ISO 20022 ${money.currency} amount; pass a rounding mode`);
|
|
152
|
+
}
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
if (amount.minor < 0) {
|
|
156
|
+
throw new RangeError(`ISO 20022 amounts can't be negative (${money.toString()}); use the credit/debit indicator`);
|
|
157
|
+
}
|
|
158
|
+
const value = formatScaled(amount.minor, amount.scale);
|
|
159
|
+
const [integer = '', fraction = ''] = value.split('.');
|
|
160
|
+
if (!fitsIso20022(integer, fraction)) {
|
|
161
|
+
throw new RangeError(`${money.toString()} has more than 18 digits, the most ISO 20022 allows`);
|
|
162
|
+
}
|
|
163
|
+
return { Ccy: money.currency, value };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Reads an ISO 20022 amount, exactly: `fromIso20022Amount({ Ccy: 'EUR', value: '12.34' })` is
|
|
167
|
+
* 12.34 EUR. The text is checked as the schema defines it: plain digits with an optional decimal
|
|
168
|
+
* point, at most 5 decimals and 18 digits (not counting leading or trailing zeros, as XSD
|
|
169
|
+
* counts them), no sign, exponent or spaces (XML whitespace around the
|
|
170
|
+
* element's text should be trimmed by the XML reader). Anything else throws a SyntaxError. The
|
|
171
|
+
* result has the currency's exponent; more decimals throw a RoundingError unless `options` says what
|
|
172
|
+
* to do (KWD's 3 decimals fit; 12.345 EUR needs `{ scale: 3 }` or a rounding mode).
|
|
173
|
+
*/
|
|
174
|
+
export function fromIso20022Amount(amount, options) {
|
|
175
|
+
const { Ccy: currency, value } = amount ?? {};
|
|
176
|
+
if (typeof currency !== 'string' || !CURRENCY_CODE.test(currency)) {
|
|
177
|
+
throw new SyntaxError(`Invalid ISO 20022 currency ${JSON.stringify(currency)}`);
|
|
178
|
+
}
|
|
179
|
+
const match = typeof value === 'string' ? ISO_20022_AMOUNT.exec(value) : null;
|
|
180
|
+
if (match === null || !fitsIso20022(match[1], match[2] ?? '')) {
|
|
181
|
+
throw new SyntaxError(`Invalid ISO 20022 amount ${JSON.stringify(value)}: at most 18 digits, 5 of them decimals`);
|
|
182
|
+
}
|
|
183
|
+
const parsed = parseDecimal(value);
|
|
184
|
+
return atScale('ISO 20022 amount', parsed.digits, parsed.scale, currency, options);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Money as `{ value, currency }` in ISO 4217 minor units: `toMinorUnits(money('12.34', 'EUR'))` is
|
|
188
|
+
* `{ value: 1234, currency: 'EUR' }`, and JPY 500 is `{ value: 500, currency: 'JPY' }`. The same
|
|
189
|
+
* shape as Adyen's `amount`, at the ISO exponent; use the processor's own view (`toAdyen`,
|
|
190
|
+
* `toCheckout`, ...) where its exponents differ from ISO. Throws a RoundingError for an amount with
|
|
191
|
+
* more decimals than the currency (unless `rounding` is given), and a RangeError beyond 2^53 - 1
|
|
192
|
+
* minor units, which JSON numbers can't hold exactly.
|
|
193
|
+
*/
|
|
194
|
+
export function toMinorUnits(money, rounding = 'unnecessary') {
|
|
195
|
+
const exponent = currencyExponent(money.currency);
|
|
196
|
+
return {
|
|
197
|
+
value: toProcessorAmount('ISO 4217 minor units', money, exponent, 1, rounding),
|
|
198
|
+
currency: money.currency,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Reads `{ value, currency }` in ISO 4217 minor units: `fromMinorUnits({ value: 1234, currency:
|
|
203
|
+
* 'EUR' })` is 12.34 EUR. `value` must be a safe integer (or a bigint); anything else throws a
|
|
204
|
+
* RangeError.
|
|
205
|
+
*/
|
|
206
|
+
export function fromMinorUnits(amount) {
|
|
207
|
+
if (amount === null || typeof amount !== 'object' || typeof amount.currency !== 'string') {
|
|
208
|
+
throw new RangeError('Expected { value, currency }');
|
|
209
|
+
}
|
|
210
|
+
return fromProcessorAmount('ISO 4217 minor units', amount.value, amount.currency, currencyExponent(amount.currency));
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=wire.js.map
|
package/dist/wire.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../src/words/de.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,aAA8C,CAAC"}
|
package/dist/words/de.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/de`: German spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-de.js';
|
|
6
|
+
/** German spell-out rules (CLDR 49). */
|
|
7
|
+
export const german = { locale: 'de', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=de.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/words/de.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,wCAAwC;AACxC,MAAM,CAAC,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/words/en.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,yCAAyC;AACzC,eAAO,MAAM,OAAO,EAAE,aAA8C,CAAC"}
|
package/dist/words/en.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/en`: English spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-en.js';
|
|
6
|
+
/** English spell-out rules (CLDR 49). */
|
|
7
|
+
export const english = { locale: 'en', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/words/en.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../src/words/es.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,yCAAyC;AACzC,eAAO,MAAM,OAAO,EAAE,aAA8C,CAAC"}
|
package/dist/words/es.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/es`: Spanish spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-es.js';
|
|
6
|
+
/** Spanish spell-out rules (CLDR 49). */
|
|
7
|
+
export const spanish = { locale: 'es', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/words/es.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/words/fr.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,aAA8C,CAAC"}
|
package/dist/words/fr.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/fr`: French spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-fr.js';
|
|
6
|
+
/** French spell-out rules (CLDR 49). */
|
|
7
|
+
export const french = { locale: 'fr', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=fr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/words/fr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,wCAAwC;AACxC,MAAM,CAAC,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it.d.ts","sourceRoot":"","sources":["../../src/words/it.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,yCAAyC;AACzC,eAAO,MAAM,OAAO,EAAE,aAA8C,CAAC"}
|
package/dist/words/it.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/it`: Italian spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-it.js';
|
|
6
|
+
/** Italian spell-out rules (CLDR 49). */
|
|
7
|
+
export const italian = { locale: 'it', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=it.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it.js","sourceRoot":"","sources":["../../src/words/it.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nl.d.ts","sourceRoot":"","sources":["../../src/words/nl.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,uCAAuC;AACvC,eAAO,MAAM,KAAK,EAAE,aAA8C,CAAC"}
|
package/dist/words/nl.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/nl`: Dutch spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-nl.js';
|
|
6
|
+
/** Dutch spell-out rules (CLDR 49). */
|
|
7
|
+
export const dutch = { locale: 'nl', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=nl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nl.js","sourceRoot":"","sources":["../../src/words/nl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,uCAAuC;AACvC,MAAM,CAAC,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pt.d.ts","sourceRoot":"","sources":["../../src/words/pt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,4CAA4C;AAC5C,eAAO,MAAM,UAAU,EAAE,aAA8C,CAAC"}
|
package/dist/words/pt.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words/pt`: Portuguese spell-out rules from CLDR, for `spellOut` and
|
|
3
|
+
* `amountInWords` in `@ducatjs/money/words`.
|
|
4
|
+
*/
|
|
5
|
+
import { RULES } from '../generated/rbnf-pt.js';
|
|
6
|
+
/** Portuguese spell-out rules (CLDR 49). */
|
|
7
|
+
export const portuguese = { locale: 'pt', rules: RULES };
|
|
8
|
+
//# sourceMappingURL=pt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pt.js","sourceRoot":"","sources":["../../src/words/pt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/words.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/words`: amounts and numbers in words, as cheques, invoices and legal documents
|
|
3
|
+
* need. The words come from CLDR's rule-based number formats (RBNF), the rules ICU uses, through a
|
|
4
|
+
* small interpreter; each language is its own entry (`@ducatjs/money/words/en`, `/de`, `/fr`, `/es`,
|
|
5
|
+
* `/it`, `/pt`, `/nl`), so a bundle carries only the languages it imports. The currency's name, in
|
|
6
|
+
* the right plural, comes from the runtime's `Intl`.
|
|
7
|
+
*
|
|
8
|
+
* import { amountInWords } from '@ducatjs/money/words';
|
|
9
|
+
* import { english } from '@ducatjs/money/words/en';
|
|
10
|
+
*
|
|
11
|
+
* amountInWords(money('123.45', 'EUR'), english); // 'one hundred twenty-three euros and 45/100'
|
|
12
|
+
*
|
|
13
|
+
* Nothing here loads Money or the currency table: an amount is read through its fields.
|
|
14
|
+
*/
|
|
15
|
+
import type { Money } from './money.js';
|
|
16
|
+
import { type SpelloutRules } from './rbnf.js';
|
|
17
|
+
export { ruleSets, spellOut, type SpelloutRules } from './rbnf.js';
|
|
18
|
+
/** Plural forms of a minor unit's name, by `Intl.PluralRules` category: `{ one: 'cent', other: 'cents' }`. */
|
|
19
|
+
export type UnitNames = Readonly<Partial<Record<Intl.LDMLPluralRule, string>>> & {
|
|
20
|
+
readonly other: string;
|
|
21
|
+
};
|
|
22
|
+
/** Options for `amountInWords`. */
|
|
23
|
+
export interface AmountInWordsOptions {
|
|
24
|
+
/**
|
|
25
|
+
* The grammatical gender of the currency's name, which some languages' numbers agree with
|
|
26
|
+
* (Spanish 'un euro' but 'una libra', French 'vingt et un' and 'vingt et une'). CLDR doesn't say
|
|
27
|
+
* which gender a currency has, so it's yours to give; default masculine, where the language has
|
|
28
|
+
* genders.
|
|
29
|
+
*/
|
|
30
|
+
readonly gender?: 'masculine' | 'feminine' | 'neuter';
|
|
31
|
+
/** A public rule set to spell numbers with, instead of the gender's cardinal (see `ruleSets`). */
|
|
32
|
+
readonly ruleSet?: string;
|
|
33
|
+
/**
|
|
34
|
+
* How to write the minor part. By default, as cheques do: '45/100' after the language's 'and'
|
|
35
|
+
* ('one hundred twenty-three euros and 45/100'). Give the minor unit's names to spell it out
|
|
36
|
+
* instead ('and forty-five cents'): CLDR has no names for minor units, so they are yours to
|
|
37
|
+
* give, in the plural forms the language uses.
|
|
38
|
+
*/
|
|
39
|
+
readonly minor?: UnitNames;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* An amount in words: the whole units spelled out with the currency's name, then the minor part.
|
|
43
|
+
*
|
|
44
|
+
* amountInWords(money('123.45', 'EUR'), english) // 'one hundred twenty-three euros and 45/100'
|
|
45
|
+
* amountInWords(money('123.45', 'EUR'), german) // 'einhundertdreiundzwanzig Euro und 45/100'
|
|
46
|
+
* amountInWords(money('21', 'EUR'), french) // 'vingt-et-un euros et 00/100'
|
|
47
|
+
* amountInWords(money('0.45', 'USD'), english, { minor: { one: 'cent', other: 'cents' } })
|
|
48
|
+
* // 'forty-five cents'
|
|
49
|
+
*
|
|
50
|
+
* The minor part is written at the amount's scale, so round first for a currency's usual decimals
|
|
51
|
+
* (an amount at scale 3 gives '/1000'). Zero minor units are written as '00/100' cheque-style, and
|
|
52
|
+
* left out when `minor` names are given. Negative amounts throw a RangeError: words are for amounts
|
|
53
|
+
* to pay, and so do whole units or spelled minor units past 2^63 - 1, where ICU's rules stop (see
|
|
54
|
+
* `spellOut`). German, Italian and Dutch words keep CLDR's soft hyphens (U+00AD), which show only
|
|
55
|
+
* where a line breaks. The grammar is CLDR's numbers plus Intl's currency name: languages that put
|
|
56
|
+
* a preposition after a round million ('un million de yens') don't get it. The currency's name, the
|
|
57
|
+
* word for 'and' and the digit grouping of numbers the rules write as digits come from the
|
|
58
|
+
* runtime's `Intl`. A code Intl can't name (not three letters, such as one registered with
|
|
59
|
+
* `defineCurrency('USDC', 6)`) throws a RangeError; a three-letter code Intl doesn't know is
|
|
60
|
+
* written as the code ('five XBT').
|
|
61
|
+
*/
|
|
62
|
+
export declare function amountInWords(money: Money, rules: SpelloutRules, options?: AmountInWordsOptions): string;
|
|
63
|
+
//# sourceMappingURL=words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAErF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAEnE,8GAA8G;AAC9G,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtD,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AA8DD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAsCR"}
|
package/dist/words.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { cardinalFor, pluralOperand, spellOut } from './rbnf.js';
|
|
2
|
+
export { ruleSets, spellOut } from './rbnf.js';
|
|
3
|
+
const currencyNames = /* @__PURE__ */ new Map();
|
|
4
|
+
const conjunctions = /* @__PURE__ */ new Map();
|
|
5
|
+
const pluralRules = /* @__PURE__ */ new Map();
|
|
6
|
+
function cached(cache, key, build) {
|
|
7
|
+
let value = cache.get(key);
|
|
8
|
+
if (value === undefined) {
|
|
9
|
+
if (cache.size >= 64) {
|
|
10
|
+
cache.clear();
|
|
11
|
+
}
|
|
12
|
+
value = build();
|
|
13
|
+
cache.set(key, value);
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
/** The language's 'and' between two items, with its spaces: ' and ', ' und ', ' et '. */
|
|
18
|
+
function conjunction(locale) {
|
|
19
|
+
return cached(conjunctions, locale, () => {
|
|
20
|
+
const parts = new Intl.ListFormat(locale, { type: 'conjunction' }).formatToParts(['a', 'b']);
|
|
21
|
+
return parts.find((part) => part.type === 'literal')?.value ?? ' ';
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* `count` of the currency in words, in the locale's order and plural: the number Intl would write
|
|
26
|
+
* with the currency's name, with the digits replaced by `words`.
|
|
27
|
+
*/
|
|
28
|
+
function withCurrencyName(locale, currency, count, words) {
|
|
29
|
+
const format = cached(currencyNames, `${locale}\u0000${currency}`, () => {
|
|
30
|
+
try {
|
|
31
|
+
return new Intl.NumberFormat(locale, {
|
|
32
|
+
style: 'currency',
|
|
33
|
+
currency,
|
|
34
|
+
currencyDisplay: 'name',
|
|
35
|
+
minimumFractionDigits: 0,
|
|
36
|
+
maximumFractionDigits: 0,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Intl names only three-letter codes
|
|
41
|
+
throw new RangeError(`amountInWords takes currencies Intl can name (three-letter codes), got ${currency}`);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
let output = '';
|
|
45
|
+
let isNumberWritten = false;
|
|
46
|
+
for (const part of format.formatToParts(count)) {
|
|
47
|
+
if (part.type === 'integer' || part.type === 'group') {
|
|
48
|
+
if (!isNumberWritten) {
|
|
49
|
+
output += words;
|
|
50
|
+
isNumberWritten = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
output += part.value;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return output;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* An amount in words: the whole units spelled out with the currency's name, then the minor part.
|
|
61
|
+
*
|
|
62
|
+
* amountInWords(money('123.45', 'EUR'), english) // 'one hundred twenty-three euros and 45/100'
|
|
63
|
+
* amountInWords(money('123.45', 'EUR'), german) // 'einhundertdreiundzwanzig Euro und 45/100'
|
|
64
|
+
* amountInWords(money('21', 'EUR'), french) // 'vingt-et-un euros et 00/100'
|
|
65
|
+
* amountInWords(money('0.45', 'USD'), english, { minor: { one: 'cent', other: 'cents' } })
|
|
66
|
+
* // 'forty-five cents'
|
|
67
|
+
*
|
|
68
|
+
* The minor part is written at the amount's scale, so round first for a currency's usual decimals
|
|
69
|
+
* (an amount at scale 3 gives '/1000'). Zero minor units are written as '00/100' cheque-style, and
|
|
70
|
+
* left out when `minor` names are given. Negative amounts throw a RangeError: words are for amounts
|
|
71
|
+
* to pay, and so do whole units or spelled minor units past 2^63 - 1, where ICU's rules stop (see
|
|
72
|
+
* `spellOut`). German, Italian and Dutch words keep CLDR's soft hyphens (U+00AD), which show only
|
|
73
|
+
* where a line breaks. The grammar is CLDR's numbers plus Intl's currency name: languages that put
|
|
74
|
+
* a preposition after a round million ('un million de yens') don't get it. The currency's name, the
|
|
75
|
+
* word for 'and' and the digit grouping of numbers the rules write as digits come from the
|
|
76
|
+
* runtime's `Intl`. A code Intl can't name (not three letters, such as one registered with
|
|
77
|
+
* `defineCurrency('USDC', 6)`) throws a RangeError; a three-letter code Intl doesn't know is
|
|
78
|
+
* written as the code ('five XBT').
|
|
79
|
+
*/
|
|
80
|
+
export function amountInWords(money, rules, options) {
|
|
81
|
+
const minor = BigInt(money.minor);
|
|
82
|
+
if (minor < 0n) {
|
|
83
|
+
throw new RangeError(`amountInWords takes amounts of zero or more, got ${money.toString()}`);
|
|
84
|
+
}
|
|
85
|
+
const ruleSet = options?.ruleSet ?? cardinalFor(rules, options?.gender);
|
|
86
|
+
const unit = 10n ** BigInt(money.scale);
|
|
87
|
+
const whole = minor / unit;
|
|
88
|
+
const fraction = minor % unit;
|
|
89
|
+
const locale = rules.locale;
|
|
90
|
+
const named = options?.minor;
|
|
91
|
+
if (named !== undefined) {
|
|
92
|
+
const plural = cached(pluralRules, locale, () => new Intl.PluralRules(locale));
|
|
93
|
+
const minorWords = `${spellOut(fraction, rules, ruleSet)} ${named[plural.select(pluralOperand(fraction))] ?? named.other}`;
|
|
94
|
+
if (fraction > 0n && whole === 0n) {
|
|
95
|
+
return minorWords;
|
|
96
|
+
}
|
|
97
|
+
const majorWords = withCurrencyName(locale, money.currency, whole, spellOut(whole, rules, ruleSet));
|
|
98
|
+
return fraction === 0n ? majorWords : majorWords + conjunction(locale) + minorWords;
|
|
99
|
+
}
|
|
100
|
+
const majorWords = withCurrencyName(locale, money.currency, whole, spellOut(whole, rules, ruleSet));
|
|
101
|
+
if (money.scale === 0) {
|
|
102
|
+
return majorWords;
|
|
103
|
+
}
|
|
104
|
+
const digits = String(fraction).padStart(money.scale, '0');
|
|
105
|
+
return `${majorWords}${conjunction(locale)}${digits}/${unit}`;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"words.js","sourceRoot":"","sources":["../src/words.ts"],"names":[],"mappings":"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"}
|
package/dist/zod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEhE,QAAA,MAAM,SAAS;;;
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEhE,QAAA,MAAM,SAAS;;;iBAAyE,CAAC;AAEzF,qFAAqF;AACrF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElG;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACnD,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,UAAU,CAAC,CAAC,CAAC,CAsBf;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACvD,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAUpC"}
|
package/dist/zod.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { isMoney } from './money.js';
|
|
7
7
|
import { checkSchemaOptions, readMoneyJSON, } from './schema.js';
|
|
8
|
-
const jsonShape = z.object({ amount: z.string(), currency: z.string() });
|
|
8
|
+
const jsonShape = /* @__PURE__ */ z.object({ amount: z.string(), currency: z.string() });
|
|
9
9
|
/**
|
|
10
10
|
* Parses `{ amount, currency }` into Money, and encodes Money back to that JSON form. It is a Zod
|
|
11
11
|
* codec, so `schema.parse(json)` (or `z.decode`) gives Money and `z.encode(schema, money)` gives
|
package/dist/zod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAA8B,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,aAAa,GAGd,MAAM,aAAa,CAAC;AAIrB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../src/zod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAA8B,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,aAAa,GAGd,MAAM,aAAa,CAAC;AAIrB,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAKzF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,OAA+B;IAE/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,KAAK,CACZ,SAAS,EACT,CAAC,CAAC,MAAM,CAAc,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAChD;QACE,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,OAAO,MAA8B,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAE,KAAe,CAAC,MAAM,EAAE;KAC7C,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA+B;IAE/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,OAAO,IAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
|