@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.
- package/.eslintrc +13 -14
- package/.prettierrc +2 -3
- package/Account/Charge/Fx/index.ts +2 -1
- package/Account/Creatable.ts +1 -1
- package/Account/History.ts +1 -1
- package/Account/Status.ts +2 -2
- package/Account/Type.ts +1 -1
- package/Audit.ts +1 -1
- package/Authorization/Status.ts +8 -6
- package/Backup/Base.ts +1 -1
- package/Balance.ts +2 -2
- package/Balances.ts +6 -3
- package/Card/Expiry.ts +2 -2
- package/Card/Operation/Authorization.ts +1 -1
- package/Card/Operation/Card.ts +1 -1
- package/Card/Operation/index.ts +1 -1
- package/Card/Preset.ts +1 -1
- package/Card/Restriction/Merchant.ts +8 -6
- package/Card/Restriction/index.ts +2 -1
- package/Card/Scheme.ts +1 -1
- package/Card/Stack.ts +2 -2
- package/Client/Labels.ts +4 -1
- package/Client/Operations.ts +4 -4
- package/Client/Transactions/index.ts +3 -2
- package/Client/Treasury.ts +3 -0
- package/Client/index.ts +3 -2
- package/Holidays/index.ts +1 -1
- package/Label.ts +1 -1
- package/Log/Message/Configuration.ts +1 -1
- package/Log/Message/Entry.ts +1 -1
- package/Log/Message/index.ts +3 -2
- package/Log/index.ts +4 -2
- package/Operation/Change.ts +1 -1
- package/Operation/Changes.ts +10 -9
- package/Operation/Creatable.ts +1 -1
- package/Operation/Status.ts +1 -1
- package/Operation/index.ts +2 -1
- package/Organization/Risk.ts +1 -1
- package/Quarter.ts +1 -1
- package/Rail/Address/index.ts +1 -1
- package/Rail/index.ts +1 -1
- package/Rule/Base.ts +2 -2
- package/Rule/Other.ts +5 -3
- package/Rule/State/Authorization.ts +1 -1
- package/Rule/State/Card.ts +3 -2
- package/Rule/State/index.ts +1 -1
- package/Rule/index.ts +1 -1
- package/Settlement/Entry/fromCreatable.ts +8 -6
- package/Settlement/Status.ts +1 -1
- package/Settlement/Total.ts +8 -6
- package/Settlement/Totals.ts +4 -2
- package/Supplier/index.ts +1 -2
- package/Transaction/Statistics.ts +6 -5
- package/Transaction/Status.ts +3 -3
- package/Transaction/index.ts +22 -20
- package/Treasury/Account/Category.ts +1 -1
- package/Treasury/Snapshot/funding.ts +7 -5
- package/User/Access/Permission.ts +2 -2
- package/User/Identity.ts +7 -3
- package/User/Password.ts +5 -4
- package/Warning/Base.ts +1 -1
- package/Warning/Snapshot/MissingBuffer.ts +2 -1
- package/Warning/Snapshot/StaleFiat.ts +6 -3
- package/dist/cjs/Account/Charge/Fx/index.js +2 -1
- package/dist/cjs/Account/Charge/Fx/index.js.map +1 -1
- package/dist/cjs/Account/Creatable.d.ts +1 -1
- package/dist/cjs/Account/History.d.ts +1 -1
- package/dist/cjs/Account/Status.d.ts +2 -2
- package/dist/cjs/Account/Type.d.ts +1 -1
- package/dist/cjs/Audit.d.ts +1 -1
- package/dist/cjs/Authorization/Status.d.ts +1 -1
- package/dist/cjs/Authorization/Status.js +10 -5
- package/dist/cjs/Authorization/Status.js.map +1 -1
- package/dist/cjs/Backup/Base.d.ts +1 -1
- package/dist/cjs/Balance.d.ts +2 -2
- package/dist/cjs/Balances.js +6 -3
- package/dist/cjs/Balances.js.map +1 -1
- package/dist/cjs/Card/Expiry.d.ts +2 -2
- package/dist/cjs/Card/Operation/Authorization.d.ts +1 -1
- package/dist/cjs/Card/Operation/Card.d.ts +1 -1
- package/dist/cjs/Card/Operation/index.js.map +1 -1
- package/dist/cjs/Card/Preset.d.ts +1 -1
- package/dist/cjs/Card/Restriction/Merchant.d.ts +1 -1
- package/dist/cjs/Card/Restriction/Merchant.js +10 -5
- package/dist/cjs/Card/Restriction/Merchant.js.map +1 -1
- package/dist/cjs/Card/Restriction/index.js +2 -1
- package/dist/cjs/Card/Restriction/index.js.map +1 -1
- package/dist/cjs/Card/Scheme.d.ts +1 -1
- package/dist/cjs/Card/Stack.d.ts +2 -2
- package/dist/cjs/Client/Labels.js.map +1 -1
- package/dist/cjs/Client/Operations.js.map +1 -1
- package/dist/cjs/Client/Transactions/index.js +2 -1
- package/dist/cjs/Client/Transactions/index.js.map +1 -1
- package/dist/cjs/Client/Treasury.d.ts +1 -0
- package/dist/cjs/Client/Treasury.js +3 -0
- package/dist/cjs/Client/Treasury.js.map +1 -1
- package/dist/cjs/Client/index.js +3 -2
- package/dist/cjs/Client/index.js.map +1 -1
- package/dist/cjs/Holidays/index.d.ts +1 -1
- package/dist/cjs/Label.d.ts +1 -1
- package/dist/cjs/Log/Message/Configuration.js.map +1 -1
- package/dist/cjs/Log/Message/Entry.js.map +1 -1
- package/dist/cjs/Log/Message/index.js +2 -1
- package/dist/cjs/Log/Message/index.js.map +1 -1
- package/dist/cjs/Log/index.js +4 -2
- package/dist/cjs/Log/index.js.map +1 -1
- package/dist/cjs/Operation/Change.d.ts +1 -1
- package/dist/cjs/Operation/Changes.d.ts +2 -2
- package/dist/cjs/Operation/Changes.js +8 -4
- package/dist/cjs/Operation/Changes.js.map +1 -1
- package/dist/cjs/Operation/Creatable.d.ts +1 -1
- package/dist/cjs/Operation/Status.d.ts +1 -1
- package/dist/cjs/Operation/index.js +2 -1
- package/dist/cjs/Operation/index.js.map +1 -1
- package/dist/cjs/Organization/Risk.d.ts +1 -1
- package/dist/cjs/Quarter.d.ts +1 -1
- package/dist/cjs/Rail/Address/index.d.ts +1 -1
- package/dist/cjs/Rail/index.d.ts +1 -1
- package/dist/cjs/Rule/Base.d.ts +2 -2
- package/dist/cjs/Rule/Other.d.ts +1 -1
- package/dist/cjs/Rule/Other.js +4 -2
- package/dist/cjs/Rule/Other.js.map +1 -1
- package/dist/cjs/Rule/State/Authorization.js.map +1 -1
- package/dist/cjs/Rule/State/Card.js +4 -2
- package/dist/cjs/Rule/State/Card.js.map +1 -1
- package/dist/cjs/Rule/State/index.d.ts +1 -1
- package/dist/cjs/Rule/index.d.ts +1 -1
- package/dist/cjs/Settlement/Entry/fromCreatable.js +10 -5
- package/dist/cjs/Settlement/Entry/fromCreatable.js.map +1 -1
- package/dist/cjs/Settlement/Status.d.ts +1 -1
- package/dist/cjs/Settlement/Total.js +4 -2
- package/dist/cjs/Settlement/Total.js.map +1 -1
- package/dist/cjs/Settlement/Totals.js +4 -2
- package/dist/cjs/Settlement/Totals.js.map +1 -1
- package/dist/cjs/Supplier/index.d.ts +1 -1
- package/dist/cjs/Supplier/index.js.map +1 -1
- package/dist/cjs/Transaction/Statistics.d.ts +2 -2
- package/dist/cjs/Transaction/Statistics.js +2 -1
- package/dist/cjs/Transaction/Statistics.js.map +1 -1
- package/dist/cjs/Transaction/Status.d.ts +3 -3
- package/dist/cjs/Transaction/index.d.ts +2 -2
- package/dist/cjs/Transaction/index.js +10 -5
- package/dist/cjs/Transaction/index.js.map +1 -1
- package/dist/cjs/Treasury/Account/Category.d.ts +1 -1
- package/dist/cjs/Treasury/Snapshot/funding.js +8 -4
- package/dist/cjs/Treasury/Snapshot/funding.js.map +1 -1
- package/dist/cjs/User/Access/Permission.d.ts +2 -2
- package/dist/cjs/User/Identity.js +4 -2
- package/dist/cjs/User/Identity.js.map +1 -1
- package/dist/cjs/User/Password.js +8 -4
- package/dist/cjs/User/Password.js.map +1 -1
- package/dist/cjs/Warning/Base.d.ts +1 -1
- package/dist/cjs/Warning/Snapshot/MissingBuffer.js +2 -1
- package/dist/cjs/Warning/Snapshot/MissingBuffer.js.map +1 -1
- package/dist/cjs/Warning/Snapshot/StaleFiat.js +6 -3
- package/dist/cjs/Warning/Snapshot/StaleFiat.js.map +1 -1
- package/dist/cjs/fx.d.ts +1 -1
- package/dist/cjs/reports/visa/Data/Cards.js +6 -3
- package/dist/cjs/reports/visa/Data/Cards.js.map +1 -1
- package/dist/cjs/reports/visa/Data/Country.js +6 -3
- package/dist/cjs/reports/visa/Data/Country.js.map +1 -1
- package/dist/cjs/reports/visa/Data/Iin.d.ts +2 -2
- package/dist/cjs/reports/visa/Data/Monthly.d.ts +1 -1
- package/dist/cjs/reports/visa/Data/Monthly.js +2 -1
- package/dist/cjs/reports/visa/Data/Monthly.js.map +1 -1
- package/dist/cjs/reports/visa/Data/NonMonthly.js +8 -4
- package/dist/cjs/reports/visa/Data/NonMonthly.js.map +1 -1
- package/dist/cjs/reports/visa/Data/Region.d.ts +1 -1
- package/dist/cjs/reports/visa/Data/Region.js +16 -8
- package/dist/cjs/reports/visa/Data/Region.js.map +1 -1
- package/dist/cjs/reports/visa/Data/Regional.js +4 -2
- package/dist/cjs/reports/visa/Data/Regional.js.map +1 -1
- package/dist/cjs/reports/visa/Data/index.js +4 -2
- package/dist/cjs/reports/visa/Data/index.js.map +1 -1
- package/dist/cjs/reports/visa/index.js +10 -5
- package/dist/cjs/reports/visa/index.js.map +1 -1
- package/dist/cjs/reports/visa/rows.d.ts +2 -2
- package/dist/cjs/reports/visa/rows.js +2 -1
- package/dist/cjs/reports/visa/rows.js.map +1 -1
- package/dist/mjs/Account/Charge/Fx/index.js +2 -1
- package/dist/mjs/Account/Charge/Fx/index.js.map +1 -1
- package/dist/mjs/Account/Creatable.d.ts +1 -1
- package/dist/mjs/Account/History.d.ts +1 -1
- package/dist/mjs/Account/Status.d.ts +2 -2
- package/dist/mjs/Account/Type.d.ts +1 -1
- package/dist/mjs/Audit.d.ts +1 -1
- package/dist/mjs/Authorization/Status.d.ts +1 -1
- package/dist/mjs/Authorization/Status.js +10 -5
- package/dist/mjs/Authorization/Status.js.map +1 -1
- package/dist/mjs/Backup/Base.d.ts +1 -1
- package/dist/mjs/Balance.d.ts +2 -2
- package/dist/mjs/Balances.js +6 -3
- package/dist/mjs/Balances.js.map +1 -1
- package/dist/mjs/Card/Expiry.d.ts +2 -2
- package/dist/mjs/Card/Operation/Authorization.d.ts +1 -1
- package/dist/mjs/Card/Operation/Card.d.ts +1 -1
- package/dist/mjs/Card/Operation/index.js.map +1 -1
- package/dist/mjs/Card/Preset.d.ts +1 -1
- package/dist/mjs/Card/Restriction/Merchant.d.ts +1 -1
- package/dist/mjs/Card/Restriction/Merchant.js +10 -5
- package/dist/mjs/Card/Restriction/Merchant.js.map +1 -1
- package/dist/mjs/Card/Restriction/index.js +2 -1
- package/dist/mjs/Card/Restriction/index.js.map +1 -1
- package/dist/mjs/Card/Scheme.d.ts +1 -1
- package/dist/mjs/Card/Stack.d.ts +2 -2
- package/dist/mjs/Client/Labels.js.map +1 -1
- package/dist/mjs/Client/Operations.js.map +1 -1
- package/dist/mjs/Client/Transactions/index.js +2 -1
- package/dist/mjs/Client/Transactions/index.js.map +1 -1
- package/dist/mjs/Client/Treasury.d.ts +1 -0
- package/dist/mjs/Client/Treasury.js +3 -0
- package/dist/mjs/Client/Treasury.js.map +1 -1
- package/dist/mjs/Client/index.js +3 -2
- package/dist/mjs/Client/index.js.map +1 -1
- package/dist/mjs/Holidays/index.d.ts +1 -1
- package/dist/mjs/Label.d.ts +1 -1
- package/dist/mjs/Log/Message/Configuration.js.map +1 -1
- package/dist/mjs/Log/Message/Entry.js.map +1 -1
- package/dist/mjs/Log/Message/index.js +2 -1
- package/dist/mjs/Log/Message/index.js.map +1 -1
- package/dist/mjs/Log/index.js +4 -2
- package/dist/mjs/Log/index.js.map +1 -1
- package/dist/mjs/Operation/Change.d.ts +1 -1
- package/dist/mjs/Operation/Changes.d.ts +2 -2
- package/dist/mjs/Operation/Changes.js +8 -4
- package/dist/mjs/Operation/Changes.js.map +1 -1
- package/dist/mjs/Operation/Creatable.d.ts +1 -1
- package/dist/mjs/Operation/Status.d.ts +1 -1
- package/dist/mjs/Operation/index.js +2 -1
- package/dist/mjs/Operation/index.js.map +1 -1
- package/dist/mjs/Organization/Risk.d.ts +1 -1
- package/dist/mjs/Quarter.d.ts +1 -1
- package/dist/mjs/Rail/Address/index.d.ts +1 -1
- package/dist/mjs/Rail/index.d.ts +1 -1
- package/dist/mjs/Rule/Base.d.ts +2 -2
- package/dist/mjs/Rule/Other.d.ts +1 -1
- package/dist/mjs/Rule/Other.js +4 -2
- package/dist/mjs/Rule/Other.js.map +1 -1
- package/dist/mjs/Rule/State/Authorization.js.map +1 -1
- package/dist/mjs/Rule/State/Card.js +4 -2
- package/dist/mjs/Rule/State/Card.js.map +1 -1
- package/dist/mjs/Rule/State/index.d.ts +1 -1
- package/dist/mjs/Rule/index.d.ts +1 -1
- package/dist/mjs/Settlement/Entry/fromCreatable.js +10 -5
- package/dist/mjs/Settlement/Entry/fromCreatable.js.map +1 -1
- package/dist/mjs/Settlement/Status.d.ts +1 -1
- package/dist/mjs/Settlement/Total.js +4 -2
- package/dist/mjs/Settlement/Total.js.map +1 -1
- package/dist/mjs/Settlement/Totals.js +4 -2
- package/dist/mjs/Settlement/Totals.js.map +1 -1
- package/dist/mjs/Supplier/index.d.ts +1 -1
- package/dist/mjs/Supplier/index.js.map +1 -1
- package/dist/mjs/Transaction/Statistics.d.ts +2 -2
- package/dist/mjs/Transaction/Statistics.js +2 -1
- package/dist/mjs/Transaction/Statistics.js.map +1 -1
- package/dist/mjs/Transaction/Status.d.ts +3 -3
- package/dist/mjs/Transaction/index.d.ts +2 -2
- package/dist/mjs/Transaction/index.js +10 -5
- package/dist/mjs/Transaction/index.js.map +1 -1
- package/dist/mjs/Treasury/Account/Category.d.ts +1 -1
- package/dist/mjs/Treasury/Snapshot/funding.js +8 -4
- package/dist/mjs/Treasury/Snapshot/funding.js.map +1 -1
- package/dist/mjs/User/Access/Permission.d.ts +2 -2
- package/dist/mjs/User/Identity.js +4 -2
- package/dist/mjs/User/Identity.js.map +1 -1
- package/dist/mjs/User/Password.js +8 -4
- package/dist/mjs/User/Password.js.map +1 -1
- package/dist/mjs/Warning/Base.d.ts +1 -1
- package/dist/mjs/Warning/Snapshot/MissingBuffer.js +2 -1
- package/dist/mjs/Warning/Snapshot/MissingBuffer.js.map +1 -1
- package/dist/mjs/Warning/Snapshot/StaleFiat.js +6 -3
- package/dist/mjs/Warning/Snapshot/StaleFiat.js.map +1 -1
- package/dist/mjs/fx.d.ts +1 -1
- package/dist/mjs/reports/visa/Data/Cards.js +6 -3
- package/dist/mjs/reports/visa/Data/Cards.js.map +1 -1
- package/dist/mjs/reports/visa/Data/Country.js +6 -3
- package/dist/mjs/reports/visa/Data/Country.js.map +1 -1
- package/dist/mjs/reports/visa/Data/Iin.d.ts +2 -2
- package/dist/mjs/reports/visa/Data/Monthly.d.ts +1 -1
- package/dist/mjs/reports/visa/Data/Monthly.js +2 -1
- package/dist/mjs/reports/visa/Data/Monthly.js.map +1 -1
- package/dist/mjs/reports/visa/Data/NonMonthly.js +8 -4
- package/dist/mjs/reports/visa/Data/NonMonthly.js.map +1 -1
- package/dist/mjs/reports/visa/Data/Region.d.ts +1 -1
- package/dist/mjs/reports/visa/Data/Region.js +16 -8
- package/dist/mjs/reports/visa/Data/Region.js.map +1 -1
- package/dist/mjs/reports/visa/Data/Regional.js +4 -2
- package/dist/mjs/reports/visa/Data/Regional.js.map +1 -1
- package/dist/mjs/reports/visa/Data/index.js +4 -2
- package/dist/mjs/reports/visa/Data/index.js.map +1 -1
- package/dist/mjs/reports/visa/index.js +10 -5
- package/dist/mjs/reports/visa/index.js.map +1 -1
- package/dist/mjs/reports/visa/rows.d.ts +2 -2
- package/dist/mjs/reports/visa/rows.js +2 -1
- package/dist/mjs/reports/visa/rows.js.map +1 -1
- package/fx.ts +1 -1
- package/package.json +10 -9
- package/reports/visa/Data/Cards.ts +6 -3
- package/reports/visa/Data/Country.ts +6 -3
- package/reports/visa/Data/Iin.ts +2 -2
- package/reports/visa/Data/Monthly.ts +3 -2
- package/reports/visa/Data/NonMonthly.ts +8 -4
- package/reports/visa/Data/Region.ts +11 -9
- package/reports/visa/Data/Regional.ts +4 -2
- package/reports/visa/Data/index.ts +3 -2
- package/reports/visa/index.ts +8 -6
- 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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,MAAM,KAAW,IAAI,
|
|
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.
|
|
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.
|
|
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": "
|
|
51
|
-
"eslint": "^8.57.
|
|
52
|
-
"eslint-
|
|
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
|
-
"
|
|
55
|
-
"rimraf": "^6.
|
|
56
|
-
"typescript": "^5.
|
|
57
|
-
"vitest": "
|
|
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
|
}
|
package/reports/visa/Data/Iin.ts
CHANGED
|
@@ -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
|
}
|
package/reports/visa/index.ts
CHANGED
|
@@ -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
|
-
|
|
31
|
-
|
|
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
|
package/reports/visa/rows.ts
CHANGED
|
@@ -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 {
|