ngx-iban-validator 1.1.2 → 1.1.4

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # IBAN Validator
2
2
 
3
- IBAN Validator for your reactive Angular forms, comes without any dependencies and can be used even outside of Angular as standalone function in any JS project. It can perform format, digit and length IBAN validations.
3
+ IBAN Validator for your reactive Angular forms, comes without any dependencies and can be used even outside of Angular as standalone function in any JS project. It can perform format, digit and length IBAN validations. Currently supports 79 countries
4
4
 
5
5
  ## Install
6
6
 
@@ -93,14 +93,125 @@ const ibanIsInvalid = ibanValidator.validateIBAN({
93
93
  }).ibanInvalid;
94
94
  ```
95
95
 
96
- # Build
96
+ # Supported countries
97
+
98
+ | Country | Country Code | Length |
99
+ | ----------------------- | ------------ | ------ |
100
+ | Albania | AL | 28 |
101
+ | Andorra | AD | 24 |
102
+ | Austria | AT | 20 |
103
+ | Azerbaijan | AZ | 28 |
104
+ | Bahrain | BH | 22 |
105
+ | Belarus | BY | 28 |
106
+ | Belgium | BE | 16 |
107
+ | Bosnia and Herzegovina | BA | 20 |
108
+ | Brazil | BR | 29 |
109
+ | Bulgaria | BG | 22 |
110
+ | Costa Rica | CR | 22 |
111
+ | Croatia | HR | 21 |
112
+ | Cyprus | CY | 28 |
113
+ | Czech Republic | CZ | 24 |
114
+ | Denmark | DK | 18 |
115
+ | Dominican Republic | DO | 28 |
116
+ | Egypt | EG | 29 |
117
+ | El Salvador | SV | 28 |
118
+ | Estonia | EE | 20 |
119
+ | Faroe Islands | FO | 18 |
120
+ | Finland | FI | 18 |
121
+ | France | FR | 27 |
122
+ | Georgia | GE | 22 |
123
+ | Germany | DE | 22 |
124
+ | Gibraltar | GI | 23 |
125
+ | Greece | GR | 27 |
126
+ | Greenland | GL | 18 |
127
+ | Guatemala | GT | 28 |
128
+ | Vatican | VA | 22 |
129
+ | Hungary | HU | 28 |
130
+ | Iceland | IS | 26 |
131
+ | Iraq | IQ | 23 |
132
+ | Ireland | IE | 22 |
133
+ | Israel | IL | 23 |
134
+ | Italy | IT | 27 |
135
+ | Jordan | JO | 30 |
136
+ | Kazakhstan | KZ | 20 |
137
+ | Kosovo | XK | 20 |
138
+ | Kuwait | KW | 30 |
139
+ | Latvia | LV | 21 |
140
+ | Lebanon | LB | 28 |
141
+ | Libya | LY | 25 |
142
+ | Liechtenstein | LI | 21 |
143
+ | Lithuania | LT | 20 |
144
+ | Luxembourg | LU | 20 |
145
+ | Malta | MT | 31 |
146
+ | Mauritania | MR | 27 |
147
+ | Mauritius | MU | 30 |
148
+ | Moldova | MD | 24 |
149
+ | Monaco | MC | 27 |
150
+ | Montenegro | ME | 22 |
151
+ | Netherlands | NL | 18 |
152
+ | North Macedonia | MK | 19 |
153
+ | Norway | NO | 15 |
154
+ | Pakistan | PK | 24 |
155
+ | Palestine | PS | 29 |
156
+ | Poland | PL | 28 |
157
+ | Portugal | PT | 25 |
158
+ | Qatar | QA | 29 |
159
+ | Romania | RO | 24 |
160
+ | Saint Lucia | LC | 32 |
161
+ | San Marino | SM | 27 |
162
+ | Sao Tome and Principe | ST | 25 |
163
+ | Saudi Arabia | SA | 24 |
164
+ | Serbia | RS | 22 |
165
+ | Seychelles | SC | 31 |
166
+ | Slovak Republic | SK | 24 |
167
+ | Slovenia | SI | 19 |
168
+ | Spain | ES | 24 |
169
+ | Sudan | SD | 18 |
170
+ | Sweden | SE | 24 |
171
+ | Switzerland | CH | 21 |
172
+ | Timor-Leste | TL | 23 |
173
+ | Tunisia | TN | 24 |
174
+ | Turkey | TR | 26 |
175
+ | Ukraine | UA | 29 |
176
+ | United Arab Emirates | AE | 23 |
177
+ | United Kingdom | GB | 22 |
178
+ | Virgin Islands, British | VG | 24 |
179
+
180
+ # Development
181
+
182
+ ## Install dependencies
97
183
 
98
184
  ```bash
99
185
  npm i
186
+ ```
187
+
188
+ ## Test
189
+
190
+ ```bash
191
+ npm run test
192
+ ```
193
+
194
+ ## Build
195
+
196
+ ```bash
100
197
  npx tsc
101
198
  ```
102
199
 
103
- # v 1.0.1
200
+ # v 1.1.4
201
+
202
+ Avoid Angular warnings for old CommonJS module usage (see https://angular.io/guide/build#configuring-commonjs-dependencies)
203
+
204
+ Replaced mocha and chai with JEST for tests
205
+
206
+ # v 1.1.3
207
+
208
+ Added support for new countries Vatican, Libya, Sao Tome and Principe, Sudan
209
+ Updated length for LC Saint Lucia from 30 to 32
210
+
211
+ Added Tests
212
+ Added Mocha and Chai for testing
213
+
214
+ # v 1.1.2
104
215
 
105
216
  Updated length for CR to 22 - @freddy36
106
217
 
@@ -1,26 +1,97 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateIBAN = void 0;
4
- function validateIBAN(control) {
5
- var codeLengths = {
6
- AD: 24, AE: 23, AL: 28, AT: 20, AZ: 28, BA: 20, BE: 16, BG: 22, BH: 22, BR: 29, BY: 28, CH: 21, CR: 22, CY: 28, CZ: 24,
7
- DE: 22, DK: 18, DO: 28, EE: 20, EG: 29, ES: 24, LC: 30, FI: 18, FO: 18, FR: 27, GB: 22, GI: 23, GL: 18, GE: 22, GR: 27,
8
- GT: 28, HR: 21, HU: 28, IE: 22, IL: 23, IS: 26, IT: 27, IQ: 23, JO: 30, KW: 30, KZ: 20, LB: 28, LI: 21, LT: 20, LU: 20,
9
- LV: 21, MC: 27, MD: 24, ME: 22, MK: 19, MR: 27, MT: 31, MU: 30, NL: 18, NO: 15, PK: 24, PL: 28, PS: 29, PT: 25, QA: 29,
10
- RO: 24, RS: 22, SA: 24, SC: 31, SE: 24, SI: 19, SK: 24, SM: 27, SV: 28, TL: 23, TN: 24, TR: 26, UA: 29, XK: 20, VG: 24
1
+ export function validateIBAN(control) {
2
+ const codeLengths = {
3
+ AD: 24,
4
+ AE: 23,
5
+ AL: 28,
6
+ AT: 20,
7
+ AZ: 28,
8
+ BA: 20,
9
+ BE: 16,
10
+ BG: 22,
11
+ BH: 22,
12
+ BR: 29,
13
+ BY: 28,
14
+ CH: 21,
15
+ CR: 22,
16
+ CY: 28,
17
+ CZ: 24,
18
+ DE: 22,
19
+ DK: 18,
20
+ DO: 28,
21
+ EE: 20,
22
+ EG: 29,
23
+ ES: 24,
24
+ LC: 32,
25
+ LY: 25,
26
+ FI: 18,
27
+ FO: 18,
28
+ FR: 27,
29
+ GB: 22,
30
+ GI: 23,
31
+ GL: 18,
32
+ GE: 22,
33
+ GR: 27,
34
+ GT: 28,
35
+ HR: 21,
36
+ HU: 28,
37
+ IE: 22,
38
+ IL: 23,
39
+ IS: 26,
40
+ IT: 27,
41
+ IQ: 23,
42
+ JO: 30,
43
+ KW: 30,
44
+ KZ: 20,
45
+ LB: 28,
46
+ LI: 21,
47
+ LT: 20,
48
+ LU: 20,
49
+ LV: 21,
50
+ MC: 27,
51
+ MD: 24,
52
+ ME: 22,
53
+ MK: 19,
54
+ MR: 27,
55
+ MT: 31,
56
+ MU: 30,
57
+ NL: 18,
58
+ NO: 15,
59
+ PK: 24,
60
+ PL: 28,
61
+ PS: 29,
62
+ PT: 25,
63
+ QA: 29,
64
+ RO: 24,
65
+ RS: 22,
66
+ SA: 24,
67
+ SC: 31,
68
+ SD: 18,
69
+ SE: 24,
70
+ SI: 19,
71
+ SK: 24,
72
+ SM: 27,
73
+ ST: 25,
74
+ SV: 28,
75
+ TL: 23,
76
+ TN: 24,
77
+ TR: 26,
78
+ UA: 29,
79
+ XK: 20,
80
+ VA: 22,
81
+ VG: 24,
11
82
  };
12
83
  if (control.value) {
13
- var iban = control.value.toUpperCase().replace(/[^A-Z0-9]/g, '');
14
- var code = iban.match(/^([A-Z]{2})(\d{2})([A-Z\d]+)$/);
15
- var digits = void 0;
84
+ const iban = control.value.toUpperCase().replace(/[^A-Z0-9]/g, '');
85
+ const code = iban.match(/^([A-Z]{2})(\d{2})([A-Z\d]+)$/);
86
+ let digits;
16
87
  if (!code || typeof codeLengths[code[1]] === 'undefined') {
17
88
  return {
18
89
  ibanInvalid: true,
19
90
  error: {
20
91
  countryUnsupported: true,
21
92
  codeLengthInvalid: false,
22
- patternInvalid: false
23
- }
93
+ patternInvalid: false,
94
+ },
24
95
  };
25
96
  }
26
97
  if (iban.length !== codeLengths[code[1]]) {
@@ -29,33 +100,33 @@ function validateIBAN(control) {
29
100
  error: {
30
101
  countryUnsupported: false,
31
102
  codeLengthInvalid: true,
32
- patternInvalid: false
33
- }
103
+ patternInvalid: false,
104
+ },
34
105
  };
35
106
  }
36
- digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, function (letter) {
107
+ digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, (letter) => {
37
108
  return letter.charCodeAt(0) - 55;
38
109
  });
39
- return mod97(digits) === 1 ?
40
- {
110
+ return mod97(digits) === 1
111
+ ? {
41
112
  ibanInvalid: false,
42
- error: null
43
- } : {
44
- ibanInvalid: true,
45
- error: {
46
- countryUnsupported: false,
47
- codeLengthInvalid: false,
48
- patternInvalid: true
113
+ error: null,
49
114
  }
50
- };
115
+ : {
116
+ ibanInvalid: true,
117
+ error: {
118
+ countryUnsupported: false,
119
+ codeLengthInvalid: false,
120
+ patternInvalid: true,
121
+ },
122
+ };
51
123
  }
52
124
  }
53
- exports.validateIBAN = validateIBAN;
54
125
  function mod97(digital) {
55
126
  digital = digital.toString();
56
- var checksum = digital.slice(0, 2);
57
- var fragment = '';
58
- for (var offset = 2; offset < digital.length; offset += 7) {
127
+ let checksum = digital.slice(0, 2);
128
+ let fragment = '';
129
+ for (let offset = 2; offset < digital.length; offset += 7) {
59
130
  fragment = checksum + digital.substring(offset, offset + 7);
60
131
  checksum = parseInt(fragment, 10) % 97;
61
132
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,282 @@
1
+ import { validateIBAN } from './iban.validator';
2
+ describe('ngx-iban-validator', () => {
3
+ it('validateIBAN for Albania AL35202111090000000001234567 should return false', () => {
4
+ expect(validateIBAN({ value: 'AL35202111090000000001234567' }).ibanInvalid)
5
+ .toBe(false);
6
+ });
7
+ it('validateIBAN for Andorra AD1400080001001234567890 should return false', () => {
8
+ expect(validateIBAN({ value: 'AD1400080001001234567890' }).ibanInvalid)
9
+ .toBe(false);
10
+ });
11
+ it('validateIBAN for Austria AT483200000012345864 should return false', () => {
12
+ expect(validateIBAN({ value: 'AT483200000012345864' }).ibanInvalid).toBe(false);
13
+ });
14
+ it('validateIBAN for Azerbaijan AZ96AZEJ00000000001234567890 should return false', () => {
15
+ expect(validateIBAN({ value: 'AZ96AZEJ00000000001234567890' }).ibanInvalid)
16
+ .toBe(false);
17
+ });
18
+ it('validateIBAN for Bahrain BH02CITI00001077181611 should return false', () => {
19
+ expect(validateIBAN({ value: 'BH02CITI00001077181611' }).ibanInvalid).toBe(false);
20
+ });
21
+ it('validateIBAN for Belarus BY86AKBB10100000002966000000 should return false', () => {
22
+ expect(validateIBAN({ value: 'BY86AKBB10100000002966000000' }).ibanInvalid)
23
+ .toBe(false);
24
+ });
25
+ it('validateIBAN for Belgium BE71096123456769 should return false', () => {
26
+ expect(validateIBAN({ value: 'BE71096123456769' }).ibanInvalid).toBe(false);
27
+ });
28
+ it('validateIBAN for Bosnia and Herzegovina BA393385804800211234 should return false', () => {
29
+ expect(validateIBAN({ value: 'BA393385804800211234' }).ibanInvalid).toBe(false);
30
+ });
31
+ it('validateIBAN for Brazil BR1500000000000010932840814P2 should return false', () => {
32
+ expect(validateIBAN({ value: 'BR1500000000000010932840814P2' }).ibanInvalid)
33
+ .toBe(false);
34
+ });
35
+ it('validateIBAN for Bulgaria BG18RZBB91550123456789 should return false', () => {
36
+ expect(validateIBAN({ value: 'BG18RZBB91550123456789' }).ibanInvalid).toBe(false);
37
+ });
38
+ it('validateIBAN for Costa Rica CR23015108410026012345 should return false', () => {
39
+ expect(validateIBAN({ value: 'CR23015108410026012345' }).ibanInvalid).toBe(false);
40
+ });
41
+ it('validateIBAN for Croatia HR1723600001101234565 should return false', () => {
42
+ expect(validateIBAN({ value: 'HR1723600001101234565' }).ibanInvalid).toBe(false);
43
+ });
44
+ it('validateIBAN for Cyprus CY21002001950000357001234567 should return false', () => {
45
+ expect(validateIBAN({ value: 'CY21002001950000357001234567' }).ibanInvalid)
46
+ .toBe(false);
47
+ });
48
+ it('validateIBAN for Czech Republic CZ5508000000001234567899 should return false', () => {
49
+ expect(validateIBAN({ value: 'CZ5508000000001234567899' }).ibanInvalid)
50
+ .toBe(false);
51
+ });
52
+ it('validateIBAN for Denmark DK9520000123456789 should return false', () => {
53
+ expect(validateIBAN({ value: 'DK9520000123456789' }).ibanInvalid).toBe(false);
54
+ });
55
+ it('validateIBAN for Dominican Republic DO22ACAU00000000000123456789 should return false', () => {
56
+ expect(validateIBAN({ value: 'DO22ACAU00000000000123456789' }).ibanInvalid)
57
+ .toBe(false);
58
+ });
59
+ it('validateIBAN for Egypt EG800002000156789012345180002 should return false', () => {
60
+ expect(validateIBAN({ value: 'EG800002000156789012345180002' }).ibanInvalid)
61
+ .toBe(false);
62
+ });
63
+ it('validateIBAN for El Salvador SV43ACAT00000000000000123123 should return false', () => {
64
+ expect(validateIBAN({ value: 'SV43ACAT00000000000000123123' }).ibanInvalid)
65
+ .toBe(false);
66
+ });
67
+ it('validateIBAN for Estonia EE471000001020145685 should return false', () => {
68
+ expect(validateIBAN({ value: 'EE471000001020145685' }).ibanInvalid).toBe(false);
69
+ });
70
+ it('validateIBAN for Faroe Islands FO9264600123456789 should return false', () => {
71
+ expect(validateIBAN({ value: 'FO9264600123456789' }).ibanInvalid).toBe(false);
72
+ });
73
+ it('validateIBAN for Finland FI1410093000123458 should return false', () => {
74
+ expect(validateIBAN({ value: 'FI1410093000123458' }).ibanInvalid).toBe(false);
75
+ });
76
+ it('validateIBAN for France FR7630006000011234567890189 should return false', () => {
77
+ expect(validateIBAN({ value: 'FR7630006000011234567890189' }).ibanInvalid)
78
+ .toBe(false);
79
+ });
80
+ it('validateIBAN for Georgia GE60NB0000000123456789 should return false', () => {
81
+ expect(validateIBAN({ value: 'GE60NB0000000123456789' }).ibanInvalid).toBe(false);
82
+ });
83
+ it('validateIBAN for Germany DE75512108001245126199 should return false', () => {
84
+ expect(validateIBAN({ value: 'DE75512108001245126199' }).ibanInvalid).toBe(false);
85
+ });
86
+ it('validateIBAN for Gibraltar GI04BARC000001234567890 should return false', () => {
87
+ expect(validateIBAN({ value: 'GI04BARC000001234567890' }).ibanInvalid)
88
+ .toBe(false);
89
+ });
90
+ it('validateIBAN for Greece GR9608100010000001234567890 should return false', () => {
91
+ expect(validateIBAN({ value: 'GR9608100010000001234567890' }).ibanInvalid)
92
+ .toBe(false);
93
+ });
94
+ it('validateIBAN for Greenland GL8964710123456789 should return false', () => {
95
+ expect(validateIBAN({ value: 'GL8964710123456789' }).ibanInvalid).toBe(false);
96
+ });
97
+ it('validateIBAN for Guatemala GT20AGRO00000000001234567890 should return false', () => {
98
+ expect(validateIBAN({ value: 'GT20AGRO00000000001234567890' }).ibanInvalid)
99
+ .toBe(false);
100
+ });
101
+ it('validateIBAN for Vatican VA59001123000012345678 should return false', () => {
102
+ expect(validateIBAN({ value: 'VA59001123000012345678' }).ibanInvalid).toBe(false);
103
+ });
104
+ it('validateIBAN for Hungary HU93116000060000000012345676 should return false', () => {
105
+ expect(validateIBAN({ value: 'HU93116000060000000012345676' }).ibanInvalid)
106
+ .toBe(false);
107
+ });
108
+ it('validateIBAN for Iceland IS750001121234563108962099 should return false', () => {
109
+ expect(validateIBAN({ value: 'IS750001121234563108962099' }).ibanInvalid)
110
+ .toBe(false);
111
+ });
112
+ it('validateIBAN for Iraq IQ20CBIQ861800101010500 should return false', () => {
113
+ expect(validateIBAN({ value: 'IQ20CBIQ861800101010500' }).ibanInvalid)
114
+ .toBe(false);
115
+ });
116
+ it('validateIBAN for Ireland IE64IRCE92050112345678 should return false', () => {
117
+ expect(validateIBAN({ value: 'IE64IRCE92050112345678' }).ibanInvalid).toBe(false);
118
+ });
119
+ it('validateIBAN for Israel IL170108000000012612345 should return false', () => {
120
+ expect(validateIBAN({ value: 'IL170108000000012612345' }).ibanInvalid)
121
+ .toBe(false);
122
+ });
123
+ it('validateIBAN for Italy IT60X0542811101000000123456 should return false', () => {
124
+ expect(validateIBAN({ value: 'IT60X0542811101000000123456' }).ibanInvalid)
125
+ .toBe(false);
126
+ });
127
+ it('validateIBAN for Jordan JO71CBJO0000000000001234567890 should return false', () => {
128
+ expect(validateIBAN({ value: 'JO71CBJO0000000000001234567890' }).ibanInvalid).toBe(false);
129
+ });
130
+ it('validateIBAN for Kazakhstan KZ563190000012344567 should return false', () => {
131
+ expect(validateIBAN({ value: 'KZ563190000012344567' }).ibanInvalid).toBe(false);
132
+ });
133
+ it('validateIBAN for Kosovo XK051212012345678906 should return false', () => {
134
+ expect(validateIBAN({ value: 'XK051212012345678906' }).ibanInvalid).toBe(false);
135
+ });
136
+ it('validateIBAN for Kuwait KW81CBKU0000000000001234560101 should return false', () => {
137
+ expect(validateIBAN({ value: 'KW81CBKU0000000000001234560101' }).ibanInvalid).toBe(false);
138
+ });
139
+ it('validateIBAN for Latvia LV97HABA0012345678910 should return false', () => {
140
+ expect(validateIBAN({ value: 'LV97HABA0012345678910' }).ibanInvalid).toBe(false);
141
+ });
142
+ it('validateIBAN for Lebanon LB92000700000000123123456123 should return false', () => {
143
+ expect(validateIBAN({ value: 'LB92000700000000123123456123' }).ibanInvalid)
144
+ .toBe(false);
145
+ });
146
+ it('validateIBAN for Libya LY38021001000000123456789 should return false', () => {
147
+ expect(validateIBAN({ value: 'LY38021001000000123456789' }).ibanInvalid)
148
+ .toBe(false);
149
+ });
150
+ it('validateIBAN for Liechtenstein LI7408806123456789012 should return false', () => {
151
+ expect(validateIBAN({ value: 'LI7408806123456789012' }).ibanInvalid).toBe(false);
152
+ });
153
+ it('validateIBAN for Lithuania LT601010012345678901 should return false', () => {
154
+ expect(validateIBAN({ value: 'LT601010012345678901' }).ibanInvalid).toBe(false);
155
+ });
156
+ it('validateIBAN for Luxembourg LU120010001234567891 should return false', () => {
157
+ expect(validateIBAN({ value: 'LU120010001234567891' }).ibanInvalid).toBe(false);
158
+ });
159
+ it('validateIBAN for Malta MT31MALT01100000000000000000123 should return false', () => {
160
+ expect(validateIBAN({ value: 'MT31MALT01100000000000000000123' }).ibanInvalid).toBe(false);
161
+ });
162
+ it('validateIBAN for Mauritania MR1300020001010000123456753 should return false', () => {
163
+ expect(validateIBAN({ value: 'MR1300020001010000123456753' }).ibanInvalid)
164
+ .toBe(false);
165
+ });
166
+ it('validateIBAN for Mauritius MU43BOMM0101123456789101000MUR should return false', () => {
167
+ expect(validateIBAN({ value: 'MU43BOMM0101123456789101000MUR' }).ibanInvalid).toBe(false);
168
+ });
169
+ it('validateIBAN for Moldova MD21EX000000000001234567 should return false', () => {
170
+ expect(validateIBAN({ value: 'MD21EX000000000001234567' }).ibanInvalid)
171
+ .toBe(false);
172
+ });
173
+ it('validateIBAN for Monaco MC5810096180790123456789085 should return false', () => {
174
+ expect(validateIBAN({ value: 'MC5810096180790123456789085' }).ibanInvalid)
175
+ .toBe(false);
176
+ });
177
+ it('validateIBAN for Montenegro ME25505000012345678951 should return false', () => {
178
+ expect(validateIBAN({ value: 'ME25505000012345678951' }).ibanInvalid).toBe(false);
179
+ });
180
+ it('validateIBAN for Netherlands NL02ABNA0123456789 should return false', () => {
181
+ expect(validateIBAN({ value: 'NL02ABNA0123456789' }).ibanInvalid).toBe(false);
182
+ });
183
+ it('validateIBAN for North Macedonia MK07200002785123453 should return false', () => {
184
+ expect(validateIBAN({ value: 'MK07200002785123453' }).ibanInvalid).toBe(false);
185
+ });
186
+ it('validateIBAN for Norway NO8330001234567 should return false', () => {
187
+ expect(validateIBAN({ value: 'NO8330001234567' }).ibanInvalid).toBe(false);
188
+ });
189
+ it('validateIBAN for Pakistan PK36SCBL0000001123456702 should return false', () => {
190
+ expect(validateIBAN({ value: 'PK36SCBL0000001123456702' }).ibanInvalid)
191
+ .toBe(false);
192
+ });
193
+ it('validateIBAN for Palestine PS92PALS000000000400123456702 should return false', () => {
194
+ expect(validateIBAN({ value: 'PS92PALS000000000400123456702' }).ibanInvalid)
195
+ .toBe(false);
196
+ });
197
+ it('validateIBAN for Poland PL10105000997603123456789123 should return false', () => {
198
+ expect(validateIBAN({ value: 'PL10105000997603123456789123' }).ibanInvalid)
199
+ .toBe(false);
200
+ });
201
+ it('validateIBAN for Portugal PT50002700000001234567833 should return false', () => {
202
+ expect(validateIBAN({ value: 'PT50002700000001234567833' }).ibanInvalid)
203
+ .toBe(false);
204
+ });
205
+ it('validateIBAN for Qatar QA54QNBA000000000000693123456 should return false', () => {
206
+ expect(validateIBAN({ value: 'QA54QNBA000000000000693123456' }).ibanInvalid)
207
+ .toBe(false);
208
+ });
209
+ it('validateIBAN for Romania RO09BCYP0000001234567890 should return false', () => {
210
+ expect(validateIBAN({ value: 'RO09BCYP0000001234567890' }).ibanInvalid)
211
+ .toBe(false);
212
+ });
213
+ it('validateIBAN for Saint Lucia LC14BOSL123456789012345678901234 should return false', () => {
214
+ expect(validateIBAN({ value: 'LC14BOSL123456789012345678901234' }).ibanInvalid).toBe(false);
215
+ });
216
+ it('validateIBAN for San Marino SM76P0854009812123456789123 should return false', () => {
217
+ expect(validateIBAN({ value: 'SM76P0854009812123456789123' }).ibanInvalid)
218
+ .toBe(false);
219
+ });
220
+ it('validateIBAN for Sao Tome and Principe ST23000200000289355710148 should return false', () => {
221
+ expect(validateIBAN({ value: 'ST23000200000289355710148' }).ibanInvalid)
222
+ .toBe(false);
223
+ });
224
+ it('validateIBAN for Saudi Arabia SA4420000001234567891234 should return false', () => {
225
+ expect(validateIBAN({ value: 'SA4420000001234567891234' }).ibanInvalid)
226
+ .toBe(false);
227
+ });
228
+ it('validateIBAN for Serbia RS35105008123123123173 should return false', () => {
229
+ expect(validateIBAN({ value: 'RS35105008123123123173' }).ibanInvalid).toBe(false);
230
+ });
231
+ it('validateIBAN for Seychelles SC52BAHL01031234567890123456USD should return false', () => {
232
+ expect(validateIBAN({ value: 'SC52BAHL01031234567890123456USD' }).ibanInvalid).toBe(false);
233
+ });
234
+ it('validateIBAN for Slovak Republic SK8975000000000012345671 should return false', () => {
235
+ expect(validateIBAN({ value: 'SK8975000000000012345671' }).ibanInvalid)
236
+ .toBe(false);
237
+ });
238
+ it('validateIBAN for Slovenia SI56192001234567892 should return false', () => {
239
+ expect(validateIBAN({ value: 'SI56192001234567892' }).ibanInvalid).toBe(false);
240
+ });
241
+ it('validateIBAN for Spain ES7921000813610123456789 should return false', () => {
242
+ expect(validateIBAN({ value: 'ES7921000813610123456789' }).ibanInvalid)
243
+ .toBe(false);
244
+ });
245
+ it('validateIBAN for Sudan SD8811123456789012 should return false', () => {
246
+ expect(validateIBAN({ value: 'SD8811123456789012' }).ibanInvalid).toBe(false);
247
+ });
248
+ it('validateIBAN for Sweden SE7280000810340009783242 should return false', () => {
249
+ expect(validateIBAN({ value: 'SE7280000810340009783242' }).ibanInvalid)
250
+ .toBe(false);
251
+ });
252
+ it('validateIBAN for Switzerland CH5604835012345678009 should return false', () => {
253
+ expect(validateIBAN({ value: 'CH5604835012345678009' }).ibanInvalid).toBe(false);
254
+ });
255
+ it('validateIBAN for Timor-Leste TL380010012345678910106 should return false', () => {
256
+ expect(validateIBAN({ value: 'TL380010012345678910106' }).ibanInvalid)
257
+ .toBe(false);
258
+ });
259
+ it('validateIBAN for Tunisia TN5904018104004942712345 should return false', () => {
260
+ expect(validateIBAN({ value: 'TN5904018104004942712345' }).ibanInvalid)
261
+ .toBe(false);
262
+ });
263
+ it('validateIBAN for Turkey TR320010009999901234567890 should return false', () => {
264
+ expect(validateIBAN({ value: 'TR320010009999901234567890' }).ibanInvalid)
265
+ .toBe(false);
266
+ });
267
+ it('validateIBAN for Ukraine UA903052992990004149123456789 should return false', () => {
268
+ expect(validateIBAN({ value: 'UA903052992990004149123456789' }).ibanInvalid)
269
+ .toBe(false);
270
+ });
271
+ it('validateIBAN for United Arab Emirates AE460090000000123456789 should return false', () => {
272
+ expect(validateIBAN({ value: 'AE460090000000123456789' }).ibanInvalid)
273
+ .toBe(false);
274
+ });
275
+ it('validateIBAN for United Kingdom GB33BUKB20201555555555 should return false', () => {
276
+ expect(validateIBAN({ value: 'GB33BUKB20201555555555' }).ibanInvalid).toBe(false);
277
+ });
278
+ it('validateIBAN for Virgin Islands, British VG21PACG0000000123456789 should return false', () => {
279
+ expect(validateIBAN({ value: 'VG21PACG0000000123456789' }).ibanInvalid)
280
+ .toBe(false);
281
+ });
282
+ });
package/dist/index.js CHANGED
@@ -1,5 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateIBAN = void 0;
4
- var iban_validator_1 = require("./iban.validator");
5
- Object.defineProperty(exports, "validateIBAN", { enumerable: true, get: function () { return iban_validator_1.validateIBAN; } });
1
+ export { validateIBAN } from './iban.validator';
package/jest.config.js ADDED
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ transform: {'^.+\\.ts?$': 'ts-jest'},
3
+ testEnvironment: 'node',
4
+ testRegex: '/src/.*\\.(test|spec)?\\.(ts|tsx)$',
5
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
6
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-iban-validator",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/SKaDiZZ/ngx-iban-validator"
@@ -17,7 +17,7 @@
17
17
  "main": "dist/index.js",
18
18
  "scripts": {
19
19
  "build": "tsc",
20
- "test": "echo \"Error: no test specified\" && exit 1"
20
+ "test": "jest"
21
21
  },
22
22
  "types": "dist/index.d.ts",
23
23
  "keywords": [
@@ -31,6 +31,9 @@
31
31
  ],
32
32
  "license": "MIT",
33
33
  "devDependencies": {
34
+ "@types/jest": "^29.1.1",
35
+ "jest": "^29.1.2",
36
+ "ts-jest": "^29.0.3",
34
37
  "typescript": "^4.5.5"
35
38
  }
36
39
  }