@pax2pay/model-banking 0.1.510 → 0.1.511

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.
@@ -0,0 +1,139 @@
1
+ [
2
+ {
3
+ "name": "PARKWING",
4
+ "mccs": [
5
+ 4582
6
+ ],
7
+ "category": "Airports and Terminals",
8
+ "startsWith": [
9
+ "PARKWING"
10
+ ]
11
+ },
12
+ {
13
+ "name": "Albergo - Food and drinks",
14
+ "mccs": [
15
+ 5812
16
+ ],
17
+ "category": "Food and drinks",
18
+ "startsWith": [
19
+ "ALBERGO"
20
+ ]
21
+ },
22
+ {
23
+ "name": "Amtrak",
24
+ "mccs": [
25
+ 4112
26
+ ],
27
+ "category": "Alternative Transportation",
28
+ "startsWith": [
29
+ "AMTRAK"
30
+ ]
31
+ },
32
+ {
33
+ "name": "Italo Treno",
34
+ "mccs": [
35
+ 4112
36
+ ],
37
+ "category": "Alternative Transportation",
38
+ "contains": [
39
+ "ITALOTRENO"
40
+ ]
41
+ },
42
+ {
43
+ "name": "ILSA WEB",
44
+ "mccs": [
45
+ 4112
46
+ ],
47
+ "category": "Advertising",
48
+ "contains": [
49
+ "ILSA WEB"
50
+ ]
51
+ },
52
+ {
53
+ "name": "Rail Ninja",
54
+ "mccs": [
55
+ 4722,
56
+ 4789
57
+ ],
58
+ "category": "Alternative Transportation",
59
+ "startsWith": [
60
+ "RailNinja"
61
+ ]
62
+ },
63
+ {
64
+ "name": "Irish Rail",
65
+ "mccs": [
66
+ 4789,
67
+ 4112
68
+ ],
69
+ "category": "Alternative Transportation",
70
+ "startsWith": [
71
+ "IRISH RAIL"
72
+ ]
73
+ },
74
+ {
75
+ "name": "Österreichische Bundesbahnen",
76
+ "mccs": [
77
+ 4111
78
+ ],
79
+ "category": "Alternative Transportation",
80
+ "startsWith": [
81
+ "OEBB"
82
+ ]
83
+ },
84
+ {
85
+ "name": "Rail Europe",
86
+ "mccs": [
87
+ 4722
88
+ ],
89
+ "category": "Alternative Transportation",
90
+ "startsWith": [
91
+ "RAIL EUROPE"
92
+ ]
93
+ },
94
+ {
95
+ "name": "Via Rail Canada",
96
+ "mccs": [
97
+ 4112
98
+ ],
99
+ "category": "Alternative Transportation",
100
+ "startsWith": [
101
+ "VIA RAIL"
102
+ ]
103
+ },
104
+ {
105
+ "name": "Direct Ferries",
106
+ "mccs": [
107
+ 4111,
108
+ 4411
109
+ ],
110
+ "category": "Alternative Transportation",
111
+ "startsWith": [
112
+ "DIRECTF"
113
+ ]
114
+ },
115
+ {
116
+ "name": "Booking.com",
117
+ "mccs": [
118
+ 4722
119
+ ],
120
+ "category": "Travel Agency",
121
+ "startsWith": [
122
+ "BKG*"
123
+ ]
124
+ },
125
+ {
126
+ "name": "Advertising",
127
+ "mccs": [
128
+ 7311,
129
+ 5818
130
+ ],
131
+ "contains": [
132
+ "FACEBK",
133
+ "google *ad",
134
+ "googleadwords",
135
+ "facebook"
136
+ ],
137
+ "category": "Advertising"
138
+ }
139
+ ]
@@ -3,14 +3,8 @@ import { isly as isly2 } from "isly2";
3
3
  import type { Transaction } from "../../Transaction";
4
4
  export type Merchant = typeof Merchant.values[number];
5
5
  export declare namespace Merchant {
6
- const values: readonly ["united airlines", "american air", "british airways", "air france", "lufthansa", "qantas", "alitalia", "saudi air", "sas", "air india", "air algerie", "emirates", "air malta", "etihad air", "tap", "avianca", "gulf air", "aer lingus", "turkish air", "royal air maroc", "tunis air", "austrian air", "flydubai", "cebu air", "thai airways", "china airlines", "malaysia airlines", "iberia", "qatar air", "ana air", "jet blue", "middle east airlines", "lot polish airlines", "norwegian air", "air arabia", "easyjet", "ryanair", "air china", "ethiopian airlines", "wizz air"];
7
- const type: isly.Type<"united airlines" | "american air" | "british airways" | "air france" | "lufthansa" | "qantas" | "alitalia" | "saudi air" | "sas" | "air india" | "air algerie" | "emirates" | "air malta" | "etihad air" | "tap" | "avianca" | "gulf air" | "aer lingus" | "turkish air" | "royal air maroc" | "tunis air" | "austrian air" | "flydubai" | "cebu air" | "thai airways" | "china airlines" | "malaysia airlines" | "iberia" | "qatar air" | "ana air" | "jet blue" | "middle east airlines" | "lot polish airlines" | "norwegian air" | "air arabia" | "easyjet" | "ryanair" | "air china" | "ethiopian airlines" | "wizz air">;
8
- const type2: isly2.String<"united airlines" | "american air" | "british airways" | "air france" | "lufthansa" | "qantas" | "alitalia" | "saudi air" | "sas" | "air india" | "air algerie" | "emirates" | "air malta" | "etihad air" | "tap" | "avianca" | "gulf air" | "aer lingus" | "turkish air" | "royal air maroc" | "tunis air" | "austrian air" | "flydubai" | "cebu air" | "thai airways" | "china airlines" | "malaysia airlines" | "iberia" | "qatar air" | "ana air" | "jet blue" | "middle east airlines" | "lot polish airlines" | "norwegian air" | "air arabia" | "easyjet" | "ryanair" | "air china" | "ethiopian airlines" | "wizz air">;
9
- type Checker = (merchant: Merchant, transaction: Transaction.Creatable.CardTransaction | Transaction.PreTransaction.Authorization) => boolean;
10
- type Attribute = {
11
- mccs: string[];
12
- checkers?: Checker[];
13
- };
14
- const attributes: Record<Merchant, Attribute>;
6
+ const values: ("ryanair" | "easyjet" | "wizzair" | "aer lingus" | "air malta" | "vueling" | "jet2" | "eurowings" | "turkish air" | "tap" | "pegasus" | "royal air maroc" | "qatar air" | "blue island" | "klm" | "iberia" | "emirates" | "aegean airlines" | "tui" | "united airlines" | "cathay pacific airlines" | "air serbia" | "copa air" | "bamboo airways" | "latam airlines" | "flydubai" | "condor" | "transavia" | "austrian air" | "alitalia" | "apg airlines" | "iceland air" | "flyone" | "avianca" | "brussels airlines" | "saudia" | "aeromexico" | "gulf air" | "ethiopian airlines" | "egypt air" | "albawings" | "iberojet" | "norwegian air" | "vistara" | "air greenland" | "sky express" | "air canada" | "philippine airlines" | "south african airlink" | "air benelux" | "tunisair" | "lufthansa" | "corendon airlines" | "uganda airlines" | "freebird airlines" | "kenya airway" | "kuwait air" | "british airways" | "czech airlines" | "lot polish airlines" | "volotea" | "flybe" | "bulgaria air" | "sas" | "qantas" | "air india" | "air europa" | "royal jordanian" | "virgin atlantic" | "flexflight" | "rwandair" | "hahn air" | "american air" | "pakistan international airlines" | "singapore airlines" | "delta air lines" | "croatia airlines" | "air asia" | "hawaiian airlines" | "oman air" | "etihad air" | "middle east airlines" | "logan air" | "aurigny" | "eastern airways" | "sun express" | "spirit air" | "air france" | "malaysia airlines" | "finnair" | "swiss air" | "air china" | "ana air" | "ae bsp" | "thai airways" | "jet blue" | "westjet" | "aerolineas" | "air seoul" | "azerbaijan airlines" | "air dolomiti" | "bangkok airways" | "china airlines" | "china eastern airlines" | "eva air" | "jetstar airways" | "km malta airlines" | "ita airways" | "china southern airlines" | "world2fly" | "sata denmark" | "air baltic" | "ajet" | "flynorse" | "hainan air" | "sichuan airlines" | "korean air" | "gol airlines" | "azul brazilian airlines" | "flysafair" | "air mauritius" | "alaska airlines" | "allegiant air" | "plus ultra líneas aéreas" | "parkwing" | "albergo - food and drinks" | "amtrak" | "italo treno" | "ilsa web" | "rail ninja" | "irish rail" | "österreichische bundesbahnen" | "rail europe" | "via rail canada" | "direct ferries" | "booking.com" | "advertising" | "best western" | "una hotels" | "unaway hotels" | "albergo - lodging" | "leonardo hotels" | "hotel mercure" | "nh hotels & resorts" | "novotel hotels" | "ac hotels" | "marriott hotels" | "sheraton hotels and resorts" | "ih hotels" | "ibis hotels" | "hyatt hotels & resorts" | "hilton hotels & resorts" | "holiday inn" | "four seasons" | "doubletree by hilton" | "crowne plaza hotels")[];
7
+ const type: isly.Type<"ryanair" | "easyjet" | "wizzair" | "aer lingus" | "air malta" | "vueling" | "jet2" | "eurowings" | "turkish air" | "tap" | "pegasus" | "royal air maroc" | "qatar air" | "blue island" | "klm" | "iberia" | "emirates" | "aegean airlines" | "tui" | "united airlines" | "cathay pacific airlines" | "air serbia" | "copa air" | "bamboo airways" | "latam airlines" | "flydubai" | "condor" | "transavia" | "austrian air" | "alitalia" | "apg airlines" | "iceland air" | "flyone" | "avianca" | "brussels airlines" | "saudia" | "aeromexico" | "gulf air" | "ethiopian airlines" | "egypt air" | "albawings" | "iberojet" | "norwegian air" | "vistara" | "air greenland" | "sky express" | "air canada" | "philippine airlines" | "south african airlink" | "air benelux" | "tunisair" | "lufthansa" | "corendon airlines" | "uganda airlines" | "freebird airlines" | "kenya airway" | "kuwait air" | "british airways" | "czech airlines" | "lot polish airlines" | "volotea" | "flybe" | "bulgaria air" | "sas" | "qantas" | "air india" | "air europa" | "royal jordanian" | "virgin atlantic" | "flexflight" | "rwandair" | "hahn air" | "american air" | "pakistan international airlines" | "singapore airlines" | "delta air lines" | "croatia airlines" | "air asia" | "hawaiian airlines" | "oman air" | "etihad air" | "middle east airlines" | "logan air" | "aurigny" | "eastern airways" | "sun express" | "spirit air" | "air france" | "malaysia airlines" | "finnair" | "swiss air" | "air china" | "ana air" | "ae bsp" | "thai airways" | "jet blue" | "westjet" | "aerolineas" | "air seoul" | "azerbaijan airlines" | "air dolomiti" | "bangkok airways" | "china airlines" | "china eastern airlines" | "eva air" | "jetstar airways" | "km malta airlines" | "ita airways" | "china southern airlines" | "world2fly" | "sata denmark" | "air baltic" | "ajet" | "flynorse" | "hainan air" | "sichuan airlines" | "korean air" | "gol airlines" | "azul brazilian airlines" | "flysafair" | "air mauritius" | "alaska airlines" | "allegiant air" | "plus ultra líneas aéreas" | "parkwing" | "albergo - food and drinks" | "amtrak" | "italo treno" | "ilsa web" | "rail ninja" | "irish rail" | "österreichische bundesbahnen" | "rail europe" | "via rail canada" | "direct ferries" | "booking.com" | "advertising" | "best western" | "una hotels" | "unaway hotels" | "albergo - lodging" | "leonardo hotels" | "hotel mercure" | "nh hotels & resorts" | "novotel hotels" | "ac hotels" | "marriott hotels" | "sheraton hotels and resorts" | "ih hotels" | "ibis hotels" | "hyatt hotels & resorts" | "hilton hotels & resorts" | "holiday inn" | "four seasons" | "doubletree by hilton" | "crowne plaza hotels">;
8
+ const type2: isly2.String<"ryanair" | "easyjet" | "wizzair" | "aer lingus" | "air malta" | "vueling" | "jet2" | "eurowings" | "turkish air" | "tap" | "pegasus" | "royal air maroc" | "qatar air" | "blue island" | "klm" | "iberia" | "emirates" | "aegean airlines" | "tui" | "united airlines" | "cathay pacific airlines" | "air serbia" | "copa air" | "bamboo airways" | "latam airlines" | "flydubai" | "condor" | "transavia" | "austrian air" | "alitalia" | "apg airlines" | "iceland air" | "flyone" | "avianca" | "brussels airlines" | "saudia" | "aeromexico" | "gulf air" | "ethiopian airlines" | "egypt air" | "albawings" | "iberojet" | "norwegian air" | "vistara" | "air greenland" | "sky express" | "air canada" | "philippine airlines" | "south african airlink" | "air benelux" | "tunisair" | "lufthansa" | "corendon airlines" | "uganda airlines" | "freebird airlines" | "kenya airway" | "kuwait air" | "british airways" | "czech airlines" | "lot polish airlines" | "volotea" | "flybe" | "bulgaria air" | "sas" | "qantas" | "air india" | "air europa" | "royal jordanian" | "virgin atlantic" | "flexflight" | "rwandair" | "hahn air" | "american air" | "pakistan international airlines" | "singapore airlines" | "delta air lines" | "croatia airlines" | "air asia" | "hawaiian airlines" | "oman air" | "etihad air" | "middle east airlines" | "logan air" | "aurigny" | "eastern airways" | "sun express" | "spirit air" | "air france" | "malaysia airlines" | "finnair" | "swiss air" | "air china" | "ana air" | "ae bsp" | "thai airways" | "jet blue" | "westjet" | "aerolineas" | "air seoul" | "azerbaijan airlines" | "air dolomiti" | "bangkok airways" | "china airlines" | "china eastern airlines" | "eva air" | "jetstar airways" | "km malta airlines" | "ita airways" | "china southern airlines" | "world2fly" | "sata denmark" | "air baltic" | "ajet" | "flynorse" | "hainan air" | "sichuan airlines" | "korean air" | "gol airlines" | "azul brazilian airlines" | "flysafair" | "air mauritius" | "alaska airlines" | "allegiant air" | "plus ultra líneas aéreas" | "parkwing" | "albergo - food and drinks" | "amtrak" | "italo treno" | "ilsa web" | "rail ninja" | "irish rail" | "österreichische bundesbahnen" | "rail europe" | "via rail canada" | "direct ferries" | "booking.com" | "advertising" | "best western" | "una hotels" | "unaway hotels" | "albergo - lodging" | "leonardo hotels" | "hotel mercure" | "nh hotels & resorts" | "novotel hotels" | "ac hotels" | "marriott hotels" | "sheraton hotels and resorts" | "ih hotels" | "ibis hotels" | "hyatt hotels & resorts" | "hilton hotels & resorts" | "holiday inn" | "four seasons" | "doubletree by hilton" | "crowne plaza hotels">;
15
9
  function check(merchant: Merchant, transaction: Transaction.Creatable.CardTransaction | Transaction.PreTransaction.Authorization): boolean;
16
10
  }
@@ -3,98 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Merchant = void 0;
4
4
  const isly_1 = require("isly");
5
5
  const isly2_1 = require("isly2");
6
+ const typedly_1 = require("typedly");
7
+ const merchants_1 = require("./merchants");
6
8
  var Merchant;
7
9
  (function (Merchant) {
8
- Merchant.values = [
9
- "united airlines",
10
- "american air",
11
- "british airways",
12
- "air france",
13
- "lufthansa",
14
- "qantas",
15
- "alitalia",
16
- "saudi air",
17
- "sas",
18
- "air india",
19
- "air algerie",
20
- "emirates",
21
- "air malta",
22
- "etihad air",
23
- "tap",
24
- "avianca",
25
- "gulf air",
26
- "aer lingus",
27
- "turkish air",
28
- "royal air maroc",
29
- "tunis air",
30
- "austrian air",
31
- "flydubai",
32
- "cebu air",
33
- "thai airways",
34
- "china airlines",
35
- "malaysia airlines",
36
- "iberia",
37
- "qatar air",
38
- "ana air",
39
- "jet blue",
40
- "middle east airlines",
41
- "lot polish airlines",
42
- "norwegian air",
43
- "air arabia",
44
- "easyjet",
45
- "ryanair",
46
- "air china",
47
- "ethiopian airlines",
48
- "wizz air",
49
- ];
10
+ Merchant.values = typedly_1.typedly.Object.keys(merchants_1.merchants);
50
11
  Merchant.type = isly_1.isly.string(Merchant.values);
51
12
  Merchant.type2 = isly2_1.isly.string("value", ...Merchant.values);
52
- Merchant.attributes = {
53
- "united airlines": { mccs: ["3000"] },
54
- "american air": { mccs: ["3001"] },
55
- "british airways": { mccs: ["3005"] },
56
- "air france": { mccs: ["3007"] },
57
- lufthansa: { mccs: ["3008"] },
58
- qantas: { mccs: ["3012"] },
59
- alitalia: { mccs: ["3013"] },
60
- "saudi air": { mccs: ["3014"] },
61
- sas: { mccs: ["3016"] },
62
- "air india": { mccs: ["3020"] },
63
- "air algerie": { mccs: ["3021"] },
64
- emirates: { mccs: ["3026"] },
65
- "air malta": { mccs: ["3028"] },
66
- "etihad air": { mccs: ["3034"] },
67
- tap: { mccs: ["3035"] },
68
- avianca: { mccs: ["3039"] },
69
- "gulf air": { mccs: ["3040"] },
70
- "aer lingus": { mccs: ["3043"] },
71
- "turkish air": { mccs: ["3047"] },
72
- "royal air maroc": { mccs: ["3048"] },
73
- "tunis air": { mccs: ["3049"] },
74
- "austrian air": { mccs: ["3051"] },
75
- flydubai: { mccs: ["3070"] },
76
- "cebu air": { mccs: ["3072"] },
77
- "thai airways": { mccs: ["3077"] },
78
- "china airlines": { mccs: ["3078"] },
79
- "malaysia airlines": { mccs: ["3100"] },
80
- iberia: { mccs: ["3102"] },
81
- "qatar air": { mccs: ["3136"] },
82
- "ana air": { mccs: ["3161"] },
83
- "jet blue": { mccs: ["3174"] },
84
- "middle east airlines": { mccs: ["3175"] },
85
- "lot polish airlines": { mccs: ["3182"] },
86
- "norwegian air": { mccs: ["3211"] },
87
- "air arabia": { mccs: ["3236"] },
88
- easyjet: { mccs: ["3245"] },
89
- ryanair: { mccs: ["3246"] },
90
- "air china": { mccs: ["3261"] },
91
- "ethiopian airlines": { mccs: ["3294"] },
92
- "wizz air": { mccs: ["3301"] },
93
- };
94
13
  function check(merchant, transaction) {
95
- const attribute = Merchant.attributes[merchant];
96
- return (attribute.mccs.some(mcc => transaction.counterpart.merchant.category == mcc) ||
97
- (attribute.checkers ?? []).some(checker => checker(merchant, transaction)));
14
+ const attribute = merchants_1.merchants[merchant];
15
+ let result;
16
+ if (attribute?.unambiguousMcc == transaction.counterpart.merchant.category)
17
+ result = true;
18
+ else if (attribute.contains && attribute.mccs)
19
+ result =
20
+ attribute.mccs.some(mcc => mcc == transaction.counterpart.merchant.category) &&
21
+ attribute.contains.some(n => transaction.counterpart.merchant.name.includes(n));
22
+ else if (attribute.startsWith && attribute.mccs)
23
+ result =
24
+ attribute.mccs.some(mcc => mcc == transaction.counterpart.merchant.category) &&
25
+ attribute.startsWith.some(n => transaction.counterpart.merchant.name.startsWith(n));
26
+ else
27
+ result = false;
28
+ return result;
98
29
  }
99
30
  Merchant.check = check;
100
31
  })(Merchant || (exports.Merchant = Merchant = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"Merchant.js","sourceRoot":"","sources":["../../../../Card/Restriction/Merchant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Merchant.js","sourceRoot":"","sources":["../../../../Card/Restriction/Merchant.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,iCAAqC;AACrC,qCAAiC;AAEjC,2CAAuC;AAIvC,IAAiB,QAAQ,CAwBxB;AAxBD,WAAiB,QAAQ;IACX,eAAM,GAAG,iBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAS,CAAC,CAAA;IACvC,aAAI,GAAG,WAAI,CAAC,MAAM,CAAW,SAAA,MAAM,CAAC,CAAA;IACpC,cAAK,GAAG,YAAK,CAAC,MAAM,CAAW,OAAO,EAAE,GAAG,SAAA,MAAM,CAAC,CAAA;IAC/D,SAAgB,KAAK,CACpB,QAAkB,EAClB,WAA6F;QAE7F,MAAM,SAAS,GAAc,qBAAS,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,MAAe,CAAA;QACnB,IAAI,SAAS,EAAE,cAAc,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ;YACzE,MAAM,GAAG,IAAI,CAAA;aACT,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI;YAC5C,MAAM;gBACL,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC5E,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;aAC5E,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI;YAC9C,MAAM;gBACL,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC5E,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;;YAEpF,MAAM,GAAG,KAAK,CAAA;QACf,OAAO,MAAM,CAAA;IACd,CAAC;IAnBe,cAAK,QAmBpB,CAAA;AACF,CAAC,EAxBgB,QAAQ,wBAAR,QAAQ,QAwBxB"}
@@ -0,0 +1,12 @@
1
+ import { isly } from "isly2";
2
+ export interface Merchant {
3
+ name: string;
4
+ unambiguousMcc?: string;
5
+ mccs?: Readonly<string[]>;
6
+ startsWith?: Readonly<string[]>;
7
+ contains?: Readonly<string[]>;
8
+ }
9
+ export declare namespace Merchant {
10
+ const type: isly.Object<Merchant>;
11
+ function parse(value: Record<string, any>): Merchant | undefined;
12
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Merchant = void 0;
4
+ const isly2_1 = require("isly2");
5
+ var Merchant;
6
+ (function (Merchant) {
7
+ Merchant.type = isly2_1.isly.object({
8
+ name: isly2_1.isly.string(),
9
+ unambiguousMcc: isly2_1.isly.string().optional(),
10
+ mccs: isly2_1.isly.string().array().optional(),
11
+ startsWith: isly2_1.isly.string().array().optional(),
12
+ contains: isly2_1.isly.string().array().optional(),
13
+ });
14
+ function parse(value) {
15
+ const result = {
16
+ name: value.name?.toLowerCase(),
17
+ unambiguousMcc: value.unambiguousMcc && value.unambiguousMcc.toString(),
18
+ mccs: value.mccs && (Array.isArray(value.mccs) ? value.mccs.map(v => v.toString()) : [value.mccs.toString()]),
19
+ startsWith: value.startsWith && (Array.isArray(value.startsWith) ? value.startsWith : [value.startsWith]),
20
+ contains: value.contains && (Array.isArray(value.contains) ? value.contains : [value.contains]),
21
+ };
22
+ return Merchant.type.prune(result);
23
+ }
24
+ Merchant.parse = parse;
25
+ })(Merchant || (exports.Merchant = Merchant = {}));
26
+ //# sourceMappingURL=Merchant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Merchant.js","sourceRoot":"","sources":["../../../../../Card/Restriction/merchants/Merchant.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAS5B,IAAiB,QAAQ,CAkBxB;AAlBD,WAAiB,QAAQ;IACX,aAAI,GAAG,YAAI,CAAC,MAAM,CAAW;QACzC,IAAI,EAAE,YAAI,CAAC,MAAM,EAAE;QACnB,cAAc,EAAE,YAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC,IAAI,EAAE,YAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QACtC,UAAU,EAAE,YAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC5C,QAAQ,EAAE,YAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KAC1C,CAAC,CAAA;IACF,SAAgB,KAAK,CAAC,KAA0B;QAC/C,MAAM,MAAM,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE;YAC/B,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE;YACvE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7G,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzG,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/F,CAAA;QACD,OAAO,SAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IATe,cAAK,QASpB,CAAA;AACF,CAAC,EAlBgB,QAAQ,wBAAR,QAAQ,QAkBxB"}