stdnum 1.9.9 → 1.9.11

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
@@ -29,6 +29,8 @@ All country validators are in the "namespace" of the ISO country code.
29
29
 
30
30
  ## Supported Countries and Numbers
31
31
 
32
+ How you can help! This library currently support about half the countries in the world. It would be great if we can get to 100%. Submit an issue with any reference documentation and I'll do my best to integrate it, bonus points if you can get detailed descriptions of checksums or other validation criteria.
33
+
32
34
  | Country | Code | Name | Group | Meaning |
33
35
  | ---------------------- | ---- | --------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
34
36
  | Andorra | AD | NRT | Tax | Tax Register Identifier (Número de Registre Tributari) |
@@ -56,6 +58,9 @@ All country validators are in the "namespace" of the ISO country code.
56
58
  | Brazil | BR | CNPJ | Company | Brazilian company number (Cadastro Nacional da Pessoa Jurídica) |
57
59
  | Belarus | BY | UNP | Person/Company | Учетный номер плательщика, the Belarus VAT number |
58
60
  | Canada | CA | BN | Company | Company Identifier (Canadian Business Number) |
61
+ | Canada | CA | GST | Company | Goods and service Tax Number |
62
+ | Canada | CA | PST | Company | Provincial Service Tax Number |
63
+ | Canada | CA | QST | Company | Quebec Service Tax Number |
59
64
  | Canada | CA | SIN | Person | Person Identifier (Social Insurance Number) |
60
65
  | Cuba | CU | NI | Person | Número de identidad, Cuban identity card numbers |
61
66
  | Cyprus | CY | VAT | Company | Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) |
@@ -0,0 +1,2 @@
1
+ import { ValidateReturn } from '../types';
2
+ export declare const name: string, localName: string, abbreviation: string | undefined, validate: (value: string) => ValidateReturn, format: (value: string) => string, compact: (value: string) => string;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.compact = exports.format = exports.validate = exports.abbreviation = exports.localName = exports.name = void 0;
27
+ const exceptions = __importStar(require("../exceptions"));
28
+ const util_1 = require("../util");
29
+ const bn_1 = require("./bn");
30
+ function clean(input) {
31
+ return util_1.strings.cleanUnicode(input, ' -');
32
+ }
33
+ const validRe = /^\d{9}[A-Z]{2}\d{4}$/i;
34
+ const impl = {
35
+ name: 'Goods and service Tax Number',
36
+ localName: 'Goods and service Tax Number',
37
+ abbreviation: 'GST',
38
+ compact(input) {
39
+ const [value, err] = clean(input);
40
+ if (err) {
41
+ throw err;
42
+ }
43
+ return value;
44
+ },
45
+ format(input) {
46
+ const [value] = clean(input);
47
+ return value;
48
+ },
49
+ validate(input) {
50
+ const [value, error] = clean(input);
51
+ if (error) {
52
+ return { isValid: false, error };
53
+ }
54
+ if (value.length !== 15) {
55
+ return { isValid: false, error: new exceptions.InvalidLength() };
56
+ }
57
+ if (!validRe.test(value)) {
58
+ return { isValid: false, error: new exceptions.InvalidFormat() };
59
+ }
60
+ return (0, bn_1.validate)(value);
61
+ },
62
+ };
63
+ exports.name = impl.name, exports.localName = impl.localName, exports.abbreviation = impl.abbreviation, exports.validate = impl.validate, exports.format = impl.format, exports.compact = impl.compact;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhL2dzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLDBEQUE0QztBQUM1QyxrQ0FBa0M7QUFFbEMsNkJBQThDO0FBRTlDLFNBQVMsS0FBSyxDQUFDLEtBQWE7SUFDMUIsT0FBTyxjQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUM7QUFJeEMsTUFBTSxJQUFJLEdBQWM7SUFDdEIsSUFBSSxFQUFFLDhCQUE4QjtJQUNwQyxTQUFTLEVBQUUsOEJBQThCO0lBQ3pDLFlBQVksRUFBRSxLQUFLO0lBRW5CLE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNsQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUdELE9BQU8sSUFBQSxhQUFVLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGLENBQUM7QUFFYSxZQUFJLEdBQ2pCLElBQUksT0FEZSxpQkFBUyxHQUM1QixJQUFJLFlBRDBCLG9CQUFZLEdBQzFDLElBQUksZUFEd0MsZ0JBQVEsR0FDcEQsSUFBSSxXQURrRCxjQUFNLEdBQzVELElBQUksU0FEMEQsZUFBTyxHQUNyRSxJQUFJLFNBQUMifQ==
@@ -1,2 +1,5 @@
1
1
  export * as bn from './bn';
2
2
  export * as sin from './sin';
3
+ export * as gst from './gst';
4
+ export * as qst from './qst';
5
+ export * as pst from './pst';
@@ -23,7 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.sin = exports.bn = void 0;
26
+ exports.pst = exports.qst = exports.gst = exports.sin = exports.bn = void 0;
27
27
  exports.bn = __importStar(require("./bn"));
28
28
  exports.sin = __importStar(require("./sin"));
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2EvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBMkI7QUFDM0IsNkNBQTZCIn0=
29
+ exports.gst = __importStar(require("./gst"));
30
+ exports.qst = __importStar(require("./qst"));
31
+ exports.pst = __importStar(require("./pst"));
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2EvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBMkI7QUFDM0IsNkNBQTZCO0FBQzdCLDZDQUE2QjtBQUM3Qiw2Q0FBNkI7QUFDN0IsNkNBQTZCIn0=
@@ -0,0 +1,2 @@
1
+ import { ValidateReturn } from '../types';
2
+ export declare const name: string, localName: string, abbreviation: string | undefined, validate: (value: string) => ValidateReturn, format: (value: string) => string, compact: (value: string) => string;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.compact = exports.format = exports.validate = exports.abbreviation = exports.localName = exports.name = void 0;
27
+ const exceptions = __importStar(require("../exceptions"));
28
+ const util_1 = require("../util");
29
+ function clean(input) {
30
+ return util_1.strings.cleanUnicode(input, ' -');
31
+ }
32
+ const validRe = /^PST\d{8}$/;
33
+ const impl = {
34
+ name: 'Provincial Sales Tax',
35
+ localName: '',
36
+ abbreviation: 'PST',
37
+ compact(input) {
38
+ const [value, err] = clean(input);
39
+ if (err) {
40
+ throw err;
41
+ }
42
+ return value;
43
+ },
44
+ format(input) {
45
+ const [value] = clean(input);
46
+ return util_1.strings.splitAt(value, 3, 7).join('-');
47
+ },
48
+ validate(input) {
49
+ const [value, error] = clean(input);
50
+ if (error) {
51
+ return { isValid: false, error };
52
+ }
53
+ if (value.length !== 11) {
54
+ return { isValid: false, error: new exceptions.InvalidLength() };
55
+ }
56
+ if (!validRe.test(value)) {
57
+ return { isValid: false, error: new exceptions.InvalidFormat() };
58
+ }
59
+ return {
60
+ isValid: true,
61
+ compact: value,
62
+ isIndividual: false,
63
+ isCompany: true,
64
+ };
65
+ },
66
+ };
67
+ exports.name = impl.name, exports.localName = impl.localName, exports.abbreviation = impl.abbreviation, exports.validate = impl.validate, exports.format = impl.format, exports.compact = impl.compact;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhL3BzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLDBEQUE0QztBQUM1QyxrQ0FBa0M7QUFHbEMsU0FBUyxLQUFLLENBQUMsS0FBYTtJQUMxQixPQUFPLGNBQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7QUFJN0IsTUFBTSxJQUFJLEdBQWM7SUFDdEIsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixTQUFTLEVBQUUsRUFBRTtJQUNiLFlBQVksRUFBRSxLQUFLO0lBRW5CLE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsT0FBTyxjQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUsS0FBSztZQUNuQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUM7QUFFYSxZQUFJLEdBQ2pCLElBQUksT0FEZSxpQkFBUyxHQUM1QixJQUFJLFlBRDBCLG9CQUFZLEdBQzFDLElBQUksZUFEd0MsZ0JBQVEsR0FDcEQsSUFBSSxXQURrRCxjQUFNLEdBQzVELElBQUksU0FEMEQsZUFBTyxHQUNyRSxJQUFJLFNBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import { ValidateReturn } from '../types';
2
+ export declare const name: string, localName: string, abbreviation: string | undefined, validate: (value: string) => ValidateReturn, format: (value: string) => string, compact: (value: string) => string;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.compact = exports.format = exports.validate = exports.abbreviation = exports.localName = exports.name = void 0;
27
+ const exceptions = __importStar(require("../exceptions"));
28
+ const util_1 = require("../util");
29
+ const checksum_1 = require("../util/checksum");
30
+ function clean(input) {
31
+ return util_1.strings.cleanUnicode(input, ' -');
32
+ }
33
+ const validRe = /^\d{10}[a-z]{2}\d{4}$/i;
34
+ const impl = {
35
+ name: 'Quebec Sales Tax Number',
36
+ localName: '',
37
+ abbreviation: 'QST',
38
+ compact(input) {
39
+ const [value, err] = clean(input);
40
+ if (err) {
41
+ throw err;
42
+ }
43
+ return value;
44
+ },
45
+ format(input) {
46
+ const [value] = clean(input);
47
+ return value;
48
+ },
49
+ validate(input) {
50
+ const [value, error] = clean(input);
51
+ if (error) {
52
+ return { isValid: false, error };
53
+ }
54
+ if (value.length !== 16) {
55
+ return { isValid: false, error: new exceptions.InvalidLength() };
56
+ }
57
+ if (!validRe.test(value)) {
58
+ return { isValid: false, error: new exceptions.InvalidFormat() };
59
+ }
60
+ const [front, check, , serial] = util_1.strings.splitAt(value, 9, 10, 12);
61
+ if (serial === '0000') {
62
+ return { isValid: false, error: new exceptions.InvalidComponent() };
63
+ }
64
+ const sum = (0, checksum_1.weightedSum)(front, {
65
+ weights: [4, 3, 2, 7, 6, 5, 4, 3, 2],
66
+ modulus: 11,
67
+ });
68
+ if (String((11 - sum) % 10) !== check) {
69
+ return { isValid: false, error: new exceptions.InvalidChecksum() };
70
+ }
71
+ return {
72
+ isValid: true,
73
+ compact: value,
74
+ isIndividual: false,
75
+ isCompany: true,
76
+ };
77
+ },
78
+ };
79
+ exports.name = impl.name, exports.localName = impl.localName, exports.abbreviation = impl.abbreviation, exports.validate = impl.validate, exports.format = impl.format, exports.compact = impl.compact;
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhL3FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLDBEQUE0QztBQUM1QyxrQ0FBa0M7QUFFbEMsK0NBQStDO0FBRS9DLFNBQVMsS0FBSyxDQUFDLEtBQWE7SUFDMUIsT0FBTyxjQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLENBQUM7QUFJekMsTUFBTSxJQUFJLEdBQWM7SUFDdEIsSUFBSSxFQUFFLHlCQUF5QjtJQUMvQixTQUFTLEVBQUUsRUFBRTtJQUNiLFlBQVksRUFBRSxLQUFLO0lBRW5CLE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNsQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEFBQUQsRUFBRyxNQUFNLENBQUMsR0FBRyxjQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtZQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1NBQ3JFO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBQSxzQkFBVyxFQUFDLEtBQUssRUFBRTtZQUM3QixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQyxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztRQUVILElBQUksTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRTtZQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztTQUNwRTtRQUVELE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxLQUFLO1lBQ2QsWUFBWSxFQUFFLEtBQUs7WUFDbkIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRWEsWUFBSSxHQUNqQixJQUFJLE9BRGUsaUJBQVMsR0FDNUIsSUFBSSxZQUQwQixvQkFBWSxHQUMxQyxJQUFJLGVBRHdDLGdCQUFRLEdBQ3BELElBQUksV0FEa0QsY0FBTSxHQUM1RCxJQUFJLFNBRDBELGVBQU8sR0FDckUsSUFBSSxTQUFDIn0=
@@ -0,0 +1,2 @@
1
+ import { ValidateReturn } from '../types';
2
+ export declare const name: string, localName: string, abbreviation: string | undefined, validate: (value: string) => ValidateReturn, format: (value: string) => string, compact: (value: string) => string;
@@ -0,0 +1,38 @@
1
+ import * as exceptions from '../exceptions';
2
+ import { strings } from '../util';
3
+ import { validate as bnValidate } from './bn';
4
+ function clean(input) {
5
+ return strings.cleanUnicode(input, ' -');
6
+ }
7
+ const validRe = /^\d{9}[A-Z]{2}\d{4}$/i;
8
+ const impl = {
9
+ name: 'Goods and service Tax Number',
10
+ localName: 'Goods and service Tax Number',
11
+ abbreviation: 'GST',
12
+ compact(input) {
13
+ const [value, err] = clean(input);
14
+ if (err) {
15
+ throw err;
16
+ }
17
+ return value;
18
+ },
19
+ format(input) {
20
+ const [value] = clean(input);
21
+ return value;
22
+ },
23
+ validate(input) {
24
+ const [value, error] = clean(input);
25
+ if (error) {
26
+ return { isValid: false, error };
27
+ }
28
+ if (value.length !== 15) {
29
+ return { isValid: false, error: new exceptions.InvalidLength() };
30
+ }
31
+ if (!validRe.test(value)) {
32
+ return { isValid: false, error: new exceptions.InvalidFormat() };
33
+ }
34
+ return bnValidate(value);
35
+ },
36
+ };
37
+ export const { name, localName, abbreviation, validate, format, compact } = impl;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhL2dzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxRQUFRLElBQUksVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLFNBQVMsS0FBSyxDQUFDLEtBQWE7SUFDMUIsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUM7QUFJeEMsTUFBTSxJQUFJLEdBQWM7SUFDdEIsSUFBSSxFQUFFLDhCQUE4QjtJQUNwQyxTQUFTLEVBQUUsOEJBQThCO0lBQ3pDLFlBQVksRUFBRSxLQUFLO0lBRW5CLE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNsQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUdELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUN2RSxJQUFJLENBQUMifQ==
@@ -1,2 +1,5 @@
1
1
  export * as bn from './bn';
2
2
  export * as sin from './sin';
3
+ export * as gst from './gst';
4
+ export * as qst from './qst';
5
+ export * as pst from './pst';
@@ -2,4 +2,10 @@ import * as bn_1 from './bn';
2
2
  export { bn_1 as bn };
3
3
  import * as sin_1 from './sin';
4
4
  export { sin_1 as sin };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2EvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6InNCQUFvQixNQUFNO2lCQUFkLEVBQUU7dUJBQ08sT0FBTztrQkFBaEIsR0FBRyJ9
5
+ import * as gst_1 from './gst';
6
+ export { gst_1 as gst };
7
+ import * as qst_1 from './qst';
8
+ export { qst_1 as qst };
9
+ import * as pst_1 from './pst';
10
+ export { pst_1 as pst };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2EvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6InNCQUFvQixNQUFNO2lCQUFkLEVBQUU7dUJBQ08sT0FBTztrQkFBaEIsR0FBRzt1QkFDTSxPQUFPO2tCQUFoQixHQUFHO3VCQUNNLE9BQU87a0JBQWhCLEdBQUc7dUJBQ00sT0FBTztrQkFBaEIsR0FBRyJ9
@@ -0,0 +1,2 @@
1
+ import { ValidateReturn } from '../types';
2
+ export declare const name: string, localName: string, abbreviation: string | undefined, validate: (value: string) => ValidateReturn, format: (value: string) => string, compact: (value: string) => string;
@@ -0,0 +1,42 @@
1
+ import * as exceptions from '../exceptions';
2
+ import { strings } from '../util';
3
+ function clean(input) {
4
+ return strings.cleanUnicode(input, ' -');
5
+ }
6
+ const validRe = /^PST\d{8}$/;
7
+ const impl = {
8
+ name: 'Provincial Sales Tax',
9
+ localName: '',
10
+ abbreviation: 'PST',
11
+ compact(input) {
12
+ const [value, err] = clean(input);
13
+ if (err) {
14
+ throw err;
15
+ }
16
+ return value;
17
+ },
18
+ format(input) {
19
+ const [value] = clean(input);
20
+ return strings.splitAt(value, 3, 7).join('-');
21
+ },
22
+ validate(input) {
23
+ const [value, error] = clean(input);
24
+ if (error) {
25
+ return { isValid: false, error };
26
+ }
27
+ if (value.length !== 11) {
28
+ return { isValid: false, error: new exceptions.InvalidLength() };
29
+ }
30
+ if (!validRe.test(value)) {
31
+ return { isValid: false, error: new exceptions.InvalidFormat() };
32
+ }
33
+ return {
34
+ isValid: true,
35
+ compact: value,
36
+ isIndividual: false,
37
+ isCompany: true,
38
+ };
39
+ },
40
+ };
41
+ export const { name, localName, abbreviation, validate, format, compact } = impl;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhL3BzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2xDLFNBQVMsS0FBSyxDQUFDLEtBQWE7SUFDMUIsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0FBSTdCLE1BQU0sSUFBSSxHQUFjO0lBQ3RCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsU0FBUyxFQUFFLEVBQUU7SUFDYixZQUFZLEVBQUUsS0FBSztJQUVuQixPQUFPLENBQUMsS0FBYTtRQUNuQixNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLEdBQUcsRUFBRTtZQUNQLE1BQU0sR0FBRyxDQUFDO1NBQ1g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNsQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUVELE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxLQUFLO1lBQ2QsWUFBWSxFQUFFLEtBQUs7WUFDbkIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUN2RSxJQUFJLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import { ValidateReturn } from '../types';
2
+ export declare const name: string, localName: string, abbreviation: string | undefined, validate: (value: string) => ValidateReturn, format: (value: string) => string, compact: (value: string) => string;
@@ -0,0 +1,54 @@
1
+ import * as exceptions from '../exceptions';
2
+ import { strings } from '../util';
3
+ import { weightedSum } from '../util/checksum';
4
+ function clean(input) {
5
+ return strings.cleanUnicode(input, ' -');
6
+ }
7
+ const validRe = /^\d{10}[a-z]{2}\d{4}$/i;
8
+ const impl = {
9
+ name: 'Quebec Sales Tax Number',
10
+ localName: '',
11
+ abbreviation: 'QST',
12
+ compact(input) {
13
+ const [value, err] = clean(input);
14
+ if (err) {
15
+ throw err;
16
+ }
17
+ return value;
18
+ },
19
+ format(input) {
20
+ const [value] = clean(input);
21
+ return value;
22
+ },
23
+ validate(input) {
24
+ const [value, error] = clean(input);
25
+ if (error) {
26
+ return { isValid: false, error };
27
+ }
28
+ if (value.length !== 16) {
29
+ return { isValid: false, error: new exceptions.InvalidLength() };
30
+ }
31
+ if (!validRe.test(value)) {
32
+ return { isValid: false, error: new exceptions.InvalidFormat() };
33
+ }
34
+ const [front, check, , serial] = strings.splitAt(value, 9, 10, 12);
35
+ if (serial === '0000') {
36
+ return { isValid: false, error: new exceptions.InvalidComponent() };
37
+ }
38
+ const sum = weightedSum(front, {
39
+ weights: [4, 3, 2, 7, 6, 5, 4, 3, 2],
40
+ modulus: 11,
41
+ });
42
+ if (String((11 - sum) % 10) !== check) {
43
+ return { isValid: false, error: new exceptions.InvalidChecksum() };
44
+ }
45
+ return {
46
+ isValid: true,
47
+ compact: value,
48
+ isIndividual: false,
49
+ isCompany: true,
50
+ };
51
+ },
52
+ };
53
+ export const { name, localName, abbreviation, validate, format, compact } = impl;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NhL3FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxTQUFTLEtBQUssQ0FBQyxLQUFhO0lBQzFCLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDO0FBSXpDLE1BQU0sSUFBSSxHQUFjO0lBQ3RCLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsU0FBUyxFQUFFLEVBQUU7SUFDYixZQUFZLEVBQUUsS0FBSztJQUVuQixPQUFPLENBQUMsS0FBYTtRQUNuQixNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLEdBQUcsRUFBRTtZQUNQLE1BQU0sR0FBRyxDQUFDO1NBQ1g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDbEM7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxBQUFELEVBQUcsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztTQUNyRTtRQUVELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDN0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEMsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDLENBQUM7UUFFSCxJQUFJLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUU7WUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7U0FDcEU7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSxLQUFLO1lBQ25CLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FDdkUsSUFBSSxDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stdnum",
3
- "version": "1.9.9",
3
+ "version": "1.9.11",
4
4
  "description": "Standard Number Validation",
5
5
  "files": [
6
6
  "lib"