namefully 1.1.0 → 1.2.1
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/dist/lib/config.js +112 -0
- package/dist/lib/constants.js +30 -0
- package/dist/lib/error.js +92 -0
- package/dist/lib/full-name.js +115 -0
- package/dist/lib/index.js +27 -12
- package/dist/lib/name.js +230 -0
- package/dist/lib/namefully.js +368 -681
- package/dist/lib/parser.js +138 -0
- package/dist/lib/types.js +107 -0
- package/dist/lib/utils.js +92 -0
- package/dist/lib/validator.js +301 -0
- package/dist/types/config.d.ts +97 -0
- package/dist/types/constants.d.ts +4 -0
- package/dist/types/error.d.ts +158 -0
- package/dist/types/full-name.d.ts +54 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/name.d.ts +126 -0
- package/dist/types/namefully.d.ts +313 -0
- package/dist/types/parser.d.ts +41 -0
- package/dist/types/types.d.ts +127 -0
- package/dist/types/utils.d.ts +53 -0
- package/dist/types/validator.d.ts +57 -0
- package/dist/umd/namefully.js +1503 -2900
- package/dist/umd/namefully.min.js +1 -3
- package/package.json +28 -38
- package/readme.md +138 -167
- package/changelog.md +0 -134
- package/dist/lib/core/constants.d.ts +0 -48
- package/dist/lib/core/constants.js +0 -101
- package/dist/lib/core/constants.js.map +0 -1
- package/dist/lib/core/core.d.ts +0 -17
- package/dist/lib/core/core.js +0 -24
- package/dist/lib/core/core.js.map +0 -1
- package/dist/lib/core/index.d.ts +0 -9
- package/dist/lib/core/index.js +0 -13
- package/dist/lib/core/index.js.map +0 -1
- package/dist/lib/core/parsers/array-name.parser.d.ts +0 -41
- package/dist/lib/core/parsers/array-name.parser.js +0 -86
- package/dist/lib/core/parsers/array-name.parser.js.map +0 -1
- package/dist/lib/core/parsers/array-string.parser.d.ts +0 -47
- package/dist/lib/core/parsers/array-string.parser.js +0 -95
- package/dist/lib/core/parsers/array-string.parser.js.map +0 -1
- package/dist/lib/core/parsers/index.d.ts +0 -11
- package/dist/lib/core/parsers/index.js +0 -11
- package/dist/lib/core/parsers/index.js.map +0 -1
- package/dist/lib/core/parsers/nama.parser.d.ts +0 -33
- package/dist/lib/core/parsers/nama.parser.js +0 -74
- package/dist/lib/core/parsers/nama.parser.js.map +0 -1
- package/dist/lib/core/parsers/parser.d.ts +0 -28
- package/dist/lib/core/parsers/parser.js +0 -3
- package/dist/lib/core/parsers/parser.js.map +0 -1
- package/dist/lib/core/parsers/string.parser.d.ts +0 -60
- package/dist/lib/core/parsers/string.parser.js +0 -62
- package/dist/lib/core/parsers/string.parser.js.map +0 -1
- package/dist/lib/core/utils.d.ts +0 -52
- package/dist/lib/core/utils.js +0 -178
- package/dist/lib/core/utils.js.map +0 -1
- package/dist/lib/index.d.ts +0 -10
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/models/enums.d.ts +0 -106
- package/dist/lib/models/enums.js +0 -114
- package/dist/lib/models/enums.js.map +0 -1
- package/dist/lib/models/firstname.d.ts +0 -77
- package/dist/lib/models/firstname.js +0 -131
- package/dist/lib/models/firstname.js.map +0 -1
- package/dist/lib/models/fullname.d.ts +0 -73
- package/dist/lib/models/fullname.js +0 -99
- package/dist/lib/models/fullname.js.map +0 -1
- package/dist/lib/models/index.d.ts +0 -13
- package/dist/lib/models/index.js +0 -16
- package/dist/lib/models/index.js.map +0 -1
- package/dist/lib/models/lastname.d.ts +0 -80
- package/dist/lib/models/lastname.js +0 -157
- package/dist/lib/models/lastname.js.map +0 -1
- package/dist/lib/models/misc.d.ts +0 -108
- package/dist/lib/models/misc.js +0 -3
- package/dist/lib/models/misc.js.map +0 -1
- package/dist/lib/models/name.d.ts +0 -76
- package/dist/lib/models/name.js +0 -115
- package/dist/lib/models/name.js.map +0 -1
- package/dist/lib/models/summary.d.ts +0 -26
- package/dist/lib/models/summary.js +0 -61
- package/dist/lib/models/summary.js.map +0 -1
- package/dist/lib/namefully.d.ts +0 -302
- package/dist/lib/namefully.js.map +0 -1
- package/dist/lib/validators/array-name.validator.d.ts +0 -25
- package/dist/lib/validators/array-name.validator.js +0 -75
- package/dist/lib/validators/array-name.validator.js.map +0 -1
- package/dist/lib/validators/array-string.validator.d.ts +0 -43
- package/dist/lib/validators/array-string.validator.js +0 -76
- package/dist/lib/validators/array-string.validator.js.map +0 -1
- package/dist/lib/validators/common/validation-error.d.ts +0 -19
- package/dist/lib/validators/common/validation-error.js +0 -26
- package/dist/lib/validators/common/validation-error.js.map +0 -1
- package/dist/lib/validators/common/validation-rule.d.ts +0 -72
- package/dist/lib/validators/common/validation-rule.js +0 -76
- package/dist/lib/validators/common/validation-rule.js.map +0 -1
- package/dist/lib/validators/common/validation-type.d.ts +0 -24
- package/dist/lib/validators/common/validation-type.js +0 -28
- package/dist/lib/validators/common/validation-type.js.map +0 -1
- package/dist/lib/validators/firstname.validator.d.ts +0 -20
- package/dist/lib/validators/firstname.validator.js +0 -29
- package/dist/lib/validators/firstname.validator.js.map +0 -1
- package/dist/lib/validators/fullname.validator.d.ts +0 -21
- package/dist/lib/validators/fullname.validator.js +0 -38
- package/dist/lib/validators/fullname.validator.js.map +0 -1
- package/dist/lib/validators/index.d.ts +0 -21
- package/dist/lib/validators/index.js +0 -35
- package/dist/lib/validators/index.js.map +0 -1
- package/dist/lib/validators/lastname.validator.d.ts +0 -20
- package/dist/lib/validators/lastname.validator.js +0 -29
- package/dist/lib/validators/lastname.validator.js.map +0 -1
- package/dist/lib/validators/middlename.validator.d.ts +0 -20
- package/dist/lib/validators/middlename.validator.js +0 -38
- package/dist/lib/validators/middlename.validator.js.map +0 -1
- package/dist/lib/validators/nama.validator.d.ts +0 -21
- package/dist/lib/validators/nama.validator.js +0 -44
- package/dist/lib/validators/nama.validator.js.map +0 -1
- package/dist/lib/validators/namon.validator.d.ts +0 -20
- package/dist/lib/validators/namon.validator.js +0 -29
- package/dist/lib/validators/namon.validator.js.map +0 -1
- package/dist/lib/validators/prefix.validator.d.ts +0 -14
- package/dist/lib/validators/prefix.validator.js +0 -31
- package/dist/lib/validators/prefix.validator.js.map +0 -1
- package/dist/lib/validators/string-name.validator.d.ts +0 -20
- package/dist/lib/validators/string-name.validator.js +0 -29
- package/dist/lib/validators/string-name.validator.js.map +0 -1
- package/dist/lib/validators/suffix.validator.d.ts +0 -14
- package/dist/lib/validators/suffix.validator.js +0 -31
- package/dist/lib/validators/suffix.validator.js.map +0 -1
- package/dist/lib/validators/validator.d.ts +0 -13
- package/dist/lib/validators/validator.js +0 -9
- package/dist/lib/validators/validator.js.map +0 -1
- package/dist/umd/namefully.js.map +0 -1
- package/dist/umd/namefully.min.js.LICENSE.txt +0 -29
- package/dist/umd/namefully.min.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Constants
|
|
5
|
-
*
|
|
6
|
-
* Created on March 07, 2020
|
|
7
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
8
|
-
*/
|
|
9
|
-
const index_1 = require("../models/index");
|
|
10
|
-
const core_1 = require("./core");
|
|
11
|
-
/**
|
|
12
|
-
* The current version of `Namefully`.
|
|
13
|
-
* @constant
|
|
14
|
-
*/
|
|
15
|
-
exports.version = '1.1.0';
|
|
16
|
-
/**
|
|
17
|
-
* CONFIG
|
|
18
|
-
* @constant
|
|
19
|
-
* @type {Config}
|
|
20
|
-
* @default
|
|
21
|
-
*/
|
|
22
|
-
exports.CONFIG = {
|
|
23
|
-
orderedBy: 'firstname',
|
|
24
|
-
separator: index_1.Separator.SPACE,
|
|
25
|
-
titling: 'uk',
|
|
26
|
-
ending: false,
|
|
27
|
-
bypass: false,
|
|
28
|
-
lastnameFormat: 'father',
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* NAME_INDEX
|
|
32
|
-
* @constant
|
|
33
|
-
* @type {NameIndex}
|
|
34
|
-
* @default
|
|
35
|
-
*/
|
|
36
|
-
exports.NAME_INDEX = {
|
|
37
|
-
prefix: 0,
|
|
38
|
-
firstname: 1,
|
|
39
|
-
middlename: 2,
|
|
40
|
-
lastname: 3,
|
|
41
|
-
suffix: 4,
|
|
42
|
-
};
|
|
43
|
-
exports.FIRST_LAST_NAME_INDEX = 2;
|
|
44
|
-
exports.LAST_FIRST_NAME_INDEX = 2;
|
|
45
|
-
exports.FIRST_MIDDLE_LAST_NAME_INDEX = 3;
|
|
46
|
-
exports.LAST_FIRST_MIDDLE_NAME_INDEX = 3;
|
|
47
|
-
exports.PREFIX_FIRST_MIDDLE_LAST_NAME_INDEX = 4;
|
|
48
|
-
exports.PREFIX_LAST_FIRST_MIDDLE_NAME_INDEX = 4;
|
|
49
|
-
exports.PREFIX_FIRST_MIDDLE_LAST_SUFFIX_NAME_INDEX = 5;
|
|
50
|
-
exports.PREFIX_LAST_FIRST_MIDDLE_SUFFIX_NAME_INDEX = 5;
|
|
51
|
-
exports.MIN_NUMBER_NAME_PART = 2;
|
|
52
|
-
exports.MAX_NUMBER_NAME_PART = 5;
|
|
53
|
-
/**
|
|
54
|
-
* RESTRICTED_CHARS
|
|
55
|
-
* @constant
|
|
56
|
-
* @default
|
|
57
|
-
*/
|
|
58
|
-
exports.RESTRICTED_CHARS = [
|
|
59
|
-
index_1.Separator.SPACE,
|
|
60
|
-
index_1.Separator.SINGLE_QUOTE,
|
|
61
|
-
index_1.Separator.HYPHEN,
|
|
62
|
-
index_1.Separator.PERIOD,
|
|
63
|
-
index_1.Separator.COMMA,
|
|
64
|
-
];
|
|
65
|
-
/**
|
|
66
|
-
* PASSWORD_MAPPER
|
|
67
|
-
* @constant
|
|
68
|
-
*/
|
|
69
|
-
exports.PASSWORD_MAPPER = new Map([
|
|
70
|
-
['a', new core_1.CharSet(['a', 'A', '@', '4'])],
|
|
71
|
-
['b', new core_1.CharSet(['b', 'B', '6', '|)', '|3', '|>'])],
|
|
72
|
-
['c', new core_1.CharSet(['c', 'C', '(', '<'])],
|
|
73
|
-
['d', new core_1.CharSet(['d', 'D', '(|', '<|'])],
|
|
74
|
-
['e', new core_1.CharSet(['e', 'E', '3', '*'])],
|
|
75
|
-
['f', new core_1.CharSet(['f', 'F', '7', '(-'])],
|
|
76
|
-
['g', new core_1.CharSet(['g', 'G', '8', '&', '**'])],
|
|
77
|
-
['h', new core_1.CharSet(['h', 'H', '#', '|-|'])],
|
|
78
|
-
['i', new core_1.CharSet(['i', 'I', '!', '1', '|', '--'])],
|
|
79
|
-
['j', new core_1.CharSet(['j', 'J', ')', '1'])],
|
|
80
|
-
['k', new core_1.CharSet(['k', 'K', '%', '|<'])],
|
|
81
|
-
['l', new core_1.CharSet(['l', 'L', '1', '!', '|_'])],
|
|
82
|
-
['m', new core_1.CharSet(['m', 'M', '^^', '>>'])],
|
|
83
|
-
['n', new core_1.CharSet(['n', 'N', '!=', '++'])],
|
|
84
|
-
['o', new core_1.CharSet(['o', 'O', '0', '.', '*'])],
|
|
85
|
-
['p', new core_1.CharSet(['p', 'P', '|3', '|)', '|>'])],
|
|
86
|
-
['q', new core_1.CharSet(['q', 'Q', '&', '9', '<|'])],
|
|
87
|
-
['r', new core_1.CharSet(['r', 'R', '7', '&'])],
|
|
88
|
-
['s', new core_1.CharSet(['s', 'S', '5', '$'])],
|
|
89
|
-
['t', new core_1.CharSet(['t', 'T', '7', '['])],
|
|
90
|
-
['u', new core_1.CharSet(['u', 'U', '|_|', 'v'])],
|
|
91
|
-
['v', new core_1.CharSet(['v', 'V', '>', '<', '^'])],
|
|
92
|
-
['w', new core_1.CharSet(['w', 'W', '[|]', 'vv'])],
|
|
93
|
-
['x', new core_1.CharSet(['x', 'X', '%', '#'])],
|
|
94
|
-
['z', new core_1.CharSet(['z', 'Z', '2', '!='])],
|
|
95
|
-
['$', new core_1.CharSet([
|
|
96
|
-
'!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '+', '[',
|
|
97
|
-
'_', '=', '{', '}', ':', ';', ',', '.', '<', '>', '|', '~', ']',
|
|
98
|
-
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
|
|
99
|
-
])],
|
|
100
|
-
]);
|
|
101
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/core/core.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core contents
|
|
3
|
-
*
|
|
4
|
-
* Created on June 30, 2020
|
|
5
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Extends `Set` functionalities by shuffling the set values and return one
|
|
9
|
-
*/
|
|
10
|
-
export declare class CharSet<T> extends Set<T> {
|
|
11
|
-
random(): T;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Extends `Array` functionalities
|
|
15
|
-
*/
|
|
16
|
-
export declare class CharArray<T> extends Array<T> {
|
|
17
|
-
}
|
package/dist/lib/core/core.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Core contents
|
|
4
|
-
*
|
|
5
|
-
* Created on June 30, 2020
|
|
6
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
/**
|
|
10
|
-
* Extends `Set` functionalities by shuffling the set values and return one
|
|
11
|
-
*/
|
|
12
|
-
class CharSet extends Set {
|
|
13
|
-
random() {
|
|
14
|
-
return Array.from(this)[Math.floor(Math.random() * this.size)];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.CharSet = CharSet;
|
|
18
|
-
/**
|
|
19
|
-
* Extends `Array` functionalities
|
|
20
|
-
*/
|
|
21
|
-
class CharArray extends Array {
|
|
22
|
-
}
|
|
23
|
-
exports.CharArray = CharArray;
|
|
24
|
-
//# sourceMappingURL=core.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/core/core.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH;;GAEG;AACH,MAAa,OAAW,SAAQ,GAAM;IAClC,MAAM;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;CACJ;AAJD,0BAIC;AAED;;GAEG;AACH,MAAa,SAAa,SAAQ,KAAQ;CAEzC;AAFD,8BAEC"}
|
package/dist/lib/core/index.d.ts
DELETED
package/dist/lib/core/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
/**
|
|
5
|
-
* Make all the locals available
|
|
6
|
-
*
|
|
7
|
-
* Created on March 06, 2020
|
|
8
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
9
|
-
*/
|
|
10
|
-
tslib_1.__exportStar(require("./parsers/index"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./utils"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./constants"), exports);
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,0DAAgC;AAChC,kDAAwB;AACxB,sDAA4B"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An array `Name` parser
|
|
3
|
-
*
|
|
4
|
-
* Created on March 15, 2020
|
|
5
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
6
|
-
*/
|
|
7
|
-
import { Name, Fullname, LastnameFormat } from '../../models';
|
|
8
|
-
import { Parser } from './parser';
|
|
9
|
-
/**
|
|
10
|
-
* Represents a `Name[]` parser
|
|
11
|
-
* @class
|
|
12
|
-
* @implements {Parser<Name[]>}
|
|
13
|
-
*
|
|
14
|
-
* This parser parses an array of the class `Name` while checking that every part
|
|
15
|
-
* plays the role they are supposed to play. The class `Name` is a ready-made
|
|
16
|
-
* recipe that saves the how-to parsing for a raw data input.
|
|
17
|
-
*
|
|
18
|
-
* **NOTE**:
|
|
19
|
-
* In this specific case, the user is expected to carefully set each name part
|
|
20
|
-
* and submit a high-quality data. Why is this parser if the data is already
|
|
21
|
-
* shaped as wanted? Well, it is better to be safe than sorry, so we implement a
|
|
22
|
-
* double-check of these values and reconfirm a cleaner data. Remember, namefully
|
|
23
|
-
* works like a trapdoor, once the data is set and confirmed safe, no editing is
|
|
24
|
-
* possible.
|
|
25
|
-
*/
|
|
26
|
-
export default class ArrayNameParser implements Parser<Name[]> {
|
|
27
|
-
raw: Name[];
|
|
28
|
-
/**
|
|
29
|
-
* Create a parser ready to parse the raw data
|
|
30
|
-
* @param {Name[]} raw data
|
|
31
|
-
*/
|
|
32
|
-
constructor(raw: Name[]);
|
|
33
|
-
/**
|
|
34
|
-
* Parses the raw data into a full name
|
|
35
|
-
*/
|
|
36
|
-
parse(options: {
|
|
37
|
-
bypass: boolean;
|
|
38
|
-
lastnameFormat: LastnameFormat;
|
|
39
|
-
}): Fullname;
|
|
40
|
-
private distribute;
|
|
41
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* An array `Name` parser
|
|
5
|
-
*
|
|
6
|
-
* Created on March 15, 2020
|
|
7
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
8
|
-
*/
|
|
9
|
-
const models_1 = require("../../models");
|
|
10
|
-
const index_1 = require("../../validators/index");
|
|
11
|
-
/**
|
|
12
|
-
* Represents a `Name[]` parser
|
|
13
|
-
* @class
|
|
14
|
-
* @implements {Parser<Name[]>}
|
|
15
|
-
*
|
|
16
|
-
* This parser parses an array of the class `Name` while checking that every part
|
|
17
|
-
* plays the role they are supposed to play. The class `Name` is a ready-made
|
|
18
|
-
* recipe that saves the how-to parsing for a raw data input.
|
|
19
|
-
*
|
|
20
|
-
* **NOTE**:
|
|
21
|
-
* In this specific case, the user is expected to carefully set each name part
|
|
22
|
-
* and submit a high-quality data. Why is this parser if the data is already
|
|
23
|
-
* shaped as wanted? Well, it is better to be safe than sorry, so we implement a
|
|
24
|
-
* double-check of these values and reconfirm a cleaner data. Remember, namefully
|
|
25
|
-
* works like a trapdoor, once the data is set and confirmed safe, no editing is
|
|
26
|
-
* possible.
|
|
27
|
-
*/
|
|
28
|
-
class ArrayNameParser {
|
|
29
|
-
/**
|
|
30
|
-
* Create a parser ready to parse the raw data
|
|
31
|
-
* @param {Name[]} raw data
|
|
32
|
-
*/
|
|
33
|
-
constructor(raw) {
|
|
34
|
-
this.raw = raw;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Parses the raw data into a full name
|
|
38
|
-
*/
|
|
39
|
-
parse(options) {
|
|
40
|
-
const { bypass, lastnameFormat } = options;
|
|
41
|
-
// validate first
|
|
42
|
-
if (!bypass)
|
|
43
|
-
new index_1.ArrayNameValidator().validate(this.raw);
|
|
44
|
-
// then distribute all the elements accordingly
|
|
45
|
-
const fullname = this.distribute(lastnameFormat);
|
|
46
|
-
// finally return high quality of data
|
|
47
|
-
return fullname;
|
|
48
|
-
}
|
|
49
|
-
distribute(lastnameFormat) {
|
|
50
|
-
const fullname = {
|
|
51
|
-
firstname: null,
|
|
52
|
-
lastname: null,
|
|
53
|
-
middlename: [],
|
|
54
|
-
prefix: null,
|
|
55
|
-
suffix: null,
|
|
56
|
-
};
|
|
57
|
-
this.raw.forEach(name => {
|
|
58
|
-
switch (name.type) {
|
|
59
|
-
case models_1.Namon.PREFIX:
|
|
60
|
-
fullname.prefix = name.namon;
|
|
61
|
-
break;
|
|
62
|
-
case models_1.Namon.FIRST_NAME:
|
|
63
|
-
if (name instanceof models_1.Firstname)
|
|
64
|
-
fullname.firstname = new models_1.Firstname(name.namon, ...name.more);
|
|
65
|
-
else
|
|
66
|
-
fullname.firstname = new models_1.Firstname(name.namon);
|
|
67
|
-
break;
|
|
68
|
-
case models_1.Namon.LAST_NAME:
|
|
69
|
-
if (name instanceof models_1.Lastname)
|
|
70
|
-
fullname.lastname = new models_1.Lastname(name.father, name.mother, lastnameFormat);
|
|
71
|
-
else
|
|
72
|
-
fullname.lastname = new models_1.Lastname(name.namon, null, lastnameFormat);
|
|
73
|
-
break;
|
|
74
|
-
case models_1.Namon.MIDDLE_NAME:
|
|
75
|
-
fullname.middlename.push(name);
|
|
76
|
-
break;
|
|
77
|
-
case models_1.Namon.SUFFIX:
|
|
78
|
-
fullname.suffix = name.namon;
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
return fullname;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.default = ArrayNameParser;
|
|
86
|
-
//# sourceMappingURL=array-name.parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array-name.parser.js","sourceRoot":"","sources":["../../../../src/core/parsers/array-name.parser.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yCASsB;AACtB,kDAA4D;AAI5D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAqB,eAAe;IAEhC;;;OAGG;IACH,YAAmB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,OAA4D;QAC9D,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAC3C,iBAAiB;QACjB,IAAI,CAAC,MAAM;YAAE,IAAI,0BAAkB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzD,+CAA+C;QAC/C,MAAM,QAAQ,GAAa,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAE3D,sCAAsC;QACtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,UAAU,CAAC,cAA8B;QAE7C,MAAM,QAAQ,GAAa;YACvB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACf,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACf,KAAK,cAAK,CAAC,MAAM;oBACb,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAe,CAAC;oBACvC,MAAM;gBACV,KAAK,cAAK,CAAC,UAAU;oBACjB,IAAI,IAAI,YAAY,kBAAS;wBACzB,QAAQ,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;;wBAE7D,QAAQ,CAAC,SAAS,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnD,MAAM;gBACV,KAAK,cAAK,CAAC,SAAS;oBAChB,IAAI,IAAI,YAAY,iBAAQ;wBACxB,QAAQ,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;;wBAE1E,QAAQ,CAAC,QAAQ,GAAG,IAAI,iBAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;oBACvE,MAAM;gBACV,KAAK,cAAK,CAAC,WAAW;oBAClB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM;gBACV,KAAK,cAAK,CAAC,MAAM;oBACb,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAe,CAAC;oBACvC,MAAM;aACb;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA7DD,kCA6DC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An array of string parser
|
|
3
|
-
*
|
|
4
|
-
* Created on March 15, 2020
|
|
5
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
6
|
-
*/
|
|
7
|
-
import { Fullname, NameOrder } from '../../models';
|
|
8
|
-
import { Parser } from './parser';
|
|
9
|
-
/**
|
|
10
|
-
* Represents an array string parser
|
|
11
|
-
* @class
|
|
12
|
-
* @implements {Parser<string[]>}
|
|
13
|
-
*
|
|
14
|
-
* This parser parses an array of string name following a specific order based
|
|
15
|
-
* on the count of elements. It is expected that the array has to be between two
|
|
16
|
-
* and five elements. Also, the order of appearance set in the configuration
|
|
17
|
-
* influences how this parsing is carried out.
|
|
18
|
-
*
|
|
19
|
-
* Ordered by first name, the parser works as follows:
|
|
20
|
-
* - 2 elements: firstname lastname
|
|
21
|
-
* - 3 elements: firstname middlename lastname
|
|
22
|
-
* - 4 elements: prefix firstname middlename lastname
|
|
23
|
-
* - 5 elements: prefix firstname middlename lastname suffix
|
|
24
|
-
*
|
|
25
|
-
* Ordered by last name, the parser works as follows:
|
|
26
|
-
* - 2 elements: lastname firstname
|
|
27
|
-
* - 3 elements: lastname firstname middlename
|
|
28
|
-
* - 4 elements: prefix lastname firstname middlename
|
|
29
|
-
* - 5 elements: prefix lastname firstname middlename suffix
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
export default class ArrayStringParser implements Parser<string[]> {
|
|
33
|
-
raw: string[];
|
|
34
|
-
/**
|
|
35
|
-
* Create a parser ready to parse the raw data
|
|
36
|
-
* @param {string[]} raw data
|
|
37
|
-
*/
|
|
38
|
-
constructor(raw: string[]);
|
|
39
|
-
/**
|
|
40
|
-
* Parses the raw data into a full name
|
|
41
|
-
*/
|
|
42
|
-
parse(options: {
|
|
43
|
-
orderedBy: NameOrder;
|
|
44
|
-
bypass: boolean;
|
|
45
|
-
}): Fullname;
|
|
46
|
-
private distribute;
|
|
47
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* An array of string parser
|
|
5
|
-
*
|
|
6
|
-
* Created on March 15, 2020
|
|
7
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
8
|
-
*/
|
|
9
|
-
const models_1 = require("../../models");
|
|
10
|
-
const validators_1 = require("../../validators");
|
|
11
|
-
const core_1 = require("../../core");
|
|
12
|
-
/**
|
|
13
|
-
* Represents an array string parser
|
|
14
|
-
* @class
|
|
15
|
-
* @implements {Parser<string[]>}
|
|
16
|
-
*
|
|
17
|
-
* This parser parses an array of string name following a specific order based
|
|
18
|
-
* on the count of elements. It is expected that the array has to be between two
|
|
19
|
-
* and five elements. Also, the order of appearance set in the configuration
|
|
20
|
-
* influences how this parsing is carried out.
|
|
21
|
-
*
|
|
22
|
-
* Ordered by first name, the parser works as follows:
|
|
23
|
-
* - 2 elements: firstname lastname
|
|
24
|
-
* - 3 elements: firstname middlename lastname
|
|
25
|
-
* - 4 elements: prefix firstname middlename lastname
|
|
26
|
-
* - 5 elements: prefix firstname middlename lastname suffix
|
|
27
|
-
*
|
|
28
|
-
* Ordered by last name, the parser works as follows:
|
|
29
|
-
* - 2 elements: lastname firstname
|
|
30
|
-
* - 3 elements: lastname firstname middlename
|
|
31
|
-
* - 4 elements: prefix lastname firstname middlename
|
|
32
|
-
* - 5 elements: prefix lastname firstname middlename suffix
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
class ArrayStringParser {
|
|
36
|
-
/**
|
|
37
|
-
* Create a parser ready to parse the raw data
|
|
38
|
-
* @param {string[]} raw data
|
|
39
|
-
*/
|
|
40
|
-
constructor(raw) {
|
|
41
|
-
this.raw = raw;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Parses the raw data into a full name
|
|
45
|
-
*/
|
|
46
|
-
parse(options) {
|
|
47
|
-
// given this setting
|
|
48
|
-
const { orderedBy, bypass } = options;
|
|
49
|
-
// validate first
|
|
50
|
-
const raw = this.raw.map(n => n.trim()); // cleanup
|
|
51
|
-
const index = core_1.organizeNameIndex(orderedBy, raw.length);
|
|
52
|
-
if (!bypass)
|
|
53
|
-
new validators_1.ArrayStringValidator(index).validate(raw);
|
|
54
|
-
// then distribute all the elements accordingly
|
|
55
|
-
const fullname = this.distribute(raw, index);
|
|
56
|
-
// finally return high quality of data
|
|
57
|
-
return fullname;
|
|
58
|
-
}
|
|
59
|
-
distribute(raw, index) {
|
|
60
|
-
const fullname = {
|
|
61
|
-
firstname: null,
|
|
62
|
-
lastname: null,
|
|
63
|
-
middlename: [],
|
|
64
|
-
prefix: null,
|
|
65
|
-
suffix: null,
|
|
66
|
-
};
|
|
67
|
-
switch (raw.length) {
|
|
68
|
-
case 2: // first name + last name
|
|
69
|
-
fullname.firstname = new models_1.Firstname(raw[index.firstname]);
|
|
70
|
-
fullname.lastname = new models_1.Lastname(raw[index.lastname]);
|
|
71
|
-
break;
|
|
72
|
-
case 3: // first name + middle name + last name
|
|
73
|
-
fullname.firstname = new models_1.Firstname(raw[index.firstname]);
|
|
74
|
-
fullname.middlename.push(new models_1.Name(raw[index.middlename], models_1.Namon.MIDDLE_NAME));
|
|
75
|
-
fullname.lastname = new models_1.Lastname(raw[index.lastname]);
|
|
76
|
-
break;
|
|
77
|
-
case 4: // prefix + first name + middle name + last name
|
|
78
|
-
fullname.prefix = raw[index.prefix];
|
|
79
|
-
fullname.firstname = new models_1.Firstname(raw[index.firstname]);
|
|
80
|
-
fullname.middlename.push(new models_1.Name(raw[index.middlename], models_1.Namon.MIDDLE_NAME));
|
|
81
|
-
fullname.lastname = new models_1.Lastname(raw[index.lastname]);
|
|
82
|
-
break;
|
|
83
|
-
case 5: // prefix + first name + middle name + last name + suffix
|
|
84
|
-
fullname.prefix = raw[index.prefix];
|
|
85
|
-
fullname.firstname = new models_1.Firstname(raw[index.firstname]);
|
|
86
|
-
fullname.middlename.push(new models_1.Name(raw[index.middlename], models_1.Namon.MIDDLE_NAME));
|
|
87
|
-
fullname.lastname = new models_1.Lastname(raw[index.lastname]);
|
|
88
|
-
fullname.suffix = raw[index.suffix];
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
return fullname;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
exports.default = ArrayStringParser;
|
|
95
|
-
//# sourceMappingURL=array-string.parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array-string.parser.js","sourceRoot":"","sources":["../../../../src/core/parsers/array-string.parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Export the local parsers
|
|
3
|
-
*
|
|
4
|
-
* Created on March 03, 2020
|
|
5
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
6
|
-
*/
|
|
7
|
-
export * from './parser';
|
|
8
|
-
export { default as ArrayNameParser } from './array-name.parser';
|
|
9
|
-
export { default as ArrayStringParser } from './array-string.parser';
|
|
10
|
-
export { default as NamaParser } from './nama.parser';
|
|
11
|
-
export { default as StringParser } from './string.parser';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var array_name_parser_1 = require("./array-name.parser");
|
|
4
|
-
exports.ArrayNameParser = array_name_parser_1.default;
|
|
5
|
-
var array_string_parser_1 = require("./array-string.parser");
|
|
6
|
-
exports.ArrayStringParser = array_string_parser_1.default;
|
|
7
|
-
var nama_parser_1 = require("./nama.parser");
|
|
8
|
-
exports.NamaParser = nama_parser_1.default;
|
|
9
|
-
var string_parser_1 = require("./string.parser");
|
|
10
|
-
exports.StringParser = string_parser_1.default;
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/parsers/index.ts"],"names":[],"mappings":";;AAOA,yDAAiE;AAAxD,8CAAA,OAAO,CAAmB;AACnC,6DAAqE;AAA5D,kDAAA,OAAO,CAAqB;AACrC,6CAAsD;AAA7C,mCAAA,OAAO,CAAc;AAC9B,iDAA0D;AAAjD,uCAAA,OAAO,CAAgB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A `Nama` (JSON signature) parser
|
|
3
|
-
*
|
|
4
|
-
* Created on March 15, 2020
|
|
5
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
6
|
-
*/
|
|
7
|
-
import { Nama, Fullname } from '../../models/index';
|
|
8
|
-
import { Parser } from './parser';
|
|
9
|
-
/**
|
|
10
|
-
* Represents a `Nama` parser
|
|
11
|
-
* @class
|
|
12
|
-
* @implements {Parser<Nama>}
|
|
13
|
-
*
|
|
14
|
-
* This parser parses a JSON signature of the name parts provided as string
|
|
15
|
-
* values. This is to facilitate a developer's life that holds users' info in a
|
|
16
|
-
* JSON format. In other words, the developer only needs to provide similar info
|
|
17
|
-
* and the rest will follow.
|
|
18
|
-
*/
|
|
19
|
-
export default class NamaParser implements Parser<Nama> {
|
|
20
|
-
raw: Nama;
|
|
21
|
-
/**
|
|
22
|
-
* Create a parser ready to parse the raw data
|
|
23
|
-
* @param {Nama} raw data as JSON object
|
|
24
|
-
*/
|
|
25
|
-
constructor(raw: Nama);
|
|
26
|
-
/**
|
|
27
|
-
* Parses the raw data into a full name
|
|
28
|
-
*/
|
|
29
|
-
parse(options: {
|
|
30
|
-
bypass: boolean;
|
|
31
|
-
}): Fullname;
|
|
32
|
-
private distribute;
|
|
33
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* A `Nama` (JSON signature) parser
|
|
5
|
-
*
|
|
6
|
-
* Created on March 15, 2020
|
|
7
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
8
|
-
*/
|
|
9
|
-
const index_1 = require("../../models/index");
|
|
10
|
-
const index_2 = require("../../validators/index");
|
|
11
|
-
/**
|
|
12
|
-
* Represents a `Nama` parser
|
|
13
|
-
* @class
|
|
14
|
-
* @implements {Parser<Nama>}
|
|
15
|
-
*
|
|
16
|
-
* This parser parses a JSON signature of the name parts provided as string
|
|
17
|
-
* values. This is to facilitate a developer's life that holds users' info in a
|
|
18
|
-
* JSON format. In other words, the developer only needs to provide similar info
|
|
19
|
-
* and the rest will follow.
|
|
20
|
-
*/
|
|
21
|
-
class NamaParser {
|
|
22
|
-
/**
|
|
23
|
-
* Create a parser ready to parse the raw data
|
|
24
|
-
* @param {Nama} raw data as JSON object
|
|
25
|
-
*/
|
|
26
|
-
constructor(raw) {
|
|
27
|
-
this.raw = raw;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Parses the raw data into a full name
|
|
31
|
-
*/
|
|
32
|
-
parse(options) {
|
|
33
|
-
// validate first
|
|
34
|
-
if (!options.bypass)
|
|
35
|
-
new index_2.NamaValidator().validate(this.raw);
|
|
36
|
-
// then distribute all the elements accordingly
|
|
37
|
-
const fullname = this.distribute();
|
|
38
|
-
// finally return high quality of data
|
|
39
|
-
return fullname;
|
|
40
|
-
}
|
|
41
|
-
distribute() {
|
|
42
|
-
const fullname = {
|
|
43
|
-
firstname: null,
|
|
44
|
-
lastname: null,
|
|
45
|
-
middlename: [],
|
|
46
|
-
prefix: null,
|
|
47
|
-
suffix: null,
|
|
48
|
-
};
|
|
49
|
-
for (const entry of Object.entries(this.raw)) {
|
|
50
|
-
const key = entry[0];
|
|
51
|
-
const value = entry[1];
|
|
52
|
-
switch (key) {
|
|
53
|
-
case index_1.Namon.FIRST_NAME:
|
|
54
|
-
fullname.firstname = new index_1.Firstname(value);
|
|
55
|
-
break;
|
|
56
|
-
case index_1.Namon.LAST_NAME:
|
|
57
|
-
fullname.lastname = new index_1.Lastname(value);
|
|
58
|
-
break;
|
|
59
|
-
case index_1.Namon.MIDDLE_NAME:
|
|
60
|
-
fullname.middlename.push(new index_1.Name(value, index_1.Namon.MIDDLE_NAME));
|
|
61
|
-
break;
|
|
62
|
-
case index_1.Namon.PREFIX:
|
|
63
|
-
fullname.prefix = value;
|
|
64
|
-
break;
|
|
65
|
-
case index_1.Namon.SUFFIX:
|
|
66
|
-
fullname.suffix = value;
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return fullname;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.default = NamaParser;
|
|
74
|
-
//# sourceMappingURL=nama.parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nama.parser.js","sourceRoot":"","sources":["../../../../src/core/parsers/nama.parser.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,8CAAsG;AACtG,kDAAuD;AAIvD;;;;;;;;;GASG;AACH,MAAqB,UAAU;IAC3B;;;OAGG;IACH,YAAmB,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAI,CAAC;IAEjC;;OAEG;IACH,KAAK,CAAC,OAA4B;QAE9B,iBAAiB;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,IAAI,qBAAa,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5D,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,sCAAsC;QACtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,UAAU;QACd,MAAM,QAAQ,GAAa;YACvB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACf,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAe,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;YACjC,QAAQ,GAAG,EAAE;gBACT,KAAK,aAAK,CAAC,UAAU;oBACjB,QAAQ,CAAC,SAAS,GAAG,IAAI,iBAAS,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM;gBACV,KAAK,aAAK,CAAC,SAAS;oBAChB,QAAQ,CAAC,QAAQ,GAAG,IAAI,gBAAQ,CAAC,KAAK,CAAC,CAAC;oBACxC,MAAM;gBACV,KAAK,aAAK,CAAC,WAAW;oBAClB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAI,CAAC,KAAK,EAAE,aAAK,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7D,MAAM;gBACV,KAAK,aAAK,CAAC,MAAM;oBACb,QAAQ,CAAC,MAAM,GAAG,KAAe,CAAC;oBAClC,MAAM;gBACV,KAAK,aAAK,CAAC,MAAM;oBACb,QAAQ,CAAC,MAAM,GAAG,KAAe,CAAC;oBAClC,MAAM;aACb;SACJ;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAtDD,6BAsDC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A `Parser` contract
|
|
3
|
-
*
|
|
4
|
-
* Created on March 15, 2020
|
|
5
|
-
* @author Ralph Florent <ralflornt@gmail.com>
|
|
6
|
-
*/
|
|
7
|
-
import { Fullname, Separator, NameOrder, LastnameFormat } from '../../models/index';
|
|
8
|
-
/**
|
|
9
|
-
* Interface for JSON signature that represents a generic parser
|
|
10
|
-
* @interface
|
|
11
|
-
*/
|
|
12
|
-
export interface Parser<T> {
|
|
13
|
-
/**
|
|
14
|
-
* raw data to be parsed
|
|
15
|
-
* @type {T}
|
|
16
|
-
*/
|
|
17
|
-
raw: T;
|
|
18
|
-
/**
|
|
19
|
-
* Parses the raw data into a full name
|
|
20
|
-
* @param {Config} [options]
|
|
21
|
-
*/
|
|
22
|
-
parse(options?: Partial<{
|
|
23
|
-
orderedBy: NameOrder;
|
|
24
|
-
separator: Separator;
|
|
25
|
-
bypass: boolean;
|
|
26
|
-
lastnameFormat: LastnameFormat;
|
|
27
|
-
}>): Fullname;
|
|
28
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/core/parsers/parser.ts"],"names":[],"mappings":""}
|