@pax2pay/model-banking 0.1.602 → 0.1.604

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 (307) hide show
  1. package/.eslintrc +13 -14
  2. package/.prettierrc +2 -3
  3. package/Account/Charge/Fx/index.ts +2 -1
  4. package/Account/Creatable.ts +1 -1
  5. package/Account/History.ts +1 -1
  6. package/Account/Status.ts +2 -2
  7. package/Account/Type.ts +1 -1
  8. package/Audit.ts +1 -1
  9. package/Authorization/Status.ts +8 -6
  10. package/Backup/Base.ts +1 -1
  11. package/Balance.ts +2 -2
  12. package/Balances.ts +6 -3
  13. package/Card/Expiry.ts +2 -2
  14. package/Card/Operation/Authorization.ts +1 -1
  15. package/Card/Operation/Card.ts +1 -1
  16. package/Card/Operation/index.ts +1 -1
  17. package/Card/Preset.ts +1 -1
  18. package/Card/Restriction/Merchant.ts +8 -6
  19. package/Card/Restriction/index.ts +2 -1
  20. package/Card/Scheme.ts +1 -1
  21. package/Card/Stack.ts +2 -2
  22. package/Client/Labels.ts +4 -1
  23. package/Client/Operations.ts +4 -4
  24. package/Client/Transactions/index.ts +3 -2
  25. package/Client/Treasury.ts +3 -0
  26. package/Client/index.ts +3 -2
  27. package/Holidays/index.ts +1 -1
  28. package/Label.ts +1 -1
  29. package/Log/Message/Configuration.ts +1 -1
  30. package/Log/Message/Entry.ts +1 -1
  31. package/Log/Message/index.ts +3 -2
  32. package/Log/index.ts +4 -2
  33. package/Operation/Change.ts +1 -1
  34. package/Operation/Changes.ts +10 -9
  35. package/Operation/Creatable.ts +1 -1
  36. package/Operation/Status.ts +1 -1
  37. package/Operation/index.ts +2 -1
  38. package/Organization/Risk.ts +1 -1
  39. package/Quarter.ts +1 -1
  40. package/Rail/Address/index.ts +1 -1
  41. package/Rail/index.ts +1 -1
  42. package/Rule/Base.ts +2 -2
  43. package/Rule/Other.ts +5 -3
  44. package/Rule/State/Authorization.ts +1 -1
  45. package/Rule/State/Card.ts +3 -2
  46. package/Rule/State/index.ts +1 -1
  47. package/Rule/index.ts +1 -1
  48. package/Settlement/Entry/fromCreatable.ts +8 -6
  49. package/Settlement/Status.ts +1 -1
  50. package/Settlement/Total.ts +8 -6
  51. package/Settlement/Totals.ts +4 -2
  52. package/Supplier/index.ts +1 -2
  53. package/Transaction/Statistics.ts +6 -5
  54. package/Transaction/Status.ts +3 -3
  55. package/Transaction/index.ts +22 -20
  56. package/Treasury/Account/Category.ts +1 -1
  57. package/Treasury/Snapshot/funding.ts +7 -5
  58. package/User/Access/Permission.ts +2 -2
  59. package/User/Identity.ts +7 -3
  60. package/User/Password.ts +5 -4
  61. package/Warning/Base.ts +1 -1
  62. package/Warning/Snapshot/MissingBuffer.ts +2 -1
  63. package/Warning/Snapshot/StaleFiat.ts +6 -3
  64. package/dist/cjs/Account/Charge/Fx/index.js +2 -1
  65. package/dist/cjs/Account/Charge/Fx/index.js.map +1 -1
  66. package/dist/cjs/Account/Creatable.d.ts +1 -1
  67. package/dist/cjs/Account/History.d.ts +1 -1
  68. package/dist/cjs/Account/Status.d.ts +2 -2
  69. package/dist/cjs/Account/Type.d.ts +1 -1
  70. package/dist/cjs/Audit.d.ts +1 -1
  71. package/dist/cjs/Authorization/Status.d.ts +1 -1
  72. package/dist/cjs/Authorization/Status.js +10 -5
  73. package/dist/cjs/Authorization/Status.js.map +1 -1
  74. package/dist/cjs/Backup/Base.d.ts +1 -1
  75. package/dist/cjs/Balance.d.ts +2 -2
  76. package/dist/cjs/Balances.js +6 -3
  77. package/dist/cjs/Balances.js.map +1 -1
  78. package/dist/cjs/Card/Expiry.d.ts +2 -2
  79. package/dist/cjs/Card/Operation/Authorization.d.ts +1 -1
  80. package/dist/cjs/Card/Operation/Card.d.ts +1 -1
  81. package/dist/cjs/Card/Operation/index.js.map +1 -1
  82. package/dist/cjs/Card/Preset.d.ts +1 -1
  83. package/dist/cjs/Card/Restriction/Merchant.d.ts +1 -1
  84. package/dist/cjs/Card/Restriction/Merchant.js +10 -5
  85. package/dist/cjs/Card/Restriction/Merchant.js.map +1 -1
  86. package/dist/cjs/Card/Restriction/index.js +2 -1
  87. package/dist/cjs/Card/Restriction/index.js.map +1 -1
  88. package/dist/cjs/Card/Scheme.d.ts +1 -1
  89. package/dist/cjs/Card/Stack.d.ts +2 -2
  90. package/dist/cjs/Client/Labels.js.map +1 -1
  91. package/dist/cjs/Client/Operations.js.map +1 -1
  92. package/dist/cjs/Client/Transactions/index.js +2 -1
  93. package/dist/cjs/Client/Transactions/index.js.map +1 -1
  94. package/dist/cjs/Client/Treasury.d.ts +1 -0
  95. package/dist/cjs/Client/Treasury.js +3 -0
  96. package/dist/cjs/Client/Treasury.js.map +1 -1
  97. package/dist/cjs/Client/index.js +3 -2
  98. package/dist/cjs/Client/index.js.map +1 -1
  99. package/dist/cjs/Holidays/index.d.ts +1 -1
  100. package/dist/cjs/Label.d.ts +1 -1
  101. package/dist/cjs/Log/Message/Configuration.js.map +1 -1
  102. package/dist/cjs/Log/Message/Entry.js.map +1 -1
  103. package/dist/cjs/Log/Message/index.js +2 -1
  104. package/dist/cjs/Log/Message/index.js.map +1 -1
  105. package/dist/cjs/Log/index.js +4 -2
  106. package/dist/cjs/Log/index.js.map +1 -1
  107. package/dist/cjs/Operation/Change.d.ts +1 -1
  108. package/dist/cjs/Operation/Changes.d.ts +2 -2
  109. package/dist/cjs/Operation/Changes.js +8 -4
  110. package/dist/cjs/Operation/Changes.js.map +1 -1
  111. package/dist/cjs/Operation/Creatable.d.ts +1 -1
  112. package/dist/cjs/Operation/Status.d.ts +1 -1
  113. package/dist/cjs/Operation/index.js +2 -1
  114. package/dist/cjs/Operation/index.js.map +1 -1
  115. package/dist/cjs/Organization/Risk.d.ts +1 -1
  116. package/dist/cjs/Quarter.d.ts +1 -1
  117. package/dist/cjs/Rail/Address/index.d.ts +1 -1
  118. package/dist/cjs/Rail/index.d.ts +1 -1
  119. package/dist/cjs/Rule/Base.d.ts +2 -2
  120. package/dist/cjs/Rule/Other.d.ts +1 -1
  121. package/dist/cjs/Rule/Other.js +4 -2
  122. package/dist/cjs/Rule/Other.js.map +1 -1
  123. package/dist/cjs/Rule/State/Authorization.js.map +1 -1
  124. package/dist/cjs/Rule/State/Card.js +4 -2
  125. package/dist/cjs/Rule/State/Card.js.map +1 -1
  126. package/dist/cjs/Rule/State/index.d.ts +1 -1
  127. package/dist/cjs/Rule/index.d.ts +1 -1
  128. package/dist/cjs/Settlement/Entry/fromCreatable.js +10 -5
  129. package/dist/cjs/Settlement/Entry/fromCreatable.js.map +1 -1
  130. package/dist/cjs/Settlement/Status.d.ts +1 -1
  131. package/dist/cjs/Settlement/Total.js +4 -2
  132. package/dist/cjs/Settlement/Total.js.map +1 -1
  133. package/dist/cjs/Settlement/Totals.js +4 -2
  134. package/dist/cjs/Settlement/Totals.js.map +1 -1
  135. package/dist/cjs/Supplier/index.d.ts +1 -1
  136. package/dist/cjs/Supplier/index.js.map +1 -1
  137. package/dist/cjs/Transaction/Statistics.d.ts +2 -2
  138. package/dist/cjs/Transaction/Statistics.js +2 -1
  139. package/dist/cjs/Transaction/Statistics.js.map +1 -1
  140. package/dist/cjs/Transaction/Status.d.ts +3 -3
  141. package/dist/cjs/Transaction/index.d.ts +2 -2
  142. package/dist/cjs/Transaction/index.js +10 -5
  143. package/dist/cjs/Transaction/index.js.map +1 -1
  144. package/dist/cjs/Treasury/Account/Category.d.ts +1 -1
  145. package/dist/cjs/Treasury/Snapshot/funding.js +8 -4
  146. package/dist/cjs/Treasury/Snapshot/funding.js.map +1 -1
  147. package/dist/cjs/User/Access/Permission.d.ts +2 -2
  148. package/dist/cjs/User/Identity.js +4 -2
  149. package/dist/cjs/User/Identity.js.map +1 -1
  150. package/dist/cjs/User/Password.js +8 -4
  151. package/dist/cjs/User/Password.js.map +1 -1
  152. package/dist/cjs/Warning/Base.d.ts +1 -1
  153. package/dist/cjs/Warning/Snapshot/MissingBuffer.js +2 -1
  154. package/dist/cjs/Warning/Snapshot/MissingBuffer.js.map +1 -1
  155. package/dist/cjs/Warning/Snapshot/StaleFiat.js +6 -3
  156. package/dist/cjs/Warning/Snapshot/StaleFiat.js.map +1 -1
  157. package/dist/cjs/fx.d.ts +1 -1
  158. package/dist/cjs/reports/visa/Data/Cards.js +6 -3
  159. package/dist/cjs/reports/visa/Data/Cards.js.map +1 -1
  160. package/dist/cjs/reports/visa/Data/Country.js +6 -3
  161. package/dist/cjs/reports/visa/Data/Country.js.map +1 -1
  162. package/dist/cjs/reports/visa/Data/Iin.d.ts +2 -2
  163. package/dist/cjs/reports/visa/Data/Monthly.d.ts +1 -1
  164. package/dist/cjs/reports/visa/Data/Monthly.js +2 -1
  165. package/dist/cjs/reports/visa/Data/Monthly.js.map +1 -1
  166. package/dist/cjs/reports/visa/Data/NonMonthly.js +8 -4
  167. package/dist/cjs/reports/visa/Data/NonMonthly.js.map +1 -1
  168. package/dist/cjs/reports/visa/Data/Region.d.ts +1 -1
  169. package/dist/cjs/reports/visa/Data/Region.js +16 -8
  170. package/dist/cjs/reports/visa/Data/Region.js.map +1 -1
  171. package/dist/cjs/reports/visa/Data/Regional.js +4 -2
  172. package/dist/cjs/reports/visa/Data/Regional.js.map +1 -1
  173. package/dist/cjs/reports/visa/Data/index.js +4 -2
  174. package/dist/cjs/reports/visa/Data/index.js.map +1 -1
  175. package/dist/cjs/reports/visa/index.js +10 -5
  176. package/dist/cjs/reports/visa/index.js.map +1 -1
  177. package/dist/cjs/reports/visa/rows.d.ts +2 -2
  178. package/dist/cjs/reports/visa/rows.js +2 -1
  179. package/dist/cjs/reports/visa/rows.js.map +1 -1
  180. package/dist/mjs/Account/Charge/Fx/index.js +2 -1
  181. package/dist/mjs/Account/Charge/Fx/index.js.map +1 -1
  182. package/dist/mjs/Account/Creatable.d.ts +1 -1
  183. package/dist/mjs/Account/History.d.ts +1 -1
  184. package/dist/mjs/Account/Status.d.ts +2 -2
  185. package/dist/mjs/Account/Type.d.ts +1 -1
  186. package/dist/mjs/Audit.d.ts +1 -1
  187. package/dist/mjs/Authorization/Status.d.ts +1 -1
  188. package/dist/mjs/Authorization/Status.js +10 -5
  189. package/dist/mjs/Authorization/Status.js.map +1 -1
  190. package/dist/mjs/Backup/Base.d.ts +1 -1
  191. package/dist/mjs/Balance.d.ts +2 -2
  192. package/dist/mjs/Balances.js +6 -3
  193. package/dist/mjs/Balances.js.map +1 -1
  194. package/dist/mjs/Card/Expiry.d.ts +2 -2
  195. package/dist/mjs/Card/Operation/Authorization.d.ts +1 -1
  196. package/dist/mjs/Card/Operation/Card.d.ts +1 -1
  197. package/dist/mjs/Card/Operation/index.js.map +1 -1
  198. package/dist/mjs/Card/Preset.d.ts +1 -1
  199. package/dist/mjs/Card/Restriction/Merchant.d.ts +1 -1
  200. package/dist/mjs/Card/Restriction/Merchant.js +10 -5
  201. package/dist/mjs/Card/Restriction/Merchant.js.map +1 -1
  202. package/dist/mjs/Card/Restriction/index.js +2 -1
  203. package/dist/mjs/Card/Restriction/index.js.map +1 -1
  204. package/dist/mjs/Card/Scheme.d.ts +1 -1
  205. package/dist/mjs/Card/Stack.d.ts +2 -2
  206. package/dist/mjs/Client/Labels.js.map +1 -1
  207. package/dist/mjs/Client/Operations.js.map +1 -1
  208. package/dist/mjs/Client/Transactions/index.js +2 -1
  209. package/dist/mjs/Client/Transactions/index.js.map +1 -1
  210. package/dist/mjs/Client/Treasury.d.ts +1 -0
  211. package/dist/mjs/Client/Treasury.js +3 -0
  212. package/dist/mjs/Client/Treasury.js.map +1 -1
  213. package/dist/mjs/Client/index.js +3 -2
  214. package/dist/mjs/Client/index.js.map +1 -1
  215. package/dist/mjs/Holidays/index.d.ts +1 -1
  216. package/dist/mjs/Label.d.ts +1 -1
  217. package/dist/mjs/Log/Message/Configuration.js.map +1 -1
  218. package/dist/mjs/Log/Message/Entry.js.map +1 -1
  219. package/dist/mjs/Log/Message/index.js +2 -1
  220. package/dist/mjs/Log/Message/index.js.map +1 -1
  221. package/dist/mjs/Log/index.js +4 -2
  222. package/dist/mjs/Log/index.js.map +1 -1
  223. package/dist/mjs/Operation/Change.d.ts +1 -1
  224. package/dist/mjs/Operation/Changes.d.ts +2 -2
  225. package/dist/mjs/Operation/Changes.js +8 -4
  226. package/dist/mjs/Operation/Changes.js.map +1 -1
  227. package/dist/mjs/Operation/Creatable.d.ts +1 -1
  228. package/dist/mjs/Operation/Status.d.ts +1 -1
  229. package/dist/mjs/Operation/index.js +2 -1
  230. package/dist/mjs/Operation/index.js.map +1 -1
  231. package/dist/mjs/Organization/Risk.d.ts +1 -1
  232. package/dist/mjs/Quarter.d.ts +1 -1
  233. package/dist/mjs/Rail/Address/index.d.ts +1 -1
  234. package/dist/mjs/Rail/index.d.ts +1 -1
  235. package/dist/mjs/Rule/Base.d.ts +2 -2
  236. package/dist/mjs/Rule/Other.d.ts +1 -1
  237. package/dist/mjs/Rule/Other.js +4 -2
  238. package/dist/mjs/Rule/Other.js.map +1 -1
  239. package/dist/mjs/Rule/State/Authorization.js.map +1 -1
  240. package/dist/mjs/Rule/State/Card.js +4 -2
  241. package/dist/mjs/Rule/State/Card.js.map +1 -1
  242. package/dist/mjs/Rule/State/index.d.ts +1 -1
  243. package/dist/mjs/Rule/index.d.ts +1 -1
  244. package/dist/mjs/Settlement/Entry/fromCreatable.js +10 -5
  245. package/dist/mjs/Settlement/Entry/fromCreatable.js.map +1 -1
  246. package/dist/mjs/Settlement/Status.d.ts +1 -1
  247. package/dist/mjs/Settlement/Total.js +4 -2
  248. package/dist/mjs/Settlement/Total.js.map +1 -1
  249. package/dist/mjs/Settlement/Totals.js +4 -2
  250. package/dist/mjs/Settlement/Totals.js.map +1 -1
  251. package/dist/mjs/Supplier/index.d.ts +1 -1
  252. package/dist/mjs/Supplier/index.js.map +1 -1
  253. package/dist/mjs/Transaction/Statistics.d.ts +2 -2
  254. package/dist/mjs/Transaction/Statistics.js +2 -1
  255. package/dist/mjs/Transaction/Statistics.js.map +1 -1
  256. package/dist/mjs/Transaction/Status.d.ts +3 -3
  257. package/dist/mjs/Transaction/index.d.ts +2 -2
  258. package/dist/mjs/Transaction/index.js +10 -5
  259. package/dist/mjs/Transaction/index.js.map +1 -1
  260. package/dist/mjs/Treasury/Account/Category.d.ts +1 -1
  261. package/dist/mjs/Treasury/Snapshot/funding.js +8 -4
  262. package/dist/mjs/Treasury/Snapshot/funding.js.map +1 -1
  263. package/dist/mjs/User/Access/Permission.d.ts +2 -2
  264. package/dist/mjs/User/Identity.js +4 -2
  265. package/dist/mjs/User/Identity.js.map +1 -1
  266. package/dist/mjs/User/Password.js +8 -4
  267. package/dist/mjs/User/Password.js.map +1 -1
  268. package/dist/mjs/Warning/Base.d.ts +1 -1
  269. package/dist/mjs/Warning/Snapshot/MissingBuffer.js +2 -1
  270. package/dist/mjs/Warning/Snapshot/MissingBuffer.js.map +1 -1
  271. package/dist/mjs/Warning/Snapshot/StaleFiat.js +6 -3
  272. package/dist/mjs/Warning/Snapshot/StaleFiat.js.map +1 -1
  273. package/dist/mjs/fx.d.ts +1 -1
  274. package/dist/mjs/reports/visa/Data/Cards.js +6 -3
  275. package/dist/mjs/reports/visa/Data/Cards.js.map +1 -1
  276. package/dist/mjs/reports/visa/Data/Country.js +6 -3
  277. package/dist/mjs/reports/visa/Data/Country.js.map +1 -1
  278. package/dist/mjs/reports/visa/Data/Iin.d.ts +2 -2
  279. package/dist/mjs/reports/visa/Data/Monthly.d.ts +1 -1
  280. package/dist/mjs/reports/visa/Data/Monthly.js +2 -1
  281. package/dist/mjs/reports/visa/Data/Monthly.js.map +1 -1
  282. package/dist/mjs/reports/visa/Data/NonMonthly.js +8 -4
  283. package/dist/mjs/reports/visa/Data/NonMonthly.js.map +1 -1
  284. package/dist/mjs/reports/visa/Data/Region.d.ts +1 -1
  285. package/dist/mjs/reports/visa/Data/Region.js +16 -8
  286. package/dist/mjs/reports/visa/Data/Region.js.map +1 -1
  287. package/dist/mjs/reports/visa/Data/Regional.js +4 -2
  288. package/dist/mjs/reports/visa/Data/Regional.js.map +1 -1
  289. package/dist/mjs/reports/visa/Data/index.js +4 -2
  290. package/dist/mjs/reports/visa/Data/index.js.map +1 -1
  291. package/dist/mjs/reports/visa/index.js +10 -5
  292. package/dist/mjs/reports/visa/index.js.map +1 -1
  293. package/dist/mjs/reports/visa/rows.d.ts +2 -2
  294. package/dist/mjs/reports/visa/rows.js +2 -1
  295. package/dist/mjs/reports/visa/rows.js.map +1 -1
  296. package/fx.ts +1 -1
  297. package/package.json +10 -9
  298. package/reports/visa/Data/Cards.ts +6 -3
  299. package/reports/visa/Data/Country.ts +6 -3
  300. package/reports/visa/Data/Iin.ts +2 -2
  301. package/reports/visa/Data/Monthly.ts +3 -2
  302. package/reports/visa/Data/NonMonthly.ts +8 -4
  303. package/reports/visa/Data/Region.ts +11 -9
  304. package/reports/visa/Data/Regional.ts +4 -2
  305. package/reports/visa/Data/index.ts +3 -2
  306. package/reports/visa/index.ts +8 -6
  307. package/reports/visa/rows.ts +4 -3
@@ -1,12 +1,12 @@
1
1
  import { isly } from "isly";
2
2
  export declare namespace rows {
3
3
  const all: readonly ["On-Us Payments Count - Month x", "On-Us Payments Volume - Month x", "On-Us Account Funding Transaction Count - Month x", "On-Us Account Funding Transaction Volume - Month x", "On-Us Original Credits Count - Month x", "On-Us Original Credits Volume - Month x", "On-Us ATM Cash Advances Count - Month x", "On-Us ATM Cash Advances Volume - Month x", "On-Us Manual Cash Count - Month x", "On-Us Manual Cash Volume - Month x", "On-Us Cashback Count - Month x", "On-Us Cashback Volume - Month x", "National Payments Count - Month x", "National Payments Volume - Month x", "National Account Funding Transaction Count - Month x", "National Account Funding Transaction Volume - Month x", "National Original Credits Count - Month x", "National Original Credits Volume - Month x", "National ATM Cash Advances Count - Month x", "National ATM Cash Advances Volume - Month x", "National Manual Cash Count - Month x", "National Manual Cash Volume - Month x", "National Cashback Count - Month x", "National Cashback Volume - Month x", "International - Intra-Regional Payments Count - Month x", "International - Intra-Regional Payments Volume - Month x", "International - Intra-Regional Account Funding Transaction Count - Month x", "International - Intra-Regional Account Funding Transaction Volume - Month x", "International - Intra-Regional Original Credits Count - Month x", "International - Intra-Regional Original Credits Volume - Month x", "International - Intra-Regional ATM Cash Advances Count - Month x", "International - Intra-Regional ATM Cash Advances Volume - Month x", "International - Intra-Regional Manual Cash Count - Month x", "International - Intra-Regional Manual Cash Volume - Month x", "International - Intra-Regional Cashback Count - Month x", "International - Intra-Regional Cashback Volume - Month x", "International - Non-EEA Payments Count - Month x", "International - Non-EEA Payments Volume - Month x", "International - Non-EEA Account Funding Transaction Count - Month x", "International - Non-EEA Account Funding Transaction Volume - Month x", "International - Non-EEA Original Credits Count - Month x", "International - Non-EEA Original Credits Volume - Month x", "International - Non-EEA ATM Cash Advances Count - Month x", "International - Non-EEA ATM Cash Advances Volume - Month x", "International - Non-EEA Manual Cash Count - Month x", "International - Non-EEA Manual Cash Volume - Month x", "International - Non-EEA Cashback Count - Month x", "International - Non-EEA Cashback Volume - Month x", "International - Inter-Regional Payments Count - Month x", "International - Inter-Regional Payments Volume - Month x", "International - Inter-Regional Account Funding Transaction Count - Month x", "International - Inter-Regional Account Funding Transaction Volume - Month x", "International - Inter-Regional Original Credits Count - Month x", "International - Inter-Regional Original Credits Volume - Month x", "International - Inter-Regional ATM Cash Advances Count - Month x", "International - Inter-Regional ATM Cash Advances Volume - Month x", "International - Inter-Regional Manual Cash Count - Month x", "International - Inter-Regional Manual Cash Volume - Month x", "International - Inter-Regional Cashback Count - Month x", "International - Inter-Regional Cashback Volume - Month x", "Total Number of Cards", "Number of Cards - Magnetic Stripe", "Number of Cards - Magnetic Stripe, Chip", "Number of Cards - Magnetic Stripe, Contactless", "Number of Cards - Magnetic Stripe, Chip, Contactless", "Total Number of Active Cards", "Number of Active Cards - used at Contactless device", "Number of Devices with Visa Contactless - Micro Tags", "Number of Devices with Visa Contactless - Mobile Phones", "Number of Devices with Visa Contactless - Other Devices", "Total Number of Accounts", "Number of Accounts - Domestic Use Only", "Number of Accounts - International Enabled", "Total Number of Active Accounts", "Total Number of Personal Deposit Accounts", "Number of Savings Accounts", "Number of Regular Checking Accounts", "Fraud Recoveries - Domestic - Cash Disbursements - Amount", "Fraud Recoveries - Domestic - Payments - Amount", "Fraud Recoveries - International - Cash Disbursements - Amount", "Fraud Recoveries - International - Payments - Amount", "Gross Fraud Losses - Number of Accounts", "Gross Fraud Losses - Number of Recovered Accounts", "Gross Fraud Losses - Domestic - Cash Disbursements - Count", "Gross Fraud Losses - Domestic - Cash Disbursements - Volume", "Gross Fraud Losses - Domestic - Payments - Count", "Gross Fraud Losses - Domestic - Payments - Volume", "Gross Fraud Losses - International - Cash Disbursements - Count", "Gross Fraud Losses - International - Cash Disbursements - Volume", "Gross Fraud Losses - International - Payments - Count", "Gross Fraud Losses - International - Payments - Volume", "Total Product Balance - Volume", "Payments Transactions Declined for Insufficient Funds - Number", "Cash Transactions Declined for Insufficient Funds - Number"];
4
- type NonZero = typeof NonZero.values[number];
4
+ type NonZero = (typeof NonZero.values)[number];
5
5
  namespace NonZero {
6
6
  const values: readonly ["National Payments Count - Month x", "National Payments Volume - Month x", "International - Intra-Regional Payments Count - Month x", "International - Intra-Regional Payments Volume - Month x", "International - Non-EEA Payments Count - Month x", "International - Non-EEA Payments Volume - Month x", "International - Inter-Regional Payments Count - Month x", "International - Inter-Regional Payments Volume - Month x", "Total Number of Cards", "Total Number of Active Cards", "Total Number of Accounts", "Total Number of Active Accounts", "Number of Accounts - International Enabled", "Payments Transactions Declined for Insufficient Funds - Number"];
7
7
  const type: isly.Type<"National Payments Count - Month x" | "National Payments Volume - Month x" | "International - Intra-Regional Payments Count - Month x" | "International - Intra-Regional Payments Volume - Month x" | "International - Non-EEA Payments Count - Month x" | "International - Non-EEA Payments Volume - Month x" | "International - Inter-Regional Payments Count - Month x" | "International - Inter-Regional Payments Volume - Month x" | "Total Number of Cards" | "Total Number of Active Cards" | "Total Number of Accounts" | "Number of Accounts - International Enabled" | "Total Number of Active Accounts" | "Payments Transactions Declined for Insufficient Funds - Number">;
8
8
  }
9
- type Blank = typeof Blank.values[number];
9
+ type Blank = (typeof Blank.values)[number];
10
10
  namespace Blank {
11
11
  const values: readonly ["Fraud Recoveries - Domestic - Cash Disbursements - Amount", "Fraud Recoveries - Domestic - Payments - Amount", "Fraud Recoveries - International - Cash Disbursements - Amount", "Fraud Recoveries - International - Payments - Amount", "Gross Fraud Losses - Number of Accounts", "Gross Fraud Losses - Number of Recovered Accounts", "Gross Fraud Losses - Domestic - Cash Disbursements - Count", "Gross Fraud Losses - Domestic - Cash Disbursements - Volume", "Gross Fraud Losses - Domestic - Payments - Count", "Gross Fraud Losses - Domestic - Payments - Volume", "Gross Fraud Losses - International - Cash Disbursements - Count", "Gross Fraud Losses - International - Cash Disbursements - Volume", "Gross Fraud Losses - International - Payments - Count", "Gross Fraud Losses - International - Payments - Volume"];
12
12
  const type: isly.Type<"Fraud Recoveries - Domestic - Cash Disbursements - Amount" | "Fraud Recoveries - Domestic - Payments - Amount" | "Fraud Recoveries - International - Cash Disbursements - Amount" | "Fraud Recoveries - International - Payments - Amount" | "Gross Fraud Losses - Number of Accounts" | "Gross Fraud Losses - Number of Recovered Accounts" | "Gross Fraud Losses - Domestic - Cash Disbursements - Count" | "Gross Fraud Losses - Domestic - Cash Disbursements - Volume" | "Gross Fraud Losses - Domestic - Payments - Count" | "Gross Fraud Losses - Domestic - Payments - Volume" | "Gross Fraud Losses - International - Cash Disbursements - Count" | "Gross Fraud Losses - International - Cash Disbursements - Volume" | "Gross Fraud Losses - International - Payments - Count" | "Gross Fraud Losses - International - Payments - Volume">;
@@ -143,8 +143,9 @@ export var rows;
143
143
  })(Blank = rows.Blank || (rows.Blank = {}));
144
144
  function monthlyZeroRows(row, zeroes) {
145
145
  let result = "";
146
- for (let i = 1; 3 >= i; i++)
146
+ for (let i = 1; 3 >= i; i++) {
147
147
  result += row.replace("Month x", `Month ${i}`) + "|0".repeat(zeroes) + "\n";
148
+ }
148
149
  return result;
149
150
  }
150
151
  rows.monthlyZeroRows = monthlyZeroRows;
@@ -1 +1 @@
1
- {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../../reports/visa/rows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../../reports/visa/rows.ts"],"names":[],"mappings":"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"}
package/fx.ts CHANGED
@@ -14,7 +14,7 @@ export namespace fx {
14
14
  rate: { base: number; markup: number; effective: number }
15
15
  }
16
16
  export namespace Quote {
17
- export type Fixed = typeof Fixed.values[number]
17
+ export type Fixed = (typeof Fixed.values)[number]
18
18
  export namespace Fixed {
19
19
  export const values = ["from", "to"] as const
20
20
  export const type = isly.string<Fixed>(values)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.602",
3
+ "version": "0.1.604",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
@@ -44,17 +44,18 @@
44
44
  "esbuild": ">=0.25.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@cloudflare/workers-types": "^4.20250129.0",
47
+ "@cloudflare/workers-types": "^4.20260405.1",
48
48
  "@typescript-eslint/eslint-plugin": "8.44.1",
49
49
  "@typescript-eslint/parser": "8.44.1",
50
- "@vitest/coverage-v8": "3.2.4",
51
- "eslint": "^8.57.0",
52
- "eslint-plugin-prettierx": "github:utily/eslint-plugin-prettierx#utily-20231004",
50
+ "@vitest/coverage-v8": "4.1.3",
51
+ "eslint": "^8.57.1",
52
+ "eslint-config-prettier": "^10.1.8",
53
+ "eslint-plugin-prettier": "^5.5.5",
53
54
  "eslint-plugin-simple-import-sort": "^12.1.1",
54
- "prettierx": "github:utily/prettierx#utily-20231004",
55
- "rimraf": "^6.0.1",
56
- "typescript": "^5.5.4",
57
- "vitest": "3.2.4"
55
+ "prettier": "3.8.1",
56
+ "rimraf": "^6.1.3",
57
+ "typescript": "^5.9.3",
58
+ "vitest": "4.1.3"
58
59
  },
59
60
  "dependencies": {
60
61
  "authly": "^3.1.2",
@@ -24,7 +24,7 @@ export namespace Cards {
24
24
  }
25
25
  export function report(previous: NonMonthly, cards: Card[], range: { start: isoly.Date; end: isoly.Date }): Cards {
26
26
  const result = previous
27
- for (const iin of Iin.values)
27
+ for (const iin of Iin.values) {
28
28
  if (iin !== "totalIdx") {
29
29
  // number of customers who have or have had active Visa products, ever
30
30
  const iinCards = cards.filter(card => card.details.iin == iin)
@@ -51,13 +51,16 @@ export namespace Cards {
51
51
  const accountsWithActive = new Set(activeCards.map(card => card.account)).size
52
52
  accountsWithActive > 0 && (result["Total Number of Active Accounts"][iin] = accountsWithActive)
53
53
  }
54
+ }
54
55
  // All idx iin numbers are summed up to totalIdx
55
- for (const key of typedly.Object.keys(result))
56
- if (key !== "Payments Transactions Declined for Insufficient Funds - Number")
56
+ for (const key of typedly.Object.keys(result)) {
57
+ if (key !== "Payments Transactions Declined for Insufficient Funds - Number") {
57
58
  result[key]["totalIdx"] = typedly.Object.entries(result[key]).reduce(
58
59
  (r, [iin, value]) => r + (Iin.Idx.type.is(iin) && value ? value : 0),
59
60
  0
60
61
  )
62
+ }
63
+ }
61
64
  return result
62
65
  }
63
66
  }
@@ -31,15 +31,17 @@ export namespace Country {
31
31
  type: "count" | "volume"
32
32
  ): string {
33
33
  let result = ""
34
- if (data[presence])
34
+ if (data[presence]) {
35
35
  for (const month of Monthly.Month.values) {
36
36
  result += `Country ${country} - ${region} Card ${presence == "present" ? "Present" : "Not Present"} ${
37
37
  type == "count" ? "Count" : "Volume"
38
38
  } - Month ${month}`
39
- for (const iin of Iin.values)
39
+ for (const iin of Iin.values) {
40
40
  result += `|${data[presence]?.[month][type][iin] ?? 0}`
41
+ }
41
42
  result += "\n"
42
43
  }
44
+ }
43
45
  return result
44
46
  }
45
47
  export function update(country: Country, transaction: Transaction.CardTransaction): Country {
@@ -58,8 +60,9 @@ export namespace Country {
58
60
  }
59
61
  export function merge(previous: Country, addition: Country): Country {
60
62
  const result: Country = {}
61
- for (const country of Object.keys(previous).concat(Object.keys(addition)) as isoly.CountryCode.Alpha2[])
63
+ for (const country of Object.keys(previous).concat(Object.keys(addition)) as isoly.CountryCode.Alpha2[]) {
62
64
  result[country] = mergePerCountry(previous[country] ?? {}, addition[country] ?? {})
65
+ }
63
66
  return result
64
67
  }
65
68
  }
@@ -1,8 +1,8 @@
1
1
  import { isly } from "isly"
2
2
 
3
- export type Iin = typeof Iin.values[number]
3
+ export type Iin = (typeof Iin.values)[number]
4
4
  export namespace Iin {
5
- export type Idx = typeof Idx.values[number]
5
+ export type Idx = (typeof Idx.values)[number]
6
6
  export namespace Idx {
7
7
  export const values = ["45672555", "4567255", "45672557"] as const
8
8
  export const type = isly.string<Idx>(values)
@@ -7,7 +7,7 @@ export type Monthly = Record<
7
7
  { count: Partial<Record<Iin, number>>; volume: Partial<Record<Iin, number>> }
8
8
  >
9
9
  export namespace Monthly {
10
- export type Month = typeof Month.values[number]
10
+ export type Month = (typeof Month.values)[number]
11
11
  export namespace Month {
12
12
  export const values = [1, 2, 3] as const
13
13
  }
@@ -45,7 +45,7 @@ export namespace Monthly {
45
45
  const result: Monthly = empty()
46
46
  previous ??= empty()
47
47
  addition ??= empty()
48
- for (const month of Monthly.Month.values)
48
+ for (const month of Monthly.Month.values) {
49
49
  for (const iin of Iin.values) {
50
50
  result[month].count[iin] = (previous[month].count[iin] ?? 0) + (addition[month].count[iin] ?? 0)
51
51
  result[month].volume[iin] = isoly.Currency.add(
@@ -54,6 +54,7 @@ export namespace Monthly {
54
54
  addition[month].volume[iin] ?? 0
55
55
  )
56
56
  }
57
+ }
57
58
 
58
59
  return result
59
60
  }
@@ -12,24 +12,28 @@ export namespace NonMonthly {
12
12
  }
13
13
  export function update(previous: NonMonthly, transaction: Transaction.CardTransaction): NonMonthly {
14
14
  const result = previous
15
- if (Array.isArray(transaction.status) && transaction.status[1] == "insufficient funds")
15
+ if (Array.isArray(transaction.status) && transaction.status[1] == "insufficient funds") {
16
16
  result["Payments Transactions Declined for Insufficient Funds - Number"][transaction.account.iin as Iin] =
17
17
  (result["Payments Transactions Declined for Insufficient Funds - Number"]?.[transaction.account.iin as Iin] ??
18
18
  0) + 1
19
+ }
19
20
  return result
20
21
  }
21
22
  export function toCsvRow(data: NonMonthly, row: rows.NonZero): string {
22
23
  let result = row
23
- for (const iin of Iin.values)
24
+ for (const iin of Iin.values) {
24
25
  result += `|${data[row as keyof NonMonthly][iin] ?? 0}`
26
+ }
25
27
  result += "\n"
26
28
  return result
27
29
  }
28
30
  export function merge(previous: NonMonthly, addition: NonMonthly): NonMonthly {
29
31
  const result: NonMonthly = empty()
30
- for (const key of Object.keys(result) as (keyof NonMonthly)[])
31
- for (const iin of Iin.values)
32
+ for (const key of Object.keys(result) as (keyof NonMonthly)[]) {
33
+ for (const iin of Iin.values) {
32
34
  result[key][iin] = (previous[key]?.[iin] ?? 0) + (addition[key]?.[iin] ?? 0)
35
+ }
36
+ }
33
37
  return result
34
38
  }
35
39
  }
@@ -1,7 +1,7 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
3
 
4
- export type Region = typeof Region.values[number]
4
+ export type Region = (typeof Region.values)[number]
5
5
  export namespace Region {
6
6
  export const values = [
7
7
  "National Payments",
@@ -46,26 +46,28 @@ export namespace Region {
46
46
  }
47
47
  export function find(country: isoly.CountryCode.Alpha2): Region {
48
48
  let result: Region
49
- if (regions["National Payments"].includes(country))
49
+ if (regions["National Payments"].includes(country)) {
50
50
  result = "National Payments"
51
- else if (regions["International - Intra-Regional Payments"].includes(country))
51
+ } else if (regions["International - Intra-Regional Payments"].includes(country)) {
52
52
  result = "International - Intra-Regional Payments"
53
- else if (regions["International - Inter-Regional Payments"].includes(country))
53
+ } else if (regions["International - Inter-Regional Payments"].includes(country)) {
54
54
  result = "International - Inter-Regional Payments"
55
- else
55
+ } else {
56
56
  result = "International - Non-EEA Payments"
57
+ }
57
58
  return result
58
59
  }
59
60
  export function fromRow(row: string): Region {
60
61
  let result: Region
61
- if (row.startsWith("National"))
62
+ if (row.startsWith("National")) {
62
63
  result = "National Payments"
63
- else if (row.startsWith("International - Inter-Regional"))
64
+ } else if (row.startsWith("International - Inter-Regional")) {
64
65
  result = "International - Inter-Regional Payments"
65
- else if (row.startsWith("International - Intra-Regional"))
66
+ } else if (row.startsWith("International - Intra-Regional")) {
66
67
  result = "International - Intra-Regional Payments"
67
- else
68
+ } else {
68
69
  result = "International - Non-EEA Payments"
70
+ }
69
71
  return result
70
72
  }
71
73
  }
@@ -13,8 +13,9 @@ export namespace Regional {
13
13
  }
14
14
  export function merge(previous: Regional, addition: Regional): Regional {
15
15
  const result: Regional = {}
16
- for (const region of Region.values)
16
+ for (const region of Region.values) {
17
17
  result[region] = Monthly.merge(previous[region], addition[region])
18
+ }
18
19
  return result
19
20
  }
20
21
  export function toCsvRow(regional: Regional, row: string): string {
@@ -23,8 +24,9 @@ export namespace Regional {
23
24
  const key: "count" | "volume" = row.includes("Count") ? "count" : "volume"
24
25
  for (const month of Monthly.Month.values) {
25
26
  result += row.replace("Month x", `Month ${month}`)
26
- for (const iin of Iin.values)
27
+ for (const iin of Iin.values) {
27
28
  result += `|${regional[region]?.[month][key][iin] ?? 0}`
29
+ }
28
30
  result += "\n"
29
31
  }
30
32
  return result
@@ -40,10 +40,11 @@ export namespace Data {
40
40
  }
41
41
  export function toCsv(data: Data, row: rows.NonZero): string {
42
42
  let result: string
43
- if (row.endsWith("Month x"))
43
+ if (row.endsWith("Month x")) {
44
44
  result = Regional.toCsvRow(data.regional, row)
45
- else
45
+ } else {
46
46
  result = NonMonthly.toCsvRow(data.nonMonthly, row)
47
+ }
47
48
  return result
48
49
  }
49
50
  }
@@ -17,19 +17,21 @@ export namespace visa {
17
17
  export function toCsv(data: Data): string {
18
18
  // report 1
19
19
  let csv = headers.join("|") + "\n"
20
- for (const row of rows.all)
21
- if (rows.Blank.type.is(row))
20
+ for (const row of rows.all) {
21
+ if (rows.Blank.type.is(row)) {
22
22
  // Leave empty for operations team to fill
23
23
  csv += rows.Blank.toCsvRow(row, headers.length - 1)
24
- else if (rows.NonZero.type.is(row))
24
+ } else if (rows.NonZero.type.is(row)) {
25
25
  // "report 1" data
26
26
  csv += Data.toCsv(data, row)
27
- else if (row.endsWith("Month x"))
27
+ } else if (row.endsWith("Month x")) {
28
28
  // rows with zeroes for each month
29
29
  csv += rows.monthlyZeroRows(row, headers.length - 1)
30
- // rows with zeroes
31
- else
30
+ } else {
31
+ // rows with zeroes
32
32
  csv += rows.zeros(row, headers.length - 1)
33
+ }
34
+ }
33
35
  // append "report 2" to the end
34
36
  csv += Data.Country.toCsv(data.country)
35
37
  return csv
@@ -97,7 +97,7 @@ export namespace rows {
97
97
  "Payments Transactions Declined for Insufficient Funds - Number",
98
98
  "Cash Transactions Declined for Insufficient Funds - Number",
99
99
  ] as const
100
- export type NonZero = typeof NonZero.values[number]
100
+ export type NonZero = (typeof NonZero.values)[number]
101
101
  export namespace NonZero {
102
102
  export const values = [
103
103
  "National Payments Count - Month x",
@@ -117,7 +117,7 @@ export namespace rows {
117
117
  ] as const
118
118
  export const type = isly.string<NonZero>(values)
119
119
  }
120
- export type Blank = typeof Blank.values[number]
120
+ export type Blank = (typeof Blank.values)[number]
121
121
  export namespace Blank {
122
122
  export const values = [
123
123
  "Fraud Recoveries - Domestic - Cash Disbursements - Amount",
@@ -142,8 +142,9 @@ export namespace rows {
142
142
  }
143
143
  export function monthlyZeroRows(row: string, zeroes: number): string {
144
144
  let result = ""
145
- for (let i = 1; 3 >= i; i++)
145
+ for (let i = 1; 3 >= i; i++) {
146
146
  result += row.replace("Month x", `Month ${i}`) + "|0".repeat(zeroes) + "\n"
147
+ }
147
148
  return result
148
149
  }
149
150
  export function zeros(row: string, zeroes: number): string {