Skip to content

Commit 19afde7

Browse files
committed
Remove deprecated functions, fix vat numbers validators.
1 parent 58b274f commit 19afde7

File tree

12 files changed

+135
-135
lines changed

12 files changed

+135
-135
lines changed

example-web/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nip24client-example-web",
3-
"version": "1.2.9",
3+
"version": "1.3.0",
44
"description": "NIP24 Client for Javascript - web browser example",
55
"author": "",
66
"license": "Apache-2.0",

example/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nip24client-example",
3-
"version": "1.2.9",
3+
"version": "1.3.0",
44
"description": "NIP24 Client for Javascript - node.js example",
55
"author": "",
66
"license": "Apache-2.0",

lib/euvat.js

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -25,74 +25,74 @@ const NIP = require('./nip');
2525

2626
/**
2727
* Normalizes form of the NIP number
28-
* @param {string} nip input string
28+
* @param {string} number input string
2929
* @return {string} normalized number
3030
*/
31-
function normalize(nip)
31+
function normalize(number)
3232
{
33-
if (!nip) {
33+
if (!number) {
3434
return undefined;
3535
}
3636

37-
nip = nip.replace(/[ -]/g, '').trim().toUpperCase();
37+
number = number.replace(/[ -]/g, '').trim().toUpperCase();
3838

39-
if (!nip.match(/^[A-Z]{2}[A-Z0-9]{2,12}$/)) {
39+
if (number.search(/^[A-Z]{2}[A-Z0-9+*]{2,12}$/) === -1) {
4040
return undefined;
4141
}
4242

43-
return nip;
43+
return number;
4444
}
4545

4646
/**
4747
* Checks if specified NIP is valid
48-
* @param {string} nip input number
48+
* @param {string} number input number
4949
* @return {boolean} true if number is valid
5050
*/
51-
function isValid(nip)
51+
function isValid(number)
5252
{
53-
if (!(nip = normalize(nip))) {
53+
if (!(number = normalize(number))) {
5454
return false;
5555
}
5656

5757
const map = {
58-
'AT': /^ATU\\d{8}$/,
59-
'BE': /^BE0\\d{9}$/,
60-
'BG': /^BG\\d{9,10}$/,
61-
'CY': /^CY\\d{8}[A-Z]{1}$/,
62-
'CZ': /^CZ\\d{8,10}$/,
63-
'DE': /^DE\\d{9}$/,
64-
'DK': /^DK\\d{8}$/,
65-
'EE': /^EE\\d{9}$/,
66-
'EL': /^EL\\d{9}$/,
67-
'ES': /^ES[A-Z0-9]{9}$/,
68-
'FI': /^FI\\d{8}$/,
69-
'FR': /^FR[A-Z0-9]{2}\\d{9}$/,
70-
'GB': /^GB[A-Z0-9]{5,12}$/,
71-
'HR': /^HR\\d{11}$/,
72-
'HU': /^HU\\d{8}$/,
73-
'IE': /^IE[A-Z0-9]{8,9}$/,
74-
'IT': /^IT\\d{11}$/,
75-
'LT': /^LT\\d{9,12}$/,
76-
'LU': /^LU\\d{8}$/,
77-
'LV': /^LV\\d{11}$/,
78-
'MT': /^MT\\d{8}$/,
79-
'NL': /^NL\\d{9}B\\d{2}$/,
80-
'PL': /^PL\\d{10}$/,
81-
'PT': /^PT\\d{9}$/,
82-
'RO': /^RO\\d{2,10}$/,
83-
'SE': /^SE\\d{12}$/,
84-
'SI': /^SI\\d{8}$/,
85-
'SK': /^SK\\d{10}$/
58+
'AT': /^ATU\d{8}$/,
59+
'BE': /^BE[0-1]{1}\d{9}$/,
60+
'BG': /^BG\d{9,10}$/,
61+
'CY': /^CY\d{8}[A-Z]{1}$/,
62+
'CZ': /^CZ\d{8,10}$/,
63+
'DE': /^DE\d{9}$/,
64+
'DK': /^DK\d{8}$/,
65+
'EE': /^EE\d{9}$/,
66+
'EL': /^EL\d{9}$/,
67+
'ES': /^ES[A-Z0-9]{1}\d{7}[A-Z0-9]{1}$/,
68+
'FI': /^FI\d{8}$/,
69+
'FR': /^FR[A-Z0-9]{2}\d{9}$/,
70+
'HR': /^HR\d{11}$/,
71+
'HU': /^HU\d{8}$/,
72+
'IE': /^IE[A-Z0-9+*]{8,9}$/,
73+
'IT': /^IT\d{11}$/,
74+
'LT': /^LT\d{9,12}$/,
75+
'LU': /^LU\d{8}$/,
76+
'LV': /^LV\d{11}$/,
77+
'MT': /^MT\d{8}$/,
78+
'NL': /^NL[A-Z0-9+*]{12}$/,
79+
'PL': /^PL\d{10}$/,
80+
'PT': /^PT\d{9}$/,
81+
'RO': /^RO\d{2,10}$/,
82+
'SE': /^SE\d{12}$/,
83+
'SI': /^SI\d{8}$/,
84+
'SK': /^SK\d{10}$/,
85+
'XI': /^XI[A-Z0-9]{5,12}$/
8686
};
8787

88-
const cc = nip.substr(0, 2);
89-
const num = nip.substr(2);
88+
const cc = number.substring(0, 2);
89+
const num = number.substring(2);
9090

9191
if (!(cc in map)) {
9292
return false;
9393
}
9494

95-
if (nip.match(map[cc])) {
95+
if (number.search(map[cc]) === -1) {
9696
return false;
9797
}
9898

lib/iban.js

Lines changed: 79 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ function normalize(iban)
3434

3535
iban = iban.replace(/[ -]/g, '').trim().toUpperCase();
3636

37-
if (!iban.match(/^[A-Z]{2}[0-9A-Z]{13,30}$/)) {
37+
if (iban.search(/^[A-Z]{2}[0-9A-Z]{13,30}$/) === -1) {
3838
return undefined;
3939
}
4040

@@ -53,94 +53,94 @@ function isValid(iban)
5353
}
5454

5555
const map = {
56-
'AD': /^AD\\d{10}[A-Z0-9]{12}$/,
57-
'AE': /^AE\\d{21}$/,
58-
'AL': /^AL\\d{10}[A-Z0-9]{16}$/,
59-
'AT': /^AT\\d{18}$/,
60-
'AZ': /^AZ\\d{2}[A-Z]{4}[A-Z0-9]{20}$/,
61-
'BA': /^BA\\d{18}$/,
62-
'BE': /^BE\\d{14}$/,
63-
'BG': /^BG\\d{2}[A-Z]{4}\\d{6}[A-Z0-9]{8}$/,
64-
'BH': /^BH\\d{2}[A-Z]{4}[A-Z0-9]{14}$/,
65-
'BR': /^BR\\d{25}[A-Z]{1}[A-Z0-9]{1}$/,
66-
'BY': /^BY\\d{2}[A-Z0-9]{4}\\d{4}[A-Z0-9]{16}$/,
67-
'CH': /^CH\\d{7}[A-Z0-9]{12}$/,
68-
'CR': /^CR\\d{20}$/,
69-
'CY': /^CY\\d{10}[A-Z0-9]{16}$/,
70-
'CZ': /^CZ\\d{22}$/,
71-
'DE': /^DE\\d{20}$/,
72-
'DK': /^DK\\d{16}$/,
73-
'DO': /^DO\\d{2}[A-Z0-9]{4}\\d{20}$/,
74-
'EE': /^EE\\d{18}$/,
75-
'ES': /^ES\\d{22}$/,
76-
'FI': /^FI\\d{16}$/,
77-
'FO': /^FO\\d{16}$/,
78-
'FR': /^FR\\d{12}[A-Z0-9]{11}\\d{2}$/,
79-
'GB': /^GB\\d{2}[A-Z]{4}\\d{14}$/,
80-
'GE': /^GE\\d{2}[A-Z]{2}\\d{16}$/,
81-
'GI': /^GI\\d{2}[A-Z]{4}[A-Z0-9]{15}$/,
82-
'GL': /^GL\\d{16}$/,
83-
'GR': /^GR\\d{9}[A-Z0-9]{16}$/,
84-
'GT': /^GT\\d{2}[A-Z0-9]{24}$/,
85-
'HR': /^HR\\d{19}$/,
86-
'HU': /^HU\\d{26}$/,
87-
'IE': /^IE\\d{2}[A-Z]{4}\\d{14}$/,
88-
'IL': /^IL\\d{21}$/,
89-
'IQ': /^IQ\\d{2}[A-Z]{4}\\d{15}$/,
90-
'IS': /^IS\\d{24}$/,
91-
'IT': /^IT\\d{2}[A-Z]{1}\\d{10}[A-Z0-9]{12}$/,
92-
'JO': /^JO\\d{2}[A-Z]{4}\\d{4}[A-Z0-9]{18}$/,
93-
'KW': /^KW\\d{2}[A-Z]{4}[A-Z0-9]{22}$/,
94-
'KZ': /^KZ\\d{5}[A-Z0-9]{13}$/,
95-
'LB': /^LB\\d{6}[A-Z0-9]{20}$/,
96-
'LC': /^LC\\d{2}[A-Z]{4}[A-Z0-9]{24}$/,
97-
'LI': /^LI\\d{7}[A-Z0-9]{12}$/,
98-
'LT': /^LT\\d{18}$/,
99-
'LU': /^LU\\d{5}[A-Z0-9]{13}$/,
100-
'LV': /^LV\\d{2}[A-Z]{4}[A-Z0-9]{13}$/,
101-
'MC': /^MC\\d{12}[A-Z0-9]{11}\\d{2}$/,
102-
'MD': /^MD\\d{2}[A-Z0-9]{20}$/,
103-
'ME': /^ME\\d{20}$/,
104-
'MK': /^MK\\d{5}[A-Z0-9]{10}\\d{2}$/,
105-
'MR': /^MR\\d{25}$/,
106-
'MT': /^MT\\d{2}[A-Z]{4}\\d{5}[A-Z0-9]{18}$/,
107-
'MU': /^MU\\d{2}[A-Z]{4}\\d{19}[A-Z]{3}$/,
108-
'NL': /^NL\\d{2}[A-Z]{4}\\d{10}$/,
109-
'NO': /^NO\\d{13}$/,
110-
'PK': /^PK\\d{2}[A-Z]{4}[A-Z0-9]{16}$/,
111-
'PL': /^PL\\d{26}$/,
112-
'PS': /^PS\\d{2}[A-Z]{4}[A-Z0-9]{21}$/,
113-
'PT': /^PT\\d{23}$/,
114-
'QA': /^QA\\d{2}[A-Z]{4}[A-Z0-9]{21}$/,
115-
'RO': /^RO\\d{2}[A-Z]{4}[A-Z0-9]{16}$/,
116-
'RS': /^RS\\d{20}$/,
117-
'SA': /^SA\\d{4}[A-Z0-9]{18}$/,
118-
'SC': /^SC\\d{2}[A-Z]{4}\\d{20}[A-Z]{3}$/,
119-
'SE': /^SE\\d{22}$/,
120-
'SI': /^SI\\d{17}$/,
121-
'SK': /^SK\\d{22}$/,
122-
'SM': /^SM\\d{2}[A-Z]{1}\\d{10}[A-Z0-9]{12}$/,
123-
'ST': /^ST\\d{23}$/,
124-
'SV': /^SV\\d{2}[A-Z]{4}\\d{20}$/,
125-
'TL': /^TL\\d{21}$/,
126-
'TN': /^TN\\d{22}$/,
127-
'TR': /^TR\\d{8}[A-Z0-9]{16}$/,
128-
'UA': /^UA\\d{8}[A-Z0-9]{19}$/,
129-
'VG': /^VG\\d{2}[A-Z]{4}\\d{16}$/,
130-
'XK': /^XK\\d{18}$/
56+
'AD': /^AD\d{10}[A-Z0-9]{12}$/,
57+
'AE': /^AE\d{21}$/,
58+
'AL': /^AL\d{10}[A-Z0-9]{16}$/,
59+
'AT': /^AT\d{18}$/,
60+
'AZ': /^AZ\d{2}[A-Z]{4}[A-Z0-9]{20}$/,
61+
'BA': /^BA\d{18}$/,
62+
'BE': /^BE\d{14}$/,
63+
'BG': /^BG\d{2}[A-Z]{4}\d{6}[A-Z0-9]{8}$/,
64+
'BH': /^BH\d{2}[A-Z]{4}[A-Z0-9]{14}$/,
65+
'BR': /^BR\d{25}[A-Z]{1}[A-Z0-9]{1}$/,
66+
'BY': /^BY\d{2}[A-Z0-9]{4}\d{4}[A-Z0-9]{16}$/,
67+
'CH': /^CH\d{7}[A-Z0-9]{12}$/,
68+
'CR': /^CR\d{20}$/,
69+
'CY': /^CY\d{10}[A-Z0-9]{16}$/,
70+
'CZ': /^CZ\d{22}$/,
71+
'DE': /^DE\d{20}$/,
72+
'DK': /^DK\d{16}$/,
73+
'DO': /^DO\d{2}[A-Z0-9]{4}\d{20}$/,
74+
'EE': /^EE\d{18}$/,
75+
'ES': /^ES\d{22}$/,
76+
'FI': /^FI\d{16}$/,
77+
'FO': /^FO\d{16}$/,
78+
'FR': /^FR\d{12}[A-Z0-9]{11}\d{2}$/,
79+
'GB': /^GB\d{2}[A-Z]{4}\d{14}$/,
80+
'GE': /^GE\d{2}[A-Z]{2}\d{16}$/,
81+
'GI': /^GI\d{2}[A-Z]{4}[A-Z0-9]{15}$/,
82+
'GL': /^GL\d{16}$/,
83+
'GR': /^GR\d{9}[A-Z0-9]{16}$/,
84+
'GT': /^GT\d{2}[A-Z0-9]{24}$/,
85+
'HR': /^HR\d{19}$/,
86+
'HU': /^HU\d{26}$/,
87+
'IE': /^IE\d{2}[A-Z]{4}\d{14}$/,
88+
'IL': /^IL\d{21}$/,
89+
'IQ': /^IQ\d{2}[A-Z]{4}\d{15}$/,
90+
'IS': /^IS\d{24}$/,
91+
'IT': /^IT\d{2}[A-Z]{1}\d{10}[A-Z0-9]{12}$/,
92+
'JO': /^JO\d{2}[A-Z]{4}\d{4}[A-Z0-9]{18}$/,
93+
'KW': /^KW\d{2}[A-Z]{4}[A-Z0-9]{22}$/,
94+
'KZ': /^KZ\d{5}[A-Z0-9]{13}$/,
95+
'LB': /^LB\d{6}[A-Z0-9]{20}$/,
96+
'LC': /^LC\d{2}[A-Z]{4}[A-Z0-9]{24}$/,
97+
'LI': /^LI\d{7}[A-Z0-9]{12}$/,
98+
'LT': /^LT\d{18}$/,
99+
'LU': /^LU\d{5}[A-Z0-9]{13}$/,
100+
'LV': /^LV\d{2}[A-Z]{4}[A-Z0-9]{13}$/,
101+
'MC': /^MC\d{12}[A-Z0-9]{11}\d{2}$/,
102+
'MD': /^MD\d{2}[A-Z0-9]{20}$/,
103+
'ME': /^ME\d{20}$/,
104+
'MK': /^MK\d{5}[A-Z0-9]{10}\d{2}$/,
105+
'MR': /^MR\d{25}$/,
106+
'MT': /^MT\d{2}[A-Z]{4}\d{5}[A-Z0-9]{18}$/,
107+
'MU': /^MU\d{2}[A-Z]{4}\d{19}[A-Z]{3}$/,
108+
'NL': /^NL\d{2}[A-Z]{4}\d{10}$/,
109+
'NO': /^NO\d{13}$/,
110+
'PK': /^PK\d{2}[A-Z]{4}[A-Z0-9]{16}$/,
111+
'PL': /^PL\d{26}$/,
112+
'PS': /^PS\d{2}[A-Z]{4}[A-Z0-9]{21}$/,
113+
'PT': /^PT\d{23}$/,
114+
'QA': /^QA\d{2}[A-Z]{4}[A-Z0-9]{21}$/,
115+
'RO': /^RO\d{2}[A-Z]{4}[A-Z0-9]{16}$/,
116+
'RS': /^RS\d{20}$/,
117+
'SA': /^SA\d{4}[A-Z0-9]{18}$/,
118+
'SC': /^SC\d{2}[A-Z]{4}\d{20}[A-Z]{3}$/,
119+
'SE': /^SE\d{22}$/,
120+
'SI': /^SI\d{17}$/,
121+
'SK': /^SK\d{22}$/,
122+
'SM': /^SM\d{2}[A-Z]{1}\d{10}[A-Z0-9]{12}$/,
123+
'ST': /^ST\d{23}$/,
124+
'SV': /^SV\d{2}[A-Z]{4}\d{20}$/,
125+
'TL': /^TL\d{21}$/,
126+
'TN': /^TN\d{22}$/,
127+
'TR': /^TR\d{8}[A-Z0-9]{16}$/,
128+
'UA': /^UA\d{8}[A-Z0-9]{19}$/,
129+
'VG': /^VG\d{2}[A-Z]{4}\d{16}$/,
130+
'XK': /^XK\d{18}$/
131131
};
132132

133-
const cc = iban.substr(0, 2);
133+
const cc = iban.substring(0, 2);
134134

135135
if (!(cc in map)) {
136136
return false;
137137
}
138138

139-
if (iban.match(map[cc])) {
139+
if (iban.search(map[cc]) === -1) {
140140
return false;
141141
}
142142

143-
iban = iban.substr(4) + iban.substr(0, 4);
143+
iban = iban.substring(4) + iban.substring(0, 4);
144144

145145
let sb = '';
146146

lib/krs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ function normalize(krs)
3838
krs = ('0000000000' + krs).slice(-10);
3939
}
4040

41-
if (!krs.match(/^[0-9]{10}$/)) {
41+
if (krs.search(/^[0-9]{10}$/) === -1) {
4242
return undefined;
4343
}
4444

lib/nip.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ function normalize(nip)
3434

3535
nip = nip.replace(/[ -]/g, '').trim();
3636

37-
if (!nip.match(/^[0-9]{10}$/)) {
37+
if (nip.search(/^[0-9]{10}$/) === -1) {
3838
return undefined;
3939
}
4040

lib/nip24client.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ const VATStatus = require('./vatstatus');
4747
const WLStatus = require('./wlstatus');
4848

4949

50-
NIP24Client.prototype.VERSION = '1.2.9';
50+
NIP24Client.prototype.VERSION = '1.3.0';
5151

5252
NIP24Client.prototype.PRODUCTION_URL = 'https://www.nip24.pl/api';
5353
NIP24Client.prototype.TEST_URL = 'https://www.nip24.pl/api-test';
@@ -299,7 +299,7 @@ function xpathDate(doc, path)
299299
return undefined;
300300
}
301301

302-
return mdatefns.parseISO(val.substr(0, 10));
302+
return mdatefns.parseISO(val.substring(0, 10));
303303
}
304304

305305
/**

0 commit comments

Comments
 (0)