@pax2pay/model-banking 0.1.197 → 0.1.199
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/CounterBalances/index.ts +4 -0
- package/Operation/Changes.ts +7 -3
- package/Operation/Creatable.ts +1 -0
- package/Rule/index.ts +1 -1
- package/Transaction/Collect/Creatable.ts +14 -0
- package/Transaction/Collect/Failed.ts +33 -0
- package/Transaction/Collect/index.ts +41 -0
- package/Transaction/index.ts +8 -2
- package/dist/CounterBalances/index.d.ts +4 -0
- package/dist/CounterBalances/index.js.map +1 -1
- package/dist/Operation/Changes.d.ts +4 -4
- package/dist/Operation/Changes.js +1 -1
- package/dist/Operation/Changes.js.map +1 -1
- package/dist/Operation/Creatable.d.ts +1 -1
- package/dist/Operation/Creatable.js +1 -0
- package/dist/Operation/Creatable.js.map +1 -1
- package/dist/Rule/index.d.ts +1 -1
- package/dist/Transaction/Collect/Creatable.d.ts +10 -0
- package/dist/Transaction/Collect/Creatable.js +10 -0
- package/dist/Transaction/Collect/Creatable.js.map +1 -0
- package/dist/Transaction/Collect/Failed.d.ts +17 -0
- package/dist/Transaction/Collect/Failed.js +27 -0
- package/dist/Transaction/Collect/Failed.js.map +1 -0
- package/dist/Transaction/Collect/index.d.ts +20 -0
- package/dist/Transaction/Collect/index.js +38 -0
- package/dist/Transaction/Collect/index.js.map +1 -0
- package/dist/Transaction/index.d.ts +8 -2
- package/dist/Transaction/index.js +2 -0
- package/dist/Transaction/index.js.map +1 -1
- package/package.json +1 -1
package/CounterBalances/index.ts
CHANGED
|
@@ -8,6 +8,10 @@ export namespace Counterbalances {
|
|
|
8
8
|
export const Counterbalance = CounterbalancesCounterBalance
|
|
9
9
|
export namespace Counterbalance {
|
|
10
10
|
export type Entry = CounterbalancesCounterBalance.Entry
|
|
11
|
+
export namespace Entry {
|
|
12
|
+
export type Internal = CounterbalancesCounterBalance.Entry.Internal
|
|
13
|
+
export type Settlement = CounterbalancesCounterBalance.Entry.Settlement
|
|
14
|
+
}
|
|
11
15
|
}
|
|
12
16
|
export const type = isly.record<Counterbalances>(
|
|
13
17
|
isly.fromIs("isoly.Currency", isoly.Currency.is),
|
package/Operation/Changes.ts
CHANGED
|
@@ -3,15 +3,19 @@ import { Balances } from "../Balances"
|
|
|
3
3
|
import { Counterbalances } from "../CounterBalances"
|
|
4
4
|
import { Change as Change } from "./Change"
|
|
5
5
|
|
|
6
|
-
export type Changes = Partial<Record<Changes.Entry, Change>>
|
|
6
|
+
export type Changes = Partial<Record<Changes.Entry | Counterbalances.Counterbalance.Entry.Internal, Change>> &
|
|
7
|
+
Record<Counterbalances.Counterbalance.Entry.Settlement, Change>
|
|
7
8
|
|
|
8
9
|
export namespace Changes {
|
|
9
|
-
export type Entry = Balances.Balance.Entry
|
|
10
|
+
export type Entry = Balances.Balance.Entry
|
|
10
11
|
export namespace Entry {
|
|
11
12
|
export const values = [...Balances.Balance.Entry.values, ...Counterbalances.Counterbalance.Entry.values]
|
|
12
13
|
export const type = isly.string(values)
|
|
13
14
|
}
|
|
14
|
-
export const type = isly.record<Changes>(
|
|
15
|
+
export const type = isly.record<Changes>(
|
|
16
|
+
isly.union(Entry.type, Counterbalances.Counterbalance.Entry.type),
|
|
17
|
+
Change.type
|
|
18
|
+
)
|
|
15
19
|
export const is = type.is
|
|
16
20
|
export const flaw = type.flaw
|
|
17
21
|
}
|
package/Operation/Creatable.ts
CHANGED
package/Rule/index.ts
CHANGED
|
@@ -21,7 +21,7 @@ export namespace Rule {
|
|
|
21
21
|
export type Authorization = RuleState.Authorization
|
|
22
22
|
export type Card = RuleState.Card
|
|
23
23
|
export namespace Card {
|
|
24
|
-
export type
|
|
24
|
+
export type Statistics = RuleState.Card.Statistics
|
|
25
25
|
}
|
|
26
26
|
export type Transaction = RuleState.Transaction
|
|
27
27
|
export type Data = RuleState.Data
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { cryptly } from "cryptly"
|
|
2
|
+
import { isly } from "isly"
|
|
3
|
+
import { Counterbalances } from "../../CounterBalances"
|
|
4
|
+
|
|
5
|
+
export interface Creatable {
|
|
6
|
+
source: Counterbalances.Counterbalance.Entry.Settlement
|
|
7
|
+
target: cryptly.Identifier
|
|
8
|
+
}
|
|
9
|
+
export namespace Creatable {
|
|
10
|
+
export const type = isly.object<Creatable>({
|
|
11
|
+
source: isly.string(),
|
|
12
|
+
target: isly.fromIs("cryptly.Identifier", cryptly.Identifier.is),
|
|
13
|
+
})
|
|
14
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { gracely } from "gracely"
|
|
2
|
+
import { Counterbalances } from "../../CounterBalances"
|
|
3
|
+
import type { Transaction } from "../index"
|
|
4
|
+
import { Creatable } from "./Creatable"
|
|
5
|
+
|
|
6
|
+
export type Failed = { counterbalances: Counterbalances; reasons: Failed.Reason[] }
|
|
7
|
+
export namespace Failed {
|
|
8
|
+
export type Reason = {
|
|
9
|
+
transaction?: Partial<Transaction>
|
|
10
|
+
collect?: Creatable
|
|
11
|
+
error?: gracely.Error
|
|
12
|
+
}
|
|
13
|
+
export function from(collect: Creatable, error: gracely.Error, transaction?: Partial<Transaction>): Failed {
|
|
14
|
+
return {
|
|
15
|
+
counterbalances: transaction?.currency
|
|
16
|
+
? {
|
|
17
|
+
[transaction.currency]: { [collect.source]: transaction.amount },
|
|
18
|
+
}
|
|
19
|
+
: {},
|
|
20
|
+
reasons: [{ transaction, collect, error }],
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function aggregate(addendee: Failed | undefined, addend: Failed | undefined): Failed | undefined {
|
|
24
|
+
return !addendee
|
|
25
|
+
? addend
|
|
26
|
+
: !addend
|
|
27
|
+
? addendee
|
|
28
|
+
: {
|
|
29
|
+
counterbalances: Counterbalances.add(addendee?.counterbalances, addend?.counterbalances),
|
|
30
|
+
reasons: [...(addendee?.reasons ?? []), ...(addend?.reasons ?? [])],
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { gracely } from "gracely"
|
|
2
|
+
import { Counterbalances } from "../../CounterBalances"
|
|
3
|
+
import type { Transaction } from "../index"
|
|
4
|
+
import { Creatable as CollectCreatable } from "./Creatable"
|
|
5
|
+
import { Failed } from "./Failed"
|
|
6
|
+
|
|
7
|
+
export type Collect = {
|
|
8
|
+
counterbalances: Counterbalances
|
|
9
|
+
failed?: Failed
|
|
10
|
+
}
|
|
11
|
+
export namespace Collect {
|
|
12
|
+
export type Creatable = CollectCreatable
|
|
13
|
+
export namespace Creatable {
|
|
14
|
+
export const type = CollectCreatable.type
|
|
15
|
+
export const is = CollectCreatable.type.is
|
|
16
|
+
export const flaw = CollectCreatable.type.flaw
|
|
17
|
+
}
|
|
18
|
+
export function from(transaction: Partial<Transaction>, creatable: CollectCreatable, error?: gracely.Error): Collect {
|
|
19
|
+
const counterbalances =
|
|
20
|
+
transaction.currency && transaction.amount
|
|
21
|
+
? { [transaction.currency]: { [creatable.source]: Math.abs(transaction.amount) } }
|
|
22
|
+
: {}
|
|
23
|
+
return error
|
|
24
|
+
? {
|
|
25
|
+
counterbalances: {},
|
|
26
|
+
failed: Failed.from(creatable, error, transaction),
|
|
27
|
+
}
|
|
28
|
+
: {
|
|
29
|
+
counterbalances,
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function sum(collects: Collect[]): Collect {
|
|
33
|
+
return collects.reduce((r, e) => aggregate(r, e), { counterbalances: {} })
|
|
34
|
+
}
|
|
35
|
+
export function aggregate(addendee: Collect, addend: Collect): Collect {
|
|
36
|
+
return {
|
|
37
|
+
counterbalances: Counterbalances.add(addendee.counterbalances, addend.counterbalances),
|
|
38
|
+
failed: Failed.aggregate(addendee.failed, addend.failed),
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
package/Transaction/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { isly } from "isly"
|
|
|
4
4
|
import { Identifier } from "../Identifier"
|
|
5
5
|
import { Operation } from "../Operation"
|
|
6
6
|
import { Rail } from "../Rail"
|
|
7
|
+
import { Collect as TransactionCollect } from "./Collect"
|
|
7
8
|
import { Creatable as TransactionCreatable } from "./Creatable"
|
|
8
9
|
import { Incoming as TransactionIncoming } from "./Incoming"
|
|
9
10
|
import { Note as TransactionNote } from "./Note"
|
|
@@ -28,17 +29,22 @@ export interface Transaction extends Transaction.Creatable {
|
|
|
28
29
|
export namespace Transaction {
|
|
29
30
|
export type Creatable = TransactionCreatable
|
|
30
31
|
export const Creatable = TransactionCreatable
|
|
32
|
+
export type Collect = TransactionCollect
|
|
33
|
+
export const Collect = TransactionCollect
|
|
34
|
+
export namespace Collect {
|
|
35
|
+
export type Creatable = TransactionCollect.Creatable
|
|
36
|
+
}
|
|
31
37
|
export type Incoming = TransactionIncoming
|
|
32
38
|
export const Incoming = TransactionIncoming
|
|
33
39
|
export type Reference = TransactionReference
|
|
34
40
|
export const Reference = TransactionReference
|
|
35
41
|
export type Note = TransactionNote
|
|
36
42
|
export const Note = TransactionNote
|
|
37
|
-
export type Status = TransactionStatus
|
|
38
|
-
export const Status = TransactionStatus
|
|
39
43
|
export namespace Note {
|
|
40
44
|
export type Creatable = TransactionNote.Creatable
|
|
41
45
|
}
|
|
46
|
+
export type Status = TransactionStatus
|
|
47
|
+
export const Status = TransactionStatus
|
|
42
48
|
export const type = Creatable.type.extend<Transaction>({
|
|
43
49
|
organization: isly.string(),
|
|
44
50
|
accountId: isly.string(),
|
|
@@ -7,6 +7,10 @@ export declare namespace Counterbalances {
|
|
|
7
7
|
const Counterbalance: typeof CounterbalancesCounterBalance;
|
|
8
8
|
namespace Counterbalance {
|
|
9
9
|
type Entry = CounterbalancesCounterBalance.Entry;
|
|
10
|
+
namespace Entry {
|
|
11
|
+
type Internal = CounterbalancesCounterBalance.Entry.Internal;
|
|
12
|
+
type Settlement = CounterbalancesCounterBalance.Entry.Settlement;
|
|
13
|
+
}
|
|
10
14
|
}
|
|
11
15
|
const type: isly.Type<Partial<Record<"BTN" | "CHE" | "MKD" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL", Partial<Record<CounterbalancesCounterBalance.Entry, number>>>>>;
|
|
12
16
|
const is: isly.Type.IsFunction<Partial<Record<"BTN" | "CHE" | "MKD" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL", Partial<Record<CounterbalancesCounterBalance.Entry, number>>>>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["CounterBalances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,cAAc,IAAI,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAGlF,MAAM,KAAW,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["CounterBalances/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,cAAc,IAAI,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAGlF,MAAM,KAAW,eAAe,CAyB/B;AAzBD,WAAiB,eAAe;IAElB,8BAAc,GAAG,6BAA6B,CAAA;IAQ9C,oBAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChD,6BAA6B,CAAC,IAAI,CAClC,CAAA;IACY,kBAAE,GAAG,gBAAA,IAAI,CAAC,EAAE,CAAA;IACZ,oBAAI,GAAG,gBAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAyB,EAAE,MAAuB;QACrE,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAwC,CAAC,MAAM,CAC3E,CAAC,CAAkB,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC;YACJ,CAAC,QAAQ,CAAC,EAAE,gBAAA,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC;SAClF,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,mBAAG,MAQlB,CAAA;AACF,CAAC,EAzBgB,eAAe,KAAf,eAAe,QAyB/B"}
|
|
@@ -2,14 +2,14 @@ import { isly } from "isly";
|
|
|
2
2
|
import { Balances } from "../Balances";
|
|
3
3
|
import { Counterbalances } from "../CounterBalances";
|
|
4
4
|
import { Change as Change } from "./Change";
|
|
5
|
-
export type Changes = Partial<Record<Changes.Entry, Change
|
|
5
|
+
export type Changes = Partial<Record<Changes.Entry | Counterbalances.Counterbalance.Entry.Internal, Change>> & Record<Counterbalances.Counterbalance.Entry.Settlement, Change>;
|
|
6
6
|
export declare namespace Changes {
|
|
7
|
-
type Entry = Balances.Balance.Entry
|
|
7
|
+
type Entry = Balances.Balance.Entry;
|
|
8
8
|
namespace Entry {
|
|
9
9
|
const values: ("actual" | "incomingReserved" | "outgoingReserved" | "incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other")[];
|
|
10
10
|
const type: isly.Type<"actual" | "incomingReserved" | "outgoingReserved" | "incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other">;
|
|
11
11
|
}
|
|
12
|
-
const type: isly.Type<
|
|
13
|
-
const is: isly.Type.IsFunction<
|
|
12
|
+
const type: isly.Type<Changes>;
|
|
13
|
+
const is: isly.Type.IsFunction<Changes>;
|
|
14
14
|
const flaw: isly.Type.FlawFunction;
|
|
15
15
|
}
|
|
@@ -9,7 +9,7 @@ export var Changes;
|
|
|
9
9
|
Entry.values = [...Balances.Balance.Entry.values, ...Counterbalances.Counterbalance.Entry.values];
|
|
10
10
|
Entry.type = isly.string(Entry.values);
|
|
11
11
|
})(Entry = Changes.Entry || (Changes.Entry = {}));
|
|
12
|
-
Changes.type = isly.record(Entry.type, Change.type);
|
|
12
|
+
Changes.type = isly.record(isly.union(Entry.type, Counterbalances.Counterbalance.Entry.type), Change.type);
|
|
13
13
|
Changes.is = Changes.type.is;
|
|
14
14
|
Changes.flaw = Changes.type.flaw;
|
|
15
15
|
})(Changes || (Changes = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAK3C,MAAM,KAAW,OAAO,CAYvB;AAZD,WAAiB,OAAO;IAEvB,IAAiB,KAAK,CAGrB;IAHD,WAAiB,KAAK;QACR,YAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3F,UAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;IACxC,CAAC,EAHgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAGrB;IACY,YAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EACjE,MAAM,CAAC,IAAI,CACX,CAAA;IACY,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAZgB,OAAO,KAAP,OAAO,QAYvB"}
|
|
@@ -9,7 +9,7 @@ export interface Creatable {
|
|
|
9
9
|
type: Creatable.Type;
|
|
10
10
|
}
|
|
11
11
|
export declare namespace Creatable {
|
|
12
|
-
const types: readonly ["authorization", "settlement", "incoming", "finalizeIncoming", "outgoing", "finalizeOutgoing", "deposit", "remove", "legacy"];
|
|
12
|
+
const types: readonly ["authorization", "settlement", "incoming", "finalizeIncoming", "outgoing", "finalizeOutgoing", "deposit", "remove", "legacy", "collect"];
|
|
13
13
|
type Type = typeof types[number];
|
|
14
14
|
const type: isly.object.ExtendableType<Creatable>;
|
|
15
15
|
const is: isly.Type.IsFunction<Creatable>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CAsBzB;AAtBD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,eAAe;QACf,YAAY;QACZ,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,SAAS;KACA,CAAA;IAEG,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAtBgB,SAAS,KAAT,SAAS,QAsBzB"}
|
package/dist/Rule/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare namespace Rule {
|
|
|
18
18
|
type Authorization = RuleState.Authorization;
|
|
19
19
|
type Card = RuleState.Card;
|
|
20
20
|
namespace Card {
|
|
21
|
-
type
|
|
21
|
+
type Statistics = RuleState.Card.Statistics;
|
|
22
22
|
}
|
|
23
23
|
type Transaction = RuleState.Transaction;
|
|
24
24
|
type Data = RuleState.Data;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cryptly } from "cryptly";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
import { Counterbalances } from "../../CounterBalances";
|
|
4
|
+
export interface Creatable {
|
|
5
|
+
source: Counterbalances.Counterbalance.Entry.Settlement;
|
|
6
|
+
target: cryptly.Identifier;
|
|
7
|
+
}
|
|
8
|
+
export declare namespace Creatable {
|
|
9
|
+
const type: isly.object.ExtendableType<Creatable>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cryptly } from "cryptly";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
export var Creatable;
|
|
4
|
+
(function (Creatable) {
|
|
5
|
+
Creatable.type = isly.object({
|
|
6
|
+
source: isly.string(),
|
|
7
|
+
target: isly.fromIs("cryptly.Identifier", cryptly.Identifier.is),
|
|
8
|
+
});
|
|
9
|
+
})(Creatable || (Creatable = {}));
|
|
10
|
+
//# sourceMappingURL=Creatable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Transaction/Collect/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAO3B,MAAM,KAAW,SAAS,CAKzB;AALD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;KAChE,CAAC,CAAA;AACH,CAAC,EALgB,SAAS,KAAT,SAAS,QAKzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { gracely } from "gracely";
|
|
2
|
+
import { Counterbalances } from "../../CounterBalances";
|
|
3
|
+
import type { Transaction } from "../index";
|
|
4
|
+
import { Creatable } from "./Creatable";
|
|
5
|
+
export type Failed = {
|
|
6
|
+
counterbalances: Counterbalances;
|
|
7
|
+
reasons: Failed.Reason[];
|
|
8
|
+
};
|
|
9
|
+
export declare namespace Failed {
|
|
10
|
+
type Reason = {
|
|
11
|
+
transaction?: Partial<Transaction>;
|
|
12
|
+
collect?: Creatable;
|
|
13
|
+
error?: gracely.Error;
|
|
14
|
+
};
|
|
15
|
+
function from(collect: Creatable, error: gracely.Error, transaction?: Partial<Transaction>): Failed;
|
|
16
|
+
function aggregate(addendee: Failed | undefined, addend: Failed | undefined): Failed | undefined;
|
|
17
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Counterbalances } from "../../CounterBalances";
|
|
2
|
+
export var Failed;
|
|
3
|
+
(function (Failed) {
|
|
4
|
+
function from(collect, error, transaction) {
|
|
5
|
+
return {
|
|
6
|
+
counterbalances: transaction?.currency
|
|
7
|
+
? {
|
|
8
|
+
[transaction.currency]: { [collect.source]: transaction.amount },
|
|
9
|
+
}
|
|
10
|
+
: {},
|
|
11
|
+
reasons: [{ transaction, collect, error }],
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Failed.from = from;
|
|
15
|
+
function aggregate(addendee, addend) {
|
|
16
|
+
return !addendee
|
|
17
|
+
? addend
|
|
18
|
+
: !addend
|
|
19
|
+
? addendee
|
|
20
|
+
: {
|
|
21
|
+
counterbalances: Counterbalances.add(addendee?.counterbalances, addend?.counterbalances),
|
|
22
|
+
reasons: [...(addendee?.reasons ?? []), ...(addend?.reasons ?? [])],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
Failed.aggregate = aggregate;
|
|
26
|
+
})(Failed || (Failed = {}));
|
|
27
|
+
//# sourceMappingURL=Failed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Failed.js","sourceRoot":"../","sources":["Transaction/Collect/Failed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAKvD,MAAM,KAAW,MAAM,CA0BtB;AA1BD,WAAiB,MAAM;IAMtB,SAAgB,IAAI,CAAC,OAAkB,EAAE,KAAoB,EAAE,WAAkC;QAChG,OAAO;YACN,eAAe,EAAE,WAAW,EAAE,QAAQ;gBACrC,CAAC,CAAC;oBACA,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE;iBAC/D;gBACH,CAAC,CAAC,EAAE;YACL,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC1C,CAAA;IACF,CAAC;IATe,WAAI,OASnB,CAAA;IACD,SAAgB,SAAS,CAAC,QAA4B,EAAE,MAA0B;QACjF,OAAO,CAAC,QAAQ;YACf,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,MAAM;gBACT,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC;oBACA,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,CAAC;oBACxF,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;iBAClE,CAAA;IACL,CAAC;IATe,gBAAS,YASxB,CAAA;AACF,CAAC,EA1BgB,MAAM,KAAN,MAAM,QA0BtB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { gracely } from "gracely";
|
|
2
|
+
import { Counterbalances } from "../../CounterBalances";
|
|
3
|
+
import type { Transaction } from "../index";
|
|
4
|
+
import { Creatable as CollectCreatable } from "./Creatable";
|
|
5
|
+
import { Failed } from "./Failed";
|
|
6
|
+
export type Collect = {
|
|
7
|
+
counterbalances: Counterbalances;
|
|
8
|
+
failed?: Failed;
|
|
9
|
+
};
|
|
10
|
+
export declare namespace Collect {
|
|
11
|
+
type Creatable = CollectCreatable;
|
|
12
|
+
namespace Creatable {
|
|
13
|
+
const type: import("isly/dist/cjs/object").object.ExtendableType<CollectCreatable>;
|
|
14
|
+
const is: import("isly/dist/cjs/Type").Type.IsFunction<CollectCreatable>;
|
|
15
|
+
const flaw: import("isly/dist/cjs/Type").Type.FlawFunction;
|
|
16
|
+
}
|
|
17
|
+
function from(transaction: Partial<Transaction>, creatable: CollectCreatable, error?: gracely.Error): Collect;
|
|
18
|
+
function sum(collects: Collect[]): Collect;
|
|
19
|
+
function aggregate(addendee: Collect, addend: Collect): Collect;
|
|
20
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Counterbalances } from "../../CounterBalances";
|
|
2
|
+
import { Creatable as CollectCreatable } from "./Creatable";
|
|
3
|
+
import { Failed } from "./Failed";
|
|
4
|
+
export var Collect;
|
|
5
|
+
(function (Collect) {
|
|
6
|
+
let Creatable;
|
|
7
|
+
(function (Creatable) {
|
|
8
|
+
Creatable.type = CollectCreatable.type;
|
|
9
|
+
Creatable.is = CollectCreatable.type.is;
|
|
10
|
+
Creatable.flaw = CollectCreatable.type.flaw;
|
|
11
|
+
})(Creatable = Collect.Creatable || (Collect.Creatable = {}));
|
|
12
|
+
function from(transaction, creatable, error) {
|
|
13
|
+
const counterbalances = transaction.currency && transaction.amount
|
|
14
|
+
? { [transaction.currency]: { [creatable.source]: Math.abs(transaction.amount) } }
|
|
15
|
+
: {};
|
|
16
|
+
return error
|
|
17
|
+
? {
|
|
18
|
+
counterbalances: {},
|
|
19
|
+
failed: Failed.from(creatable, error, transaction),
|
|
20
|
+
}
|
|
21
|
+
: {
|
|
22
|
+
counterbalances,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
Collect.from = from;
|
|
26
|
+
function sum(collects) {
|
|
27
|
+
return collects.reduce((r, e) => aggregate(r, e), { counterbalances: {} });
|
|
28
|
+
}
|
|
29
|
+
Collect.sum = sum;
|
|
30
|
+
function aggregate(addendee, addend) {
|
|
31
|
+
return {
|
|
32
|
+
counterbalances: Counterbalances.add(addendee.counterbalances, addend.counterbalances),
|
|
33
|
+
failed: Failed.aggregate(addendee.failed, addend.failed),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
Collect.aggregate = aggregate;
|
|
37
|
+
})(Collect || (Collect = {}));
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/Collect/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,MAAM,KAAW,OAAO,CA8BvB;AA9BD,WAAiB,OAAO;IAEvB,IAAiB,SAAS,CAIzB;IAJD,WAAiB,SAAS;QACZ,cAAI,GAAG,gBAAgB,CAAC,IAAI,CAAA;QAC5B,YAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAA;QAC7B,cAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAA;IAC/C,CAAC,EAJgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIzB;IACD,SAAgB,IAAI,CAAC,WAAiC,EAAE,SAA2B,EAAE,KAAqB;QACzG,MAAM,eAAe,GACpB,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM;YACzC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE;YAClF,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,KAAK;YACX,CAAC,CAAC;gBACA,eAAe,EAAE,EAAE;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;aACjD;YACH,CAAC,CAAC;gBACA,eAAe;aACd,CAAA;IACL,CAAC;IAbe,YAAI,OAanB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAmB;QACtC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3E,CAAC;IAFe,WAAG,MAElB,CAAA;IACD,SAAgB,SAAS,CAAC,QAAiB,EAAE,MAAe;QAC3D,OAAO;YACN,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;YACtF,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;SACxD,CAAA;IACF,CAAC;IALe,iBAAS,YAKxB,CAAA;AACF,CAAC,EA9BgB,OAAO,KAAP,OAAO,QA8BvB"}
|
|
@@ -3,6 +3,7 @@ import { isoly } from "isoly";
|
|
|
3
3
|
import { isly } from "isly";
|
|
4
4
|
import { Operation } from "../Operation";
|
|
5
5
|
import { Rail } from "../Rail";
|
|
6
|
+
import { Collect as TransactionCollect } from "./Collect";
|
|
6
7
|
import { Creatable as TransactionCreatable } from "./Creatable";
|
|
7
8
|
import { Incoming as TransactionIncoming } from "./Incoming";
|
|
8
9
|
import { Note as TransactionNote } from "./Note";
|
|
@@ -26,17 +27,22 @@ export interface Transaction extends Transaction.Creatable {
|
|
|
26
27
|
export declare namespace Transaction {
|
|
27
28
|
type Creatable = TransactionCreatable;
|
|
28
29
|
const Creatable: typeof TransactionCreatable;
|
|
30
|
+
type Collect = TransactionCollect;
|
|
31
|
+
const Collect: typeof TransactionCollect;
|
|
32
|
+
namespace Collect {
|
|
33
|
+
type Creatable = TransactionCollect.Creatable;
|
|
34
|
+
}
|
|
29
35
|
type Incoming = TransactionIncoming;
|
|
30
36
|
const Incoming: typeof TransactionIncoming;
|
|
31
37
|
type Reference = TransactionReference;
|
|
32
38
|
const Reference: typeof TransactionReference;
|
|
33
39
|
type Note = TransactionNote;
|
|
34
40
|
const Note: typeof TransactionNote;
|
|
35
|
-
type Status = TransactionStatus;
|
|
36
|
-
const Status: typeof TransactionStatus;
|
|
37
41
|
namespace Note {
|
|
38
42
|
type Creatable = TransactionNote.Creatable;
|
|
39
43
|
}
|
|
44
|
+
type Status = TransactionStatus;
|
|
45
|
+
const Status: typeof TransactionStatus;
|
|
40
46
|
const type: isly.object.ExtendableType<Transaction>;
|
|
41
47
|
const is: isly.Type.IsFunction<Transaction>;
|
|
42
48
|
const flaw: isly.Type.FlawFunction;
|
|
@@ -4,6 +4,7 @@ import { isly } from "isly";
|
|
|
4
4
|
import { Identifier } from "../Identifier";
|
|
5
5
|
import { Operation } from "../Operation";
|
|
6
6
|
import { Rail } from "../Rail";
|
|
7
|
+
import { Collect as TransactionCollect } from "./Collect";
|
|
7
8
|
import { Creatable as TransactionCreatable } from "./Creatable";
|
|
8
9
|
import { Incoming as TransactionIncoming } from "./Incoming";
|
|
9
10
|
import { Note as TransactionNote } from "./Note";
|
|
@@ -12,6 +13,7 @@ import { Status as TransactionStatus } from "./Status";
|
|
|
12
13
|
export var Transaction;
|
|
13
14
|
(function (Transaction) {
|
|
14
15
|
Transaction.Creatable = TransactionCreatable;
|
|
16
|
+
Transaction.Collect = TransactionCollect;
|
|
15
17
|
Transaction.Incoming = TransactionIncoming;
|
|
16
18
|
Transaction.Reference = TransactionReference;
|
|
17
19
|
Transaction.Note = TransactionNote;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAiBtD,MAAM,KAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/index.ts"],"names":[],"mappings":"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"}
|