@ducatjs/money 0.0.0 → 0.1.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.
Files changed (285) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +51 -0
  3. package/README.md +617 -3
  4. package/assets/CREDITS.md +12 -0
  5. package/data/adyen-fx.json +19 -0
  6. package/data/adyen.json +171 -0
  7. package/data/braintree.json +223 -0
  8. package/data/cash-rounding.json +399 -0
  9. package/data/checkout.json +230 -0
  10. package/data/iso4217-list-one.xml +1956 -0
  11. package/data/klarna.json +95 -0
  12. package/data/paypal.json +65 -0
  13. package/data/stripe-fx.json +17 -0
  14. package/data/stripe.json +285 -0
  15. package/dist/adyen-fx.d.ts +25 -0
  16. package/dist/adyen-fx.d.ts.map +1 -0
  17. package/dist/adyen-fx.js +122 -0
  18. package/dist/adyen-fx.js.map +1 -0
  19. package/dist/adyen.d.ts +25 -0
  20. package/dist/adyen.d.ts.map +1 -0
  21. package/dist/adyen.js +34 -0
  22. package/dist/adyen.js.map +1 -0
  23. package/dist/allocate.d.ts +72 -0
  24. package/dist/allocate.d.ts.map +1 -0
  25. package/dist/allocate.js +314 -0
  26. package/dist/allocate.js.map +1 -0
  27. package/dist/bag.d.ts +58 -0
  28. package/dist/bag.d.ts.map +1 -0
  29. package/dist/bag.js +122 -0
  30. package/dist/bag.js.map +1 -0
  31. package/dist/braintree.d.ts +34 -0
  32. package/dist/braintree.d.ts.map +1 -0
  33. package/dist/braintree.js +45 -0
  34. package/dist/braintree.js.map +1 -0
  35. package/dist/cash.d.ts +35 -0
  36. package/dist/cash.d.ts.map +1 -0
  37. package/dist/cash.js +86 -0
  38. package/dist/cash.js.map +1 -0
  39. package/dist/checkout.d.ts +42 -0
  40. package/dist/checkout.d.ts.map +1 -0
  41. package/dist/checkout.js +52 -0
  42. package/dist/checkout.js.map +1 -0
  43. package/dist/convert.d.ts +51 -0
  44. package/dist/convert.d.ts.map +1 -0
  45. package/dist/convert.js +55 -0
  46. package/dist/convert.js.map +1 -0
  47. package/dist/currency.d.ts +22 -0
  48. package/dist/currency.d.ts.map +1 -0
  49. package/dist/currency.js +38 -0
  50. package/dist/currency.js.map +1 -0
  51. package/dist/decimal.d.ts +52 -0
  52. package/dist/decimal.d.ts.map +1 -0
  53. package/dist/decimal.js +251 -0
  54. package/dist/decimal.js.map +1 -0
  55. package/dist/ecb.d.ts +17 -0
  56. package/dist/ecb.d.ts.map +1 -0
  57. package/dist/ecb.js +147 -0
  58. package/dist/ecb.js.map +1 -0
  59. package/dist/exact.d.ts +62 -0
  60. package/dist/exact.d.ts.map +1 -0
  61. package/dist/exact.js +147 -0
  62. package/dist/exact.js.map +1 -0
  63. package/dist/fetch.d.ts +58 -0
  64. package/dist/fetch.d.ts.map +1 -0
  65. package/dist/fetch.js +79 -0
  66. package/dist/fetch.js.map +1 -0
  67. package/dist/fixed.d.ts +121 -0
  68. package/dist/fixed.d.ts.map +1 -0
  69. package/dist/fixed.js +420 -0
  70. package/dist/fixed.js.map +1 -0
  71. package/dist/fn.d.ts +27 -0
  72. package/dist/fn.d.ts.map +1 -0
  73. package/dist/fn.js +30 -0
  74. package/dist/fn.js.map +1 -0
  75. package/dist/format.d.ts +13 -0
  76. package/dist/format.d.ts.map +1 -0
  77. package/dist/format.js +90 -0
  78. package/dist/format.js.map +1 -0
  79. package/dist/generated/adyen.d.ts +3 -0
  80. package/dist/generated/adyen.d.ts.map +1 -0
  81. package/dist/generated/adyen.js +144 -0
  82. package/dist/generated/adyen.js.map +1 -0
  83. package/dist/generated/braintree.d.ts +3 -0
  84. package/dist/generated/braintree.d.ts.map +1 -0
  85. package/dist/generated/braintree.js +140 -0
  86. package/dist/generated/braintree.js.map +1 -0
  87. package/dist/generated/cash.d.ts +12 -0
  88. package/dist/generated/cash.d.ts.map +1 -0
  89. package/dist/generated/cash.js +364 -0
  90. package/dist/generated/cash.js.map +1 -0
  91. package/dist/generated/checkout.d.ts +3 -0
  92. package/dist/generated/checkout.d.ts.map +1 -0
  93. package/dist/generated/checkout.js +151 -0
  94. package/dist/generated/checkout.js.map +1 -0
  95. package/dist/generated/iso4217.d.ts +174 -0
  96. package/dist/generated/iso4217.d.ts.map +1 -0
  97. package/dist/generated/iso4217.js +175 -0
  98. package/dist/generated/iso4217.js.map +1 -0
  99. package/dist/generated/kernel.d.ts +17 -0
  100. package/dist/generated/kernel.d.ts.map +1 -0
  101. package/dist/generated/kernel.js +208 -0
  102. package/dist/generated/kernel.js.map +1 -0
  103. package/dist/generated/klarna.d.ts +3 -0
  104. package/dist/generated/klarna.d.ts.map +1 -0
  105. package/dist/generated/klarna.js +21 -0
  106. package/dist/generated/klarna.js.map +1 -0
  107. package/dist/generated/paypal.d.ts +3 -0
  108. package/dist/generated/paypal.d.ts.map +1 -0
  109. package/dist/generated/paypal.js +31 -0
  110. package/dist/generated/paypal.js.map +1 -0
  111. package/dist/generated/stripe.d.ts +8 -0
  112. package/dist/generated/stripe.d.ts.map +1 -0
  113. package/dist/generated/stripe.js +150 -0
  114. package/dist/generated/stripe.js.map +1 -0
  115. package/dist/index.d.ts +11 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +11 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/klarna.d.ts +31 -0
  120. package/dist/klarna.d.ts.map +1 -0
  121. package/dist/klarna.js +38 -0
  122. package/dist/klarna.js.map +1 -0
  123. package/dist/money.d.ts +218 -0
  124. package/dist/money.d.ts.map +1 -0
  125. package/dist/money.js +577 -0
  126. package/dist/money.js.map +1 -0
  127. package/dist/parse.d.ts +11 -0
  128. package/dist/parse.d.ts.map +1 -0
  129. package/dist/parse.js +132 -0
  130. package/dist/parse.js.map +1 -0
  131. package/dist/paypal.d.ts +41 -0
  132. package/dist/paypal.d.ts.map +1 -0
  133. package/dist/paypal.js +58 -0
  134. package/dist/paypal.js.map +1 -0
  135. package/dist/plugins/adyen.d.ts +15 -0
  136. package/dist/plugins/adyen.d.ts.map +1 -0
  137. package/dist/plugins/adyen.js +10 -0
  138. package/dist/plugins/adyen.js.map +1 -0
  139. package/dist/plugins/all.d.ts +22 -0
  140. package/dist/plugins/all.d.ts.map +1 -0
  141. package/dist/plugins/all.js +23 -0
  142. package/dist/plugins/all.js.map +1 -0
  143. package/dist/plugins/allocate.d.ts +20 -0
  144. package/dist/plugins/allocate.d.ts.map +1 -0
  145. package/dist/plugins/allocate.js +26 -0
  146. package/dist/plugins/allocate.js.map +1 -0
  147. package/dist/plugins/braintree.d.ts +12 -0
  148. package/dist/plugins/braintree.d.ts.map +1 -0
  149. package/dist/plugins/braintree.js +12 -0
  150. package/dist/plugins/braintree.js.map +1 -0
  151. package/dist/plugins/cash.d.ts +19 -0
  152. package/dist/plugins/cash.d.ts.map +1 -0
  153. package/dist/plugins/cash.js +16 -0
  154. package/dist/plugins/cash.js.map +1 -0
  155. package/dist/plugins/checkout.d.ts +21 -0
  156. package/dist/plugins/checkout.d.ts.map +1 -0
  157. package/dist/plugins/checkout.js +16 -0
  158. package/dist/plugins/checkout.js.map +1 -0
  159. package/dist/plugins/convert.d.ts +20 -0
  160. package/dist/plugins/convert.d.ts.map +1 -0
  161. package/dist/plugins/convert.js +13 -0
  162. package/dist/plugins/convert.js.map +1 -0
  163. package/dist/plugins/exact.d.ts +15 -0
  164. package/dist/plugins/exact.d.ts.map +1 -0
  165. package/dist/plugins/exact.js +13 -0
  166. package/dist/plugins/exact.js.map +1 -0
  167. package/dist/plugins/fixed.d.ts +17 -0
  168. package/dist/plugins/fixed.d.ts.map +1 -0
  169. package/dist/plugins/fixed.js +13 -0
  170. package/dist/plugins/fixed.js.map +1 -0
  171. package/dist/plugins/format.d.ts +9 -0
  172. package/dist/plugins/format.d.ts.map +1 -0
  173. package/dist/plugins/format.js +16 -0
  174. package/dist/plugins/format.js.map +1 -0
  175. package/dist/plugins/klarna.d.ts +10 -0
  176. package/dist/plugins/klarna.d.ts.map +1 -0
  177. package/dist/plugins/klarna.js +10 -0
  178. package/dist/plugins/klarna.js.map +1 -0
  179. package/dist/plugins/paypal.d.ts +14 -0
  180. package/dist/plugins/paypal.d.ts.map +1 -0
  181. package/dist/plugins/paypal.js +16 -0
  182. package/dist/plugins/paypal.js.map +1 -0
  183. package/dist/plugins/prisma.d.ts +8 -0
  184. package/dist/plugins/prisma.d.ts.map +1 -0
  185. package/dist/plugins/prisma.js +13 -0
  186. package/dist/plugins/prisma.js.map +1 -0
  187. package/dist/plugins/stripe.d.ts +14 -0
  188. package/dist/plugins/stripe.d.ts.map +1 -0
  189. package/dist/plugins/stripe.js +16 -0
  190. package/dist/plugins/stripe.js.map +1 -0
  191. package/dist/plugins/tax.d.ts +21 -0
  192. package/dist/plugins/tax.d.ts.map +1 -0
  193. package/dist/plugins/tax.js +18 -0
  194. package/dist/plugins/tax.js.map +1 -0
  195. package/dist/prisma.d.ts +66 -0
  196. package/dist/prisma.d.ts.map +1 -0
  197. package/dist/prisma.js +66 -0
  198. package/dist/prisma.js.map +1 -0
  199. package/dist/processor.d.ts +28 -0
  200. package/dist/processor.d.ts.map +1 -0
  201. package/dist/processor.js +118 -0
  202. package/dist/processor.js.map +1 -0
  203. package/dist/provider.d.ts +89 -0
  204. package/dist/provider.d.ts.map +1 -0
  205. package/dist/provider.js +240 -0
  206. package/dist/provider.js.map +1 -0
  207. package/dist/rate.d.ts +119 -0
  208. package/dist/rate.d.ts.map +1 -0
  209. package/dist/rate.js +271 -0
  210. package/dist/rate.js.map +1 -0
  211. package/dist/rounding-error.d.ts +9 -0
  212. package/dist/rounding-error.d.ts.map +1 -0
  213. package/dist/rounding-error.js +9 -0
  214. package/dist/rounding-error.js.map +1 -0
  215. package/dist/rounding.d.ts +50 -0
  216. package/dist/rounding.d.ts.map +1 -0
  217. package/dist/rounding.js +87 -0
  218. package/dist/rounding.js.map +1 -0
  219. package/dist/stripe-fx.d.ts +22 -0
  220. package/dist/stripe-fx.d.ts.map +1 -0
  221. package/dist/stripe-fx.js +30 -0
  222. package/dist/stripe-fx.js.map +1 -0
  223. package/dist/stripe.d.ts +36 -0
  224. package/dist/stripe.d.ts.map +1 -0
  225. package/dist/stripe.js +39 -0
  226. package/dist/stripe.js.map +1 -0
  227. package/dist/tax.d.ts +29 -0
  228. package/dist/tax.d.ts.map +1 -0
  229. package/dist/tax.js +39 -0
  230. package/dist/tax.js.map +1 -0
  231. package/package.json +169 -5
  232. package/src/adyen-fx.ts +154 -0
  233. package/src/adyen.ts +46 -0
  234. package/src/allocate.ts +393 -0
  235. package/src/bag.ts +170 -0
  236. package/src/braintree.ts +71 -0
  237. package/src/cash.ts +115 -0
  238. package/src/checkout.ts +77 -0
  239. package/src/convert.ts +159 -0
  240. package/src/currency.ts +61 -0
  241. package/src/decimal.ts +283 -0
  242. package/src/ecb.ts +162 -0
  243. package/src/exact.ts +182 -0
  244. package/src/fetch.ts +127 -0
  245. package/src/fixed.ts +558 -0
  246. package/src/fn.ts +80 -0
  247. package/src/format.ts +106 -0
  248. package/src/generated/adyen.ts +144 -0
  249. package/src/generated/braintree.ts +140 -0
  250. package/src/generated/cash.ts +375 -0
  251. package/src/generated/checkout.ts +151 -0
  252. package/src/generated/iso4217.ts +179 -0
  253. package/src/generated/kernel.ts +230 -0
  254. package/src/generated/klarna.ts +21 -0
  255. package/src/generated/paypal.ts +31 -0
  256. package/src/generated/stripe.ts +150 -0
  257. package/src/index.ts +37 -0
  258. package/src/klarna.ts +54 -0
  259. package/src/money.ts +781 -0
  260. package/src/parse.ts +144 -0
  261. package/src/paypal.ts +93 -0
  262. package/src/plugins/adyen.ts +25 -0
  263. package/src/plugins/all.ts +47 -0
  264. package/src/plugins/allocate.ts +53 -0
  265. package/src/plugins/braintree.ts +23 -0
  266. package/src/plugins/cash.ts +33 -0
  267. package/src/plugins/checkout.ts +32 -0
  268. package/src/plugins/convert.ts +50 -0
  269. package/src/plugins/exact.ts +23 -0
  270. package/src/plugins/fixed.ts +28 -0
  271. package/src/plugins/format.ts +28 -0
  272. package/src/plugins/klarna.ts +21 -0
  273. package/src/plugins/paypal.ts +29 -0
  274. package/src/plugins/prisma.ts +24 -0
  275. package/src/plugins/stripe.ts +29 -0
  276. package/src/plugins/tax.ts +41 -0
  277. package/src/prisma.ts +118 -0
  278. package/src/processor.ts +181 -0
  279. package/src/provider.ts +324 -0
  280. package/src/rate.ts +377 -0
  281. package/src/rounding-error.ts +8 -0
  282. package/src/rounding.ts +122 -0
  283. package/src/stripe-fx.ts +49 -0
  284. package/src/stripe.ts +69 -0
  285. package/src/tax.ts +71 -0
@@ -0,0 +1,3 @@
1
+ /** Checkout.com currencies: [API exponent, payment amount multiple, Standalone API (authentication) multiple]. CLP is two-decimal with a multiple of 100; three-decimal currencies need a multiple of 10. */
2
+ export declare const CHECKOUT_RULES: Readonly<Record<string, readonly [exponent: number, multiple: number, standaloneMultiple: number]>>;
3
+ //# sourceMappingURL=checkout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/generated/checkout.ts"],"names":[],"mappings":"AAGA,6MAA6M;AAC7M,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAkJ9H,CAAC"}
@@ -0,0 +1,151 @@
1
+ // GENERATED by scripts/gen-currencies.mjs from data/checkout.json (https://www.checkout.com/docs/payments/accept-payments/format-the-amount-value, retrieved 2026-11-07). Do not edit by hand.
2
+ /* eslint-disable */
3
+ /** Checkout.com currencies: [API exponent, payment amount multiple, Standalone API (authentication) multiple]. CLP is two-decimal with a multiple of 100; three-decimal currencies need a multiple of 10. */
4
+ export const CHECKOUT_RULES = {
5
+ AED: [2, 1, 1],
6
+ AFN: [2, 1, 1],
7
+ ALL: [2, 1, 1],
8
+ AMD: [2, 1, 1],
9
+ AOA: [2, 1, 1],
10
+ AUD: [2, 1, 1],
11
+ AWG: [2, 1, 1],
12
+ AZN: [2, 1, 1],
13
+ BAM: [2, 1, 1],
14
+ BBD: [2, 1, 1],
15
+ BDT: [2, 1, 1],
16
+ BHD: [3, 10, 10],
17
+ BIF: [0, 1, 1],
18
+ BMD: [2, 1, 1],
19
+ BND: [2, 1, 1],
20
+ BOB: [2, 1, 1],
21
+ BRL: [2, 1, 1],
22
+ BSD: [2, 1, 1],
23
+ BTN: [2, 1, 1],
24
+ BWP: [2, 1, 1],
25
+ BZD: [2, 1, 1],
26
+ CAD: [2, 1, 1],
27
+ CDF: [2, 1, 1],
28
+ CHF: [2, 1, 1],
29
+ CLP: [2, 100, 1],
30
+ CNY: [2, 1, 1],
31
+ COP: [2, 1, 1],
32
+ CRC: [2, 1, 1],
33
+ CUP: [2, 1, 1],
34
+ CVE: [2, 1, 1],
35
+ CZK: [2, 1, 1],
36
+ DJF: [0, 1, 1],
37
+ DKK: [2, 1, 1],
38
+ DOP: [2, 1, 1],
39
+ DZD: [2, 1, 1],
40
+ EGP: [2, 1, 1],
41
+ ERN: [2, 1, 1],
42
+ ETB: [2, 1, 1],
43
+ EUR: [2, 1, 1],
44
+ FJD: [2, 1, 1],
45
+ FKP: [2, 1, 1],
46
+ GBP: [2, 1, 1],
47
+ GEL: [2, 1, 1],
48
+ GIP: [2, 1, 1],
49
+ GNF: [0, 1, 1],
50
+ GTQ: [2, 1, 1],
51
+ GYD: [2, 1, 1],
52
+ HKD: [2, 1, 1],
53
+ HNL: [2, 1, 1],
54
+ HTG: [2, 1, 1],
55
+ HUF: [2, 1, 1],
56
+ IDR: [2, 1, 1],
57
+ ILS: [2, 1, 1],
58
+ INR: [2, 1, 1],
59
+ IQD: [3, 10, 10],
60
+ IRR: [2, 1, 1],
61
+ ISK: [0, 1, 1],
62
+ JMD: [2, 1, 1],
63
+ JOD: [3, 10, 10],
64
+ JPY: [0, 1, 1],
65
+ KES: [2, 1, 1],
66
+ KGS: [2, 1, 1],
67
+ KHR: [2, 1, 1],
68
+ KMF: [0, 1, 1],
69
+ KRW: [0, 1, 1],
70
+ KWD: [3, 10, 10],
71
+ KYD: [2, 1, 1],
72
+ KZT: [2, 1, 1],
73
+ LAK: [2, 1, 1],
74
+ LKR: [2, 1, 1],
75
+ LRD: [2, 1, 1],
76
+ LSL: [2, 1, 1],
77
+ LYD: [3, 10, 10],
78
+ MAD: [2, 1, 1],
79
+ MDL: [2, 1, 1],
80
+ MGA: [2, 1, 1],
81
+ MKD: [2, 1, 1],
82
+ MMK: [2, 1, 1],
83
+ MNT: [2, 1, 1],
84
+ MOP: [2, 1, 1],
85
+ MRU: [2, 1, 1],
86
+ MUR: [2, 1, 1],
87
+ MVR: [2, 1, 1],
88
+ MWK: [2, 1, 1],
89
+ MXN: [2, 1, 1],
90
+ MYR: [2, 1, 1],
91
+ MZN: [2, 1, 1],
92
+ NAD: [2, 1, 1],
93
+ NGN: [2, 1, 1],
94
+ NIO: [2, 1, 1],
95
+ NOK: [2, 1, 1],
96
+ NPR: [2, 1, 1],
97
+ NZD: [2, 1, 1],
98
+ OMR: [3, 10, 10],
99
+ PAB: [2, 1, 1],
100
+ PEN: [2, 1, 1],
101
+ PGK: [2, 1, 1],
102
+ PHP: [2, 1, 1],
103
+ PKR: [2, 1, 1],
104
+ PLN: [2, 1, 1],
105
+ PYG: [0, 1, 1],
106
+ QAR: [2, 1, 1],
107
+ RON: [2, 1, 1],
108
+ RSD: [2, 1, 1],
109
+ RWF: [0, 1, 1],
110
+ SAR: [2, 1, 1],
111
+ SBD: [2, 1, 1],
112
+ SCR: [2, 1, 1],
113
+ SEK: [2, 1, 1],
114
+ SGD: [2, 1, 1],
115
+ SHP: [2, 1, 1],
116
+ SLE: [2, 1, 1],
117
+ SLL: [2, 1, 1],
118
+ SOS: [2, 1, 1],
119
+ SRD: [2, 1, 1],
120
+ STN: [2, 1, 1],
121
+ SVC: [2, 1, 1],
122
+ SZL: [2, 1, 1],
123
+ THB: [2, 1, 1],
124
+ TJS: [2, 1, 1],
125
+ TMT: [2, 1, 1],
126
+ TND: [3, 10, 10],
127
+ TOP: [2, 1, 1],
128
+ TRY: [2, 1, 1],
129
+ TTD: [2, 1, 1],
130
+ TWD: [2, 1, 1],
131
+ TZS: [2, 1, 1],
132
+ UAH: [2, 1, 1],
133
+ UGX: [0, 1, 1],
134
+ USD: [2, 1, 1],
135
+ UYU: [2, 1, 1],
136
+ UZS: [2, 1, 1],
137
+ VES: [2, 1, 1],
138
+ VND: [0, 1, 1],
139
+ VUV: [0, 1, 1],
140
+ WST: [2, 1, 1],
141
+ XAF: [0, 1, 1],
142
+ XCD: [2, 1, 1],
143
+ XCG: [2, 1, 1],
144
+ XDR: [2, 1, 1],
145
+ XOF: [0, 1, 1],
146
+ XPF: [0, 1, 1],
147
+ YER: [2, 1, 1],
148
+ ZAR: [2, 1, 1],
149
+ ZMW: [2, 1, 1],
150
+ };
151
+ //# sourceMappingURL=checkout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/generated/checkout.ts"],"names":[],"mappings":"AAAA,+LAA+L;AAC/L,oBAAoB;AAEpB,6MAA6M;AAC7M,MAAM,CAAC,MAAM,cAAc,GAAwG;IACjI,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,CAAC;IACd,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;CACb,CAAC"}
@@ -0,0 +1,174 @@
1
+ /** Publication date of the ISO 4217 List One snapshot the table was generated from. */
2
+ export declare const ISO_4217_PUBLISHED = "2026-09-17";
3
+ /** ISO 4217 minor-unit exponent for every active code that has one (165 codes). */
4
+ export declare const ISO_EXPONENTS: {
5
+ readonly AED: 2;
6
+ readonly AFN: 2;
7
+ readonly ALL: 2;
8
+ readonly AMD: 2;
9
+ readonly AOA: 2;
10
+ readonly ARS: 2;
11
+ readonly AUD: 2;
12
+ readonly AWG: 2;
13
+ readonly AZN: 2;
14
+ readonly BAM: 2;
15
+ readonly BBD: 2;
16
+ readonly BDT: 2;
17
+ readonly BHD: 3;
18
+ readonly BIF: 0;
19
+ readonly BMD: 2;
20
+ readonly BND: 2;
21
+ readonly BOB: 2;
22
+ readonly BOV: 2;
23
+ readonly BRL: 2;
24
+ readonly BSD: 2;
25
+ readonly BTN: 2;
26
+ readonly BWP: 2;
27
+ readonly BYN: 2;
28
+ readonly BZD: 2;
29
+ readonly CAD: 2;
30
+ readonly CDF: 2;
31
+ readonly CHE: 2;
32
+ readonly CHF: 2;
33
+ readonly CHW: 2;
34
+ readonly CLF: 4;
35
+ readonly CLP: 0;
36
+ readonly CNY: 2;
37
+ readonly COP: 2;
38
+ readonly COU: 2;
39
+ readonly CRC: 2;
40
+ readonly CUP: 2;
41
+ readonly CVE: 2;
42
+ readonly CZK: 2;
43
+ readonly DJF: 0;
44
+ readonly DKK: 2;
45
+ readonly DOP: 2;
46
+ readonly DZD: 2;
47
+ readonly EGP: 2;
48
+ readonly ERN: 2;
49
+ readonly ETB: 2;
50
+ readonly EUR: 2;
51
+ readonly FJD: 2;
52
+ readonly FKP: 2;
53
+ readonly GBP: 2;
54
+ readonly GEL: 2;
55
+ readonly GHS: 2;
56
+ readonly GIP: 2;
57
+ readonly GMD: 2;
58
+ readonly GNF: 0;
59
+ readonly GTQ: 2;
60
+ readonly GYD: 2;
61
+ readonly HKD: 2;
62
+ readonly HNL: 2;
63
+ readonly HTG: 2;
64
+ readonly HUF: 2;
65
+ readonly IDR: 2;
66
+ readonly ILS: 2;
67
+ readonly INR: 2;
68
+ readonly IQD: 3;
69
+ readonly IRR: 2;
70
+ readonly ISK: 0;
71
+ readonly JMD: 2;
72
+ readonly JOD: 3;
73
+ readonly JPY: 0;
74
+ readonly KES: 2;
75
+ readonly KGS: 2;
76
+ readonly KHR: 2;
77
+ readonly KMF: 0;
78
+ readonly KPW: 2;
79
+ readonly KRW: 0;
80
+ readonly KWD: 3;
81
+ readonly KYD: 2;
82
+ readonly KZT: 2;
83
+ readonly LAK: 2;
84
+ readonly LBP: 2;
85
+ readonly LKR: 2;
86
+ readonly LRD: 2;
87
+ readonly LSL: 2;
88
+ readonly LYD: 3;
89
+ readonly MAD: 2;
90
+ readonly MDL: 2;
91
+ readonly MGA: 2;
92
+ readonly MKD: 2;
93
+ readonly MMK: 2;
94
+ readonly MNT: 2;
95
+ readonly MOP: 2;
96
+ readonly MRU: 2;
97
+ readonly MUR: 2;
98
+ readonly MVR: 2;
99
+ readonly MWK: 2;
100
+ readonly MXN: 2;
101
+ readonly MXV: 2;
102
+ readonly MYR: 2;
103
+ readonly MZN: 2;
104
+ readonly NAD: 2;
105
+ readonly NGN: 2;
106
+ readonly NIO: 2;
107
+ readonly NOK: 2;
108
+ readonly NPR: 2;
109
+ readonly NZD: 2;
110
+ readonly OMR: 3;
111
+ readonly PAB: 2;
112
+ readonly PEN: 2;
113
+ readonly PGK: 2;
114
+ readonly PHP: 2;
115
+ readonly PKR: 2;
116
+ readonly PLN: 2;
117
+ readonly PYG: 0;
118
+ readonly QAR: 2;
119
+ readonly RON: 2;
120
+ readonly RSD: 2;
121
+ readonly RUB: 2;
122
+ readonly RWF: 0;
123
+ readonly SAR: 2;
124
+ readonly SBD: 2;
125
+ readonly SCR: 2;
126
+ readonly SDG: 2;
127
+ readonly SEK: 2;
128
+ readonly SGD: 2;
129
+ readonly SHP: 2;
130
+ readonly SLE: 2;
131
+ readonly SOS: 2;
132
+ readonly SRD: 2;
133
+ readonly SSP: 2;
134
+ readonly STN: 2;
135
+ readonly SVC: 2;
136
+ readonly SYP: 2;
137
+ readonly SZL: 2;
138
+ readonly THB: 2;
139
+ readonly TJS: 2;
140
+ readonly TMT: 2;
141
+ readonly TND: 3;
142
+ readonly TOP: 2;
143
+ readonly TRY: 2;
144
+ readonly TTD: 2;
145
+ readonly TWD: 2;
146
+ readonly TZS: 2;
147
+ readonly UAH: 2;
148
+ readonly UGX: 0;
149
+ readonly USD: 2;
150
+ readonly USN: 2;
151
+ readonly UYI: 0;
152
+ readonly UYU: 2;
153
+ readonly UYW: 4;
154
+ readonly UZS: 2;
155
+ readonly VED: 2;
156
+ readonly VES: 2;
157
+ readonly VND: 0;
158
+ readonly VUV: 0;
159
+ readonly WST: 2;
160
+ readonly XAD: 2;
161
+ readonly XAF: 0;
162
+ readonly XCD: 2;
163
+ readonly XCG: 2;
164
+ readonly XOF: 0;
165
+ readonly XPF: 0;
166
+ readonly YER: 2;
167
+ readonly ZAR: 2;
168
+ readonly ZMW: 2;
169
+ readonly ZWG: 2;
170
+ };
171
+ export type IsoCurrencyCode = keyof typeof ISO_EXPONENTS;
172
+ /** Active codes whose minor unit is "N.A." (precious metals, SDR, testing): not monetary, not in ISO_EXPONENTS. */
173
+ export declare const ISO_NON_MONETARY: readonly ["XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XDR", "XPD", "XPT", "XSU", "XTS", "XUA", "XXX"];
174
+ //# sourceMappingURL=iso4217.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso4217.d.ts","sourceRoot":"","sources":["../../src/generated/iso4217.ts"],"names":[],"mappings":"AAGA,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,mFAAmF;AACnF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsKhB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD,mHAAmH;AACnH,eAAO,MAAM,gBAAgB,sGAA2F,CAAC"}
@@ -0,0 +1,175 @@
1
+ // GENERATED by scripts/gen-currencies.mjs from data/iso4217-list-one.xml. Do not edit by hand.
2
+ /* eslint-disable */
3
+ /** Publication date of the ISO 4217 List One snapshot the table was generated from. */
4
+ export const ISO_4217_PUBLISHED = "2026-09-17";
5
+ /** ISO 4217 minor-unit exponent for every active code that has one (165 codes). */
6
+ export const ISO_EXPONENTS = {
7
+ AED: 2,
8
+ AFN: 2,
9
+ ALL: 2,
10
+ AMD: 2,
11
+ AOA: 2,
12
+ ARS: 2,
13
+ AUD: 2,
14
+ AWG: 2,
15
+ AZN: 2,
16
+ BAM: 2,
17
+ BBD: 2,
18
+ BDT: 2,
19
+ BHD: 3,
20
+ BIF: 0,
21
+ BMD: 2,
22
+ BND: 2,
23
+ BOB: 2,
24
+ BOV: 2,
25
+ BRL: 2,
26
+ BSD: 2,
27
+ BTN: 2,
28
+ BWP: 2,
29
+ BYN: 2,
30
+ BZD: 2,
31
+ CAD: 2,
32
+ CDF: 2,
33
+ CHE: 2,
34
+ CHF: 2,
35
+ CHW: 2,
36
+ CLF: 4,
37
+ CLP: 0,
38
+ CNY: 2,
39
+ COP: 2,
40
+ COU: 2,
41
+ CRC: 2,
42
+ CUP: 2,
43
+ CVE: 2,
44
+ CZK: 2,
45
+ DJF: 0,
46
+ DKK: 2,
47
+ DOP: 2,
48
+ DZD: 2,
49
+ EGP: 2,
50
+ ERN: 2,
51
+ ETB: 2,
52
+ EUR: 2,
53
+ FJD: 2,
54
+ FKP: 2,
55
+ GBP: 2,
56
+ GEL: 2,
57
+ GHS: 2,
58
+ GIP: 2,
59
+ GMD: 2,
60
+ GNF: 0,
61
+ GTQ: 2,
62
+ GYD: 2,
63
+ HKD: 2,
64
+ HNL: 2,
65
+ HTG: 2,
66
+ HUF: 2,
67
+ IDR: 2,
68
+ ILS: 2,
69
+ INR: 2,
70
+ IQD: 3,
71
+ IRR: 2,
72
+ ISK: 0,
73
+ JMD: 2,
74
+ JOD: 3,
75
+ JPY: 0,
76
+ KES: 2,
77
+ KGS: 2,
78
+ KHR: 2,
79
+ KMF: 0,
80
+ KPW: 2,
81
+ KRW: 0,
82
+ KWD: 3,
83
+ KYD: 2,
84
+ KZT: 2,
85
+ LAK: 2,
86
+ LBP: 2,
87
+ LKR: 2,
88
+ LRD: 2,
89
+ LSL: 2,
90
+ LYD: 3,
91
+ MAD: 2,
92
+ MDL: 2,
93
+ MGA: 2,
94
+ MKD: 2,
95
+ MMK: 2,
96
+ MNT: 2,
97
+ MOP: 2,
98
+ MRU: 2,
99
+ MUR: 2,
100
+ MVR: 2,
101
+ MWK: 2,
102
+ MXN: 2,
103
+ MXV: 2,
104
+ MYR: 2,
105
+ MZN: 2,
106
+ NAD: 2,
107
+ NGN: 2,
108
+ NIO: 2,
109
+ NOK: 2,
110
+ NPR: 2,
111
+ NZD: 2,
112
+ OMR: 3,
113
+ PAB: 2,
114
+ PEN: 2,
115
+ PGK: 2,
116
+ PHP: 2,
117
+ PKR: 2,
118
+ PLN: 2,
119
+ PYG: 0,
120
+ QAR: 2,
121
+ RON: 2,
122
+ RSD: 2,
123
+ RUB: 2,
124
+ RWF: 0,
125
+ SAR: 2,
126
+ SBD: 2,
127
+ SCR: 2,
128
+ SDG: 2,
129
+ SEK: 2,
130
+ SGD: 2,
131
+ SHP: 2,
132
+ SLE: 2,
133
+ SOS: 2,
134
+ SRD: 2,
135
+ SSP: 2,
136
+ STN: 2,
137
+ SVC: 2,
138
+ SYP: 2,
139
+ SZL: 2,
140
+ THB: 2,
141
+ TJS: 2,
142
+ TMT: 2,
143
+ TND: 3,
144
+ TOP: 2,
145
+ TRY: 2,
146
+ TTD: 2,
147
+ TWD: 2,
148
+ TZS: 2,
149
+ UAH: 2,
150
+ UGX: 0,
151
+ USD: 2,
152
+ USN: 2,
153
+ UYI: 0,
154
+ UYU: 2,
155
+ UYW: 4,
156
+ UZS: 2,
157
+ VED: 2,
158
+ VES: 2,
159
+ VND: 0,
160
+ VUV: 0,
161
+ WST: 2,
162
+ XAD: 2,
163
+ XAF: 0,
164
+ XCD: 2,
165
+ XCG: 2,
166
+ XOF: 0,
167
+ XPF: 0,
168
+ YER: 2,
169
+ ZAR: 2,
170
+ ZMW: 2,
171
+ ZWG: 2,
172
+ };
173
+ /** Active codes whose minor unit is "N.A." (precious metals, SDR, testing): not monetary, not in ISO_EXPONENTS. */
174
+ export const ISO_NON_MONETARY = ["XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XDR", "XPD", "XPT", "XSU", "XTS", "XUA", "XXX"];
175
+ //# sourceMappingURL=iso4217.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso4217.js","sourceRoot":"","sources":["../../src/generated/iso4217.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,oBAAoB;AAEpB,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE/C,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACE,CAAC;AAIX,mHAAmH;AACnH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,CAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { RoundingMode } from '../rounding.js';
2
+ /**
3
+ * `dividend / divisor` rounded with `mode`; `divisor` must be positive.
4
+ *
5
+ * Each `case` is printed from the Lean kernel for that mode, which is proved correct in
6
+ * proofs/Ducat/Rounding.lean: `kernel_sound` (the result satisfies the specification `Rounds`),
7
+ * `rounds_unique` (only one value does) and `kernel_fails_iff` (it throws only for 'unnecessary' on an
8
+ * inexact division), hence `kernel_correct`. Unknown modes throw a RangeError.
9
+ */
10
+ export declare function divideAndRoundBigint(dividend: bigint, divisor: bigint, mode: RoundingMode): bigint;
11
+ /**
12
+ * The same switch over `number`: rounds the truncated `quotient` of `dividend / divisor`, where
13
+ * `remainder = dividend - quotient * divisor` exactly and `divisor` is positive. Every input must be a safe
14
+ * integer. This copy is not proved; test/kernel.test.ts compares it with the `bigint` one.
15
+ */
16
+ export declare function roundTruncatedQuotient(dividend: number, divisor: number, quotient: number, remainder: number, mode: RoundingMode): number;
17
+ //# sourceMappingURL=kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/generated/kernel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,GACjB,MAAM,CAIR;AA2GD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,YAAY,GACjB,MAAM,CAwFR"}