@pax2pay/model-banking 0.1.120 → 0.1.121
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/Acquirer/index.ts +2 -2
- package/Amount.ts +4 -0
- package/Amounts.ts +9 -0
- package/Settlement/Entry/index.ts +7 -1
- package/Settlement/Fee.ts +3 -1
- package/Settlement/Total.ts +5 -2
- package/Settlement/index.ts +10 -11
- package/dist/Acquirer/index.d.ts +1 -1
- package/dist/Acquirer/index.js +1 -1
- package/dist/Acquirer/index.js.map +1 -1
- package/dist/Amount.d.ts +2 -0
- package/dist/Amount.js +4 -0
- package/dist/Amount.js.map +1 -1
- package/dist/Amounts.d.ts +1 -0
- package/dist/Amounts.js +7 -0
- package/dist/Amounts.js.map +1 -1
- package/dist/Settlement/Entry/index.d.ts +2 -0
- package/dist/Settlement/Entry/index.js +8 -0
- package/dist/Settlement/Entry/index.js.map +1 -1
- package/dist/Settlement/Fee.d.ts +1 -0
- package/dist/Settlement/Fee.js +4 -0
- package/dist/Settlement/Fee.js.map +1 -1
- package/dist/Settlement/Total.d.ts +2 -1
- package/dist/Settlement/Total.js +6 -2
- package/dist/Settlement/Total.js.map +1 -1
- package/dist/Settlement/index.d.ts +2 -10
- package/dist/Settlement/index.js +7 -13
- package/dist/Settlement/index.js.map +1 -1
- package/package.json +1 -1
package/Acquirer/index.ts
CHANGED
|
@@ -4,14 +4,14 @@ import { isly } from "isly"
|
|
|
4
4
|
export interface Acquirer {
|
|
5
5
|
id: string
|
|
6
6
|
number: string
|
|
7
|
-
country
|
|
7
|
+
country?: isoly.CountryCode.Alpha2
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export namespace Acquirer {
|
|
11
11
|
export const type = isly.object<Acquirer>({
|
|
12
12
|
id: isly.string(),
|
|
13
13
|
number: isly.string(),
|
|
14
|
-
country: isly.fromIs("Acquirer.country", isoly.CountryCode.Alpha2.is),
|
|
14
|
+
country: isly.fromIs("Acquirer.country", isoly.CountryCode.Alpha2.is).optional(),
|
|
15
15
|
})
|
|
16
16
|
export const is = type.is
|
|
17
17
|
export const flaw = type.flaw
|
package/Amount.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { isoly } from "isoly"
|
|
2
2
|
import { isly } from "isly"
|
|
3
|
+
import { Amounts } from "./Amounts"
|
|
3
4
|
|
|
4
5
|
export type Amount = [isoly.Currency, number]
|
|
5
6
|
|
|
6
7
|
export namespace Amount {
|
|
8
|
+
export function toAmounts(amount?: Amount): Amounts {
|
|
9
|
+
return !amount ? {} : Object.fromEntries<number>([amount])
|
|
10
|
+
}
|
|
7
11
|
export const type = isly.tuple<Amount>(isly.string(isoly.Currency.types), isly.number())
|
|
8
12
|
export const is = type.is
|
|
9
13
|
export const flaw = type.flaw
|
package/Amounts.ts
CHANGED
|
@@ -4,6 +4,15 @@ import { isly } from "isly"
|
|
|
4
4
|
export type Amounts = Partial<Record<isoly.Currency, number>>
|
|
5
5
|
|
|
6
6
|
export namespace Amounts {
|
|
7
|
+
export function add(addendee: Amounts, addend: Amounts): Amounts {
|
|
8
|
+
return (Object.entries(addend) as [isoly.Currency, number][]).reduce(
|
|
9
|
+
(r: Amounts, [currency, amount]) => ({
|
|
10
|
+
...r,
|
|
11
|
+
[currency]: isoly.Currency.add(currency, addendee[currency] ?? 0, amount),
|
|
12
|
+
}),
|
|
13
|
+
addendee
|
|
14
|
+
)
|
|
15
|
+
}
|
|
7
16
|
export const type = isly.record<Amounts>(isly.string(isoly.Currency.types), isly.number())
|
|
8
17
|
export const is = type.is
|
|
9
18
|
export const flaw = type.flaw
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { gracely } from "gracely"
|
|
2
2
|
import { isly } from "isly"
|
|
3
|
-
import {
|
|
3
|
+
import { Amount } from "../../Amount"
|
|
4
4
|
import { Transaction } from "../../Transaction"
|
|
5
|
+
import { Total } from "../Total"
|
|
5
6
|
import { Cancel as EntryCancel } from "./Cancel"
|
|
6
7
|
import { Capture as EntryCapture } from "./Capture"
|
|
7
8
|
import { Creatable as EntryCreatable } from "./Creatable"
|
|
@@ -27,6 +28,11 @@ export namespace Entry {
|
|
|
27
28
|
export namespace Unknown {
|
|
28
29
|
export type Creatable = EntryUnknown.Creatable
|
|
29
30
|
}
|
|
31
|
+
export function compile(entry: Entry): Total {
|
|
32
|
+
return entry.type == "unknown"
|
|
33
|
+
? Total.initiate()
|
|
34
|
+
: Total.initiate({ amount: Amount.toAmounts(entry.amount), fee: entry.fee })
|
|
35
|
+
}
|
|
30
36
|
export function from(creatable: Entry.Creatable, transaction?: Transaction | gracely.Error): Entry {
|
|
31
37
|
return Transaction.is(transaction) && creatable.authorization
|
|
32
38
|
? {
|
package/Settlement/Fee.ts
CHANGED
|
@@ -4,8 +4,10 @@ import { Amounts } from "../Amounts"
|
|
|
4
4
|
export interface Fee {
|
|
5
5
|
other: Amounts
|
|
6
6
|
}
|
|
7
|
-
|
|
8
7
|
export namespace Fee {
|
|
8
|
+
export function add(addendee: Fee, addend: Fee): Fee {
|
|
9
|
+
return { other: Amounts.add(addendee.other, addend.other) }
|
|
10
|
+
}
|
|
9
11
|
export const type = isly.object<Fee>({ other: Amounts.type })
|
|
10
12
|
export const is = type.is
|
|
11
13
|
export const flaw = type.flaw
|
package/Settlement/Total.ts
CHANGED
|
@@ -8,8 +8,11 @@ export type Total = {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export namespace Total {
|
|
11
|
-
export function initiate(): Total {
|
|
12
|
-
return { amount: {}, fee: { other: {} } }
|
|
11
|
+
export function initiate(partial?: Partial<Total>): Total {
|
|
12
|
+
return { amount: partial?.amount ?? {}, fee: partial?.fee ?? { other: {} } }
|
|
13
|
+
}
|
|
14
|
+
export function add(addendee: Total, addend: Total): Total {
|
|
15
|
+
return { amount: Amounts.add(addendee.amount, addend.amount), fee: Fee.add(addendee.fee, addend.fee) }
|
|
13
16
|
}
|
|
14
17
|
export const type = isly.object<Total>({ amount: Amounts.type, fee: Fee.type })
|
|
15
18
|
export const is = type.is
|
package/Settlement/index.ts
CHANGED
|
@@ -29,27 +29,27 @@ export namespace Settlement {
|
|
|
29
29
|
export type Creatable = SettlementCreatable
|
|
30
30
|
export const Creatable = SettlementCreatable
|
|
31
31
|
export type Entry = SettlementEntry
|
|
32
|
+
export const Entry = SettlementEntry
|
|
32
33
|
export namespace Entry {
|
|
33
34
|
export type Summary = SettlementEntry.Summary
|
|
34
|
-
export const Summary = SettlementEntry.Summary
|
|
35
35
|
export type Creatable = SettlementEntry.Creatable
|
|
36
|
-
export const Creatable = SettlementEntry.Creatable
|
|
37
36
|
export type Refund = SettlementEntry.Refund
|
|
38
|
-
export const Refund = SettlementEntry.Refund
|
|
39
37
|
export type Cancel = SettlementEntry.Cancel
|
|
40
|
-
export const Cancel = SettlementEntry.Cancel
|
|
41
38
|
export type Capture = SettlementEntry.Capture
|
|
42
|
-
export const Capture = SettlementEntry.Capture
|
|
43
39
|
export type Unknown = SettlementEntry.Unknown
|
|
44
|
-
export const Unknown = SettlementEntry.Unknown
|
|
45
|
-
export const from = SettlementEntry.from
|
|
46
|
-
export const type = SettlementEntry.type
|
|
47
|
-
export const is = SettlementEntry.is
|
|
48
|
-
export const flaw = SettlementEntry.flaw
|
|
49
40
|
}
|
|
50
41
|
export function from(id: cryptly.Identifier, creatable: Settlement.Creatable, by: string): Settlement {
|
|
51
42
|
return { id, status: "ongoing", by, expected: Total.initiate(), ...creatable, created: isoly.DateTime.now() }
|
|
52
43
|
}
|
|
44
|
+
export function compile(settlement: Settlement, entries: Settlement.Entry[]): Settlement {
|
|
45
|
+
return entries.reduce(
|
|
46
|
+
(r, entry) =>
|
|
47
|
+
entry?.status == "succeeded"
|
|
48
|
+
? { ...r, outcome: Total.add(r.outcome ?? Total.initiate(), Entry.compile(entry)) }
|
|
49
|
+
: r,
|
|
50
|
+
settlement
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
53
|
export function toFailed(id: string, creatable: Settlement.Creatable, by: string, reason: string): Settlement {
|
|
54
54
|
return {
|
|
55
55
|
id,
|
|
@@ -61,7 +61,6 @@ export namespace Settlement {
|
|
|
61
61
|
expected: Total.initiate(),
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
|
|
65
64
|
export const type = isly.object({
|
|
66
65
|
id: isly.string(),
|
|
67
66
|
by: isly.string().optional(),
|
package/dist/Acquirer/index.d.ts
CHANGED
package/dist/Acquirer/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export var Acquirer;
|
|
|
5
5
|
Acquirer.type = isly.object({
|
|
6
6
|
id: isly.string(),
|
|
7
7
|
number: isly.string(),
|
|
8
|
-
country: isly.fromIs("Acquirer.country", isoly.CountryCode.Alpha2.is),
|
|
8
|
+
country: isly.fromIs("Acquirer.country", isoly.CountryCode.Alpha2.is).optional(),
|
|
9
9
|
});
|
|
10
10
|
Acquirer.is = Acquirer.type.is;
|
|
11
11
|
Acquirer.flaw = Acquirer.type.flaw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Acquirer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,QAAQ,CAQxB;AARD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Acquirer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,QAAQ,CAQxB;AARD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAChF,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EARgB,QAAQ,KAAR,QAAQ,QAQxB"}
|
package/dist/Amount.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { isly } from "isly";
|
|
3
|
+
import { Amounts } from "./Amounts";
|
|
3
4
|
export type Amount = [isoly.Currency, number];
|
|
4
5
|
export declare namespace Amount {
|
|
6
|
+
function toAmounts(amount?: Amount): Amounts;
|
|
5
7
|
const type: isly.Type<Amount>;
|
|
6
8
|
const is: isly.Type.IsFunction<Amount>;
|
|
7
9
|
const flaw: isly.Type.FlawFunction;
|
package/dist/Amount.js
CHANGED
|
@@ -2,6 +2,10 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
export var Amount;
|
|
4
4
|
(function (Amount) {
|
|
5
|
+
function toAmounts(amount) {
|
|
6
|
+
return !amount ? {} : Object.fromEntries([amount]);
|
|
7
|
+
}
|
|
8
|
+
Amount.toAmounts = toAmounts;
|
|
5
9
|
Amount.type = isly.tuple(isly.string(isoly.Currency.types), isly.number());
|
|
6
10
|
Amount.is = Amount.type.is;
|
|
7
11
|
Amount.flaw = Amount.type.flaw;
|
package/dist/Amount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amount.js","sourceRoot":"../","sources":["Amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Amount.js","sourceRoot":"../","sources":["Amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,MAAM,KAAW,MAAM,CAOtB;AAPD,WAAiB,MAAM;IACtB,SAAgB,SAAS,CAAC,MAAe;QACxC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC;IAFe,gBAAS,YAExB,CAAA;IACY,WAAI,GAAG,IAAI,CAAC,KAAK,CAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3E,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAPgB,MAAM,KAAN,MAAM,QAOtB"}
|
package/dist/Amounts.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
export type Amounts = Partial<Record<isoly.Currency, number>>;
|
|
4
4
|
export declare namespace Amounts {
|
|
5
|
+
function add(addendee: Amounts, addend: Amounts): Amounts;
|
|
5
6
|
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", number>>>;
|
|
6
7
|
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", number>>>;
|
|
7
8
|
const flaw: isly.Type.FlawFunction;
|
package/dist/Amounts.js
CHANGED
|
@@ -2,6 +2,13 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
export var Amounts;
|
|
4
4
|
(function (Amounts) {
|
|
5
|
+
function add(addendee, addend) {
|
|
6
|
+
return Object.entries(addend).reduce((r, [currency, amount]) => ({
|
|
7
|
+
...r,
|
|
8
|
+
[currency]: isoly.Currency.add(currency, addendee[currency] ?? 0, amount),
|
|
9
|
+
}), addendee);
|
|
10
|
+
}
|
|
11
|
+
Amounts.add = add;
|
|
5
12
|
Amounts.type = isly.record(isly.string(isoly.Currency.types), isly.number());
|
|
6
13
|
Amounts.is = Amounts.type.is;
|
|
7
14
|
Amounts.flaw = Amounts.type.flaw;
|
package/dist/Amounts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amounts.js","sourceRoot":"../","sources":["Amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,OAAO,
|
|
1
|
+
{"version":3,"file":"Amounts.js","sourceRoot":"../","sources":["Amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,OAAO,CAavB;AAbD,WAAiB,OAAO;IACvB,SAAgB,GAAG,CAAC,QAAiB,EAAE,MAAe;QACrD,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAgC,CAAC,MAAM,CACnE,CAAC,CAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC;YACJ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACzE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,WAAG,MAQlB,CAAA;IACY,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7E,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAbgB,OAAO,KAAP,OAAO,QAavB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { gracely } from "gracely";
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
import { Transaction } from "../../Transaction";
|
|
4
|
+
import { Total } from "../Total";
|
|
4
5
|
import { Cancel as EntryCancel } from "./Cancel";
|
|
5
6
|
import { Capture as EntryCapture } from "./Capture";
|
|
6
7
|
import { Creatable as EntryCreatable } from "./Creatable";
|
|
@@ -24,6 +25,7 @@ export declare namespace Entry {
|
|
|
24
25
|
namespace Unknown {
|
|
25
26
|
type Creatable = EntryUnknown.Creatable;
|
|
26
27
|
}
|
|
28
|
+
function compile(entry: Entry): Total;
|
|
27
29
|
function from(creatable: Entry.Creatable, transaction?: Transaction | gracely.Error): Entry;
|
|
28
30
|
const type: isly.Type<Entry>;
|
|
29
31
|
const is: isly.Type.IsFunction<Entry>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
|
+
import { Amount } from "../../Amount";
|
|
2
3
|
import { Transaction } from "../../Transaction";
|
|
4
|
+
import { Total } from "../Total";
|
|
3
5
|
import { Cancel as EntryCancel } from "./Cancel";
|
|
4
6
|
import { Capture as EntryCapture } from "./Capture";
|
|
5
7
|
import { Creatable as EntryCreatable } from "./Creatable";
|
|
@@ -14,6 +16,12 @@ export var Entry;
|
|
|
14
16
|
Entry.Refund = EntryRefund;
|
|
15
17
|
Entry.Summary = EntrySummary;
|
|
16
18
|
Entry.Unknown = EntryUnknown;
|
|
19
|
+
function compile(entry) {
|
|
20
|
+
return entry.type == "unknown"
|
|
21
|
+
? Total.initiate()
|
|
22
|
+
: Total.initiate({ amount: Amount.toAmounts(entry.amount), fee: entry.fee });
|
|
23
|
+
}
|
|
24
|
+
Entry.compile = compile;
|
|
17
25
|
function from(creatable, transaction) {
|
|
18
26
|
return Transaction.is(transaction) && creatable.authorization
|
|
19
27
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Settlement/Entry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
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,CAwCrB;AAxCD,WAAiB,KAAK;IAER,YAAM,GAAG,WAAW,CAAA;IAEpB,aAAO,GAAG,YAAY,CAAA;IAEtB,eAAS,GAAG,cAAc,CAAA;IAE1B,YAAM,GAAG,WAAW,CAAA;IAEpB,aAAO,GAAG,YAAY,CAAA;IAEtB,aAAO,GAAG,YAAY,CAAA;IAInC,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,EAxCgB,KAAK,KAAL,KAAK,QAwCrB"}
|
package/dist/Settlement/Fee.d.ts
CHANGED
package/dist/Settlement/Fee.js
CHANGED
|
@@ -2,6 +2,10 @@ import { isly } from "isly";
|
|
|
2
2
|
import { Amounts } from "../Amounts";
|
|
3
3
|
export var Fee;
|
|
4
4
|
(function (Fee) {
|
|
5
|
+
function add(addendee, addend) {
|
|
6
|
+
return { other: Amounts.add(addendee.other, addend.other) };
|
|
7
|
+
}
|
|
8
|
+
Fee.add = add;
|
|
5
9
|
Fee.type = isly.object({ other: Amounts.type });
|
|
6
10
|
Fee.is = Fee.type.is;
|
|
7
11
|
Fee.flaw = Fee.type.flaw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fee.js","sourceRoot":"../","sources":["Settlement/Fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Fee.js","sourceRoot":"../","sources":["Settlement/Fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAKpC,MAAM,KAAW,GAAG,CAOnB;AAPD,WAAiB,GAAG;IACnB,SAAgB,GAAG,CAAC,QAAa,EAAE,MAAW;QAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAC5D,CAAC;IAFe,OAAG,MAElB,CAAA;IACY,QAAI,GAAG,IAAI,CAAC,MAAM,CAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAChD,MAAE,GAAG,IAAA,IAAI,CAAC,EAAE,CAAA;IACZ,QAAI,GAAG,IAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAPgB,GAAG,KAAH,GAAG,QAOnB"}
|
|
@@ -6,7 +6,8 @@ export type Total = {
|
|
|
6
6
|
fee: Fee;
|
|
7
7
|
};
|
|
8
8
|
export declare namespace Total {
|
|
9
|
-
function initiate(): Total;
|
|
9
|
+
function initiate(partial?: Partial<Total>): Total;
|
|
10
|
+
function add(addendee: Total, addend: Total): Total;
|
|
10
11
|
const type: isly.object.ExtendableType<Total>;
|
|
11
12
|
const is: isly.Type.IsFunction<Total>;
|
|
12
13
|
const flaw: isly.Type.FlawFunction;
|
package/dist/Settlement/Total.js
CHANGED
|
@@ -3,10 +3,14 @@ import { Amounts } from "../Amounts";
|
|
|
3
3
|
import { Fee } from "./Fee";
|
|
4
4
|
export var Total;
|
|
5
5
|
(function (Total) {
|
|
6
|
-
function initiate() {
|
|
7
|
-
return { amount: {}, fee: { other: {} } };
|
|
6
|
+
function initiate(partial) {
|
|
7
|
+
return { amount: partial?.amount ?? {}, fee: partial?.fee ?? { other: {} } };
|
|
8
8
|
}
|
|
9
9
|
Total.initiate = initiate;
|
|
10
|
+
function add(addendee, addend) {
|
|
11
|
+
return { amount: Amounts.add(addendee.amount, addend.amount), fee: Fee.add(addendee.fee, addend.fee) };
|
|
12
|
+
}
|
|
13
|
+
Total.add = add;
|
|
10
14
|
Total.type = isly.object({ amount: Amounts.type, fee: Fee.type });
|
|
11
15
|
Total.is = Total.type.is;
|
|
12
16
|
Total.flaw = Total.type.flaw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Total.js","sourceRoot":"../","sources":["Settlement/Total.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAO3B,MAAM,KAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"Total.js","sourceRoot":"../","sources":["Settlement/Total.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAO3B,MAAM,KAAW,KAAK,CAUrB;AAVD,WAAiB,KAAK;IACrB,SAAgB,QAAQ,CAAC,OAAwB;QAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAA;IAC7E,CAAC;IAFe,cAAQ,WAEvB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAe,EAAE,MAAa;QACjD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACvG,CAAC;IAFe,SAAG,MAElB,CAAA;IACY,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAClE,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;IACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAVgB,KAAK,KAAL,KAAK,QAUrB"}
|
|
@@ -27,25 +27,17 @@ export declare namespace Settlement {
|
|
|
27
27
|
type Creatable = SettlementCreatable;
|
|
28
28
|
const Creatable: typeof SettlementCreatable;
|
|
29
29
|
type Entry = SettlementEntry;
|
|
30
|
+
const Entry: typeof SettlementEntry;
|
|
30
31
|
namespace Entry {
|
|
31
32
|
type Summary = SettlementEntry.Summary;
|
|
32
|
-
const Summary: typeof import("./Entry/Summary").Summary;
|
|
33
33
|
type Creatable = SettlementEntry.Creatable;
|
|
34
|
-
const Creatable: typeof import("./Entry/Creatable").Creatable;
|
|
35
34
|
type Refund = SettlementEntry.Refund;
|
|
36
|
-
const Refund: typeof import("./Entry/Refund").Refund;
|
|
37
35
|
type Cancel = SettlementEntry.Cancel;
|
|
38
|
-
const Cancel: typeof import("./Entry/Cancel").Cancel;
|
|
39
36
|
type Capture = SettlementEntry.Capture;
|
|
40
|
-
const Capture: typeof import("./Entry/Capture").Capture;
|
|
41
37
|
type Unknown = SettlementEntry.Unknown;
|
|
42
|
-
const Unknown: typeof import("./Entry/Unknown").Unknown;
|
|
43
|
-
const from: typeof SettlementEntry.from;
|
|
44
|
-
const type: isly.Type<SettlementEntry>;
|
|
45
|
-
const is: isly.Type.IsFunction<SettlementEntry>;
|
|
46
|
-
const flaw: isly.Type.FlawFunction;
|
|
47
38
|
}
|
|
48
39
|
function from(id: cryptly.Identifier, creatable: Settlement.Creatable, by: string): Settlement;
|
|
40
|
+
function compile(settlement: Settlement, entries: Settlement.Entry[]): Settlement;
|
|
49
41
|
function toFailed(id: string, creatable: Settlement.Creatable, by: string, reason: string): Settlement;
|
|
50
42
|
const type: isly.object.ExtendableType<object>;
|
|
51
43
|
const is: isly.Type.IsFunction<object>;
|
package/dist/Settlement/index.js
CHANGED
|
@@ -11,23 +11,17 @@ export var Settlement;
|
|
|
11
11
|
Settlement.Total = SettlementTotal;
|
|
12
12
|
Settlement.Fee = SettlementFee;
|
|
13
13
|
Settlement.Creatable = SettlementCreatable;
|
|
14
|
-
|
|
15
|
-
(function (Entry) {
|
|
16
|
-
Entry.Summary = SettlementEntry.Summary;
|
|
17
|
-
Entry.Creatable = SettlementEntry.Creatable;
|
|
18
|
-
Entry.Refund = SettlementEntry.Refund;
|
|
19
|
-
Entry.Cancel = SettlementEntry.Cancel;
|
|
20
|
-
Entry.Capture = SettlementEntry.Capture;
|
|
21
|
-
Entry.Unknown = SettlementEntry.Unknown;
|
|
22
|
-
Entry.from = SettlementEntry.from;
|
|
23
|
-
Entry.type = SettlementEntry.type;
|
|
24
|
-
Entry.is = SettlementEntry.is;
|
|
25
|
-
Entry.flaw = SettlementEntry.flaw;
|
|
26
|
-
})(Entry = Settlement.Entry || (Settlement.Entry = {}));
|
|
14
|
+
Settlement.Entry = SettlementEntry;
|
|
27
15
|
function from(id, creatable, by) {
|
|
28
16
|
return { id, status: "ongoing", by, expected: Settlement.Total.initiate(), ...creatable, created: isoly.DateTime.now() };
|
|
29
17
|
}
|
|
30
18
|
Settlement.from = from;
|
|
19
|
+
function compile(settlement, entries) {
|
|
20
|
+
return entries.reduce((r, entry) => entry?.status == "succeeded"
|
|
21
|
+
? { ...r, outcome: Settlement.Total.add(r.outcome ?? Settlement.Total.initiate(), Settlement.Entry.compile(entry)) }
|
|
22
|
+
: r, settlement);
|
|
23
|
+
}
|
|
24
|
+
Settlement.compile = compile;
|
|
31
25
|
function toFailed(id, creatable, by, reason) {
|
|
32
26
|
return {
|
|
33
27
|
id,
|
|
@@ -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;AAC3B,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,SAAS,CAAA;AAelD,MAAM,KAAW,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Settlement/index.ts"],"names":[],"mappings":"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"}
|