@pax2pay/model-banking 0.1.53 → 0.1.55

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/Realm/index.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { isly } from "isly"
2
+ import { Supplier as modelSupplier } from "../Supplier"
2
3
 
3
- export const Realms = ["test", "testUK", "uk", "eu"] as const
4
- export type Realm = typeof Realms[number]
4
+ export type Realm = typeof Realm.realms[number]
5
5
 
6
6
  export namespace Realm {
7
- export const realms: Realm[] = [...Realms]
7
+ export const realms = ["test", "testUK", "uk", "eu"] as const
8
8
  export const type: isly.Type<Realm> = isly.union(
9
9
  isly.string("test"),
10
10
  isly.string("testUK"),
@@ -15,4 +15,22 @@ export namespace Realm {
15
15
  export function toString(): string {
16
16
  return realms.toString().replaceAll(",", ", ") + "."
17
17
  }
18
+ export const suppliers: Record<Realm, modelSupplier[]> = {
19
+ test: ["paxgiro"],
20
+ testUK: ["clearbank"],
21
+ uk: ["clearbank"],
22
+ eu: [],
23
+ }
24
+ export interface Suppliers extends Record<Realm, modelSupplier[]> {
25
+ test: ["paxgiro"]
26
+ testUK: ["clearbank"]
27
+ uk: ["clearbank"]
28
+ eu: []
29
+ }
30
+ export type Supplier<P extends keyof Suppliers> = Pick<Suppliers, P>[P][number]
31
+ export namespace Supplier {
32
+ export function is(realm: Realm, supplier: modelSupplier | any): supplier is Supplier<Realm> {
33
+ return suppliers[realm].includes(supplier)
34
+ }
35
+ }
18
36
  }
@@ -0,0 +1,55 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+
4
+ export type Entry = Succeeded | Failed
5
+
6
+ export interface Succeeded {
7
+ status: "succeeded"
8
+ type: "capture" | "cancel" | "refund"
9
+ account: string
10
+ card: string
11
+ transaction: string
12
+ amount: [isoly.Currency, number]
13
+ fee: [isoly.Currency, number]
14
+ }
15
+ export interface Failed {
16
+ status: "failed"
17
+ type?: "capture" | "cancel" | "refund"
18
+ account?: string
19
+ card?: string
20
+ transaction?: string
21
+ amount?: [isoly.Currency, number]
22
+ fee?: [isoly.Currency, number]
23
+ reason?: string
24
+ data?: any
25
+ }
26
+ export namespace Entry {
27
+ export namespace Succeeded {
28
+ export const type = isly.object<Succeeded>({
29
+ status: isly.string("succeeded"),
30
+ type: isly.union(isly.string("capture"), isly.string("cancel"), isly.string("refund")),
31
+ account: isly.string(),
32
+ card: isly.string(),
33
+ transaction: isly.string(),
34
+ amount: isly.tuple(isly.fromIs("Entry.amount", isoly.Currency.is), isly.number()),
35
+ fee: isly.tuple(isly.fromIs("Entry.fee", isoly.Currency.is), isly.number()),
36
+ })
37
+ export const is = type.is
38
+ }
39
+ export namespace Failed {
40
+ export const type = isly.object<Failed>({
41
+ status: isly.string("failed"),
42
+ type: isly.union(isly.string("capture"), isly.string("cancel"), isly.string("refund")).optional(),
43
+ account: isly.string().optional(),
44
+ card: isly.string().optional(),
45
+ transaction: isly.string().optional(),
46
+ amount: isly.tuple(isly.fromIs("Entry.amount", isoly.Currency.is), isly.number()).optional(),
47
+ fee: isly.tuple(isly.fromIs("Entry.fee", isoly.Currency.is), isly.number()).optional(),
48
+ reason: isly.string().optional(),
49
+ data: isly.any().optional(),
50
+ })
51
+ export const is = type.is
52
+ }
53
+ export const type = isly.union<Entry, Succeeded, Failed>(Succeeded.type, Failed.type)
54
+ export const is = type.is
55
+ }
@@ -1,40 +1,30 @@
1
- import { gracely } from "gracely"
2
1
  import { isoly } from "isoly"
3
2
  import { isly } from "isly"
4
- import { Transaction } from "../Transaction"
3
+ import { Entry as SettlementEntry } from "./Entry"
5
4
 
6
- export type Settlement = Succeeded | Failed
7
-
8
- export interface Base {
9
- id: string
10
- created: [string, isoly.DateTime]
11
- configuration: string
12
- status: string
13
- }
14
-
15
- export interface Failed extends Base {
16
- status: "failed"
17
- }
18
-
19
- export interface Succeeded extends Base {
20
- settled?: { user: string; created: isoly.DateTime; transaction: string }
21
- amount: Record<isoly.Currency, number>
22
- fee: Record<isoly.Currency, number>
23
- entries: {
24
- status: "succeeded" | "failed"
25
- type: "capture" | "cancel" | "refund"
26
- account: string
27
- card: string
28
- transaction: string
29
- amount: [isoly.Currency, number]
30
- fee: [isoly.Currency, number]
31
- }[]
32
- status: "succeeded"
33
- }
5
+ export type Settlement = Settlement.Succeeded | Settlement.Failed
34
6
 
35
7
  export namespace Settlement {
36
- export const type = isly.union<Settlement, Succeeded, Failed>(
37
- isly.object<Succeeded>({
8
+ export interface Base {
9
+ id: string
10
+ created: [string, isoly.DateTime]
11
+ configuration: string
12
+ status: string
13
+ }
14
+ export interface Succeeded extends Base {
15
+ settled?: { user: string; created: isoly.DateTime; transaction: string }
16
+ amount: Partial<Record<isoly.Currency, number>>
17
+ fee: Partial<Record<isoly.Currency, number>>
18
+ entries: SettlementEntry[]
19
+ status: "succeeded"
20
+ }
21
+ export interface Failed extends Base {
22
+ status: "failed"
23
+ reason: string
24
+ }
25
+
26
+ export namespace Succeeded {
27
+ export const type = isly.object<Succeeded>({
38
28
  id: isly.string(),
39
29
  created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
40
30
  configuration: isly.string(),
@@ -47,35 +37,24 @@ export namespace Settlement {
47
37
  .optional(),
48
38
  amount: isly.record(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
49
39
  fee: isly.record(isly.fromIs("Settlement.entries.fee", isoly.Currency.is), isly.number()),
50
- entries: isly
51
- .object<{
52
- status: "succeeded" | "failed"
53
- type: "capture" | "cancel" | "refund"
54
- account: string
55
- card: string
56
- transaction: string
57
- amount: [isoly.Currency, number]
58
- fee: [isoly.Currency, number]
59
- }>({
60
- status: isly.string(),
61
- type: isly.string(),
62
- account: isly.string(),
63
- card: isly.string(),
64
- transaction: isly.string(),
65
- amount: isly.tuple(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
66
- fee: isly.tuple(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
67
- })
68
- .array(),
40
+ entries: SettlementEntry.type.array(),
69
41
  status: isly.string("succeeded"),
70
- }),
71
- isly.object<Failed>({
42
+ })
43
+ export const is = type.is
44
+ }
45
+ export namespace Failed {
46
+ export const type = isly.object<Failed>({
72
47
  id: isly.string(),
73
48
  created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
74
49
  configuration: isly.string(),
75
50
  status: isly.string("failed"),
51
+ reason: isly.string(),
76
52
  })
77
- )
53
+ export const is = type.is
54
+ }
55
+ export const type = isly.union<Settlement, Succeeded, Failed>(Succeeded.type, Failed.type)
78
56
  export const is = type.is
79
57
  export const flaw = type.flaw
80
- export type Result = (Transaction | (gracely.Error & { id: string }))[]
58
+ export const Entry = SettlementEntry
59
+ export type Entry = SettlementEntry
81
60
  }
@@ -1,9 +1,20 @@
1
1
  import { isly } from "isly";
2
- export declare const Realms: readonly ["test", "testUK", "uk", "eu"];
3
- export type Realm = typeof Realms[number];
2
+ import { Supplier as modelSupplier } from "../Supplier";
3
+ export type Realm = typeof Realm.realms[number];
4
4
  export declare namespace Realm {
5
- const realms: Realm[];
5
+ const realms: readonly ["test", "testUK", "uk", "eu"];
6
6
  const type: isly.Type<Realm>;
7
7
  const is: isly.Type.IsFunction<"eu" | "uk" | "test" | "testUK">;
8
8
  function toString(): string;
9
+ const suppliers: Record<Realm, modelSupplier[]>;
10
+ interface Suppliers extends Record<Realm, modelSupplier[]> {
11
+ test: ["paxgiro"];
12
+ testUK: ["clearbank"];
13
+ uk: ["clearbank"];
14
+ eu: [];
15
+ }
16
+ type Supplier<P extends keyof Suppliers> = Pick<Suppliers, P>[P][number];
17
+ namespace Supplier {
18
+ function is(realm: Realm, supplier: modelSupplier | any): supplier is Supplier<Realm>;
19
+ }
9
20
  }
@@ -1,13 +1,25 @@
1
1
  import { isly } from "isly";
2
- export const Realms = ["test", "testUK", "uk", "eu"];
3
2
  export var Realm;
4
3
  (function (Realm) {
5
- Realm.realms = [...Realms];
4
+ Realm.realms = ["test", "testUK", "uk", "eu"];
6
5
  Realm.type = isly.union(isly.string("test"), isly.string("testUK"), isly.string("uk"), isly.string("eu"));
7
6
  Realm.is = Realm.type.is;
8
7
  function toString() {
9
8
  return Realm.realms.toString().replaceAll(",", ", ") + ".";
10
9
  }
11
10
  Realm.toString = toString;
11
+ Realm.suppliers = {
12
+ test: ["paxgiro"],
13
+ testUK: ["clearbank"],
14
+ uk: ["clearbank"],
15
+ eu: [],
16
+ };
17
+ let Supplier;
18
+ (function (Supplier) {
19
+ function is(realm, supplier) {
20
+ return Realm.suppliers[realm].includes(supplier);
21
+ }
22
+ Supplier.is = is;
23
+ })(Supplier = Realm.Supplier || (Realm.Supplier = {}));
12
24
  })(Realm || (Realm = {}));
13
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Realm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;AAG7D,MAAM,KAAW,KAAK,CAYrB;AAZD,WAAiB,KAAK;IACR,YAAM,GAAY,CAAC,GAAG,MAAM,CAAC,CAAA;IAC7B,UAAI,GAAqB,IAAI,CAAC,KAAK,CAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CACjB,CAAA;IACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;IACzB,SAAgB,QAAQ;QACvB,OAAO,MAAA,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAA;IACrD,CAAC;IAFe,cAAQ,WAEvB,CAAA;AACF,CAAC,EAZgB,KAAK,KAAL,KAAK,QAYrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Realm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,MAAM,KAAW,KAAK,CA8BrB;AA9BD,WAAiB,KAAK;IACR,YAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;IAChD,UAAI,GAAqB,IAAI,CAAC,KAAK,CAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CACjB,CAAA;IACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;IACzB,SAAgB,QAAQ;QACvB,OAAO,MAAA,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAA;IACrD,CAAC;IAFe,cAAQ,WAEvB,CAAA;IACY,eAAS,GAAmC;QACxD,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,MAAM,EAAE,CAAC,WAAW,CAAC;QACrB,EAAE,EAAE,CAAC,WAAW,CAAC;QACjB,EAAE,EAAE,EAAE;KACN,CAAA;IAQD,IAAiB,QAAQ,CAIxB;IAJD,WAAiB,QAAQ;QACxB,SAAgB,EAAE,CAAC,KAAY,EAAE,QAA6B;YAC7D,OAAO,MAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC3C,CAAC;QAFe,WAAE,KAEjB,CAAA;IACF,CAAC,EAJgB,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAIxB;AACF,CAAC,EA9BgB,KAAK,KAAL,KAAK,QA8BrB"}
@@ -0,0 +1,35 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ export type Entry = Succeeded | Failed;
4
+ export interface Succeeded {
5
+ status: "succeeded";
6
+ type: "capture" | "cancel" | "refund";
7
+ account: string;
8
+ card: string;
9
+ transaction: string;
10
+ amount: [isoly.Currency, number];
11
+ fee: [isoly.Currency, number];
12
+ }
13
+ export interface Failed {
14
+ status: "failed";
15
+ type?: "capture" | "cancel" | "refund";
16
+ account?: string;
17
+ card?: string;
18
+ transaction?: string;
19
+ amount?: [isoly.Currency, number];
20
+ fee?: [isoly.Currency, number];
21
+ reason?: string;
22
+ data?: any;
23
+ }
24
+ export declare namespace Entry {
25
+ namespace Succeeded {
26
+ const type: isly.object.ExtendableType<Succeeded>;
27
+ const is: isly.Type.IsFunction<Succeeded>;
28
+ }
29
+ namespace Failed {
30
+ const type: isly.object.ExtendableType<Failed>;
31
+ const is: isly.Type.IsFunction<Failed>;
32
+ }
33
+ const type: isly.Type<Entry>;
34
+ const is: isly.Type.IsFunction<Entry>;
35
+ }
@@ -0,0 +1,36 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ export var Entry;
4
+ (function (Entry) {
5
+ let Succeeded;
6
+ (function (Succeeded) {
7
+ Succeeded.type = isly.object({
8
+ status: isly.string("succeeded"),
9
+ type: isly.union(isly.string("capture"), isly.string("cancel"), isly.string("refund")),
10
+ account: isly.string(),
11
+ card: isly.string(),
12
+ transaction: isly.string(),
13
+ amount: isly.tuple(isly.fromIs("Entry.amount", isoly.Currency.is), isly.number()),
14
+ fee: isly.tuple(isly.fromIs("Entry.fee", isoly.Currency.is), isly.number()),
15
+ });
16
+ Succeeded.is = Succeeded.type.is;
17
+ })(Succeeded = Entry.Succeeded || (Entry.Succeeded = {}));
18
+ let Failed;
19
+ (function (Failed) {
20
+ Failed.type = isly.object({
21
+ status: isly.string("failed"),
22
+ type: isly.union(isly.string("capture"), isly.string("cancel"), isly.string("refund")).optional(),
23
+ account: isly.string().optional(),
24
+ card: isly.string().optional(),
25
+ transaction: isly.string().optional(),
26
+ amount: isly.tuple(isly.fromIs("Entry.amount", isoly.Currency.is), isly.number()).optional(),
27
+ fee: isly.tuple(isly.fromIs("Entry.fee", isoly.Currency.is), isly.number()).optional(),
28
+ reason: isly.string().optional(),
29
+ data: isly.any().optional(),
30
+ });
31
+ Failed.is = Failed.type.is;
32
+ })(Failed = Entry.Failed || (Entry.Failed = {}));
33
+ Entry.type = isly.union(Succeeded.type, Failed.type);
34
+ Entry.is = Entry.type.is;
35
+ })(Entry || (Entry = {}));
36
+ //# sourceMappingURL=Entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Entry.js","sourceRoot":"../","sources":["Settlement/Entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAwB3B,MAAM,KAAW,KAAK,CA6BrB;AA7BD,WAAiB,KAAK;IACrB,IAAiB,SAAS,CAWzB;IAXD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtF,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACjF,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC3E,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EAXgB,SAAS,GAAT,eAAS,KAAT,eAAS,QAWzB;IACD,IAAiB,MAAM,CAatB;IAbD,WAAiB,MAAM;QACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAS;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjG,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC5F,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtF,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC,CAAA;QACW,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EAbgB,MAAM,GAAN,YAAM,KAAN,YAAM,QAatB;IACY,UAAI,GAAG,IAAI,CAAC,KAAK,CAA2B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACxE,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EA7BgB,KAAK,KAAL,KAAK,QA6BrB"}
@@ -1,41 +1,40 @@
1
- import { gracely } from "gracely";
2
1
  import { isoly } from "isoly";
3
2
  import { isly } from "isly";
4
- import { Transaction } from "../Transaction";
5
- export type Settlement = Succeeded | Failed;
6
- export interface Base {
7
- id: string;
8
- created: [string, isoly.DateTime];
9
- configuration: string;
10
- status: string;
11
- }
12
- export interface Failed extends Base {
13
- status: "failed";
14
- }
15
- export interface Succeeded extends Base {
16
- settled?: {
17
- user: string;
18
- created: isoly.DateTime;
19
- transaction: string;
20
- };
21
- amount: Record<isoly.Currency, number>;
22
- fee: Record<isoly.Currency, number>;
23
- entries: {
24
- status: "succeeded" | "failed";
25
- type: "capture" | "cancel" | "refund";
26
- account: string;
27
- card: string;
28
- transaction: string;
29
- amount: [isoly.Currency, number];
30
- fee: [isoly.Currency, number];
31
- }[];
32
- status: "succeeded";
33
- }
3
+ import { Entry as SettlementEntry } from "./Entry";
4
+ export type Settlement = Settlement.Succeeded | Settlement.Failed;
34
5
  export declare namespace Settlement {
6
+ interface Base {
7
+ id: string;
8
+ created: [string, isoly.DateTime];
9
+ configuration: string;
10
+ status: string;
11
+ }
12
+ interface Succeeded extends Base {
13
+ settled?: {
14
+ user: string;
15
+ created: isoly.DateTime;
16
+ transaction: string;
17
+ };
18
+ amount: Partial<Record<isoly.Currency, number>>;
19
+ fee: Partial<Record<isoly.Currency, number>>;
20
+ entries: SettlementEntry[];
21
+ status: "succeeded";
22
+ }
23
+ interface Failed extends Base {
24
+ status: "failed";
25
+ reason: string;
26
+ }
27
+ namespace Succeeded {
28
+ const type: isly.object.ExtendableType<Succeeded>;
29
+ const is: isly.Type.IsFunction<Succeeded>;
30
+ }
31
+ namespace Failed {
32
+ const type: isly.object.ExtendableType<Failed>;
33
+ const is: isly.Type.IsFunction<Failed>;
34
+ }
35
35
  const type: isly.Type<Settlement>;
36
36
  const is: isly.Type.IsFunction<Settlement>;
37
37
  const flaw: isly.Type.FlawFunction;
38
- type Result = (Transaction | (gracely.Error & {
39
- id: string;
40
- }))[];
38
+ const Entry: typeof SettlementEntry;
39
+ type Entry = SettlementEntry;
41
40
  }
@@ -1,39 +1,42 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
+ import { Entry as SettlementEntry } from "./Entry";
3
4
  export var Settlement;
4
5
  (function (Settlement) {
5
- Settlement.type = isly.union(isly.object({
6
- id: isly.string(),
7
- created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
8
- configuration: isly.string(),
9
- settled: isly
10
- .object({
11
- user: isly.string(),
12
- created: isly.fromIs("Settlement.settled.created", isoly.DateTime.is),
13
- transaction: isly.string(),
14
- })
15
- .optional(),
16
- amount: isly.record(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
17
- fee: isly.record(isly.fromIs("Settlement.entries.fee", isoly.Currency.is), isly.number()),
18
- entries: isly
19
- .object({
20
- status: isly.string(),
21
- type: isly.string(),
22
- account: isly.string(),
23
- card: isly.string(),
24
- transaction: isly.string(),
25
- amount: isly.tuple(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
26
- fee: isly.tuple(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
27
- })
28
- .array(),
29
- status: isly.string("succeeded"),
30
- }), isly.object({
31
- id: isly.string(),
32
- created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
33
- configuration: isly.string(),
34
- status: isly.string("failed"),
35
- }));
6
+ let Succeeded;
7
+ (function (Succeeded) {
8
+ Succeeded.type = isly.object({
9
+ id: isly.string(),
10
+ created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
11
+ configuration: isly.string(),
12
+ settled: isly
13
+ .object({
14
+ user: isly.string(),
15
+ created: isly.fromIs("Settlement.settled.created", isoly.DateTime.is),
16
+ transaction: isly.string(),
17
+ })
18
+ .optional(),
19
+ amount: isly.record(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
20
+ fee: isly.record(isly.fromIs("Settlement.entries.fee", isoly.Currency.is), isly.number()),
21
+ entries: SettlementEntry.type.array(),
22
+ status: isly.string("succeeded"),
23
+ });
24
+ Succeeded.is = Succeeded.type.is;
25
+ })(Succeeded = Settlement.Succeeded || (Settlement.Succeeded = {}));
26
+ let Failed;
27
+ (function (Failed) {
28
+ Failed.type = isly.object({
29
+ id: isly.string(),
30
+ created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
31
+ configuration: isly.string(),
32
+ status: isly.string("failed"),
33
+ reason: isly.string(),
34
+ });
35
+ Failed.is = Failed.type.is;
36
+ })(Failed = Settlement.Failed || (Settlement.Failed = {}));
37
+ Settlement.type = isly.union(Succeeded.type, Failed.type);
36
38
  Settlement.is = Settlement.type.is;
37
39
  Settlement.flaw = Settlement.type.flaw;
40
+ Settlement.Entry = SettlementEntry;
38
41
  })(Settlement || (Settlement = {}));
39
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Settlement/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAgC3B,MAAM,KAAW,UAAU,CA8C1B;AA9CD,WAAiB,UAAU;IACb,eAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,IAAI,CAAC,MAAM,CAAY;QACtB,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxF,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,IAAI;aACX,MAAM,CAAiE;YACvE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;SAC1B,CAAC;aACD,QAAQ,EAAE;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/F,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzF,OAAO,EAAE,IAAI;aACX,MAAM,CAQJ;YACF,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9F,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC3F,CAAC;aACD,KAAK,EAAE;QACT,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;KAChC,CAAC,EACF,IAAI,CAAC,MAAM,CAAS;QACnB,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxF,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;KAC7B,CAAC,CACF,CAAA;IACY,aAAE,GAAG,WAAA,IAAI,CAAC,EAAE,CAAA;IACZ,eAAI,GAAG,WAAA,IAAI,CAAC,IAAI,CAAA;AAE9B,CAAC,EA9CgB,UAAU,KAAV,UAAU,QA8C1B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Settlement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,SAAS,CAAA;AAIlD,MAAM,KAAW,UAAU,CAqD1B;AArDD,WAAiB,UAAU;IAmB1B,IAAiB,SAAS,CAkBzB;IAlBD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxF,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;YAC5B,OAAO,EAAE,IAAI;iBACX,MAAM,CAAiE;gBACvE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;gBACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;aAC1B,CAAC;iBACD,QAAQ,EAAE;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/F,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACzF,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;SAChC,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EAlBgB,SAAS,GAAT,oBAAS,KAAT,oBAAS,QAkBzB;IACD,IAAiB,MAAM,CAStB;IATD,WAAiB,MAAM;QACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAS;YACvC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxF,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SACrB,CAAC,CAAA;QACW,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EATgB,MAAM,GAAN,iBAAM,KAAN,iBAAM,QAStB;IACY,eAAI,GAAG,IAAI,CAAC,KAAK,CAAgC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7E,aAAE,GAAG,WAAA,IAAI,CAAC,EAAE,CAAA;IACZ,eAAI,GAAG,WAAA,IAAI,CAAC,IAAI,CAAA;IAChB,gBAAK,GAAG,eAAe,CAAA;AAErC,CAAC,EArDgB,UAAU,KAAV,UAAU,QAqD1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.53",
3
+ "version": "0.1.55",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",