@pax2pay/model-banking 0.1.494 → 0.1.496
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/Rule/Charge.ts +6 -0
- package/Rule/Reserve.ts +7 -0
- package/Settlement/Amount.ts +3 -0
- package/Settlement/Total.ts +4 -5
- package/Settlement/Totals.ts +1 -1
- package/dist/cjs/Rule/Charge.js +6 -0
- package/dist/cjs/Rule/Charge.js.map +1 -1
- package/dist/cjs/Rule/Reserve.js +6 -0
- package/dist/cjs/Rule/Reserve.js.map +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/Rule/Charge.js +6 -0
- package/dist/mjs/Rule/Charge.js.map +1 -1
- package/dist/mjs/Rule/Reserve.js +6 -0
- package/dist/mjs/Rule/Reserve.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/Rule/Charge.ts
CHANGED
|
@@ -99,6 +99,12 @@ export namespace Charge {
|
|
|
99
99
|
result.charge.current,
|
|
100
100
|
result.charge.total
|
|
101
101
|
)
|
|
102
|
+
result.charge.total &&
|
|
103
|
+
result.notes.push({
|
|
104
|
+
author: "automatic",
|
|
105
|
+
created: now,
|
|
106
|
+
text: `captured charge:${result.charge.total}${state.transaction.original.currency}`,
|
|
107
|
+
})
|
|
102
108
|
return result
|
|
103
109
|
}
|
|
104
110
|
export function apply(charge: { current: number; total: number }, state: State): number {
|
package/Rule/Reserve.ts
CHANGED
|
@@ -94,6 +94,13 @@ export namespace Reserve {
|
|
|
94
94
|
result.outcomes.push(rule)
|
|
95
95
|
result.notes.push({ author: "automatic", created: now, text: rule.name, rule })
|
|
96
96
|
}
|
|
97
|
+
// TODO: find some way to keep the authorized charge amount, then remove this
|
|
98
|
+
result.reserve &&
|
|
99
|
+
result.notes.push({
|
|
100
|
+
author: "automatic",
|
|
101
|
+
created: now,
|
|
102
|
+
text: `reserved charge:${result.reserve}${state.transaction.original.currency}`,
|
|
103
|
+
})
|
|
97
104
|
return result
|
|
98
105
|
}
|
|
99
106
|
export function apply(reserve: number, state: State): number {
|
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 }
|
package/dist/cjs/Rule/Charge.js
CHANGED
|
@@ -58,6 +58,12 @@ var Charge;
|
|
|
58
58
|
result.notes.push({ author: "automatic", created: now, text: rule.name, rule });
|
|
59
59
|
}
|
|
60
60
|
result.charge.total = isoly_1.isoly.Currency.add(state.transaction.original.currency, result.charge.current, result.charge.total);
|
|
61
|
+
result.charge.total &&
|
|
62
|
+
result.notes.push({
|
|
63
|
+
author: "automatic",
|
|
64
|
+
created: now,
|
|
65
|
+
text: `captured charge:${result.charge.total}${state.transaction.original.currency}`,
|
|
66
|
+
});
|
|
61
67
|
return result;
|
|
62
68
|
}
|
|
63
69
|
Charge.evaluate = evaluate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Rule/Charge.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,+BAA2B;AAC3B,sCAAkC;AAClC,0CAAsC;AACtC,oCAAgC;AAEhC,iCAA6B;AAC7B,uCAAmC;AASnC,IAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Rule/Charge.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/Rule/Reserve.js
CHANGED
|
@@ -59,6 +59,12 @@ var Reserve;
|
|
|
59
59
|
result.outcomes.push(rule);
|
|
60
60
|
result.notes.push({ author: "automatic", created: now, text: rule.name, rule });
|
|
61
61
|
}
|
|
62
|
+
result.reserve &&
|
|
63
|
+
result.notes.push({
|
|
64
|
+
author: "automatic",
|
|
65
|
+
created: now,
|
|
66
|
+
text: `reserved charge:${result.reserve}${state.transaction.original.currency}`,
|
|
67
|
+
});
|
|
62
68
|
return result;
|
|
63
69
|
}
|
|
64
70
|
Reserve.evaluate = evaluate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reserve.js","sourceRoot":"","sources":["../../../Rule/Reserve.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,+BAA2B;AAC3B,sCAAkC;AAClC,0CAAsC;AACtC,oCAAgC;AAEhC,iCAA6B;AAC7B,uCAAmC;AAQnC,IAAiB,OAAO,
|
|
1
|
+
{"version":3,"file":"Reserve.js","sourceRoot":"","sources":["../../../Rule/Reserve.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|
package/dist/mjs/Rule/Charge.js
CHANGED
|
@@ -55,6 +55,12 @@ export var Charge;
|
|
|
55
55
|
result.notes.push({ author: "automatic", created: now, text: rule.name, rule });
|
|
56
56
|
}
|
|
57
57
|
result.charge.total = isoly.Currency.add(state.transaction.original.currency, result.charge.current, result.charge.total);
|
|
58
|
+
result.charge.total &&
|
|
59
|
+
result.notes.push({
|
|
60
|
+
author: "automatic",
|
|
61
|
+
created: now,
|
|
62
|
+
text: `captured charge:${result.charge.total}${state.transaction.original.currency}`,
|
|
63
|
+
});
|
|
58
64
|
return result;
|
|
59
65
|
}
|
|
60
66
|
Charge.evaluate = evaluate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Rule/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Rule/Charge.ts"],"names":[],"mappings":"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"}
|
package/dist/mjs/Rule/Reserve.js
CHANGED
|
@@ -56,6 +56,12 @@ export var Reserve;
|
|
|
56
56
|
result.outcomes.push(rule);
|
|
57
57
|
result.notes.push({ author: "automatic", created: now, text: rule.name, rule });
|
|
58
58
|
}
|
|
59
|
+
result.reserve &&
|
|
60
|
+
result.notes.push({
|
|
61
|
+
author: "automatic",
|
|
62
|
+
created: now,
|
|
63
|
+
text: `reserved charge:${result.reserve}${state.transaction.original.currency}`,
|
|
64
|
+
});
|
|
59
65
|
return result;
|
|
60
66
|
}
|
|
61
67
|
Reserve.evaluate = evaluate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reserve.js","sourceRoot":"","sources":["../../../Rule/Reserve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,MAAM,KAAW,OAAO,
|
|
1
|
+
{"version":3,"file":"Reserve.js","sourceRoot":"","sources":["../../../Rule/Reserve.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|