@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/dist/wire.d.ts
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { type CurrencyInput, type Money } from './money.js';
|
|
2
|
+
import { type RoundingMode } from './rounding.js';
|
|
3
|
+
/** Options for the readers: the scale of the Money they return, and how to round to it. */
|
|
4
|
+
export interface WireReadOptions {
|
|
5
|
+
/** The result's scale (default: the currency's ISO exponent). */
|
|
6
|
+
readonly scale?: number;
|
|
7
|
+
/** How to round when the value has more decimals than that (default 'unnecessary': throw). */
|
|
8
|
+
readonly rounding?: RoundingMode;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* `google.type.Money` in its proto3 JSON form: `units` is an int64, which proto3 JSON writes as a
|
|
12
|
+
* string, and `nanos` the billionths, with the same sign as `units`.
|
|
13
|
+
*/
|
|
14
|
+
export interface GoogleMoney {
|
|
15
|
+
readonly currencyCode: string;
|
|
16
|
+
readonly units: string;
|
|
17
|
+
readonly nanos: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Money as `google.type.Money`: `toGoogleMoney(money('-1.75', 'EUR'))` is `{ currencyCode: 'EUR',
|
|
21
|
+
* units: '-1', nanos: -750000000 }`. Throws a RoundingError for an amount with more than 9
|
|
22
|
+
* decimals (unless `rounding` is given), and a RangeError when the whole units don't fit in an
|
|
23
|
+
* int64 or the code isn't three capital letters, as the format requires.
|
|
24
|
+
*/
|
|
25
|
+
export declare function toGoogleMoney(money: Money, rounding?: RoundingMode): GoogleMoney;
|
|
26
|
+
/** What `fromGoogleMoney` accepts: the proto3 JSON form, or units as a number or bigint. */
|
|
27
|
+
export interface GoogleMoneyInput {
|
|
28
|
+
readonly currencyCode: string;
|
|
29
|
+
readonly units?: string | number | bigint;
|
|
30
|
+
readonly nanos?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Reads `google.type.Money`, exactly: `fromGoogleMoney({ currencyCode: 'EUR', units: '12', nanos:
|
|
34
|
+
* 340000000 })` is 12.34 EUR. Missing `units` or `nanos` mean 0, as in proto3. The value is checked
|
|
35
|
+
* as the format defines it: `units` an int64, `nanos` from -999,999,999 to 999,999,999 with the
|
|
36
|
+
* same sign as a non-zero `units`. A malformed value throws a RangeError. The result has the
|
|
37
|
+
* currency's exponent; more decimals throw a RoundingError unless `options` says what to do.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fromGoogleMoney<C extends CurrencyInput>(value: GoogleMoneyInput & {
|
|
40
|
+
readonly currencyCode: C;
|
|
41
|
+
}, options?: WireReadOptions): Money<C>;
|
|
42
|
+
/**
|
|
43
|
+
* An ISO 20022 amount, as in `<InstdAmt Ccy="EUR">12.34</InstdAmt>`: `Ccy` is the attribute and
|
|
44
|
+
* `value` the element's text.
|
|
45
|
+
*/
|
|
46
|
+
export interface Iso20022Amount {
|
|
47
|
+
readonly Ccy: string;
|
|
48
|
+
readonly value: string;
|
|
49
|
+
}
|
|
50
|
+
/** Options for `toIso20022Amount`. */
|
|
51
|
+
export interface Iso20022WriteOptions {
|
|
52
|
+
/**
|
|
53
|
+
* The number of decimals to write (default: the currency's ISO exponent), at most 5. The payment
|
|
54
|
+
* networks' rules (CBPR+, HVPS+) require the currency's minor unit, so give another only for
|
|
55
|
+
* messages that allow it.
|
|
56
|
+
*/
|
|
57
|
+
readonly scale?: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Money as an ISO 20022 amount: `toIso20022Amount(money('12.34', 'EUR'))` is `{ Ccy: 'EUR', value:
|
|
61
|
+
* '12.34' }`. It is written with the currency's decimals, as the payment networks' rules (CBPR+,
|
|
62
|
+
* HVPS+) require for ActiveCurrencyAndAmount: 12.3400 EUR at scale 4 is written '12.34', and JPY
|
|
63
|
+
* '1000'. More decimals than that throw a RoundingError unless `rounding` is given. The schema
|
|
64
|
+
* types allow at most 5 decimals and 18 digits, and no negative amounts: the direction is carried
|
|
65
|
+
* elsewhere in the message (a credit/debit indicator). An amount that doesn't fit throws a
|
|
66
|
+
* RangeError.
|
|
67
|
+
*/
|
|
68
|
+
export declare function toIso20022Amount(money: Money, rounding?: RoundingMode, options?: Iso20022WriteOptions): Iso20022Amount;
|
|
69
|
+
/**
|
|
70
|
+
* Reads an ISO 20022 amount, exactly: `fromIso20022Amount({ Ccy: 'EUR', value: '12.34' })` is
|
|
71
|
+
* 12.34 EUR. The text is checked as the schema defines it: plain digits with an optional decimal
|
|
72
|
+
* point, at most 5 decimals and 18 digits (not counting leading or trailing zeros, as XSD
|
|
73
|
+
* counts them), no sign, exponent or spaces (XML whitespace around the
|
|
74
|
+
* element's text should be trimmed by the XML reader). Anything else throws a SyntaxError. The
|
|
75
|
+
* result has the currency's exponent; more decimals throw a RoundingError unless `options` says what
|
|
76
|
+
* to do (KWD's 3 decimals fit; 12.345 EUR needs `{ scale: 3 }` or a rounding mode).
|
|
77
|
+
*/
|
|
78
|
+
export declare function fromIso20022Amount<C extends CurrencyInput>(amount: {
|
|
79
|
+
readonly Ccy: C;
|
|
80
|
+
readonly value: string;
|
|
81
|
+
}, options?: WireReadOptions): Money<C>;
|
|
82
|
+
/** An integer count of the currency's ISO 4217 minor units: `{ value: 1234, currency: 'EUR' }`. */
|
|
83
|
+
export interface MinorUnitAmount {
|
|
84
|
+
readonly value: number;
|
|
85
|
+
readonly currency: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Money as `{ value, currency }` in ISO 4217 minor units: `toMinorUnits(money('12.34', 'EUR'))` is
|
|
89
|
+
* `{ value: 1234, currency: 'EUR' }`, and JPY 500 is `{ value: 500, currency: 'JPY' }`. The same
|
|
90
|
+
* shape as Adyen's `amount`, at the ISO exponent; use the processor's own view (`toAdyen`,
|
|
91
|
+
* `toCheckout`, ...) where its exponents differ from ISO. Throws a RoundingError for an amount with
|
|
92
|
+
* more decimals than the currency (unless `rounding` is given), and a RangeError beyond 2^53 - 1
|
|
93
|
+
* minor units, which JSON numbers can't hold exactly.
|
|
94
|
+
*/
|
|
95
|
+
export declare function toMinorUnits(money: Money, rounding?: RoundingMode): MinorUnitAmount;
|
|
96
|
+
/**
|
|
97
|
+
* Reads `{ value, currency }` in ISO 4217 minor units: `fromMinorUnits({ value: 1234, currency:
|
|
98
|
+
* 'EUR' })` is 12.34 EUR. `value` must be a safe integer (or a bigint); anything else throws a
|
|
99
|
+
* RangeError.
|
|
100
|
+
*/
|
|
101
|
+
export declare function fromMinorUnits<C extends CurrencyInput>(amount: {
|
|
102
|
+
readonly value: number | bigint;
|
|
103
|
+
readonly currency: C;
|
|
104
|
+
}): Money<C>;
|
|
105
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAOjE,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAsCD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,YAA4B,GAAG,WAAW,CAsB/F;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,aAAa,EACrD,KAAK,EAAE,gBAAgB,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;CAAE,EACtD,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAAC,CAAC,CAAC,CAkCV;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAoBD,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,YAA4B,EACtC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,cAAc,CA+BhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACxD,MAAM,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAAC,CAAC,CAAC,CAaV;AAMD,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,YAA4B,GACrC,eAAe,CAMjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,CAAC,CAAC,CAUX"}
|
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"}
|