@pax2pay/model-banking 0.1.195 → 0.1.197

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 (33) hide show
  1. package/CounterBalances/Counterbalance.ts +12 -9
  2. package/Settlement/Batch.ts +2 -1
  3. package/Settlement/Entry/Cancel.ts +2 -0
  4. package/Settlement/Entry/Capture.ts +2 -0
  5. package/Settlement/Entry/Refund.ts +2 -0
  6. package/Settlement/Entry/Unknown.ts +5 -1
  7. package/Settlement/Entry/index.ts +9 -1
  8. package/dist/CounterBalances/Counterbalance.d.ts +10 -8
  9. package/dist/CounterBalances/Counterbalance.js +4 -5
  10. package/dist/CounterBalances/Counterbalance.js.map +1 -1
  11. package/dist/CounterBalances/index.d.ts +2 -2
  12. package/dist/Settlement/Batch.d.ts +1 -0
  13. package/dist/Settlement/Batch.js +2 -1
  14. package/dist/Settlement/Batch.js.map +1 -1
  15. package/dist/Settlement/Entry/Cancel.d.ts +1 -0
  16. package/dist/Settlement/Entry/Cancel.js +1 -0
  17. package/dist/Settlement/Entry/Cancel.js.map +1 -1
  18. package/dist/Settlement/Entry/Capture.d.ts +1 -0
  19. package/dist/Settlement/Entry/Capture.js +1 -0
  20. package/dist/Settlement/Entry/Capture.js.map +1 -1
  21. package/dist/Settlement/Entry/Refund.d.ts +1 -0
  22. package/dist/Settlement/Entry/Refund.js +1 -0
  23. package/dist/Settlement/Entry/Refund.js.map +1 -1
  24. package/dist/Settlement/Entry/Unknown.d.ts +1 -0
  25. package/dist/Settlement/Entry/Unknown.js +4 -1
  26. package/dist/Settlement/Entry/Unknown.js.map +1 -1
  27. package/dist/Settlement/Entry/index.js +10 -1
  28. package/dist/Settlement/Entry/index.js.map +1 -1
  29. package/package.json +1 -1
  30. package/CounterBalances/SettlementEntry.ts +0 -8
  31. package/dist/CounterBalances/SettlementEntry.d.ts +0 -6
  32. package/dist/CounterBalances/SettlementEntry.js +0 -7
  33. package/dist/CounterBalances/SettlementEntry.js.map +0 -1
@@ -1,28 +1,31 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
+ import { Card } from "../Card"
4
+ import { Batch } from "../Settlement/Batch"
3
5
  import { Supplier } from "../Supplier"
4
- import { SettlementEntry as counterSettlementEntry } from "./SettlementEntry"
5
6
 
6
- export type Counterbalance = Partial<Record<Counterbalance.Entry, number>> &
7
- Partial<Record<Counterbalance.SettlementEntry, number>>
7
+ export type Counterbalance = Partial<Record<Counterbalance.Entry, number>>
8
8
 
9
9
  export namespace Counterbalance {
10
- export type Entry = typeof Entry.values[number]
11
- export type SettlementEntry = counterSettlementEntry
10
+ export type Entry = Entry.Internal | Entry.Settlement
12
11
  export namespace Entry {
12
+ export type Internal = typeof Entry.values[number]
13
+ export type Settlement = `${"fee" | "settle"}_${Card.Stack}_${Batch}`
13
14
  export const values = [
14
15
  ...Supplier.names.flatMap(s => [`incoming_${s}`, `outgoing_${s}`] as const),
15
16
  `incoming_internal`,
16
17
  `outgoing_internal`,
17
18
  "fee_other",
18
19
  ] as const
19
- export const type = isly.string(Entry.values)
20
+ const valueType = isly.string(values)
21
+ export const type = isly.union<Entry, Internal, Settlement>(
22
+ valueType,
23
+ isly.string<Settlement>(new RegExp(/^(?:settle|fee)_(\w+-)+\w+_/.source + Batch.regexp.source))
24
+ )
20
25
  export const is = type.is
21
26
  export const flaw = type.flaw
22
27
  }
23
- export const type = isly
24
- .record<Counterbalance>(isly.union(Entry.type, counterSettlementEntry.type), isly.number())
25
- .optional()
28
+ export const type = isly.record<Counterbalance>(Entry.type, isly.number()).optional()
26
29
  export const is = type.is
27
30
  export const flaw = type.flaw
28
31
  export function add(addendee: Counterbalance, addend: Counterbalance, currency: isoly.Currency): Counterbalance {
@@ -2,6 +2,7 @@ import { isly } from "isly"
2
2
 
3
3
  export type Batch = string
4
4
  export namespace Batch {
5
- export const type = isly.string<Batch>(/^20\d\d(?:[0-2]\d\d|3[0-6]\d)0[1-6]$/)
5
+ export const regexp = new RegExp(/20\d\d(?:[0-2]\d\d|3[0-6]\d)0[1-6]$/)
6
+ export const type = isly.string<Batch>(regexp)
6
7
  export const is = type.is
7
8
  }
@@ -6,6 +6,7 @@ import { Fee } from "../Fee"
6
6
 
7
7
  export interface Cancel extends Cancel.Creatable {
8
8
  status: "succeeded" | "failed"
9
+ reason?: string
9
10
  }
10
11
 
11
12
  export namespace Cancel {
@@ -31,6 +32,7 @@ export namespace Cancel {
31
32
  }
32
33
  export const type = Creatable.type.extend<Cancel>({
33
34
  status: isly.string(["succeeded", "failed"]),
35
+ reason: isly.string().optional(),
34
36
  })
35
37
  export const is = type.is
36
38
  export const flaw = type.flaw
@@ -6,6 +6,7 @@ import { Fee } from "../Fee"
6
6
 
7
7
  export interface Capture extends Capture.Creatable {
8
8
  status: "succeeded" | "failed"
9
+ reason?: string
9
10
  }
10
11
 
11
12
  export namespace Capture {
@@ -31,6 +32,7 @@ export namespace Capture {
31
32
  }
32
33
  export const type = Creatable.type.extend<Capture>({
33
34
  status: isly.string(["succeeded", "failed"]),
35
+ reason: isly.string().optional(),
34
36
  })
35
37
  export const is = type.is
36
38
  export const flaw = type.flaw
@@ -6,6 +6,7 @@ import { Fee } from "../Fee"
6
6
 
7
7
  export interface Refund extends Refund.Creatable {
8
8
  status: "succeeded" | "failed"
9
+ reason?: string
9
10
  }
10
11
 
11
12
  export namespace Refund {
@@ -31,6 +32,7 @@ export namespace Refund {
31
32
  }
32
33
  export const type = Creatable.type.extend<Refund>({
33
34
  status: isly.string(["succeeded", "failed"]),
35
+ reason: isly.string().optional(),
34
36
  })
35
37
  export const is = type.is
36
38
  export const flaw = type.flaw
@@ -4,6 +4,7 @@ import { Batch } from "../Batch"
4
4
 
5
5
  export interface Unknown extends Unknown.Creatable {
6
6
  status: "succeeded" | "failed"
7
+ reason?: string
7
8
  }
8
9
 
9
10
  export namespace Unknown {
@@ -26,7 +27,10 @@ export namespace Unknown {
26
27
  export function from(creatable: Creatable): Unknown {
27
28
  return { ...creatable, status: "failed" }
28
29
  }
29
- export const type = Creatable.type.extend<Unknown>({ status: isly.string(["succeeded", "failed"]) })
30
+ export const type = Creatable.type.extend<Unknown>({
31
+ status: isly.string(["succeeded", "failed"]),
32
+ reason: isly.string().optional(),
33
+ })
30
34
  export const is = type.is
31
35
  export const flaw = type.flaw
32
36
  }
@@ -43,16 +43,24 @@ export namespace Entry {
43
43
  : Total.initiate({ amount: Amount.toAmounts(entry.amount), fee: entry.fee })
44
44
  }
45
45
  export function from(creatable: Entry.Creatable, transaction?: Transaction | gracely.Error): Entry {
46
- return Transaction.is(transaction) && creatable.authorization
46
+ return Transaction.is(transaction) && transaction.status == "finalized" && creatable.authorization
47
47
  ? {
48
48
  status: "succeeded",
49
49
  ...creatable,
50
50
  }
51
51
  : {
52
52
  status: "failed",
53
+ reason: reason(creatable, transaction),
53
54
  ...creatable,
54
55
  }
55
56
  }
57
+ function reason(creatable: Entry.Creatable, transaction?: Transaction | gracely.Error): string {
58
+ const result = []
59
+ !creatable.authorization && result.push("Missing authorization.")
60
+ !transaction && result.push("Missing transaction.")
61
+ gracely.Error.is(transaction) && result.push(`${transaction.status}: ${transaction.type}`)
62
+ return result.join("\n")
63
+ }
56
64
  export const type = isly.union<Entry, Entry.Cancel, Entry.Capture, Entry.Refund, Entry.Unknown>(
57
65
  Entry.Cancel.type,
58
66
  Entry.Capture.type,
@@ -1,18 +1,20 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
- import { SettlementEntry as counterSettlementEntry } from "./SettlementEntry";
4
- export type Counterbalance = Partial<Record<Counterbalance.Entry, number>> & Partial<Record<Counterbalance.SettlementEntry, number>>;
3
+ import { Card } from "../Card";
4
+ import { Batch } from "../Settlement/Batch";
5
+ export type Counterbalance = Partial<Record<Counterbalance.Entry, number>>;
5
6
  export declare namespace Counterbalance {
6
- type Entry = typeof Entry.values[number];
7
- type SettlementEntry = counterSettlementEntry;
7
+ type Entry = Entry.Internal | Entry.Settlement;
8
8
  namespace Entry {
9
+ type Internal = typeof Entry.values[number];
10
+ type Settlement = `${"fee" | "settle"}_${Card.Stack}_${Batch}`;
9
11
  const values: readonly [...("incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank")[], "incoming_internal", "outgoing_internal", "fee_other"];
10
- const type: isly.Type<"incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other">;
11
- const is: isly.Type.IsFunction<"incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other">;
12
+ const type: isly.Type<Entry>;
13
+ const is: isly.Type.IsFunction<Entry>;
12
14
  const flaw: isly.Type.FlawFunction;
13
15
  }
14
- const type: isly.Type<Counterbalance | undefined>;
15
- const is: isly.Type.IsFunction<Counterbalance | undefined>;
16
+ const type: isly.Type<Partial<Record<Entry, number>> | undefined>;
17
+ const is: isly.Type.IsFunction<Partial<Record<Entry, number>> | undefined>;
16
18
  const flaw: isly.Type.FlawFunction;
17
19
  function add(addendee: Counterbalance, addend: Counterbalance, currency: isoly.Currency): Counterbalance;
18
20
  }
@@ -1,7 +1,7 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
+ import { Batch } from "../Settlement/Batch";
3
4
  import { Supplier } from "../Supplier";
4
- import { SettlementEntry as counterSettlementEntry } from "./SettlementEntry";
5
5
  export var Counterbalance;
6
6
  (function (Counterbalance) {
7
7
  let Entry;
@@ -12,13 +12,12 @@ export var Counterbalance;
12
12
  `outgoing_internal`,
13
13
  "fee_other",
14
14
  ];
15
- Entry.type = isly.string(Entry.values);
15
+ const valueType = isly.string(Entry.values);
16
+ Entry.type = isly.union(valueType, isly.string(new RegExp(/^(?:settle|fee)_(\w+-)+\w+_/.source + Batch.regexp.source)));
16
17
  Entry.is = Entry.type.is;
17
18
  Entry.flaw = Entry.type.flaw;
18
19
  })(Entry = Counterbalance.Entry || (Counterbalance.Entry = {}));
19
- Counterbalance.type = isly
20
- .record(isly.union(Entry.type, counterSettlementEntry.type), isly.number())
21
- .optional();
20
+ Counterbalance.type = isly.record(Entry.type, isly.number()).optional();
22
21
  Counterbalance.is = Counterbalance.type.is;
23
22
  Counterbalance.flaw = Counterbalance.type.flaw;
24
23
  function add(addendee, addend, currency) {
@@ -1 +1 @@
1
- {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["CounterBalances/Counterbalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAK7E,MAAM,KAAW,cAAc,CA4B9B;AA5BD,WAAiB,cAAc;IAG9B,IAAiB,KAAK,CAUrB;IAVD,WAAiB,KAAK;QACR,YAAM,GAAG;YACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAU,CAAC;YAC3E,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;SACF,CAAA;QACG,UAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;QACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAVgB,KAAK,GAAL,oBAAK,KAAL,oBAAK,QAUrB;IACY,mBAAI,GAAG,IAAI;SACtB,MAAM,CAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC1F,QAAQ,EAAE,CAAA;IACC,iBAAE,GAAG,eAAA,IAAI,CAAC,EAAE,CAAA;IACZ,mBAAI,GAAG,eAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAAsB,EAAE,QAAwB;QAC7F,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,MAAM,CAC1D,CAAC,CAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC;YACJ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACnE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,kBAAG,MAQlB,CAAA;AACF,CAAC,EA5BgB,cAAc,KAAd,cAAc,QA4B9B"}
1
+ {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["CounterBalances/Counterbalance.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,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAItC,MAAM,KAAW,cAAc,CA+B9B;AA/BD,WAAiB,cAAc;IAE9B,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAGR,YAAM,GAAG;YACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAU,CAAC;YAC3E,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;SACF,CAAA;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;QACxB,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,SAAS,EACT,IAAI,CAAC,MAAM,CAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC/F,CAAA;QACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;QACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAhBgB,KAAK,GAAL,oBAAK,KAAL,oBAAK,QAgBrB;IACY,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,iBAAE,GAAG,eAAA,IAAI,CAAC,EAAE,CAAA;IACZ,mBAAI,GAAG,eAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAAsB,EAAE,QAAwB;QAC7F,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,MAAM,CAC1D,CAAC,CAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC;YACJ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACnE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,kBAAG,MAQlB,CAAA;AACF,CAAC,EA/BgB,cAAc,KAAd,cAAc,QA+B9B"}
@@ -8,8 +8,8 @@ export declare namespace Counterbalances {
8
8
  namespace Counterbalance {
9
9
  type Entry = CounterbalancesCounterBalance.Entry;
10
10
  }
11
- const type: isly.Type<Partial<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", CounterbalancesCounterBalance>>>;
12
- const is: isly.Type.IsFunction<Partial<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", CounterbalancesCounterBalance>>>;
11
+ const type: isly.Type<Partial<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", Partial<Record<CounterbalancesCounterBalance.Entry, number>>>>>;
12
+ const is: isly.Type.IsFunction<Partial<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", Partial<Record<CounterbalancesCounterBalance.Entry, number>>>>>;
13
13
  const flaw: isly.Type.FlawFunction;
14
14
  function add(addendee: Counterbalances, addend: Counterbalances): Counterbalances;
15
15
  }
@@ -1,6 +1,7 @@
1
1
  import { isly } from "isly";
2
2
  export type Batch = string;
3
3
  export declare namespace Batch {
4
+ const regexp: RegExp;
4
5
  const type: isly.Type<string>;
5
6
  const is: isly.Type.IsFunction<string>;
6
7
  }
@@ -1,7 +1,8 @@
1
1
  import { isly } from "isly";
2
2
  export var Batch;
3
3
  (function (Batch) {
4
- Batch.type = isly.string(/^20\d\d(?:[0-2]\d\d|3[0-6]\d)0[1-6]$/);
4
+ Batch.regexp = new RegExp(/20\d\d(?:[0-2]\d\d|3[0-6]\d)0[1-6]$/);
5
+ Batch.type = isly.string(Batch.regexp);
5
6
  Batch.is = Batch.type.is;
6
7
  })(Batch || (Batch = {}));
7
8
  //# sourceMappingURL=Batch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Batch.js","sourceRoot":"../","sources":["Settlement/Batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,MAAM,KAAW,KAAK,CAGrB;AAHD,WAAiB,KAAK;IACR,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ,sCAAsC,CAAC,CAAA;IACjE,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAHgB,KAAK,KAAL,KAAK,QAGrB"}
1
+ {"version":3,"file":"Batch.js","sourceRoot":"../","sources":["Settlement/Batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,MAAM,KAAW,KAAK,CAIrB;AAJD,WAAiB,KAAK;IACR,YAAM,GAAG,IAAI,MAAM,CAAC,qCAAqC,CAAC,CAAA;IAC1D,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ,MAAA,MAAM,CAAC,CAAA;IACjC,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAJgB,KAAK,KAAL,KAAK,QAIrB"}
@@ -5,6 +5,7 @@ import { Batch } from "../Batch";
5
5
  import { Fee } from "../Fee";
6
6
  export interface Cancel extends Cancel.Creatable {
7
7
  status: "succeeded" | "failed";
8
+ reason?: string;
8
9
  }
9
10
  export declare namespace Cancel {
10
11
  interface Creatable {
@@ -20,6 +20,7 @@ export var Cancel;
20
20
  })(Creatable = Cancel.Creatable || (Cancel.Creatable = {}));
21
21
  Cancel.type = Creatable.type.extend({
22
22
  status: isly.string(["succeeded", "failed"]),
23
+ reason: isly.string().optional(),
23
24
  });
24
25
  Cancel.is = Cancel.type.is;
25
26
  Cancel.flaw = Cancel.type.flaw;
@@ -1 +1 @@
1
- {"version":3,"file":"Cancel.js","sourceRoot":"../","sources":["Settlement/Entry/Cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAM5B,MAAM,KAAW,MAAM,CA0BtB;AA1BD,WAAiB,MAAM;IAStB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;QACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAXgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAWzB;IACY,WAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAS;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC5C,CAAC,CAAA;IACW,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA1BgB,MAAM,KAAN,MAAM,QA0BtB"}
1
+ {"version":3,"file":"Cancel.js","sourceRoot":"../","sources":["Settlement/Entry/Cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAO5B,MAAM,KAAW,MAAM,CA2BtB;AA3BD,WAAiB,MAAM;IAStB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;QACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAXgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAWzB;IACY,WAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAS;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAA;IACW,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA3BgB,MAAM,KAAN,MAAM,QA2BtB"}
@@ -5,6 +5,7 @@ import { Batch } from "../Batch";
5
5
  import { Fee } from "../Fee";
6
6
  export interface Capture extends Capture.Creatable {
7
7
  status: "succeeded" | "failed";
8
+ reason?: string;
8
9
  }
9
10
  export declare namespace Capture {
10
11
  interface Creatable {
@@ -20,6 +20,7 @@ export var Capture;
20
20
  })(Creatable = Capture.Creatable || (Capture.Creatable = {}));
21
21
  Capture.type = Creatable.type.extend({
22
22
  status: isly.string(["succeeded", "failed"]),
23
+ reason: isly.string().optional(),
23
24
  });
24
25
  Capture.is = Capture.type.is;
25
26
  Capture.flaw = Capture.type.flaw;
@@ -1 +1 @@
1
- {"version":3,"file":"Capture.js","sourceRoot":"../","sources":["Settlement/Entry/Capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAM5B,MAAM,KAAW,OAAO,CA0BvB;AA1BD,WAAiB,OAAO;IASvB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5B,aAAa,EAAE,aAAa,CAAC,IAAI;YACjC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;QACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAXgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAWzB;IACY,YAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAU;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC5C,CAAC,CAAA;IACW,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA1BgB,OAAO,KAAP,OAAO,QA0BvB"}
1
+ {"version":3,"file":"Capture.js","sourceRoot":"../","sources":["Settlement/Entry/Capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAO5B,MAAM,KAAW,OAAO,CA2BvB;AA3BD,WAAiB,OAAO;IASvB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5B,aAAa,EAAE,aAAa,CAAC,IAAI;YACjC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;QACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAXgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAWzB;IACY,YAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAU;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAA;IACW,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA3BgB,OAAO,KAAP,OAAO,QA2BvB"}
@@ -5,6 +5,7 @@ import { Batch } from "../Batch";
5
5
  import { Fee } from "../Fee";
6
6
  export interface Refund extends Refund.Creatable {
7
7
  status: "succeeded" | "failed";
8
+ reason?: string;
8
9
  }
9
10
  export declare namespace Refund {
10
11
  interface Creatable {
@@ -20,6 +20,7 @@ export var Refund;
20
20
  })(Creatable = Refund.Creatable || (Refund.Creatable = {}));
21
21
  Refund.type = Creatable.type.extend({
22
22
  status: isly.string(["succeeded", "failed"]),
23
+ reason: isly.string().optional(),
23
24
  });
24
25
  Refund.is = Refund.type.is;
25
26
  Refund.flaw = Refund.type.flaw;
@@ -1 +1 @@
1
- {"version":3,"file":"Refund.js","sourceRoot":"../","sources":["Settlement/Entry/Refund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAM5B,MAAM,KAAW,MAAM,CA0BtB;AA1BD,WAAiB,MAAM;IAStB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;QACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAXgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAWzB;IACY,WAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAS;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC5C,CAAC,CAAA;IACW,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA1BgB,MAAM,KAAN,MAAM,QA0BtB"}
1
+ {"version":3,"file":"Refund.js","sourceRoot":"../","sources":["Settlement/Entry/Refund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAO5B,MAAM,KAAW,MAAM,CA2BtB;AA3BD,WAAiB,MAAM;IAStB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;QACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAXgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAWzB;IACY,WAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAS;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAA;IACW,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA3BgB,MAAM,KAAN,MAAM,QA2BtB"}
@@ -3,6 +3,7 @@ import { Authorization } from "../../Authorization";
3
3
  import { Batch } from "../Batch";
4
4
  export interface Unknown extends Unknown.Creatable {
5
5
  status: "succeeded" | "failed";
6
+ reason?: string;
6
7
  }
7
8
  export declare namespace Unknown {
8
9
  interface Creatable {
@@ -18,7 +18,10 @@ export var Unknown;
18
18
  return { ...creatable, status: "failed" };
19
19
  }
20
20
  Unknown.from = from;
21
- Unknown.type = Creatable.type.extend({ status: isly.string(["succeeded", "failed"]) });
21
+ Unknown.type = Creatable.type.extend({
22
+ status: isly.string(["succeeded", "failed"]),
23
+ reason: isly.string().optional(),
24
+ });
22
25
  Unknown.is = Unknown.type.is;
23
26
  Unknown.flaw = Unknown.type.flaw;
24
27
  })(Unknown || (Unknown = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"Unknown.js","sourceRoot":"../","sources":["Settlement/Entry/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAMhC,MAAM,KAAW,OAAO,CAuBvB;AAvBD,WAAiB,OAAO;IAOvB,IAAiB,SAAS,CASzB;IATD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACf,cAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACjC,CAAC,EATgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASzB;IACD,SAAgB,IAAI,CAAC,SAAoB;QACxC,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAFe,YAAI,OAEnB,CAAA;IACY,YAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACvF,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAvBgB,OAAO,KAAP,OAAO,QAuBvB"}
1
+ {"version":3,"file":"Unknown.js","sourceRoot":"../","sources":["Settlement/Entry/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAOhC,MAAM,KAAW,OAAO,CA0BvB;AA1BD,WAAiB,OAAO;IAOvB,IAAiB,SAAS,CASzB;IATD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC5C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;QACW,YAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACf,cAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACjC,CAAC,EATgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASzB;IACD,SAAgB,IAAI,CAAC,SAAoB;QACxC,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAFe,YAAI,OAEnB,CAAA;IACY,YAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAU;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAA;IACW,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA1BgB,OAAO,KAAP,OAAO,QA0BvB"}
@@ -1,3 +1,4 @@
1
+ import { gracely } from "gracely";
1
2
  import { isly } from "isly";
2
3
  import { Amount } from "../../Amount";
3
4
  import { Transaction } from "../../Transaction";
@@ -23,17 +24,25 @@ export var Entry;
23
24
  }
24
25
  Entry.compile = compile;
25
26
  function from(creatable, transaction) {
26
- return Transaction.is(transaction) && creatable.authorization
27
+ return Transaction.is(transaction) && transaction.status == "finalized" && creatable.authorization
27
28
  ? {
28
29
  status: "succeeded",
29
30
  ...creatable,
30
31
  }
31
32
  : {
32
33
  status: "failed",
34
+ reason: reason(creatable, transaction),
33
35
  ...creatable,
34
36
  };
35
37
  }
36
38
  Entry.from = from;
39
+ function reason(creatable, transaction) {
40
+ const result = [];
41
+ !creatable.authorization && result.push("Missing authorization.");
42
+ !transaction && result.push("Missing transaction.");
43
+ gracely.Error.is(transaction) && result.push(`${transaction.status}: ${transaction.type}`);
44
+ return result.join("\n");
45
+ }
37
46
  Entry.type = isly.union(Entry.Cancel.type, Entry.Capture.type, Entry.Refund.type, Entry.Unknown.type);
38
47
  Entry.is = Entry.type.is;
39
48
  Entry.flaw = Entry.type.flaw;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Settlement/Entry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AAInD,MAAM,KAAW,KAAK,CAiDrB;AAjDD,WAAiB,KAAK;IAER,YAAM,GAAG,WAAW,CAAA;IAKpB,aAAO,GAAG,YAAY,CAAA;IAKtB,YAAM,GAAG,WAAW,CAAA;IAKpB,aAAO,GAAG,YAAY,CAAA;IAKtB,aAAO,GAAG,YAAY,CAAA;IAEtB,eAAS,GAAG,cAAc,CAAA;IACvC,SAAgB,OAAO,CAAC,KAAY;QACnC,OAAO,KAAK,CAAC,IAAI,IAAI,SAAS;YAC7B,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;YAClB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9E,CAAC;IAJe,aAAO,UAItB,CAAA;IACD,SAAgB,IAAI,CAAC,SAA0B,EAAE,WAAyC;QACzF,OAAO,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,aAAa;YAC5D,CAAC,CAAC;gBACA,MAAM,EAAE,WAAW;gBACnB,GAAG,SAAS;aACX;YACH,CAAC,CAAC;gBACA,MAAM,EAAE,QAAQ;gBAChB,GAAG,SAAS;aACX,CAAA;IACL,CAAC;IAVe,UAAI,OAUnB,CAAA;IACY,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,EACjB,KAAK,CAAC,OAAO,CAAC,IAAI,EAClB,KAAK,CAAC,MAAM,CAAC,IAAI,EACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAClB,CAAA;IACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;IACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAjDgB,KAAK,KAAL,KAAK,QAiDrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Settlement/Entry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AAInD,MAAM,KAAW,KAAK,CAyDrB;AAzDD,WAAiB,KAAK;IAER,YAAM,GAAG,WAAW,CAAA;IAKpB,aAAO,GAAG,YAAY,CAAA;IAKtB,YAAM,GAAG,WAAW,CAAA;IAKpB,aAAO,GAAG,YAAY,CAAA;IAKtB,aAAO,GAAG,YAAY,CAAA;IAEtB,eAAS,GAAG,cAAc,CAAA;IACvC,SAAgB,OAAO,CAAC,KAAY;QACnC,OAAO,KAAK,CAAC,IAAI,IAAI,SAAS;YAC7B,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;YAClB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9E,CAAC;IAJe,aAAO,UAItB,CAAA;IACD,SAAgB,IAAI,CAAC,SAA0B,EAAE,WAAyC;QACzF,OAAO,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,IAAI,SAAS,CAAC,aAAa;YACjG,CAAC,CAAC;gBACA,MAAM,EAAE,WAAW;gBACnB,GAAG,SAAS;aACX;YACH,CAAC,CAAC;gBACA,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;gBACtC,GAAG,SAAS;aACX,CAAA;IACL,CAAC;IAXe,UAAI,OAWnB,CAAA;IACD,SAAS,MAAM,CAAC,SAA0B,EAAE,WAAyC;QACpF,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,CAAC,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACjE,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACnD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACY,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,EACjB,KAAK,CAAC,OAAO,CAAC,IAAI,EAClB,KAAK,CAAC,MAAM,CAAC,IAAI,EACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAClB,CAAA;IACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;IACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAzDgB,KAAK,KAAL,KAAK,QAyDrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.195",
3
+ "version": "0.1.197",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
@@ -1,8 +0,0 @@
1
- import { isly } from "isly"
2
-
3
- export type SettlementEntry = string
4
-
5
- export namespace SettlementEntry {
6
- export const type = isly.string(/^(?:settlement|fee)-\w+-\d{5}$/)
7
- export const is = type.is
8
- }
@@ -1,6 +0,0 @@
1
- import { isly } from "isly";
2
- export type SettlementEntry = string;
3
- export declare namespace SettlementEntry {
4
- const type: isly.Type<string>;
5
- const is: isly.Type.IsFunction<string>;
6
- }
@@ -1,7 +0,0 @@
1
- import { isly } from "isly";
2
- export var SettlementEntry;
3
- (function (SettlementEntry) {
4
- SettlementEntry.type = isly.string(/^(?:settlement|fee)-\w+-\d{5}$/);
5
- SettlementEntry.is = SettlementEntry.type.is;
6
- })(SettlementEntry || (SettlementEntry = {}));
7
- //# sourceMappingURL=SettlementEntry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SettlementEntry.js","sourceRoot":"../","sources":["CounterBalances/SettlementEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,eAAe,CAG/B;AAHD,WAAiB,eAAe;IAClB,oBAAI,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAA;IACpD,kBAAE,GAAG,gBAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAHgB,eAAe,KAAf,eAAe,QAG/B"}