@pax2pay/model-banking 0.1.509 → 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.
Files changed (95) hide show
  1. package/Card/Restriction/Merchant.ts +19 -94
  2. package/Card/Restriction/merchants/Merchant.ts +28 -0
  3. package/Card/Restriction/merchants/airlines.json +957 -0
  4. package/Card/Restriction/merchants/hotels.json +252 -0
  5. package/Card/Restriction/merchants/index.ts +765 -0
  6. package/Card/Restriction/merchants/misc.json +139 -0
  7. package/User/Access/Permission.ts +47 -0
  8. package/User/Access/index.ts +19 -0
  9. package/User/Identity.ts +32 -0
  10. package/User/JWT/Payload.ts +56 -0
  11. package/User/JWT/Signer.ts +39 -0
  12. package/User/JWT/index.ts +57 -0
  13. package/User/Me.ts +15 -0
  14. package/User/Password.ts +43 -0
  15. package/User/index.ts +68 -0
  16. package/dist/cjs/Card/Restriction/Merchant.d.ts +3 -9
  17. package/dist/cjs/Card/Restriction/Merchant.js +18 -87
  18. package/dist/cjs/Card/Restriction/Merchant.js.map +1 -1
  19. package/dist/cjs/Card/Restriction/merchants/Merchant.d.ts +12 -0
  20. package/dist/cjs/Card/Restriction/merchants/Merchant.js +26 -0
  21. package/dist/cjs/Card/Restriction/merchants/Merchant.js.map +1 -0
  22. package/dist/cjs/Card/Restriction/merchants/index.d.ts +763 -0
  23. package/dist/cjs/Card/Restriction/merchants/index.js +767 -0
  24. package/dist/cjs/Card/Restriction/merchants/index.js.map +1 -0
  25. package/dist/cjs/User/Access/Permission.d.ts +20 -0
  26. package/dist/cjs/User/Access/Permission.js +47 -0
  27. package/dist/cjs/User/Access/Permission.js.map +1 -0
  28. package/dist/cjs/User/Access/index.d.ts +11 -0
  29. package/dist/cjs/User/Access/index.js +16 -0
  30. package/dist/cjs/User/Access/index.js.map +1 -0
  31. package/dist/cjs/User/Identity.d.ts +16 -0
  32. package/dist/cjs/User/Identity.js +32 -0
  33. package/dist/cjs/User/Identity.js.map +1 -0
  34. package/dist/cjs/User/JWT/Payload.d.ts +43 -0
  35. package/dist/cjs/User/JWT/Payload.js +42 -0
  36. package/dist/cjs/User/JWT/Payload.js.map +1 -0
  37. package/dist/cjs/User/JWT/Signer.d.ts +23 -0
  38. package/dist/cjs/User/JWT/Signer.js +39 -0
  39. package/dist/cjs/User/JWT/Signer.js.map +1 -0
  40. package/dist/cjs/User/JWT/index.d.ts +25 -0
  41. package/dist/cjs/User/JWT/index.js +59 -0
  42. package/dist/cjs/User/JWT/index.js.map +1 -0
  43. package/dist/cjs/User/Me.d.ts +9 -0
  44. package/dist/cjs/User/Me.js +14 -0
  45. package/dist/cjs/User/Me.js.map +1 -0
  46. package/dist/cjs/User/Password.d.ts +20 -0
  47. package/dist/cjs/User/Password.js +44 -0
  48. package/dist/cjs/User/Password.js.map +1 -0
  49. package/dist/cjs/User/index.d.ts +46 -0
  50. package/dist/cjs/User/index.js +54 -0
  51. package/dist/cjs/User/index.js.map +1 -0
  52. package/dist/cjs/pax2pay.d.ts +2 -1
  53. package/dist/cjs/pax2pay.js +5 -3
  54. package/dist/cjs/pax2pay.js.map +1 -1
  55. package/dist/mjs/Card/Restriction/Merchant.d.ts +3 -9
  56. package/dist/mjs/Card/Restriction/Merchant.js +18 -87
  57. package/dist/mjs/Card/Restriction/Merchant.js.map +1 -1
  58. package/dist/mjs/Card/Restriction/merchants/Merchant.d.ts +12 -0
  59. package/dist/mjs/Card/Restriction/merchants/Merchant.js +23 -0
  60. package/dist/mjs/Card/Restriction/merchants/Merchant.js.map +1 -0
  61. package/dist/mjs/Card/Restriction/merchants/index.d.ts +763 -0
  62. package/dist/mjs/Card/Restriction/merchants/index.js +764 -0
  63. package/dist/mjs/Card/Restriction/merchants/index.js.map +1 -0
  64. package/dist/mjs/User/Access/Permission.d.ts +20 -0
  65. package/dist/mjs/User/Access/Permission.js +44 -0
  66. package/dist/mjs/User/Access/Permission.js.map +1 -0
  67. package/dist/mjs/User/Access/index.d.ts +11 -0
  68. package/dist/mjs/User/Access/index.js +13 -0
  69. package/dist/mjs/User/Access/index.js.map +1 -0
  70. package/dist/mjs/User/Identity.d.ts +16 -0
  71. package/dist/mjs/User/Identity.js +28 -0
  72. package/dist/mjs/User/Identity.js.map +1 -0
  73. package/dist/mjs/User/JWT/Payload.d.ts +43 -0
  74. package/dist/mjs/User/JWT/Payload.js +39 -0
  75. package/dist/mjs/User/JWT/Payload.js.map +1 -0
  76. package/dist/mjs/User/JWT/Signer.d.ts +23 -0
  77. package/dist/mjs/User/JWT/Signer.js +35 -0
  78. package/dist/mjs/User/JWT/Signer.js.map +1 -0
  79. package/dist/mjs/User/JWT/index.d.ts +25 -0
  80. package/dist/mjs/User/JWT/index.js +55 -0
  81. package/dist/mjs/User/JWT/index.js.map +1 -0
  82. package/dist/mjs/User/Me.d.ts +9 -0
  83. package/dist/mjs/User/Me.js +11 -0
  84. package/dist/mjs/User/Me.js.map +1 -0
  85. package/dist/mjs/User/Password.d.ts +20 -0
  86. package/dist/mjs/User/Password.js +41 -0
  87. package/dist/mjs/User/Password.js.map +1 -0
  88. package/dist/mjs/User/index.d.ts +46 -0
  89. package/dist/mjs/User/index.js +51 -0
  90. package/dist/mjs/User/index.js.map +1 -0
  91. package/dist/mjs/pax2pay.d.ts +2 -1
  92. package/dist/mjs/pax2pay.js +2 -1
  93. package/dist/mjs/pax2pay.js.map +1 -1
  94. package/package.json +1 -1
  95. package/pax2pay.ts +2 -1
@@ -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"}