@pax2pay/model-banking 0.1.118 → 0.1.119
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/Amount.ts +10 -0
- package/Amounts.ts +10 -0
- package/Authorization/Creatable.ts +2 -1
- package/Authorization/Status.ts +47 -0
- package/Authorization/index.ts +83 -18
- package/Card/Changeable.ts +2 -1
- package/Card/Creatable.ts +2 -1
- package/Card/Operation/Settlement.ts +2 -2
- package/Card/Preset.ts +1 -0
- package/Card/index.ts +3 -2
- package/Client/Settlements.ts +2 -2
- package/Identifier.ts +12 -0
- package/{Realm/index.ts → Realm.ts} +2 -1
- package/Rule/State/index.ts +1 -1
- package/Settlement/Creatable.ts +18 -0
- package/Settlement/Entry/Cancel.ts +34 -0
- package/Settlement/Entry/Capture.ts +34 -0
- package/Settlement/Entry/Creatable.ts +18 -0
- package/Settlement/Entry/Refund.ts +34 -0
- package/Settlement/Entry/Summary.ts +21 -0
- package/Settlement/Entry/Unknown.ts +29 -0
- package/Settlement/Entry/index.ts +49 -0
- package/Settlement/Fee.ts +12 -0
- package/Settlement/Settled.ts +19 -0
- package/Settlement/Status.ts +13 -0
- package/Settlement/Total.ts +17 -0
- package/Settlement/index.ts +67 -75
- package/Treasury/Balance/index.ts +5 -9
- package/dist/Amount.d.ts +8 -0
- package/dist/Amount.js +9 -0
- package/dist/Amount.js.map +1 -0
- package/dist/Amounts.d.ts +8 -0
- package/dist/Amounts.js +9 -0
- package/dist/Amounts.js.map +1 -0
- package/dist/Authorization/Creatable.d.ts +2 -2
- package/dist/Authorization/Creatable.js.map +1 -1
- package/dist/Authorization/Status.d.ts +16 -0
- package/dist/Authorization/Status.js +38 -0
- package/dist/Authorization/Status.js.map +1 -0
- package/dist/Authorization/index.d.ts +30 -9
- package/dist/Authorization/index.js +57 -11
- package/dist/Authorization/index.js.map +1 -1
- package/dist/Card/Changeable.d.ts +2 -2
- package/dist/Card/Changeable.js.map +1 -1
- package/dist/Card/Creatable.d.ts +2 -2
- package/dist/Card/Creatable.js.map +1 -1
- package/dist/Card/Operation/Settlement.d.ts +1 -1
- package/dist/Card/Operation/Settlement.js +1 -1
- package/dist/Card/Operation/Settlement.js.map +1 -1
- package/dist/Card/Preset.js.map +1 -1
- package/dist/Card/index.d.ts +3 -2
- package/dist/Card/index.js.map +1 -1
- package/dist/Client/Settlements.d.ts +1 -1
- package/dist/Client/Settlements.js.map +1 -1
- package/dist/Identifier.d.ts +5 -0
- package/dist/Identifier.js +10 -0
- package/dist/Identifier.js.map +1 -0
- package/dist/{Realm/index.d.ts → Realm.d.ts} +2 -1
- package/dist/{Realm/index.js → Realm.js} +2 -1
- package/dist/Realm.js.map +1 -0
- package/dist/Rule/State/index.d.ts +1 -1
- package/dist/Rule/State/index.js.map +1 -1
- package/dist/Settlement/Creatable.d.ts +12 -0
- package/dist/Settlement/Creatable.js +13 -0
- package/dist/Settlement/Creatable.js.map +1 -0
- package/dist/Settlement/Entry/Cancel.d.ts +24 -0
- package/dist/Settlement/Entry/Cancel.js +25 -0
- package/dist/Settlement/Entry/Cancel.js.map +1 -0
- package/dist/Settlement/Entry/Capture.d.ts +24 -0
- package/dist/Settlement/Entry/Capture.js +25 -0
- package/dist/Settlement/Entry/Capture.js.map +1 -0
- package/dist/Settlement/Entry/Creatable.d.ts +11 -0
- package/dist/Settlement/Entry/Creatable.js +12 -0
- package/dist/Settlement/Entry/Creatable.js.map +1 -0
- package/dist/Settlement/Entry/Refund.d.ts +24 -0
- package/dist/Settlement/Entry/Refund.js +25 -0
- package/dist/Settlement/Entry/Refund.js.map +1 -0
- package/dist/Settlement/Entry/Summary.d.ts +12 -0
- package/dist/Settlement/Entry/Summary.js +15 -0
- package/dist/Settlement/Entry/Summary.js.map +1 -0
- package/dist/Settlement/Entry/Unknown.d.ts +21 -0
- package/dist/Settlement/Entry/Unknown.js +23 -0
- package/dist/Settlement/Entry/Unknown.js.map +1 -0
- package/dist/Settlement/Entry/index.d.ts +31 -0
- package/dist/Settlement/Entry/index.js +33 -0
- package/dist/Settlement/Entry/index.js.map +1 -0
- package/dist/Settlement/Fee.d.ts +10 -0
- package/dist/Settlement/Fee.js +9 -0
- package/dist/Settlement/Fee.js.map +1 -0
- package/dist/Settlement/Settled.d.ts +13 -0
- package/dist/Settlement/Settled.js +14 -0
- package/dist/Settlement/Settled.js.map +1 -0
- package/dist/Settlement/Status.d.ts +7 -0
- package/dist/Settlement/Status.js +8 -0
- package/dist/Settlement/Status.js.map +1 -0
- package/dist/Settlement/Total.d.ts +13 -0
- package/dist/Settlement/Total.js +14 -0
- package/dist/Settlement/Total.js.map +1 -0
- package/dist/Settlement/index.d.ts +46 -45
- package/dist/Settlement/index.js +49 -47
- package/dist/Settlement/index.js.map +1 -1
- package/dist/Treasury/Balance/index.d.ts +5 -3
- package/dist/Treasury/Balance/index.js +4 -7
- package/dist/Treasury/Balance/index.js.map +1 -1
- package/dist/pax2pay.d.ts +3 -0
- package/dist/pax2pay.js +3 -0
- package/dist/pax2pay.js.map +1 -1
- package/global.d.ts +2 -0
- package/package.json +8 -8
- package/pax2pay.ts +3 -0
- package/tsconfig.json +3 -1
- package/Authorization/Approved.ts +0 -21
- package/Authorization/Base.ts +0 -43
- package/Authorization/Failed.ts +0 -46
- package/Settlement/Entry.ts +0 -87
- package/dist/Authorization/Approved.d.ts +0 -14
- package/dist/Authorization/Approved.js +0 -16
- package/dist/Authorization/Approved.js.map +0 -1
- package/dist/Authorization/Base.d.ts +0 -22
- package/dist/Authorization/Base.js +0 -34
- package/dist/Authorization/Base.js.map +0 -1
- package/dist/Authorization/Failed.d.ts +0 -18
- package/dist/Authorization/Failed.js +0 -41
- package/dist/Authorization/Failed.js.map +0 -1
- package/dist/Realm/index.js.map +0 -1
- package/dist/Settlement/Entry.d.ts +0 -59
- package/dist/Settlement/Entry.js +0 -64
- package/dist/Settlement/Entry.js.map +0 -1
package/Settlement/index.ts
CHANGED
|
@@ -1,87 +1,79 @@
|
|
|
1
|
+
import { cryptly } from "cryptly"
|
|
1
2
|
import { isoly } from "isoly"
|
|
2
3
|
import { isly } from "isly"
|
|
4
|
+
import { Creatable as SettlementCreatable } from "./Creatable"
|
|
3
5
|
import { Entry as SettlementEntry } from "./Entry"
|
|
6
|
+
import { Fee as SettlementFee } from "./Fee"
|
|
7
|
+
import { Settled } from "./Settled"
|
|
8
|
+
import { Status } from "./Status"
|
|
9
|
+
import { Total as SettlementTotal } from "./Total"
|
|
10
|
+
|
|
11
|
+
export interface Settlement {
|
|
12
|
+
id: string
|
|
13
|
+
by?: string
|
|
14
|
+
created: isoly.DateTime
|
|
15
|
+
reference: string
|
|
16
|
+
processor: string
|
|
17
|
+
status: Status
|
|
18
|
+
expected: Settlement.Total
|
|
19
|
+
outcome?: Settlement.Total
|
|
20
|
+
settled?: Settled
|
|
21
|
+
entries?: Settlement.Entry.Summary
|
|
22
|
+
}
|
|
4
23
|
|
|
5
|
-
export type Settlement = Settlement.Succeeded | Settlement.Failed | Settlement.Ongoing
|
|
6
24
|
export namespace Settlement {
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
export const Total = SettlementTotal
|
|
26
|
+
export type Total = SettlementTotal
|
|
27
|
+
export const Fee = SettlementFee
|
|
28
|
+
export type Fee = SettlementFee
|
|
29
|
+
export type Creatable = SettlementCreatable
|
|
30
|
+
export const Creatable = SettlementCreatable
|
|
31
|
+
export type Entry = SettlementEntry
|
|
32
|
+
export namespace Entry {
|
|
33
|
+
export type Summary = SettlementEntry.Summary
|
|
34
|
+
export const Summary = SettlementEntry.Summary
|
|
35
|
+
export type Creatable = SettlementEntry.Creatable
|
|
36
|
+
export const Creatable = SettlementEntry.Creatable
|
|
37
|
+
export type Refund = SettlementEntry.Refund
|
|
38
|
+
export const Refund = SettlementEntry.Refund
|
|
39
|
+
export type Cancel = SettlementEntry.Cancel
|
|
40
|
+
export const Cancel = SettlementEntry.Cancel
|
|
41
|
+
export type Capture = SettlementEntry.Capture
|
|
42
|
+
export const Capture = SettlementEntry.Capture
|
|
43
|
+
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
|
|
21
49
|
}
|
|
22
|
-
export
|
|
23
|
-
status: "
|
|
24
|
-
reason: string
|
|
50
|
+
export function from(id: cryptly.Identifier, creatable: Settlement.Creatable, by: string): Settlement {
|
|
51
|
+
return { id, status: "ongoing", by, expected: Total.initiate(), ...creatable, created: isoly.DateTime.now() }
|
|
25
52
|
}
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
53
|
+
export function toFailed(id: string, creatable: Settlement.Creatable, by: string, reason: string): Settlement {
|
|
54
|
+
return {
|
|
55
|
+
id,
|
|
56
|
+
created: isoly.DateTime.now(),
|
|
57
|
+
status: ["failed", reason],
|
|
58
|
+
by,
|
|
59
|
+
processor: creatable.processor,
|
|
60
|
+
reference: creatable.reference,
|
|
61
|
+
expected: Total.initiate(),
|
|
62
|
+
}
|
|
31
63
|
}
|
|
32
64
|
|
|
33
|
-
export
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
created: isly.fromIs("Settlement.settled.created", isoly.DateTime.is),
|
|
46
|
-
transactions: isly.record(
|
|
47
|
-
isly.string(),
|
|
48
|
-
isly.tuple(isly.fromIs("Settlement.settled.transactions.currency", isoly.Currency.is), isly.number())
|
|
49
|
-
),
|
|
50
|
-
}),
|
|
51
|
-
amount: isly.record(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
|
|
52
|
-
fee: isly.record(isly.fromIs("Settlement.entries.fee", isoly.Currency.is), isly.number()),
|
|
53
|
-
entries: SettlementEntry.type.array(),
|
|
54
|
-
status: isly.string("succeeded"),
|
|
55
|
-
})
|
|
56
|
-
export const is = type.is
|
|
57
|
-
}
|
|
58
|
-
export namespace Failed {
|
|
59
|
-
export const type = isly.object<Failed>({
|
|
60
|
-
id: isly.string(),
|
|
61
|
-
created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
|
|
62
|
-
regarding: isly.fromIs("Settlement.regarding", isoly.Date.is),
|
|
63
|
-
configuration: isly.string(),
|
|
64
|
-
status: isly.string("failed"),
|
|
65
|
-
reason: isly.string(),
|
|
66
|
-
})
|
|
67
|
-
export const is = type.is
|
|
68
|
-
}
|
|
69
|
-
export namespace Ongoing {
|
|
70
|
-
export const type = isly.object<Ongoing>({
|
|
71
|
-
id: isly.string(),
|
|
72
|
-
created: isly.tuple(isly.string(), isly.fromIs("Settlement.created", isoly.DateTime.is)),
|
|
73
|
-
regarding: isly.fromIs("Settlement.regarding", isoly.Date.is),
|
|
74
|
-
configuration: isly.string(),
|
|
75
|
-
amount: isly.record(isly.fromIs("Settlement.entries.amount", isoly.Currency.is), isly.number()),
|
|
76
|
-
fee: isly.record(isly.fromIs("Settlement.entries.fee", isoly.Currency.is), isly.number()),
|
|
77
|
-
entries: SettlementEntry.type.array(),
|
|
78
|
-
status: isly.string("ongoing"),
|
|
79
|
-
})
|
|
80
|
-
export const is = type.is
|
|
81
|
-
}
|
|
82
|
-
export const type = isly.union<Settlement, Succeeded, Failed, Ongoing>(Succeeded.type, Failed.type, Ongoing.type)
|
|
65
|
+
export const type = isly.object({
|
|
66
|
+
id: isly.string(),
|
|
67
|
+
by: isly.string().optional(),
|
|
68
|
+
created: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
69
|
+
reference: isly.string(),
|
|
70
|
+
processor: isly.string(),
|
|
71
|
+
status: Status.type,
|
|
72
|
+
expected: Settlement.Total.type,
|
|
73
|
+
outcome: Settlement.Total.type.optional(),
|
|
74
|
+
settled: Settled.type.optional(),
|
|
75
|
+
entries: Settlement.Entry.Summary.type.optional(),
|
|
76
|
+
})
|
|
83
77
|
export const is = type.is
|
|
84
78
|
export const flaw = type.flaw
|
|
85
|
-
export const Entry = SettlementEntry
|
|
86
|
-
export type Entry = SettlementEntry
|
|
87
79
|
}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Amounts } from "../../Amounts"
|
|
2
2
|
|
|
3
|
-
export type Balance =
|
|
3
|
+
export type Balance = Amounts
|
|
4
4
|
|
|
5
5
|
export type Result = { account: string; balance: number }
|
|
6
6
|
|
|
7
7
|
export namespace Balance {
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
typeof value == "object" &&
|
|
12
|
-
Object.entries(value).every(([k, v]) => isoly.Currency.is(k) && typeof v == "number")
|
|
13
|
-
)
|
|
14
|
-
}
|
|
8
|
+
export const type = Amounts.type
|
|
9
|
+
export const is = Amounts.is
|
|
10
|
+
export const flaw = Amounts.flaw
|
|
15
11
|
}
|
|
16
12
|
export namespace Result {
|
|
17
13
|
export function is(value: Result | any): value is Result {
|
package/dist/Amount.d.ts
ADDED
package/dist/Amount.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
export var Amount;
|
|
4
|
+
(function (Amount) {
|
|
5
|
+
Amount.type = isly.tuple(isly.string(isoly.Currency.types), isly.number());
|
|
6
|
+
Amount.is = Amount.type.is;
|
|
7
|
+
Amount.flaw = Amount.type.flaw;
|
|
8
|
+
})(Amount || (Amount = {}));
|
|
9
|
+
//# sourceMappingURL=Amount.js.map
|
|
@@ -0,0 +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;AAI3B,MAAM,KAAW,MAAM,CAItB;AAJD,WAAiB,MAAM;IACT,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,EAJgB,MAAM,KAAN,MAAM,QAItB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
export type Amounts = Partial<Record<isoly.Currency, number>>;
|
|
4
|
+
export declare namespace Amounts {
|
|
5
|
+
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
|
+
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
|
+
const flaw: isly.Type.FlawFunction;
|
|
8
|
+
}
|
package/dist/Amounts.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
export var Amounts;
|
|
4
|
+
(function (Amounts) {
|
|
5
|
+
Amounts.type = isly.record(isly.string(isoly.Currency.types), isly.number());
|
|
6
|
+
Amounts.is = Amounts.type.is;
|
|
7
|
+
Amounts.flaw = Amounts.type.flaw;
|
|
8
|
+
})(Amounts || (Amounts = {}));
|
|
9
|
+
//# sourceMappingURL=Amounts.js.map
|
|
@@ -0,0 +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,CAIvB;AAJD,WAAiB,OAAO;IACV,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,EAJgB,OAAO,KAAP,OAAO,QAIvB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { isoly } from "isoly";
|
|
2
1
|
import { isly } from "isly";
|
|
3
2
|
import { Acquirer } from "../Acquirer";
|
|
3
|
+
import { Amount } from "../Amount";
|
|
4
4
|
import { Merchant } from "../Merchant";
|
|
5
5
|
export interface Creatable {
|
|
6
6
|
card: string;
|
|
7
|
-
amount:
|
|
7
|
+
amount: Amount;
|
|
8
8
|
merchant: Merchant;
|
|
9
9
|
acquirer: Acquirer;
|
|
10
10
|
reference: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Authorization/Creatable.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;
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Authorization/Creatable.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;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAUtC,MAAM,KAAW,SAAS,CAWzB;AAXD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACnF,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;KAC1B,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAXgB,SAAS,KAAT,SAAS,QAWzB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { gracely } from "gracely";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
export type Status = "approved" | Status.Failed;
|
|
4
|
+
export declare namespace Status {
|
|
5
|
+
interface Failed {
|
|
6
|
+
code: string;
|
|
7
|
+
reason: string | string[];
|
|
8
|
+
error?: gracely.Error;
|
|
9
|
+
}
|
|
10
|
+
namespace Failed {
|
|
11
|
+
function from(error: gracely.Error): Failed;
|
|
12
|
+
}
|
|
13
|
+
const type: isly.Type<"approved" | Failed>;
|
|
14
|
+
const is: isly.Type.IsFunction<"approved" | Failed>;
|
|
15
|
+
const flaw: isly.Type.FlawFunction;
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { gracely } from "gracely";
|
|
2
|
+
import { isly } from "isly";
|
|
3
|
+
export var Status;
|
|
4
|
+
(function (Status) {
|
|
5
|
+
let Failed;
|
|
6
|
+
(function (Failed) {
|
|
7
|
+
function from(error) {
|
|
8
|
+
let result;
|
|
9
|
+
if (error.error?.includes("Card with id"))
|
|
10
|
+
result = { code: "14", reason: "Invalid card number" };
|
|
11
|
+
else if (error.error?.includes("must correspond to card limit")) {
|
|
12
|
+
result = { code: "13", reason: "Invalid amount" };
|
|
13
|
+
}
|
|
14
|
+
else if (error.error?.includes("Failed to reach account")) {
|
|
15
|
+
result = { code: "78", reason: "Invalid/nonexistent account specified (general)" };
|
|
16
|
+
}
|
|
17
|
+
else if (gracely.client.InvalidContent.is(error) && error.content.description.includes("rules")) {
|
|
18
|
+
const reasons = error.content.details?.notes.reduce((a, c) => [...a, `${c.created} ${c.author}: ${c.text ?? ""}`], []);
|
|
19
|
+
result = {
|
|
20
|
+
code: "62",
|
|
21
|
+
reason: ["Restricted card.", ...reasons],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
else
|
|
25
|
+
result = { code: "05", reason: "Do not honor" };
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
Failed.from = from;
|
|
29
|
+
})(Failed = Status.Failed || (Status.Failed = {}));
|
|
30
|
+
Status.type = isly.union(isly.string("approved"), isly.object({
|
|
31
|
+
code: isly.string(),
|
|
32
|
+
reason: isly.union(isly.string(), isly.string().array()),
|
|
33
|
+
error: isly.fromIs("gracely.Error", gracely.Error.is).optional(),
|
|
34
|
+
}));
|
|
35
|
+
Status.is = Status.type.is;
|
|
36
|
+
Status.flaw = Status.type.flaw;
|
|
37
|
+
})(Status || (Status = {}));
|
|
38
|
+
//# sourceMappingURL=Status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Status.js","sourceRoot":"../","sources":["Authorization/Status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,MAAM,KAAW,MAAM,CAwCtB;AAxCD,WAAiB,MAAM;IAMtB,IAAiB,MAAM,CAuBtB;IAvBD,WAAiB,MAAM;QACtB,SAAgB,IAAI,CAAC,KAAoB;YACxC,IAAI,MAAc,CAAA;YAClB,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC;gBACxC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;iBAClD,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,EAAE;gBAChE,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAA;aACjD;iBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAAE;gBAC5D,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAA;aAClF;iBAAM,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAClG,MAAM,OAAO,GAAa,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAC5D,CAAC,CAAW,EAAE,CAAmB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EACzF,EAAE,CACF,CAAA;gBACD,MAAM,GAAG;oBACR,IAAI,EAAE,IAAI;oBAEV,MAAM,EAAE,CAAC,kBAAkB,EAAE,GAAG,OAAO,CAAC;iBACxC,CAAA;aACD;;gBACA,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;YAChD,OAAO,MAAM,CAAA;QACd,CAAC;QArBe,WAAI,OAqBnB,CAAA;IACF,CAAC,EAvBgB,MAAM,GAAN,aAAM,KAAN,aAAM,QAuBtB;IACY,WAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EACvB,IAAI,CAAC,MAAM,CAAgB;QAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACxD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAChE,CAAC,CACF,CAAA;IACY,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAxCgB,MAAM,KAAN,MAAM,QAwCtB"}
|
|
@@ -1,21 +1,42 @@
|
|
|
1
|
+
import { cryptly } from "cryptly";
|
|
1
2
|
import { gracely } from "gracely";
|
|
3
|
+
import { isoly } from "isoly";
|
|
2
4
|
import { isly } from "isly";
|
|
5
|
+
import { Acquirer } from "../Acquirer";
|
|
6
|
+
import { Amount } from "../Amount";
|
|
3
7
|
import { Card } from "../Card";
|
|
8
|
+
import { Merchant } from "../Merchant";
|
|
4
9
|
import { Transaction } from "../Transaction";
|
|
5
|
-
import { Approved as AuthorizationApproved } from "./Approved";
|
|
6
10
|
import { Creatable as AuthorizationCreatable } from "./Creatable";
|
|
7
|
-
import {
|
|
8
|
-
export
|
|
11
|
+
import { Status } from "./Status";
|
|
12
|
+
export interface Authorization {
|
|
13
|
+
id: cryptly.Identifier;
|
|
14
|
+
created: isoly.DateTime;
|
|
15
|
+
status: Status;
|
|
16
|
+
reference: string;
|
|
17
|
+
amount: Amount;
|
|
18
|
+
card: {
|
|
19
|
+
id: string;
|
|
20
|
+
token?: string;
|
|
21
|
+
iin?: string;
|
|
22
|
+
last4?: string;
|
|
23
|
+
};
|
|
24
|
+
transaction?: {
|
|
25
|
+
id: string;
|
|
26
|
+
posted: isoly.DateTime;
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
account?: string;
|
|
30
|
+
merchant: Merchant;
|
|
31
|
+
acquirer: Acquirer;
|
|
32
|
+
description: string;
|
|
33
|
+
}
|
|
9
34
|
export declare namespace Authorization {
|
|
10
|
-
type Approved = AuthorizationApproved;
|
|
11
|
-
const Approved: typeof AuthorizationApproved;
|
|
12
|
-
type Failed = AuthorizationFailed;
|
|
13
|
-
const Failed: typeof AuthorizationFailed;
|
|
14
35
|
type Creatable = AuthorizationCreatable;
|
|
15
36
|
const Creatable: typeof AuthorizationCreatable;
|
|
16
|
-
|
|
17
|
-
const type: isly.Type<Authorization>;
|
|
37
|
+
const type: isly.object.ExtendableType<Authorization>;
|
|
18
38
|
const is: isly.Type.IsFunction<Authorization>;
|
|
19
39
|
const flaw: isly.Type.FlawFunction;
|
|
40
|
+
function fromCreatable(creatable: Creatable, card: Card | gracely.Error, transaction?: Transaction | gracely.Error): Authorization;
|
|
20
41
|
function toTransaction(authorization: Authorization, card: Card): Transaction.Creatable;
|
|
21
42
|
}
|
|
@@ -1,22 +1,68 @@
|
|
|
1
|
+
import { cryptly } from "cryptly";
|
|
1
2
|
import { gracely } from "gracely";
|
|
3
|
+
import { isoly } from "isoly";
|
|
2
4
|
import { isly } from "isly";
|
|
3
|
-
import {
|
|
5
|
+
import { Acquirer } from "../Acquirer";
|
|
6
|
+
import { Identifier } from "../Identifier";
|
|
7
|
+
import { Merchant } from "../Merchant";
|
|
4
8
|
import { Creatable as AuthorizationCreatable } from "./Creatable";
|
|
5
|
-
import {
|
|
9
|
+
import { Status } from "./Status";
|
|
6
10
|
export var Authorization;
|
|
7
11
|
(function (Authorization) {
|
|
8
|
-
Authorization.Approved = AuthorizationApproved;
|
|
9
|
-
Authorization.Failed = AuthorizationFailed;
|
|
10
12
|
Authorization.Creatable = AuthorizationCreatable;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
Authorization.type = isly.object({
|
|
14
|
+
id: isly.fromIs("Authorization.id", cryptly.Identifier.is),
|
|
15
|
+
status: Status.type,
|
|
16
|
+
transaction: isly
|
|
17
|
+
.object({
|
|
18
|
+
id: isly.string(),
|
|
19
|
+
posted: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
20
|
+
description: isly.string(),
|
|
21
|
+
})
|
|
22
|
+
.optional(),
|
|
23
|
+
card: isly.object({
|
|
24
|
+
id: isly.string(),
|
|
25
|
+
token: isly.string().optional(),
|
|
26
|
+
iin: isly.string().optional(),
|
|
27
|
+
last4: isly.string().optional(),
|
|
28
|
+
}),
|
|
29
|
+
created: isly.fromIs("Authorization.created", isoly.DateTime.is),
|
|
30
|
+
amount: isly.tuple(isly.fromIs("isoly.Currency", isoly.Currency.is), isly.number()),
|
|
31
|
+
account: isly.string().optional(),
|
|
32
|
+
merchant: Merchant.type,
|
|
33
|
+
acquirer: Acquirer.type,
|
|
34
|
+
reference: isly.string(),
|
|
35
|
+
description: isly.string(),
|
|
36
|
+
});
|
|
18
37
|
Authorization.is = Authorization.type.is;
|
|
19
38
|
Authorization.flaw = Authorization.type.flaw;
|
|
39
|
+
function fromCreatable(creatable, card, transaction) {
|
|
40
|
+
return {
|
|
41
|
+
id: Identifier.generate(),
|
|
42
|
+
...{ status: "approved" },
|
|
43
|
+
...(gracely.Error.is(card)
|
|
44
|
+
? { card: { id: creatable.card }, status: { ...Status.Failed.from(card), error: card } }
|
|
45
|
+
: {
|
|
46
|
+
card: { id: card.id, iin: card.details.iin, last4: card.details.last4, token: card.details.token },
|
|
47
|
+
account: card.account,
|
|
48
|
+
}),
|
|
49
|
+
created: isoly.DateTime.now(),
|
|
50
|
+
amount: creatable.amount,
|
|
51
|
+
merchant: creatable.merchant,
|
|
52
|
+
acquirer: creatable.acquirer,
|
|
53
|
+
reference: creatable.reference,
|
|
54
|
+
description: creatable.description,
|
|
55
|
+
...(!transaction
|
|
56
|
+
? {}
|
|
57
|
+
: gracely.Error.is(transaction)
|
|
58
|
+
? { ...Status.Failed.from(transaction), error: transaction }
|
|
59
|
+
: {
|
|
60
|
+
id: transaction.id,
|
|
61
|
+
transaction: { id: transaction?.id, posted: transaction?.posted, description: transaction.description },
|
|
62
|
+
}),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
Authorization.fromCreatable = fromCreatable;
|
|
20
66
|
function toTransaction(authorization, card) {
|
|
21
67
|
return {
|
|
22
68
|
amount: authorization.amount[1],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Authorization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Authorization/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isoly } from "isoly";
|
|
2
1
|
import { isly } from "isly";
|
|
2
|
+
import { Amount } from "../Amount";
|
|
3
3
|
import { Meta } from "./Meta";
|
|
4
4
|
export type Changeable = {
|
|
5
|
-
limit?:
|
|
5
|
+
limit?: Amount;
|
|
6
6
|
meta?: Meta;
|
|
7
7
|
};
|
|
8
8
|
export declare namespace Changeable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Changeable.js","sourceRoot":"../","sources":["Card/Changeable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Changeable.js","sourceRoot":"../","sources":["Card/Changeable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAO7B,MAAM,KAAW,UAAU,CAQ1B;AARD,WAAiB,UAAU;IACb,eAAI,GAAG,IAAI,CAAC,MAAM,CAAa;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC7F,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CAAA;IACW,aAAE,GAAG,WAAA,IAAI,CAAC,EAAE,CAAA;IACZ,eAAI,GAAG,WAAA,IAAI,CAAC,IAAI,CAAA;IAChB,cAAG,GAAG,WAAA,IAAI,CAAC,GAAG,CAAA;AAC5B,CAAC,EARgB,UAAU,KAAV,UAAU,QAQ1B"}
|
package/dist/Card/Creatable.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isoly } from "isoly";
|
|
2
1
|
import { isly } from "isly";
|
|
2
|
+
import { Amount } from "../Amount";
|
|
3
3
|
import { Rule } from "../Rule/Rule";
|
|
4
4
|
import { Expiry } from "./Expiry";
|
|
5
5
|
import { Meta } from "./Meta";
|
|
@@ -12,7 +12,7 @@ export interface Creatable {
|
|
|
12
12
|
expiry: Expiry;
|
|
13
13
|
holder: string;
|
|
14
14
|
};
|
|
15
|
-
limit:
|
|
15
|
+
limit: Amount;
|
|
16
16
|
rules?: Rule[];
|
|
17
17
|
meta?: Meta;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Card/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Card/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAQ,IAAI,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAejC,MAAM,KAAW,SAAS,CAczB;AAdD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SACrB,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAdgB,SAAS,KAAT,SAAS,QAczB"}
|
|
@@ -2,7 +2,7 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
export interface Settlement {
|
|
4
4
|
type: "settlement";
|
|
5
|
-
status: "capture" | "cancel" | "refund";
|
|
5
|
+
status: "capture" | "cancel" | "refund" | "unknown";
|
|
6
6
|
transaction?: string;
|
|
7
7
|
created: isoly.DateTime;
|
|
8
8
|
}
|
|
@@ -4,7 +4,7 @@ export var Settlement;
|
|
|
4
4
|
(function (Settlement) {
|
|
5
5
|
Settlement.type = isly.object({
|
|
6
6
|
type: isly.string("settlement"),
|
|
7
|
-
status: isly.union(isly.string("capture"), isly.string("cancel"), isly.string("refund")),
|
|
7
|
+
status: isly.union(isly.string("capture"), isly.string("cancel"), isly.string("refund"), isly.string("unknown")),
|
|
8
8
|
transaction: isly.string().optional(),
|
|
9
9
|
created: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
10
10
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settlement.js","sourceRoot":"../","sources":["Card/Operation/Settlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAS3B,MAAM,KAAW,UAAU,CAQ1B;AARD,WAAiB,UAAU;IACb,eAAI,GAAG,IAAI,CAAC,MAAM,CAAa;QAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Settlement.js","sourceRoot":"../","sources":["Card/Operation/Settlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAS3B,MAAM,KAAW,UAAU,CAQ1B;AARD,WAAiB,UAAU;IACb,eAAI,GAAG,IAAI,CAAC,MAAM,CAAa;QAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChH,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;KACzD,CAAC,CAAA;IACW,aAAE,GAAG,WAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EARgB,UAAU,KAAV,UAAU,QAQ1B"}
|
package/dist/Card/Preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Preset.js","sourceRoot":"../","sources":["Card/Preset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Preset.js","sourceRoot":"../","sources":["Card/Preset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,MAAM,KAAW,MAAM,CAKtB;AALD,WAAiB,MAAM;IACT,YAAK,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAU,CAAA;IACjG,WAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAA,KAAK,CAAC,CAAA;IACzB,SAAE,GAAG,OAAA,IAAI,CAAC,EAAE,CAAA;IACZ,WAAI,GAAG,OAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EALgB,MAAM,KAAN,MAAM,QAKtB"}
|
package/dist/Card/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { isly } from "isly";
|
|
3
|
+
import { Amount } from "../Amount";
|
|
3
4
|
import { Realm } from "../Realm";
|
|
4
5
|
import { Rule } from "../Rule/Rule";
|
|
5
6
|
import { Changeable as CardChangeable } from "./Changeable";
|
|
@@ -26,8 +27,8 @@ export interface Card {
|
|
|
26
27
|
holder: string;
|
|
27
28
|
token: string;
|
|
28
29
|
};
|
|
29
|
-
limit:
|
|
30
|
-
spent:
|
|
30
|
+
limit: Amount;
|
|
31
|
+
spent: Amount;
|
|
31
32
|
status: "active" | "cancelled";
|
|
32
33
|
history: CardOperation[];
|
|
33
34
|
rules: Rule[];
|
package/dist/Card/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Card/index.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,UAAU,CAAA;AAChC,OAAO,EAAQ,IAAI,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AA2B/C,MAAM,KAAW,IAAI,CAwCpB;AAxCD,WAAiB,IAAI;IACP,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO;QACrC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE;QAC3B,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,UAAU,CAAC,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;IAEZ,cAAS,GAAG,aAAa,CAAA;IAEzB,WAAM,GAAG,UAAU,CAAA;IAEnB,SAAI,GAAG,QAAQ,CAAA;IAEf,WAAM,GAAG,UAAU,CAAA;IAEnB,eAAU,GAAG,cAAc,CAAA;IAE3B,cAAS,GAAG,aAAa,CAAA;IAEzB,WAAM,GAAG,UAAU,CAAA;AACjC,CAAC,EAxCgB,IAAI,KAAJ,IAAI,QAwCpB"}
|
|
@@ -7,7 +7,7 @@ export declare class Settlements extends rest.Collection<gracely.Error> {
|
|
|
7
7
|
constructor(client: http.Client);
|
|
8
8
|
create(configuration: string): Promise<Settlement | gracely.Error>;
|
|
9
9
|
fetch(id: string, created: isoly.DateTime): Promise<Settlement | gracely.Error>;
|
|
10
|
-
list(): Promise<Settlement
|
|
10
|
+
list(): Promise<Settlement[] | gracely.Error>;
|
|
11
11
|
remove(settlement: string): Promise<Settlement | gracely.Error>;
|
|
12
12
|
update(settlement: string): Promise<Settlement | gracely.Error>;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settlements.js","sourceRoot":"../","sources":["Client/Settlements.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAA;AAGpC,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,UAAyB;IAC9D,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,aAAa,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,OAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,eAAe,EAAE,YAAY,OAAO,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,KAAK,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"Settlements.js","sourceRoot":"../","sources":["Client/Settlements.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAA;AAGpC,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,UAAyB;IAC9D,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAA;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,aAAa,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,OAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,eAAe,EAAE,YAAY,OAAO,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,KAAK,CAAC,IAAI;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAiD,aAAa,CAAC,CAAA;IACtF,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,eAAe,UAAU,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAa,eAAe,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cryptly } from "cryptly";
|
|
2
|
+
import { isoly } from "isoly";
|
|
3
|
+
export var Identifier;
|
|
4
|
+
(function (Identifier) {
|
|
5
|
+
function generate(length = 16, ordering = "reversed", date = isoly.DateTime.now()) {
|
|
6
|
+
return cryptly.Identifier.generate(length, ordering, isoly.DateTime.epoch(date));
|
|
7
|
+
}
|
|
8
|
+
Identifier.generate = generate;
|
|
9
|
+
})(Identifier || (Identifier = {}));
|
|
10
|
+
//# sourceMappingURL=Identifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Identifier.js","sourceRoot":"../","sources":["Identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,MAAM,KAAW,UAAU,CAQ1B;AARD,WAAiB,UAAU;IAC1B,SAAgB,QAAQ,CACvB,SAAoC,EAAE,EACtC,WAAmC,UAAU,EAC7C,OAAuB,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;QAE3C,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;IANe,mBAAQ,WAMvB,CAAA;AACF,CAAC,EARgB,UAAU,KAAV,UAAU,QAQ1B"}
|