@pax2pay/model-banking 0.1.112 → 0.1.114

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.
@@ -35,13 +35,15 @@ export namespace Authorization {
35
35
  currency: authorization.amount[0],
36
36
  description: authorization.description,
37
37
  counterpart: {
38
- type: "mastercard",
38
+ type: "card",
39
+ scheme: "mastercard",
39
40
  iin: card.details.iin,
40
41
  expiry: card.details.expiry,
41
42
  last4: card.details.last4,
42
43
  holder: card.details.holder,
43
44
  id: card.id,
44
45
  merchant: authorization.merchant,
46
+ acquirer: authorization.acquirer,
45
47
  },
46
48
  }
47
49
  }
package/Card/Scheme.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { isly } from "isly"
2
+
3
+ export type Scheme = typeof Scheme.schemes[number]
4
+ export namespace Scheme {
5
+ export const schemes = ["mastercard"] as const
6
+ export const type = isly.string(schemes)
7
+ }
package/Card/index.ts CHANGED
@@ -8,6 +8,7 @@ import { Expiry as CardExpiry } from "./Expiry"
8
8
  import { Meta as CardMeta } from "./Meta"
9
9
  import { Operation as CardOperation } from "./Operation"
10
10
  import { Preset as CardPreset } from "./Preset"
11
+ import { Scheme as CardScheme } from "./Scheme"
11
12
 
12
13
  export interface Card {
13
14
  id: string
@@ -17,6 +18,7 @@ export interface Card {
17
18
  realm: Realm
18
19
  account: string
19
20
  preset: CardPreset
21
+ scheme: CardScheme
20
22
  reference?: string
21
23
  details: {
22
24
  iin: string
@@ -42,6 +44,7 @@ export namespace Card {
42
44
  realm: Realm.type,
43
45
  account: isly.string(),
44
46
  preset: CardPreset.type,
47
+ scheme: CardScheme.type,
45
48
  reference: isly.string().optional(),
46
49
  details: isly.object({
47
50
  iin: isly.string(),
@@ -70,4 +73,6 @@ export namespace Card {
70
73
  export const Changeable = CardChangeable
71
74
  export type Operation = CardOperation
72
75
  export const Operation = CardOperation
76
+ export type Scheme = CardScheme
77
+ export const Scheme = CardScheme
73
78
  }
package/Rail/Card.ts CHANGED
@@ -1,29 +1,31 @@
1
1
  import { isly } from "isly"
2
+ import { Acquirer } from "../Acquirer"
2
3
  import { Card as ModelCard } from "../Card"
3
4
  import { Merchant } from "../Merchant"
4
5
 
5
6
  export interface Card {
6
- type: Card.Type
7
+ type: "card"
8
+ scheme: ModelCard.Scheme
7
9
  id: string
8
10
  iin: string
9
11
  last4: string
10
12
  expiry: ModelCard.Expiry
11
13
  holder: string
12
14
  merchant: Merchant
15
+ acquirer: Acquirer
13
16
  }
14
17
  export namespace Card {
15
18
  export const currencies = ["EUR", "GBP", "SEK", "USD"] as const
16
- type Mastercard = "mastercard"
17
- type Visa = "visa"
18
- export type Type = Mastercard | Visa
19
19
  export const type = isly.object<Card>({
20
- type: isly.union<Type, Mastercard, Visa>(isly.string("mastercard"), isly.string("visa")),
20
+ type: isly.string("card"),
21
+ scheme: ModelCard.Scheme.type,
21
22
  id: isly.string(),
22
23
  iin: isly.string(),
23
24
  last4: isly.string(),
24
25
  expiry: ModelCard.Expiry.type,
25
26
  holder: isly.string(),
26
27
  merchant: Merchant.type,
28
+ acquirer: Acquirer.type,
27
29
  })
28
30
  export const is = type.is
29
31
  export const flaw = type.flaw
package/Rail/index.ts CHANGED
@@ -1,31 +1,25 @@
1
+ import { isly } from "isly"
1
2
  import { Card as RailCard } from "./Card"
2
3
  import { Iban as RailIban } from "./Iban"
3
4
  import { Internal as RailInternal } from "./internal"
4
5
  import { PaxGiro as RailPaxGiro } from "./PaxGiro"
5
6
  import { Scan as RailScan } from "./Scan"
6
- import { Type as RailType } from "./Type"
7
7
 
8
8
  export type Rail = (RailPaxGiro | RailInternal | RailIban | RailScan | RailCard) & {
9
9
  reference?: { supplier: string; value: string }
10
10
  }
11
11
 
12
12
  export namespace Rail {
13
+ export const rails = ["paxgiro", "internal", "iban", "scan", "card"]
14
+ export type Type = typeof rails[number]
15
+ export const type = isly.string(rails)
13
16
  export function parse(value: string): Rail | undefined {
14
17
  let result: Rail | undefined
15
18
  const splitted = value.split("-")
16
19
  switch (splitted[0]) {
17
- //case "iban":
18
- // result = splitted.length == 2 ? { type: "iban", reference: splitted[1] } : undefined
19
- // break
20
20
  case "pxg":
21
21
  result = splitted.length == 2 ? { type: "paxgiro", identifier: splitted[1] } : undefined
22
22
  break
23
- //case "swe":
24
- // result =
25
- // splitted.length == 3
26
- // ? { type: "swedish", clearing: Number.parseInt(splitted[1]), account: Number.parseInt(splitted[2]) }
27
- // : undefined
28
- // break
29
23
  }
30
24
  return result
31
25
  }
@@ -44,13 +38,9 @@ export namespace Rail {
44
38
  case "scan":
45
39
  result = `scan-${rail.sort}-${rail.account}`
46
40
  break
47
- case "visa":
48
- case "mastercard":
41
+ case "card":
49
42
  result = `${rail.type}-${rail.id}`
50
43
  break
51
- //case "swedish":
52
- // result = `swe-${rail.clearing}-${rail.account}`
53
- // break
54
44
  }
55
45
  return result
56
46
  }
@@ -69,13 +59,9 @@ export namespace Rail {
69
59
  case "scan":
70
60
  result = `${rail.sort} ${rail.account}`
71
61
  break
72
- case "visa":
73
- case "mastercard":
62
+ case "card":
74
63
  result = `${rail.type}-${rail.id}`
75
64
  break
76
- //case "swedish":
77
- // result = `swe-${rail.clearing}-${rail.account}`
78
- // break
79
65
  }
80
66
  return result
81
67
  }
@@ -86,8 +72,6 @@ export namespace Rail {
86
72
  (PaxGiro.is(value) || Iban.is(value) || Internal.is(value) || Scan.is(value) || Card.is(value))
87
73
  )
88
74
  }
89
-
90
- export type Type = RailType
91
75
  export type PaxGiro = RailPaxGiro
92
76
  export const PaxGiro = RailPaxGiro
93
77
  export type Iban = RailIban
@@ -23,13 +23,15 @@ export var Authorization;
23
23
  currency: authorization.amount[0],
24
24
  description: authorization.description,
25
25
  counterpart: {
26
- type: "mastercard",
26
+ type: "card",
27
+ scheme: "mastercard",
27
28
  iin: card.details.iin,
28
29
  expiry: card.details.expiry,
29
30
  last4: card.details.last4,
30
31
  holder: card.details.holder,
31
32
  id: card.id,
32
33
  merchant: authorization.merchant,
34
+ acquirer: authorization.acquirer,
33
35
  },
34
36
  };
35
37
  }
@@ -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;AAG3B,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGxD,MAAM,KAAW,aAAa,CAsC7B;AAtCD,WAAiB,aAAa;IAEhB,sBAAQ,GAAG,qBAAqB,CAAA;IAEhC,oBAAM,GAAG,mBAAmB,CAAA;IAE5B,uBAAS,GAAG,sBAAsB,CAAA;IAC/C,SAAgB,aAAa,CAC5B,aAAsC,EACtC,WAAwC;QAExC,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC;YAChE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;IAPe,2BAAa,gBAO5B,CAAA;IACY,kBAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,aAAa,CAAC,MAAM,CAAC,IAAI,EACzB,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC3B,CAAA;IACY,gBAAE,GAAG,cAAA,IAAI,CAAC,EAAE,CAAA;IACZ,kBAAI,GAAG,cAAA,IAAI,CAAC,IAAI,CAAA;IAE7B,SAAgB,aAAa,CAAC,aAA4B,EAAE,IAAU;QACrE,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/B,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,WAAW,EAAE;gBACZ,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;gBACrB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC;SACD,CAAA;IACF,CAAC;IAfe,2BAAa,gBAe5B,CAAA;AACF,CAAC,EAtCgB,aAAa,KAAb,aAAa,QAsC7B"}
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;AAG3B,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGxD,MAAM,KAAW,aAAa,CAwC7B;AAxCD,WAAiB,aAAa;IAEhB,sBAAQ,GAAG,qBAAqB,CAAA;IAEhC,oBAAM,GAAG,mBAAmB,CAAA;IAE5B,uBAAS,GAAG,sBAAsB,CAAA;IAC/C,SAAgB,aAAa,CAC5B,aAAsC,EACtC,WAAwC;QAExC,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC;YAChE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;IAPe,2BAAa,gBAO5B,CAAA;IACY,kBAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,aAAa,CAAC,MAAM,CAAC,IAAI,EACzB,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC3B,CAAA;IACY,gBAAE,GAAG,cAAA,IAAI,CAAC,EAAE,CAAA;IACZ,kBAAI,GAAG,cAAA,IAAI,CAAC,IAAI,CAAA;IAE7B,SAAgB,aAAa,CAAC,aAA4B,EAAE,IAAU;QACrE,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/B,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,WAAW,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,YAAY;gBACpB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;gBACrB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC;SACD,CAAA;IACF,CAAC;IAjBe,2BAAa,gBAiB5B,CAAA;AACF,CAAC,EAxCgB,aAAa,KAAb,aAAa,QAwC7B"}
@@ -0,0 +1,6 @@
1
+ import { isly } from "isly";
2
+ export type Scheme = typeof Scheme.schemes[number];
3
+ export declare namespace Scheme {
4
+ const schemes: readonly ["mastercard"];
5
+ const type: isly.Type<"mastercard">;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { isly } from "isly";
2
+ export var Scheme;
3
+ (function (Scheme) {
4
+ Scheme.schemes = ["mastercard"];
5
+ Scheme.type = isly.string(Scheme.schemes);
6
+ })(Scheme || (Scheme = {}));
7
+ //# sourceMappingURL=Scheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scheme.js","sourceRoot":"../","sources":["Card/Scheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,MAAM,KAAW,MAAM,CAGtB;AAHD,WAAiB,MAAM;IACT,cAAO,GAAG,CAAC,YAAY,CAAU,CAAA;IACjC,WAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAA,OAAO,CAAC,CAAA;AACzC,CAAC,EAHgB,MAAM,KAAN,MAAM,QAGtB"}
@@ -8,6 +8,7 @@ import { Expiry as CardExpiry } from "./Expiry";
8
8
  import { Meta as CardMeta } from "./Meta";
9
9
  import { Operation as CardOperation } from "./Operation";
10
10
  import { Preset as CardPreset } from "./Preset";
11
+ import { Scheme as CardScheme } from "./Scheme";
11
12
  export interface Card {
12
13
  id: string;
13
14
  number?: string;
@@ -16,6 +17,7 @@ export interface Card {
16
17
  realm: Realm;
17
18
  account: string;
18
19
  preset: CardPreset;
20
+ scheme: CardScheme;
19
21
  reference?: string;
20
22
  details: {
21
23
  iin: string;
@@ -46,4 +48,6 @@ export declare namespace Card {
46
48
  const Changeable: typeof CardChangeable;
47
49
  type Operation = CardOperation;
48
50
  const Operation: typeof CardOperation;
51
+ type Scheme = CardScheme;
52
+ const Scheme: typeof CardScheme;
49
53
  }
@@ -8,6 +8,7 @@ import { Expiry as CardExpiry } from "./Expiry";
8
8
  import { Meta as CardMeta } from "./Meta";
9
9
  import { Operation as CardOperation } from "./Operation";
10
10
  import { Preset as CardPreset } from "./Preset";
11
+ import { Scheme as CardScheme } from "./Scheme";
11
12
  export var Card;
12
13
  (function (Card) {
13
14
  Card.type = isly.object({
@@ -18,6 +19,7 @@ export var Card;
18
19
  realm: Realm.type,
19
20
  account: isly.string(),
20
21
  preset: CardPreset.type,
22
+ scheme: CardScheme.type,
21
23
  reference: isly.string().optional(),
22
24
  details: isly.object({
23
25
  iin: isly.string(),
@@ -40,5 +42,6 @@ export var Card;
40
42
  Card.Expiry = CardExpiry;
41
43
  Card.Changeable = CardChangeable;
42
44
  Card.Operation = CardOperation;
45
+ Card.Scheme = CardScheme;
43
46
  })(Card || (Card = {}));
44
47
  //# sourceMappingURL=index.js.map
@@ -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;AAC3B,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;AA0B/C,MAAM,KAAW,IAAI,CAqCpB;AArCD,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,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;AACvC,CAAC,EArCgB,IAAI,KAAJ,IAAI,QAqCpB"}
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;AAC3B,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"}
@@ -1,22 +1,21 @@
1
1
  import { isly } from "isly";
2
+ import { Acquirer } from "../Acquirer";
2
3
  import { Card as ModelCard } from "../Card";
3
4
  import { Merchant } from "../Merchant";
4
5
  export interface Card {
5
- type: Card.Type;
6
+ type: "card";
7
+ scheme: ModelCard.Scheme;
6
8
  id: string;
7
9
  iin: string;
8
10
  last4: string;
9
11
  expiry: ModelCard.Expiry;
10
12
  holder: string;
11
13
  merchant: Merchant;
14
+ acquirer: Acquirer;
12
15
  }
13
16
  export declare namespace Card {
14
- export const currencies: readonly ["EUR", "GBP", "SEK", "USD"];
15
- type Mastercard = "mastercard";
16
- type Visa = "visa";
17
- export type Type = Mastercard | Visa;
18
- export const type: isly.object.ExtendableType<Card>;
19
- export const is: isly.Type.IsFunction<Card>;
20
- export const flaw: isly.Type.FlawFunction;
21
- export {};
17
+ const currencies: readonly ["EUR", "GBP", "SEK", "USD"];
18
+ const type: isly.object.ExtendableType<Card>;
19
+ const is: isly.Type.IsFunction<Card>;
20
+ const flaw: isly.Type.FlawFunction;
22
21
  }
package/dist/Rail/Card.js CHANGED
@@ -1,17 +1,20 @@
1
1
  import { isly } from "isly";
2
+ import { Acquirer } from "../Acquirer";
2
3
  import { Card as ModelCard } from "../Card";
3
4
  import { Merchant } from "../Merchant";
4
5
  export var Card;
5
6
  (function (Card) {
6
7
  Card.currencies = ["EUR", "GBP", "SEK", "USD"];
7
8
  Card.type = isly.object({
8
- type: isly.union(isly.string("mastercard"), isly.string("visa")),
9
+ type: isly.string("card"),
10
+ scheme: ModelCard.Scheme.type,
9
11
  id: isly.string(),
10
12
  iin: isly.string(),
11
13
  last4: isly.string(),
12
14
  expiry: ModelCard.Expiry.type,
13
15
  holder: isly.string(),
14
16
  merchant: Merchant.type,
17
+ acquirer: Acquirer.type,
15
18
  });
16
19
  Card.is = Card.type.is;
17
20
  Card.flaw = Card.type.flaw;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"../","sources":["Rail/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAWtC,MAAM,KAAW,IAAI,CAgBpB;AAhBD,WAAiB,IAAI;IACP,eAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IAIlD,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO;QACrC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAyB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxF,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI;KACvB,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;IACZ,SAAI,GAAG,KAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAhBgB,IAAI,KAAJ,IAAI,QAgBpB"}
1
+ {"version":3,"file":"Card.js","sourceRoot":"../","sources":["Rail/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAatC,MAAM,KAAW,IAAI,CAepB;AAfD,WAAiB,IAAI;IACP,eAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IAClD,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO;QACrC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;QAC7B,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;QAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;KACvB,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;IACZ,SAAI,GAAG,KAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAfgB,IAAI,KAAJ,IAAI,QAepB"}
@@ -1,9 +1,9 @@
1
+ import { isly } from "isly";
1
2
  import { Card as RailCard } from "./Card";
2
3
  import { Iban as RailIban } from "./Iban";
3
4
  import { Internal as RailInternal } from "./internal";
4
5
  import { PaxGiro as RailPaxGiro } from "./PaxGiro";
5
6
  import { Scan as RailScan } from "./Scan";
6
- import { Type as RailType } from "./Type";
7
7
  export type Rail = (RailPaxGiro | RailInternal | RailIban | RailScan | RailCard) & {
8
8
  reference?: {
9
9
  supplier: string;
@@ -11,11 +11,13 @@ export type Rail = (RailPaxGiro | RailInternal | RailIban | RailScan | RailCard)
11
11
  };
12
12
  };
13
13
  export declare namespace Rail {
14
+ const rails: string[];
15
+ type Type = typeof rails[number];
16
+ const type: isly.Type<string>;
14
17
  function parse(value: string): Rail | undefined;
15
18
  function stringify(rail: Rail): string;
16
19
  function beautify(rail: Rail): string;
17
20
  function is(value: Rail | any): value is Rail;
18
- type Type = RailType;
19
21
  type PaxGiro = RailPaxGiro;
20
22
  const PaxGiro: typeof RailPaxGiro;
21
23
  type Iban = RailIban;
@@ -1,3 +1,4 @@
1
+ import { isly } from "isly";
1
2
  import { Card as RailCard } from "./Card";
2
3
  import { Iban as RailIban } from "./Iban";
3
4
  import { Internal as RailInternal } from "./internal";
@@ -5,6 +6,8 @@ import { PaxGiro as RailPaxGiro } from "./PaxGiro";
5
6
  import { Scan as RailScan } from "./Scan";
6
7
  export var Rail;
7
8
  (function (Rail) {
9
+ Rail.rails = ["paxgiro", "internal", "iban", "scan", "card"];
10
+ Rail.type = isly.string(Rail.rails);
8
11
  function parse(value) {
9
12
  let result;
10
13
  const splitted = value.split("-");
@@ -31,8 +34,7 @@ export var Rail;
31
34
  case "scan":
32
35
  result = `scan-${rail.sort}-${rail.account}`;
33
36
  break;
34
- case "visa":
35
- case "mastercard":
37
+ case "card":
36
38
  result = `${rail.type}-${rail.id}`;
37
39
  break;
38
40
  }
@@ -54,8 +56,7 @@ export var Rail;
54
56
  case "scan":
55
57
  result = `${rail.sort} ${rail.account}`;
56
58
  break;
57
- case "visa":
58
- case "mastercard":
59
+ case "card":
59
60
  result = `${rail.type}-${rail.id}`;
60
61
  break;
61
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Rail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAOzC,MAAM,KAAW,IAAI,CAyFpB;AAzFD,WAAiB,IAAI;IACpB,SAAgB,KAAK,CAAC,KAAa;QAClC,IAAI,MAAwB,CAAA;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE;YAIpB,KAAK,KAAK;gBACT,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;gBACxF,MAAK;SAON;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAlBe,UAAK,QAkBpB,CAAA;IACD,SAAgB,SAAS,CAAC,IAAU;QACnC,IAAI,MAAc,CAAA;QAClB,QAAQ,IAAI,CAAC,IAAI,EAAE;YAClB,KAAK,MAAM;gBACV,MAAM,GAAG,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAA;gBAC5B,MAAK;YACN,KAAK,SAAS;gBACb,MAAM,GAAG,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjC,MAAK;YACN,KAAK,UAAU;gBACd,MAAM,GAAG,YAAY,IAAI,CAAC,UAAU,EAAE,CAAA;gBACtC,MAAK;YACN,KAAK,MAAM;gBACV,MAAM,GAAG,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;gBAC5C,MAAK;YACN,KAAK,MAAM,CAAC;YACZ,KAAK,YAAY;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAA;gBAClC,MAAK;SAIN;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAxBe,cAAS,YAwBxB,CAAA;IACD,SAAgB,QAAQ,CAAC,IAAU;QAClC,IAAI,MAAc,CAAA;QAClB,QAAQ,IAAI,CAAC,IAAI,EAAE;YAClB,KAAK,MAAM;gBACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBACvB,MAAK;YACN,KAAK,SAAS;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAC7B,MAAK;YACN,KAAK,UAAU;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;gBAC7B,MAAK;YACN,KAAK,MAAM;gBACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;gBACvC,MAAK;YACN,KAAK,MAAM,CAAC;YACZ,KAAK,YAAY;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAA;gBAClC,MAAK;SAIN;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAxBe,aAAQ,WAwBvB,CAAA;IACD,SAAgB,EAAE,CAAC,KAAiB;QACnC,OAAO,CACN,KAAK;YACL,OAAO,KAAK,IAAI,QAAQ;YACxB,CAAC,KAAA,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAA,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAC/F,CAAA;IACF,CAAC;IANe,OAAE,KAMjB,CAAA;IAIY,YAAO,GAAG,WAAW,CAAA;IAErB,SAAI,GAAG,QAAQ,CAAA;IAEf,SAAI,GAAG,QAAQ,CAAA;IAEf,aAAQ,GAAG,YAAY,CAAA;IAEvB,SAAI,GAAG,QAAQ,CAAA;AAC7B,CAAC,EAzFgB,IAAI,KAAJ,IAAI,QAyFpB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Rail/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.112",
3
+ "version": "0.1.114",
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/Rail/Type.ts DELETED
@@ -1 +0,0 @@
1
- export type Type = "paxgiro" | "internal" | "iban" | "scan" | "visa" | "mastercard" //| "swedish" |
@@ -1 +0,0 @@
1
- export type Type = "paxgiro" | "internal" | "iban" | "scan" | "visa" | "mastercard";
package/dist/Rail/Type.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Type.js","sourceRoot":"../","sources":["Rail/Type.ts"],"names":[],"mappings":""}