@ducatjs/money 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +17 -8
- package/README.md +346 -43
- package/data/cldr-territories.json +2791 -0
- package/data/crypto-units.json +68 -0
- package/data/rbnf/de.txt +243 -0
- package/data/rbnf/en.txt +166 -0
- package/data/rbnf/es.txt +261 -0
- package/data/rbnf/fr.txt +159 -0
- package/data/rbnf/it.txt +502 -0
- package/data/rbnf/nl.txt +103 -0
- package/data/rbnf/pt.txt +171 -0
- package/dist/adyen-fx.js +1 -1
- package/dist/adyen-fx.js.map +1 -1
- package/dist/allocate.d.ts.map +1 -1
- package/dist/allocate.js +2 -3
- package/dist/allocate.js.map +1 -1
- package/dist/cash.d.ts +15 -0
- package/dist/cash.d.ts.map +1 -1
- package/dist/cash.js +17 -0
- package/dist/cash.js.map +1 -1
- package/dist/convert.d.ts.map +1 -1
- package/dist/convert.js +2 -3
- package/dist/convert.js.map +1 -1
- package/dist/crypto.d.ts +54 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +89 -0
- package/dist/crypto.js.map +1 -0
- package/dist/currencies.d.ts +43 -0
- package/dist/currencies.d.ts.map +1 -0
- package/dist/currencies.js +91 -0
- package/dist/currencies.js.map +1 -0
- package/dist/currency.d.ts +9 -1
- package/dist/currency.d.ts.map +1 -1
- package/dist/currency.js +41 -14
- package/dist/currency.js.map +1 -1
- package/dist/decimal.d.ts +25 -3
- package/dist/decimal.d.ts.map +1 -1
- package/dist/decimal.js +78 -8
- package/dist/decimal.js.map +1 -1
- package/dist/ecb.d.ts +23 -8
- package/dist/ecb.d.ts.map +1 -1
- package/dist/ecb.js +46 -15
- package/dist/ecb.js.map +1 -1
- package/dist/entries/adyen-fx.d.ts +3 -0
- package/dist/entries/adyen-fx.d.ts.map +1 -0
- package/dist/entries/adyen-fx.js +5 -0
- package/dist/entries/adyen-fx.js.map +1 -0
- package/dist/entries/boc.d.ts +3 -0
- package/dist/entries/boc.d.ts.map +1 -0
- package/dist/entries/boc.js +5 -0
- package/dist/entries/boc.js.map +1 -0
- package/dist/entries/boe.d.ts +3 -0
- package/dist/entries/boe.d.ts.map +1 -0
- package/dist/entries/boe.js +5 -0
- package/dist/entries/boe.js.map +1 -0
- package/dist/entries/crypto.d.ts +3 -0
- package/dist/entries/crypto.d.ts.map +1 -0
- package/dist/entries/crypto.js +5 -0
- package/dist/entries/crypto.js.map +1 -0
- package/dist/entries/currencies.d.ts +3 -0
- package/dist/entries/currencies.d.ts.map +1 -0
- package/dist/entries/currencies.js +5 -0
- package/dist/entries/currencies.js.map +1 -0
- package/dist/entries/drizzle-mysql.d.ts +3 -0
- package/dist/entries/drizzle-mysql.d.ts.map +1 -0
- package/dist/entries/drizzle-mysql.js +5 -0
- package/dist/entries/drizzle-mysql.js.map +1 -0
- package/dist/entries/drizzle-pg.d.ts +3 -0
- package/dist/entries/drizzle-pg.d.ts.map +1 -0
- package/dist/entries/drizzle-pg.js +5 -0
- package/dist/entries/drizzle-pg.js.map +1 -0
- package/dist/entries/drizzle-sqlite.d.ts +3 -0
- package/dist/entries/drizzle-sqlite.d.ts.map +1 -0
- package/dist/entries/drizzle-sqlite.js +5 -0
- package/dist/entries/drizzle-sqlite.js.map +1 -0
- package/dist/entries/ecb.d.ts +3 -0
- package/dist/entries/ecb.d.ts.map +1 -0
- package/dist/entries/ecb.js +5 -0
- package/dist/entries/ecb.js.map +1 -0
- package/dist/entries/fed.d.ts +3 -0
- package/dist/entries/fed.d.ts.map +1 -0
- package/dist/entries/fed.js +5 -0
- package/dist/entries/fed.js.map +1 -0
- package/dist/entries/fetch.d.ts +3 -0
- package/dist/entries/fetch.d.ts.map +1 -0
- package/dist/entries/fetch.js +5 -0
- package/dist/entries/fetch.js.map +1 -0
- package/dist/entries/finance.d.ts +3 -0
- package/dist/entries/finance.d.ts.map +1 -0
- package/dist/entries/finance.js +5 -0
- package/dist/entries/finance.js.map +1 -0
- package/dist/entries/historic.d.ts +3 -0
- package/dist/entries/historic.d.ts.map +1 -0
- package/dist/entries/historic.js +5 -0
- package/dist/entries/historic.js.map +1 -0
- package/dist/entries/history.d.ts +3 -0
- package/dist/entries/history.d.ts.map +1 -0
- package/dist/entries/history.js +5 -0
- package/dist/entries/history.js.map +1 -0
- package/dist/entries/hmrc.d.ts +3 -0
- package/dist/entries/hmrc.d.ts.map +1 -0
- package/dist/entries/hmrc.js +5 -0
- package/dist/entries/hmrc.js.map +1 -0
- package/dist/entries/kysely.d.ts +3 -0
- package/dist/entries/kysely.d.ts.map +1 -0
- package/dist/entries/kysely.js +5 -0
- package/dist/entries/kysely.js.map +1 -0
- package/dist/entries/parse.d.ts +3 -0
- package/dist/entries/parse.d.ts.map +1 -0
- package/dist/entries/parse.js +5 -0
- package/dist/entries/parse.js.map +1 -0
- package/dist/entries/pg.d.ts +3 -0
- package/dist/entries/pg.d.ts.map +1 -0
- package/dist/entries/pg.js +5 -0
- package/dist/entries/pg.js.map +1 -0
- package/dist/entries/policy.d.ts +3 -0
- package/dist/entries/policy.d.ts.map +1 -0
- package/dist/entries/policy.js +5 -0
- package/dist/entries/policy.js.map +1 -0
- package/dist/entries/pricing.d.ts +3 -0
- package/dist/entries/pricing.d.ts.map +1 -0
- package/dist/entries/pricing.js +5 -0
- package/dist/entries/pricing.js.map +1 -0
- package/dist/entries/stripe-fx.d.ts +3 -0
- package/dist/entries/stripe-fx.d.ts.map +1 -0
- package/dist/entries/stripe-fx.js +5 -0
- package/dist/entries/stripe-fx.js.map +1 -0
- package/dist/entries/testing-arbitraries.d.ts +3 -0
- package/dist/entries/testing-arbitraries.d.ts.map +1 -0
- package/dist/entries/testing-arbitraries.js +5 -0
- package/dist/entries/testing-arbitraries.js.map +1 -0
- package/dist/entries/testing-index.d.ts +3 -0
- package/dist/entries/testing-index.d.ts.map +1 -0
- package/dist/entries/testing-index.js +5 -0
- package/dist/entries/testing-index.js.map +1 -0
- package/dist/entries/testing-jest.d.ts +3 -0
- package/dist/entries/testing-jest.d.ts.map +1 -0
- package/dist/entries/testing-jest.js +5 -0
- package/dist/entries/testing-jest.js.map +1 -0
- package/dist/entries/testing-vitest.d.ts +3 -0
- package/dist/entries/testing-vitest.d.ts.map +1 -0
- package/dist/entries/testing-vitest.js +5 -0
- package/dist/entries/testing-vitest.js.map +1 -0
- package/dist/entries/valibot.d.ts +3 -0
- package/dist/entries/valibot.d.ts.map +1 -0
- package/dist/entries/valibot.js +5 -0
- package/dist/entries/valibot.js.map +1 -0
- package/dist/entries/wire.d.ts +3 -0
- package/dist/entries/wire.d.ts.map +1 -0
- package/dist/entries/wire.js +5 -0
- package/dist/entries/wire.js.map +1 -0
- package/dist/entries/zod.d.ts +3 -0
- package/dist/entries/zod.d.ts.map +1 -0
- package/dist/entries/zod.js +5 -0
- package/dist/entries/zod.js.map +1 -0
- package/dist/exact.d.ts.map +1 -1
- package/dist/exact.js +3 -3
- package/dist/exact.js.map +1 -1
- package/dist/fetch.d.ts +7 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +11 -2
- package/dist/fetch.js.map +1 -1
- package/dist/finance.d.ts +296 -0
- package/dist/finance.d.ts.map +1 -0
- package/dist/finance.js +825 -0
- package/dist/finance.js.map +1 -0
- package/dist/fixed-money.d.ts +12 -0
- package/dist/fixed-money.d.ts.map +1 -0
- package/dist/fixed-money.js +32 -0
- package/dist/fixed-money.js.map +1 -0
- package/dist/fixed.d.ts +26 -9
- package/dist/fixed.d.ts.map +1 -1
- package/dist/fixed.js +65 -48
- package/dist/fixed.js.map +1 -1
- package/dist/fn.d.ts +17 -1
- package/dist/fn.d.ts.map +1 -1
- package/dist/fn.js +17 -1
- package/dist/fn.js.map +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +28 -9
- package/dist/format.js.map +1 -1
- package/dist/generated/crypto.d.ts +58 -0
- package/dist/generated/crypto.d.ts.map +1 -0
- package/dist/generated/crypto.js +15 -0
- package/dist/generated/crypto.js.map +1 -0
- package/dist/generated/iso/AED.d.ts +2 -0
- package/dist/generated/iso/AED.d.ts.map +1 -0
- package/dist/generated/iso/AED.js +5 -0
- package/dist/generated/iso/AED.js.map +1 -0
- package/dist/generated/iso/AFN.d.ts +2 -0
- package/dist/generated/iso/AFN.d.ts.map +1 -0
- package/dist/generated/iso/AFN.js +5 -0
- package/dist/generated/iso/AFN.js.map +1 -0
- package/dist/generated/iso/ALL.d.ts +2 -0
- package/dist/generated/iso/ALL.d.ts.map +1 -0
- package/dist/generated/iso/ALL.js +5 -0
- package/dist/generated/iso/ALL.js.map +1 -0
- package/dist/generated/iso/AMD.d.ts +2 -0
- package/dist/generated/iso/AMD.d.ts.map +1 -0
- package/dist/generated/iso/AMD.js +5 -0
- package/dist/generated/iso/AMD.js.map +1 -0
- package/dist/generated/iso/AOA.d.ts +2 -0
- package/dist/generated/iso/AOA.d.ts.map +1 -0
- package/dist/generated/iso/AOA.js +5 -0
- package/dist/generated/iso/AOA.js.map +1 -0
- package/dist/generated/iso/ARS.d.ts +2 -0
- package/dist/generated/iso/ARS.d.ts.map +1 -0
- package/dist/generated/iso/ARS.js +5 -0
- package/dist/generated/iso/ARS.js.map +1 -0
- package/dist/generated/iso/AUD.d.ts +2 -0
- package/dist/generated/iso/AUD.d.ts.map +1 -0
- package/dist/generated/iso/AUD.js +5 -0
- package/dist/generated/iso/AUD.js.map +1 -0
- package/dist/generated/iso/AWG.d.ts +2 -0
- package/dist/generated/iso/AWG.d.ts.map +1 -0
- package/dist/generated/iso/AWG.js +5 -0
- package/dist/generated/iso/AWG.js.map +1 -0
- package/dist/generated/iso/AZN.d.ts +2 -0
- package/dist/generated/iso/AZN.d.ts.map +1 -0
- package/dist/generated/iso/AZN.js +5 -0
- package/dist/generated/iso/AZN.js.map +1 -0
- package/dist/generated/iso/BAM.d.ts +2 -0
- package/dist/generated/iso/BAM.d.ts.map +1 -0
- package/dist/generated/iso/BAM.js +5 -0
- package/dist/generated/iso/BAM.js.map +1 -0
- package/dist/generated/iso/BBD.d.ts +2 -0
- package/dist/generated/iso/BBD.d.ts.map +1 -0
- package/dist/generated/iso/BBD.js +5 -0
- package/dist/generated/iso/BBD.js.map +1 -0
- package/dist/generated/iso/BDT.d.ts +2 -0
- package/dist/generated/iso/BDT.d.ts.map +1 -0
- package/dist/generated/iso/BDT.js +5 -0
- package/dist/generated/iso/BDT.js.map +1 -0
- package/dist/generated/iso/BHD.d.ts +2 -0
- package/dist/generated/iso/BHD.d.ts.map +1 -0
- package/dist/generated/iso/BHD.js +5 -0
- package/dist/generated/iso/BHD.js.map +1 -0
- package/dist/generated/iso/BIF.d.ts +2 -0
- package/dist/generated/iso/BIF.d.ts.map +1 -0
- package/dist/generated/iso/BIF.js +5 -0
- package/dist/generated/iso/BIF.js.map +1 -0
- package/dist/generated/iso/BMD.d.ts +2 -0
- package/dist/generated/iso/BMD.d.ts.map +1 -0
- package/dist/generated/iso/BMD.js +5 -0
- package/dist/generated/iso/BMD.js.map +1 -0
- package/dist/generated/iso/BND.d.ts +2 -0
- package/dist/generated/iso/BND.d.ts.map +1 -0
- package/dist/generated/iso/BND.js +5 -0
- package/dist/generated/iso/BND.js.map +1 -0
- package/dist/generated/iso/BOB.d.ts +2 -0
- package/dist/generated/iso/BOB.d.ts.map +1 -0
- package/dist/generated/iso/BOB.js +5 -0
- package/dist/generated/iso/BOB.js.map +1 -0
- package/dist/generated/iso/BOV.d.ts +2 -0
- package/dist/generated/iso/BOV.d.ts.map +1 -0
- package/dist/generated/iso/BOV.js +5 -0
- package/dist/generated/iso/BOV.js.map +1 -0
- package/dist/generated/iso/BRL.d.ts +2 -0
- package/dist/generated/iso/BRL.d.ts.map +1 -0
- package/dist/generated/iso/BRL.js +5 -0
- package/dist/generated/iso/BRL.js.map +1 -0
- package/dist/generated/iso/BSD.d.ts +2 -0
- package/dist/generated/iso/BSD.d.ts.map +1 -0
- package/dist/generated/iso/BSD.js +5 -0
- package/dist/generated/iso/BSD.js.map +1 -0
- package/dist/generated/iso/BTN.d.ts +2 -0
- package/dist/generated/iso/BTN.d.ts.map +1 -0
- package/dist/generated/iso/BTN.js +5 -0
- package/dist/generated/iso/BTN.js.map +1 -0
- package/dist/generated/iso/BWP.d.ts +2 -0
- package/dist/generated/iso/BWP.d.ts.map +1 -0
- package/dist/generated/iso/BWP.js +5 -0
- package/dist/generated/iso/BWP.js.map +1 -0
- package/dist/generated/iso/BYN.d.ts +2 -0
- package/dist/generated/iso/BYN.d.ts.map +1 -0
- package/dist/generated/iso/BYN.js +5 -0
- package/dist/generated/iso/BYN.js.map +1 -0
- package/dist/generated/iso/BZD.d.ts +2 -0
- package/dist/generated/iso/BZD.d.ts.map +1 -0
- package/dist/generated/iso/BZD.js +5 -0
- package/dist/generated/iso/BZD.js.map +1 -0
- package/dist/generated/iso/CAD.d.ts +2 -0
- package/dist/generated/iso/CAD.d.ts.map +1 -0
- package/dist/generated/iso/CAD.js +5 -0
- package/dist/generated/iso/CAD.js.map +1 -0
- package/dist/generated/iso/CDF.d.ts +2 -0
- package/dist/generated/iso/CDF.d.ts.map +1 -0
- package/dist/generated/iso/CDF.js +5 -0
- package/dist/generated/iso/CDF.js.map +1 -0
- package/dist/generated/iso/CHE.d.ts +2 -0
- package/dist/generated/iso/CHE.d.ts.map +1 -0
- package/dist/generated/iso/CHE.js +5 -0
- package/dist/generated/iso/CHE.js.map +1 -0
- package/dist/generated/iso/CHF.d.ts +2 -0
- package/dist/generated/iso/CHF.d.ts.map +1 -0
- package/dist/generated/iso/CHF.js +5 -0
- package/dist/generated/iso/CHF.js.map +1 -0
- package/dist/generated/iso/CHW.d.ts +2 -0
- package/dist/generated/iso/CHW.d.ts.map +1 -0
- package/dist/generated/iso/CHW.js +5 -0
- package/dist/generated/iso/CHW.js.map +1 -0
- package/dist/generated/iso/CLF.d.ts +2 -0
- package/dist/generated/iso/CLF.d.ts.map +1 -0
- package/dist/generated/iso/CLF.js +5 -0
- package/dist/generated/iso/CLF.js.map +1 -0
- package/dist/generated/iso/CLP.d.ts +2 -0
- package/dist/generated/iso/CLP.d.ts.map +1 -0
- package/dist/generated/iso/CLP.js +5 -0
- package/dist/generated/iso/CLP.js.map +1 -0
- package/dist/generated/iso/CNY.d.ts +2 -0
- package/dist/generated/iso/CNY.d.ts.map +1 -0
- package/dist/generated/iso/CNY.js +5 -0
- package/dist/generated/iso/CNY.js.map +1 -0
- package/dist/generated/iso/COP.d.ts +2 -0
- package/dist/generated/iso/COP.d.ts.map +1 -0
- package/dist/generated/iso/COP.js +5 -0
- package/dist/generated/iso/COP.js.map +1 -0
- package/dist/generated/iso/COU.d.ts +2 -0
- package/dist/generated/iso/COU.d.ts.map +1 -0
- package/dist/generated/iso/COU.js +5 -0
- package/dist/generated/iso/COU.js.map +1 -0
- package/dist/generated/iso/CRC.d.ts +2 -0
- package/dist/generated/iso/CRC.d.ts.map +1 -0
- package/dist/generated/iso/CRC.js +5 -0
- package/dist/generated/iso/CRC.js.map +1 -0
- package/dist/generated/iso/CUP.d.ts +2 -0
- package/dist/generated/iso/CUP.d.ts.map +1 -0
- package/dist/generated/iso/CUP.js +5 -0
- package/dist/generated/iso/CUP.js.map +1 -0
- package/dist/generated/iso/CVE.d.ts +2 -0
- package/dist/generated/iso/CVE.d.ts.map +1 -0
- package/dist/generated/iso/CVE.js +5 -0
- package/dist/generated/iso/CVE.js.map +1 -0
- package/dist/generated/iso/CZK.d.ts +2 -0
- package/dist/generated/iso/CZK.d.ts.map +1 -0
- package/dist/generated/iso/CZK.js +5 -0
- package/dist/generated/iso/CZK.js.map +1 -0
- package/dist/generated/iso/DJF.d.ts +2 -0
- package/dist/generated/iso/DJF.d.ts.map +1 -0
- package/dist/generated/iso/DJF.js +5 -0
- package/dist/generated/iso/DJF.js.map +1 -0
- package/dist/generated/iso/DKK.d.ts +2 -0
- package/dist/generated/iso/DKK.d.ts.map +1 -0
- package/dist/generated/iso/DKK.js +5 -0
- package/dist/generated/iso/DKK.js.map +1 -0
- package/dist/generated/iso/DOP.d.ts +2 -0
- package/dist/generated/iso/DOP.d.ts.map +1 -0
- package/dist/generated/iso/DOP.js +5 -0
- package/dist/generated/iso/DOP.js.map +1 -0
- package/dist/generated/iso/DZD.d.ts +2 -0
- package/dist/generated/iso/DZD.d.ts.map +1 -0
- package/dist/generated/iso/DZD.js +5 -0
- package/dist/generated/iso/DZD.js.map +1 -0
- package/dist/generated/iso/EGP.d.ts +2 -0
- package/dist/generated/iso/EGP.d.ts.map +1 -0
- package/dist/generated/iso/EGP.js +5 -0
- package/dist/generated/iso/EGP.js.map +1 -0
- package/dist/generated/iso/ERN.d.ts +2 -0
- package/dist/generated/iso/ERN.d.ts.map +1 -0
- package/dist/generated/iso/ERN.js +5 -0
- package/dist/generated/iso/ERN.js.map +1 -0
- package/dist/generated/iso/ETB.d.ts +2 -0
- package/dist/generated/iso/ETB.d.ts.map +1 -0
- package/dist/generated/iso/ETB.js +5 -0
- package/dist/generated/iso/ETB.js.map +1 -0
- package/dist/generated/iso/EUR.d.ts +2 -0
- package/dist/generated/iso/EUR.d.ts.map +1 -0
- package/dist/generated/iso/EUR.js +5 -0
- package/dist/generated/iso/EUR.js.map +1 -0
- package/dist/generated/iso/FJD.d.ts +2 -0
- package/dist/generated/iso/FJD.d.ts.map +1 -0
- package/dist/generated/iso/FJD.js +5 -0
- package/dist/generated/iso/FJD.js.map +1 -0
- package/dist/generated/iso/FKP.d.ts +2 -0
- package/dist/generated/iso/FKP.d.ts.map +1 -0
- package/dist/generated/iso/FKP.js +5 -0
- package/dist/generated/iso/FKP.js.map +1 -0
- package/dist/generated/iso/GBP.d.ts +2 -0
- package/dist/generated/iso/GBP.d.ts.map +1 -0
- package/dist/generated/iso/GBP.js +5 -0
- package/dist/generated/iso/GBP.js.map +1 -0
- package/dist/generated/iso/GEL.d.ts +2 -0
- package/dist/generated/iso/GEL.d.ts.map +1 -0
- package/dist/generated/iso/GEL.js +5 -0
- package/dist/generated/iso/GEL.js.map +1 -0
- package/dist/generated/iso/GHS.d.ts +2 -0
- package/dist/generated/iso/GHS.d.ts.map +1 -0
- package/dist/generated/iso/GHS.js +5 -0
- package/dist/generated/iso/GHS.js.map +1 -0
- package/dist/generated/iso/GIP.d.ts +2 -0
- package/dist/generated/iso/GIP.d.ts.map +1 -0
- package/dist/generated/iso/GIP.js +5 -0
- package/dist/generated/iso/GIP.js.map +1 -0
- package/dist/generated/iso/GMD.d.ts +2 -0
- package/dist/generated/iso/GMD.d.ts.map +1 -0
- package/dist/generated/iso/GMD.js +5 -0
- package/dist/generated/iso/GMD.js.map +1 -0
- package/dist/generated/iso/GNF.d.ts +2 -0
- package/dist/generated/iso/GNF.d.ts.map +1 -0
- package/dist/generated/iso/GNF.js +5 -0
- package/dist/generated/iso/GNF.js.map +1 -0
- package/dist/generated/iso/GTQ.d.ts +2 -0
- package/dist/generated/iso/GTQ.d.ts.map +1 -0
- package/dist/generated/iso/GTQ.js +5 -0
- package/dist/generated/iso/GTQ.js.map +1 -0
- package/dist/generated/iso/GYD.d.ts +2 -0
- package/dist/generated/iso/GYD.d.ts.map +1 -0
- package/dist/generated/iso/GYD.js +5 -0
- package/dist/generated/iso/GYD.js.map +1 -0
- package/dist/generated/iso/HKD.d.ts +2 -0
- package/dist/generated/iso/HKD.d.ts.map +1 -0
- package/dist/generated/iso/HKD.js +5 -0
- package/dist/generated/iso/HKD.js.map +1 -0
- package/dist/generated/iso/HNL.d.ts +2 -0
- package/dist/generated/iso/HNL.d.ts.map +1 -0
- package/dist/generated/iso/HNL.js +5 -0
- package/dist/generated/iso/HNL.js.map +1 -0
- package/dist/generated/iso/HTG.d.ts +2 -0
- package/dist/generated/iso/HTG.d.ts.map +1 -0
- package/dist/generated/iso/HTG.js +5 -0
- package/dist/generated/iso/HTG.js.map +1 -0
- package/dist/generated/iso/HUF.d.ts +2 -0
- package/dist/generated/iso/HUF.d.ts.map +1 -0
- package/dist/generated/iso/HUF.js +5 -0
- package/dist/generated/iso/HUF.js.map +1 -0
- package/dist/generated/iso/IDR.d.ts +2 -0
- package/dist/generated/iso/IDR.d.ts.map +1 -0
- package/dist/generated/iso/IDR.js +5 -0
- package/dist/generated/iso/IDR.js.map +1 -0
- package/dist/generated/iso/ILS.d.ts +2 -0
- package/dist/generated/iso/ILS.d.ts.map +1 -0
- package/dist/generated/iso/ILS.js +5 -0
- package/dist/generated/iso/ILS.js.map +1 -0
- package/dist/generated/iso/INR.d.ts +2 -0
- package/dist/generated/iso/INR.d.ts.map +1 -0
- package/dist/generated/iso/INR.js +5 -0
- package/dist/generated/iso/INR.js.map +1 -0
- package/dist/generated/iso/IQD.d.ts +2 -0
- package/dist/generated/iso/IQD.d.ts.map +1 -0
- package/dist/generated/iso/IQD.js +5 -0
- package/dist/generated/iso/IQD.js.map +1 -0
- package/dist/generated/iso/IRR.d.ts +2 -0
- package/dist/generated/iso/IRR.d.ts.map +1 -0
- package/dist/generated/iso/IRR.js +5 -0
- package/dist/generated/iso/IRR.js.map +1 -0
- package/dist/generated/iso/ISK.d.ts +2 -0
- package/dist/generated/iso/ISK.d.ts.map +1 -0
- package/dist/generated/iso/ISK.js +5 -0
- package/dist/generated/iso/ISK.js.map +1 -0
- package/dist/generated/iso/JMD.d.ts +2 -0
- package/dist/generated/iso/JMD.d.ts.map +1 -0
- package/dist/generated/iso/JMD.js +5 -0
- package/dist/generated/iso/JMD.js.map +1 -0
- package/dist/generated/iso/JOD.d.ts +2 -0
- package/dist/generated/iso/JOD.d.ts.map +1 -0
- package/dist/generated/iso/JOD.js +5 -0
- package/dist/generated/iso/JOD.js.map +1 -0
- package/dist/generated/iso/JPY.d.ts +2 -0
- package/dist/generated/iso/JPY.d.ts.map +1 -0
- package/dist/generated/iso/JPY.js +5 -0
- package/dist/generated/iso/JPY.js.map +1 -0
- package/dist/generated/iso/KES.d.ts +2 -0
- package/dist/generated/iso/KES.d.ts.map +1 -0
- package/dist/generated/iso/KES.js +5 -0
- package/dist/generated/iso/KES.js.map +1 -0
- package/dist/generated/iso/KGS.d.ts +2 -0
- package/dist/generated/iso/KGS.d.ts.map +1 -0
- package/dist/generated/iso/KGS.js +5 -0
- package/dist/generated/iso/KGS.js.map +1 -0
- package/dist/generated/iso/KHR.d.ts +2 -0
- package/dist/generated/iso/KHR.d.ts.map +1 -0
- package/dist/generated/iso/KHR.js +5 -0
- package/dist/generated/iso/KHR.js.map +1 -0
- package/dist/generated/iso/KMF.d.ts +2 -0
- package/dist/generated/iso/KMF.d.ts.map +1 -0
- package/dist/generated/iso/KMF.js +5 -0
- package/dist/generated/iso/KMF.js.map +1 -0
- package/dist/generated/iso/KPW.d.ts +2 -0
- package/dist/generated/iso/KPW.d.ts.map +1 -0
- package/dist/generated/iso/KPW.js +5 -0
- package/dist/generated/iso/KPW.js.map +1 -0
- package/dist/generated/iso/KRW.d.ts +2 -0
- package/dist/generated/iso/KRW.d.ts.map +1 -0
- package/dist/generated/iso/KRW.js +5 -0
- package/dist/generated/iso/KRW.js.map +1 -0
- package/dist/generated/iso/KWD.d.ts +2 -0
- package/dist/generated/iso/KWD.d.ts.map +1 -0
- package/dist/generated/iso/KWD.js +5 -0
- package/dist/generated/iso/KWD.js.map +1 -0
- package/dist/generated/iso/KYD.d.ts +2 -0
- package/dist/generated/iso/KYD.d.ts.map +1 -0
- package/dist/generated/iso/KYD.js +5 -0
- package/dist/generated/iso/KYD.js.map +1 -0
- package/dist/generated/iso/KZT.d.ts +2 -0
- package/dist/generated/iso/KZT.d.ts.map +1 -0
- package/dist/generated/iso/KZT.js +5 -0
- package/dist/generated/iso/KZT.js.map +1 -0
- package/dist/generated/iso/LAK.d.ts +2 -0
- package/dist/generated/iso/LAK.d.ts.map +1 -0
- package/dist/generated/iso/LAK.js +5 -0
- package/dist/generated/iso/LAK.js.map +1 -0
- package/dist/generated/iso/LBP.d.ts +2 -0
- package/dist/generated/iso/LBP.d.ts.map +1 -0
- package/dist/generated/iso/LBP.js +5 -0
- package/dist/generated/iso/LBP.js.map +1 -0
- package/dist/generated/iso/LKR.d.ts +2 -0
- package/dist/generated/iso/LKR.d.ts.map +1 -0
- package/dist/generated/iso/LKR.js +5 -0
- package/dist/generated/iso/LKR.js.map +1 -0
- package/dist/generated/iso/LRD.d.ts +2 -0
- package/dist/generated/iso/LRD.d.ts.map +1 -0
- package/dist/generated/iso/LRD.js +5 -0
- package/dist/generated/iso/LRD.js.map +1 -0
- package/dist/generated/iso/LSL.d.ts +2 -0
- package/dist/generated/iso/LSL.d.ts.map +1 -0
- package/dist/generated/iso/LSL.js +5 -0
- package/dist/generated/iso/LSL.js.map +1 -0
- package/dist/generated/iso/LYD.d.ts +2 -0
- package/dist/generated/iso/LYD.d.ts.map +1 -0
- package/dist/generated/iso/LYD.js +5 -0
- package/dist/generated/iso/LYD.js.map +1 -0
- package/dist/generated/iso/MAD.d.ts +2 -0
- package/dist/generated/iso/MAD.d.ts.map +1 -0
- package/dist/generated/iso/MAD.js +5 -0
- package/dist/generated/iso/MAD.js.map +1 -0
- package/dist/generated/iso/MDL.d.ts +2 -0
- package/dist/generated/iso/MDL.d.ts.map +1 -0
- package/dist/generated/iso/MDL.js +5 -0
- package/dist/generated/iso/MDL.js.map +1 -0
- package/dist/generated/iso/MGA.d.ts +2 -0
- package/dist/generated/iso/MGA.d.ts.map +1 -0
- package/dist/generated/iso/MGA.js +5 -0
- package/dist/generated/iso/MGA.js.map +1 -0
- package/dist/generated/iso/MKD.d.ts +2 -0
- package/dist/generated/iso/MKD.d.ts.map +1 -0
- package/dist/generated/iso/MKD.js +5 -0
- package/dist/generated/iso/MKD.js.map +1 -0
- package/dist/generated/iso/MMK.d.ts +2 -0
- package/dist/generated/iso/MMK.d.ts.map +1 -0
- package/dist/generated/iso/MMK.js +5 -0
- package/dist/generated/iso/MMK.js.map +1 -0
- package/dist/generated/iso/MNT.d.ts +2 -0
- package/dist/generated/iso/MNT.d.ts.map +1 -0
- package/dist/generated/iso/MNT.js +5 -0
- package/dist/generated/iso/MNT.js.map +1 -0
- package/dist/generated/iso/MOP.d.ts +2 -0
- package/dist/generated/iso/MOP.d.ts.map +1 -0
- package/dist/generated/iso/MOP.js +5 -0
- package/dist/generated/iso/MOP.js.map +1 -0
- package/dist/generated/iso/MRU.d.ts +2 -0
- package/dist/generated/iso/MRU.d.ts.map +1 -0
- package/dist/generated/iso/MRU.js +5 -0
- package/dist/generated/iso/MRU.js.map +1 -0
- package/dist/generated/iso/MUR.d.ts +2 -0
- package/dist/generated/iso/MUR.d.ts.map +1 -0
- package/dist/generated/iso/MUR.js +5 -0
- package/dist/generated/iso/MUR.js.map +1 -0
- package/dist/generated/iso/MVR.d.ts +2 -0
- package/dist/generated/iso/MVR.d.ts.map +1 -0
- package/dist/generated/iso/MVR.js +5 -0
- package/dist/generated/iso/MVR.js.map +1 -0
- package/dist/generated/iso/MWK.d.ts +2 -0
- package/dist/generated/iso/MWK.d.ts.map +1 -0
- package/dist/generated/iso/MWK.js +5 -0
- package/dist/generated/iso/MWK.js.map +1 -0
- package/dist/generated/iso/MXN.d.ts +2 -0
- package/dist/generated/iso/MXN.d.ts.map +1 -0
- package/dist/generated/iso/MXN.js +5 -0
- package/dist/generated/iso/MXN.js.map +1 -0
- package/dist/generated/iso/MXV.d.ts +2 -0
- package/dist/generated/iso/MXV.d.ts.map +1 -0
- package/dist/generated/iso/MXV.js +5 -0
- package/dist/generated/iso/MXV.js.map +1 -0
- package/dist/generated/iso/MYR.d.ts +2 -0
- package/dist/generated/iso/MYR.d.ts.map +1 -0
- package/dist/generated/iso/MYR.js +5 -0
- package/dist/generated/iso/MYR.js.map +1 -0
- package/dist/generated/iso/MZN.d.ts +2 -0
- package/dist/generated/iso/MZN.d.ts.map +1 -0
- package/dist/generated/iso/MZN.js +5 -0
- package/dist/generated/iso/MZN.js.map +1 -0
- package/dist/generated/iso/NAD.d.ts +2 -0
- package/dist/generated/iso/NAD.d.ts.map +1 -0
- package/dist/generated/iso/NAD.js +5 -0
- package/dist/generated/iso/NAD.js.map +1 -0
- package/dist/generated/iso/NGN.d.ts +2 -0
- package/dist/generated/iso/NGN.d.ts.map +1 -0
- package/dist/generated/iso/NGN.js +5 -0
- package/dist/generated/iso/NGN.js.map +1 -0
- package/dist/generated/iso/NIO.d.ts +2 -0
- package/dist/generated/iso/NIO.d.ts.map +1 -0
- package/dist/generated/iso/NIO.js +5 -0
- package/dist/generated/iso/NIO.js.map +1 -0
- package/dist/generated/iso/NOK.d.ts +2 -0
- package/dist/generated/iso/NOK.d.ts.map +1 -0
- package/dist/generated/iso/NOK.js +5 -0
- package/dist/generated/iso/NOK.js.map +1 -0
- package/dist/generated/iso/NPR.d.ts +2 -0
- package/dist/generated/iso/NPR.d.ts.map +1 -0
- package/dist/generated/iso/NPR.js +5 -0
- package/dist/generated/iso/NPR.js.map +1 -0
- package/dist/generated/iso/NZD.d.ts +2 -0
- package/dist/generated/iso/NZD.d.ts.map +1 -0
- package/dist/generated/iso/NZD.js +5 -0
- package/dist/generated/iso/NZD.js.map +1 -0
- package/dist/generated/iso/OMR.d.ts +2 -0
- package/dist/generated/iso/OMR.d.ts.map +1 -0
- package/dist/generated/iso/OMR.js +5 -0
- package/dist/generated/iso/OMR.js.map +1 -0
- package/dist/generated/iso/PAB.d.ts +2 -0
- package/dist/generated/iso/PAB.d.ts.map +1 -0
- package/dist/generated/iso/PAB.js +5 -0
- package/dist/generated/iso/PAB.js.map +1 -0
- package/dist/generated/iso/PEN.d.ts +2 -0
- package/dist/generated/iso/PEN.d.ts.map +1 -0
- package/dist/generated/iso/PEN.js +5 -0
- package/dist/generated/iso/PEN.js.map +1 -0
- package/dist/generated/iso/PGK.d.ts +2 -0
- package/dist/generated/iso/PGK.d.ts.map +1 -0
- package/dist/generated/iso/PGK.js +5 -0
- package/dist/generated/iso/PGK.js.map +1 -0
- package/dist/generated/iso/PHP.d.ts +2 -0
- package/dist/generated/iso/PHP.d.ts.map +1 -0
- package/dist/generated/iso/PHP.js +5 -0
- package/dist/generated/iso/PHP.js.map +1 -0
- package/dist/generated/iso/PKR.d.ts +2 -0
- package/dist/generated/iso/PKR.d.ts.map +1 -0
- package/dist/generated/iso/PKR.js +5 -0
- package/dist/generated/iso/PKR.js.map +1 -0
- package/dist/generated/iso/PLN.d.ts +2 -0
- package/dist/generated/iso/PLN.d.ts.map +1 -0
- package/dist/generated/iso/PLN.js +5 -0
- package/dist/generated/iso/PLN.js.map +1 -0
- package/dist/generated/iso/PYG.d.ts +2 -0
- package/dist/generated/iso/PYG.d.ts.map +1 -0
- package/dist/generated/iso/PYG.js +5 -0
- package/dist/generated/iso/PYG.js.map +1 -0
- package/dist/generated/iso/QAR.d.ts +2 -0
- package/dist/generated/iso/QAR.d.ts.map +1 -0
- package/dist/generated/iso/QAR.js +5 -0
- package/dist/generated/iso/QAR.js.map +1 -0
- package/dist/generated/iso/RON.d.ts +2 -0
- package/dist/generated/iso/RON.d.ts.map +1 -0
- package/dist/generated/iso/RON.js +5 -0
- package/dist/generated/iso/RON.js.map +1 -0
- package/dist/generated/iso/RSD.d.ts +2 -0
- package/dist/generated/iso/RSD.d.ts.map +1 -0
- package/dist/generated/iso/RSD.js +5 -0
- package/dist/generated/iso/RSD.js.map +1 -0
- package/dist/generated/iso/RUB.d.ts +2 -0
- package/dist/generated/iso/RUB.d.ts.map +1 -0
- package/dist/generated/iso/RUB.js +5 -0
- package/dist/generated/iso/RUB.js.map +1 -0
- package/dist/generated/iso/RWF.d.ts +2 -0
- package/dist/generated/iso/RWF.d.ts.map +1 -0
- package/dist/generated/iso/RWF.js +5 -0
- package/dist/generated/iso/RWF.js.map +1 -0
- package/dist/generated/iso/SAR.d.ts +2 -0
- package/dist/generated/iso/SAR.d.ts.map +1 -0
- package/dist/generated/iso/SAR.js +5 -0
- package/dist/generated/iso/SAR.js.map +1 -0
- package/dist/generated/iso/SBD.d.ts +2 -0
- package/dist/generated/iso/SBD.d.ts.map +1 -0
- package/dist/generated/iso/SBD.js +5 -0
- package/dist/generated/iso/SBD.js.map +1 -0
- package/dist/generated/iso/SCR.d.ts +2 -0
- package/dist/generated/iso/SCR.d.ts.map +1 -0
- package/dist/generated/iso/SCR.js +5 -0
- package/dist/generated/iso/SCR.js.map +1 -0
- package/dist/generated/iso/SDG.d.ts +2 -0
- package/dist/generated/iso/SDG.d.ts.map +1 -0
- package/dist/generated/iso/SDG.js +5 -0
- package/dist/generated/iso/SDG.js.map +1 -0
- package/dist/generated/iso/SEK.d.ts +2 -0
- package/dist/generated/iso/SEK.d.ts.map +1 -0
- package/dist/generated/iso/SEK.js +5 -0
- package/dist/generated/iso/SEK.js.map +1 -0
- package/dist/generated/iso/SGD.d.ts +2 -0
- package/dist/generated/iso/SGD.d.ts.map +1 -0
- package/dist/generated/iso/SGD.js +5 -0
- package/dist/generated/iso/SGD.js.map +1 -0
- package/dist/generated/iso/SHP.d.ts +2 -0
- package/dist/generated/iso/SHP.d.ts.map +1 -0
- package/dist/generated/iso/SHP.js +5 -0
- package/dist/generated/iso/SHP.js.map +1 -0
- package/dist/generated/iso/SLE.d.ts +2 -0
- package/dist/generated/iso/SLE.d.ts.map +1 -0
- package/dist/generated/iso/SLE.js +5 -0
- package/dist/generated/iso/SLE.js.map +1 -0
- package/dist/generated/iso/SOS.d.ts +2 -0
- package/dist/generated/iso/SOS.d.ts.map +1 -0
- package/dist/generated/iso/SOS.js +5 -0
- package/dist/generated/iso/SOS.js.map +1 -0
- package/dist/generated/iso/SRD.d.ts +2 -0
- package/dist/generated/iso/SRD.d.ts.map +1 -0
- package/dist/generated/iso/SRD.js +5 -0
- package/dist/generated/iso/SRD.js.map +1 -0
- package/dist/generated/iso/SSP.d.ts +2 -0
- package/dist/generated/iso/SSP.d.ts.map +1 -0
- package/dist/generated/iso/SSP.js +5 -0
- package/dist/generated/iso/SSP.js.map +1 -0
- package/dist/generated/iso/STN.d.ts +2 -0
- package/dist/generated/iso/STN.d.ts.map +1 -0
- package/dist/generated/iso/STN.js +5 -0
- package/dist/generated/iso/STN.js.map +1 -0
- package/dist/generated/iso/SVC.d.ts +2 -0
- package/dist/generated/iso/SVC.d.ts.map +1 -0
- package/dist/generated/iso/SVC.js +5 -0
- package/dist/generated/iso/SVC.js.map +1 -0
- package/dist/generated/iso/SYP.d.ts +2 -0
- package/dist/generated/iso/SYP.d.ts.map +1 -0
- package/dist/generated/iso/SYP.js +5 -0
- package/dist/generated/iso/SYP.js.map +1 -0
- package/dist/generated/iso/SZL.d.ts +2 -0
- package/dist/generated/iso/SZL.d.ts.map +1 -0
- package/dist/generated/iso/SZL.js +5 -0
- package/dist/generated/iso/SZL.js.map +1 -0
- package/dist/generated/iso/THB.d.ts +2 -0
- package/dist/generated/iso/THB.d.ts.map +1 -0
- package/dist/generated/iso/THB.js +5 -0
- package/dist/generated/iso/THB.js.map +1 -0
- package/dist/generated/iso/TJS.d.ts +2 -0
- package/dist/generated/iso/TJS.d.ts.map +1 -0
- package/dist/generated/iso/TJS.js +5 -0
- package/dist/generated/iso/TJS.js.map +1 -0
- package/dist/generated/iso/TMT.d.ts +2 -0
- package/dist/generated/iso/TMT.d.ts.map +1 -0
- package/dist/generated/iso/TMT.js +5 -0
- package/dist/generated/iso/TMT.js.map +1 -0
- package/dist/generated/iso/TND.d.ts +2 -0
- package/dist/generated/iso/TND.d.ts.map +1 -0
- package/dist/generated/iso/TND.js +5 -0
- package/dist/generated/iso/TND.js.map +1 -0
- package/dist/generated/iso/TOP.d.ts +2 -0
- package/dist/generated/iso/TOP.d.ts.map +1 -0
- package/dist/generated/iso/TOP.js +5 -0
- package/dist/generated/iso/TOP.js.map +1 -0
- package/dist/generated/iso/TRY.d.ts +2 -0
- package/dist/generated/iso/TRY.d.ts.map +1 -0
- package/dist/generated/iso/TRY.js +5 -0
- package/dist/generated/iso/TRY.js.map +1 -0
- package/dist/generated/iso/TTD.d.ts +2 -0
- package/dist/generated/iso/TTD.d.ts.map +1 -0
- package/dist/generated/iso/TTD.js +5 -0
- package/dist/generated/iso/TTD.js.map +1 -0
- package/dist/generated/iso/TWD.d.ts +2 -0
- package/dist/generated/iso/TWD.d.ts.map +1 -0
- package/dist/generated/iso/TWD.js +5 -0
- package/dist/generated/iso/TWD.js.map +1 -0
- package/dist/generated/iso/TZS.d.ts +2 -0
- package/dist/generated/iso/TZS.d.ts.map +1 -0
- package/dist/generated/iso/TZS.js +5 -0
- package/dist/generated/iso/TZS.js.map +1 -0
- package/dist/generated/iso/UAH.d.ts +2 -0
- package/dist/generated/iso/UAH.d.ts.map +1 -0
- package/dist/generated/iso/UAH.js +5 -0
- package/dist/generated/iso/UAH.js.map +1 -0
- package/dist/generated/iso/UGX.d.ts +2 -0
- package/dist/generated/iso/UGX.d.ts.map +1 -0
- package/dist/generated/iso/UGX.js +5 -0
- package/dist/generated/iso/UGX.js.map +1 -0
- package/dist/generated/iso/USD.d.ts +2 -0
- package/dist/generated/iso/USD.d.ts.map +1 -0
- package/dist/generated/iso/USD.js +5 -0
- package/dist/generated/iso/USD.js.map +1 -0
- package/dist/generated/iso/USN.d.ts +2 -0
- package/dist/generated/iso/USN.d.ts.map +1 -0
- package/dist/generated/iso/USN.js +5 -0
- package/dist/generated/iso/USN.js.map +1 -0
- package/dist/generated/iso/UYI.d.ts +2 -0
- package/dist/generated/iso/UYI.d.ts.map +1 -0
- package/dist/generated/iso/UYI.js +5 -0
- package/dist/generated/iso/UYI.js.map +1 -0
- package/dist/generated/iso/UYU.d.ts +2 -0
- package/dist/generated/iso/UYU.d.ts.map +1 -0
- package/dist/generated/iso/UYU.js +5 -0
- package/dist/generated/iso/UYU.js.map +1 -0
- package/dist/generated/iso/UYW.d.ts +2 -0
- package/dist/generated/iso/UYW.d.ts.map +1 -0
- package/dist/generated/iso/UYW.js +5 -0
- package/dist/generated/iso/UYW.js.map +1 -0
- package/dist/generated/iso/UZS.d.ts +2 -0
- package/dist/generated/iso/UZS.d.ts.map +1 -0
- package/dist/generated/iso/UZS.js +5 -0
- package/dist/generated/iso/UZS.js.map +1 -0
- package/dist/generated/iso/VED.d.ts +2 -0
- package/dist/generated/iso/VED.d.ts.map +1 -0
- package/dist/generated/iso/VED.js +5 -0
- package/dist/generated/iso/VED.js.map +1 -0
- package/dist/generated/iso/VES.d.ts +2 -0
- package/dist/generated/iso/VES.d.ts.map +1 -0
- package/dist/generated/iso/VES.js +5 -0
- package/dist/generated/iso/VES.js.map +1 -0
- package/dist/generated/iso/VND.d.ts +2 -0
- package/dist/generated/iso/VND.d.ts.map +1 -0
- package/dist/generated/iso/VND.js +5 -0
- package/dist/generated/iso/VND.js.map +1 -0
- package/dist/generated/iso/VUV.d.ts +2 -0
- package/dist/generated/iso/VUV.d.ts.map +1 -0
- package/dist/generated/iso/VUV.js +5 -0
- package/dist/generated/iso/VUV.js.map +1 -0
- package/dist/generated/iso/WST.d.ts +2 -0
- package/dist/generated/iso/WST.d.ts.map +1 -0
- package/dist/generated/iso/WST.js +5 -0
- package/dist/generated/iso/WST.js.map +1 -0
- package/dist/generated/iso/XAD.d.ts +2 -0
- package/dist/generated/iso/XAD.d.ts.map +1 -0
- package/dist/generated/iso/XAD.js +5 -0
- package/dist/generated/iso/XAD.js.map +1 -0
- package/dist/generated/iso/XAF.d.ts +2 -0
- package/dist/generated/iso/XAF.d.ts.map +1 -0
- package/dist/generated/iso/XAF.js +5 -0
- package/dist/generated/iso/XAF.js.map +1 -0
- package/dist/generated/iso/XCD.d.ts +2 -0
- package/dist/generated/iso/XCD.d.ts.map +1 -0
- package/dist/generated/iso/XCD.js +5 -0
- package/dist/generated/iso/XCD.js.map +1 -0
- package/dist/generated/iso/XCG.d.ts +2 -0
- package/dist/generated/iso/XCG.d.ts.map +1 -0
- package/dist/generated/iso/XCG.js +5 -0
- package/dist/generated/iso/XCG.js.map +1 -0
- package/dist/generated/iso/XOF.d.ts +2 -0
- package/dist/generated/iso/XOF.d.ts.map +1 -0
- package/dist/generated/iso/XOF.js +5 -0
- package/dist/generated/iso/XOF.js.map +1 -0
- package/dist/generated/iso/XPF.d.ts +2 -0
- package/dist/generated/iso/XPF.d.ts.map +1 -0
- package/dist/generated/iso/XPF.js +5 -0
- package/dist/generated/iso/XPF.js.map +1 -0
- package/dist/generated/iso/YER.d.ts +2 -0
- package/dist/generated/iso/YER.d.ts.map +1 -0
- package/dist/generated/iso/YER.js +5 -0
- package/dist/generated/iso/YER.js.map +1 -0
- package/dist/generated/iso/ZAR.d.ts +2 -0
- package/dist/generated/iso/ZAR.d.ts.map +1 -0
- package/dist/generated/iso/ZAR.js +5 -0
- package/dist/generated/iso/ZAR.js.map +1 -0
- package/dist/generated/iso/ZMW.d.ts +2 -0
- package/dist/generated/iso/ZMW.d.ts.map +1 -0
- package/dist/generated/iso/ZMW.js +5 -0
- package/dist/generated/iso/ZMW.js.map +1 -0
- package/dist/generated/iso/ZWG.d.ts +2 -0
- package/dist/generated/iso/ZWG.d.ts.map +1 -0
- package/dist/generated/iso/ZWG.js +5 -0
- package/dist/generated/iso/ZWG.js.map +1 -0
- package/dist/generated/iso4217-numeric.d.ts +3 -0
- package/dist/generated/iso4217-numeric.d.ts.map +1 -0
- package/dist/generated/iso4217-numeric.js +184 -0
- package/dist/generated/iso4217-numeric.js.map +1 -0
- package/dist/generated/rbnf-de.d.ts +3 -0
- package/dist/generated/rbnf-de.d.ts.map +1 -0
- package/dist/generated/rbnf-de.js +5 -0
- package/dist/generated/rbnf-de.js.map +1 -0
- package/dist/generated/rbnf-en.d.ts +3 -0
- package/dist/generated/rbnf-en.d.ts.map +1 -0
- package/dist/generated/rbnf-en.js +5 -0
- package/dist/generated/rbnf-en.js.map +1 -0
- package/dist/generated/rbnf-es.d.ts +3 -0
- package/dist/generated/rbnf-es.d.ts.map +1 -0
- package/dist/generated/rbnf-es.js +5 -0
- package/dist/generated/rbnf-es.js.map +1 -0
- package/dist/generated/rbnf-fr.d.ts +3 -0
- package/dist/generated/rbnf-fr.d.ts.map +1 -0
- package/dist/generated/rbnf-fr.js +5 -0
- package/dist/generated/rbnf-fr.js.map +1 -0
- package/dist/generated/rbnf-it.d.ts +3 -0
- package/dist/generated/rbnf-it.d.ts.map +1 -0
- package/dist/generated/rbnf-it.js +5 -0
- package/dist/generated/rbnf-it.js.map +1 -0
- package/dist/generated/rbnf-nl.d.ts +3 -0
- package/dist/generated/rbnf-nl.d.ts.map +1 -0
- package/dist/generated/rbnf-nl.js +5 -0
- package/dist/generated/rbnf-nl.js.map +1 -0
- package/dist/generated/rbnf-pt.d.ts +3 -0
- package/dist/generated/rbnf-pt.d.ts.map +1 -0
- package/dist/generated/rbnf-pt.js +5 -0
- package/dist/generated/rbnf-pt.js.map +1 -0
- package/dist/generated/territories.d.ts +6 -0
- package/dist/generated/territories.d.ts.map +1 -0
- package/dist/generated/territories.js +275 -0
- package/dist/generated/territories.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kysely.d.ts.map +1 -1
- package/dist/kysely.js +2 -2
- package/dist/kysely.js.map +1 -1
- package/dist/math.d.ts +41 -0
- package/dist/math.d.ts.map +1 -0
- package/dist/math.js +132 -0
- package/dist/math.js.map +1 -0
- package/dist/money.d.ts +39 -57
- package/dist/money.d.ts.map +1 -1
- package/dist/money.js +116 -128
- package/dist/money.js.map +1 -1
- package/dist/parse.js +7 -7
- package/dist/parse.js.map +1 -1
- package/dist/plugins/adyen.d.ts +2 -0
- package/dist/plugins/adyen.d.ts.map +1 -1
- package/dist/plugins/adyen.js +2 -0
- package/dist/plugins/adyen.js.map +1 -1
- package/dist/plugins/all.d.ts +18 -2
- package/dist/plugins/all.d.ts.map +1 -1
- package/dist/plugins/all.js +19 -2
- package/dist/plugins/all.js.map +1 -1
- package/dist/plugins/allocate.d.ts +1 -0
- package/dist/plugins/allocate.d.ts.map +1 -1
- package/dist/plugins/allocate.js +2 -0
- package/dist/plugins/allocate.js.map +1 -1
- package/dist/plugins/braintree.d.ts +1 -0
- package/dist/plugins/braintree.d.ts.map +1 -1
- package/dist/plugins/braintree.js +2 -0
- package/dist/plugins/braintree.js.map +1 -1
- package/dist/plugins/cash.d.ts +1 -0
- package/dist/plugins/cash.d.ts.map +1 -1
- package/dist/plugins/cash.js +2 -0
- package/dist/plugins/cash.js.map +1 -1
- package/dist/plugins/checkout.d.ts +1 -0
- package/dist/plugins/checkout.d.ts.map +1 -1
- package/dist/plugins/checkout.js +2 -0
- package/dist/plugins/checkout.js.map +1 -1
- package/dist/plugins/convert.d.ts +5 -0
- package/dist/plugins/convert.d.ts.map +1 -1
- package/dist/plugins/convert.js +2 -0
- package/dist/plugins/convert.js.map +1 -1
- package/dist/plugins/core.d.ts +78 -0
- package/dist/plugins/core.d.ts.map +1 -0
- package/dist/plugins/core.js +104 -0
- package/dist/plugins/core.js.map +1 -0
- package/dist/plugins/exact.d.ts +1 -0
- package/dist/plugins/exact.d.ts.map +1 -1
- package/dist/plugins/exact.js +2 -0
- package/dist/plugins/exact.js.map +1 -1
- package/dist/plugins/fixed-money.d.ts +31 -0
- package/dist/plugins/fixed-money.d.ts.map +1 -0
- package/dist/plugins/fixed-money.js +29 -0
- package/dist/plugins/fixed-money.js.map +1 -0
- package/dist/plugins/format.d.ts +5 -0
- package/dist/plugins/format.d.ts.map +1 -1
- package/dist/plugins/format.js +2 -0
- package/dist/plugins/format.js.map +1 -1
- package/dist/plugins/iso.d.ts +2 -0
- package/dist/plugins/iso.d.ts.map +1 -0
- package/dist/plugins/iso.js +9 -0
- package/dist/plugins/iso.js.map +1 -0
- package/dist/plugins/klarna.d.ts +1 -0
- package/dist/plugins/klarna.d.ts.map +1 -1
- package/dist/plugins/klarna.js +2 -0
- package/dist/plugins/klarna.js.map +1 -1
- package/dist/plugins/math.d.ts +20 -0
- package/dist/plugins/math.d.ts.map +1 -0
- package/dist/plugins/math.js +24 -0
- package/dist/plugins/math.js.map +1 -0
- package/dist/plugins/paypal.d.ts +5 -0
- package/dist/plugins/paypal.d.ts.map +1 -1
- package/dist/plugins/paypal.js +6 -0
- package/dist/plugins/paypal.js.map +1 -1
- package/dist/plugins/prisma.d.ts +5 -0
- package/dist/plugins/prisma.d.ts.map +1 -1
- package/dist/plugins/prisma.js +6 -0
- package/dist/plugins/prisma.js.map +1 -1
- package/dist/plugins/stripe.d.ts +5 -0
- package/dist/plugins/stripe.d.ts.map +1 -1
- package/dist/plugins/stripe.js +6 -0
- package/dist/plugins/stripe.js.map +1 -1
- package/dist/plugins/tax.d.ts +1 -0
- package/dist/plugins/tax.d.ts.map +1 -1
- package/dist/plugins/tax.js +6 -0
- package/dist/plugins/tax.js.map +1 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +5 -6
- package/dist/policy.js.map +1 -1
- package/dist/pricing.d.ts +52 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +100 -0
- package/dist/pricing.js.map +1 -0
- package/dist/prisma.d.ts.map +1 -1
- package/dist/prisma.js +6 -2
- package/dist/prisma.js.map +1 -1
- package/dist/provider.js +2 -2
- package/dist/provider.js.map +1 -1
- package/dist/rate-text.d.ts +6 -0
- package/dist/rate-text.d.ts.map +1 -1
- package/dist/rate-text.js +24 -1
- package/dist/rate-text.js.map +1 -1
- package/dist/rate.d.ts.map +1 -1
- package/dist/rate.js +2 -3
- package/dist/rate.js.map +1 -1
- package/dist/rbnf.d.ts +29 -0
- package/dist/rbnf.d.ts.map +1 -0
- package/dist/rbnf.js +301 -0
- package/dist/rbnf.js.map +1 -0
- package/dist/scale.d.ts +8 -0
- package/dist/scale.d.ts.map +1 -0
- package/dist/scale.js +34 -0
- package/dist/scale.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +4 -5
- package/dist/schema.js.map +1 -1
- package/dist/territories.d.ts +40 -0
- package/dist/territories.d.ts.map +1 -0
- package/dist/territories.js +71 -0
- package/dist/territories.js.map +1 -0
- package/dist/testing/arbitraries.d.ts.map +1 -1
- package/dist/testing/arbitraries.js +4 -4
- package/dist/testing/arbitraries.js.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/tiers.d.ts +95 -0
- package/dist/tiers.d.ts.map +1 -0
- package/dist/tiers.js +173 -0
- package/dist/tiers.js.map +1 -0
- package/dist/valibot.d.ts.map +1 -1
- package/dist/valibot.js +4 -1
- package/dist/valibot.js.map +1 -1
- package/dist/wire.d.ts +105 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +212 -0
- package/dist/wire.js.map +1 -0
- package/dist/words/de.d.ts +4 -0
- package/dist/words/de.d.ts.map +1 -0
- package/dist/words/de.js +8 -0
- package/dist/words/de.js.map +1 -0
- package/dist/words/en.d.ts +4 -0
- package/dist/words/en.d.ts.map +1 -0
- package/dist/words/en.js +8 -0
- package/dist/words/en.js.map +1 -0
- package/dist/words/es.d.ts +4 -0
- package/dist/words/es.d.ts.map +1 -0
- package/dist/words/es.js +8 -0
- package/dist/words/es.js.map +1 -0
- package/dist/words/fr.d.ts +4 -0
- package/dist/words/fr.d.ts.map +1 -0
- package/dist/words/fr.js +8 -0
- package/dist/words/fr.js.map +1 -0
- package/dist/words/it.d.ts +4 -0
- package/dist/words/it.d.ts.map +1 -0
- package/dist/words/it.js +8 -0
- package/dist/words/it.js.map +1 -0
- package/dist/words/nl.d.ts +4 -0
- package/dist/words/nl.d.ts.map +1 -0
- package/dist/words/nl.js +8 -0
- package/dist/words/nl.js.map +1 -0
- package/dist/words/pt.d.ts +4 -0
- package/dist/words/pt.d.ts.map +1 -0
- package/dist/words/pt.js +8 -0
- package/dist/words/pt.js.map +1 -0
- package/dist/words.d.ts +63 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +107 -0
- package/dist/words.js.map +1 -0
- package/dist/zod.d.ts.map +1 -1
- package/dist/zod.js +1 -1
- package/dist/zod.js.map +1 -1
- package/package.json +312 -54
- package/src/adyen-fx.ts +1 -1
- package/src/allocate.ts +4 -3
- package/src/cash.ts +26 -0
- package/src/convert.ts +2 -3
- package/src/crypto.ts +129 -0
- package/src/currencies.ts +123 -0
- package/src/currency.ts +45 -14
- package/src/decimal.ts +98 -10
- package/src/ecb.ts +75 -16
- package/src/entries/adyen-fx.ts +5 -0
- package/src/entries/boc.ts +5 -0
- package/src/entries/boe.ts +5 -0
- package/src/entries/crypto.ts +5 -0
- package/src/entries/currencies.ts +5 -0
- package/src/entries/drizzle-mysql.ts +5 -0
- package/src/entries/drizzle-pg.ts +5 -0
- package/src/entries/drizzle-sqlite.ts +5 -0
- package/src/entries/ecb.ts +5 -0
- package/src/entries/fed.ts +5 -0
- package/src/entries/fetch.ts +5 -0
- package/src/entries/finance.ts +5 -0
- package/src/entries/historic.ts +5 -0
- package/src/entries/history.ts +5 -0
- package/src/entries/hmrc.ts +5 -0
- package/src/entries/kysely.ts +5 -0
- package/src/entries/parse.ts +5 -0
- package/src/entries/pg.ts +5 -0
- package/src/entries/policy.ts +5 -0
- package/src/entries/pricing.ts +5 -0
- package/src/entries/stripe-fx.ts +5 -0
- package/src/entries/testing-arbitraries.ts +5 -0
- package/src/entries/testing-index.ts +5 -0
- package/src/entries/testing-jest.ts +5 -0
- package/src/entries/testing-vitest.ts +5 -0
- package/src/entries/valibot.ts +5 -0
- package/src/entries/wire.ts +5 -0
- package/src/entries/zod.ts +5 -0
- package/src/exact.ts +3 -3
- package/src/fetch.ts +20 -4
- package/src/finance.ts +1219 -0
- package/src/fixed-money.ts +38 -0
- package/src/fixed.ts +74 -66
- package/src/fn.ts +17 -0
- package/src/format.ts +28 -9
- package/src/generated/crypto.ts +15 -0
- package/src/generated/iso/AED.ts +5 -0
- package/src/generated/iso/AFN.ts +5 -0
- package/src/generated/iso/ALL.ts +5 -0
- package/src/generated/iso/AMD.ts +5 -0
- package/src/generated/iso/AOA.ts +5 -0
- package/src/generated/iso/ARS.ts +5 -0
- package/src/generated/iso/AUD.ts +5 -0
- package/src/generated/iso/AWG.ts +5 -0
- package/src/generated/iso/AZN.ts +5 -0
- package/src/generated/iso/BAM.ts +5 -0
- package/src/generated/iso/BBD.ts +5 -0
- package/src/generated/iso/BDT.ts +5 -0
- package/src/generated/iso/BHD.ts +5 -0
- package/src/generated/iso/BIF.ts +5 -0
- package/src/generated/iso/BMD.ts +5 -0
- package/src/generated/iso/BND.ts +5 -0
- package/src/generated/iso/BOB.ts +5 -0
- package/src/generated/iso/BOV.ts +5 -0
- package/src/generated/iso/BRL.ts +5 -0
- package/src/generated/iso/BSD.ts +5 -0
- package/src/generated/iso/BTN.ts +5 -0
- package/src/generated/iso/BWP.ts +5 -0
- package/src/generated/iso/BYN.ts +5 -0
- package/src/generated/iso/BZD.ts +5 -0
- package/src/generated/iso/CAD.ts +5 -0
- package/src/generated/iso/CDF.ts +5 -0
- package/src/generated/iso/CHE.ts +5 -0
- package/src/generated/iso/CHF.ts +5 -0
- package/src/generated/iso/CHW.ts +5 -0
- package/src/generated/iso/CLF.ts +5 -0
- package/src/generated/iso/CLP.ts +5 -0
- package/src/generated/iso/CNY.ts +5 -0
- package/src/generated/iso/COP.ts +5 -0
- package/src/generated/iso/COU.ts +5 -0
- package/src/generated/iso/CRC.ts +5 -0
- package/src/generated/iso/CUP.ts +5 -0
- package/src/generated/iso/CVE.ts +5 -0
- package/src/generated/iso/CZK.ts +5 -0
- package/src/generated/iso/DJF.ts +5 -0
- package/src/generated/iso/DKK.ts +5 -0
- package/src/generated/iso/DOP.ts +5 -0
- package/src/generated/iso/DZD.ts +5 -0
- package/src/generated/iso/EGP.ts +5 -0
- package/src/generated/iso/ERN.ts +5 -0
- package/src/generated/iso/ETB.ts +5 -0
- package/src/generated/iso/EUR.ts +5 -0
- package/src/generated/iso/FJD.ts +5 -0
- package/src/generated/iso/FKP.ts +5 -0
- package/src/generated/iso/GBP.ts +5 -0
- package/src/generated/iso/GEL.ts +5 -0
- package/src/generated/iso/GHS.ts +5 -0
- package/src/generated/iso/GIP.ts +5 -0
- package/src/generated/iso/GMD.ts +5 -0
- package/src/generated/iso/GNF.ts +5 -0
- package/src/generated/iso/GTQ.ts +5 -0
- package/src/generated/iso/GYD.ts +5 -0
- package/src/generated/iso/HKD.ts +5 -0
- package/src/generated/iso/HNL.ts +5 -0
- package/src/generated/iso/HTG.ts +5 -0
- package/src/generated/iso/HUF.ts +5 -0
- package/src/generated/iso/IDR.ts +5 -0
- package/src/generated/iso/ILS.ts +5 -0
- package/src/generated/iso/INR.ts +5 -0
- package/src/generated/iso/IQD.ts +5 -0
- package/src/generated/iso/IRR.ts +5 -0
- package/src/generated/iso/ISK.ts +5 -0
- package/src/generated/iso/JMD.ts +5 -0
- package/src/generated/iso/JOD.ts +5 -0
- package/src/generated/iso/JPY.ts +5 -0
- package/src/generated/iso/KES.ts +5 -0
- package/src/generated/iso/KGS.ts +5 -0
- package/src/generated/iso/KHR.ts +5 -0
- package/src/generated/iso/KMF.ts +5 -0
- package/src/generated/iso/KPW.ts +5 -0
- package/src/generated/iso/KRW.ts +5 -0
- package/src/generated/iso/KWD.ts +5 -0
- package/src/generated/iso/KYD.ts +5 -0
- package/src/generated/iso/KZT.ts +5 -0
- package/src/generated/iso/LAK.ts +5 -0
- package/src/generated/iso/LBP.ts +5 -0
- package/src/generated/iso/LKR.ts +5 -0
- package/src/generated/iso/LRD.ts +5 -0
- package/src/generated/iso/LSL.ts +5 -0
- package/src/generated/iso/LYD.ts +5 -0
- package/src/generated/iso/MAD.ts +5 -0
- package/src/generated/iso/MDL.ts +5 -0
- package/src/generated/iso/MGA.ts +5 -0
- package/src/generated/iso/MKD.ts +5 -0
- package/src/generated/iso/MMK.ts +5 -0
- package/src/generated/iso/MNT.ts +5 -0
- package/src/generated/iso/MOP.ts +5 -0
- package/src/generated/iso/MRU.ts +5 -0
- package/src/generated/iso/MUR.ts +5 -0
- package/src/generated/iso/MVR.ts +5 -0
- package/src/generated/iso/MWK.ts +5 -0
- package/src/generated/iso/MXN.ts +5 -0
- package/src/generated/iso/MXV.ts +5 -0
- package/src/generated/iso/MYR.ts +5 -0
- package/src/generated/iso/MZN.ts +5 -0
- package/src/generated/iso/NAD.ts +5 -0
- package/src/generated/iso/NGN.ts +5 -0
- package/src/generated/iso/NIO.ts +5 -0
- package/src/generated/iso/NOK.ts +5 -0
- package/src/generated/iso/NPR.ts +5 -0
- package/src/generated/iso/NZD.ts +5 -0
- package/src/generated/iso/OMR.ts +5 -0
- package/src/generated/iso/PAB.ts +5 -0
- package/src/generated/iso/PEN.ts +5 -0
- package/src/generated/iso/PGK.ts +5 -0
- package/src/generated/iso/PHP.ts +5 -0
- package/src/generated/iso/PKR.ts +5 -0
- package/src/generated/iso/PLN.ts +5 -0
- package/src/generated/iso/PYG.ts +5 -0
- package/src/generated/iso/QAR.ts +5 -0
- package/src/generated/iso/RON.ts +5 -0
- package/src/generated/iso/RSD.ts +5 -0
- package/src/generated/iso/RUB.ts +5 -0
- package/src/generated/iso/RWF.ts +5 -0
- package/src/generated/iso/SAR.ts +5 -0
- package/src/generated/iso/SBD.ts +5 -0
- package/src/generated/iso/SCR.ts +5 -0
- package/src/generated/iso/SDG.ts +5 -0
- package/src/generated/iso/SEK.ts +5 -0
- package/src/generated/iso/SGD.ts +5 -0
- package/src/generated/iso/SHP.ts +5 -0
- package/src/generated/iso/SLE.ts +5 -0
- package/src/generated/iso/SOS.ts +5 -0
- package/src/generated/iso/SRD.ts +5 -0
- package/src/generated/iso/SSP.ts +5 -0
- package/src/generated/iso/STN.ts +5 -0
- package/src/generated/iso/SVC.ts +5 -0
- package/src/generated/iso/SYP.ts +5 -0
- package/src/generated/iso/SZL.ts +5 -0
- package/src/generated/iso/THB.ts +5 -0
- package/src/generated/iso/TJS.ts +5 -0
- package/src/generated/iso/TMT.ts +5 -0
- package/src/generated/iso/TND.ts +5 -0
- package/src/generated/iso/TOP.ts +5 -0
- package/src/generated/iso/TRY.ts +5 -0
- package/src/generated/iso/TTD.ts +5 -0
- package/src/generated/iso/TWD.ts +5 -0
- package/src/generated/iso/TZS.ts +5 -0
- package/src/generated/iso/UAH.ts +5 -0
- package/src/generated/iso/UGX.ts +5 -0
- package/src/generated/iso/USD.ts +5 -0
- package/src/generated/iso/USN.ts +5 -0
- package/src/generated/iso/UYI.ts +5 -0
- package/src/generated/iso/UYU.ts +5 -0
- package/src/generated/iso/UYW.ts +5 -0
- package/src/generated/iso/UZS.ts +5 -0
- package/src/generated/iso/VED.ts +5 -0
- package/src/generated/iso/VES.ts +5 -0
- package/src/generated/iso/VND.ts +5 -0
- package/src/generated/iso/VUV.ts +5 -0
- package/src/generated/iso/WST.ts +5 -0
- package/src/generated/iso/XAD.ts +5 -0
- package/src/generated/iso/XAF.ts +5 -0
- package/src/generated/iso/XCD.ts +5 -0
- package/src/generated/iso/XCG.ts +5 -0
- package/src/generated/iso/XOF.ts +5 -0
- package/src/generated/iso/XPF.ts +5 -0
- package/src/generated/iso/YER.ts +5 -0
- package/src/generated/iso/ZAR.ts +5 -0
- package/src/generated/iso/ZMW.ts +5 -0
- package/src/generated/iso/ZWG.ts +5 -0
- package/src/generated/iso4217-numeric.ts +184 -0
- package/src/generated/rbnf-de.ts +5 -0
- package/src/generated/rbnf-en.ts +5 -0
- package/src/generated/rbnf-es.ts +5 -0
- package/src/generated/rbnf-fr.ts +5 -0
- package/src/generated/rbnf-it.ts +5 -0
- package/src/generated/rbnf-nl.ts +5 -0
- package/src/generated/rbnf-pt.ts +5 -0
- package/src/generated/territories.ts +277 -0
- package/src/index.ts +3 -0
- package/src/kysely.ts +4 -3
- package/src/math.ts +167 -0
- package/src/money.ts +136 -140
- package/src/parse.ts +7 -7
- package/src/plugins/adyen.ts +2 -0
- package/src/plugins/all.ts +19 -1
- package/src/plugins/allocate.ts +2 -0
- package/src/plugins/braintree.ts +2 -0
- package/src/plugins/cash.ts +2 -0
- package/src/plugins/checkout.ts +2 -0
- package/src/plugins/convert.ts +2 -0
- package/src/plugins/core.ts +195 -0
- package/src/plugins/exact.ts +2 -0
- package/src/plugins/fixed-money.ts +57 -0
- package/src/plugins/format.ts +2 -0
- package/src/plugins/iso.ts +9 -0
- package/src/plugins/klarna.ts +2 -0
- package/src/plugins/math.ts +43 -0
- package/src/plugins/paypal.ts +2 -0
- package/src/plugins/prisma.ts +2 -0
- package/src/plugins/stripe.ts +2 -0
- package/src/plugins/tax.ts +2 -0
- package/src/policy.ts +5 -8
- package/src/pricing.ts +155 -0
- package/src/prisma.ts +6 -1
- package/src/provider.ts +2 -2
- package/src/rate-text.ts +27 -1
- package/src/rate.ts +2 -2
- package/src/rbnf.ts +389 -0
- package/src/scale.ts +42 -0
- package/src/schema.ts +4 -7
- package/src/territories.ts +102 -0
- package/src/testing/arbitraries.ts +4 -4
- package/src/testing/index.ts +1 -1
- package/src/tiers.ts +284 -0
- package/src/valibot.ts +4 -1
- package/src/wire.ts +322 -0
- package/src/words/de.ts +9 -0
- package/src/words/en.ts +9 -0
- package/src/words/es.ts +9 -0
- package/src/words/fr.ts +9 -0
- package/src/words/it.ts +9 -0
- package/src/words/nl.ts +9 -0
- package/src/words/pt.ts +9 -0
- package/src/words.ts +168 -0
- package/src/zod.ts +1 -1
- package/dist/plugins/fixed.d.ts +0 -17
- package/dist/plugins/fixed.d.ts.map +0 -1
- package/dist/plugins/fixed.js +0 -13
- package/dist/plugins/fixed.js.map +0 -1
- package/src/plugins/fixed.ts +0 -29
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ducatjs/money/currencies`: currency facts beyond the exponent. ISO 4217 numeric codes both
|
|
3
|
+
* ways, the size of the minor unit, and names and symbols per locale, which come from the runtime's
|
|
4
|
+
* `Intl` rather than a bundled table. Which currencies a territory uses is in
|
|
5
|
+
* `@ducatjs/money/territories`.
|
|
6
|
+
*/
|
|
7
|
+
import { currencyExponent } from './currency.js';
|
|
8
|
+
import { formatScaled } from './decimal.js';
|
|
9
|
+
import { ISO_NUMERIC_CODES } from './generated/iso4217-numeric.js';
|
|
10
|
+
// ---------------------------------------------------------------------------------------------
|
|
11
|
+
// Numeric codes
|
|
12
|
+
// ---------------------------------------------------------------------------------------------
|
|
13
|
+
/**
|
|
14
|
+
* The ISO 4217 numeric code of an active currency, three digits as published: `'978'` for EUR,
|
|
15
|
+
* `'008'` for ALL. Card networks, ISO 8583 and some ISO 20022 messages carry currencies this way.
|
|
16
|
+
* `undefined` for a code ISO doesn't list (a custom or withdrawn currency).
|
|
17
|
+
*/
|
|
18
|
+
export function numericCode(currency) {
|
|
19
|
+
return Object.hasOwn(ISO_NUMERIC_CODES, currency) ? ISO_NUMERIC_CODES[currency] : undefined;
|
|
20
|
+
}
|
|
21
|
+
let currenciesByNumeric;
|
|
22
|
+
/**
|
|
23
|
+
* The active ISO 4217 currency with a numeric code: `currencyFromNumeric('978')` and
|
|
24
|
+
* `currencyFromNumeric(978)` are `'EUR'`, and `'008'`, `'8'` and `8` are all `'ALL'`. `undefined`
|
|
25
|
+
* for a number ISO doesn't assign; a value that isn't a whole number from 0 to 999 throws a
|
|
26
|
+
* RangeError.
|
|
27
|
+
*/
|
|
28
|
+
export function currencyFromNumeric(numeric) {
|
|
29
|
+
const text = typeof numeric === 'number' ? String(numeric) : numeric.trim();
|
|
30
|
+
if (!/^\d{1,3}$/.test(text)) {
|
|
31
|
+
throw new RangeError(`Not an ISO 4217 numeric code: ${String(numeric)}`);
|
|
32
|
+
}
|
|
33
|
+
if (currenciesByNumeric === undefined) {
|
|
34
|
+
currenciesByNumeric = new Map();
|
|
35
|
+
for (const [currency, code] of Object.entries(ISO_NUMERIC_CODES)) {
|
|
36
|
+
currenciesByNumeric.set(code, currency);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return currenciesByNumeric.get(text.padStart(3, '0'));
|
|
40
|
+
}
|
|
41
|
+
// ---------------------------------------------------------------------------------------------
|
|
42
|
+
// Minor unit
|
|
43
|
+
// ---------------------------------------------------------------------------------------------
|
|
44
|
+
/**
|
|
45
|
+
* The size of the currency's minor unit, in major units, as an exact decimal string: `'0.01'` for
|
|
46
|
+
* EUR, `'1'` for JPY (no minor unit), `'0.001'` for KWD and BHD. It follows the exponent, so a
|
|
47
|
+
* currency registered with `defineCurrency` works too; an unknown code throws, as
|
|
48
|
+
* `currencyExponent` does. For the smallest coin, see `cashUnit` in `@ducatjs/money/cash`.
|
|
49
|
+
*/
|
|
50
|
+
export function minorUnit(currency) {
|
|
51
|
+
return formatScaled(1, currencyExponent(currency));
|
|
52
|
+
}
|
|
53
|
+
// ---------------------------------------------------------------------------------------------
|
|
54
|
+
// Names and symbols, from Intl
|
|
55
|
+
// ---------------------------------------------------------------------------------------------
|
|
56
|
+
const displayNames = /* @__PURE__ */ new Map();
|
|
57
|
+
const symbolFormats = /* @__PURE__ */ new Map();
|
|
58
|
+
function cached(cache, key, build) {
|
|
59
|
+
let value = cache.get(key);
|
|
60
|
+
if (value === undefined) {
|
|
61
|
+
// a handful of locales in practice; the bound keeps a server that sees many from growing
|
|
62
|
+
if (cache.size >= 64) {
|
|
63
|
+
cache.clear();
|
|
64
|
+
}
|
|
65
|
+
value = build();
|
|
66
|
+
cache.set(key, value);
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The currency's name in a locale, from the runtime's `Intl.DisplayNames`: `currencyName('EUR',
|
|
72
|
+
* 'en')` is 'Euro' and `currencyName('EUR', 'de')` is 'Euro'; `currencyName('CHF', 'fr')` is 'franc
|
|
73
|
+
* suisse'. `undefined` when the runtime has no name for the code. Names follow the runtime's CLDR
|
|
74
|
+
* data, so they can differ between runtimes and versions.
|
|
75
|
+
*/
|
|
76
|
+
export function currencyName(currency, locale) {
|
|
77
|
+
const names = cached(displayNames, locale, () => new Intl.DisplayNames(locale, { type: 'currency', fallback: 'none' }));
|
|
78
|
+
return names.of(currency);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The currency's symbol in a locale, from the runtime's `Intl.NumberFormat`: `currencySymbol('EUR',
|
|
82
|
+
* 'en-US')` is '€', `currencySymbol('USD', 'en-CA')` is 'US$', and `currencySymbol('USD', 'en-CA',
|
|
83
|
+
* { display: 'narrow' })` is '$'. A currency without a symbol in that locale gives its code.
|
|
84
|
+
*/
|
|
85
|
+
export function currencySymbol(currency, locale, options) {
|
|
86
|
+
const display = options?.display === 'narrow' ? 'narrowSymbol' : 'symbol';
|
|
87
|
+
const format = cached(symbolFormats, `${locale}\u0000${currency}\u0000${display}`, () => new Intl.NumberFormat(locale, { style: 'currency', currency, currencyDisplay: display }));
|
|
88
|
+
const part = format.formatToParts(0).find((candidate) => candidate.type === 'currency');
|
|
89
|
+
return part?.value ?? currency;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=currencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencies.js","sourceRoot":"","sources":["../src/currencies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,gGAAgG;AAChG,gBAAgB;AAChB,gGAAgG;AAEhG;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED,IAAI,mBAAoD,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,iCAAiC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjE,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,gGAAgG;AAChG,aAAa;AACb,gGAAgG;AAEhG;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,OAAO,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,gGAAgG;AAChG,+BAA+B;AAC/B,gGAAgG;AAEhG,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,GAAG,EAA6B,CAAC;AAC1E,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,GAAG,EAA6B,CAAC;AAE3E,SAAS,MAAM,CAAI,KAAqB,EAAE,GAAW,EAAE,KAAc;IACnE,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,yFAAyF;QACzF,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,KAAK,GAAG,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,MAAM,CAClB,YAAY,EACZ,MAAM,EACN,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAC5E,CAAC;IACF,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,MAAc,EACd,OAA+B;IAE/B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CACnB,aAAa,EACb,GAAG,MAAM,SAAS,QAAQ,SAAS,OAAO,EAAE,EAC5C,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAC/F,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACxF,OAAO,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC;AACjC,CAAC"}
|
package/dist/currency.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export interface CustomCurrencies {
|
|
|
9
9
|
}
|
|
10
10
|
/** A known currency code: ISO 4217, or one added to `CustomCurrencies`. */
|
|
11
11
|
export type CurrencyCode = IsoCurrencyCode | (keyof CustomCurrencies & string);
|
|
12
|
+
/** @internal Registers an ISO 4217 code; the generated `iso/<CODE>` modules call it. */
|
|
13
|
+
export declare function isoCurrency(code: string, exponent: number): void;
|
|
14
|
+
/** @internal Registers every ISO 4217 code, for `@ducatjs/money/iso`. */
|
|
15
|
+
export declare function registerIsoCurrencies(): void;
|
|
12
16
|
/**
|
|
13
17
|
* Registers a currency that is not in ISO 4217 (crypto, loyalty points, withdrawn codes you still
|
|
14
18
|
* hold balances in). ISO codes cannot be redefined: use an explicit `scale` for extra precision.
|
|
@@ -16,7 +20,11 @@ export type CurrencyCode = IsoCurrencyCode | (keyof CustomCurrencies & string);
|
|
|
16
20
|
export declare function defineCurrency(code: string, exponent: number): void;
|
|
17
21
|
/** The minor-unit exponent of a currency (EUR 2, JPY 0, KWD 3). Throws for unknown codes. */
|
|
18
22
|
export declare function currencyExponent(code: string): number;
|
|
19
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Whether the code is registered: an ISO 4217 code (every one wherever an entry other than `/fn` is
|
|
25
|
+
* imported; in a `/fn`-only program, the ones imported from `@ducatjs/money/iso`), or a code from
|
|
26
|
+
* `defineCurrency`.
|
|
27
|
+
*/
|
|
20
28
|
export declare function isCurrency(code: string): code is CurrencyCode;
|
|
21
29
|
export { ISO_EXPONENTS, ISO_4217_PUBLISHED, ISO_NON_MONETARY, type IsoCurrencyCode, } from './generated/iso4217.js';
|
|
22
30
|
//# sourceMappingURL=currency.d.ts.map
|
package/dist/currency.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;CAAG;AAEpC,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;CAAG;AAEpC,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC;AAoB/E,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAgBnE;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AASD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY,CAE7D;AAED,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC"}
|
package/dist/currency.js
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
import { ISO_EXPONENTS } from './generated/iso4217.js';
|
|
2
|
-
const custom = new Map();
|
|
3
2
|
const iso = ISO_EXPONENTS;
|
|
3
|
+
// The exponents of the currencies this program can use. `@ducatjs/money/iso/<CODE>` and
|
|
4
|
+
// `defineCurrency` add codes to `known` one at a time; `@ducatjs/money/iso` (which every entry except
|
|
5
|
+
// `/fn` imports) makes the ISO table literal its prototype rather than copying it. That keeps the
|
|
6
|
+
// lookup as fast as reading the literal directly: V8 folds a load through a stable prototype, while
|
|
7
|
+
// a copy of 165 keys, or a null-prototype object, is a slow dictionary (#243 doubled fromMinor's
|
|
8
|
+
// time that way). `known` has a prototype, so a value counts only when it's a number: `toString`
|
|
9
|
+
// is a function and `__proto__` an object. A number someone puts on Object.prototype would count,
|
|
10
|
+
// as it did when main read the ISO literal directly; the alternative is an own-property check on
|
|
11
|
+
// every lookup.
|
|
12
|
+
const known = {};
|
|
13
|
+
function exponentOf(code) {
|
|
14
|
+
const exponent = known[code];
|
|
15
|
+
return typeof exponent === 'number' ? exponent : undefined;
|
|
16
|
+
}
|
|
17
|
+
/** @internal Registers an ISO 4217 code; the generated `iso/<CODE>` modules call it. */
|
|
18
|
+
export function isoCurrency(code, exponent) {
|
|
19
|
+
known[code] = exponent;
|
|
20
|
+
}
|
|
21
|
+
/** @internal Registers every ISO 4217 code, for `@ducatjs/money/iso`. */
|
|
22
|
+
export function registerIsoCurrencies() {
|
|
23
|
+
Object.setPrototypeOf(known, iso);
|
|
24
|
+
}
|
|
4
25
|
/**
|
|
5
26
|
* Registers a currency that is not in ISO 4217 (crypto, loyalty points, withdrawn codes you still
|
|
6
27
|
* hold balances in). ISO codes cannot be redefined: use an explicit `scale` for extra precision.
|
|
@@ -12,27 +33,33 @@ export function defineCurrency(code, exponent) {
|
|
|
12
33
|
if (typeof iso[code] === 'number') {
|
|
13
34
|
throw new TypeError(`${code} is an ISO 4217 currency and cannot be redefined`);
|
|
14
35
|
}
|
|
15
|
-
|
|
36
|
+
// `known` has a prototype, where `__proto__` is a setter and `toString` a method
|
|
37
|
+
if (code in Object.prototype) {
|
|
38
|
+
throw new TypeError(`${code} can't be a currency code`);
|
|
39
|
+
}
|
|
40
|
+
const prev = exponentOf(code);
|
|
16
41
|
if (prev !== undefined && prev !== exponent) {
|
|
17
42
|
throw new TypeError(`${code} is already defined with exponent ${prev}`);
|
|
18
43
|
}
|
|
19
|
-
|
|
44
|
+
known[code] = exponent;
|
|
20
45
|
}
|
|
21
46
|
/** The minor-unit exponent of a currency (EUR 2, JPY 0, KWD 3). Throws for unknown codes. */
|
|
22
47
|
export function currencyExponent(code) {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
throw new RangeError(`Unknown currency "${code}" (not ISO 4217 and not registered with defineCurrency)`);
|
|
48
|
+
const exponent = exponentOf(code);
|
|
49
|
+
return exponent === undefined ? unknownCurrency(code) : exponent;
|
|
50
|
+
}
|
|
51
|
+
function unknownCurrency(code) {
|
|
52
|
+
throw new RangeError(
|
|
53
|
+
// true wherever it's thrown: with the root entry every ISO code is registered already
|
|
54
|
+
`Unknown currency "${code}" (ISO codes with /fn alone: import @ducatjs/money/iso; others: defineCurrency)`);
|
|
32
55
|
}
|
|
33
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Whether the code is registered: an ISO 4217 code (every one wherever an entry other than `/fn` is
|
|
58
|
+
* imported; in a `/fn`-only program, the ones imported from `@ducatjs/money/iso`), or a code from
|
|
59
|
+
* `defineCurrency`.
|
|
60
|
+
*/
|
|
34
61
|
export function isCurrency(code) {
|
|
35
|
-
return
|
|
62
|
+
return exponentOf(code) !== undefined;
|
|
36
63
|
}
|
|
37
64
|
export { ISO_EXPONENTS, ISO_4217_PUBLISHED, ISO_NON_MONETARY, } from './generated/iso4217.js';
|
|
38
65
|
//# sourceMappingURL=currency.js.map
|
package/dist/currency.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAc7E,MAAM,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAc7E,MAAM,GAAG,GAAG,aAAiD,CAAC;AAE9D,wFAAwF;AACxF,sGAAsG;AACtG,kGAAkG;AAClG,oGAAoG;AACpG,iGAAiG;AACjG,iGAAiG;AACjG,kGAAkG;AAClG,iGAAiG;AACjG,gBAAgB;AAChB,MAAM,KAAK,GAA2B,EAAE,CAAC;AAEzC,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB;IACxD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AACzB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB;IAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,kDAAkD,CAAC,CAAC;IACjF,CAAC;IACD,iFAAiF;IACjF,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,qCAAqC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AACzB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,IAAI,UAAU;IAClB,sFAAsF;IACtF,qBAAqB,IAAI,iFAAiF,CAC3G,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AACxC,CAAC;AAED,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC"}
|
package/dist/decimal.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Fixed } from './fixed.js';
|
|
1
2
|
/**
|
|
2
3
|
* An exact rational factor num/den (den > 0). `n`/`d` hold the same values as numbers when both are
|
|
3
4
|
* safe.
|
|
@@ -10,8 +11,11 @@ export interface Ratio {
|
|
|
10
11
|
/** den as a number, or NaN when it is not a safe integer */
|
|
11
12
|
readonly d: number;
|
|
12
13
|
}
|
|
13
|
-
/**
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Anything accepted where a multiplier, rate or percentage is expected. A `Fixed` is read exactly,
|
|
16
|
+
* as its scaled integer over 10^scale.
|
|
17
|
+
*/
|
|
18
|
+
export type Factor = number | bigint | string | Ratio | Fixed;
|
|
15
19
|
/** 10^exponent as a bigint, cached. */
|
|
16
20
|
export declare function pow10n(exponent: number): bigint;
|
|
17
21
|
/** 10^e as a number for 0 <= e <= 15 (all exact and safe). */
|
|
@@ -39,9 +43,27 @@ export declare function parseDecimal(input: string): {
|
|
|
39
43
|
digits: bigint;
|
|
40
44
|
scale: number;
|
|
41
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* A double holds 15 significant decimal digits faithfully (DBL_DIG): a number whose shortest form
|
|
48
|
+
* has no more than that is the decimal its author wrote. 0.1 + 0.2 reads back as
|
|
49
|
+
* 0.30000000000000004 and 1 / 0.52 as 1.9230769230769231 (17 digits): those are float artefacts.
|
|
50
|
+
*/
|
|
51
|
+
export declare const MAX_FAITHFUL_DIGITS = 15;
|
|
52
|
+
/**
|
|
53
|
+
* A number's shortest decimal form, which must have at most 15 significant digits (see
|
|
54
|
+
* MAX_FAITHFUL_DIGITS). `fix` says what to do instead, for the error message.
|
|
55
|
+
*/
|
|
56
|
+
export declare function faithfulDecimal(value: number, fix: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Returns `scale` if it is a valid scale: an integer from 0 to MAX_DECIMAL_SCALE. Scales are never
|
|
59
|
+
* negative: round to tens or hundreds with an increment (`roundToIncrement`, a rounding policy).
|
|
60
|
+
*/
|
|
61
|
+
export declare function checkScale(scale: number): number;
|
|
42
62
|
/**
|
|
43
63
|
* Builds an exact ratio. `ratio('1.075')`, `ratio(3, 4)`, `ratio(10n)`, `ratio('1/3')`.
|
|
44
|
-
* Numbers are taken at their shortest decimal representation: `ratio(0.1)` is exactly 1/10.
|
|
64
|
+
* Numbers are taken at their shortest decimal representation: `ratio(0.1)` is exactly 1/10. One
|
|
65
|
+
* with more than 15 significant digits (`1 / 0.52` is 1.9230769230769231) throws a RangeError,
|
|
66
|
+
* since a float artefact can't be told from a decimal someone wrote; pass a string instead.
|
|
45
67
|
* Pre-build ratios you use in hot loops; strings are also cached (up to 1024 entries).
|
|
46
68
|
*/
|
|
47
69
|
export declare function ratio(value: Factor, den?: Factor): Ratio;
|
package/dist/decimal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAG9D,uCAAuC;AACvC,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/C;AACD,8DAA8D;AAC9D,eAAO,MAAM,KAAK,mLAER,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,MACC,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GACZ;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoDnD;AAID;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAkB7E;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAelE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhD;AA2DD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAqExD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAiB1D;AAKD,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAmC1E"}
|
package/dist/decimal.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// converted through their shortest round-trip decimal representation (String(x)), never multiplied.
|
|
3
3
|
/** The largest minor-unit count held as a number (2^53 - 1); larger values are bigints. */
|
|
4
4
|
const MAX_SAFE_MINOR = Number.MAX_SAFE_INTEGER;
|
|
5
|
-
const MAXN = BigInt(MAX_SAFE_MINOR);
|
|
5
|
+
const MAXN = /* @__PURE__ */ BigInt(MAX_SAFE_MINOR);
|
|
6
6
|
const POW10N = [];
|
|
7
7
|
/** 10^exponent as a bigint, cached. */
|
|
8
8
|
export function pow10n(exponent) {
|
|
@@ -85,7 +85,7 @@ const EXP_RE = /^([+-]?)(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/;
|
|
|
85
85
|
export const MAX_DECIMAL_SCALE = 1000;
|
|
86
86
|
/** Parses a decimal string, allowing exponent notation ("1e-7", as produced by String(1e-7)). */
|
|
87
87
|
export function parseDecimal(input) {
|
|
88
|
-
const match = EXP_RE.exec(input
|
|
88
|
+
const match = EXP_RE.exec(input);
|
|
89
89
|
if (!match) {
|
|
90
90
|
throw new SyntaxError(`Invalid decimal string "${input}"`);
|
|
91
91
|
}
|
|
@@ -103,6 +103,45 @@ export function parseDecimal(input) {
|
|
|
103
103
|
}
|
|
104
104
|
return { digits: sign === '-' ? -digits : digits, scale };
|
|
105
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* A double holds 15 significant decimal digits faithfully (DBL_DIG): a number whose shortest form
|
|
108
|
+
* has no more than that is the decimal its author wrote. 0.1 + 0.2 reads back as
|
|
109
|
+
* 0.30000000000000004 and 1 / 0.52 as 1.9230769230769231 (17 digits): those are float artefacts.
|
|
110
|
+
*/
|
|
111
|
+
export const MAX_FAITHFUL_DIGITS = 15;
|
|
112
|
+
/**
|
|
113
|
+
* A number's shortest decimal form, which must have at most 15 significant digits (see
|
|
114
|
+
* MAX_FAITHFUL_DIGITS). `fix` says what to do instead, for the error message.
|
|
115
|
+
*/
|
|
116
|
+
export function faithfulDecimal(value, fix) {
|
|
117
|
+
// The shortest form has at most 15 digits exactly when rounding to 15 digits gives the same
|
|
118
|
+
// double back: shortest means the fewest digits that round-trip.
|
|
119
|
+
// Safe integers are exact whatever their digit count, and NaN and the infinities pass through
|
|
120
|
+
// for the caller's parser to reject. (Today's callers take safe integers on a path of their own.)
|
|
121
|
+
if (!Number.isSafeInteger(value) &&
|
|
122
|
+
Number.isFinite(value) &&
|
|
123
|
+
Number(value.toPrecision(MAX_FAITHFUL_DIGITS)) !== value) {
|
|
124
|
+
throw new RangeError(`${value} has more than ${MAX_FAITHFUL_DIGITS} significant digits; ${fix}`);
|
|
125
|
+
}
|
|
126
|
+
return String(value);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Returns `scale` if it is a valid scale: an integer from 0 to MAX_DECIMAL_SCALE. Scales are never
|
|
130
|
+
* negative: round to tens or hundreds with an increment (`roundToIncrement`, a rounding policy).
|
|
131
|
+
*/
|
|
132
|
+
export function checkScale(scale) {
|
|
133
|
+
// On hot paths (Fixed, ExactMoney, policies), so one comparison does most of the work: `>>> 0`
|
|
134
|
+
// leaves an integer from 0 to 2^32 - 1 unchanged and changes negatives, fractions, NaN and the
|
|
135
|
+
// infinities.
|
|
136
|
+
if (scale >>> 0 !== scale || scale > MAX_DECIMAL_SCALE) {
|
|
137
|
+
invalidScale(scale);
|
|
138
|
+
}
|
|
139
|
+
return scale;
|
|
140
|
+
}
|
|
141
|
+
// Kept out of checkScale, so the check stays small enough to inline.
|
|
142
|
+
function invalidScale(scale) {
|
|
143
|
+
throw new RangeError(`Invalid scale ${scale}: use an integer from 0 to ${MAX_DECIMAL_SCALE}`);
|
|
144
|
+
}
|
|
106
145
|
function gcd(left, right) {
|
|
107
146
|
if (left < 0n) {
|
|
108
147
|
left = -left;
|
|
@@ -138,11 +177,21 @@ function makeRatio(num, den) {
|
|
|
138
177
|
}
|
|
139
178
|
return { num, den, n: safeNumberOrNaN(num), d: safeNumberOrNaN(den) };
|
|
140
179
|
}
|
|
141
|
-
|
|
180
|
+
/**
|
|
181
|
+
* The error for a value that isn't a factor. Untyped code passes all sorts here (a Fixed, a
|
|
182
|
+
* `{ num: 1, den: 2 }` of numbers, null), and without this check they fail later with an unrelated
|
|
183
|
+
* BigInt error, or are returned as if they were a Ratio.
|
|
184
|
+
*/
|
|
185
|
+
function notAFactor(value) {
|
|
186
|
+
return new TypeError(`Expected a number, bigint, decimal string, Ratio or Fixed, got ${typeof value} ${String(value)}`);
|
|
187
|
+
}
|
|
188
|
+
const cache = /* @__PURE__ */ new Map();
|
|
142
189
|
const INT_RATIOS = [];
|
|
143
190
|
/**
|
|
144
191
|
* Builds an exact ratio. `ratio('1.075')`, `ratio(3, 4)`, `ratio(10n)`, `ratio('1/3')`.
|
|
145
|
-
* Numbers are taken at their shortest decimal representation: `ratio(0.1)` is exactly 1/10.
|
|
192
|
+
* Numbers are taken at their shortest decimal representation: `ratio(0.1)` is exactly 1/10. One
|
|
193
|
+
* with more than 15 significant digits (`1 / 0.52` is 1.9230769230769231) throws a RangeError,
|
|
194
|
+
* since a float artefact can't be told from a decimal someone wrote; pass a string instead.
|
|
146
195
|
* Pre-build ratios you use in hot loops; strings are also cached (up to 1024 entries).
|
|
147
196
|
*/
|
|
148
197
|
export function ratio(value, den) {
|
|
@@ -156,7 +205,25 @@ export function ratio(value, den) {
|
|
|
156
205
|
return makeRatio(numeratorRatio.num * denominatorRatio.den, numeratorRatio.den * denominatorRatio.num);
|
|
157
206
|
}
|
|
158
207
|
if (typeof value === 'object') {
|
|
159
|
-
|
|
208
|
+
// A Ratio from ratio() passes straight through: the hot path for factors built once. A
|
|
209
|
+
// hand-made { num, den } of bigints is rebuilt, so it is reduced and has `n` and `d`.
|
|
210
|
+
const asRatio = value;
|
|
211
|
+
if (typeof asRatio?.num === 'bigint' && typeof asRatio.den === 'bigint') {
|
|
212
|
+
return typeof asRatio.n === 'number' && typeof asRatio.d === 'number'
|
|
213
|
+
? asRatio
|
|
214
|
+
: makeRatio(asRatio.num, asRatio.den);
|
|
215
|
+
}
|
|
216
|
+
// A Fixed, read through its scaled form rather than `instanceof`, so the core doesn't load
|
|
217
|
+
// `/fixed`. The scale is checked because a lookalike object could carry any value.
|
|
218
|
+
const scaled = value?.value;
|
|
219
|
+
const scale = value?.scale;
|
|
220
|
+
if ((typeof scaled === 'bigint' || Number.isSafeInteger(scaled)) &&
|
|
221
|
+
typeof scale === 'number' &&
|
|
222
|
+
scale >>> 0 === scale &&
|
|
223
|
+
scale <= MAX_DECIMAL_SCALE) {
|
|
224
|
+
return makeRatio(BigInt(scaled), pow10n(scale));
|
|
225
|
+
}
|
|
226
|
+
throw notAFactor(value);
|
|
160
227
|
}
|
|
161
228
|
if (typeof value === 'number') {
|
|
162
229
|
if (Number.isSafeInteger(value)) {
|
|
@@ -168,16 +235,19 @@ export function ratio(value, den) {
|
|
|
168
235
|
if (!Number.isFinite(value)) {
|
|
169
236
|
throw new RangeError(`Invalid factor ${value}`);
|
|
170
237
|
}
|
|
171
|
-
value =
|
|
238
|
+
value = faithfulDecimal(value, 'pass it as a string');
|
|
172
239
|
}
|
|
173
240
|
if (typeof value === 'bigint') {
|
|
174
241
|
return makeRatio(value, 1n);
|
|
175
242
|
}
|
|
243
|
+
if (typeof value !== 'string') {
|
|
244
|
+
throw notAFactor(value);
|
|
245
|
+
}
|
|
176
246
|
let cached = cache.get(value);
|
|
177
247
|
if (cached === undefined) {
|
|
178
248
|
const slash = value.indexOf('/');
|
|
179
249
|
if (slash > 0) {
|
|
180
|
-
cached = ratio(value.slice(0, slash)
|
|
250
|
+
cached = ratio(value.slice(0, slash), value.slice(slash + 1));
|
|
181
251
|
}
|
|
182
252
|
else {
|
|
183
253
|
const { digits, scale } = parseDecimal(value);
|
|
@@ -210,7 +280,7 @@ export function ratioToDecimal(value) {
|
|
|
210
280
|
return formatScaled(value.num * (pow10n(scale) / value.den), scale);
|
|
211
281
|
}
|
|
212
282
|
// Zero padding for the fraction digits, built once: indexing it is faster than padStart.
|
|
213
|
-
const ZPAD = Array.from({ length: 16 }, (_, length) => '0'.repeat(length));
|
|
283
|
+
const ZPAD = /* @__PURE__ */ Array.from({ length: 16 }, (_, length) => '0'.repeat(length));
|
|
214
284
|
/** Formats an integer at `scale` as a plain decimal string ("-0.05"). */
|
|
215
285
|
export function formatScaled(minor, scale) {
|
|
216
286
|
if (typeof minor === 'number' && scale <= 15) {
|
package/dist/decimal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../src/decimal.ts"],"names":[],"mappings":"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"}
|
package/dist/ecb.d.ts
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import { type RateTable } from './provider.js';
|
|
2
|
+
/** When each day's ECB rates became available: a publication time, for point-in-time lookups. */
|
|
3
|
+
export type EcbAvailableAt = boolean | ((day: string) => string | Date);
|
|
4
|
+
/** Options for parseEcbXml and parseEcbCsv. */
|
|
5
|
+
export interface EcbOptions {
|
|
6
|
+
/**
|
|
7
|
+
* When each day's rates became available, so that a historical lookup (`asOf` a time) can't
|
|
8
|
+
* use a rate before it was published. `true` gives the ECB's documented publication time, 16:00
|
|
9
|
+
* CET on the day (Frankfurt time: 15:00 UTC in winter, 14:00 UTC in summer); a function gives
|
|
10
|
+
* your own, say from your own fetch log, since the ECB's time is approximate and a delay moves
|
|
11
|
+
* it. Default: none, so a query at any time on the day gets that day's rates.
|
|
12
|
+
*/
|
|
13
|
+
readonly availableAt?: EcbAvailableAt;
|
|
14
|
+
}
|
|
2
15
|
/**
|
|
3
16
|
* Parses eurofxref-daily.xml, eurofxref-hist-90d.xml or eurofxref-hist.xml into one EUR-based table
|
|
4
17
|
* per day, newest first. Each rate is EUR → currency, with `source: 'ECB'`, `type: 'reference'` and
|
|
5
18
|
* `asOf` the publication day. A day without any rates is left out, so a lookback goes on to the day
|
|
6
|
-
* before. A rate entry that can't be read throws SyntaxError.
|
|
19
|
+
* before. A rate entry that can't be read throws SyntaxError. Pass `availableAt: true` to give each
|
|
20
|
+
* table the ECB's publication time, 16:00 CET (see `EcbOptions`).
|
|
7
21
|
*
|
|
8
22
|
* const [latest] = parseEcbXml(await readFile('eurofxref-daily.xml', 'utf8'));
|
|
9
23
|
*/
|
|
10
|
-
export declare function parseEcbXml(xml: string): RateTable[];
|
|
24
|
+
export declare function parseEcbXml(xml: string, options?: EcbOptions): RateTable[];
|
|
11
25
|
/**
|
|
12
26
|
* Parses eurofxref.csv or eurofxref-hist.csv (from the ECB's zips) the way parseEcbXml does.
|
|
13
27
|
* 'N/A' and blank cells (currencies not quoted that day) are listed in the table's `missing`, and a
|
|
14
|
-
* day with no rates at all is left out, so a lookback goes on to the day before.
|
|
28
|
+
* day with no rates at all is left out, so a lookback goes on to the day before. `availableAt` works
|
|
29
|
+
* as in parseEcbXml.
|
|
15
30
|
*/
|
|
16
|
-
export declare function parseEcbCsv(csv: string): RateTable[];
|
|
31
|
+
export declare function parseEcbCsv(csv: string, options?: EcbOptions): RateTable[];
|
|
17
32
|
/** Options for parseEcbSdmxCsv. */
|
|
18
|
-
export interface EcbSdmxOptions {
|
|
33
|
+
export interface EcbSdmxOptions extends EcbOptions {
|
|
19
34
|
/**
|
|
20
35
|
* The decimals each currency is published with, for a file without the DECIMALS column (as
|
|
21
36
|
* fetched with `detail=dataonly`). A DECIMALS column in the file takes precedence.
|
|
@@ -41,9 +56,9 @@ export declare function parseEcbSdmxDecimals(csv: string): Record<string, number
|
|
|
41
56
|
* throws SyntaxError rather than being read as a daily rate. Discontinued series simply end, so
|
|
42
57
|
* the tables of their last days include them.
|
|
43
58
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
59
|
+
* The API gives no publication time, so no `availableAt` is set unless asked for, as with
|
|
60
|
+
* parseEcbXml: without it, a backtest that asks for 10:00 CET on a day still gets that day's rate.
|
|
61
|
+
* Pass `availableAt: true` for the ECB's documented 16:00 CET, or a function for your own.
|
|
47
62
|
*
|
|
48
63
|
* const tables = parseEcbSdmxCsv(await (await fetch(url)).text());
|
|
49
64
|
* const history = rateHistory(tables); // from @ducatjs/money/convert/history
|
package/dist/ecb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecb.d.ts","sourceRoot":"","sources":["../src/ecb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ecb.d.ts","sourceRoot":"","sources":["../src/ecb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AA+B1D,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC;AAExE,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;CACvC;AA8ED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAiB1E;AAiCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAgC1E;AASD,mCAAmC;AACnC,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AA+CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxE;AAWD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,EAAE,CAyDlF"}
|