@pax2pay/model-banking 0.1.494 → 0.1.495
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/Settlement/Amount.ts +3 -0
- package/Settlement/Total.ts +4 -5
- package/Settlement/Totals.ts +1 -1
- package/dist/cjs/Settlement/Amount.d.ts +1 -0
- package/dist/cjs/Settlement/Amount.js +4 -0
- package/dist/cjs/Settlement/Amount.js.map +1 -1
- package/dist/cjs/Settlement/Total.d.ts +2 -2
- package/dist/cjs/Settlement/Total.js +3 -4
- package/dist/cjs/Settlement/Total.js.map +1 -1
- package/dist/cjs/Settlement/Totals.js +1 -1
- package/dist/cjs/Settlement/Totals.js.map +1 -1
- package/dist/mjs/Settlement/Amount.d.ts +1 -0
- package/dist/mjs/Settlement/Amount.js +4 -0
- package/dist/mjs/Settlement/Amount.js.map +1 -1
- package/dist/mjs/Settlement/Total.d.ts +2 -2
- package/dist/mjs/Settlement/Total.js +3 -4
- package/dist/mjs/Settlement/Total.js.map +1 -1
- package/dist/mjs/Settlement/Totals.js +1 -1
- package/dist/mjs/Settlement/Totals.js.map +1 -1
- package/package.json +1 -1
package/Settlement/Amount.ts
CHANGED
|
@@ -12,6 +12,9 @@ export namespace Amount {
|
|
|
12
12
|
net: isly.number(),
|
|
13
13
|
fee: isly.object<Amount["fee"]>({ other: isly.number() }),
|
|
14
14
|
})
|
|
15
|
+
export function sum(currency: isoly.Currency, amount: Amount | undefined): number {
|
|
16
|
+
return isoly.Currency.add(currency, amount?.net ?? 0, amount?.fee.other ?? 0)
|
|
17
|
+
}
|
|
15
18
|
export function add(currency: isoly.Currency, addendee: Amount, addend: Partial<Amount>): Amount {
|
|
16
19
|
const result = { ...addendee }
|
|
17
20
|
result.net = isoly.Currency.add(currency, result.net, addend.net ?? 0)
|
package/Settlement/Total.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Amount } from "./Amount"
|
|
|
5
5
|
export interface Total {
|
|
6
6
|
expected: Amount
|
|
7
7
|
outcome?: Amount
|
|
8
|
-
collected?: { transactions: { net: string; fee
|
|
8
|
+
collected?: { transactions: { net: string; fee?: string; charge: string } }
|
|
9
9
|
settled?: Total.Settled
|
|
10
10
|
}
|
|
11
11
|
export namespace Total {
|
|
@@ -21,7 +21,7 @@ export namespace Total {
|
|
|
21
21
|
.object<Required<Total>["collected"]>({
|
|
22
22
|
transactions: isly.object<Required<Total>["collected"]["transactions"]>({
|
|
23
23
|
net: isly.string(),
|
|
24
|
-
fee: isly.string(),
|
|
24
|
+
fee: isly.string().optional(),
|
|
25
25
|
charge: isly.string(),
|
|
26
26
|
}),
|
|
27
27
|
})
|
|
@@ -31,11 +31,11 @@ export namespace Total {
|
|
|
31
31
|
export function create(): Total {
|
|
32
32
|
return { expected: { net: 0, fee: { other: 0 } } }
|
|
33
33
|
}
|
|
34
|
-
export function verify(total: Total, type: "outcome" | "settled"): boolean {
|
|
34
|
+
export function verify(currency: isoly.Currency, total: Total, type: "outcome" | "settled"): boolean {
|
|
35
35
|
let result: boolean
|
|
36
36
|
switch (type) {
|
|
37
37
|
case "outcome":
|
|
38
|
-
result = total.outcome
|
|
38
|
+
result = Amount.sum(currency, total.outcome) == Amount.sum(currency, total.expected)
|
|
39
39
|
break
|
|
40
40
|
case "settled":
|
|
41
41
|
result = total.settled?.net == total.expected.net
|
|
@@ -52,7 +52,6 @@ export namespace Total {
|
|
|
52
52
|
result.collected = {
|
|
53
53
|
transactions: {
|
|
54
54
|
net: addend.collected?.transactions.net ?? result.collected?.transactions.net ?? "",
|
|
55
|
-
fee: addend.collected?.transactions.fee ?? result.collected?.transactions.fee ?? "",
|
|
56
55
|
charge: addend.collected?.transactions.charge ?? result.collected?.transactions.charge ?? "",
|
|
57
56
|
},
|
|
58
57
|
}
|
package/Settlement/Totals.ts
CHANGED
|
@@ -19,7 +19,7 @@ export namespace Totals {
|
|
|
19
19
|
return result
|
|
20
20
|
}
|
|
21
21
|
export function verify(totals: Totals, type: "outcome" | "settled"): boolean {
|
|
22
|
-
return Object.
|
|
22
|
+
return Object.entries(totals).every(([currency, total]) => Total.verify(currency as isoly.Currency, total, type))
|
|
23
23
|
}
|
|
24
24
|
export function add(addendee: Totals, addends: Partial<Record<isoly.Currency, Partial<Total>>>): Totals {
|
|
25
25
|
const result = { ...addendee }
|
|
@@ -7,5 +7,6 @@ export type Amount = {
|
|
|
7
7
|
};
|
|
8
8
|
export declare namespace Amount {
|
|
9
9
|
const type: import("isly/dist/cjs/object").IslyObject<Amount, object>;
|
|
10
|
+
function sum(currency: isoly.Currency, amount: Amount | undefined): number;
|
|
10
11
|
function add(currency: isoly.Currency, addendee: Amount, addend: Partial<Amount>): Amount;
|
|
11
12
|
}
|
|
@@ -9,6 +9,10 @@ var Amount;
|
|
|
9
9
|
net: isly_1.isly.number(),
|
|
10
10
|
fee: isly_1.isly.object({ other: isly_1.isly.number() }),
|
|
11
11
|
});
|
|
12
|
+
function sum(currency, amount) {
|
|
13
|
+
return isoly_1.isoly.Currency.add(currency, amount?.net ?? 0, amount?.fee.other ?? 0);
|
|
14
|
+
}
|
|
15
|
+
Amount.sum = sum;
|
|
12
16
|
function add(currency, addendee, addend) {
|
|
13
17
|
const result = { ...addendee };
|
|
14
18
|
result.net = isoly_1.isoly.Currency.add(currency, result.net, addend.net ?? 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amount.js","sourceRoot":"","sources":["../../../Settlement/Amount.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAQ3B,IAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"Amount.js","sourceRoot":"","sources":["../../../Settlement/Amount.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAQ3B,IAAiB,MAAM,CActB;AAdD,WAAiB,MAAM;IACT,WAAI,GAAG,WAAI,CAAC,MAAM,CAAS;QACvC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;QAClB,GAAG,EAAE,WAAI,CAAC,MAAM,CAAgB,EAAE,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KACzD,CAAC,CAAA;IACF,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAA0B;QACvE,OAAO,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;IAC9E,CAAC;IAFe,UAAG,MAElB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAwB,EAAE,QAAgB,EAAE,MAAuB;QACtF,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC9B,MAAM,CAAC,GAAG,GAAG,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACtE,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;QACzF,OAAO,MAAM,CAAA;IACd,CAAC;IALe,UAAG,MAKlB,CAAA;AACF,CAAC,EAdgB,MAAM,sBAAN,MAAM,QActB"}
|
|
@@ -6,7 +6,7 @@ export interface Total {
|
|
|
6
6
|
collected?: {
|
|
7
7
|
transactions: {
|
|
8
8
|
net: string;
|
|
9
|
-
fee
|
|
9
|
+
fee?: string;
|
|
10
10
|
charge: string;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
@@ -20,6 +20,6 @@ export declare namespace Total {
|
|
|
20
20
|
const Settled: import("isly/dist/cjs/object").IslyObject<Settled, object>;
|
|
21
21
|
const type: import("isly/dist/cjs/object").IslyObject<Total, object>;
|
|
22
22
|
function create(): Total;
|
|
23
|
-
function verify(total: Total, type: "outcome" | "settled"): boolean;
|
|
23
|
+
function verify(currency: isoly.Currency, total: Total, type: "outcome" | "settled"): boolean;
|
|
24
24
|
function add(currency: isoly.Currency, addendee: Total, addend: Partial<Total>): Total;
|
|
25
25
|
}
|
|
@@ -13,7 +13,7 @@ var Total;
|
|
|
13
13
|
.object({
|
|
14
14
|
transactions: isly_1.isly.object({
|
|
15
15
|
net: isly_1.isly.string(),
|
|
16
|
-
fee: isly_1.isly.string(),
|
|
16
|
+
fee: isly_1.isly.string().optional(),
|
|
17
17
|
charge: isly_1.isly.string(),
|
|
18
18
|
}),
|
|
19
19
|
})
|
|
@@ -24,11 +24,11 @@ var Total;
|
|
|
24
24
|
return { expected: { net: 0, fee: { other: 0 } } };
|
|
25
25
|
}
|
|
26
26
|
Total.create = create;
|
|
27
|
-
function verify(total, type) {
|
|
27
|
+
function verify(currency, total, type) {
|
|
28
28
|
let result;
|
|
29
29
|
switch (type) {
|
|
30
30
|
case "outcome":
|
|
31
|
-
result = total.outcome
|
|
31
|
+
result = Amount_1.Amount.sum(currency, total.outcome) == Amount_1.Amount.sum(currency, total.expected);
|
|
32
32
|
break;
|
|
33
33
|
case "settled":
|
|
34
34
|
result = total.settled?.net == total.expected.net;
|
|
@@ -46,7 +46,6 @@ var Total;
|
|
|
46
46
|
result.collected = {
|
|
47
47
|
transactions: {
|
|
48
48
|
net: addend.collected?.transactions.net ?? result.collected?.transactions.net ?? "",
|
|
49
|
-
fee: addend.collected?.transactions.fee ?? result.collected?.transactions.fee ?? "",
|
|
50
49
|
charge: addend.collected?.transactions.charge ?? result.collected?.transactions.charge ?? "",
|
|
51
50
|
},
|
|
52
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Total.js","sourceRoot":"","sources":["../../../Settlement/Total.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAC3B,qCAAiC;AAQjC,IAAiB,KAAK,
|
|
1
|
+
{"version":3,"file":"Total.js","sourceRoot":"","sources":["../../../Settlement/Total.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAC3B,qCAAiC;AAQjC,IAAiB,KAAK,CAsDrB;AAtDD,WAAiB,KAAK;IAKR,aAAO,GAAG,WAAI,CAAC,MAAM,CAAU,EAAE,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC3F,UAAI,GAAG,WAAI,CAAC,MAAM,CAAQ;QACtC,QAAQ,EAAE,eAAM,CAAC,IAAI;QACrB,OAAO,EAAE,eAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,WAAI;aACb,MAAM,CAA+B;YACrC,YAAY,EAAE,WAAI,CAAC,MAAM,CAA+C;gBACvE,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;gBAClB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;aACrB,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,QAAwB,EAAE,KAAY,EAAE,IAA2B;QACzF,IAAI,MAAe,CAAA;QACnB,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,SAAS;gBACb,MAAM,GAAG,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,eAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACpF,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,eAAM,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,eAAM,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,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE;iBAC5F;aACD,CAAA;QACF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;YACnC,MAAM,CAAC,OAAO,GAAG;gBAChB,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACpD,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE;aAChF,CAAA;QACF,OAAO,MAAM,CAAA;IACd,CAAC;IAlBe,SAAG,MAkBlB,CAAA;AACF,CAAC,EAtDgB,KAAK,qBAAL,KAAK,QAsDrB"}
|
|
@@ -20,7 +20,7 @@ var Totals;
|
|
|
20
20
|
}
|
|
21
21
|
Totals.addEntry = addEntry;
|
|
22
22
|
function verify(totals, type) {
|
|
23
|
-
return Object.
|
|
23
|
+
return Object.entries(totals).every(([currency, total]) => Total_1.Total.verify(currency, total, type));
|
|
24
24
|
}
|
|
25
25
|
Totals.verify = verify;
|
|
26
26
|
function add(addendee, addends) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Totals.js","sourceRoot":"","sources":["../../../Settlement/Totals.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAE3B,mCAA+B;AAG/B,IAAiB,MAAM,CAuBtB;AAvBD,WAAiB,MAAM;IACT,WAAI,GAAG,WAAI,CAAC,MAAM,CAAwB,WAAI,CAAC,MAAM,CAAC,aAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAK,CAAC,IAAI,CAAC,CAAA;IACtG,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;YACrF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,aAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,aAAK,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,OAAO,MAAM,CAAA;IACd,CAAC;IAXe,eAAQ,WAWvB,CAAA;IACD,SAAgB,MAAM,CAAC,MAAc,EAAE,IAA2B;QACjE,OAAO,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Totals.js","sourceRoot":"","sources":["../../../Settlement/Totals.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAE3B,mCAA+B;AAG/B,IAAiB,MAAM,CAuBtB;AAvBD,WAAiB,MAAM;IACT,WAAI,GAAG,WAAI,CAAC,MAAM,CAAwB,WAAI,CAAC,MAAM,CAAC,aAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAK,CAAC,IAAI,CAAC,CAAA;IACtG,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;YACrF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,aAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,aAAK,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,OAAO,MAAM,CAAA;IACd,CAAC;IAXe,eAAQ,WAWvB,CAAA;IACD,SAAgB,MAAM,CAAC,MAAc,EAAE,IAA2B;QACjE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,aAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAClH,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;YAC7F,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAK,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;QACnF,OAAO,MAAM,CAAA;IACd,CAAC;IALe,UAAG,MAKlB,CAAA;AACF,CAAC,EAvBgB,MAAM,sBAAN,MAAM,QAuBtB"}
|
|
@@ -7,5 +7,6 @@ export type Amount = {
|
|
|
7
7
|
};
|
|
8
8
|
export declare namespace Amount {
|
|
9
9
|
const type: import("isly/dist/cjs/object").IslyObject<Amount, object>;
|
|
10
|
+
function sum(currency: isoly.Currency, amount: Amount | undefined): number;
|
|
10
11
|
function add(currency: isoly.Currency, addendee: Amount, addend: Partial<Amount>): Amount;
|
|
11
12
|
}
|
|
@@ -6,6 +6,10 @@ export var Amount;
|
|
|
6
6
|
net: isly.number(),
|
|
7
7
|
fee: isly.object({ other: isly.number() }),
|
|
8
8
|
});
|
|
9
|
+
function sum(currency, amount) {
|
|
10
|
+
return isoly.Currency.add(currency, amount?.net ?? 0, amount?.fee.other ?? 0);
|
|
11
|
+
}
|
|
12
|
+
Amount.sum = sum;
|
|
9
13
|
function add(currency, addendee, addend) {
|
|
10
14
|
const result = { ...addendee };
|
|
11
15
|
result.net = isoly.Currency.add(currency, result.net, addend.net ?? 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amount.js","sourceRoot":"","sources":["../../../Settlement/Amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"Amount.js","sourceRoot":"","sources":["../../../Settlement/Amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,MAAM,CActB;AAdD,WAAiB,MAAM;IACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAS;QACvC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;QAClB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KACzD,CAAC,CAAA;IACF,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAA0B;QACvE,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;IAC9E,CAAC;IAFe,UAAG,MAElB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAwB,EAAE,QAAgB,EAAE,MAAuB;QACtF,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC9B,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACtE,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;QACzF,OAAO,MAAM,CAAA;IACd,CAAC;IALe,UAAG,MAKlB,CAAA;AACF,CAAC,EAdgB,MAAM,KAAN,MAAM,QActB"}
|
|
@@ -6,7 +6,7 @@ export interface Total {
|
|
|
6
6
|
collected?: {
|
|
7
7
|
transactions: {
|
|
8
8
|
net: string;
|
|
9
|
-
fee
|
|
9
|
+
fee?: string;
|
|
10
10
|
charge: string;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
@@ -20,6 +20,6 @@ export declare namespace Total {
|
|
|
20
20
|
const Settled: import("isly/dist/cjs/object").IslyObject<Settled, object>;
|
|
21
21
|
const type: import("isly/dist/cjs/object").IslyObject<Total, object>;
|
|
22
22
|
function create(): Total;
|
|
23
|
-
function verify(total: Total, type: "outcome" | "settled"): boolean;
|
|
23
|
+
function verify(currency: isoly.Currency, total: Total, type: "outcome" | "settled"): boolean;
|
|
24
24
|
function add(currency: isoly.Currency, addendee: Total, addend: Partial<Total>): Total;
|
|
25
25
|
}
|
|
@@ -10,7 +10,7 @@ export var Total;
|
|
|
10
10
|
.object({
|
|
11
11
|
transactions: isly.object({
|
|
12
12
|
net: isly.string(),
|
|
13
|
-
fee: isly.string(),
|
|
13
|
+
fee: isly.string().optional(),
|
|
14
14
|
charge: isly.string(),
|
|
15
15
|
}),
|
|
16
16
|
})
|
|
@@ -21,11 +21,11 @@ export var Total;
|
|
|
21
21
|
return { expected: { net: 0, fee: { other: 0 } } };
|
|
22
22
|
}
|
|
23
23
|
Total.create = create;
|
|
24
|
-
function verify(total, type) {
|
|
24
|
+
function verify(currency, total, type) {
|
|
25
25
|
let result;
|
|
26
26
|
switch (type) {
|
|
27
27
|
case "outcome":
|
|
28
|
-
result = total.outcome
|
|
28
|
+
result = Amount.sum(currency, total.outcome) == Amount.sum(currency, total.expected);
|
|
29
29
|
break;
|
|
30
30
|
case "settled":
|
|
31
31
|
result = total.settled?.net == total.expected.net;
|
|
@@ -43,7 +43,6 @@ export var Total;
|
|
|
43
43
|
result.collected = {
|
|
44
44
|
transactions: {
|
|
45
45
|
net: addend.collected?.transactions.net ?? result.collected?.transactions.net ?? "",
|
|
46
|
-
fee: addend.collected?.transactions.fee ?? result.collected?.transactions.fee ?? "",
|
|
47
46
|
charge: addend.collected?.transactions.charge ?? result.collected?.transactions.charge ?? "",
|
|
48
47
|
},
|
|
49
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Total.js","sourceRoot":"","sources":["../../../Settlement/Total.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAQjC,MAAM,KAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"Total.js","sourceRoot":"","sources":["../../../Settlement/Total.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export var Totals;
|
|
|
17
17
|
}
|
|
18
18
|
Totals.addEntry = addEntry;
|
|
19
19
|
function verify(totals, type) {
|
|
20
|
-
return Object.
|
|
20
|
+
return Object.entries(totals).every(([currency, total]) => Total.verify(currency, total, type));
|
|
21
21
|
}
|
|
22
22
|
Totals.verify = verify;
|
|
23
23
|
function add(addendee, addends) {
|
|
@@ -1 +1 @@
|
|
|
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,CAuBtB;AAvBD,WAAiB,MAAM;IACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACtG,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;YACrF,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,OAAO,MAAM,CAAA;IACd,CAAC;IAXe,eAAQ,WAWvB,CAAA;IACD,SAAgB,MAAM,CAAC,MAAc,EAAE,IAA2B;QACjE,OAAO,MAAM,CAAC,
|
|
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,CAuBtB;AAvBD,WAAiB,MAAM;IACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACtG,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;YACrF,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,OAAO,MAAM,CAAA;IACd,CAAC;IAXe,eAAQ,WAWvB,CAAA;IACD,SAAgB,MAAM,CAAC,MAAc,EAAE,IAA2B;QACjE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAClH,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;YAC7F,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,OAAO,MAAM,CAAA;IACd,CAAC;IALe,UAAG,MAKlB,CAAA;AACF,CAAC,EAvBgB,MAAM,KAAN,MAAM,QAuBtB"}
|