@ducatjs/money 0.2.1 → 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 +47 -11
- package/README.md +346 -44
- 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 +75 -49
- 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 +118 -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/rounding.d.ts +15 -0
- package/dist/rounding.d.ts.map +1 -1
- package/dist/rounding.js +32 -0
- package/dist/rounding.js.map +1 -1
- 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 +86 -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 +138 -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/rounding.ts +34 -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/src/money.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { currencyExponent, type CurrencyCode } from './currency.js';
|
|
2
2
|
import {
|
|
3
3
|
formatScaled,
|
|
4
|
+
faithfulDecimal,
|
|
5
|
+
checkScale,
|
|
4
6
|
parseDecimal,
|
|
5
7
|
parsePlainDecimal,
|
|
6
8
|
POW10,
|
|
@@ -21,6 +23,13 @@ import {
|
|
|
21
23
|
// A module-local constant, not an import: the hot loops (sum, add) read it on every iteration, and
|
|
22
24
|
// V8 reads an imported binding through an extra indirection.
|
|
23
25
|
const MAX_SAFE_MINOR = Number.MAX_SAFE_INTEGER;
|
|
26
|
+
// MAX_DECIMAL_SCALE from decimal.ts, kept local: the scale checks below run on every toScale and on
|
|
27
|
+
// every fromMinor with a scale, where an imported constant (or a call into decimal.ts) costs a
|
|
28
|
+
// lookup. test/scale-validation.test.ts checks the two stay equal.
|
|
29
|
+
const MAX_SCALE = 1000;
|
|
30
|
+
|
|
31
|
+
/** A valid scale: an integer from 0 to MAX_SCALE (`>>> 0` changes negatives, fractions and NaN). */
|
|
32
|
+
const isValidScale = (scale: number): boolean => scale >>> 0 === scale && scale <= MAX_SCALE;
|
|
24
33
|
|
|
25
34
|
/** Currency codes accepted by constructors: known codes autocomplete, any string is allowed. */
|
|
26
35
|
export type CurrencyInput = CurrencyCode | (string & {});
|
|
@@ -135,124 +144,6 @@ class Money<C extends string = string> {
|
|
|
135
144
|
'Money cannot be converted to a number; use add(), compare(), toDecimal() etc.',
|
|
136
145
|
);
|
|
137
146
|
}
|
|
138
|
-
|
|
139
|
-
// Methods. Each one is a thin wrapper over the free function of the same name (also exported), so
|
|
140
|
-
// `a.add(b)` and `add(a, b)` are the same code. Operands are Money only: a bare number is never
|
|
141
|
-
// guessed to mean major or minor units.
|
|
142
|
-
|
|
143
|
-
// arithmetic
|
|
144
|
-
/** this + other (same currency; any scale) */
|
|
145
|
-
add(other: Money<C>): Money<C> {
|
|
146
|
-
return add(this, other);
|
|
147
|
-
}
|
|
148
|
-
/** this - other */
|
|
149
|
-
subtract(other: Money<C>): Money<C> {
|
|
150
|
-
return subtract(this, other);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* this * factor, rounded to this scale. `factor` is exact: integer, decimal string ('1.075'),
|
|
154
|
-
* bigint or ratio().
|
|
155
|
-
*/
|
|
156
|
-
multiply(factor: Factor, rounding?: RoundingInput): Money<C> {
|
|
157
|
-
return multiply(this, factor, rounding);
|
|
158
|
-
}
|
|
159
|
-
/** this / divisor, rounded to this scale (or to a policy's scale and increment) */
|
|
160
|
-
divide(divisor: Factor, rounding?: RoundingInput): Money<C> {
|
|
161
|
-
return divide(this, divisor, rounding);
|
|
162
|
-
}
|
|
163
|
-
negate(): Money<C> {
|
|
164
|
-
return negate(this);
|
|
165
|
-
}
|
|
166
|
-
abs(): Money<C> {
|
|
167
|
-
return abs(this);
|
|
168
|
-
}
|
|
169
|
-
/** Rounds to the currency's exponent (or `scale`), or to a rounding policy. */
|
|
170
|
-
round(rounding: RoundingMode, scale?: number): Money<C>;
|
|
171
|
-
round(policy: RoundingPolicy): Money<C>;
|
|
172
|
-
round(rounding: RoundingInput, scale?: number): Money<C> {
|
|
173
|
-
// the free function handles both; the cast only picks its implementation signature
|
|
174
|
-
return round(this, rounding as RoundingMode, scale);
|
|
175
|
-
}
|
|
176
|
-
/** Changes the scale; decreasing it rounds (default 'halfExpand'). */
|
|
177
|
-
toScale(scale: number, rounding?: RoundingMode): Money<C> {
|
|
178
|
-
return toScale(this, scale, rounding);
|
|
179
|
-
}
|
|
180
|
-
// comparison
|
|
181
|
-
/** -1, 0 or 1; throws on currency mismatch */
|
|
182
|
-
compare(other: Money<C>): -1 | 0 | 1 {
|
|
183
|
-
return compare(this, other);
|
|
184
|
-
}
|
|
185
|
-
/** same currency and value; a different currency is simply not equal */
|
|
186
|
-
equals(other: Money): boolean {
|
|
187
|
-
return equals(this, other);
|
|
188
|
-
}
|
|
189
|
-
lessThan(other: Money<C>): boolean {
|
|
190
|
-
return compare(this, other) < 0;
|
|
191
|
-
}
|
|
192
|
-
lessThanOrEqual(other: Money<C>): boolean {
|
|
193
|
-
return compare(this, other) <= 0;
|
|
194
|
-
}
|
|
195
|
-
greaterThan(other: Money<C>): boolean {
|
|
196
|
-
return compare(this, other) > 0;
|
|
197
|
-
}
|
|
198
|
-
greaterThanOrEqual(other: Money<C>): boolean {
|
|
199
|
-
return compare(this, other) >= 0;
|
|
200
|
-
}
|
|
201
|
-
isZero(): boolean {
|
|
202
|
-
return this.minor == 0;
|
|
203
|
-
}
|
|
204
|
-
isPositive(): boolean {
|
|
205
|
-
return this.minor > 0;
|
|
206
|
-
}
|
|
207
|
-
isNegative(): boolean {
|
|
208
|
-
return this.minor < 0;
|
|
209
|
-
}
|
|
210
|
-
sign(): -1 | 0 | 1 {
|
|
211
|
-
return sign(this);
|
|
212
|
-
}
|
|
213
|
-
min(...others: Money<C>[]): Money<C> {
|
|
214
|
-
return min(this, ...others);
|
|
215
|
-
}
|
|
216
|
-
max(...others: Money<C>[]): Money<C> {
|
|
217
|
-
return max(this, ...others);
|
|
218
|
-
}
|
|
219
|
-
clamp(lo: Money<C>, hi: Money<C>): Money<C> {
|
|
220
|
-
return clamp(this, lo, hi);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/** Same currency, value and scale: 1.0 EUR is not identical to 1.00 EUR. */
|
|
224
|
-
identical(other: Money): boolean {
|
|
225
|
-
return identical(this, other);
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Applies `operation` to this amount and returns its result, so a rounding policy or a
|
|
229
|
-
* conversion reads as one step in a chain: `price.multiply('1.075').with(toCash)`.
|
|
230
|
-
*/
|
|
231
|
-
with<R>(operation: (money: Money<C>) => R): R {
|
|
232
|
-
return operation(this);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// output
|
|
236
|
-
/** The whole major units, truncated toward zero: 12 for 12.34 EUR, -12 for -12.34 EUR. */
|
|
237
|
-
majorPart(): number | bigint {
|
|
238
|
-
return majorPart(this);
|
|
239
|
-
}
|
|
240
|
-
/** The rest in 10^-scale units, with the amount's sign: 34 for 12.34 EUR, -34 for -12.34. */
|
|
241
|
-
minorPart(): number | bigint {
|
|
242
|
-
return minorPart(this);
|
|
243
|
-
}
|
|
244
|
-
/** Exact decimal string in major units: "12.34" */
|
|
245
|
-
toDecimal(): string {
|
|
246
|
-
return formatScaled(this.minor, this.scale);
|
|
247
|
-
}
|
|
248
|
-
/** Minor units as a bigint (BIGINT columns) */
|
|
249
|
-
toMinor(): bigint {
|
|
250
|
-
return toBigInt(this.minor);
|
|
251
|
-
}
|
|
252
|
-
/** Minor units as a number; throws beyond 2^53 */
|
|
253
|
-
toMinorNumber(): number {
|
|
254
|
-
return toMinorNumber(this);
|
|
255
|
-
}
|
|
256
147
|
}
|
|
257
148
|
export type { Money };
|
|
258
149
|
|
|
@@ -292,14 +183,16 @@ export function assertCurrency<C extends CurrencyInput>(
|
|
|
292
183
|
* Which module installed each added method, so a second copy of the same module can replace its
|
|
293
184
|
* own.
|
|
294
185
|
*/
|
|
295
|
-
const methodOwners = new Map<string, string>();
|
|
186
|
+
const methodOwners = /* @__PURE__ */ new Map<string, string>();
|
|
296
187
|
|
|
297
188
|
/**
|
|
298
189
|
* Names `extendMoney` refuses: the ones every object inherits, whose meaning other code relies on.
|
|
299
190
|
* `toLocaleString` is allowed, since a formatting module may want to provide it.
|
|
300
191
|
*/
|
|
301
|
-
const RESERVED_NAMES = new Set(
|
|
302
|
-
Object.getOwnPropertyNames(Object.prototype).filter(
|
|
192
|
+
const RESERVED_NAMES = /* @__PURE__ */ new Set(
|
|
193
|
+
/* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype).filter(
|
|
194
|
+
(name) => name !== 'toLocaleString',
|
|
195
|
+
),
|
|
303
196
|
);
|
|
304
197
|
|
|
305
198
|
/** Options for `extendMoney`. */
|
|
@@ -355,6 +248,33 @@ export function extendMoney(
|
|
|
355
248
|
}
|
|
356
249
|
}
|
|
357
250
|
|
|
251
|
+
// the names installCoreMethods has installed, so loading it again replaces its own methods only
|
|
252
|
+
const coreMethodNames = /* @__PURE__ */ new Set<string>();
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* @internal Installs the core methods (src/plugins/core.ts) on Money.prototype, non-enumerable like
|
|
256
|
+
* class methods. Kept apart from `extendMoney`, whose name checks the methods bundle doesn't need.
|
|
257
|
+
*/
|
|
258
|
+
export function installCoreMethods(methods: Record<string, unknown>): void {
|
|
259
|
+
// A program that imports only /fn can extendMoney a core name; the root entry must not then
|
|
260
|
+
// replace it silently. Reinstalling the core methods themselves (core.js loaded again, as hot
|
|
261
|
+
// reload does) is fine. Every name is checked before any is installed, so a throw changes nothing.
|
|
262
|
+
for (const name in methods) {
|
|
263
|
+
if (Object.hasOwn(Money.prototype, name) && !coreMethodNames.has(name)) {
|
|
264
|
+
throw new TypeError(`Money#${name} was defined before the core methods were installed`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
for (const name in methods) {
|
|
268
|
+
coreMethodNames.add(name);
|
|
269
|
+
Object.defineProperty(Money.prototype, name, {
|
|
270
|
+
value: methods[name],
|
|
271
|
+
writable: true,
|
|
272
|
+
configurable: true,
|
|
273
|
+
enumerable: false,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
358
278
|
/** @internal construct from a value that may be an unsafe bigint */
|
|
359
279
|
export function make<C extends string>(
|
|
360
280
|
currency: C,
|
|
@@ -366,6 +286,9 @@ export function make<C extends string>(
|
|
|
366
286
|
|
|
367
287
|
const toBigInt = (minor: number | bigint) => (typeof minor === 'bigint' ? minor : BigInt(minor));
|
|
368
288
|
|
|
289
|
+
// scaleUp and scaleDown have a copy in src/scale.ts, for Fixed, which must not load this module;
|
|
290
|
+
// test/fixed.test.ts checks that the copies agree.
|
|
291
|
+
|
|
369
292
|
/** v * 10^e exactly (e >= 0) */
|
|
370
293
|
export function scaleUp(minor: number | bigint, exponent: number): number | bigint {
|
|
371
294
|
if (exponent === 0) {
|
|
@@ -415,15 +338,20 @@ export interface MoneyOptions {
|
|
|
415
338
|
* money(12.34, 'EUR') // non-integer numbers are read at their shortest decimal form ("12.34")
|
|
416
339
|
* money(10n ** 30n, 'USD')
|
|
417
340
|
*
|
|
341
|
+
* A string is an optional sign, ASCII digits, optionally a point with digits after it, and
|
|
342
|
+
* optionally an exponent (`'1.5e3'`); `'.5'`, `'5.'`, grouping and surrounding whitespace throw a
|
|
343
|
+
* SyntaxError (use `parse()` for text as people write it).
|
|
344
|
+
*
|
|
418
345
|
* Throws if the amount has more decimals than the currency (or `scale`) unless `rounding` is given,
|
|
419
|
-
* so `money(0.1 + 0.2, 'EUR')` throws rather than silently becoming 0.30.
|
|
346
|
+
* so `money(0.1 + 0.2, 'EUR')` throws rather than silently becoming 0.30. Without `rounding`, a
|
|
347
|
+
* number whose shortest form has more than 15 significant digits throws a RangeError too.
|
|
420
348
|
*/
|
|
421
349
|
export function money<C extends CurrencyInput>(
|
|
422
350
|
amount: string | number | bigint,
|
|
423
351
|
currency: C,
|
|
424
352
|
options?: MoneyOptions,
|
|
425
353
|
): Money<C> {
|
|
426
|
-
const scale = options?.scale
|
|
354
|
+
const scale = resolveScale(currency, options?.scale);
|
|
427
355
|
if (typeof amount === 'string') {
|
|
428
356
|
const parsed = parsePlainDecimal(amount) ?? parseDecimal(amount);
|
|
429
357
|
return fromScaled(
|
|
@@ -442,15 +370,22 @@ export function money<C extends CurrencyInput>(
|
|
|
442
370
|
if (!Number.isFinite(amount)) {
|
|
443
371
|
throw new RangeError(`Invalid amount ${amount}`);
|
|
444
372
|
}
|
|
373
|
+
const rounding = options?.rounding;
|
|
445
374
|
const parsed = parseDecimal(String(amount));
|
|
446
|
-
|
|
375
|
+
const result = fromScaled(
|
|
447
376
|
currency,
|
|
448
377
|
parsed.digits,
|
|
449
378
|
parsed.scale,
|
|
450
379
|
scale,
|
|
451
|
-
|
|
380
|
+
rounding ?? 'unnecessary',
|
|
452
381
|
amount,
|
|
453
382
|
);
|
|
383
|
+
// Only an explicit rounding mode says a float's extra digits may be dropped. Checked after
|
|
384
|
+
// fromScaled, so 0.1 + 0.2 at EUR's scale is still a RoundingError for its decimals.
|
|
385
|
+
if (rounding === undefined) {
|
|
386
|
+
faithfulDecimal(amount, 'pass a string, or { rounding }');
|
|
387
|
+
}
|
|
388
|
+
return result;
|
|
454
389
|
}
|
|
455
390
|
if (typeof amount === 'bigint') {
|
|
456
391
|
return make(currency, scaleUp(normalizeMinor(amount), scale), scale);
|
|
@@ -497,10 +432,15 @@ export function fromMinor<C extends CurrencyInput>(
|
|
|
497
432
|
currency: C,
|
|
498
433
|
scale?: number,
|
|
499
434
|
): Money<C> {
|
|
500
|
-
const resolvedScale =
|
|
435
|
+
const resolvedScale = resolveScale(currency, scale);
|
|
501
436
|
if (typeof minor === 'number') {
|
|
502
437
|
if (!Number.isSafeInteger(minor)) {
|
|
503
|
-
|
|
438
|
+
// A bigint only helps an integer too large to be safe; a fraction needs a different fix.
|
|
439
|
+
throw new RangeError(
|
|
440
|
+
Number.isInteger(minor)
|
|
441
|
+
? `Minor units must be a safe integer, got ${minor}; pass a bigint`
|
|
442
|
+
: `Minor units must be an integer, got ${minor}`,
|
|
443
|
+
);
|
|
504
444
|
}
|
|
505
445
|
return new Money(currency, minor + 0, resolvedScale);
|
|
506
446
|
}
|
|
@@ -512,7 +452,19 @@ export function fromMinor<C extends CurrencyInput>(
|
|
|
512
452
|
|
|
513
453
|
/** Zero in a currency, at its exponent (or `scale`). */
|
|
514
454
|
export function zero<C extends CurrencyInput>(currency: C, scale?: number): Money<C> {
|
|
515
|
-
return new Money(currency, 0,
|
|
455
|
+
return new Money(currency, 0, resolveScale(currency, scale));
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* @internal The scale to build a value at: `scale`, or the currency's exponent. The currency is
|
|
460
|
+
* looked up either way, because an explicit scale doesn't make an unknown code valid.
|
|
461
|
+
*/
|
|
462
|
+
export function resolveScale(currency: string, scale: number | undefined): number {
|
|
463
|
+
const exponent = currencyExponent(currency);
|
|
464
|
+
if (scale === undefined || isValidScale(scale)) {
|
|
465
|
+
return scale ?? exponent;
|
|
466
|
+
}
|
|
467
|
+
return checkScale(scale); // throws the shared message
|
|
516
468
|
}
|
|
517
469
|
|
|
518
470
|
// ---------------------------------------------------------------------------------------------
|
|
@@ -520,6 +472,10 @@ export function zero<C extends CurrencyInput>(currency: C, scale?: number): Mone
|
|
|
520
472
|
// ---------------------------------------------------------------------------------------------
|
|
521
473
|
|
|
522
474
|
function mismatch(money: Money, other: Money): never {
|
|
475
|
+
// only reached on the error path, so this check costs correct calls nothing
|
|
476
|
+
if (!((other as unknown) instanceof Money)) {
|
|
477
|
+
throw new TypeError(`Expected Money, got ${typeof other}`);
|
|
478
|
+
}
|
|
523
479
|
throw new CurrencyMismatchError(money.currency, other.currency);
|
|
524
480
|
}
|
|
525
481
|
|
|
@@ -568,10 +524,10 @@ export function subtract<C extends string>(money: Money<C>, other: Money<NoInfer
|
|
|
568
524
|
|
|
569
525
|
type IsUnion<T, U = T> = T extends unknown ? ([U] extends [T] ? false : true) : never;
|
|
570
526
|
/**
|
|
571
|
-
* Rejects arrays whose element type mixes several literal currencies, e.g. (Money<'EUR'>
|
|
572
|
-
* Money<'USD'>)[].
|
|
527
|
+
* @internal Rejects arrays whose element type mixes several literal currencies, e.g. (Money<'EUR'>
|
|
528
|
+
* | Money<'USD'>)[].
|
|
573
529
|
*/
|
|
574
|
-
type SingleCurrency<C extends string> =
|
|
530
|
+
export type SingleCurrency<C extends string> =
|
|
575
531
|
true extends IsUnion<C> ? { readonly 'mixed currencies are not allowed': C } : unknown;
|
|
576
532
|
|
|
577
533
|
/** Sum of a list (same currency; any scale). An empty list needs `currency` and returns zero. */
|
|
@@ -721,6 +677,8 @@ export function divide<C extends string>(
|
|
|
721
677
|
// dividend + divisor exceeds the safe range).
|
|
722
678
|
// A rounding policy (a function, not a mode string) must not take this path: it rounds to its own
|
|
723
679
|
// scale and increment.
|
|
680
|
+
// divideSafeByRatio in rounding.ts is the same steps as a function, for Fixed; a call here costs
|
|
681
|
+
// about 4% on the divide benchmarks. test/divide.test.ts checks that the two copies agree.
|
|
724
682
|
const minor = money.minor;
|
|
725
683
|
const numerator = divisorRatio.n;
|
|
726
684
|
const denominator = divisorRatio.d;
|
|
@@ -751,7 +709,8 @@ export function divide<C extends string>(
|
|
|
751
709
|
|
|
752
710
|
/**
|
|
753
711
|
* Rounds to the currency's exponent (or `scale`): `round(money('1.005', 'EUR', {scale: 3}),
|
|
754
|
-
* 'halfEven')`.
|
|
712
|
+
* 'halfEven')`. A scale is never negative: round to tens or hundreds with an increment
|
|
713
|
+
* (`roundingPolicy({ scale: 0, increment: 100 })`, or `roundToIncrement` from `/cash`).
|
|
755
714
|
*/
|
|
756
715
|
export function round<C extends string>(
|
|
757
716
|
money: Money<C>,
|
|
@@ -773,18 +732,21 @@ export function round<C extends string>(
|
|
|
773
732
|
|
|
774
733
|
/**
|
|
775
734
|
* Changes the scale; increasing it is always exact, decreasing it rounds (default 'halfExpand').
|
|
735
|
+
* Scales are integers from 0 to 1000; for tens or hundreds, use an increment (a rounding policy, or
|
|
736
|
+
* `roundToIncrement` from `/cash`).
|
|
776
737
|
*/
|
|
777
738
|
export function toScale<C extends string>(
|
|
778
739
|
money: Money<C>,
|
|
779
740
|
scale: number,
|
|
780
741
|
rounding: RoundingMode = DEFAULT_ROUNDING,
|
|
781
742
|
): Money<C> {
|
|
782
|
-
|
|
783
|
-
throw new RangeError(`Invalid scale ${scale}`);
|
|
784
|
-
}
|
|
743
|
+
// a value's own scale is always valid, so this needs no check
|
|
785
744
|
if (scale === money.scale) {
|
|
786
745
|
return money;
|
|
787
746
|
}
|
|
747
|
+
if (!isValidScale(scale)) {
|
|
748
|
+
checkScale(scale); // throws the shared message
|
|
749
|
+
}
|
|
788
750
|
if (scale > money.scale) {
|
|
789
751
|
return make(money.currency, scaleUp(money.minor, scale - money.scale), scale);
|
|
790
752
|
}
|
|
@@ -945,17 +907,53 @@ export function minorPart(money: Money): number | bigint {
|
|
|
945
907
|
return normalizeMinor(toBigInt(minor) % pow10n(money.scale));
|
|
946
908
|
}
|
|
947
909
|
|
|
948
|
-
/**
|
|
910
|
+
/**
|
|
911
|
+
* Units of the currency's minor unit (cents for EUR) as a bigint, for BIGINT columns and APIs that
|
|
912
|
+
* take ISO 4217 minor units. Exact at any scale: 1.5 EUR at scale 1 is 150n, and 12.340 EUR at
|
|
913
|
+
* scale 3 is 1234n. Throws RoundingError when the amount has non-zero digits below the minor unit
|
|
914
|
+
* (12.345 EUR); round() it first. For units of the value's own scale, use `toScaledUnits`.
|
|
915
|
+
*/
|
|
949
916
|
export function toMinor(money: Money): bigint {
|
|
950
|
-
|
|
917
|
+
const shift = currencyExponent(money.currency) - money.scale;
|
|
918
|
+
const scaled = toBigInt(money.minor);
|
|
919
|
+
|
|
920
|
+
// At or below the exponent, scaling up is exact.
|
|
921
|
+
if (shift >= 0) {
|
|
922
|
+
return scaled * pow10n(shift);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
// Above it, the conversion is exact only when the extra digits are all zero.
|
|
926
|
+
const divisor = pow10n(-shift);
|
|
927
|
+
if (scaled % divisor !== 0n) {
|
|
928
|
+
throw new RoundingError(`${money} has digits below the minor unit; round() it first`);
|
|
929
|
+
}
|
|
930
|
+
return scaled / divisor;
|
|
951
931
|
}
|
|
952
932
|
|
|
953
|
-
/**
|
|
933
|
+
/**
|
|
934
|
+
* Like `toMinor`, as a number. Throws RoundingError for digits below the minor unit, and a
|
|
935
|
+
* RangeError when the result isn't a safe integer.
|
|
936
|
+
*/
|
|
954
937
|
export function toMinorNumber(money: Money): number {
|
|
955
|
-
|
|
938
|
+
// The common case, a number at the currency's exponent, needs no conversion.
|
|
939
|
+
if (typeof money.minor === 'number' && money.scale === currencyExponent(money.currency)) {
|
|
940
|
+
return money.minor;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
const minor = normalizeMinor(toMinor(money));
|
|
944
|
+
if (typeof minor === 'bigint') {
|
|
956
945
|
throw new RangeError(`${money} does not fit in a safe integer; use toMinor()`);
|
|
957
946
|
}
|
|
958
|
-
return
|
|
947
|
+
return minor;
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
/**
|
|
951
|
+
* The amount in units of 10^-scale, as a bigint: 12340n for 12.340 EUR at scale 3. Store it
|
|
952
|
+
* together with the scale (as the scale-column helpers do); for the currency's minor units, use
|
|
953
|
+
* `toMinor`.
|
|
954
|
+
*/
|
|
955
|
+
export function toScaledUnits(money: Money): bigint {
|
|
956
|
+
return toBigInt(money.minor);
|
|
959
957
|
}
|
|
960
958
|
|
|
961
959
|
/** Parses `{ amount: "12.34", currency: "EUR" }` (as produced by JSON.stringify(money)). */
|
package/src/parse.ts
CHANGED
|
@@ -7,7 +7,7 @@ interface Symbols {
|
|
|
7
7
|
/** The locale's group sizes, looked up the first time a group separator is seen. */
|
|
8
8
|
groupSizes?: readonly GroupSizes[];
|
|
9
9
|
}
|
|
10
|
-
const symCache = new Map<string, Symbols>();
|
|
10
|
+
const symCache = /* @__PURE__ */ new Map<string, Symbols>();
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* The group and decimal separators `format()` uses for this locale and currency. They come from a
|
|
@@ -215,12 +215,12 @@ export interface ParseMoneyOptions<C extends string = string> extends MoneyOptio
|
|
|
215
215
|
readonly lenient?: boolean;
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
const symbolTables = new Map<string, Map<string, Set<string>>>();
|
|
219
|
-
const groupSizeCache = new Map<string, GroupSizes[]>();
|
|
218
|
+
const symbolTables = /* @__PURE__ */ new Map<string, Map<string, Set<string>>>();
|
|
219
|
+
const groupSizeCache = /* @__PURE__ */ new Map<string, GroupSizes[]>();
|
|
220
220
|
|
|
221
221
|
/** The size of the last group, and of the groups before it: [3, 3] for 1,234,567, [3, 2] for 12,34,567. */
|
|
222
222
|
type GroupSizes = readonly [number, number];
|
|
223
|
-
const supportedLocales = new Map<string, boolean>();
|
|
223
|
+
const supportedLocales = /* @__PURE__ */ new Map<string, boolean>();
|
|
224
224
|
|
|
225
225
|
/** Strips what surrounds a symbol in formatted output: spaces, no-break spaces and bidi marks. */
|
|
226
226
|
const normalizeSymbol = (text: string) => text.replace(/[\s\p{Z}\p{Cf}]/gu, '');
|
|
@@ -321,15 +321,15 @@ function meaningsOf(
|
|
|
321
321
|
piece: string,
|
|
322
322
|
locale: string,
|
|
323
323
|
candidates: ReadonlySet<string> | undefined,
|
|
324
|
-
|
|
324
|
+
customSymbols: Readonly<Record<string, string>> | undefined,
|
|
325
325
|
): string[] {
|
|
326
326
|
const isCandidate = (code: string) =>
|
|
327
327
|
candidates === undefined ? defaultCandidates().includes(code) : candidates.has(code);
|
|
328
328
|
if (/^[A-Z]{3}$/.test(piece) && isCandidate(piece)) {
|
|
329
329
|
return [piece];
|
|
330
330
|
}
|
|
331
|
-
if (
|
|
332
|
-
return [
|
|
331
|
+
if (customSymbols !== undefined && Object.hasOwn(customSymbols, piece)) {
|
|
332
|
+
return [customSymbols[piece]!];
|
|
333
333
|
}
|
|
334
334
|
// The locale's own symbols first, then English ones (US$, CA$, A$...), which many texts use.
|
|
335
335
|
for (const source of [locale, ...ENGLISH_SYMBOL_LOCALES]) {
|
package/src/plugins/adyen.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/** `@ducatjs/money/adyen`: Adyen's minor-unit view. Importing this module adds `toAdyen`. */
|
|
2
|
+
// every ISO 4217 code, as for every entry except /fn
|
|
3
|
+
import './iso.js';
|
|
2
4
|
import { toAdyen } from '../adyen.js';
|
|
3
5
|
import type { Money } from '../index.js';
|
|
4
6
|
import { extendMoney } from '../money.js';
|
package/src/plugins/all.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/** `@ducatjs/money/all`: core plus every opt-in module, with all methods installed. */
|
|
2
|
+
// the core methods directly, not only through the root entry, so no bundler can drop them
|
|
3
|
+
import './core.js';
|
|
2
4
|
export * from '../index.js';
|
|
3
5
|
// The core Money methods as plain functions too, as in /fn: /all is everything.
|
|
4
6
|
export {
|
|
@@ -29,10 +31,13 @@ export {
|
|
|
29
31
|
toDecimal,
|
|
30
32
|
toMinor,
|
|
31
33
|
toMinorNumber,
|
|
34
|
+
toScaledUnits,
|
|
32
35
|
} from '../money.js';
|
|
33
36
|
export { roundingPolicy, isoPolicy, assertScale, type RoundingPolicyOptions } from '../policy.js';
|
|
34
37
|
export * from './allocate.js';
|
|
35
38
|
export * from './tax.js';
|
|
39
|
+
export * from '../pricing.js';
|
|
40
|
+
export * from './math.js';
|
|
36
41
|
export * from './convert.js';
|
|
37
42
|
export * from './exact.js';
|
|
38
43
|
export * from '../ecb.js';
|
|
@@ -45,6 +50,19 @@ export * from '../stripe-fx.js';
|
|
|
45
50
|
export * from '../adyen-fx.js';
|
|
46
51
|
export * from './cash.js';
|
|
47
52
|
export * from '../historic.js';
|
|
53
|
+
export * from '../crypto.js';
|
|
54
|
+
export * from '../currencies.js';
|
|
55
|
+
export * from '../wire.js';
|
|
56
|
+
export * from '../words.js';
|
|
57
|
+
export * from '../words/de.js';
|
|
58
|
+
export * from '../words/en.js';
|
|
59
|
+
export * from '../words/es.js';
|
|
60
|
+
export * from '../words/fr.js';
|
|
61
|
+
export * from '../words/it.js';
|
|
62
|
+
export * from '../words/nl.js';
|
|
63
|
+
export * from '../words/pt.js';
|
|
64
|
+
export * from '../territories.js';
|
|
65
|
+
export * from '../finance.js';
|
|
48
66
|
export * from './format.js';
|
|
49
67
|
export * from '../parse.js';
|
|
50
68
|
export * from './stripe.js';
|
|
@@ -54,4 +72,4 @@ export * from './paypal.js';
|
|
|
54
72
|
export * from './braintree.js';
|
|
55
73
|
export * from './klarna.js';
|
|
56
74
|
export * from './prisma.js';
|
|
57
|
-
export * from './fixed.js';
|
|
75
|
+
export * from './fixed-money.js';
|
package/src/plugins/allocate.ts
CHANGED
package/src/plugins/braintree.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@ducatjs/money/braintree`: Braintree's amount view. Importing this module adds `toBraintree`.
|
|
3
3
|
*/
|
|
4
|
+
// every ISO 4217 code, as for every entry except /fn
|
|
5
|
+
import './iso.js';
|
|
4
6
|
import { toBraintree, type BraintreeAmountOptions } from '../braintree.js';
|
|
5
7
|
import type { Money } from '../index.js';
|
|
6
8
|
import { extendMoney } from '../money.js';
|
package/src/plugins/cash.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* `@ducatjs/money/cash`: cash rounding (cash tenders only; card payments are never rounded) and
|
|
3
3
|
* rounding to an increment. Importing this module adds the methods below.
|
|
4
4
|
*/
|
|
5
|
+
// every ISO 4217 code, as for every entry except /fn
|
|
6
|
+
import './iso.js';
|
|
5
7
|
import { cashRound, roundToIncrement, type CashRoundOptions } from '../cash.js';
|
|
6
8
|
import type { Money } from '../index.js';
|
|
7
9
|
import { extendMoney } from '../money.js';
|
package/src/plugins/checkout.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* `@ducatjs/money/checkout`: Checkout.com's amount view. Importing this module adds `toCheckout`
|
|
3
3
|
* and `toCheckoutAmount`.
|
|
4
4
|
*/
|
|
5
|
+
// every ISO 4217 code, as for every entry except /fn
|
|
6
|
+
import './iso.js';
|
|
5
7
|
import { toCheckout, toCheckoutAmount, type CheckoutAmountOptions } from '../checkout.js';
|
|
6
8
|
import type { Money } from '../index.js';
|
|
7
9
|
import { extendMoney } from '../money.js';
|
package/src/plugins/convert.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* `@ducatjs/money/convert`: currency conversion at exact rates. Importing this module adds
|
|
3
3
|
* `Money#convert`.
|
|
4
4
|
*/
|
|
5
|
+
// every ISO 4217 code, as for every entry except /fn
|
|
6
|
+
import './iso.js';
|
|
5
7
|
import { convert } from '../convert.js';
|
|
6
8
|
import type { Factor } from '../decimal.js';
|
|
7
9
|
import type { Money } from '../index.js';
|