@pax2pay/model-banking 0.1.265 → 0.1.266

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.
@@ -5,7 +5,7 @@ import { Amount } from "./Amount"
5
5
  export interface Total {
6
6
  expected: Amount
7
7
  outcome?: Amount
8
- collected?: Amount & { transactions: { net: string; fee: string } }
8
+ collected?: { transactions: { net: string; fee: string } }
9
9
  settled?: Total.Settled
10
10
  }
11
11
  export namespace Total {
@@ -17,8 +17,8 @@ export namespace Total {
17
17
  export const type = isly.object<Total>({
18
18
  expected: Amount.type,
19
19
  outcome: Amount.type.optional(),
20
- collected: Amount.type
21
- .extend<Required<Total>["collected"]>({
20
+ collected: isly
21
+ .object<Required<Total>["collected"]>({
22
22
  transactions: isly.object<Required<Total>["collected"]["transactions"]>({
23
23
  net: isly.string(),
24
24
  fee: isly.string(),
@@ -30,17 +30,14 @@ export namespace Total {
30
30
  export function create(): Total {
31
31
  return { expected: { net: 0, fee: { other: 0 } } }
32
32
  }
33
- export function verify(total: Total, type: "outcome" | "collected" | "settled"): boolean {
33
+ export function verify(total: Total, type: "outcome" | "settled"): boolean {
34
34
  let result: boolean
35
35
  switch (type) {
36
36
  case "outcome":
37
37
  result = total.outcome?.net == total.expected.net && total.outcome.fee.other == total.expected.fee.other
38
38
  break
39
- case "collected":
40
- result = total.collected?.net == total.outcome?.net && total.collected?.fee.other == total.outcome?.fee.other
41
- break
42
39
  case "settled":
43
- result = total.settled?.net == total.collected?.net
40
+ result = total.settled?.net == total.expected.net
44
41
  break
45
42
  }
46
43
  return result
@@ -52,7 +49,6 @@ export namespace Total {
52
49
  result.outcome = Amount.add(currency, result.outcome ?? { net: 0, fee: { other: 0 } }, addend.outcome ?? {})
53
50
  if (result.collected || addend.collected)
54
51
  result.collected = {
55
- ...Amount.add(currency, result.collected ?? { net: 0, fee: { other: 0 } }, addend.collected ?? {}),
56
52
  transactions: {
57
53
  net: addend.collected?.transactions.net ?? result.collected?.transactions.net ?? "",
58
54
  fee: addend.collected?.transactions.fee ?? result.collected?.transactions.fee ?? "",
@@ -65,18 +61,4 @@ export namespace Total {
65
61
  }
66
62
  return result
67
63
  }
68
- export function collect(
69
- currency: isoly.Currency,
70
- total: Total,
71
- collected: Amount,
72
- transactions: { net: string; fee: string }
73
- ): Total {
74
- const result = { ...total }
75
- if (result.collected) {
76
- result.collected.net = isoly.Currency.add(currency, result.collected.net, collected.net)
77
- result.collected.fee.other = isoly.Currency.add(currency, result.collected.fee.other, collected.fee.other)
78
- } else
79
- result.collected = { ...collected, transactions }
80
- return result
81
- }
82
64
  }
@@ -1,7 +1,5 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
- import type { Collect } from "../Transaction/Collect"
4
- import { Amount } from "./Amount"
5
3
  import { Entry } from "./Entry"
6
4
  import { Total } from "./Total"
7
5
 
@@ -21,7 +19,7 @@ export namespace Totals {
21
19
  }
22
20
  return result
23
21
  }
24
- export function verify(totals: Totals, type: "outcome" | "collected" | "settled"): boolean {
22
+ export function verify(totals: Totals, type: "outcome" | "settled"): boolean {
25
23
  return Object.values(totals).every(t => Total.verify(t, type))
26
24
  }
27
25
  export function add(addendee: Totals, addends: Partial<Record<isoly.Currency, Partial<Total>>>): Totals {
@@ -31,24 +29,4 @@ export namespace Totals {
31
29
  }
32
30
  return result
33
31
  }
34
- // TODO: update this for new collection method
35
- export function collect(totals: Totals, collect: Collect): Totals {
36
- const result: Totals = { ...totals }
37
- for (const [currency, counterbalance] of Object.entries(collect.counterbalances)) {
38
- const collected: Amount = { net: 0, fee: { other: 0 } }
39
- for (const [entry, amount] of Object.entries(counterbalance)) {
40
- if (entry.startsWith("fee"))
41
- collected.fee.other = isoly.Currency.add(currency as isoly.Currency, collected.fee.other, amount ?? 0)
42
- else if (entry.startsWith("settle"))
43
- collected.net = isoly.Currency.add(currency as isoly.Currency, collected.net, amount ?? 0)
44
- }
45
- result[currency as isoly.Currency] = Total.collect(
46
- currency as isoly.Currency,
47
- result[currency as isoly.Currency] ?? Total.create(),
48
- collected,
49
- { net: "", fee: "" }
50
- )
51
- }
52
- return result
53
- }
54
32
  }
@@ -4,7 +4,7 @@ import { Amount } from "./Amount";
4
4
  export interface Total {
5
5
  expected: Amount;
6
6
  outcome?: Amount;
7
- collected?: Amount & {
7
+ collected?: {
8
8
  transactions: {
9
9
  net: string;
10
10
  fee: string;
@@ -20,10 +20,6 @@ export declare namespace Total {
20
20
  const Settled: isly.object.ExtendableType<Settled>;
21
21
  const type: isly.object.ExtendableType<Total>;
22
22
  function create(): Total;
23
- function verify(total: Total, type: "outcome" | "collected" | "settled"): boolean;
23
+ function verify(total: Total, type: "outcome" | "settled"): boolean;
24
24
  function add(currency: isoly.Currency, addendee: Total, addend: Partial<Total>): Total;
25
- function collect(currency: isoly.Currency, total: Total, collected: Amount, transactions: {
26
- net: string;
27
- fee: string;
28
- }): Total;
29
25
  }
@@ -7,8 +7,8 @@ export var Total;
7
7
  Total.type = isly.object({
8
8
  expected: Amount.type,
9
9
  outcome: Amount.type.optional(),
10
- collected: Amount.type
11
- .extend({
10
+ collected: isly
11
+ .object({
12
12
  transactions: isly.object({
13
13
  net: isly.string(),
14
14
  fee: isly.string(),
@@ -27,11 +27,8 @@ export var Total;
27
27
  case "outcome":
28
28
  result = total.outcome?.net == total.expected.net && total.outcome.fee.other == total.expected.fee.other;
29
29
  break;
30
- case "collected":
31
- result = total.collected?.net == total.outcome?.net && total.collected?.fee.other == total.outcome?.fee.other;
32
- break;
33
30
  case "settled":
34
- result = total.settled?.net == total.collected?.net;
31
+ result = total.settled?.net == total.expected.net;
35
32
  break;
36
33
  }
37
34
  return result;
@@ -44,7 +41,6 @@ export var Total;
44
41
  result.outcome = Amount.add(currency, result.outcome ?? { net: 0, fee: { other: 0 } }, addend.outcome ?? {});
45
42
  if (result.collected || addend.collected)
46
43
  result.collected = {
47
- ...Amount.add(currency, result.collected ?? { net: 0, fee: { other: 0 } }, addend.collected ?? {}),
48
44
  transactions: {
49
45
  net: addend.collected?.transactions.net ?? result.collected?.transactions.net ?? "",
50
46
  fee: addend.collected?.transactions.fee ?? result.collected?.transactions.fee ?? "",
@@ -58,16 +54,5 @@ export var Total;
58
54
  return result;
59
55
  }
60
56
  Total.add = add;
61
- function collect(currency, total, collected, transactions) {
62
- const result = { ...total };
63
- if (result.collected) {
64
- result.collected.net = isoly.Currency.add(currency, result.collected.net, collected.net);
65
- result.collected.fee.other = isoly.Currency.add(currency, result.collected.fee.other, collected.fee.other);
66
- }
67
- else
68
- result.collected = { ...collected, transactions };
69
- return result;
70
- }
71
- Total.collect = collect;
72
57
  })(Total || (Total = {}));
73
58
  //# sourceMappingURL=Total.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Total.js","sourceRoot":"../","sources":["Settlement/Total.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Total.js","sourceRoot":"../","sources":["Settlement/Total.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAQjC,MAAM,KAAW,KAAK,CAqDrB;AArDD,WAAiB,KAAK;IAKR,aAAO,GAAG,IAAI,CAAC,MAAM,CAAU,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC3F,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ;QACtC,QAAQ,EAAE,MAAM,CAAC,IAAI;QACrB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,IAAI;aACb,MAAM,CAA+B;YACrC,YAAY,EAAE,IAAI,CAAC,MAAM,CAA+C;gBACvE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;gBAClB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;aAClB,CAAC;SACF,CAAC;aACD,QAAQ,EAAE;QACZ,OAAO,EAAE,MAAA,OAAO,CAAC,QAAQ,EAAE;KAC3B,CAAC,CAAA;IACF,SAAgB,MAAM;QACrB,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;IACnD,CAAC;IAFe,YAAM,SAErB,CAAA;IACD,SAAgB,MAAM,CAAC,KAAY,EAAE,IAA2B;QAC/D,IAAI,MAAe,CAAA;QACnB,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,SAAS;gBACb,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAA;gBACxG,MAAK;YACN,KAAK,SAAS;gBACb,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;gBACjD,MAAK;QACP,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAXe,YAAM,SAWrB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAwB,EAAE,QAAe,EAAE,MAAsB;QACpF,MAAM,MAAM,GAAU,EAAE,GAAG,QAAQ,EAAE,CAAA;QACrC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC7F,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;YACnC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC7G,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;YACvC,MAAM,CAAC,SAAS,GAAG;gBAClB,YAAY,EAAE;oBACb,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAI,EAAE;oBACnF,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAI,EAAE;iBACnF;aACD,CAAA;QACF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;YACnC,MAAM,CAAC,OAAO,GAAG;gBAChB,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;gBACrF,YAAY,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;aAC7F,CAAA;QACF,OAAO,MAAM,CAAA;IACd,CAAC;IAlBe,SAAG,MAkBlB,CAAA;AACF,CAAC,EArDgB,KAAK,KAAL,KAAK,QAqDrB"}
@@ -1,13 +1,11 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
- import type { Collect } from "../Transaction/Collect";
4
3
  import { Entry } from "./Entry";
5
4
  import { Total } from "./Total";
6
5
  export type Totals = Partial<Record<isoly.Currency, Total>>;
7
6
  export declare namespace Totals {
8
7
  const type: isly.Type<Record<"BTN" | "CHE" | "MKD" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL", Total>>;
9
8
  function addEntry(totals: Totals, entry: Entry): Totals;
10
- function verify(totals: Totals, type: "outcome" | "collected" | "settled"): boolean;
9
+ function verify(totals: Totals, type: "outcome" | "settled"): boolean;
11
10
  function add(addendee: Totals, addends: Partial<Record<isoly.Currency, Partial<Total>>>): Totals;
12
- function collect(totals: Totals, collect: Collect): Totals;
13
11
  }
@@ -29,20 +29,5 @@ export var Totals;
29
29
  return result;
30
30
  }
31
31
  Totals.add = add;
32
- function collect(totals, collect) {
33
- const result = { ...totals };
34
- for (const [currency, counterbalance] of Object.entries(collect.counterbalances)) {
35
- const collected = { net: 0, fee: { other: 0 } };
36
- for (const [entry, amount] of Object.entries(counterbalance)) {
37
- if (entry.startsWith("fee"))
38
- collected.fee.other = isoly.Currency.add(currency, collected.fee.other, amount ?? 0);
39
- else if (entry.startsWith("settle"))
40
- collected.net = isoly.Currency.add(currency, collected.net, amount ?? 0);
41
- }
42
- result[currency] = Total.collect(currency, result[currency] ?? Total.create(), collected, { net: "", fee: "" });
43
- }
44
- return result;
45
- }
46
- Totals.collect = collect;
47
32
  })(Totals || (Totals = {}));
48
33
  //# sourceMappingURL=Totals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Totals.js","sourceRoot":"../","sources":["Settlement/Totals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Totals.js","sourceRoot":"../","sources":["Settlement/Totals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/B,MAAM,KAAW,MAAM,CAyBtB;AAzBD,WAAiB,MAAM;IACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACrG,SAAgB,QAAQ,CAAC,MAAc,EAAE,KAAY;QACpD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;QAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;YACxF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;gBAC/F,OAAO,EAAE;oBACR,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAEpB,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;iBACrD;aACD,CAAC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAZe,eAAQ,WAYvB,CAAA;IACD,SAAgB,MAAM,CAAC,MAAc,EAAE,IAA2B;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;IAFe,aAAM,SAErB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAgB,EAAE,OAAwD;QAC7F,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC9B,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAuC,EAAE,CAAC;YAChG,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IANe,UAAG,MAMlB,CAAA;AACF,CAAC,EAzBgB,MAAM,KAAN,MAAM,QAyBtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.265",
3
+ "version": "0.1.266",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",