@pax2pay/model-banking 0.1.258 → 0.1.260

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.
@@ -5,7 +5,6 @@ import { Batch } from "../Settlement/Batch"
5
5
  import { Supplier } from "../Supplier"
6
6
 
7
7
  export type Counterbalance = Partial<Record<Counterbalance.Entry, number>>
8
-
9
8
  export namespace Counterbalance {
10
9
  export type Entry = Entry.Internal | Entry.Settlement
11
10
  export namespace Entry {
@@ -0,0 +1,38 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+ import { Supplier } from "./Supplier"
4
+
5
+ export type Counterbalance2 = {
6
+ minted: Partial<Record<Counterbalance2.Source, number>>
7
+ burned: Partial<Record<Counterbalance2.Sink, number>>
8
+ }
9
+ export namespace Counterbalance2 {
10
+ export const sources = [...Supplier.names, "internal"] as const
11
+ export type Source = `${typeof sources[number]}-${string}` // string: fiat account identifier
12
+ export const Source = isly.fromIs<Source>("Source", (value: any | Source) => {
13
+ const result = !value ? false : typeof value == "string" && value.split("-")
14
+ return result && result.length == 2 && sources.includes(result[0] as any) && typeof result[1] == "string"
15
+ })
16
+ export const sinks = [...Supplier.names, "internal"] as const
17
+ export type Sink = `${typeof sinks[number]}-${string}` // string: fiat account identifier
18
+ export const Sink = isly.fromIs<Sink>("Sink", (value: any | Sink) => {
19
+ const result = !value ? false : typeof value == "string" && value.split("-")
20
+ return result && result.length == 2 && sinks.includes(result[0] as any) && typeof result[1] == "string"
21
+ })
22
+ export const type = isly.object<Counterbalance2>({
23
+ minted: isly.record<Counterbalance2["minted"]>(Source, isly.number()),
24
+ burned: isly.record<Counterbalance2["burned"]>(Sink, isly.number()),
25
+ })
26
+ export type Link = Source | Sink
27
+ export const Link = isly.union<Link, Source, Sink>(Source, Sink)
28
+ export function add(currency: isoly.Currency, addendee: Counterbalance2, addend: Counterbalance2): Counterbalance2 {
29
+ const result: Counterbalance2 = { minted: { ...addend.minted }, burned: { ...addend.burned } }
30
+ for (const [source, value] of Object.entries(addendee["minted"]) as [Source, number][]) {
31
+ result["minted"][source] = isoly.Currency.add(currency, value ?? 0, addend["minted"][source] ?? 0)
32
+ }
33
+ for (const [sink, value] of Object.entries(addendee["burned"]) as [Sink, number][]) {
34
+ result["burned"][sink] = isoly.Currency.add(currency, value ?? 0, addend["burned"][sink] ?? 0)
35
+ }
36
+ return result
37
+ }
38
+ }
@@ -0,0 +1,19 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+ import { Counterbalance2 } from "./Counterbalance2"
4
+
5
+ export type Counterbalances2 = Partial<Record<isoly.Currency, Counterbalance2>>
6
+
7
+ export namespace Counterbalances {
8
+ export function add(addendee: Counterbalances2, addend: Counterbalances2): Counterbalances2 {
9
+ const result: Counterbalances2 = {}
10
+ for (const [currency, Counterbalance] of Object.entries(addendee) as [isoly.Currency, Counterbalance2][]) {
11
+ result[currency] = Counterbalance2.add(currency, Counterbalance, addend[currency] ?? { minted: {}, burned: {} })
12
+ }
13
+ return result
14
+ }
15
+ export const type = isly.record<Counterbalances2>(
16
+ isly.fromIs("isoly.Currency", isoly.Currency.is),
17
+ Counterbalance2.type
18
+ )
19
+ }
@@ -1,19 +1,39 @@
1
+ import { isoly } from "isoly"
1
2
  import { isly } from "isly"
2
3
  import { Balances } from "../Balances"
4
+ import { Counterbalance2 } from "../Counterbalance2"
3
5
  import { Counterbalances } from "../CounterBalances"
4
- import { Change as Change } from "./Change"
6
+ import { Change } from "./Change"
5
7
 
6
- export type Changes = Partial<Record<Changes.Entry | Counterbalances.Counterbalance.Entry.Internal, Change>> &
7
- Record<Counterbalances.Counterbalance.Entry.Settlement, Change>
8
+ // TODO: remove old counterbalances
9
+ export type Changes = Partial<Record<Balances.Balance.Entry, Change>> &
10
+ Record<Counterbalances.Counterbalance.Entry.Settlement | Changes.Entry.Counterbalance, Change>
8
11
 
9
12
  export namespace Changes {
10
- export type Entry = Balances.Balance.Entry
11
13
  export namespace Entry {
12
- export const values = [...Balances.Balance.Entry.values, ...Counterbalances.Counterbalance.Entry.values]
13
- export const type = isly.string(values)
14
+ export type Counterbalance = `${Counterbalance2.Link}-${isoly.DateTime}`
15
+ export const Counterbalance = isly.fromIs<Counterbalance>(
16
+ "Changes.Entry.Counterbalance",
17
+ (value: any | Counterbalance) => {
18
+ const result = !value ? false : typeof value == "string" && value.split("-")
19
+ return (
20
+ result && Counterbalance2.Link.is(`${result[0]}-${result[1]}`) && isoly.DateTime.is(result.slice(2).join("-"))
21
+ )
22
+ }
23
+ )
24
+ export function split(counterbalance: Counterbalance): [Counterbalance2.Link, isoly.DateTime] {
25
+ const split = counterbalance.split("-")
26
+ const [supplier, account, hour] = [split[0], split[1], split.slice(2).join("-")]
27
+ return [`${supplier}-${account}` as Counterbalance2.Link, hour]
28
+ }
14
29
  }
30
+ export type Entry = Balances.Balance.Entry | Entry.Counterbalance | Counterbalances.Counterbalance.Entry.Settlement
15
31
  export const type = isly.record<Changes>(
16
- isly.union(Entry.type, Counterbalances.Counterbalance.Entry.type),
32
+ isly.union<Entry, Balances.Balance.Entry, Entry.Counterbalance, Counterbalances.Counterbalance.Entry>(
33
+ Balances.Balance.Entry.type,
34
+ Entry.Counterbalance,
35
+ Counterbalances.Counterbalance.Entry.type
36
+ ),
17
37
  Change.type
18
38
  )
19
39
  export const is = type.is
@@ -19,6 +19,9 @@ export namespace Operation {
19
19
  export const Changes = OperationChanges
20
20
  export namespace Changes {
21
21
  export type Entry = OperationChanges.Entry
22
+ export namespace Entry {
23
+ export type Counterbalance = OperationChanges.Entry.Counterbalance
24
+ }
22
25
  }
23
26
  export const type = OperationCreatable.type.extend<Operation>({
24
27
  transaction: isly.string(),
@@ -1,12 +1,14 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
3
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable"
4
+ import { Merchant } from "../../Merchant"
4
5
 
5
6
  export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
6
7
  time: string
7
8
  hour: number
8
9
  currency: isoly.Currency
9
10
  amount: number
11
+ merchant: Merchant & { reference: string }
10
12
  }
11
13
  export namespace Authorization {
12
14
  export function from(authorization: AuthorizationCreatable): Authorization {
@@ -16,6 +18,7 @@ export namespace Authorization {
16
18
  hour: isoly.DateTime.getHour(isoly.DateTime.now()),
17
19
  currency: authorization.amount[0],
18
20
  amount: Math.abs(authorization.amount[1]),
21
+ merchant: { ...authorization.merchant, reference: `${authorization.acquirer.id}-${authorization.merchant.id}` },
19
22
  }
20
23
  }
21
24
  export const type = AuthorizationCreatable.type.omit(["amount"]).extend<Authorization>({
@@ -23,6 +26,10 @@ export namespace Authorization {
23
26
  hour: isly.number(),
24
27
  currency: isly.string(isoly.Currency.types),
25
28
  amount: isly.number(),
29
+ merchant: isly.intersection<Authorization["merchant"], Merchant, { reference: string }>(
30
+ Merchant.type,
31
+ isly.object<{ reference: string }>({ reference: isly.string() })
32
+ ),
26
33
  })
27
34
  export const is = type.is
28
35
  export const flaw = type.flaw
@@ -10,11 +10,11 @@ export interface Card extends Omit<ModelCard, "limit">, Card.Statistics {
10
10
 
11
11
  export namespace Card {
12
12
  export type Statistics = {
13
- used: { count: number; amount: number }
13
+ used: { count: number; amount: number; merchants: string[] }
14
14
  reject: { count: number }
15
15
  }
16
- export const initialStatistics = {
17
- used: { count: 0, amount: 0 },
16
+ export const initialStatistics: Statistics = {
17
+ used: { count: 0, amount: 0, merchants: [] },
18
18
  reject: { count: 0 },
19
19
  }
20
20
  function ageFromTime(time: isoly.DateTime): Card["age"] {
@@ -37,7 +37,7 @@ export namespace Card {
37
37
  currency: isly.string(isoly.Currency.types),
38
38
  limit: isly.number(),
39
39
  }),
40
- used: isly.object<Card["used"]>({ amount: isly.number(), count: isly.number() }),
40
+ used: isly.object<Card["used"]>({ amount: isly.number(), count: isly.number(), merchants: isly.string().array() }),
41
41
  reject: isly.object<Card["reject"]>({ count: isly.number() }),
42
42
  })
43
43
  export const is = type.is
@@ -1,11 +1,12 @@
1
1
  import { isly } from "isly"
2
2
  import { Balances } from "../../Balances"
3
+ import { Counterbalance2 } from "../../Counterbalance2"
3
4
  import { Account } from "../Account"
4
5
  import { Warning } from "./Warning"
5
6
 
6
7
  export interface Fragment {
7
8
  warnings: Warning[]
8
- emoney: Balances.Balance
9
+ emoney: Balances.Balance & Counterbalance2
9
10
  fiat: {
10
11
  safe: number
11
12
  unsafe: number
@@ -15,11 +16,14 @@ export interface Fragment {
15
16
  accounts: Account[]
16
17
  }
17
18
  }
18
-
19
19
  export namespace Fragment {
20
20
  export const type = isly.object<Fragment>({
21
21
  warnings: Warning.type.array(),
22
- emoney: Balances.Balance.type,
22
+ // there is a problem with isly.intersection, but isly.union works for this case
23
+ emoney: isly.union<Fragment["emoney"], Balances.Balance, Counterbalance2>(
24
+ Balances.Balance.type,
25
+ Counterbalance2.type
26
+ ),
23
27
  fiat: isly.object({
24
28
  safe: isly.number(),
25
29
  unsafe: isly.number(),
@@ -1 +1 @@
1
- {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["CounterBalances/Counterbalance.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,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAItC,MAAM,KAAW,cAAc,CA+B9B;AA/BD,WAAiB,cAAc;IAE9B,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAGR,YAAM,GAAG;YACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAU,CAAC;YAC3E,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;SACF,CAAA;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;QACxB,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,SAAS,EACT,IAAI,CAAC,MAAM,CAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC/F,CAAA;QACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;QACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAhBgB,KAAK,GAAL,oBAAK,KAAL,oBAAK,QAgBrB;IACY,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,iBAAE,GAAG,eAAA,IAAI,CAAC,EAAE,CAAA;IACZ,mBAAI,GAAG,eAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAAsB,EAAE,QAAwB;QAC7F,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,MAAM,CAC1D,CAAC,CAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC;YACJ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACnE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,kBAAG,MAQlB,CAAA;AACF,CAAC,EA/BgB,cAAc,KAAd,cAAc,QA+B9B"}
1
+ {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["CounterBalances/Counterbalance.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,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,MAAM,KAAW,cAAc,CA+B9B;AA/BD,WAAiB,cAAc;IAE9B,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAGR,YAAM,GAAG;YACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAU,CAAC;YAC3E,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;SACF,CAAA;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;QACxB,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,SAAS,EACT,IAAI,CAAC,MAAM,CAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC/F,CAAA;QACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;QACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAhBgB,KAAK,GAAL,oBAAK,KAAL,oBAAK,QAgBrB;IACY,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,iBAAE,GAAG,eAAA,IAAI,CAAC,EAAE,CAAA;IACZ,mBAAI,GAAG,eAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAAsB,EAAE,QAAwB;QAC7F,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,MAAM,CAC1D,CAAC,CAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC;YACJ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACnE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,kBAAG,MAQlB,CAAA;AACF,CAAC,EA/BgB,cAAc,KAAd,cAAc,QA+B9B"}
@@ -0,0 +1,18 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ export type Counterbalance2 = {
4
+ minted: Partial<Record<Counterbalance2.Source, number>>;
5
+ burned: Partial<Record<Counterbalance2.Sink, number>>;
6
+ };
7
+ export declare namespace Counterbalance2 {
8
+ const sources: readonly ["paxgiro", "clearbank", "internal"];
9
+ type Source = `${typeof sources[number]}-${string}`;
10
+ const Source: isly.Type<`paxgiro-${string}` | `clearbank-${string}` | `internal-${string}`>;
11
+ const sinks: readonly ["paxgiro", "clearbank", "internal"];
12
+ type Sink = `${typeof sinks[number]}-${string}`;
13
+ const Sink: isly.Type<`paxgiro-${string}` | `clearbank-${string}` | `internal-${string}`>;
14
+ const type: isly.object.ExtendableType<Counterbalance2>;
15
+ type Link = Source | Sink;
16
+ const Link: isly.Type<Link>;
17
+ function add(currency: isoly.Currency, addendee: Counterbalance2, addend: Counterbalance2): Counterbalance2;
18
+ }
@@ -0,0 +1,33 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Supplier } from "./Supplier";
4
+ export var Counterbalance2;
5
+ (function (Counterbalance2) {
6
+ Counterbalance2.sources = [...Supplier.names, "internal"];
7
+ Counterbalance2.Source = isly.fromIs("Source", (value) => {
8
+ const result = !value ? false : typeof value == "string" && value.split("-");
9
+ return result && result.length == 2 && Counterbalance2.sources.includes(result[0]) && typeof result[1] == "string";
10
+ });
11
+ Counterbalance2.sinks = [...Supplier.names, "internal"];
12
+ Counterbalance2.Sink = isly.fromIs("Sink", (value) => {
13
+ const result = !value ? false : typeof value == "string" && value.split("-");
14
+ return result && result.length == 2 && Counterbalance2.sinks.includes(result[0]) && typeof result[1] == "string";
15
+ });
16
+ Counterbalance2.type = isly.object({
17
+ minted: isly.record(Counterbalance2.Source, isly.number()),
18
+ burned: isly.record(Counterbalance2.Sink, isly.number()),
19
+ });
20
+ Counterbalance2.Link = isly.union(Counterbalance2.Source, Counterbalance2.Sink);
21
+ function add(currency, addendee, addend) {
22
+ const result = { minted: { ...addend.minted }, burned: { ...addend.burned } };
23
+ for (const [source, value] of Object.entries(addendee["minted"])) {
24
+ result["minted"][source] = isoly.Currency.add(currency, value ?? 0, addend["minted"][source] ?? 0);
25
+ }
26
+ for (const [sink, value] of Object.entries(addendee["burned"])) {
27
+ result["burned"][sink] = isoly.Currency.add(currency, value ?? 0, addend["burned"][sink] ?? 0);
28
+ }
29
+ return result;
30
+ }
31
+ Counterbalance2.add = add;
32
+ })(Counterbalance2 || (Counterbalance2 = {}));
33
+ //# sourceMappingURL=Counterbalance2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Counterbalance2.js","sourceRoot":"../","sources":["Counterbalance2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Counterbalance2 } from "./Counterbalance2";
4
+ export type Counterbalances2 = Partial<Record<isoly.Currency, Counterbalance2>>;
5
+ export declare namespace Counterbalances {
6
+ function add(addendee: Counterbalances2, addend: Counterbalances2): Counterbalances2;
7
+ 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", Counterbalance2>>>;
8
+ }
@@ -0,0 +1,16 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Counterbalance2 } from "./Counterbalance2";
4
+ export var Counterbalances;
5
+ (function (Counterbalances) {
6
+ function add(addendee, addend) {
7
+ const result = {};
8
+ for (const [currency, Counterbalance] of Object.entries(addendee)) {
9
+ result[currency] = Counterbalance2.add(currency, Counterbalance, addend[currency] ?? { minted: {}, burned: {} });
10
+ }
11
+ return result;
12
+ }
13
+ Counterbalances.add = add;
14
+ Counterbalances.type = isly.record(isly.fromIs("isoly.Currency", isoly.Currency.is), Counterbalance2.type);
15
+ })(Counterbalances || (Counterbalances = {}));
16
+ //# sourceMappingURL=Counterbalances2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Counterbalances2.js","sourceRoot":"../","sources":["Counterbalances2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAInD,MAAM,KAAW,eAAe,CAY/B;AAZD,WAAiB,eAAe;IAC/B,SAAgB,GAAG,CAAC,QAA0B,EAAE,MAAwB;QACvE,MAAM,MAAM,GAAqB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAwC,EAAE,CAAC;YAC1G,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACjH,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IANe,mBAAG,MAMlB,CAAA;IACY,oBAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChD,eAAe,CAAC,IAAI,CACpB,CAAA;AACF,CAAC,EAZgB,eAAe,KAAf,eAAe,QAY/B"}
@@ -1,14 +1,17 @@
1
+ import { isoly } from "isoly";
1
2
  import { isly } from "isly";
2
3
  import { Balances } from "../Balances";
4
+ import { Counterbalance2 } from "../Counterbalance2";
3
5
  import { Counterbalances } from "../CounterBalances";
4
- import { Change as Change } from "./Change";
5
- export type Changes = Partial<Record<Changes.Entry | Counterbalances.Counterbalance.Entry.Internal, Change>> & Record<Counterbalances.Counterbalance.Entry.Settlement, Change>;
6
+ import { Change } from "./Change";
7
+ export type Changes = Partial<Record<Balances.Balance.Entry, Change>> & Record<Counterbalances.Counterbalance.Entry.Settlement | Changes.Entry.Counterbalance, Change>;
6
8
  export declare namespace Changes {
7
- type Entry = Balances.Balance.Entry;
8
9
  namespace Entry {
9
- const values: ("actual" | "incomingReserved" | "outgoingReserved" | "incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other")[];
10
- const type: isly.Type<"actual" | "incomingReserved" | "outgoingReserved" | "incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other">;
10
+ type Counterbalance = `${Counterbalance2.Link}-${isoly.DateTime}`;
11
+ const Counterbalance: isly.Type<`paxgiro-${string}-${string}` | `clearbank-${string}-${string}` | `internal-${string}-${string}`>;
12
+ function split(counterbalance: Counterbalance): [Counterbalance2.Link, isoly.DateTime];
11
13
  }
14
+ type Entry = Balances.Balance.Entry | Entry.Counterbalance | Counterbalances.Counterbalance.Entry.Settlement;
12
15
  const type: isly.Type<Changes>;
13
16
  const is: isly.Type.IsFunction<Changes>;
14
17
  const flaw: isly.Type.FlawFunction;
@@ -1,15 +1,25 @@
1
+ import { isoly } from "isoly";
1
2
  import { isly } from "isly";
2
3
  import { Balances } from "../Balances";
4
+ import { Counterbalance2 } from "../Counterbalance2";
3
5
  import { Counterbalances } from "../CounterBalances";
4
- import { Change as Change } from "./Change";
6
+ import { Change } from "./Change";
5
7
  export var Changes;
6
8
  (function (Changes) {
7
9
  let Entry;
8
10
  (function (Entry) {
9
- Entry.values = [...Balances.Balance.Entry.values, ...Counterbalances.Counterbalance.Entry.values];
10
- Entry.type = isly.string(Entry.values);
11
+ Entry.Counterbalance = isly.fromIs("Changes.Entry.Counterbalance", (value) => {
12
+ const result = !value ? false : typeof value == "string" && value.split("-");
13
+ return (result && Counterbalance2.Link.is(`${result[0]}-${result[1]}`) && isoly.DateTime.is(result.slice(2).join("-")));
14
+ });
15
+ function split(counterbalance) {
16
+ const split = counterbalance.split("-");
17
+ const [supplier, account, hour] = [split[0], split[1], split.slice(2).join("-")];
18
+ return [`${supplier}-${account}`, hour];
19
+ }
20
+ Entry.split = split;
11
21
  })(Entry = Changes.Entry || (Changes.Entry = {}));
12
- Changes.type = isly.record(isly.union(Entry.type, Counterbalances.Counterbalance.Entry.type), Change.type);
22
+ Changes.type = isly.record(isly.union(Balances.Balance.Entry.type, Entry.Counterbalance, Counterbalances.Counterbalance.Entry.type), Change.type);
13
23
  Changes.is = Changes.type.is;
14
24
  Changes.flaw = Changes.type.flaw;
15
25
  })(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;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"}
1
+ {"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,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,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,MAAM,KAAW,OAAO,CA6BvB;AA7BD,WAAiB,OAAO;IACvB,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAER,oBAAc,GAAG,IAAI,CAAC,MAAM,CACxC,8BAA8B,EAC9B,CAAC,KAA2B,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5E,OAAO,CACN,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC9G,CAAA;QACF,CAAC,CACD,CAAA;QACD,SAAgB,KAAK,CAAC,cAA8B;YACnD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAChF,OAAO,CAAC,GAAG,QAAQ,IAAI,OAAO,EAA0B,EAAE,IAAI,CAAC,CAAA;QAChE,CAAC;QAJe,WAAK,QAIpB,CAAA;IACF,CAAC,EAhBgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAgBrB;IAEY,YAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,KAAK,CACT,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAC3B,KAAK,CAAC,cAAc,EACpB,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CACzC,EACD,MAAM,CAAC,IAAI,CACX,CAAA;IACY,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA7BgB,OAAO,KAAP,OAAO,QA6BvB"}
@@ -18,6 +18,9 @@ export declare namespace Operation {
18
18
  const Changes: typeof OperationChanges;
19
19
  namespace Changes {
20
20
  type Entry = OperationChanges.Entry;
21
+ namespace Entry {
22
+ type Counterbalance = OperationChanges.Entry.Counterbalance;
23
+ }
21
24
  }
22
25
  const type: isly.object.ExtendableType<Operation>;
23
26
  const is: isly.Type.IsFunction<Operation>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Operation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AASpD,MAAM,KAAW,SAAS,CA0BzB;AA1BD,WAAiB,SAAS;IACZ,gBAAM,GAAG,eAAe,CAAA;IAExB,mBAAS,GAAG,kBAAkB,CAAA;IAE9B,iBAAO,GAAG,gBAAgB,CAAA;IAI1B,cAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAY;QAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,aAAa,CAAC,WAAmB,EAAE,SAAoB;QACtE,OAAO;YACN,GAAG,SAAS;YACZ,WAAW;YACX,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;SAC7B,CAAA;IACF,CAAC;IAPe,uBAAa,gBAO5B,CAAA;AACF,CAAC,EA1BgB,SAAS,KAAT,SAAS,QA0BzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Operation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AASpD,MAAM,KAAW,SAAS,CA6BzB;AA7BD,WAAiB,SAAS;IACZ,gBAAM,GAAG,eAAe,CAAA;IAExB,mBAAS,GAAG,kBAAkB,CAAA;IAE9B,iBAAO,GAAG,gBAAgB,CAAA;IAO1B,cAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAY;QAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,aAAa,CAAC,WAAmB,EAAE,SAAoB;QACtE,OAAO;YACN,GAAG,SAAS;YACZ,WAAW;YACX,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;SAC7B,CAAA;IACF,CAAC;IAPe,uBAAa,gBAO5B,CAAA;AACF,CAAC,EA7BgB,SAAS,KAAT,SAAS,QA6BzB"}
@@ -1,11 +1,15 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
3
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
4
+ import { Merchant } from "../../Merchant";
4
5
  export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
5
6
  time: string;
6
7
  hour: number;
7
8
  currency: isoly.Currency;
8
9
  amount: number;
10
+ merchant: Merchant & {
11
+ reference: string;
12
+ };
9
13
  }
10
14
  export declare namespace Authorization {
11
15
  function from(authorization: AuthorizationCreatable): Authorization;
@@ -1,6 +1,7 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
3
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
4
+ import { Merchant } from "../../Merchant";
4
5
  export var Authorization;
5
6
  (function (Authorization) {
6
7
  function from(authorization) {
@@ -10,6 +11,7 @@ export var Authorization;
10
11
  hour: isoly.DateTime.getHour(isoly.DateTime.now()),
11
12
  currency: authorization.amount[0],
12
13
  amount: Math.abs(authorization.amount[1]),
14
+ merchant: { ...authorization.merchant, reference: `${authorization.acquirer.id}-${authorization.merchant.id}` },
13
15
  };
14
16
  }
15
17
  Authorization.from = from;
@@ -18,6 +20,7 @@ export var Authorization;
18
20
  hour: isly.number(),
19
21
  currency: isly.string(isoly.Currency.types),
20
22
  amount: isly.number(),
23
+ merchant: isly.intersection(Merchant.type, isly.object({ reference: isly.string() })),
21
24
  });
22
25
  Authorization.is = Authorization.type.is;
23
26
  Authorization.flaw = Authorization.type.flaw;
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.js","sourceRoot":"../","sources":["Rule/State/Authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAQnF,MAAM,KAAW,aAAa,CAkB7B;AAlBD,WAAiB,aAAa;IAC7B,SAAgB,IAAI,CAAC,aAAqC;QACzD,OAAO;YACN,GAAG,aAAa;YAChB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACzC,CAAA;IACF,CAAC;IARe,kBAAI,OAQnB,CAAA;IACY,kBAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAgB;QACtF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;KACrB,CAAC,CAAA;IACW,gBAAE,GAAG,cAAA,IAAI,CAAC,EAAE,CAAA;IACZ,kBAAI,GAAG,cAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAlBgB,aAAa,KAAb,aAAa,QAkB7B"}
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"../","sources":["Rule/State/Authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AASzC,MAAM,KAAW,aAAa,CAuB7B;AAvBD,WAAiB,aAAa;IAC7B,SAAgB,IAAI,CAAC,aAAqC;QACzD,OAAO;YACN,GAAG,aAAa;YAChB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;SAC/G,CAAA;IACF,CAAC;IATe,kBAAI,OASnB,CAAA;IACY,kBAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAgB;QACtF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAC1B,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,MAAM,CAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAChE;KACD,CAAC,CAAA;IACW,gBAAE,GAAG,cAAA,IAAI,CAAC,EAAE,CAAA;IACZ,kBAAI,GAAG,cAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAvBgB,aAAa,KAAb,aAAa,QAuB7B"}
@@ -17,20 +17,13 @@ export declare namespace Card {
17
17
  used: {
18
18
  count: number;
19
19
  amount: number;
20
+ merchants: string[];
20
21
  };
21
22
  reject: {
22
23
  count: number;
23
24
  };
24
25
  };
25
- const initialStatistics: {
26
- used: {
27
- count: number;
28
- amount: number;
29
- };
30
- reject: {
31
- count: number;
32
- };
33
- };
26
+ const initialStatistics: Statistics;
34
27
  function from(card: ModelCard, statistics?: Statistics): Card;
35
28
  const type: isly.object.ExtendableType<Card>;
36
29
  const is: isly.Type.IsFunction<Card>;
@@ -4,7 +4,7 @@ import { Card as ModelCard } from "../../Card";
4
4
  export var Card;
5
5
  (function (Card) {
6
6
  Card.initialStatistics = {
7
- used: { count: 0, amount: 0 },
7
+ used: { count: 0, amount: 0, merchants: [] },
8
8
  reject: { count: 0 },
9
9
  };
10
10
  function ageFromTime(time) {
@@ -28,7 +28,7 @@ export var Card;
28
28
  currency: isly.string(isoly.Currency.types),
29
29
  limit: isly.number(),
30
30
  }),
31
- used: isly.object({ amount: isly.number(), count: isly.number() }),
31
+ used: isly.object({ amount: isly.number(), count: isly.number(), merchants: isly.string().array() }),
32
32
  reject: isly.object({ count: isly.number() }),
33
33
  });
34
34
  Card.is = Card.type.is;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"../","sources":["Rule/State/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AAQ9C,MAAM,KAAW,IAAI,CAkCpB;AAlCD,WAAiB,IAAI;IAKP,sBAAiB,GAAG;QAChC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;KACpB,CAAA;IACD,SAAS,WAAW,CAAC,IAAoB;QACxC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACzF,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;IAClD,CAAC;IACD,SAAgB,IAAI,CAAC,IAAe,EAAE,aAAyB,KAAA,iBAAiB;QAC/E,OAAO;YACN,GAAG,IAAI;YACP,GAAG,UAAU;YACb,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACpB,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC3D,CAAA;IACF,CAAC;IARe,SAAI,OAQnB,CAAA;IACY,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAO;QAC/D,GAAG,EAAE,IAAI,CAAC,MAAM,CAAc,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9E,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAmB;YACvC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAChF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAC7D,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;IACZ,SAAI,GAAG,KAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAlCgB,IAAI,KAAJ,IAAI,QAkCpB"}
1
+ {"version":3,"file":"Card.js","sourceRoot":"../","sources":["Rule/State/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AAQ9C,MAAM,KAAW,IAAI,CAkCpB;AAlCD,WAAiB,IAAI;IAKP,sBAAiB,GAAe;QAC5C,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;KACpB,CAAA;IACD,SAAS,WAAW,CAAC,IAAoB;QACxC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACzF,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;IAClD,CAAC;IACD,SAAgB,IAAI,CAAC,IAAe,EAAE,aAAyB,KAAA,iBAAiB;QAC/E,OAAO;YACN,GAAG,IAAI;YACP,GAAG,UAAU;YACb,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACpB,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC3D,CAAA;IACF,CAAC;IARe,SAAI,OAQnB,CAAA;IACY,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAO;QAC/D,GAAG,EAAE,IAAI,CAAC,MAAM,CAAc,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9E,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAmB;YACvC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QAClH,MAAM,EAAE,IAAI,CAAC,MAAM,CAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAC7D,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;IACZ,SAAI,GAAG,KAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAlCgB,IAAI,KAAJ,IAAI,QAkCpB"}
@@ -1,10 +1,11 @@
1
1
  import { isly } from "isly";
2
2
  import { Balances } from "../../Balances";
3
+ import { Counterbalance2 } from "../../Counterbalance2";
3
4
  import { Account } from "../Account";
4
5
  import { Warning } from "./Warning";
5
6
  export interface Fragment {
6
7
  warnings: Warning[];
7
- emoney: Balances.Balance;
8
+ emoney: Balances.Balance & Counterbalance2;
8
9
  fiat: {
9
10
  safe: number;
10
11
  unsafe: number;
@@ -1,12 +1,13 @@
1
1
  import { isly } from "isly";
2
2
  import { Balances } from "../../Balances";
3
+ import { Counterbalance2 } from "../../Counterbalance2";
3
4
  import { Account } from "../Account";
4
5
  import { Warning } from "./Warning";
5
6
  export var Fragment;
6
7
  (function (Fragment) {
7
8
  Fragment.type = isly.object({
8
9
  warnings: Warning.type.array(),
9
- emoney: Balances.Balance.type,
10
+ emoney: isly.union(Balances.Balance.type, Counterbalance2.type),
10
11
  fiat: isly.object({
11
12
  safe: isly.number(),
12
13
  unsafe: isly.number(),
@@ -1 +1 @@
1
- {"version":3,"file":"Fragment.js","sourceRoot":"../","sources":["Treasury/Snapshot/Fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAenC,MAAM,KAAW,QAAQ,CAaxB;AAbD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QAC9B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;QAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;SAC9B,CAAC;KACF,CAAC,CAAA;AACH,CAAC,EAbgB,QAAQ,KAAR,QAAQ,QAaxB"}
1
+ {"version":3,"file":"Fragment.js","sourceRoot":"../","sources":["Treasury/Snapshot/Fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,MAAM,KAAW,QAAQ,CAiBxB;AAjBD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QAE9B,MAAM,EAAE,IAAI,CAAC,KAAK,CACjB,QAAQ,CAAC,OAAO,CAAC,IAAI,EACrB,eAAe,CAAC,IAAI,CACpB;QACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;SAC9B,CAAC;KACF,CAAC,CAAA;AACH,CAAC,EAjBgB,QAAQ,KAAR,QAAQ,QAiBxB"}
package/dist/pax2pay.d.ts CHANGED
@@ -16,6 +16,8 @@ export { Merchant } from "./Merchant";
16
16
  export { Rule } from "./Rule";
17
17
  export { Authorization } from "./Authorization";
18
18
  export { Counterbalances } from "./CounterBalances";
19
+ export { Counterbalance2 } from "./Counterbalance2";
20
+ export { Counterbalances2 } from "./Counterbalances2";
19
21
  export { Identifier } from "./Identifier";
20
22
  export { Amount } from "./Amount";
21
23
  export { Amounts } from "./Amounts";
package/dist/pax2pay.js CHANGED
@@ -16,6 +16,7 @@ export { Merchant } from "./Merchant";
16
16
  export { Rule } from "./Rule";
17
17
  export { Authorization } from "./Authorization";
18
18
  export { Counterbalances } from "./CounterBalances";
19
+ export { Counterbalance2 } from "./Counterbalance2";
19
20
  export { Identifier } from "./Identifier";
20
21
  export { Amount } from "./Amount";
21
22
  export { Amounts } from "./Amounts";
@@ -1 +1 @@
1
- {"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.258",
3
+ "version": "0.1.260",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
package/pax2pay.ts CHANGED
@@ -16,6 +16,8 @@ export { Merchant } from "./Merchant"
16
16
  export { Rule } from "./Rule"
17
17
  export { Authorization } from "./Authorization"
18
18
  export { Counterbalances } from "./CounterBalances"
19
+ export { Counterbalance2 } from "./Counterbalance2"
20
+ export { Counterbalances2 } from "./Counterbalances2"
19
21
  export { Identifier } from "./Identifier"
20
22
  export { Amount } from "./Amount"
21
23
  export { Amounts } from "./Amounts"