stdnum 1.9.16 → 1.10.0
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/lib/cjs/at/vnr.js +2 -2
- package/lib/cjs/ba/jmbg.js +2 -2
- package/lib/cjs/cn/ric.js +2 -2
- package/lib/cjs/cu/ni.js +2 -2
- package/lib/cjs/cz/rc.js +2 -2
- package/lib/cjs/de/pwnr.js +2 -2
- package/lib/cjs/dk/cpr.js +7 -7
- package/lib/cjs/ee/ik.js +2 -2
- package/lib/cjs/fi/hetu.js +2 -3
- package/lib/cjs/gr/amka.js +2 -2
- package/lib/cjs/is/kennitala.js +2 -2
- package/lib/cjs/kr/rrn.js +2 -2
- package/lib/cjs/lv/pvn.js +2 -2
- package/lib/cjs/mx/curp.d.ts +1 -1
- package/lib/cjs/mx/curp.js +7 -11
- package/lib/cjs/mx/rfc.js +2 -2
- package/lib/cjs/my/nric.js +2 -2
- package/lib/cjs/no/fodselsnummer.js +2 -2
- package/lib/cjs/pl/pesel.js +2 -2
- package/lib/cjs/ro/cnp.js +2 -2
- package/lib/cjs/se/personnummer.js +34 -7
- package/lib/cjs/tw/tax_code.js +3 -3
- package/lib/cjs/util/index.d.ts +1 -1
- package/lib/cjs/util/index.js +4 -2
- package/lib/cjs/util/isValidDate.d.ts +6 -4
- package/lib/cjs/util/isValidDate.js +28 -12
- package/lib/cjs/za/idnr.js +2 -3
- package/lib/esm/at/vnr.js +2 -2
- package/lib/esm/ba/jmbg.js +3 -3
- package/lib/esm/cn/ric.js +2 -2
- package/lib/esm/cu/ni.js +3 -3
- package/lib/esm/cz/rc.js +3 -3
- package/lib/esm/de/pwnr.js +2 -2
- package/lib/esm/dk/cpr.js +8 -8
- package/lib/esm/ee/ik.js +2 -2
- package/lib/esm/fi/hetu.js +3 -4
- package/lib/esm/gr/amka.js +3 -3
- package/lib/esm/is/kennitala.js +3 -3
- package/lib/esm/kr/rrn.js +2 -2
- package/lib/esm/lv/pvn.js +3 -3
- package/lib/esm/mx/curp.d.ts +1 -1
- package/lib/esm/mx/curp.js +8 -12
- package/lib/esm/mx/rfc.js +2 -2
- package/lib/esm/my/nric.js +2 -2
- package/lib/esm/no/fodselsnummer.js +2 -2
- package/lib/esm/pl/pesel.js +2 -2
- package/lib/esm/ro/cnp.js +2 -2
- package/lib/esm/se/personnummer.js +35 -8
- package/lib/esm/tw/tax_code.js +3 -3
- package/lib/esm/util/index.d.ts +1 -1
- package/lib/esm/util/index.js +2 -2
- package/lib/esm/util/isValidDate.d.ts +6 -4
- package/lib/esm/util/isValidDate.js +25 -11
- package/lib/esm/za/idnr.js +3 -4
- package/package.json +1 -1
package/lib/esm/tw/tax_code.js
CHANGED
|
@@ -34,13 +34,13 @@ const impl = {
|
|
|
34
34
|
if (!strings.isdigits(yymmdd)) {
|
|
35
35
|
return { isValid: false, error: new exceptions.InvalidFormat() };
|
|
36
36
|
}
|
|
37
|
-
if (!isValidDateCompactYYMMDD(yymmdd)) {
|
|
37
|
+
if (!isValidDateCompactYYMMDD(yymmdd, true)) {
|
|
38
38
|
return { isValid: false, error: new exceptions.InvalidComponent() };
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
const [yyyymmdd, name] = strings.splitAt(value, 8);
|
|
43
|
-
if (!isValidDateCompactYYYYMMDD(yyyymmdd)) {
|
|
43
|
+
if (!isValidDateCompactYYYYMMDD(yyyymmdd, true)) {
|
|
44
44
|
return { isValid: false, error: new exceptions.InvalidComponent() };
|
|
45
45
|
}
|
|
46
46
|
if (!/^[A-Z]+$/i.test(name)) {
|
|
@@ -57,4 +57,4 @@ const impl = {
|
|
|
57
57
|
};
|
|
58
58
|
export const { name, localName, abbreviation, validate, format, compact } = impl;
|
|
59
59
|
export default impl;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4X2NvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHcvdGF4X2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLE9BQU8sR0FDUixNQUFNLFNBQVMsQ0FBQztBQUVqQixTQUFTLEtBQUssQ0FBQyxLQUFhO0lBQzFCLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sSUFBSSxHQUFHO0lBQ1gsWUFBWSxFQUFFLEVBQUU7SUFDaEIsU0FBUyxFQUFFLEVBQUU7SUFDYixJQUFJLEVBQUUsVUFBVTtJQUVoQixPQUFPLENBQUMsS0FBYTtRQUNuQixNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLEdBQUcsRUFBRTtZQUNQLE1BQU0sR0FBRyxDQUFDO1NBQ1g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDbEM7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQ2xFO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pELElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7YUFDbEU7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7YUFDbEU7WUFDRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO2FBQ3JFO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQzthQUNyRTtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO2FBQ3JFO1NBQ0Y7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FDdkUsSUFBSSxDQUFDO0FBQ1AsZUFBZSxJQUFJLENBQUMifQ==
|
package/lib/esm/util/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as strings from './strings';
|
|
2
2
|
export { weightedSum, mod97base10Validate } from './checksum';
|
|
3
|
-
export { isValidDate, isValidDateCompactYYYYMMDD, isValidDateCompactYYMMDD, isValidDateCompactDDMMYY, } from './isValidDate';
|
|
3
|
+
export { buildDate, validBirthdate, isValidDate, isValidDateCompactYYYYMMDD, isValidDateCompactYYMMDD, isValidDateCompactDDMMYY, } from './isValidDate';
|
|
4
4
|
export { strings };
|
package/lib/esm/util/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as strings from './strings';
|
|
2
2
|
export { weightedSum, mod97base10Validate } from './checksum';
|
|
3
|
-
export { isValidDate, isValidDateCompactYYYYMMDD, isValidDateCompactYYMMDD, isValidDateCompactDDMMYY, } from './isValidDate';
|
|
3
|
+
export { buildDate, validBirthdate, isValidDate, isValidDateCompactYYYYMMDD, isValidDateCompactYYMMDD, isValidDateCompactDDMMYY, } from './isValidDate';
|
|
4
4
|
export { strings };
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlELE9BQU8sRUFDTCxTQUFTLEVBQ1QsY0FBYyxFQUNkLFdBQVcsRUFDWCwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHdCQUF3QixHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMifQ==
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
1
|
+
export declare function validBirthdate(date: Date | null): boolean;
|
|
2
|
+
export declare function buildDate(yy: string, mm: string, dd: string): Date | null;
|
|
3
|
+
export declare function isValidDate(yy: string, mm: string, dd: string, isBefore?: boolean): boolean;
|
|
4
|
+
export declare function isValidDateCompactYYMMDD(yymmdd: string, isBefore?: boolean): boolean;
|
|
5
|
+
export declare function isValidDateCompactDDMMYY(ddmmyy: string, isBefore?: boolean): boolean;
|
|
6
|
+
export declare function isValidDateCompactYYYYMMDD(yyyymmdd: string, isBefore?: boolean): boolean;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { splitAt } from './strings';
|
|
2
|
-
export function
|
|
2
|
+
export function validBirthdate(date) {
|
|
3
|
+
if (date === null) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const now = new Date();
|
|
7
|
+
return date.getTime() <= now.getTime();
|
|
8
|
+
}
|
|
9
|
+
export function buildDate(yy, mm, dd) {
|
|
3
10
|
const yyN = parseInt(yy, 10);
|
|
4
11
|
const mmN = parseInt(mm, 10) - 1;
|
|
5
12
|
const ddN = parseInt(dd, 10);
|
|
6
13
|
if (Number.isNaN(yyN) || Number.isNaN(mmN) || Number.isNaN(ddN)) {
|
|
7
|
-
return
|
|
14
|
+
return null;
|
|
8
15
|
}
|
|
9
16
|
let d;
|
|
10
17
|
if (yyN < 20) {
|
|
@@ -17,23 +24,30 @@ export function isValidDate(yy, mm, dd) {
|
|
|
17
24
|
d = new Date(yyN, mmN, ddN);
|
|
18
25
|
}
|
|
19
26
|
if (Number.isNaN(d.getFullYear())) {
|
|
20
|
-
return
|
|
27
|
+
return null;
|
|
21
28
|
}
|
|
22
29
|
if (d.getDate() !== ddN || d.getMonth() !== mmN) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return d;
|
|
33
|
+
}
|
|
34
|
+
export function isValidDate(yy, mm, dd, isBefore = false) {
|
|
35
|
+
const d = buildDate(yy, mm, dd);
|
|
36
|
+
if (d === null) {
|
|
23
37
|
return false;
|
|
24
38
|
}
|
|
25
|
-
return true;
|
|
39
|
+
return isBefore ? validBirthdate(d) : true;
|
|
26
40
|
}
|
|
27
|
-
export function isValidDateCompactYYMMDD(yymmdd) {
|
|
41
|
+
export function isValidDateCompactYYMMDD(yymmdd, isBefore = false) {
|
|
28
42
|
const [year, mon, day] = splitAt(yymmdd, 2, 4);
|
|
29
|
-
return isValidDate(year, mon, day);
|
|
43
|
+
return isValidDate(year, mon, day, isBefore);
|
|
30
44
|
}
|
|
31
|
-
export function isValidDateCompactDDMMYY(ddmmyy) {
|
|
45
|
+
export function isValidDateCompactDDMMYY(ddmmyy, isBefore = false) {
|
|
32
46
|
const [day, mon, year] = splitAt(ddmmyy, 2, 4);
|
|
33
|
-
return isValidDate(year, mon, day);
|
|
47
|
+
return isValidDate(year, mon, day, isBefore);
|
|
34
48
|
}
|
|
35
|
-
export function isValidDateCompactYYYYMMDD(yyyymmdd) {
|
|
49
|
+
export function isValidDateCompactYYYYMMDD(yyyymmdd, isBefore = false) {
|
|
36
50
|
const [year, mon, day] = splitAt(yyyymmdd, 4, 6);
|
|
37
|
-
return isValidDate(year, mon, day);
|
|
51
|
+
return isValidDate(year, mon, day, isBefore);
|
|
38
52
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9pc1ZhbGlkRGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBaUI7SUFDOUMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVU7SUFDMUQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksQ0FBQyxDQUFDO0lBQ04sSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFO1FBQ1osQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3BDO1NBQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFO1FBQ3BCLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwQztTQUFNO1FBQ0wsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDN0I7SUFFRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7UUFDakMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUdELElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxFQUFFO1FBQy9DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFNRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixFQUFVLEVBQ1YsRUFBVSxFQUNWLEVBQVUsRUFDVixRQUFRLEdBQUcsS0FBSztJQUVoQixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDZCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzdDLENBQUM7QUFHRCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE1BQWMsRUFDZCxRQUFRLEdBQUcsS0FBSztJQUVoQixNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUvQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxNQUFjLEVBQ2QsUUFBUSxHQUFHLEtBQUs7SUFFaEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFL0MsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsUUFBZ0IsRUFDaEIsUUFBUSxHQUFHLEtBQUs7SUFFaEIsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFakQsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDL0MsQ0FBQyJ9
|
package/lib/esm/za/idnr.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as exceptions from '../exceptions';
|
|
2
|
-
import { strings } from '../util';
|
|
3
|
-
import { isValidDateCompactYYMMDD } from '../util/isValidDate';
|
|
2
|
+
import { strings, isValidDateCompactYYMMDD } from '../util';
|
|
4
3
|
import { luhnChecksumValidate } from '../util/checksum';
|
|
5
4
|
function clean(input) {
|
|
6
5
|
return strings.cleanUnicode(input, ' ');
|
|
@@ -38,7 +37,7 @@ const impl = {
|
|
|
38
37
|
if (!strings.isdigits(gender)) {
|
|
39
38
|
return { isValid: false, error: new exceptions.InvalidComponent() };
|
|
40
39
|
}
|
|
41
|
-
if (!isValidDateCompactYYMMDD(bdate)) {
|
|
40
|
+
if (!isValidDateCompactYYMMDD(bdate, true)) {
|
|
42
41
|
return { isValid: false, error: new exceptions.InvalidComponent() };
|
|
43
42
|
}
|
|
44
43
|
if (!luhnChecksumValidate(value)) {
|
|
@@ -53,4 +52,4 @@ const impl = {
|
|
|
53
52
|
},
|
|
54
53
|
};
|
|
55
54
|
export const { name, localName, abbreviation, validate, format, compact } = impl;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRuci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy96YS9pZG5yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsU0FBUyxLQUFLLENBQUMsS0FBYTtJQUMxQixPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLElBQUksR0FBYztJQUN0QixJQUFJLEVBQUUsd0NBQXdDO0lBQzlDLFNBQVMsRUFBRSwwQkFBMEI7SUFDckMsWUFBWSxFQUFFLE1BQU07SUFDcEIsT0FBTyxDQUFDLEtBQWE7UUFDbkIsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLEdBQUcsQ0FBQztTQUNYO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQUFBRCxFQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7U0FDckU7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1NBQ3JFO1FBRUQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1NBQ3JFO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1NBQ3BFO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQ3ZFLElBQUksQ0FBQyJ9
|