@ducatjs/money 0.1.0 → 0.2.1
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 +73 -0
- package/README.md +479 -62
- package/data/cash-rounding.json +123 -2
- package/data/cldr-cash.json +101 -0
- package/data/historic.json +78 -0
- package/data/iso4217-list-three.xml +1185 -0
- package/dist/adyen-fx.d.ts.map +1 -1
- package/dist/adyen-fx.js +22 -4
- package/dist/adyen-fx.js.map +1 -1
- package/dist/boc.d.ts +31 -0
- package/dist/boc.d.ts.map +1 -0
- package/dist/boc.js +114 -0
- package/dist/boc.js.map +1 -0
- package/dist/boe.d.ts +33 -0
- package/dist/boe.d.ts.map +1 -0
- package/dist/boe.js +114 -0
- package/dist/boe.js.map +1 -0
- package/dist/cash.d.ts +30 -1
- package/dist/cash.d.ts.map +1 -1
- package/dist/cash.js +50 -2
- package/dist/cash.js.map +1 -1
- package/dist/convert.d.ts +10 -9
- package/dist/convert.d.ts.map +1 -1
- package/dist/convert.js +13 -3
- package/dist/convert.js.map +1 -1
- package/dist/drizzle/mysql.d.ts +105 -0
- package/dist/drizzle/mysql.d.ts.map +1 -0
- package/dist/drizzle/mysql.js +60 -0
- package/dist/drizzle/mysql.js.map +1 -0
- package/dist/drizzle/pg.d.ts +103 -0
- package/dist/drizzle/pg.d.ts.map +1 -0
- package/dist/drizzle/pg.js +60 -0
- package/dist/drizzle/pg.js.map +1 -0
- package/dist/drizzle/sqlite.d.ts +102 -0
- package/dist/drizzle/sqlite.d.ts.map +1 -0
- package/dist/drizzle/sqlite.js +59 -0
- package/dist/drizzle/sqlite.js.map +1 -0
- package/dist/ecb.d.ts +37 -2
- package/dist/ecb.d.ts.map +1 -1
- package/dist/ecb.js +148 -10
- package/dist/ecb.js.map +1 -1
- package/dist/fed.d.ts +35 -0
- package/dist/fed.d.ts.map +1 -0
- package/dist/fed.js +134 -0
- package/dist/fed.js.map +1 -0
- package/dist/fetch.d.ts +45 -0
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +167 -24
- package/dist/fetch.js.map +1 -1
- package/dist/fn.d.ts +8 -1
- package/dist/fn.d.ts.map +1 -1
- package/dist/fn.js +8 -1
- package/dist/fn.js.map +1 -1
- package/dist/generated/cash.d.ts +2 -0
- package/dist/generated/cash.d.ts.map +1 -1
- package/dist/generated/cash.js +101 -0
- package/dist/generated/cash.js.map +1 -1
- package/dist/generated/historic.d.ts +337 -0
- package/dist/generated/historic.d.ts.map +1 -0
- package/dist/generated/historic.js +66 -0
- package/dist/generated/historic.js.map +1 -0
- package/dist/historic.d.ts +40 -0
- package/dist/historic.d.ts.map +1 -0
- package/dist/historic.js +43 -0
- package/dist/historic.js.map +1 -0
- package/dist/history.d.ts +96 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +213 -0
- package/dist/history.js.map +1 -0
- package/dist/hmrc.d.ts +28 -0
- package/dist/hmrc.d.ts.map +1 -0
- package/dist/hmrc.js +108 -0
- package/dist/hmrc.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kysely.d.ts +120 -0
- package/dist/kysely.d.ts.map +1 -0
- package/dist/kysely.js +309 -0
- package/dist/kysely.js.map +1 -0
- package/dist/money.d.ts +93 -9
- package/dist/money.d.ts.map +1 -1
- package/dist/money.js +135 -9
- package/dist/money.js.map +1 -1
- package/dist/parse.d.ts +45 -1
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +290 -3
- package/dist/parse.js.map +1 -1
- package/dist/pg.d.ts +100 -0
- package/dist/pg.d.ts.map +1 -0
- package/dist/pg.js +343 -0
- package/dist/pg.js.map +1 -0
- package/dist/plugins/adyen.d.ts +1 -1
- package/dist/plugins/adyen.d.ts.map +1 -1
- package/dist/plugins/adyen.js.map +1 -1
- package/dist/plugins/all.d.ts +8 -1
- package/dist/plugins/all.d.ts.map +1 -1
- package/dist/plugins/all.js +8 -1
- package/dist/plugins/all.js.map +1 -1
- package/dist/plugins/allocate.d.ts +1 -1
- package/dist/plugins/allocate.d.ts.map +1 -1
- package/dist/plugins/allocate.js.map +1 -1
- package/dist/plugins/braintree.d.ts +1 -1
- package/dist/plugins/braintree.d.ts.map +1 -1
- package/dist/plugins/braintree.js.map +1 -1
- package/dist/plugins/cash.d.ts +1 -1
- package/dist/plugins/cash.d.ts.map +1 -1
- package/dist/plugins/cash.js.map +1 -1
- package/dist/plugins/checkout.d.ts +1 -1
- package/dist/plugins/checkout.d.ts.map +1 -1
- package/dist/plugins/checkout.js.map +1 -1
- package/dist/plugins/convert.d.ts +5 -5
- package/dist/plugins/convert.d.ts.map +1 -1
- package/dist/plugins/convert.js.map +1 -1
- package/dist/plugins/exact.d.ts +1 -1
- package/dist/plugins/exact.d.ts.map +1 -1
- package/dist/plugins/exact.js.map +1 -1
- package/dist/plugins/fixed.d.ts +1 -1
- package/dist/plugins/fixed.d.ts.map +1 -1
- package/dist/plugins/fixed.js.map +1 -1
- package/dist/plugins/format.d.ts +1 -1
- package/dist/plugins/format.d.ts.map +1 -1
- package/dist/plugins/format.js.map +1 -1
- package/dist/plugins/klarna.d.ts +1 -1
- package/dist/plugins/klarna.d.ts.map +1 -1
- package/dist/plugins/klarna.js.map +1 -1
- package/dist/plugins/paypal.d.ts +1 -1
- package/dist/plugins/paypal.d.ts.map +1 -1
- package/dist/plugins/paypal.js +0 -4
- package/dist/plugins/paypal.js.map +1 -1
- package/dist/plugins/prisma.d.ts +1 -1
- package/dist/plugins/prisma.d.ts.map +1 -1
- package/dist/plugins/prisma.js +0 -4
- package/dist/plugins/prisma.js.map +1 -1
- package/dist/plugins/stripe.d.ts +1 -1
- package/dist/plugins/stripe.d.ts.map +1 -1
- package/dist/plugins/stripe.js +0 -4
- package/dist/plugins/stripe.js.map +1 -1
- package/dist/plugins/tax.d.ts +6 -6
- package/dist/plugins/tax.d.ts.map +1 -1
- package/dist/plugins/tax.js.map +1 -1
- package/dist/policy.d.ts +34 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +90 -0
- package/dist/policy.js.map +1 -0
- package/dist/prisma.d.ts +25 -14
- package/dist/prisma.d.ts.map +1 -1
- package/dist/prisma.js +29 -19
- package/dist/prisma.js.map +1 -1
- package/dist/provider.d.ts +21 -7
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +51 -11
- package/dist/provider.js.map +1 -1
- package/dist/rate-text.d.ts +38 -0
- package/dist/rate-text.d.ts.map +1 -0
- package/dist/rate-text.js +143 -0
- package/dist/rate-text.js.map +1 -0
- package/dist/rate.d.ts +61 -5
- package/dist/rate.d.ts.map +1 -1
- package/dist/rate.js +133 -33
- package/dist/rate.js.map +1 -1
- package/dist/rounding.js +1 -1
- package/dist/rounding.js.map +1 -1
- package/dist/schema.d.ts +43 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +77 -0
- package/dist/schema.js.map +1 -0
- package/dist/sql.d.ts +54 -0
- package/dist/sql.d.ts.map +1 -0
- package/dist/sql.js +131 -0
- package/dist/sql.js.map +1 -0
- package/dist/tax.d.ts +13 -9
- package/dist/tax.d.ts.map +1 -1
- package/dist/tax.js +20 -4
- package/dist/tax.js.map +1 -1
- package/dist/testing/arbitraries.d.ts +43 -0
- package/dist/testing/arbitraries.d.ts.map +1 -0
- package/dist/testing/arbitraries.js +98 -0
- package/dist/testing/arbitraries.js.map +1 -0
- package/dist/testing/index.d.ts +67 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +159 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/jest.d.ts +2 -0
- package/dist/testing/jest.d.ts.map +1 -0
- package/dist/testing/jest.js +15 -0
- package/dist/testing/jest.js.map +1 -0
- package/dist/testing/vitest.d.ts +7 -0
- package/dist/testing/vitest.d.ts.map +1 -0
- package/dist/testing/vitest.js +12 -0
- package/dist/testing/vitest.js.map +1 -0
- package/dist/valibot.d.ts +33 -0
- package/dist/valibot.d.ts.map +1 -0
- package/dist/valibot.js +61 -0
- package/dist/valibot.js.map +1 -0
- package/dist/zod.d.ts +36 -0
- package/dist/zod.d.ts.map +1 -0
- package/dist/zod.js +58 -0
- package/dist/zod.js.map +1 -0
- package/package.json +116 -5
- package/src/adyen-fx.ts +25 -4
- package/src/boc.ts +136 -0
- package/src/boe.ts +131 -0
- package/src/cash.ts +70 -2
- package/src/convert.ts +33 -15
- package/src/drizzle/mysql.ts +78 -0
- package/src/drizzle/pg.ts +78 -0
- package/src/drizzle/sqlite.ts +70 -0
- package/src/ecb.ts +179 -13
- package/src/fed.ts +146 -0
- package/src/fetch.ts +207 -28
- package/src/fn.ts +14 -0
- package/src/generated/cash.ts +103 -0
- package/src/generated/historic.ts +67 -0
- package/src/historic.ts +77 -0
- package/src/history.ts +333 -0
- package/src/hmrc.ts +125 -0
- package/src/index.ts +4 -0
- package/src/kysely.ts +588 -0
- package/src/money.ts +210 -12
- package/src/parse.ts +371 -4
- package/src/pg.ts +410 -0
- package/src/plugins/adyen.ts +3 -2
- package/src/plugins/all.ts +10 -0
- package/src/plugins/allocate.ts +3 -2
- package/src/plugins/braintree.ts +3 -2
- package/src/plugins/cash.ts +3 -2
- package/src/plugins/checkout.ts +3 -2
- package/src/plugins/convert.ts +6 -6
- package/src/plugins/exact.ts +3 -2
- package/src/plugins/fixed.ts +3 -2
- package/src/plugins/format.ts +3 -2
- package/src/plugins/klarna.ts +3 -2
- package/src/plugins/paypal.ts +3 -2
- package/src/plugins/prisma.ts +3 -2
- package/src/plugins/stripe.ts +3 -2
- package/src/plugins/tax.ts +11 -11
- package/src/policy.ts +124 -0
- package/src/prisma.ts +91 -10
- package/src/provider.ts +81 -16
- package/src/rate-text.ts +151 -0
- package/src/rate.ts +205 -36
- package/src/rounding.ts +1 -1
- package/src/schema.ts +119 -0
- package/src/sql.ts +178 -0
- package/src/tax.ts +40 -9
- package/src/testing/arbitraries.ts +134 -0
- package/src/testing/index.ts +247 -0
- package/src/testing/jest.ts +18 -0
- package/src/testing/vitest.ts +18 -0
- package/src/valibot.ts +87 -0
- package/src/zod.ts +78 -0
package/data/cash-rounding.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"retrieved": "2026-11-07",
|
|
3
|
-
"note": "Smallest cash increment where it differs from the ISO minor unit. 'verified': false means only secondary sources (press, Wikipedia) were found; treat as a default you should confirm.",
|
|
3
|
+
"note": "Smallest cash increment where it differs from the ISO minor unit. 'verified': false means only secondary sources (press, Wikipedia) were found; treat as a default you should confirm. Rules added later carry their own 'retrieved' date. A rule's optional 'rounding' is the tie rule its source prescribes (default halfExpand).",
|
|
4
4
|
"rules": [
|
|
5
5
|
{
|
|
6
6
|
"currency": "CHF",
|
|
@@ -394,6 +394,127 @@
|
|
|
394
394
|
"source": "https://en.wikipedia.org/wiki/Cash_rounding",
|
|
395
395
|
"note": "Penny production for circulation ended Nov 2025; businesses may round cash to nearest 5c or in customer's favour; state laws vary. Not a uniform rule; do not apply by default.",
|
|
396
396
|
"verified": false
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"currency": "AMD",
|
|
400
|
+
"increment": "10",
|
|
401
|
+
"scope": "cash (practice)",
|
|
402
|
+
"countries": [
|
|
403
|
+
"AM"
|
|
404
|
+
],
|
|
405
|
+
"source": "https://old.cba.am/en/SitePages/nccracoinscirculated.aspx",
|
|
406
|
+
"note": "The Central Bank of Armenia lists 10, 20, 50, 100, 200 and 500 dram coins as circulating; the luma and 1, 3 and 5 dram coins are on its 'coins not circulated' page (https://old.cba.am/en/SitePages/nccracoinsnotcirculated.aspx). No statutory rounding rule found. CLDR has whole dram.",
|
|
407
|
+
"verified": true,
|
|
408
|
+
"retrieved": "2026-11-08"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"currency": "CRC",
|
|
412
|
+
"increment": "10",
|
|
413
|
+
"scope": "cash (practice)",
|
|
414
|
+
"countries": [
|
|
415
|
+
"CR"
|
|
416
|
+
],
|
|
417
|
+
"source": "https://www.bccr.fi.cr/cr/es/noticias/listado-de-noticias/2026/monedas-de-5-10-y-25-del-diseno-anterior-dejaran-de-funcionar-como-medio-de-pago-el-1-de-julio-del-2.html",
|
|
418
|
+
"note": "Banco Central de Costa Rica: from 1 July 2026 the old 5, 10 and 25 colón coins 'perderán su valor como medio de pago', and the new 10 colón coin is 'la denominación más pequeña del nuevo cono monetario'; 1 and 5 colón coins are listed as out of circulation (https://www.bccr.fi.cr/monedas-y-billetes/monedas-fuera-de-circulacion.html). No statutory rounding rule found. CLDR has whole colones.",
|
|
419
|
+
"verified": true,
|
|
420
|
+
"retrieved": "2026-11-08"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"currency": "GYD",
|
|
424
|
+
"increment": "1.00",
|
|
425
|
+
"scope": "cash",
|
|
426
|
+
"countries": [
|
|
427
|
+
"GY"
|
|
428
|
+
],
|
|
429
|
+
"source": "https://bankofguyana.org.gy/bog/images/communications/press_release/Notice%20to%20stop%20minting%20one%20dollar%20coin.pdf",
|
|
430
|
+
"note": "No cent coins in use; the 1 dollar coin is still legal tender though no longer minted. This Bank of Guyana notice (seen only through search results; the site blocks automated reads) says that where the 1 dollar coin is not available merchants 'may round payments to the nearest five dollar'.",
|
|
431
|
+
"verified": false,
|
|
432
|
+
"retrieved": "2026-11-08"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"currency": "MNT",
|
|
436
|
+
"increment": "1.00",
|
|
437
|
+
"scope": "cash",
|
|
438
|
+
"countries": [
|
|
439
|
+
"MN"
|
|
440
|
+
],
|
|
441
|
+
"source": "https://www.mongolbank.mn/en/p/1416",
|
|
442
|
+
"note": "Bank of Mongolia: banknotes in circulation for payments go down to 1 tögrög; möngö are not in use.",
|
|
443
|
+
"verified": true,
|
|
444
|
+
"retrieved": "2026-11-08"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"currency": "MRU",
|
|
448
|
+
"increment": "0.20",
|
|
449
|
+
"scope": "cash",
|
|
450
|
+
"countries": [
|
|
451
|
+
"MR"
|
|
452
|
+
],
|
|
453
|
+
"source": "https://cridem.org/media/documents/bcm-presentation-gr-2017.pdf",
|
|
454
|
+
"note": "The smallest coin is the 1/5 ouguiya (khoums), per a 2017 Banque Centrale de Mauritanie presentation hosted by a third party (seen only in search results); bcm.mr has no denomination list. Matches CLDR (cashRounding 20).",
|
|
455
|
+
"verified": false,
|
|
456
|
+
"retrieved": "2026-11-08"
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"currency": "PKR",
|
|
460
|
+
"increment": "1.00",
|
|
461
|
+
"scope": "cash",
|
|
462
|
+
"countries": [
|
|
463
|
+
"PK"
|
|
464
|
+
],
|
|
465
|
+
"source": "https://www.sbp.org.pk/press/2014/Coins-15-Sep-2014.pdf",
|
|
466
|
+
"note": "State Bank of Pakistan: the paisa coins 'will cease to be legal tender on October 1, 2014'; the smallest coin is Re 1. No rounding rule found.",
|
|
467
|
+
"verified": true,
|
|
468
|
+
"retrieved": "2026-11-08"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"currency": "RSD",
|
|
472
|
+
"increment": "1.00",
|
|
473
|
+
"scope": "cash (statutory)",
|
|
474
|
+
"countries": [
|
|
475
|
+
"RS"
|
|
476
|
+
],
|
|
477
|
+
"source": "https://www.nbs.rs/export/sites/NBS_site/documents/propisi/propisi-trz/opticaj_povlacenje_50_para.pdf",
|
|
478
|
+
"rounding": "halfTrunc",
|
|
479
|
+
"note": "National Bank of Serbia, decision of 27 Sep 2007: the 50 para coin ceases to be legal tender from 1 January 2008, and final cash totals are rounded 'од 1 паре до 50 пара – на 0 пара; од 51 паре до 99 пара – на 1 динар' (1 to 50 para down, 51 to 99 para up): ties go down, so the rule's rounding is halfTrunc.",
|
|
480
|
+
"verified": true,
|
|
481
|
+
"retrieved": "2026-11-08"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"currency": "TZS",
|
|
485
|
+
"increment": "50",
|
|
486
|
+
"scope": "cash (practice)",
|
|
487
|
+
"countries": [
|
|
488
|
+
"TZ"
|
|
489
|
+
],
|
|
490
|
+
"source": "https://www.bot.go.tz/Publications/Regular/Quarterly%20statistical%20Bulletin/en/2025090409030924.pdf",
|
|
491
|
+
"note": "The 50 shilling coin is the smallest issued now; a Bank of Tanzania bulletin (June 2025, Table 3.5) still lists 5 to 50 senti coins as in circulation, so the legal minimum is unconfirmed. CLDR has whole shillings.",
|
|
492
|
+
"verified": false,
|
|
493
|
+
"retrieved": "2026-11-08"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"currency": "TWD",
|
|
497
|
+
"increment": "1.00",
|
|
498
|
+
"scope": "cash (practice)",
|
|
499
|
+
"countries": [
|
|
500
|
+
"TW"
|
|
501
|
+
],
|
|
502
|
+
"source": "https://www.cbc.gov.tw/tw/cp-769-26060-37841-1.html",
|
|
503
|
+
"note": "Central Bank of the Republic of China (Taiwan): the commonly used coins are 1, 5, 10, 20 and 50 dollars; the 0.5 dollar coin is still listed as circulating (https://www.cbc.gov.tw/public/data/issue/money/a1/t04.htm) but rarely used.",
|
|
504
|
+
"verified": true,
|
|
505
|
+
"retrieved": "2026-11-08"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"currency": "UZS",
|
|
509
|
+
"increment": "50",
|
|
510
|
+
"scope": "cash (practice)",
|
|
511
|
+
"countries": [
|
|
512
|
+
"UZ"
|
|
513
|
+
],
|
|
514
|
+
"source": "https://cbu.uz/en/banknotes-coins/coins/",
|
|
515
|
+
"note": "Central Bank of Uzbekistan: the tiyin and the 1 to 25 sum coins 'was in circulation until March 1, 2020'; the smallest circulating coin is 50 sum (2018 series). No rounding rule found. CLDR has whole sum.",
|
|
516
|
+
"verified": true,
|
|
517
|
+
"retrieved": "2026-11-08"
|
|
397
518
|
}
|
|
398
519
|
]
|
|
399
|
-
}
|
|
520
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"source": "https://raw.githubusercontent.com/unicode-org/cldr/release-49/common/supplemental/supplementalData.xml",
|
|
3
|
+
"note": "CLDR <currencyData> fractions with a cash rule. cashDigits is the number of decimals cash amounts show, and cashRounding (0 means 1) the step in units of the last of them: CHF cashDigits 2, cashRounding 5 is CHF 0.05.",
|
|
4
|
+
"currencies": {
|
|
5
|
+
"AMD": {
|
|
6
|
+
"digits": 2,
|
|
7
|
+
"cashDigits": 0,
|
|
8
|
+
"cashRounding": 0
|
|
9
|
+
},
|
|
10
|
+
"CAD": {
|
|
11
|
+
"digits": 2,
|
|
12
|
+
"cashDigits": 2,
|
|
13
|
+
"cashRounding": 5
|
|
14
|
+
},
|
|
15
|
+
"CHF": {
|
|
16
|
+
"digits": 2,
|
|
17
|
+
"cashDigits": 2,
|
|
18
|
+
"cashRounding": 5
|
|
19
|
+
},
|
|
20
|
+
"CRC": {
|
|
21
|
+
"digits": 2,
|
|
22
|
+
"cashDigits": 0,
|
|
23
|
+
"cashRounding": 0
|
|
24
|
+
},
|
|
25
|
+
"CZK": {
|
|
26
|
+
"digits": 2,
|
|
27
|
+
"cashDigits": 0,
|
|
28
|
+
"cashRounding": 0
|
|
29
|
+
},
|
|
30
|
+
"DKK": {
|
|
31
|
+
"digits": 2,
|
|
32
|
+
"cashDigits": 2,
|
|
33
|
+
"cashRounding": 50
|
|
34
|
+
},
|
|
35
|
+
"GYD": {
|
|
36
|
+
"digits": 2,
|
|
37
|
+
"cashDigits": 0,
|
|
38
|
+
"cashRounding": 0
|
|
39
|
+
},
|
|
40
|
+
"HUF": {
|
|
41
|
+
"digits": 0,
|
|
42
|
+
"cashDigits": 0,
|
|
43
|
+
"cashRounding": 5
|
|
44
|
+
},
|
|
45
|
+
"MNT": {
|
|
46
|
+
"digits": 2,
|
|
47
|
+
"cashDigits": 0,
|
|
48
|
+
"cashRounding": 0
|
|
49
|
+
},
|
|
50
|
+
"MRU": {
|
|
51
|
+
"digits": 2,
|
|
52
|
+
"cashDigits": 2,
|
|
53
|
+
"cashRounding": 20
|
|
54
|
+
},
|
|
55
|
+
"MUR": {
|
|
56
|
+
"digits": 2,
|
|
57
|
+
"cashDigits": 0,
|
|
58
|
+
"cashRounding": 0
|
|
59
|
+
},
|
|
60
|
+
"NOK": {
|
|
61
|
+
"digits": 2,
|
|
62
|
+
"cashDigits": 0,
|
|
63
|
+
"cashRounding": 0
|
|
64
|
+
},
|
|
65
|
+
"PKR": {
|
|
66
|
+
"digits": 2,
|
|
67
|
+
"cashDigits": 0,
|
|
68
|
+
"cashRounding": 0
|
|
69
|
+
},
|
|
70
|
+
"RSD": {
|
|
71
|
+
"digits": 2,
|
|
72
|
+
"cashDigits": 0,
|
|
73
|
+
"cashRounding": 0
|
|
74
|
+
},
|
|
75
|
+
"SEK": {
|
|
76
|
+
"digits": 2,
|
|
77
|
+
"cashDigits": 0,
|
|
78
|
+
"cashRounding": 0
|
|
79
|
+
},
|
|
80
|
+
"TWD": {
|
|
81
|
+
"digits": 2,
|
|
82
|
+
"cashDigits": 0,
|
|
83
|
+
"cashRounding": 0
|
|
84
|
+
},
|
|
85
|
+
"TZS": {
|
|
86
|
+
"digits": 2,
|
|
87
|
+
"cashDigits": 0,
|
|
88
|
+
"cashRounding": 0
|
|
89
|
+
},
|
|
90
|
+
"UZS": {
|
|
91
|
+
"digits": 2,
|
|
92
|
+
"cashDigits": 0,
|
|
93
|
+
"cashRounding": 0
|
|
94
|
+
},
|
|
95
|
+
"VEF": {
|
|
96
|
+
"digits": 2,
|
|
97
|
+
"cashDigits": 0,
|
|
98
|
+
"cashRounding": 0
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Withdrawn ISO 4217 codes and non-ISO codes for @ducatjs/money/historic. Codes, names and withdrawal dates come from ISO 4217 List Three (data/iso4217-list-three.xml). List Three has no minor units, so each exponent here is the one ISO 4217 gave the code while it was current. Only codes whose exponent is sourced are included.",
|
|
3
|
+
"sources": {
|
|
4
|
+
"listThree": {
|
|
5
|
+
"url": "https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/lists/list-three.xml",
|
|
6
|
+
"published": "2026-01-01",
|
|
7
|
+
"retrieved": "2026-11-08"
|
|
8
|
+
},
|
|
9
|
+
"exponents": {
|
|
10
|
+
"url": "https://github.com/openjdk/jdk/blob/master/src/java.base/share/data/currency/CurrencyData.properties",
|
|
11
|
+
"note": "OpenJDK's currency data (dataVersion 180) keeps the ISO 4217 minor units of withdrawn codes; codes it lists as minorUndefined (XFO, XFU) are not monetary and are left out",
|
|
12
|
+
"retrieved": "2026-11-08"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"exponents": {
|
|
16
|
+
"ADP": 0,
|
|
17
|
+
"AFA": 2,
|
|
18
|
+
"ANG": 2,
|
|
19
|
+
"ATS": 2,
|
|
20
|
+
"AYM": 2,
|
|
21
|
+
"AZM": 2,
|
|
22
|
+
"BEF": 0,
|
|
23
|
+
"BGL": 2,
|
|
24
|
+
"BGN": 2,
|
|
25
|
+
"BYB": 0,
|
|
26
|
+
"BYR": 0,
|
|
27
|
+
"CSD": 2,
|
|
28
|
+
"CUC": 2,
|
|
29
|
+
"CYP": 2,
|
|
30
|
+
"DEM": 2,
|
|
31
|
+
"EEK": 2,
|
|
32
|
+
"ESP": 0,
|
|
33
|
+
"FIM": 2,
|
|
34
|
+
"FRF": 2,
|
|
35
|
+
"GHC": 2,
|
|
36
|
+
"GRD": 0,
|
|
37
|
+
"GWP": 2,
|
|
38
|
+
"HRK": 2,
|
|
39
|
+
"IEP": 2,
|
|
40
|
+
"ITL": 0,
|
|
41
|
+
"LTL": 2,
|
|
42
|
+
"LUF": 0,
|
|
43
|
+
"LVL": 2,
|
|
44
|
+
"MGF": 0,
|
|
45
|
+
"MRO": 2,
|
|
46
|
+
"MTL": 2,
|
|
47
|
+
"MZM": 2,
|
|
48
|
+
"NLG": 2,
|
|
49
|
+
"PTE": 0,
|
|
50
|
+
"ROL": 0,
|
|
51
|
+
"RUR": 2,
|
|
52
|
+
"SDD": 2,
|
|
53
|
+
"SIT": 2,
|
|
54
|
+
"SKK": 2,
|
|
55
|
+
"SLL": 2,
|
|
56
|
+
"SRG": 2,
|
|
57
|
+
"STD": 2,
|
|
58
|
+
"TMM": 2,
|
|
59
|
+
"TPE": 0,
|
|
60
|
+
"TRL": 0,
|
|
61
|
+
"USS": 2,
|
|
62
|
+
"VEB": 2,
|
|
63
|
+
"VEF": 2,
|
|
64
|
+
"YUM": 2,
|
|
65
|
+
"ZMK": 2,
|
|
66
|
+
"ZWD": 2,
|
|
67
|
+
"ZWL": 2,
|
|
68
|
+
"ZWN": 2,
|
|
69
|
+
"ZWR": 2
|
|
70
|
+
},
|
|
71
|
+
"nonIso": {
|
|
72
|
+
"CNH": {
|
|
73
|
+
"name": "Chinese Yuan Renminbi (offshore)",
|
|
74
|
+
"exponent": 2,
|
|
75
|
+
"note": "the offshore renminbi traded in Hong Kong; not an ISO 4217 code, listed by Adyen"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|