@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.
Files changed (1327) hide show
  1. package/NOTICE +17 -8
  2. package/README.md +346 -43
  3. package/data/cldr-territories.json +2791 -0
  4. package/data/crypto-units.json +68 -0
  5. package/data/rbnf/de.txt +243 -0
  6. package/data/rbnf/en.txt +166 -0
  7. package/data/rbnf/es.txt +261 -0
  8. package/data/rbnf/fr.txt +159 -0
  9. package/data/rbnf/it.txt +502 -0
  10. package/data/rbnf/nl.txt +103 -0
  11. package/data/rbnf/pt.txt +171 -0
  12. package/dist/adyen-fx.js +1 -1
  13. package/dist/adyen-fx.js.map +1 -1
  14. package/dist/allocate.d.ts.map +1 -1
  15. package/dist/allocate.js +2 -3
  16. package/dist/allocate.js.map +1 -1
  17. package/dist/cash.d.ts +15 -0
  18. package/dist/cash.d.ts.map +1 -1
  19. package/dist/cash.js +17 -0
  20. package/dist/cash.js.map +1 -1
  21. package/dist/convert.d.ts.map +1 -1
  22. package/dist/convert.js +2 -3
  23. package/dist/convert.js.map +1 -1
  24. package/dist/crypto.d.ts +54 -0
  25. package/dist/crypto.d.ts.map +1 -0
  26. package/dist/crypto.js +89 -0
  27. package/dist/crypto.js.map +1 -0
  28. package/dist/currencies.d.ts +43 -0
  29. package/dist/currencies.d.ts.map +1 -0
  30. package/dist/currencies.js +91 -0
  31. package/dist/currencies.js.map +1 -0
  32. package/dist/currency.d.ts +9 -1
  33. package/dist/currency.d.ts.map +1 -1
  34. package/dist/currency.js +41 -14
  35. package/dist/currency.js.map +1 -1
  36. package/dist/decimal.d.ts +25 -3
  37. package/dist/decimal.d.ts.map +1 -1
  38. package/dist/decimal.js +78 -8
  39. package/dist/decimal.js.map +1 -1
  40. package/dist/ecb.d.ts +23 -8
  41. package/dist/ecb.d.ts.map +1 -1
  42. package/dist/ecb.js +46 -15
  43. package/dist/ecb.js.map +1 -1
  44. package/dist/entries/adyen-fx.d.ts +3 -0
  45. package/dist/entries/adyen-fx.d.ts.map +1 -0
  46. package/dist/entries/adyen-fx.js +5 -0
  47. package/dist/entries/adyen-fx.js.map +1 -0
  48. package/dist/entries/boc.d.ts +3 -0
  49. package/dist/entries/boc.d.ts.map +1 -0
  50. package/dist/entries/boc.js +5 -0
  51. package/dist/entries/boc.js.map +1 -0
  52. package/dist/entries/boe.d.ts +3 -0
  53. package/dist/entries/boe.d.ts.map +1 -0
  54. package/dist/entries/boe.js +5 -0
  55. package/dist/entries/boe.js.map +1 -0
  56. package/dist/entries/crypto.d.ts +3 -0
  57. package/dist/entries/crypto.d.ts.map +1 -0
  58. package/dist/entries/crypto.js +5 -0
  59. package/dist/entries/crypto.js.map +1 -0
  60. package/dist/entries/currencies.d.ts +3 -0
  61. package/dist/entries/currencies.d.ts.map +1 -0
  62. package/dist/entries/currencies.js +5 -0
  63. package/dist/entries/currencies.js.map +1 -0
  64. package/dist/entries/drizzle-mysql.d.ts +3 -0
  65. package/dist/entries/drizzle-mysql.d.ts.map +1 -0
  66. package/dist/entries/drizzle-mysql.js +5 -0
  67. package/dist/entries/drizzle-mysql.js.map +1 -0
  68. package/dist/entries/drizzle-pg.d.ts +3 -0
  69. package/dist/entries/drizzle-pg.d.ts.map +1 -0
  70. package/dist/entries/drizzle-pg.js +5 -0
  71. package/dist/entries/drizzle-pg.js.map +1 -0
  72. package/dist/entries/drizzle-sqlite.d.ts +3 -0
  73. package/dist/entries/drizzle-sqlite.d.ts.map +1 -0
  74. package/dist/entries/drizzle-sqlite.js +5 -0
  75. package/dist/entries/drizzle-sqlite.js.map +1 -0
  76. package/dist/entries/ecb.d.ts +3 -0
  77. package/dist/entries/ecb.d.ts.map +1 -0
  78. package/dist/entries/ecb.js +5 -0
  79. package/dist/entries/ecb.js.map +1 -0
  80. package/dist/entries/fed.d.ts +3 -0
  81. package/dist/entries/fed.d.ts.map +1 -0
  82. package/dist/entries/fed.js +5 -0
  83. package/dist/entries/fed.js.map +1 -0
  84. package/dist/entries/fetch.d.ts +3 -0
  85. package/dist/entries/fetch.d.ts.map +1 -0
  86. package/dist/entries/fetch.js +5 -0
  87. package/dist/entries/fetch.js.map +1 -0
  88. package/dist/entries/finance.d.ts +3 -0
  89. package/dist/entries/finance.d.ts.map +1 -0
  90. package/dist/entries/finance.js +5 -0
  91. package/dist/entries/finance.js.map +1 -0
  92. package/dist/entries/historic.d.ts +3 -0
  93. package/dist/entries/historic.d.ts.map +1 -0
  94. package/dist/entries/historic.js +5 -0
  95. package/dist/entries/historic.js.map +1 -0
  96. package/dist/entries/history.d.ts +3 -0
  97. package/dist/entries/history.d.ts.map +1 -0
  98. package/dist/entries/history.js +5 -0
  99. package/dist/entries/history.js.map +1 -0
  100. package/dist/entries/hmrc.d.ts +3 -0
  101. package/dist/entries/hmrc.d.ts.map +1 -0
  102. package/dist/entries/hmrc.js +5 -0
  103. package/dist/entries/hmrc.js.map +1 -0
  104. package/dist/entries/kysely.d.ts +3 -0
  105. package/dist/entries/kysely.d.ts.map +1 -0
  106. package/dist/entries/kysely.js +5 -0
  107. package/dist/entries/kysely.js.map +1 -0
  108. package/dist/entries/parse.d.ts +3 -0
  109. package/dist/entries/parse.d.ts.map +1 -0
  110. package/dist/entries/parse.js +5 -0
  111. package/dist/entries/parse.js.map +1 -0
  112. package/dist/entries/pg.d.ts +3 -0
  113. package/dist/entries/pg.d.ts.map +1 -0
  114. package/dist/entries/pg.js +5 -0
  115. package/dist/entries/pg.js.map +1 -0
  116. package/dist/entries/policy.d.ts +3 -0
  117. package/dist/entries/policy.d.ts.map +1 -0
  118. package/dist/entries/policy.js +5 -0
  119. package/dist/entries/policy.js.map +1 -0
  120. package/dist/entries/pricing.d.ts +3 -0
  121. package/dist/entries/pricing.d.ts.map +1 -0
  122. package/dist/entries/pricing.js +5 -0
  123. package/dist/entries/pricing.js.map +1 -0
  124. package/dist/entries/stripe-fx.d.ts +3 -0
  125. package/dist/entries/stripe-fx.d.ts.map +1 -0
  126. package/dist/entries/stripe-fx.js +5 -0
  127. package/dist/entries/stripe-fx.js.map +1 -0
  128. package/dist/entries/testing-arbitraries.d.ts +3 -0
  129. package/dist/entries/testing-arbitraries.d.ts.map +1 -0
  130. package/dist/entries/testing-arbitraries.js +5 -0
  131. package/dist/entries/testing-arbitraries.js.map +1 -0
  132. package/dist/entries/testing-index.d.ts +3 -0
  133. package/dist/entries/testing-index.d.ts.map +1 -0
  134. package/dist/entries/testing-index.js +5 -0
  135. package/dist/entries/testing-index.js.map +1 -0
  136. package/dist/entries/testing-jest.d.ts +3 -0
  137. package/dist/entries/testing-jest.d.ts.map +1 -0
  138. package/dist/entries/testing-jest.js +5 -0
  139. package/dist/entries/testing-jest.js.map +1 -0
  140. package/dist/entries/testing-vitest.d.ts +3 -0
  141. package/dist/entries/testing-vitest.d.ts.map +1 -0
  142. package/dist/entries/testing-vitest.js +5 -0
  143. package/dist/entries/testing-vitest.js.map +1 -0
  144. package/dist/entries/valibot.d.ts +3 -0
  145. package/dist/entries/valibot.d.ts.map +1 -0
  146. package/dist/entries/valibot.js +5 -0
  147. package/dist/entries/valibot.js.map +1 -0
  148. package/dist/entries/wire.d.ts +3 -0
  149. package/dist/entries/wire.d.ts.map +1 -0
  150. package/dist/entries/wire.js +5 -0
  151. package/dist/entries/wire.js.map +1 -0
  152. package/dist/entries/zod.d.ts +3 -0
  153. package/dist/entries/zod.d.ts.map +1 -0
  154. package/dist/entries/zod.js +5 -0
  155. package/dist/entries/zod.js.map +1 -0
  156. package/dist/exact.d.ts.map +1 -1
  157. package/dist/exact.js +3 -3
  158. package/dist/exact.js.map +1 -1
  159. package/dist/fetch.d.ts +7 -1
  160. package/dist/fetch.d.ts.map +1 -1
  161. package/dist/fetch.js +11 -2
  162. package/dist/fetch.js.map +1 -1
  163. package/dist/finance.d.ts +296 -0
  164. package/dist/finance.d.ts.map +1 -0
  165. package/dist/finance.js +825 -0
  166. package/dist/finance.js.map +1 -0
  167. package/dist/fixed-money.d.ts +12 -0
  168. package/dist/fixed-money.d.ts.map +1 -0
  169. package/dist/fixed-money.js +32 -0
  170. package/dist/fixed-money.js.map +1 -0
  171. package/dist/fixed.d.ts +26 -9
  172. package/dist/fixed.d.ts.map +1 -1
  173. package/dist/fixed.js +65 -48
  174. package/dist/fixed.js.map +1 -1
  175. package/dist/fn.d.ts +17 -1
  176. package/dist/fn.d.ts.map +1 -1
  177. package/dist/fn.js +17 -1
  178. package/dist/fn.js.map +1 -1
  179. package/dist/format.d.ts.map +1 -1
  180. package/dist/format.js +28 -9
  181. package/dist/format.js.map +1 -1
  182. package/dist/generated/crypto.d.ts +58 -0
  183. package/dist/generated/crypto.d.ts.map +1 -0
  184. package/dist/generated/crypto.js +15 -0
  185. package/dist/generated/crypto.js.map +1 -0
  186. package/dist/generated/iso/AED.d.ts +2 -0
  187. package/dist/generated/iso/AED.d.ts.map +1 -0
  188. package/dist/generated/iso/AED.js +5 -0
  189. package/dist/generated/iso/AED.js.map +1 -0
  190. package/dist/generated/iso/AFN.d.ts +2 -0
  191. package/dist/generated/iso/AFN.d.ts.map +1 -0
  192. package/dist/generated/iso/AFN.js +5 -0
  193. package/dist/generated/iso/AFN.js.map +1 -0
  194. package/dist/generated/iso/ALL.d.ts +2 -0
  195. package/dist/generated/iso/ALL.d.ts.map +1 -0
  196. package/dist/generated/iso/ALL.js +5 -0
  197. package/dist/generated/iso/ALL.js.map +1 -0
  198. package/dist/generated/iso/AMD.d.ts +2 -0
  199. package/dist/generated/iso/AMD.d.ts.map +1 -0
  200. package/dist/generated/iso/AMD.js +5 -0
  201. package/dist/generated/iso/AMD.js.map +1 -0
  202. package/dist/generated/iso/AOA.d.ts +2 -0
  203. package/dist/generated/iso/AOA.d.ts.map +1 -0
  204. package/dist/generated/iso/AOA.js +5 -0
  205. package/dist/generated/iso/AOA.js.map +1 -0
  206. package/dist/generated/iso/ARS.d.ts +2 -0
  207. package/dist/generated/iso/ARS.d.ts.map +1 -0
  208. package/dist/generated/iso/ARS.js +5 -0
  209. package/dist/generated/iso/ARS.js.map +1 -0
  210. package/dist/generated/iso/AUD.d.ts +2 -0
  211. package/dist/generated/iso/AUD.d.ts.map +1 -0
  212. package/dist/generated/iso/AUD.js +5 -0
  213. package/dist/generated/iso/AUD.js.map +1 -0
  214. package/dist/generated/iso/AWG.d.ts +2 -0
  215. package/dist/generated/iso/AWG.d.ts.map +1 -0
  216. package/dist/generated/iso/AWG.js +5 -0
  217. package/dist/generated/iso/AWG.js.map +1 -0
  218. package/dist/generated/iso/AZN.d.ts +2 -0
  219. package/dist/generated/iso/AZN.d.ts.map +1 -0
  220. package/dist/generated/iso/AZN.js +5 -0
  221. package/dist/generated/iso/AZN.js.map +1 -0
  222. package/dist/generated/iso/BAM.d.ts +2 -0
  223. package/dist/generated/iso/BAM.d.ts.map +1 -0
  224. package/dist/generated/iso/BAM.js +5 -0
  225. package/dist/generated/iso/BAM.js.map +1 -0
  226. package/dist/generated/iso/BBD.d.ts +2 -0
  227. package/dist/generated/iso/BBD.d.ts.map +1 -0
  228. package/dist/generated/iso/BBD.js +5 -0
  229. package/dist/generated/iso/BBD.js.map +1 -0
  230. package/dist/generated/iso/BDT.d.ts +2 -0
  231. package/dist/generated/iso/BDT.d.ts.map +1 -0
  232. package/dist/generated/iso/BDT.js +5 -0
  233. package/dist/generated/iso/BDT.js.map +1 -0
  234. package/dist/generated/iso/BHD.d.ts +2 -0
  235. package/dist/generated/iso/BHD.d.ts.map +1 -0
  236. package/dist/generated/iso/BHD.js +5 -0
  237. package/dist/generated/iso/BHD.js.map +1 -0
  238. package/dist/generated/iso/BIF.d.ts +2 -0
  239. package/dist/generated/iso/BIF.d.ts.map +1 -0
  240. package/dist/generated/iso/BIF.js +5 -0
  241. package/dist/generated/iso/BIF.js.map +1 -0
  242. package/dist/generated/iso/BMD.d.ts +2 -0
  243. package/dist/generated/iso/BMD.d.ts.map +1 -0
  244. package/dist/generated/iso/BMD.js +5 -0
  245. package/dist/generated/iso/BMD.js.map +1 -0
  246. package/dist/generated/iso/BND.d.ts +2 -0
  247. package/dist/generated/iso/BND.d.ts.map +1 -0
  248. package/dist/generated/iso/BND.js +5 -0
  249. package/dist/generated/iso/BND.js.map +1 -0
  250. package/dist/generated/iso/BOB.d.ts +2 -0
  251. package/dist/generated/iso/BOB.d.ts.map +1 -0
  252. package/dist/generated/iso/BOB.js +5 -0
  253. package/dist/generated/iso/BOB.js.map +1 -0
  254. package/dist/generated/iso/BOV.d.ts +2 -0
  255. package/dist/generated/iso/BOV.d.ts.map +1 -0
  256. package/dist/generated/iso/BOV.js +5 -0
  257. package/dist/generated/iso/BOV.js.map +1 -0
  258. package/dist/generated/iso/BRL.d.ts +2 -0
  259. package/dist/generated/iso/BRL.d.ts.map +1 -0
  260. package/dist/generated/iso/BRL.js +5 -0
  261. package/dist/generated/iso/BRL.js.map +1 -0
  262. package/dist/generated/iso/BSD.d.ts +2 -0
  263. package/dist/generated/iso/BSD.d.ts.map +1 -0
  264. package/dist/generated/iso/BSD.js +5 -0
  265. package/dist/generated/iso/BSD.js.map +1 -0
  266. package/dist/generated/iso/BTN.d.ts +2 -0
  267. package/dist/generated/iso/BTN.d.ts.map +1 -0
  268. package/dist/generated/iso/BTN.js +5 -0
  269. package/dist/generated/iso/BTN.js.map +1 -0
  270. package/dist/generated/iso/BWP.d.ts +2 -0
  271. package/dist/generated/iso/BWP.d.ts.map +1 -0
  272. package/dist/generated/iso/BWP.js +5 -0
  273. package/dist/generated/iso/BWP.js.map +1 -0
  274. package/dist/generated/iso/BYN.d.ts +2 -0
  275. package/dist/generated/iso/BYN.d.ts.map +1 -0
  276. package/dist/generated/iso/BYN.js +5 -0
  277. package/dist/generated/iso/BYN.js.map +1 -0
  278. package/dist/generated/iso/BZD.d.ts +2 -0
  279. package/dist/generated/iso/BZD.d.ts.map +1 -0
  280. package/dist/generated/iso/BZD.js +5 -0
  281. package/dist/generated/iso/BZD.js.map +1 -0
  282. package/dist/generated/iso/CAD.d.ts +2 -0
  283. package/dist/generated/iso/CAD.d.ts.map +1 -0
  284. package/dist/generated/iso/CAD.js +5 -0
  285. package/dist/generated/iso/CAD.js.map +1 -0
  286. package/dist/generated/iso/CDF.d.ts +2 -0
  287. package/dist/generated/iso/CDF.d.ts.map +1 -0
  288. package/dist/generated/iso/CDF.js +5 -0
  289. package/dist/generated/iso/CDF.js.map +1 -0
  290. package/dist/generated/iso/CHE.d.ts +2 -0
  291. package/dist/generated/iso/CHE.d.ts.map +1 -0
  292. package/dist/generated/iso/CHE.js +5 -0
  293. package/dist/generated/iso/CHE.js.map +1 -0
  294. package/dist/generated/iso/CHF.d.ts +2 -0
  295. package/dist/generated/iso/CHF.d.ts.map +1 -0
  296. package/dist/generated/iso/CHF.js +5 -0
  297. package/dist/generated/iso/CHF.js.map +1 -0
  298. package/dist/generated/iso/CHW.d.ts +2 -0
  299. package/dist/generated/iso/CHW.d.ts.map +1 -0
  300. package/dist/generated/iso/CHW.js +5 -0
  301. package/dist/generated/iso/CHW.js.map +1 -0
  302. package/dist/generated/iso/CLF.d.ts +2 -0
  303. package/dist/generated/iso/CLF.d.ts.map +1 -0
  304. package/dist/generated/iso/CLF.js +5 -0
  305. package/dist/generated/iso/CLF.js.map +1 -0
  306. package/dist/generated/iso/CLP.d.ts +2 -0
  307. package/dist/generated/iso/CLP.d.ts.map +1 -0
  308. package/dist/generated/iso/CLP.js +5 -0
  309. package/dist/generated/iso/CLP.js.map +1 -0
  310. package/dist/generated/iso/CNY.d.ts +2 -0
  311. package/dist/generated/iso/CNY.d.ts.map +1 -0
  312. package/dist/generated/iso/CNY.js +5 -0
  313. package/dist/generated/iso/CNY.js.map +1 -0
  314. package/dist/generated/iso/COP.d.ts +2 -0
  315. package/dist/generated/iso/COP.d.ts.map +1 -0
  316. package/dist/generated/iso/COP.js +5 -0
  317. package/dist/generated/iso/COP.js.map +1 -0
  318. package/dist/generated/iso/COU.d.ts +2 -0
  319. package/dist/generated/iso/COU.d.ts.map +1 -0
  320. package/dist/generated/iso/COU.js +5 -0
  321. package/dist/generated/iso/COU.js.map +1 -0
  322. package/dist/generated/iso/CRC.d.ts +2 -0
  323. package/dist/generated/iso/CRC.d.ts.map +1 -0
  324. package/dist/generated/iso/CRC.js +5 -0
  325. package/dist/generated/iso/CRC.js.map +1 -0
  326. package/dist/generated/iso/CUP.d.ts +2 -0
  327. package/dist/generated/iso/CUP.d.ts.map +1 -0
  328. package/dist/generated/iso/CUP.js +5 -0
  329. package/dist/generated/iso/CUP.js.map +1 -0
  330. package/dist/generated/iso/CVE.d.ts +2 -0
  331. package/dist/generated/iso/CVE.d.ts.map +1 -0
  332. package/dist/generated/iso/CVE.js +5 -0
  333. package/dist/generated/iso/CVE.js.map +1 -0
  334. package/dist/generated/iso/CZK.d.ts +2 -0
  335. package/dist/generated/iso/CZK.d.ts.map +1 -0
  336. package/dist/generated/iso/CZK.js +5 -0
  337. package/dist/generated/iso/CZK.js.map +1 -0
  338. package/dist/generated/iso/DJF.d.ts +2 -0
  339. package/dist/generated/iso/DJF.d.ts.map +1 -0
  340. package/dist/generated/iso/DJF.js +5 -0
  341. package/dist/generated/iso/DJF.js.map +1 -0
  342. package/dist/generated/iso/DKK.d.ts +2 -0
  343. package/dist/generated/iso/DKK.d.ts.map +1 -0
  344. package/dist/generated/iso/DKK.js +5 -0
  345. package/dist/generated/iso/DKK.js.map +1 -0
  346. package/dist/generated/iso/DOP.d.ts +2 -0
  347. package/dist/generated/iso/DOP.d.ts.map +1 -0
  348. package/dist/generated/iso/DOP.js +5 -0
  349. package/dist/generated/iso/DOP.js.map +1 -0
  350. package/dist/generated/iso/DZD.d.ts +2 -0
  351. package/dist/generated/iso/DZD.d.ts.map +1 -0
  352. package/dist/generated/iso/DZD.js +5 -0
  353. package/dist/generated/iso/DZD.js.map +1 -0
  354. package/dist/generated/iso/EGP.d.ts +2 -0
  355. package/dist/generated/iso/EGP.d.ts.map +1 -0
  356. package/dist/generated/iso/EGP.js +5 -0
  357. package/dist/generated/iso/EGP.js.map +1 -0
  358. package/dist/generated/iso/ERN.d.ts +2 -0
  359. package/dist/generated/iso/ERN.d.ts.map +1 -0
  360. package/dist/generated/iso/ERN.js +5 -0
  361. package/dist/generated/iso/ERN.js.map +1 -0
  362. package/dist/generated/iso/ETB.d.ts +2 -0
  363. package/dist/generated/iso/ETB.d.ts.map +1 -0
  364. package/dist/generated/iso/ETB.js +5 -0
  365. package/dist/generated/iso/ETB.js.map +1 -0
  366. package/dist/generated/iso/EUR.d.ts +2 -0
  367. package/dist/generated/iso/EUR.d.ts.map +1 -0
  368. package/dist/generated/iso/EUR.js +5 -0
  369. package/dist/generated/iso/EUR.js.map +1 -0
  370. package/dist/generated/iso/FJD.d.ts +2 -0
  371. package/dist/generated/iso/FJD.d.ts.map +1 -0
  372. package/dist/generated/iso/FJD.js +5 -0
  373. package/dist/generated/iso/FJD.js.map +1 -0
  374. package/dist/generated/iso/FKP.d.ts +2 -0
  375. package/dist/generated/iso/FKP.d.ts.map +1 -0
  376. package/dist/generated/iso/FKP.js +5 -0
  377. package/dist/generated/iso/FKP.js.map +1 -0
  378. package/dist/generated/iso/GBP.d.ts +2 -0
  379. package/dist/generated/iso/GBP.d.ts.map +1 -0
  380. package/dist/generated/iso/GBP.js +5 -0
  381. package/dist/generated/iso/GBP.js.map +1 -0
  382. package/dist/generated/iso/GEL.d.ts +2 -0
  383. package/dist/generated/iso/GEL.d.ts.map +1 -0
  384. package/dist/generated/iso/GEL.js +5 -0
  385. package/dist/generated/iso/GEL.js.map +1 -0
  386. package/dist/generated/iso/GHS.d.ts +2 -0
  387. package/dist/generated/iso/GHS.d.ts.map +1 -0
  388. package/dist/generated/iso/GHS.js +5 -0
  389. package/dist/generated/iso/GHS.js.map +1 -0
  390. package/dist/generated/iso/GIP.d.ts +2 -0
  391. package/dist/generated/iso/GIP.d.ts.map +1 -0
  392. package/dist/generated/iso/GIP.js +5 -0
  393. package/dist/generated/iso/GIP.js.map +1 -0
  394. package/dist/generated/iso/GMD.d.ts +2 -0
  395. package/dist/generated/iso/GMD.d.ts.map +1 -0
  396. package/dist/generated/iso/GMD.js +5 -0
  397. package/dist/generated/iso/GMD.js.map +1 -0
  398. package/dist/generated/iso/GNF.d.ts +2 -0
  399. package/dist/generated/iso/GNF.d.ts.map +1 -0
  400. package/dist/generated/iso/GNF.js +5 -0
  401. package/dist/generated/iso/GNF.js.map +1 -0
  402. package/dist/generated/iso/GTQ.d.ts +2 -0
  403. package/dist/generated/iso/GTQ.d.ts.map +1 -0
  404. package/dist/generated/iso/GTQ.js +5 -0
  405. package/dist/generated/iso/GTQ.js.map +1 -0
  406. package/dist/generated/iso/GYD.d.ts +2 -0
  407. package/dist/generated/iso/GYD.d.ts.map +1 -0
  408. package/dist/generated/iso/GYD.js +5 -0
  409. package/dist/generated/iso/GYD.js.map +1 -0
  410. package/dist/generated/iso/HKD.d.ts +2 -0
  411. package/dist/generated/iso/HKD.d.ts.map +1 -0
  412. package/dist/generated/iso/HKD.js +5 -0
  413. package/dist/generated/iso/HKD.js.map +1 -0
  414. package/dist/generated/iso/HNL.d.ts +2 -0
  415. package/dist/generated/iso/HNL.d.ts.map +1 -0
  416. package/dist/generated/iso/HNL.js +5 -0
  417. package/dist/generated/iso/HNL.js.map +1 -0
  418. package/dist/generated/iso/HTG.d.ts +2 -0
  419. package/dist/generated/iso/HTG.d.ts.map +1 -0
  420. package/dist/generated/iso/HTG.js +5 -0
  421. package/dist/generated/iso/HTG.js.map +1 -0
  422. package/dist/generated/iso/HUF.d.ts +2 -0
  423. package/dist/generated/iso/HUF.d.ts.map +1 -0
  424. package/dist/generated/iso/HUF.js +5 -0
  425. package/dist/generated/iso/HUF.js.map +1 -0
  426. package/dist/generated/iso/IDR.d.ts +2 -0
  427. package/dist/generated/iso/IDR.d.ts.map +1 -0
  428. package/dist/generated/iso/IDR.js +5 -0
  429. package/dist/generated/iso/IDR.js.map +1 -0
  430. package/dist/generated/iso/ILS.d.ts +2 -0
  431. package/dist/generated/iso/ILS.d.ts.map +1 -0
  432. package/dist/generated/iso/ILS.js +5 -0
  433. package/dist/generated/iso/ILS.js.map +1 -0
  434. package/dist/generated/iso/INR.d.ts +2 -0
  435. package/dist/generated/iso/INR.d.ts.map +1 -0
  436. package/dist/generated/iso/INR.js +5 -0
  437. package/dist/generated/iso/INR.js.map +1 -0
  438. package/dist/generated/iso/IQD.d.ts +2 -0
  439. package/dist/generated/iso/IQD.d.ts.map +1 -0
  440. package/dist/generated/iso/IQD.js +5 -0
  441. package/dist/generated/iso/IQD.js.map +1 -0
  442. package/dist/generated/iso/IRR.d.ts +2 -0
  443. package/dist/generated/iso/IRR.d.ts.map +1 -0
  444. package/dist/generated/iso/IRR.js +5 -0
  445. package/dist/generated/iso/IRR.js.map +1 -0
  446. package/dist/generated/iso/ISK.d.ts +2 -0
  447. package/dist/generated/iso/ISK.d.ts.map +1 -0
  448. package/dist/generated/iso/ISK.js +5 -0
  449. package/dist/generated/iso/ISK.js.map +1 -0
  450. package/dist/generated/iso/JMD.d.ts +2 -0
  451. package/dist/generated/iso/JMD.d.ts.map +1 -0
  452. package/dist/generated/iso/JMD.js +5 -0
  453. package/dist/generated/iso/JMD.js.map +1 -0
  454. package/dist/generated/iso/JOD.d.ts +2 -0
  455. package/dist/generated/iso/JOD.d.ts.map +1 -0
  456. package/dist/generated/iso/JOD.js +5 -0
  457. package/dist/generated/iso/JOD.js.map +1 -0
  458. package/dist/generated/iso/JPY.d.ts +2 -0
  459. package/dist/generated/iso/JPY.d.ts.map +1 -0
  460. package/dist/generated/iso/JPY.js +5 -0
  461. package/dist/generated/iso/JPY.js.map +1 -0
  462. package/dist/generated/iso/KES.d.ts +2 -0
  463. package/dist/generated/iso/KES.d.ts.map +1 -0
  464. package/dist/generated/iso/KES.js +5 -0
  465. package/dist/generated/iso/KES.js.map +1 -0
  466. package/dist/generated/iso/KGS.d.ts +2 -0
  467. package/dist/generated/iso/KGS.d.ts.map +1 -0
  468. package/dist/generated/iso/KGS.js +5 -0
  469. package/dist/generated/iso/KGS.js.map +1 -0
  470. package/dist/generated/iso/KHR.d.ts +2 -0
  471. package/dist/generated/iso/KHR.d.ts.map +1 -0
  472. package/dist/generated/iso/KHR.js +5 -0
  473. package/dist/generated/iso/KHR.js.map +1 -0
  474. package/dist/generated/iso/KMF.d.ts +2 -0
  475. package/dist/generated/iso/KMF.d.ts.map +1 -0
  476. package/dist/generated/iso/KMF.js +5 -0
  477. package/dist/generated/iso/KMF.js.map +1 -0
  478. package/dist/generated/iso/KPW.d.ts +2 -0
  479. package/dist/generated/iso/KPW.d.ts.map +1 -0
  480. package/dist/generated/iso/KPW.js +5 -0
  481. package/dist/generated/iso/KPW.js.map +1 -0
  482. package/dist/generated/iso/KRW.d.ts +2 -0
  483. package/dist/generated/iso/KRW.d.ts.map +1 -0
  484. package/dist/generated/iso/KRW.js +5 -0
  485. package/dist/generated/iso/KRW.js.map +1 -0
  486. package/dist/generated/iso/KWD.d.ts +2 -0
  487. package/dist/generated/iso/KWD.d.ts.map +1 -0
  488. package/dist/generated/iso/KWD.js +5 -0
  489. package/dist/generated/iso/KWD.js.map +1 -0
  490. package/dist/generated/iso/KYD.d.ts +2 -0
  491. package/dist/generated/iso/KYD.d.ts.map +1 -0
  492. package/dist/generated/iso/KYD.js +5 -0
  493. package/dist/generated/iso/KYD.js.map +1 -0
  494. package/dist/generated/iso/KZT.d.ts +2 -0
  495. package/dist/generated/iso/KZT.d.ts.map +1 -0
  496. package/dist/generated/iso/KZT.js +5 -0
  497. package/dist/generated/iso/KZT.js.map +1 -0
  498. package/dist/generated/iso/LAK.d.ts +2 -0
  499. package/dist/generated/iso/LAK.d.ts.map +1 -0
  500. package/dist/generated/iso/LAK.js +5 -0
  501. package/dist/generated/iso/LAK.js.map +1 -0
  502. package/dist/generated/iso/LBP.d.ts +2 -0
  503. package/dist/generated/iso/LBP.d.ts.map +1 -0
  504. package/dist/generated/iso/LBP.js +5 -0
  505. package/dist/generated/iso/LBP.js.map +1 -0
  506. package/dist/generated/iso/LKR.d.ts +2 -0
  507. package/dist/generated/iso/LKR.d.ts.map +1 -0
  508. package/dist/generated/iso/LKR.js +5 -0
  509. package/dist/generated/iso/LKR.js.map +1 -0
  510. package/dist/generated/iso/LRD.d.ts +2 -0
  511. package/dist/generated/iso/LRD.d.ts.map +1 -0
  512. package/dist/generated/iso/LRD.js +5 -0
  513. package/dist/generated/iso/LRD.js.map +1 -0
  514. package/dist/generated/iso/LSL.d.ts +2 -0
  515. package/dist/generated/iso/LSL.d.ts.map +1 -0
  516. package/dist/generated/iso/LSL.js +5 -0
  517. package/dist/generated/iso/LSL.js.map +1 -0
  518. package/dist/generated/iso/LYD.d.ts +2 -0
  519. package/dist/generated/iso/LYD.d.ts.map +1 -0
  520. package/dist/generated/iso/LYD.js +5 -0
  521. package/dist/generated/iso/LYD.js.map +1 -0
  522. package/dist/generated/iso/MAD.d.ts +2 -0
  523. package/dist/generated/iso/MAD.d.ts.map +1 -0
  524. package/dist/generated/iso/MAD.js +5 -0
  525. package/dist/generated/iso/MAD.js.map +1 -0
  526. package/dist/generated/iso/MDL.d.ts +2 -0
  527. package/dist/generated/iso/MDL.d.ts.map +1 -0
  528. package/dist/generated/iso/MDL.js +5 -0
  529. package/dist/generated/iso/MDL.js.map +1 -0
  530. package/dist/generated/iso/MGA.d.ts +2 -0
  531. package/dist/generated/iso/MGA.d.ts.map +1 -0
  532. package/dist/generated/iso/MGA.js +5 -0
  533. package/dist/generated/iso/MGA.js.map +1 -0
  534. package/dist/generated/iso/MKD.d.ts +2 -0
  535. package/dist/generated/iso/MKD.d.ts.map +1 -0
  536. package/dist/generated/iso/MKD.js +5 -0
  537. package/dist/generated/iso/MKD.js.map +1 -0
  538. package/dist/generated/iso/MMK.d.ts +2 -0
  539. package/dist/generated/iso/MMK.d.ts.map +1 -0
  540. package/dist/generated/iso/MMK.js +5 -0
  541. package/dist/generated/iso/MMK.js.map +1 -0
  542. package/dist/generated/iso/MNT.d.ts +2 -0
  543. package/dist/generated/iso/MNT.d.ts.map +1 -0
  544. package/dist/generated/iso/MNT.js +5 -0
  545. package/dist/generated/iso/MNT.js.map +1 -0
  546. package/dist/generated/iso/MOP.d.ts +2 -0
  547. package/dist/generated/iso/MOP.d.ts.map +1 -0
  548. package/dist/generated/iso/MOP.js +5 -0
  549. package/dist/generated/iso/MOP.js.map +1 -0
  550. package/dist/generated/iso/MRU.d.ts +2 -0
  551. package/dist/generated/iso/MRU.d.ts.map +1 -0
  552. package/dist/generated/iso/MRU.js +5 -0
  553. package/dist/generated/iso/MRU.js.map +1 -0
  554. package/dist/generated/iso/MUR.d.ts +2 -0
  555. package/dist/generated/iso/MUR.d.ts.map +1 -0
  556. package/dist/generated/iso/MUR.js +5 -0
  557. package/dist/generated/iso/MUR.js.map +1 -0
  558. package/dist/generated/iso/MVR.d.ts +2 -0
  559. package/dist/generated/iso/MVR.d.ts.map +1 -0
  560. package/dist/generated/iso/MVR.js +5 -0
  561. package/dist/generated/iso/MVR.js.map +1 -0
  562. package/dist/generated/iso/MWK.d.ts +2 -0
  563. package/dist/generated/iso/MWK.d.ts.map +1 -0
  564. package/dist/generated/iso/MWK.js +5 -0
  565. package/dist/generated/iso/MWK.js.map +1 -0
  566. package/dist/generated/iso/MXN.d.ts +2 -0
  567. package/dist/generated/iso/MXN.d.ts.map +1 -0
  568. package/dist/generated/iso/MXN.js +5 -0
  569. package/dist/generated/iso/MXN.js.map +1 -0
  570. package/dist/generated/iso/MXV.d.ts +2 -0
  571. package/dist/generated/iso/MXV.d.ts.map +1 -0
  572. package/dist/generated/iso/MXV.js +5 -0
  573. package/dist/generated/iso/MXV.js.map +1 -0
  574. package/dist/generated/iso/MYR.d.ts +2 -0
  575. package/dist/generated/iso/MYR.d.ts.map +1 -0
  576. package/dist/generated/iso/MYR.js +5 -0
  577. package/dist/generated/iso/MYR.js.map +1 -0
  578. package/dist/generated/iso/MZN.d.ts +2 -0
  579. package/dist/generated/iso/MZN.d.ts.map +1 -0
  580. package/dist/generated/iso/MZN.js +5 -0
  581. package/dist/generated/iso/MZN.js.map +1 -0
  582. package/dist/generated/iso/NAD.d.ts +2 -0
  583. package/dist/generated/iso/NAD.d.ts.map +1 -0
  584. package/dist/generated/iso/NAD.js +5 -0
  585. package/dist/generated/iso/NAD.js.map +1 -0
  586. package/dist/generated/iso/NGN.d.ts +2 -0
  587. package/dist/generated/iso/NGN.d.ts.map +1 -0
  588. package/dist/generated/iso/NGN.js +5 -0
  589. package/dist/generated/iso/NGN.js.map +1 -0
  590. package/dist/generated/iso/NIO.d.ts +2 -0
  591. package/dist/generated/iso/NIO.d.ts.map +1 -0
  592. package/dist/generated/iso/NIO.js +5 -0
  593. package/dist/generated/iso/NIO.js.map +1 -0
  594. package/dist/generated/iso/NOK.d.ts +2 -0
  595. package/dist/generated/iso/NOK.d.ts.map +1 -0
  596. package/dist/generated/iso/NOK.js +5 -0
  597. package/dist/generated/iso/NOK.js.map +1 -0
  598. package/dist/generated/iso/NPR.d.ts +2 -0
  599. package/dist/generated/iso/NPR.d.ts.map +1 -0
  600. package/dist/generated/iso/NPR.js +5 -0
  601. package/dist/generated/iso/NPR.js.map +1 -0
  602. package/dist/generated/iso/NZD.d.ts +2 -0
  603. package/dist/generated/iso/NZD.d.ts.map +1 -0
  604. package/dist/generated/iso/NZD.js +5 -0
  605. package/dist/generated/iso/NZD.js.map +1 -0
  606. package/dist/generated/iso/OMR.d.ts +2 -0
  607. package/dist/generated/iso/OMR.d.ts.map +1 -0
  608. package/dist/generated/iso/OMR.js +5 -0
  609. package/dist/generated/iso/OMR.js.map +1 -0
  610. package/dist/generated/iso/PAB.d.ts +2 -0
  611. package/dist/generated/iso/PAB.d.ts.map +1 -0
  612. package/dist/generated/iso/PAB.js +5 -0
  613. package/dist/generated/iso/PAB.js.map +1 -0
  614. package/dist/generated/iso/PEN.d.ts +2 -0
  615. package/dist/generated/iso/PEN.d.ts.map +1 -0
  616. package/dist/generated/iso/PEN.js +5 -0
  617. package/dist/generated/iso/PEN.js.map +1 -0
  618. package/dist/generated/iso/PGK.d.ts +2 -0
  619. package/dist/generated/iso/PGK.d.ts.map +1 -0
  620. package/dist/generated/iso/PGK.js +5 -0
  621. package/dist/generated/iso/PGK.js.map +1 -0
  622. package/dist/generated/iso/PHP.d.ts +2 -0
  623. package/dist/generated/iso/PHP.d.ts.map +1 -0
  624. package/dist/generated/iso/PHP.js +5 -0
  625. package/dist/generated/iso/PHP.js.map +1 -0
  626. package/dist/generated/iso/PKR.d.ts +2 -0
  627. package/dist/generated/iso/PKR.d.ts.map +1 -0
  628. package/dist/generated/iso/PKR.js +5 -0
  629. package/dist/generated/iso/PKR.js.map +1 -0
  630. package/dist/generated/iso/PLN.d.ts +2 -0
  631. package/dist/generated/iso/PLN.d.ts.map +1 -0
  632. package/dist/generated/iso/PLN.js +5 -0
  633. package/dist/generated/iso/PLN.js.map +1 -0
  634. package/dist/generated/iso/PYG.d.ts +2 -0
  635. package/dist/generated/iso/PYG.d.ts.map +1 -0
  636. package/dist/generated/iso/PYG.js +5 -0
  637. package/dist/generated/iso/PYG.js.map +1 -0
  638. package/dist/generated/iso/QAR.d.ts +2 -0
  639. package/dist/generated/iso/QAR.d.ts.map +1 -0
  640. package/dist/generated/iso/QAR.js +5 -0
  641. package/dist/generated/iso/QAR.js.map +1 -0
  642. package/dist/generated/iso/RON.d.ts +2 -0
  643. package/dist/generated/iso/RON.d.ts.map +1 -0
  644. package/dist/generated/iso/RON.js +5 -0
  645. package/dist/generated/iso/RON.js.map +1 -0
  646. package/dist/generated/iso/RSD.d.ts +2 -0
  647. package/dist/generated/iso/RSD.d.ts.map +1 -0
  648. package/dist/generated/iso/RSD.js +5 -0
  649. package/dist/generated/iso/RSD.js.map +1 -0
  650. package/dist/generated/iso/RUB.d.ts +2 -0
  651. package/dist/generated/iso/RUB.d.ts.map +1 -0
  652. package/dist/generated/iso/RUB.js +5 -0
  653. package/dist/generated/iso/RUB.js.map +1 -0
  654. package/dist/generated/iso/RWF.d.ts +2 -0
  655. package/dist/generated/iso/RWF.d.ts.map +1 -0
  656. package/dist/generated/iso/RWF.js +5 -0
  657. package/dist/generated/iso/RWF.js.map +1 -0
  658. package/dist/generated/iso/SAR.d.ts +2 -0
  659. package/dist/generated/iso/SAR.d.ts.map +1 -0
  660. package/dist/generated/iso/SAR.js +5 -0
  661. package/dist/generated/iso/SAR.js.map +1 -0
  662. package/dist/generated/iso/SBD.d.ts +2 -0
  663. package/dist/generated/iso/SBD.d.ts.map +1 -0
  664. package/dist/generated/iso/SBD.js +5 -0
  665. package/dist/generated/iso/SBD.js.map +1 -0
  666. package/dist/generated/iso/SCR.d.ts +2 -0
  667. package/dist/generated/iso/SCR.d.ts.map +1 -0
  668. package/dist/generated/iso/SCR.js +5 -0
  669. package/dist/generated/iso/SCR.js.map +1 -0
  670. package/dist/generated/iso/SDG.d.ts +2 -0
  671. package/dist/generated/iso/SDG.d.ts.map +1 -0
  672. package/dist/generated/iso/SDG.js +5 -0
  673. package/dist/generated/iso/SDG.js.map +1 -0
  674. package/dist/generated/iso/SEK.d.ts +2 -0
  675. package/dist/generated/iso/SEK.d.ts.map +1 -0
  676. package/dist/generated/iso/SEK.js +5 -0
  677. package/dist/generated/iso/SEK.js.map +1 -0
  678. package/dist/generated/iso/SGD.d.ts +2 -0
  679. package/dist/generated/iso/SGD.d.ts.map +1 -0
  680. package/dist/generated/iso/SGD.js +5 -0
  681. package/dist/generated/iso/SGD.js.map +1 -0
  682. package/dist/generated/iso/SHP.d.ts +2 -0
  683. package/dist/generated/iso/SHP.d.ts.map +1 -0
  684. package/dist/generated/iso/SHP.js +5 -0
  685. package/dist/generated/iso/SHP.js.map +1 -0
  686. package/dist/generated/iso/SLE.d.ts +2 -0
  687. package/dist/generated/iso/SLE.d.ts.map +1 -0
  688. package/dist/generated/iso/SLE.js +5 -0
  689. package/dist/generated/iso/SLE.js.map +1 -0
  690. package/dist/generated/iso/SOS.d.ts +2 -0
  691. package/dist/generated/iso/SOS.d.ts.map +1 -0
  692. package/dist/generated/iso/SOS.js +5 -0
  693. package/dist/generated/iso/SOS.js.map +1 -0
  694. package/dist/generated/iso/SRD.d.ts +2 -0
  695. package/dist/generated/iso/SRD.d.ts.map +1 -0
  696. package/dist/generated/iso/SRD.js +5 -0
  697. package/dist/generated/iso/SRD.js.map +1 -0
  698. package/dist/generated/iso/SSP.d.ts +2 -0
  699. package/dist/generated/iso/SSP.d.ts.map +1 -0
  700. package/dist/generated/iso/SSP.js +5 -0
  701. package/dist/generated/iso/SSP.js.map +1 -0
  702. package/dist/generated/iso/STN.d.ts +2 -0
  703. package/dist/generated/iso/STN.d.ts.map +1 -0
  704. package/dist/generated/iso/STN.js +5 -0
  705. package/dist/generated/iso/STN.js.map +1 -0
  706. package/dist/generated/iso/SVC.d.ts +2 -0
  707. package/dist/generated/iso/SVC.d.ts.map +1 -0
  708. package/dist/generated/iso/SVC.js +5 -0
  709. package/dist/generated/iso/SVC.js.map +1 -0
  710. package/dist/generated/iso/SYP.d.ts +2 -0
  711. package/dist/generated/iso/SYP.d.ts.map +1 -0
  712. package/dist/generated/iso/SYP.js +5 -0
  713. package/dist/generated/iso/SYP.js.map +1 -0
  714. package/dist/generated/iso/SZL.d.ts +2 -0
  715. package/dist/generated/iso/SZL.d.ts.map +1 -0
  716. package/dist/generated/iso/SZL.js +5 -0
  717. package/dist/generated/iso/SZL.js.map +1 -0
  718. package/dist/generated/iso/THB.d.ts +2 -0
  719. package/dist/generated/iso/THB.d.ts.map +1 -0
  720. package/dist/generated/iso/THB.js +5 -0
  721. package/dist/generated/iso/THB.js.map +1 -0
  722. package/dist/generated/iso/TJS.d.ts +2 -0
  723. package/dist/generated/iso/TJS.d.ts.map +1 -0
  724. package/dist/generated/iso/TJS.js +5 -0
  725. package/dist/generated/iso/TJS.js.map +1 -0
  726. package/dist/generated/iso/TMT.d.ts +2 -0
  727. package/dist/generated/iso/TMT.d.ts.map +1 -0
  728. package/dist/generated/iso/TMT.js +5 -0
  729. package/dist/generated/iso/TMT.js.map +1 -0
  730. package/dist/generated/iso/TND.d.ts +2 -0
  731. package/dist/generated/iso/TND.d.ts.map +1 -0
  732. package/dist/generated/iso/TND.js +5 -0
  733. package/dist/generated/iso/TND.js.map +1 -0
  734. package/dist/generated/iso/TOP.d.ts +2 -0
  735. package/dist/generated/iso/TOP.d.ts.map +1 -0
  736. package/dist/generated/iso/TOP.js +5 -0
  737. package/dist/generated/iso/TOP.js.map +1 -0
  738. package/dist/generated/iso/TRY.d.ts +2 -0
  739. package/dist/generated/iso/TRY.d.ts.map +1 -0
  740. package/dist/generated/iso/TRY.js +5 -0
  741. package/dist/generated/iso/TRY.js.map +1 -0
  742. package/dist/generated/iso/TTD.d.ts +2 -0
  743. package/dist/generated/iso/TTD.d.ts.map +1 -0
  744. package/dist/generated/iso/TTD.js +5 -0
  745. package/dist/generated/iso/TTD.js.map +1 -0
  746. package/dist/generated/iso/TWD.d.ts +2 -0
  747. package/dist/generated/iso/TWD.d.ts.map +1 -0
  748. package/dist/generated/iso/TWD.js +5 -0
  749. package/dist/generated/iso/TWD.js.map +1 -0
  750. package/dist/generated/iso/TZS.d.ts +2 -0
  751. package/dist/generated/iso/TZS.d.ts.map +1 -0
  752. package/dist/generated/iso/TZS.js +5 -0
  753. package/dist/generated/iso/TZS.js.map +1 -0
  754. package/dist/generated/iso/UAH.d.ts +2 -0
  755. package/dist/generated/iso/UAH.d.ts.map +1 -0
  756. package/dist/generated/iso/UAH.js +5 -0
  757. package/dist/generated/iso/UAH.js.map +1 -0
  758. package/dist/generated/iso/UGX.d.ts +2 -0
  759. package/dist/generated/iso/UGX.d.ts.map +1 -0
  760. package/dist/generated/iso/UGX.js +5 -0
  761. package/dist/generated/iso/UGX.js.map +1 -0
  762. package/dist/generated/iso/USD.d.ts +2 -0
  763. package/dist/generated/iso/USD.d.ts.map +1 -0
  764. package/dist/generated/iso/USD.js +5 -0
  765. package/dist/generated/iso/USD.js.map +1 -0
  766. package/dist/generated/iso/USN.d.ts +2 -0
  767. package/dist/generated/iso/USN.d.ts.map +1 -0
  768. package/dist/generated/iso/USN.js +5 -0
  769. package/dist/generated/iso/USN.js.map +1 -0
  770. package/dist/generated/iso/UYI.d.ts +2 -0
  771. package/dist/generated/iso/UYI.d.ts.map +1 -0
  772. package/dist/generated/iso/UYI.js +5 -0
  773. package/dist/generated/iso/UYI.js.map +1 -0
  774. package/dist/generated/iso/UYU.d.ts +2 -0
  775. package/dist/generated/iso/UYU.d.ts.map +1 -0
  776. package/dist/generated/iso/UYU.js +5 -0
  777. package/dist/generated/iso/UYU.js.map +1 -0
  778. package/dist/generated/iso/UYW.d.ts +2 -0
  779. package/dist/generated/iso/UYW.d.ts.map +1 -0
  780. package/dist/generated/iso/UYW.js +5 -0
  781. package/dist/generated/iso/UYW.js.map +1 -0
  782. package/dist/generated/iso/UZS.d.ts +2 -0
  783. package/dist/generated/iso/UZS.d.ts.map +1 -0
  784. package/dist/generated/iso/UZS.js +5 -0
  785. package/dist/generated/iso/UZS.js.map +1 -0
  786. package/dist/generated/iso/VED.d.ts +2 -0
  787. package/dist/generated/iso/VED.d.ts.map +1 -0
  788. package/dist/generated/iso/VED.js +5 -0
  789. package/dist/generated/iso/VED.js.map +1 -0
  790. package/dist/generated/iso/VES.d.ts +2 -0
  791. package/dist/generated/iso/VES.d.ts.map +1 -0
  792. package/dist/generated/iso/VES.js +5 -0
  793. package/dist/generated/iso/VES.js.map +1 -0
  794. package/dist/generated/iso/VND.d.ts +2 -0
  795. package/dist/generated/iso/VND.d.ts.map +1 -0
  796. package/dist/generated/iso/VND.js +5 -0
  797. package/dist/generated/iso/VND.js.map +1 -0
  798. package/dist/generated/iso/VUV.d.ts +2 -0
  799. package/dist/generated/iso/VUV.d.ts.map +1 -0
  800. package/dist/generated/iso/VUV.js +5 -0
  801. package/dist/generated/iso/VUV.js.map +1 -0
  802. package/dist/generated/iso/WST.d.ts +2 -0
  803. package/dist/generated/iso/WST.d.ts.map +1 -0
  804. package/dist/generated/iso/WST.js +5 -0
  805. package/dist/generated/iso/WST.js.map +1 -0
  806. package/dist/generated/iso/XAD.d.ts +2 -0
  807. package/dist/generated/iso/XAD.d.ts.map +1 -0
  808. package/dist/generated/iso/XAD.js +5 -0
  809. package/dist/generated/iso/XAD.js.map +1 -0
  810. package/dist/generated/iso/XAF.d.ts +2 -0
  811. package/dist/generated/iso/XAF.d.ts.map +1 -0
  812. package/dist/generated/iso/XAF.js +5 -0
  813. package/dist/generated/iso/XAF.js.map +1 -0
  814. package/dist/generated/iso/XCD.d.ts +2 -0
  815. package/dist/generated/iso/XCD.d.ts.map +1 -0
  816. package/dist/generated/iso/XCD.js +5 -0
  817. package/dist/generated/iso/XCD.js.map +1 -0
  818. package/dist/generated/iso/XCG.d.ts +2 -0
  819. package/dist/generated/iso/XCG.d.ts.map +1 -0
  820. package/dist/generated/iso/XCG.js +5 -0
  821. package/dist/generated/iso/XCG.js.map +1 -0
  822. package/dist/generated/iso/XOF.d.ts +2 -0
  823. package/dist/generated/iso/XOF.d.ts.map +1 -0
  824. package/dist/generated/iso/XOF.js +5 -0
  825. package/dist/generated/iso/XOF.js.map +1 -0
  826. package/dist/generated/iso/XPF.d.ts +2 -0
  827. package/dist/generated/iso/XPF.d.ts.map +1 -0
  828. package/dist/generated/iso/XPF.js +5 -0
  829. package/dist/generated/iso/XPF.js.map +1 -0
  830. package/dist/generated/iso/YER.d.ts +2 -0
  831. package/dist/generated/iso/YER.d.ts.map +1 -0
  832. package/dist/generated/iso/YER.js +5 -0
  833. package/dist/generated/iso/YER.js.map +1 -0
  834. package/dist/generated/iso/ZAR.d.ts +2 -0
  835. package/dist/generated/iso/ZAR.d.ts.map +1 -0
  836. package/dist/generated/iso/ZAR.js +5 -0
  837. package/dist/generated/iso/ZAR.js.map +1 -0
  838. package/dist/generated/iso/ZMW.d.ts +2 -0
  839. package/dist/generated/iso/ZMW.d.ts.map +1 -0
  840. package/dist/generated/iso/ZMW.js +5 -0
  841. package/dist/generated/iso/ZMW.js.map +1 -0
  842. package/dist/generated/iso/ZWG.d.ts +2 -0
  843. package/dist/generated/iso/ZWG.d.ts.map +1 -0
  844. package/dist/generated/iso/ZWG.js +5 -0
  845. package/dist/generated/iso/ZWG.js.map +1 -0
  846. package/dist/generated/iso4217-numeric.d.ts +3 -0
  847. package/dist/generated/iso4217-numeric.d.ts.map +1 -0
  848. package/dist/generated/iso4217-numeric.js +184 -0
  849. package/dist/generated/iso4217-numeric.js.map +1 -0
  850. package/dist/generated/rbnf-de.d.ts +3 -0
  851. package/dist/generated/rbnf-de.d.ts.map +1 -0
  852. package/dist/generated/rbnf-de.js +5 -0
  853. package/dist/generated/rbnf-de.js.map +1 -0
  854. package/dist/generated/rbnf-en.d.ts +3 -0
  855. package/dist/generated/rbnf-en.d.ts.map +1 -0
  856. package/dist/generated/rbnf-en.js +5 -0
  857. package/dist/generated/rbnf-en.js.map +1 -0
  858. package/dist/generated/rbnf-es.d.ts +3 -0
  859. package/dist/generated/rbnf-es.d.ts.map +1 -0
  860. package/dist/generated/rbnf-es.js +5 -0
  861. package/dist/generated/rbnf-es.js.map +1 -0
  862. package/dist/generated/rbnf-fr.d.ts +3 -0
  863. package/dist/generated/rbnf-fr.d.ts.map +1 -0
  864. package/dist/generated/rbnf-fr.js +5 -0
  865. package/dist/generated/rbnf-fr.js.map +1 -0
  866. package/dist/generated/rbnf-it.d.ts +3 -0
  867. package/dist/generated/rbnf-it.d.ts.map +1 -0
  868. package/dist/generated/rbnf-it.js +5 -0
  869. package/dist/generated/rbnf-it.js.map +1 -0
  870. package/dist/generated/rbnf-nl.d.ts +3 -0
  871. package/dist/generated/rbnf-nl.d.ts.map +1 -0
  872. package/dist/generated/rbnf-nl.js +5 -0
  873. package/dist/generated/rbnf-nl.js.map +1 -0
  874. package/dist/generated/rbnf-pt.d.ts +3 -0
  875. package/dist/generated/rbnf-pt.d.ts.map +1 -0
  876. package/dist/generated/rbnf-pt.js +5 -0
  877. package/dist/generated/rbnf-pt.js.map +1 -0
  878. package/dist/generated/territories.d.ts +6 -0
  879. package/dist/generated/territories.d.ts.map +1 -0
  880. package/dist/generated/territories.js +275 -0
  881. package/dist/generated/territories.js.map +1 -0
  882. package/dist/index.d.ts +1 -0
  883. package/dist/index.d.ts.map +1 -1
  884. package/dist/index.js +2 -0
  885. package/dist/index.js.map +1 -1
  886. package/dist/kysely.d.ts.map +1 -1
  887. package/dist/kysely.js +2 -2
  888. package/dist/kysely.js.map +1 -1
  889. package/dist/math.d.ts +41 -0
  890. package/dist/math.d.ts.map +1 -0
  891. package/dist/math.js +132 -0
  892. package/dist/math.js.map +1 -0
  893. package/dist/money.d.ts +39 -57
  894. package/dist/money.d.ts.map +1 -1
  895. package/dist/money.js +116 -128
  896. package/dist/money.js.map +1 -1
  897. package/dist/parse.js +7 -7
  898. package/dist/parse.js.map +1 -1
  899. package/dist/plugins/adyen.d.ts +2 -0
  900. package/dist/plugins/adyen.d.ts.map +1 -1
  901. package/dist/plugins/adyen.js +2 -0
  902. package/dist/plugins/adyen.js.map +1 -1
  903. package/dist/plugins/all.d.ts +18 -2
  904. package/dist/plugins/all.d.ts.map +1 -1
  905. package/dist/plugins/all.js +19 -2
  906. package/dist/plugins/all.js.map +1 -1
  907. package/dist/plugins/allocate.d.ts +1 -0
  908. package/dist/plugins/allocate.d.ts.map +1 -1
  909. package/dist/plugins/allocate.js +2 -0
  910. package/dist/plugins/allocate.js.map +1 -1
  911. package/dist/plugins/braintree.d.ts +1 -0
  912. package/dist/plugins/braintree.d.ts.map +1 -1
  913. package/dist/plugins/braintree.js +2 -0
  914. package/dist/plugins/braintree.js.map +1 -1
  915. package/dist/plugins/cash.d.ts +1 -0
  916. package/dist/plugins/cash.d.ts.map +1 -1
  917. package/dist/plugins/cash.js +2 -0
  918. package/dist/plugins/cash.js.map +1 -1
  919. package/dist/plugins/checkout.d.ts +1 -0
  920. package/dist/plugins/checkout.d.ts.map +1 -1
  921. package/dist/plugins/checkout.js +2 -0
  922. package/dist/plugins/checkout.js.map +1 -1
  923. package/dist/plugins/convert.d.ts +5 -0
  924. package/dist/plugins/convert.d.ts.map +1 -1
  925. package/dist/plugins/convert.js +2 -0
  926. package/dist/plugins/convert.js.map +1 -1
  927. package/dist/plugins/core.d.ts +78 -0
  928. package/dist/plugins/core.d.ts.map +1 -0
  929. package/dist/plugins/core.js +104 -0
  930. package/dist/plugins/core.js.map +1 -0
  931. package/dist/plugins/exact.d.ts +1 -0
  932. package/dist/plugins/exact.d.ts.map +1 -1
  933. package/dist/plugins/exact.js +2 -0
  934. package/dist/plugins/exact.js.map +1 -1
  935. package/dist/plugins/fixed-money.d.ts +31 -0
  936. package/dist/plugins/fixed-money.d.ts.map +1 -0
  937. package/dist/plugins/fixed-money.js +29 -0
  938. package/dist/plugins/fixed-money.js.map +1 -0
  939. package/dist/plugins/format.d.ts +5 -0
  940. package/dist/plugins/format.d.ts.map +1 -1
  941. package/dist/plugins/format.js +2 -0
  942. package/dist/plugins/format.js.map +1 -1
  943. package/dist/plugins/iso.d.ts +2 -0
  944. package/dist/plugins/iso.d.ts.map +1 -0
  945. package/dist/plugins/iso.js +9 -0
  946. package/dist/plugins/iso.js.map +1 -0
  947. package/dist/plugins/klarna.d.ts +1 -0
  948. package/dist/plugins/klarna.d.ts.map +1 -1
  949. package/dist/plugins/klarna.js +2 -0
  950. package/dist/plugins/klarna.js.map +1 -1
  951. package/dist/plugins/math.d.ts +20 -0
  952. package/dist/plugins/math.d.ts.map +1 -0
  953. package/dist/plugins/math.js +24 -0
  954. package/dist/plugins/math.js.map +1 -0
  955. package/dist/plugins/paypal.d.ts +5 -0
  956. package/dist/plugins/paypal.d.ts.map +1 -1
  957. package/dist/plugins/paypal.js +6 -0
  958. package/dist/plugins/paypal.js.map +1 -1
  959. package/dist/plugins/prisma.d.ts +5 -0
  960. package/dist/plugins/prisma.d.ts.map +1 -1
  961. package/dist/plugins/prisma.js +6 -0
  962. package/dist/plugins/prisma.js.map +1 -1
  963. package/dist/plugins/stripe.d.ts +5 -0
  964. package/dist/plugins/stripe.d.ts.map +1 -1
  965. package/dist/plugins/stripe.js +6 -0
  966. package/dist/plugins/stripe.js.map +1 -1
  967. package/dist/plugins/tax.d.ts +1 -0
  968. package/dist/plugins/tax.d.ts.map +1 -1
  969. package/dist/plugins/tax.js +6 -0
  970. package/dist/plugins/tax.js.map +1 -1
  971. package/dist/policy.d.ts.map +1 -1
  972. package/dist/policy.js +5 -6
  973. package/dist/policy.js.map +1 -1
  974. package/dist/pricing.d.ts +52 -0
  975. package/dist/pricing.d.ts.map +1 -0
  976. package/dist/pricing.js +100 -0
  977. package/dist/pricing.js.map +1 -0
  978. package/dist/prisma.d.ts.map +1 -1
  979. package/dist/prisma.js +6 -2
  980. package/dist/prisma.js.map +1 -1
  981. package/dist/provider.js +2 -2
  982. package/dist/provider.js.map +1 -1
  983. package/dist/rate-text.d.ts +6 -0
  984. package/dist/rate-text.d.ts.map +1 -1
  985. package/dist/rate-text.js +24 -1
  986. package/dist/rate-text.js.map +1 -1
  987. package/dist/rate.d.ts.map +1 -1
  988. package/dist/rate.js +2 -3
  989. package/dist/rate.js.map +1 -1
  990. package/dist/rbnf.d.ts +29 -0
  991. package/dist/rbnf.d.ts.map +1 -0
  992. package/dist/rbnf.js +301 -0
  993. package/dist/rbnf.js.map +1 -0
  994. package/dist/scale.d.ts +8 -0
  995. package/dist/scale.d.ts.map +1 -0
  996. package/dist/scale.js +34 -0
  997. package/dist/scale.js.map +1 -0
  998. package/dist/schema.d.ts.map +1 -1
  999. package/dist/schema.js +4 -5
  1000. package/dist/schema.js.map +1 -1
  1001. package/dist/territories.d.ts +40 -0
  1002. package/dist/territories.d.ts.map +1 -0
  1003. package/dist/territories.js +71 -0
  1004. package/dist/territories.js.map +1 -0
  1005. package/dist/testing/arbitraries.d.ts.map +1 -1
  1006. package/dist/testing/arbitraries.js +4 -4
  1007. package/dist/testing/arbitraries.js.map +1 -1
  1008. package/dist/testing/index.js +1 -1
  1009. package/dist/testing/index.js.map +1 -1
  1010. package/dist/tiers.d.ts +95 -0
  1011. package/dist/tiers.d.ts.map +1 -0
  1012. package/dist/tiers.js +173 -0
  1013. package/dist/tiers.js.map +1 -0
  1014. package/dist/valibot.d.ts.map +1 -1
  1015. package/dist/valibot.js +4 -1
  1016. package/dist/valibot.js.map +1 -1
  1017. package/dist/wire.d.ts +105 -0
  1018. package/dist/wire.d.ts.map +1 -0
  1019. package/dist/wire.js +212 -0
  1020. package/dist/wire.js.map +1 -0
  1021. package/dist/words/de.d.ts +4 -0
  1022. package/dist/words/de.d.ts.map +1 -0
  1023. package/dist/words/de.js +8 -0
  1024. package/dist/words/de.js.map +1 -0
  1025. package/dist/words/en.d.ts +4 -0
  1026. package/dist/words/en.d.ts.map +1 -0
  1027. package/dist/words/en.js +8 -0
  1028. package/dist/words/en.js.map +1 -0
  1029. package/dist/words/es.d.ts +4 -0
  1030. package/dist/words/es.d.ts.map +1 -0
  1031. package/dist/words/es.js +8 -0
  1032. package/dist/words/es.js.map +1 -0
  1033. package/dist/words/fr.d.ts +4 -0
  1034. package/dist/words/fr.d.ts.map +1 -0
  1035. package/dist/words/fr.js +8 -0
  1036. package/dist/words/fr.js.map +1 -0
  1037. package/dist/words/it.d.ts +4 -0
  1038. package/dist/words/it.d.ts.map +1 -0
  1039. package/dist/words/it.js +8 -0
  1040. package/dist/words/it.js.map +1 -0
  1041. package/dist/words/nl.d.ts +4 -0
  1042. package/dist/words/nl.d.ts.map +1 -0
  1043. package/dist/words/nl.js +8 -0
  1044. package/dist/words/nl.js.map +1 -0
  1045. package/dist/words/pt.d.ts +4 -0
  1046. package/dist/words/pt.d.ts.map +1 -0
  1047. package/dist/words/pt.js +8 -0
  1048. package/dist/words/pt.js.map +1 -0
  1049. package/dist/words.d.ts +63 -0
  1050. package/dist/words.d.ts.map +1 -0
  1051. package/dist/words.js +107 -0
  1052. package/dist/words.js.map +1 -0
  1053. package/dist/zod.d.ts.map +1 -1
  1054. package/dist/zod.js +1 -1
  1055. package/dist/zod.js.map +1 -1
  1056. package/package.json +312 -54
  1057. package/src/adyen-fx.ts +1 -1
  1058. package/src/allocate.ts +4 -3
  1059. package/src/cash.ts +26 -0
  1060. package/src/convert.ts +2 -3
  1061. package/src/crypto.ts +129 -0
  1062. package/src/currencies.ts +123 -0
  1063. package/src/currency.ts +45 -14
  1064. package/src/decimal.ts +98 -10
  1065. package/src/ecb.ts +75 -16
  1066. package/src/entries/adyen-fx.ts +5 -0
  1067. package/src/entries/boc.ts +5 -0
  1068. package/src/entries/boe.ts +5 -0
  1069. package/src/entries/crypto.ts +5 -0
  1070. package/src/entries/currencies.ts +5 -0
  1071. package/src/entries/drizzle-mysql.ts +5 -0
  1072. package/src/entries/drizzle-pg.ts +5 -0
  1073. package/src/entries/drizzle-sqlite.ts +5 -0
  1074. package/src/entries/ecb.ts +5 -0
  1075. package/src/entries/fed.ts +5 -0
  1076. package/src/entries/fetch.ts +5 -0
  1077. package/src/entries/finance.ts +5 -0
  1078. package/src/entries/historic.ts +5 -0
  1079. package/src/entries/history.ts +5 -0
  1080. package/src/entries/hmrc.ts +5 -0
  1081. package/src/entries/kysely.ts +5 -0
  1082. package/src/entries/parse.ts +5 -0
  1083. package/src/entries/pg.ts +5 -0
  1084. package/src/entries/policy.ts +5 -0
  1085. package/src/entries/pricing.ts +5 -0
  1086. package/src/entries/stripe-fx.ts +5 -0
  1087. package/src/entries/testing-arbitraries.ts +5 -0
  1088. package/src/entries/testing-index.ts +5 -0
  1089. package/src/entries/testing-jest.ts +5 -0
  1090. package/src/entries/testing-vitest.ts +5 -0
  1091. package/src/entries/valibot.ts +5 -0
  1092. package/src/entries/wire.ts +5 -0
  1093. package/src/entries/zod.ts +5 -0
  1094. package/src/exact.ts +3 -3
  1095. package/src/fetch.ts +20 -4
  1096. package/src/finance.ts +1219 -0
  1097. package/src/fixed-money.ts +38 -0
  1098. package/src/fixed.ts +74 -66
  1099. package/src/fn.ts +17 -0
  1100. package/src/format.ts +28 -9
  1101. package/src/generated/crypto.ts +15 -0
  1102. package/src/generated/iso/AED.ts +5 -0
  1103. package/src/generated/iso/AFN.ts +5 -0
  1104. package/src/generated/iso/ALL.ts +5 -0
  1105. package/src/generated/iso/AMD.ts +5 -0
  1106. package/src/generated/iso/AOA.ts +5 -0
  1107. package/src/generated/iso/ARS.ts +5 -0
  1108. package/src/generated/iso/AUD.ts +5 -0
  1109. package/src/generated/iso/AWG.ts +5 -0
  1110. package/src/generated/iso/AZN.ts +5 -0
  1111. package/src/generated/iso/BAM.ts +5 -0
  1112. package/src/generated/iso/BBD.ts +5 -0
  1113. package/src/generated/iso/BDT.ts +5 -0
  1114. package/src/generated/iso/BHD.ts +5 -0
  1115. package/src/generated/iso/BIF.ts +5 -0
  1116. package/src/generated/iso/BMD.ts +5 -0
  1117. package/src/generated/iso/BND.ts +5 -0
  1118. package/src/generated/iso/BOB.ts +5 -0
  1119. package/src/generated/iso/BOV.ts +5 -0
  1120. package/src/generated/iso/BRL.ts +5 -0
  1121. package/src/generated/iso/BSD.ts +5 -0
  1122. package/src/generated/iso/BTN.ts +5 -0
  1123. package/src/generated/iso/BWP.ts +5 -0
  1124. package/src/generated/iso/BYN.ts +5 -0
  1125. package/src/generated/iso/BZD.ts +5 -0
  1126. package/src/generated/iso/CAD.ts +5 -0
  1127. package/src/generated/iso/CDF.ts +5 -0
  1128. package/src/generated/iso/CHE.ts +5 -0
  1129. package/src/generated/iso/CHF.ts +5 -0
  1130. package/src/generated/iso/CHW.ts +5 -0
  1131. package/src/generated/iso/CLF.ts +5 -0
  1132. package/src/generated/iso/CLP.ts +5 -0
  1133. package/src/generated/iso/CNY.ts +5 -0
  1134. package/src/generated/iso/COP.ts +5 -0
  1135. package/src/generated/iso/COU.ts +5 -0
  1136. package/src/generated/iso/CRC.ts +5 -0
  1137. package/src/generated/iso/CUP.ts +5 -0
  1138. package/src/generated/iso/CVE.ts +5 -0
  1139. package/src/generated/iso/CZK.ts +5 -0
  1140. package/src/generated/iso/DJF.ts +5 -0
  1141. package/src/generated/iso/DKK.ts +5 -0
  1142. package/src/generated/iso/DOP.ts +5 -0
  1143. package/src/generated/iso/DZD.ts +5 -0
  1144. package/src/generated/iso/EGP.ts +5 -0
  1145. package/src/generated/iso/ERN.ts +5 -0
  1146. package/src/generated/iso/ETB.ts +5 -0
  1147. package/src/generated/iso/EUR.ts +5 -0
  1148. package/src/generated/iso/FJD.ts +5 -0
  1149. package/src/generated/iso/FKP.ts +5 -0
  1150. package/src/generated/iso/GBP.ts +5 -0
  1151. package/src/generated/iso/GEL.ts +5 -0
  1152. package/src/generated/iso/GHS.ts +5 -0
  1153. package/src/generated/iso/GIP.ts +5 -0
  1154. package/src/generated/iso/GMD.ts +5 -0
  1155. package/src/generated/iso/GNF.ts +5 -0
  1156. package/src/generated/iso/GTQ.ts +5 -0
  1157. package/src/generated/iso/GYD.ts +5 -0
  1158. package/src/generated/iso/HKD.ts +5 -0
  1159. package/src/generated/iso/HNL.ts +5 -0
  1160. package/src/generated/iso/HTG.ts +5 -0
  1161. package/src/generated/iso/HUF.ts +5 -0
  1162. package/src/generated/iso/IDR.ts +5 -0
  1163. package/src/generated/iso/ILS.ts +5 -0
  1164. package/src/generated/iso/INR.ts +5 -0
  1165. package/src/generated/iso/IQD.ts +5 -0
  1166. package/src/generated/iso/IRR.ts +5 -0
  1167. package/src/generated/iso/ISK.ts +5 -0
  1168. package/src/generated/iso/JMD.ts +5 -0
  1169. package/src/generated/iso/JOD.ts +5 -0
  1170. package/src/generated/iso/JPY.ts +5 -0
  1171. package/src/generated/iso/KES.ts +5 -0
  1172. package/src/generated/iso/KGS.ts +5 -0
  1173. package/src/generated/iso/KHR.ts +5 -0
  1174. package/src/generated/iso/KMF.ts +5 -0
  1175. package/src/generated/iso/KPW.ts +5 -0
  1176. package/src/generated/iso/KRW.ts +5 -0
  1177. package/src/generated/iso/KWD.ts +5 -0
  1178. package/src/generated/iso/KYD.ts +5 -0
  1179. package/src/generated/iso/KZT.ts +5 -0
  1180. package/src/generated/iso/LAK.ts +5 -0
  1181. package/src/generated/iso/LBP.ts +5 -0
  1182. package/src/generated/iso/LKR.ts +5 -0
  1183. package/src/generated/iso/LRD.ts +5 -0
  1184. package/src/generated/iso/LSL.ts +5 -0
  1185. package/src/generated/iso/LYD.ts +5 -0
  1186. package/src/generated/iso/MAD.ts +5 -0
  1187. package/src/generated/iso/MDL.ts +5 -0
  1188. package/src/generated/iso/MGA.ts +5 -0
  1189. package/src/generated/iso/MKD.ts +5 -0
  1190. package/src/generated/iso/MMK.ts +5 -0
  1191. package/src/generated/iso/MNT.ts +5 -0
  1192. package/src/generated/iso/MOP.ts +5 -0
  1193. package/src/generated/iso/MRU.ts +5 -0
  1194. package/src/generated/iso/MUR.ts +5 -0
  1195. package/src/generated/iso/MVR.ts +5 -0
  1196. package/src/generated/iso/MWK.ts +5 -0
  1197. package/src/generated/iso/MXN.ts +5 -0
  1198. package/src/generated/iso/MXV.ts +5 -0
  1199. package/src/generated/iso/MYR.ts +5 -0
  1200. package/src/generated/iso/MZN.ts +5 -0
  1201. package/src/generated/iso/NAD.ts +5 -0
  1202. package/src/generated/iso/NGN.ts +5 -0
  1203. package/src/generated/iso/NIO.ts +5 -0
  1204. package/src/generated/iso/NOK.ts +5 -0
  1205. package/src/generated/iso/NPR.ts +5 -0
  1206. package/src/generated/iso/NZD.ts +5 -0
  1207. package/src/generated/iso/OMR.ts +5 -0
  1208. package/src/generated/iso/PAB.ts +5 -0
  1209. package/src/generated/iso/PEN.ts +5 -0
  1210. package/src/generated/iso/PGK.ts +5 -0
  1211. package/src/generated/iso/PHP.ts +5 -0
  1212. package/src/generated/iso/PKR.ts +5 -0
  1213. package/src/generated/iso/PLN.ts +5 -0
  1214. package/src/generated/iso/PYG.ts +5 -0
  1215. package/src/generated/iso/QAR.ts +5 -0
  1216. package/src/generated/iso/RON.ts +5 -0
  1217. package/src/generated/iso/RSD.ts +5 -0
  1218. package/src/generated/iso/RUB.ts +5 -0
  1219. package/src/generated/iso/RWF.ts +5 -0
  1220. package/src/generated/iso/SAR.ts +5 -0
  1221. package/src/generated/iso/SBD.ts +5 -0
  1222. package/src/generated/iso/SCR.ts +5 -0
  1223. package/src/generated/iso/SDG.ts +5 -0
  1224. package/src/generated/iso/SEK.ts +5 -0
  1225. package/src/generated/iso/SGD.ts +5 -0
  1226. package/src/generated/iso/SHP.ts +5 -0
  1227. package/src/generated/iso/SLE.ts +5 -0
  1228. package/src/generated/iso/SOS.ts +5 -0
  1229. package/src/generated/iso/SRD.ts +5 -0
  1230. package/src/generated/iso/SSP.ts +5 -0
  1231. package/src/generated/iso/STN.ts +5 -0
  1232. package/src/generated/iso/SVC.ts +5 -0
  1233. package/src/generated/iso/SYP.ts +5 -0
  1234. package/src/generated/iso/SZL.ts +5 -0
  1235. package/src/generated/iso/THB.ts +5 -0
  1236. package/src/generated/iso/TJS.ts +5 -0
  1237. package/src/generated/iso/TMT.ts +5 -0
  1238. package/src/generated/iso/TND.ts +5 -0
  1239. package/src/generated/iso/TOP.ts +5 -0
  1240. package/src/generated/iso/TRY.ts +5 -0
  1241. package/src/generated/iso/TTD.ts +5 -0
  1242. package/src/generated/iso/TWD.ts +5 -0
  1243. package/src/generated/iso/TZS.ts +5 -0
  1244. package/src/generated/iso/UAH.ts +5 -0
  1245. package/src/generated/iso/UGX.ts +5 -0
  1246. package/src/generated/iso/USD.ts +5 -0
  1247. package/src/generated/iso/USN.ts +5 -0
  1248. package/src/generated/iso/UYI.ts +5 -0
  1249. package/src/generated/iso/UYU.ts +5 -0
  1250. package/src/generated/iso/UYW.ts +5 -0
  1251. package/src/generated/iso/UZS.ts +5 -0
  1252. package/src/generated/iso/VED.ts +5 -0
  1253. package/src/generated/iso/VES.ts +5 -0
  1254. package/src/generated/iso/VND.ts +5 -0
  1255. package/src/generated/iso/VUV.ts +5 -0
  1256. package/src/generated/iso/WST.ts +5 -0
  1257. package/src/generated/iso/XAD.ts +5 -0
  1258. package/src/generated/iso/XAF.ts +5 -0
  1259. package/src/generated/iso/XCD.ts +5 -0
  1260. package/src/generated/iso/XCG.ts +5 -0
  1261. package/src/generated/iso/XOF.ts +5 -0
  1262. package/src/generated/iso/XPF.ts +5 -0
  1263. package/src/generated/iso/YER.ts +5 -0
  1264. package/src/generated/iso/ZAR.ts +5 -0
  1265. package/src/generated/iso/ZMW.ts +5 -0
  1266. package/src/generated/iso/ZWG.ts +5 -0
  1267. package/src/generated/iso4217-numeric.ts +184 -0
  1268. package/src/generated/rbnf-de.ts +5 -0
  1269. package/src/generated/rbnf-en.ts +5 -0
  1270. package/src/generated/rbnf-es.ts +5 -0
  1271. package/src/generated/rbnf-fr.ts +5 -0
  1272. package/src/generated/rbnf-it.ts +5 -0
  1273. package/src/generated/rbnf-nl.ts +5 -0
  1274. package/src/generated/rbnf-pt.ts +5 -0
  1275. package/src/generated/territories.ts +277 -0
  1276. package/src/index.ts +3 -0
  1277. package/src/kysely.ts +4 -3
  1278. package/src/math.ts +167 -0
  1279. package/src/money.ts +136 -140
  1280. package/src/parse.ts +7 -7
  1281. package/src/plugins/adyen.ts +2 -0
  1282. package/src/plugins/all.ts +19 -1
  1283. package/src/plugins/allocate.ts +2 -0
  1284. package/src/plugins/braintree.ts +2 -0
  1285. package/src/plugins/cash.ts +2 -0
  1286. package/src/plugins/checkout.ts +2 -0
  1287. package/src/plugins/convert.ts +2 -0
  1288. package/src/plugins/core.ts +195 -0
  1289. package/src/plugins/exact.ts +2 -0
  1290. package/src/plugins/fixed-money.ts +57 -0
  1291. package/src/plugins/format.ts +2 -0
  1292. package/src/plugins/iso.ts +9 -0
  1293. package/src/plugins/klarna.ts +2 -0
  1294. package/src/plugins/math.ts +43 -0
  1295. package/src/plugins/paypal.ts +2 -0
  1296. package/src/plugins/prisma.ts +2 -0
  1297. package/src/plugins/stripe.ts +2 -0
  1298. package/src/plugins/tax.ts +2 -0
  1299. package/src/policy.ts +5 -8
  1300. package/src/pricing.ts +155 -0
  1301. package/src/prisma.ts +6 -1
  1302. package/src/provider.ts +2 -2
  1303. package/src/rate-text.ts +27 -1
  1304. package/src/rate.ts +2 -2
  1305. package/src/rbnf.ts +389 -0
  1306. package/src/scale.ts +42 -0
  1307. package/src/schema.ts +4 -7
  1308. package/src/territories.ts +102 -0
  1309. package/src/testing/arbitraries.ts +4 -4
  1310. package/src/testing/index.ts +1 -1
  1311. package/src/tiers.ts +284 -0
  1312. package/src/valibot.ts +4 -1
  1313. package/src/wire.ts +322 -0
  1314. package/src/words/de.ts +9 -0
  1315. package/src/words/en.ts +9 -0
  1316. package/src/words/es.ts +9 -0
  1317. package/src/words/fr.ts +9 -0
  1318. package/src/words/it.ts +9 -0
  1319. package/src/words/nl.ts +9 -0
  1320. package/src/words/pt.ts +9 -0
  1321. package/src/words.ts +168 -0
  1322. package/src/zod.ts +1 -1
  1323. package/dist/plugins/fixed.d.ts +0 -17
  1324. package/dist/plugins/fixed.d.ts.map +0 -1
  1325. package/dist/plugins/fixed.js +0 -13
  1326. package/dist/plugins/fixed.js.map +0 -1
  1327. package/src/plugins/fixed.ts +0 -29
@@ -0,0 +1,171 @@
1
+ # https://unpkg.com/cldr-rbnf@49.0.0/rbnf/pt-SpelloutRules.txt
2
+ %spellout-numbering-year:
3
+ x.x: =0.0=;
4
+ 0: =%spellout-numbering=;
5
+ %spellout-numbering:
6
+ 0: =%spellout-cardinal-masculine=;
7
+ %%optional-e:
8
+ 0: ' e ;
9
+ 1: ' ;
10
+ %%spellout-cardinal-masculine-with-e:
11
+ 0: ' e =%spellout-cardinal-masculine=;
12
+ 100: >%%optional-e>=%spellout-cardinal-masculine=;
13
+ %spellout-cardinal-masculine:
14
+ -x: menos >>;
15
+ x.x: << vírgula >>;
16
+ 0: zero;
17
+ 1: um;
18
+ 2: dois;
19
+ 3: três;
20
+ 4: quatro;
21
+ 5: cinco;
22
+ 6: seis;
23
+ 7: sete;
24
+ 8: oito;
25
+ 9: nove;
26
+ 10: dez;
27
+ 11: onze;
28
+ 12: doze;
29
+ 13: treze;
30
+ 14: catorze;
31
+ 15: quinze;
32
+ 16: dezesseis;
33
+ 17: dezessete;
34
+ 18: dezoito;
35
+ 19: dezenove;
36
+ 20: vinte[ e >>];
37
+ 30: trinta[ e >>];
38
+ 40: quarenta[ e >>];
39
+ 50: cinquenta[ e >>];
40
+ 60: sessenta[ e >>];
41
+ 70: setenta[ e >>];
42
+ 80: oitenta[ e >>];
43
+ 90: noventa[ e >>];
44
+ 100: cem;
45
+ 101: cento e >>;
46
+ 200: duzentos[ e >>];
47
+ 300: trezentos[ e >>];
48
+ 400: quatrocentos[ e >>];
49
+ 500: quinhentos[ e >>];
50
+ 600: seiscentos[ e >>];
51
+ 700: setecentos[ e >>];
52
+ 800: oitocentos[ e >>];
53
+ 900: novecentos[ e >>];
54
+ 1000: mil[>%%spellout-cardinal-masculine-with-e>];
55
+ 2000: << mil[>%%spellout-cardinal-masculine-with-e>];
56
+ 1000000: << $(cardinal,one{milhão}other{milhões})$[>%%spellout-cardinal-masculine-with-e>];
57
+ 1000000000: << $(cardinal,one{bilhão}other{bilhões})$[>%%spellout-cardinal-masculine-with-e>];
58
+ 1000000000000: << $(cardinal,one{trilhão}other{trilhões})$[>%%spellout-cardinal-masculine-with-e>];
59
+ 1000000000000000: << $(cardinal,one{quatrilhão}other{quatrilhões})$[>%%spellout-cardinal-masculine-with-e>];
60
+ 1000000000000000000: =#,##0=;
61
+ %%spellout-cardinal-feminine-with-e:
62
+ 0: ' e =%spellout-cardinal-feminine=;
63
+ 100: >%%optional-e>=%spellout-cardinal-feminine=;
64
+ %spellout-cardinal-feminine:
65
+ -x: menos >>;
66
+ x.x: << vírgula >>;
67
+ 0: zero;
68
+ 1: uma;
69
+ 2: duas;
70
+ 3: =%spellout-cardinal-masculine=;
71
+ 20: vinte[ e >>];
72
+ 30: trinta[ e >>];
73
+ 40: quarenta[ e >>];
74
+ 50: cinquenta[ e >>];
75
+ 60: sessenta[ e >>];
76
+ 70: setenta[ e >>];
77
+ 80: oitenta[ e >>];
78
+ 90: noventa[ e >>];
79
+ 100: cem;
80
+ 101: cento e >>;
81
+ 200: duzentas[ e >>];
82
+ 300: trezentas[ e >>];
83
+ 400: quatrocentas[ e >>];
84
+ 500: quinhentas[ e >>];
85
+ 600: seiscentas[ e >>];
86
+ 700: setecentas[ e >>];
87
+ 800: oitocentas[ e >>];
88
+ 900: novecentas[ e >>];
89
+ 1000: mil[>%%spellout-cardinal-feminine-with-e>];
90
+ 2000: << mil[>%%spellout-cardinal-feminine-with-e>];
91
+ 1000000: <%spellout-cardinal-masculine< $(cardinal,one{milhão}other{milhões})$[>%%spellout-cardinal-feminine-with-e>];
92
+ 1000000000: <%spellout-cardinal-masculine< $(cardinal,one{bilhão}other{bilhões})$[>%%spellout-cardinal-feminine-with-e>];
93
+ 1000000000000: <%spellout-cardinal-masculine< $(cardinal,one{trilhão}other{trilhões})$[>%%spellout-cardinal-feminine-with-e>];
94
+ 1000000000000000: <%spellout-cardinal-masculine< $(cardinal,one{quatrilhão}other{quatrilhões})$[>%%spellout-cardinal-feminine-with-e>];
95
+ 1000000000000000000: =#,##0=;
96
+ %spellout-ordinal-masculine:
97
+ -x: menos >>;
98
+ x.x: =#,##0.#=;
99
+ 0: zero;
100
+ 1: primeiro;
101
+ 2: segundo;
102
+ 3: terceiro;
103
+ 4: quarto;
104
+ 5: quinto;
105
+ 6: sexto;
106
+ 7: sétimo;
107
+ 8: oitavo;
108
+ 9: nono;
109
+ 10: décimo[ >>];
110
+ 20: vigésimo[ >>];
111
+ 30: trigésimo[ >>];
112
+ 40: quadragésimo[ >>];
113
+ 50: quinquagésimo[ >>];
114
+ 60: sexagésimo[ >>];
115
+ 70: septuagésimo[ >>];
116
+ 80: octogésimo[ >>];
117
+ 90: nonagésimo[ >>];
118
+ 100: centésimo[ >>];
119
+ 200: ducentésimo[ >>];
120
+ 300: tricentésimo[ >>];
121
+ 400: quadringentésimo[ >>];
122
+ 500: quingentésimo[ >>];
123
+ 600: sexcentésimo[ >>];
124
+ 700: septingentésimo[ >>];
125
+ 800: octingentésimo[ >>];
126
+ 900: noningentésimo[ >>];
127
+ 1000: milésimo[ >>];
128
+ 2000: <%spellout-cardinal-masculine< milésimo[ >>];
129
+ 1000000: <%spellout-cardinal-masculine< milionésimo[ >>];
130
+ 1000000000: <%spellout-cardinal-masculine< bilionésimo[ >>];
131
+ 1000000000000: <%spellout-cardinal-masculine< trilionésimo[ >>];
132
+ 1000000000000000: <%spellout-cardinal-masculine< quadrilionésimo[ >>];
133
+ 1000000000000000000: =#,##0=º;
134
+ %spellout-ordinal-feminine:
135
+ -x: menos >>;
136
+ x.x: =#,##0.#=;
137
+ 0: zero;
138
+ 1: primeira;
139
+ 2: segunda;
140
+ 3: terceira;
141
+ 4: quarta;
142
+ 5: quinta;
143
+ 6: sexta;
144
+ 7: sétima;
145
+ 8: oitava;
146
+ 9: nona;
147
+ 10: décima[ >>];
148
+ 20: vigésima[ >>];
149
+ 30: trigésima[ >>];
150
+ 40: quadragésima[ >>];
151
+ 50: quinquagésima[ >>];
152
+ 60: sexagésima[ >>];
153
+ 70: septuagésima[ >>];
154
+ 80: octogésima[ >>];
155
+ 90: nonagésima[ >>];
156
+ 100: centésima[ >>];
157
+ 200: ducentésima[ >>];
158
+ 300: tricentésima[ >>];
159
+ 400: quadringentésima[ >>];
160
+ 500: quingentésima[ >>];
161
+ 600: sexcentésima[ >>];
162
+ 700: septingentésima[ >>];
163
+ 800: octingentésima[ >>];
164
+ 900: noningentésima[ >>];
165
+ 1000: milésima[ >>];
166
+ 2000: <%spellout-cardinal-feminine< milésima[ >>];
167
+ 1000000: <%spellout-cardinal-feminine< milionésima[ >>];
168
+ 1000000000: <%spellout-cardinal-feminine< bilionésima[ >>];
169
+ 1000000000000: <%spellout-cardinal-feminine< trilionésima[ >>];
170
+ 1000000000000000: <%spellout-cardinal-feminine< quadrilionésima[ >>];
171
+ 1000000000000000000: =#,##0=ª;
package/dist/adyen-fx.js CHANGED
@@ -54,7 +54,7 @@ function offsetMinutes(zone) {
54
54
  // in one zone, so keep one formatter per zone. The bound stops a stream of distinct zone names
55
55
  // (case variants are accepted by Intl) from growing the cache without limit.
56
56
  const MAX_CACHED_FORMATTERS = 32;
57
- const formatters = new Map();
57
+ const formatters = /* @__PURE__ */ new Map();
58
58
  /** The cached wall-clock formatter for an IANA time zone. */
59
59
  function wallClockFormatter(timeZone) {
60
60
  let formatter = formatters.get(timeZone);
@@ -1 +1 @@
1
- {"version":3,"file":"adyen-fx.js","sourceRoot":"","sources":["../src/adyen-fx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adyen-fx.js","sourceRoot":"","sources":["../src/adyen-fx.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"allocate.d.ts","sourceRoot":"","sources":["../src/allocate.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5E,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAyF9C;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CA4FZ;AAED,6FAA6F;AAC7F,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CAMZ;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IACjD,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnD,iGAAiG;IACjG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAC1C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACtC,KAAK,CAAC,CAAC,CAAC,EAAE,CA+BZ;AAED,uFAAuF;AACvF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAChC;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAE5B;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,SAAS,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GACvC,KAAK,CAAC,CAAC,CAAC,EAAE,CAwDZ;AAED,kGAAkG;AAClG,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAiB3F"}
1
+ {"version":3,"file":"allocate.d.ts","sourceRoot":"","sources":["../src/allocate.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5E,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AA0F9C;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CA4FZ;AAED,6FAA6F;AAC7F,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CAMZ;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IACjD,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnD,iGAAiG;IACjG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAC1C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACtC,KAAK,CAAC,CAAC,CAAC,EAAE,CA+BZ;AAED,uFAAuF;AACvF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAChC;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAE5B;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,SAAS,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GACvC,KAAK,CAAC,CAAC,CAAC,EAAE,CAwDZ;AAED,kGAAkG;AAClG,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAiB3F"}
package/dist/allocate.js CHANGED
@@ -1,4 +1,4 @@
1
- import { parseDecimal, pow10n, normalizeMinor } from './decimal.js';
1
+ import { faithfulDecimal, parseDecimal, pow10n, normalizeMinor } from './decimal.js';
2
2
  import { CurrencyMismatchError, compare, make, negate, scaleUp, subtract, toScale, } from './money.js';
3
3
  const MAX_SAFE_MINOR = Number.MAX_SAFE_INTEGER;
4
4
  function weightsToBig(ws) {
@@ -13,8 +13,7 @@ function weightsScaled(ws) {
13
13
  if (typeof weight === 'number' && Number.isSafeInteger(weight)) {
14
14
  return { digits: BigInt(weight), scale: 0 };
15
15
  }
16
- const item = parseDecimal(String(weight));
17
- return item;
16
+ return parseDecimal(typeof weight === 'number' ? faithfulDecimal(weight, 'pass weights as strings') : weight);
18
17
  });
19
18
  for (const item of parsed) {
20
19
  if (item.digits < 0n) {
@@ -1 +1 @@
1
- {"version":3,"file":"allocate.js","sourceRoot":"","sources":["../src/allocate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allocate.js","sourceRoot":"","sources":["../src/allocate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,GAER,MAAM,YAAY,CAAC;AAEpB,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAsB/C,SAAS,YAAY,CAAC,EAAqB;IACzC,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,YAAY,CACjB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,MAAM,CACzF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CACjB,MAAW,EACX,GAAW,EACX,OAAqC,EACrC,IAAyC,EACzC,IAAe,EACf,GAAM;IAEN,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAE,GAAG,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CACV,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,CAAY,GAAG,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,CAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CACnF,CAAC;IACT,CAAC,CAAC;IACF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC;QACnD,KAAK,OAAO;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,OAAO;QACT,KAAK,MAAM;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO;QACT,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,IAAK,CAAC;YACzB,+DAA+D;YAC/D,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,IAAI,UAAU,CAAC,IAAI,CAAE,KAAK,UAAU,CAAC,KAAK,CAAE,EAAE,CAAC;oBAC7C,OAAO,UAAU,CAAC,IAAI,CAAE,GAAG,UAAU,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,IAAI,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,IAAI,UAAU,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAe,EACf,OAA0B,EAC1B,OAAyB;IAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;IAC7C,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE1B,oFAAoF;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClF,EAAE,GAAG,KAAK,CAAC;gBACX,MAAM;YACR,CAAC;YACD,KAAK,IAAI,MAAM,CAAC;YAChB,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACvB,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,GAAG,SAAS,IAAI,cAAc,GAAG,KAAK,EAAE,CAAC;YAC9F,MAAM,EAAE,GAAG,OAA4B,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;gBAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;gBAC3C,IAAI,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;gBAC3C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,QAAQ,IAAI,CAAC,CAAC;oBACd,SAAS,IAAI,KAAK,CAAC;gBACrB,CAAC;qBAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;oBAC9B,QAAQ,IAAI,CAAC,CAAC;oBACd,SAAS,IAAI,KAAK,CAAC;gBACrB,CAAC,CAAC,wBAAwB;gBAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBACrB,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBACpB,GAAG,IAAI,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;oBACtC,uEAAuE;oBACvE,OAAO,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;wBACtB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC/B,IAAI,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC,EAAE,CAAC;gCACxE,IAAI,GAAG,CAAC,CAAC;4BACX,CAAC;wBACH,CAAC;wBACD,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,CAAC;wBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAW,KAAK,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,CAAC;QACxB,KAAK,IAAI,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QAC1B,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC;IACzB,CAAC;IACD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,KAAK,CACnB,KAAe,EACf,KAAa,EACb,OAAyB;IAEzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;AAChF,CAAC;AAaD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,KAAe,EACf,KAAa,EACb,OAAuC;IAEvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,4EAA4E;IAC5E,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAE,IAAI,SAAS,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,IAAI,CAAC;IACrE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAQD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAe,EACf,QAAwC;IAExC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAA6B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,CAAC;YACxB,GAAG,IAAI,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CACpB,KAAK,EACL,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAC/D,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACrB,MAAM,GAAG,GAAI,QAAQ,CAAC,YAAY,CAAwB,CAAC,GAAG,CAAC;YAC/D,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,GAAG,GAAG,CAAC;YACb,CAAC;YACD,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YACzB,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAAC,2CAA2C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAAC,qBAAqB,IAAI,iCAAiC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,GAAiB,CAAC;AAC3B,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,KAAK,CAAmB,KAAe,EAAE,GAAsB;IAC7E,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,GAAe,CAAC,CAAC;QAC1B,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/dist/cash.d.ts CHANGED
@@ -60,5 +60,20 @@ export interface CurrencyDigitsOptions {
60
60
  * Throws for unknown codes, like `currencyExponent`.
61
61
  */
62
62
  export declare function currencyDigits(currency: string, options?: CurrencyDigitsOptions): number;
63
+ /** Options for `cashUnit`. */
64
+ export interface CashUnitOptions {
65
+ /** The country (ISO 3166 alpha-2), which EUR needs. */
66
+ readonly country?: string;
67
+ /** Whether to use rules backed only by secondary sources (default true). */
68
+ readonly includeUnverified?: boolean;
69
+ }
70
+ /**
71
+ * The smallest cash step, in major units, as an exact decimal string with the currency's decimals:
72
+ * the smallest coin in use where the cash rules know one. `cashUnit('CHF')` is '0.05',
73
+ * `cashUnit('DKK')` is '0.50', `cashUnit('SEK')` is '1.00' and `cashUnit('EUR', { country: 'NL' })`
74
+ * is '0.05'. A currency without a cash rule (or EUR without a country that has one) gives its minor
75
+ * unit, '0.01' for GBP. Throws for unknown codes, like `currencyExponent`.
76
+ */
77
+ export declare function cashUnit(currency: string, options?: CashUnitOptions): string;
63
78
  export { CASH_RULES, type CashRule };
64
79
  //# sourceMappingURL=cash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cash.d.ts","sourceRoot":"","sources":["../src/cash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAwC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGxF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5B,QAAQ,GAAE,YAA2B,GACpC,KAAK,CAAC,CAAC,CAAC,CAyBV;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAkBjF;AAuBD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAOjG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAYvF;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAgBxF;AAED,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"cash.d.ts","sourceRoot":"","sources":["../src/cash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAwC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAIxF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC5B,QAAQ,GAAE,YAA2B,GACpC,KAAK,CAAC,CAAC,CAAC,CAyBV;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAkBjF;AAuBD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAOjG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAYvF;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAgBxF;AAED,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAQ5E;AAED,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,CAAC"}
package/dist/cash.js CHANGED
@@ -3,6 +3,7 @@ import { CurrencyMismatchError, make, scaleUp, toScale, } from './money.js';
3
3
  import { roundingPolicy } from './policy.js';
4
4
  import { divideAndRound, divideAndRoundBigint } from './rounding.js';
5
5
  import { currencyExponent } from './currency.js';
6
+ import { formatScaled } from './decimal.js';
6
7
  /**
7
8
  * Rounds to a multiple of `increment` (same currency): roundToIncrement(CHF 10.03, CHF 0.05) = CHF
8
9
  * 10.05. Default rounding 'halfExpand' (nearest, ties away from zero), which is what the statutory
@@ -130,5 +131,21 @@ export function currencyDigits(currency, options) {
130
131
  }
131
132
  return exponent;
132
133
  }
134
+ /**
135
+ * The smallest cash step, in major units, as an exact decimal string with the currency's decimals:
136
+ * the smallest coin in use where the cash rules know one. `cashUnit('CHF')` is '0.05',
137
+ * `cashUnit('DKK')` is '0.50', `cashUnit('SEK')` is '1.00' and `cashUnit('EUR', { country: 'NL' })`
138
+ * is '0.05'. A currency without a cash rule (or EUR without a country that has one) gives its minor
139
+ * unit, '0.01' for GBP. Throws for unknown codes, like `currencyExponent`.
140
+ */
141
+ export function cashUnit(currency, options) {
142
+ const exponent = currencyExponent(currency);
143
+ const rule = cashRule(currency, options?.country);
144
+ if (!rule || (options?.includeUnverified === false && !rule.verified)) {
145
+ return formatScaled(1, exponent);
146
+ }
147
+ // with the currency's decimals, as amounts are written everywhere else: SEK's step is '1.00'
148
+ return formatScaled(rule.increment, exponent);
149
+ }
133
150
  export { CASH_RULES };
134
151
  //# sourceMappingURL=cash.js.map
package/dist/cash.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cash.js","sourceRoot":"","sources":["../src/cash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cash.js","sourceRoot":"","sources":["../src/cash.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAQ,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,sBAAsB,EACtB,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,GAAG,EACH,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAEvB,iDAAiD;AACjD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,gFAAgF;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAMD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EAC5D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAC7B,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,KAAK,CAAC,EAAE,CAAC,CAAC;AACb;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,SAAS,aAAa,EAC9C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,KAAK,CAAC,EAAE,CAAC,CAAC;AACb;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,SAAS,aAAa,EAC9C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,KAAK,CAAC,EAAE,CAAC,CAAC;AA0Cb;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,CAAE,SAAQ,OAAO,CAAC,EAAE,CAAC;IAC7F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EACpE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAC7B,QAAQ,GAAE,aAAgC,EAC1C,OAAO,CAAC,EAAE,cAAc,GACvB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAS9B"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,sBAAsB,EACtB,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,GAAG,EACH,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAEvB,iDAAiD;AACjD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,gFAAgF;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAMD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EAC5D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAC7B,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,KAAK,CAAC,EAAE,CAAC,CAAC;AACb;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,SAAS,aAAa,EAC9C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,KAAK,CAAC,EAAE,CAAC,CAAC;AACb;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,SAAS,aAAa,EAC9C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,KAAK,CAAC,EAAE,CAAC,CAAC;AA0Cb;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,CAAE,SAAQ,OAAO,CAAC,EAAE,CAAC;IAC7F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EACpE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAC7B,QAAQ,GAAE,aAAgC,EAC1C,OAAO,CAAC,EAAE,cAAc,GACvB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAS9B"}
package/dist/convert.js CHANGED
@@ -1,8 +1,7 @@
1
1
  // `ducat/convert` free functions: exact exchange rates and conversion that rounds once.
2
- import { currencyExponent } from './currency.js';
3
2
  import { exact } from './exact.js';
4
3
  import { ratio } from './decimal.js';
5
- import { make } from './money.js';
4
+ import { make, resolveScale } from './money.js';
6
5
  import { rateOf } from './provider.js';
7
6
  import { convertWithPolicy, isRate, multiplyByRatioAtScale, } from './rate.js';
8
7
  import { DEFAULT_ROUNDING } from './rounding.js';
@@ -40,7 +39,7 @@ export function convert(money, rateOrTarget, roundingOrRate, optionsOrRounding,
40
39
  if (typeof rounding === 'function') {
41
40
  return convertWithPolicy(money, to, rate, rounding, maybeOptions);
42
41
  }
43
- const scale = maybeOptions?.scale ?? currencyExponent(to);
42
+ const scale = resolveScale(to, maybeOptions?.scale);
44
43
  const minor = multiplyByRatioAtScale(money.minor, rate, scale - money.scale, rounding);
45
44
  return make(to, minor, scale);
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { CRYPTO_UNIT_TABLE } from './generated/crypto.js';
2
+ import { type CurrencyInput, type Money } from './money.js';
3
+ /** A code in the crypto table. */
4
+ export type CryptoCurrencyCode = keyof typeof CRYPTO_UNIT_TABLE;
5
+ /**
6
+ * Every crypto code, for the `CurrencyCode` type:
7
+ *
8
+ * declare module '@ducatjs/money' {
9
+ * interface CustomCurrencies extends CryptoCurrencies {}
10
+ * }
11
+ */
12
+ export type CryptoCurrencies = {
13
+ readonly [Code in CryptoCurrencyCode]: true;
14
+ };
15
+ /** One entry of the crypto table. */
16
+ export interface CryptoUnit {
17
+ readonly code: CryptoCurrencyCode;
18
+ readonly name: string;
19
+ /** Decimal places of one unit in base units: 8 for BTC (satoshi), 18 for ETH (wei). */
20
+ readonly decimals: number;
21
+ /** The base unit's name, for native currencies: 'satoshi', 'wei', 'lamport'. */
22
+ readonly baseUnit?: string;
23
+ /** The network the decimals are for. A token's decimals can differ on another network. */
24
+ readonly network: string;
25
+ /** The token's contract address on that network, for tokens. */
26
+ readonly contract?: string;
27
+ }
28
+ /** The table entry for a code, or undefined for a code that isn't in it. */
29
+ export declare function cryptoUnit(code: string): CryptoUnit | undefined;
30
+ /** Every entry of the table, by code. */
31
+ export declare function cryptoUnits(): CryptoUnit[];
32
+ /**
33
+ * Registers crypto codes with `defineCurrency`, with their decimals as the exponent: all of them,
34
+ * or only `codes`. Registering one again is harmless; a code already defined with other decimals
35
+ * throws, as `defineCurrency` does.
36
+ */
37
+ export declare function defineCryptoCurrencies(codes?: readonly CryptoCurrencyCode[]): void;
38
+ /**
39
+ * The amount as a count of the currency's base units (satoshi for BTC, wei for ETH), always a
40
+ * bigint since wei amounts are rarely safe integers. The base unit is 10^-exponent of the currency
41
+ * (its decimals, once registered), so this works for any registered code. An amount with more
42
+ * decimals than that throws a RoundingError: there is no fraction of a base unit.
43
+ */
44
+ export declare function toBaseUnits(money: Money): bigint;
45
+ /**
46
+ * Money from a count of base units: `fromBaseUnits('100000000', 'BTC')` is 1.00000000 BTC. The
47
+ * count is a bigint, a safe integer or a decimal string. Strings are parsed strictly, since they
48
+ * usually come from an API or a node: digits with an optional minus sign, and nothing else (no
49
+ * spaces, signs, decimal points, exponents, separators or leading zeros). Anything else throws a
50
+ * SyntaxError. A hexadecimal quantity from an Ethereum node goes through `BigInt('0x…')` first.
51
+ * The result has the currency's exponent as its scale.
52
+ */
53
+ export declare function fromBaseUnits<C extends CurrencyInput>(units: bigint | number | string, currency: C): Money<C>;
54
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGvE,kCAAkC;AAClC,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,EAAE,IAAI,IAAI,kBAAkB,GAAG,IAAI;CAAE,CAAC;AAE/E,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAM/D;AAED,yCAAyC;AACzC,wBAAgB,WAAW,IAAI,UAAU,EAAE,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAalF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAehD;AAKD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,aAAa,EACnD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC/B,QAAQ,EAAE,CAAC,GACV,KAAK,CAAC,CAAC,CAAC,CAUV"}
package/dist/crypto.js ADDED
@@ -0,0 +1,89 @@
1
+ /**
2
+ * `@ducatjs/money/crypto`: crypto currencies and tokens as an opt-in table (BTC with 8 decimals,
3
+ * ETH with 18, SOL with 9, and common Ethereum tokens), and exact conversions to and from base
4
+ * units (satoshi, wei, lamport). Nothing is registered until you ask:
5
+ *
6
+ * defineCryptoCurrencies(['BTC', 'ETH']);
7
+ * money('0.5', 'ETH').toString() // '0.500000000000000000 ETH'
8
+ * toBaseUnits(money('0.00000001', 'BTC')) // 1n
9
+ * fromBaseUnits('1000000000000000000', 'ETH').toString() // '1.000000000000000000 ETH'
10
+ *
11
+ * Amounts beyond 2^53 base units (most ETH amounts in wei) use Money's bigint path, so they stay
12
+ * exact. The decimals come from each unit's defining source (see data/crypto-units.json).
13
+ */
14
+ import { currencyExponent, defineCurrency } from './currency.js';
15
+ import { pow10n } from './decimal.js';
16
+ import { CRYPTO_UNIT_TABLE } from './generated/crypto.js';
17
+ import { fromMinor } from './money.js';
18
+ import { RoundingError } from './rounding.js';
19
+ const table = CRYPTO_UNIT_TABLE;
20
+ /** The table entry for a code, or undefined for a code that isn't in it. */
21
+ export function cryptoUnit(code) {
22
+ // own properties only, so 'toString' and friends are not currencies
23
+ if (!Object.hasOwn(table, code)) {
24
+ return undefined;
25
+ }
26
+ return { code: code, ...table[code] };
27
+ }
28
+ /** Every entry of the table, by code. */
29
+ export function cryptoUnits() {
30
+ return Object.keys(table).map((code) => cryptoUnit(code));
31
+ }
32
+ /**
33
+ * Registers crypto codes with `defineCurrency`, with their decimals as the exponent: all of them,
34
+ * or only `codes`. Registering one again is harmless; a code already defined with other decimals
35
+ * throws, as `defineCurrency` does.
36
+ */
37
+ export function defineCryptoCurrencies(codes) {
38
+ const selected = codes ?? Object.keys(table);
39
+ // check every code first, so a typo registers nothing
40
+ for (const code of selected) {
41
+ if (!Object.hasOwn(table, code)) {
42
+ throw new RangeError(`${code} is not in the crypto currency table`);
43
+ }
44
+ }
45
+ for (const code of selected) {
46
+ defineCurrency(code, table[code].decimals);
47
+ }
48
+ }
49
+ /**
50
+ * The amount as a count of the currency's base units (satoshi for BTC, wei for ETH), always a
51
+ * bigint since wei amounts are rarely safe integers. The base unit is 10^-exponent of the currency
52
+ * (its decimals, once registered), so this works for any registered code. An amount with more
53
+ * decimals than that throws a RoundingError: there is no fraction of a base unit.
54
+ */
55
+ export function toBaseUnits(money) {
56
+ const decimals = currencyExponent(money.currency);
57
+ const minor = BigInt(money.minor);
58
+ if (money.scale <= decimals) {
59
+ return minor * pow10n(decimals - money.scale);
60
+ }
61
+ // more decimals than the currency has: only exact when the extra digits are zeros
62
+ const divisor = pow10n(money.scale - decimals);
63
+ if (minor % divisor !== 0n) {
64
+ throw new RoundingError(`${money.toString()} is not a whole number of base units (${decimals} decimals)`);
65
+ }
66
+ return minor / divisor;
67
+ }
68
+ // A plain integer: an optional minus sign and digits, no leading zeros, nothing else.
69
+ const BASE_UNITS = /^-?(?:0|[1-9]\d*)$/;
70
+ /**
71
+ * Money from a count of base units: `fromBaseUnits('100000000', 'BTC')` is 1.00000000 BTC. The
72
+ * count is a bigint, a safe integer or a decimal string. Strings are parsed strictly, since they
73
+ * usually come from an API or a node: digits with an optional minus sign, and nothing else (no
74
+ * spaces, signs, decimal points, exponents, separators or leading zeros). Anything else throws a
75
+ * SyntaxError. A hexadecimal quantity from an Ethereum node goes through `BigInt('0x…')` first.
76
+ * The result has the currency's exponent as its scale.
77
+ */
78
+ export function fromBaseUnits(units, currency) {
79
+ const decimals = currencyExponent(currency);
80
+ if (typeof units === 'string') {
81
+ // 1000 digits is far beyond any real amount, and bounds the work for untrusted input
82
+ if (units.length > 1001 || !BASE_UNITS.test(units)) {
83
+ throw new SyntaxError(`Invalid base-unit count "${units}": expected an integer like "1000"`);
84
+ }
85
+ return fromMinor(BigInt(units), currency, decimals);
86
+ }
87
+ return fromMinor(units, currency, decimals);
88
+ }
89
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The ISO 4217 numeric code of an active currency, three digits as published: `'978'` for EUR,
3
+ * `'008'` for ALL. Card networks, ISO 8583 and some ISO 20022 messages carry currencies this way.
4
+ * `undefined` for a code ISO doesn't list (a custom or withdrawn currency).
5
+ */
6
+ export declare function numericCode(currency: string): string | undefined;
7
+ /**
8
+ * The active ISO 4217 currency with a numeric code: `currencyFromNumeric('978')` and
9
+ * `currencyFromNumeric(978)` are `'EUR'`, and `'008'`, `'8'` and `8` are all `'ALL'`. `undefined`
10
+ * for a number ISO doesn't assign; a value that isn't a whole number from 0 to 999 throws a
11
+ * RangeError.
12
+ */
13
+ export declare function currencyFromNumeric(numeric: string | number): string | undefined;
14
+ /**
15
+ * The size of the currency's minor unit, in major units, as an exact decimal string: `'0.01'` for
16
+ * EUR, `'1'` for JPY (no minor unit), `'0.001'` for KWD and BHD. It follows the exponent, so a
17
+ * currency registered with `defineCurrency` works too; an unknown code throws, as
18
+ * `currencyExponent` does. For the smallest coin, see `cashUnit` in `@ducatjs/money/cash`.
19
+ */
20
+ export declare function minorUnit(currency: string): string;
21
+ /**
22
+ * The currency's name in a locale, from the runtime's `Intl.DisplayNames`: `currencyName('EUR',
23
+ * 'en')` is 'Euro' and `currencyName('EUR', 'de')` is 'Euro'; `currencyName('CHF', 'fr')` is 'franc
24
+ * suisse'. `undefined` when the runtime has no name for the code. Names follow the runtime's CLDR
25
+ * data, so they can differ between runtimes and versions.
26
+ */
27
+ export declare function currencyName(currency: string, locale: string): string | undefined;
28
+ /** Options for `currencySymbol`. */
29
+ export interface CurrencySymbolOptions {
30
+ /**
31
+ * 'symbol' (default) is the symbol the locale uses where it must not be ambiguous ('US$' in
32
+ * en-CA, 'CA$' in en-US); 'narrow' is the shortest form ('$'), as `Intl.NumberFormat`'s
33
+ * `narrowSymbol`.
34
+ */
35
+ readonly display?: 'symbol' | 'narrow';
36
+ }
37
+ /**
38
+ * The currency's symbol in a locale, from the runtime's `Intl.NumberFormat`: `currencySymbol('EUR',
39
+ * 'en-US')` is '€', `currencySymbol('USD', 'en-CA')` is 'US$', and `currencySymbol('USD', 'en-CA',
40
+ * { display: 'narrow' })` is '$'. A currency without a symbol in that locale gives its code.
41
+ */
42
+ export declare function currencySymbol(currency: string, locale: string, options?: CurrencySymbolOptions): string;
43
+ //# sourceMappingURL=currencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currencies.d.ts","sourceRoot":"","sources":["../src/currencies.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAYhF;AAMD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElD;AAsBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOjF;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CASR"}