namefully 1.0.9 → 1.2.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.
Files changed (189) hide show
  1. package/LICENSE +21 -674
  2. package/dist/example/index.js +2734 -0
  3. package/dist/lib/config.d.ts +121 -0
  4. package/dist/lib/config.js +189 -0
  5. package/dist/lib/config.js.map +1 -0
  6. package/dist/lib/constants.d.ts +4 -0
  7. package/dist/lib/constants.js +31 -0
  8. package/dist/lib/constants.js.map +1 -0
  9. package/dist/lib/error.d.ts +172 -0
  10. package/dist/lib/error.js +210 -0
  11. package/dist/lib/error.js.map +1 -0
  12. package/dist/lib/{usecases/index.d.ts → example/example.d.ts} +0 -0
  13. package/dist/lib/full-name.d.ts +71 -0
  14. package/dist/lib/full-name.js +147 -0
  15. package/dist/lib/full-name.js.map +1 -0
  16. package/dist/lib/index.d.ts +16 -6
  17. package/dist/lib/index.js +29 -8
  18. package/dist/lib/index.js.map +1 -1
  19. package/dist/lib/name.d.ts +177 -0
  20. package/dist/lib/name.js +322 -0
  21. package/dist/lib/name.js.map +1 -0
  22. package/dist/lib/namefully.d.ts +303 -208
  23. package/dist/lib/namefully.js +603 -442
  24. package/dist/lib/namefully.js.map +1 -1
  25. package/dist/lib/parser.d.ts +46 -0
  26. package/dist/lib/parser.js +173 -0
  27. package/dist/lib/parser.js.map +1 -0
  28. package/dist/lib/src/config.d.ts +121 -0
  29. package/dist/lib/src/constants.d.ts +4 -0
  30. package/dist/lib/src/error.d.ts +172 -0
  31. package/dist/lib/src/full-name.d.ts +71 -0
  32. package/dist/lib/src/index.d.ts +16 -6
  33. package/dist/lib/src/name.d.ts +177 -0
  34. package/dist/lib/src/namefully.d.ts +303 -208
  35. package/dist/lib/src/parser.d.ts +46 -0
  36. package/dist/lib/src/types.d.ts +127 -0
  37. package/dist/lib/src/utils.d.ts +63 -0
  38. package/dist/lib/src/validator.d.ts +66 -0
  39. package/dist/lib/types.d.ts +127 -0
  40. package/dist/lib/types.js +181 -0
  41. package/dist/lib/types.js.map +1 -0
  42. package/dist/lib/utils.d.ts +63 -0
  43. package/dist/lib/utils.js +138 -0
  44. package/dist/lib/utils.js.map +1 -0
  45. package/dist/lib/validator.d.ts +66 -0
  46. package/dist/lib/validator.js +332 -0
  47. package/dist/lib/validator.js.map +1 -0
  48. package/dist/umd/namefully.js +2191 -2111
  49. package/dist/umd/namefully.js.map +1 -1
  50. package/dist/umd/namefully.min.js +1 -1
  51. package/dist/umd/namefully.min.js.LICENSE.txt +8 -20
  52. package/dist/umd/namefully.min.js.map +1 -1
  53. package/package.json +50 -53
  54. package/readme.md +151 -175
  55. package/changelog.md +0 -114
  56. package/dist/lib/core/constants.d.ts +0 -26
  57. package/dist/lib/core/constants.js +0 -42
  58. package/dist/lib/core/constants.js.map +0 -1
  59. package/dist/lib/core/index.d.ts +0 -9
  60. package/dist/lib/core/index.js +0 -13
  61. package/dist/lib/core/index.js.map +0 -1
  62. package/dist/lib/core/parsers/array-name.parser.d.ts +0 -42
  63. package/dist/lib/core/parsers/array-name.parser.js +0 -84
  64. package/dist/lib/core/parsers/array-name.parser.js.map +0 -1
  65. package/dist/lib/core/parsers/array-string.parser.d.ts +0 -48
  66. package/dist/lib/core/parsers/array-string.parser.js +0 -96
  67. package/dist/lib/core/parsers/array-string.parser.js.map +0 -1
  68. package/dist/lib/core/parsers/index.d.ts +0 -11
  69. package/dist/lib/core/parsers/index.js +0 -11
  70. package/dist/lib/core/parsers/index.js.map +0 -1
  71. package/dist/lib/core/parsers/nama.parser.d.ts +0 -34
  72. package/dist/lib/core/parsers/nama.parser.js +0 -75
  73. package/dist/lib/core/parsers/nama.parser.js.map +0 -1
  74. package/dist/lib/core/parsers/parser.d.ts +0 -29
  75. package/dist/lib/core/parsers/parser.js +0 -3
  76. package/dist/lib/core/parsers/parser.js.map +0 -1
  77. package/dist/lib/core/parsers/string.parser.d.ts +0 -61
  78. package/dist/lib/core/parsers/string.parser.js +0 -63
  79. package/dist/lib/core/parsers/string.parser.js.map +0 -1
  80. package/dist/lib/core/utils/utils.d.ts +0 -14
  81. package/dist/lib/core/utils/utils.js +0 -67
  82. package/dist/lib/core/utils/utils.js.map +0 -1
  83. package/dist/lib/models/enums.d.ts +0 -91
  84. package/dist/lib/models/enums.js +0 -98
  85. package/dist/lib/models/enums.js.map +0 -1
  86. package/dist/lib/models/firstname.d.ts +0 -41
  87. package/dist/lib/models/firstname.js +0 -59
  88. package/dist/lib/models/firstname.js.map +0 -1
  89. package/dist/lib/models/index.d.ts +0 -12
  90. package/dist/lib/models/index.js +0 -15
  91. package/dist/lib/models/index.js.map +0 -1
  92. package/dist/lib/models/lastname.d.ts +0 -44
  93. package/dist/lib/models/lastname.js +0 -86
  94. package/dist/lib/models/lastname.js.map +0 -1
  95. package/dist/lib/models/misc.d.ts +0 -80
  96. package/dist/lib/models/misc.js +0 -3
  97. package/dist/lib/models/misc.js.map +0 -1
  98. package/dist/lib/models/name.d.ts +0 -48
  99. package/dist/lib/models/name.js +0 -72
  100. package/dist/lib/models/name.js.map +0 -1
  101. package/dist/lib/models/summary.d.ts +0 -23
  102. package/dist/lib/models/summary.js +0 -60
  103. package/dist/lib/models/summary.js.map +0 -1
  104. package/dist/lib/src/core/constants.d.ts +0 -26
  105. package/dist/lib/src/core/index.d.ts +0 -9
  106. package/dist/lib/src/core/parsers/array-name.parser.d.ts +0 -42
  107. package/dist/lib/src/core/parsers/array-string.parser.d.ts +0 -48
  108. package/dist/lib/src/core/parsers/index.d.ts +0 -11
  109. package/dist/lib/src/core/parsers/nama.parser.d.ts +0 -34
  110. package/dist/lib/src/core/parsers/parser.d.ts +0 -29
  111. package/dist/lib/src/core/parsers/string.parser.d.ts +0 -61
  112. package/dist/lib/src/core/utils/utils.d.ts +0 -14
  113. package/dist/lib/src/models/enums.d.ts +0 -91
  114. package/dist/lib/src/models/firstname.d.ts +0 -41
  115. package/dist/lib/src/models/index.d.ts +0 -12
  116. package/dist/lib/src/models/lastname.d.ts +0 -44
  117. package/dist/lib/src/models/misc.d.ts +0 -80
  118. package/dist/lib/src/models/name.d.ts +0 -48
  119. package/dist/lib/src/models/summary.d.ts +0 -23
  120. package/dist/lib/src/validators/array-name.validator.d.ts +0 -25
  121. package/dist/lib/src/validators/array-string.validator.d.ts +0 -43
  122. package/dist/lib/src/validators/common/validation-error.d.ts +0 -19
  123. package/dist/lib/src/validators/common/validation-rule.d.ts +0 -69
  124. package/dist/lib/src/validators/common/validation-type.d.ts +0 -24
  125. package/dist/lib/src/validators/firstname.validator.d.ts +0 -20
  126. package/dist/lib/src/validators/fullname.validator.d.ts +0 -21
  127. package/dist/lib/src/validators/index.d.ts +0 -21
  128. package/dist/lib/src/validators/lastname.validator.d.ts +0 -20
  129. package/dist/lib/src/validators/middlename.validator.d.ts +0 -20
  130. package/dist/lib/src/validators/nama.validator.d.ts +0 -21
  131. package/dist/lib/src/validators/namon.validator.d.ts +0 -20
  132. package/dist/lib/src/validators/prefix.validator.d.ts +0 -14
  133. package/dist/lib/src/validators/string-name.validator.d.ts +0 -20
  134. package/dist/lib/src/validators/suffix.validator.d.ts +0 -14
  135. package/dist/lib/src/validators/validator.d.ts +0 -13
  136. package/dist/lib/usecases/compress.usecase.d.ts +0 -8
  137. package/dist/lib/usecases/constants.d.ts +0 -7
  138. package/dist/lib/usecases/describe.usecase.d.ts +0 -12
  139. package/dist/lib/usecases/format.usecase.d.ts +0 -6
  140. package/dist/lib/usecases/namefully.usecase.d.ts +0 -14
  141. package/dist/lib/usecases/shorten.usecase.d.ts +0 -6
  142. package/dist/lib/validators/array-name.validator.d.ts +0 -25
  143. package/dist/lib/validators/array-name.validator.js +0 -82
  144. package/dist/lib/validators/array-name.validator.js.map +0 -1
  145. package/dist/lib/validators/array-string.validator.d.ts +0 -43
  146. package/dist/lib/validators/array-string.validator.js +0 -80
  147. package/dist/lib/validators/array-string.validator.js.map +0 -1
  148. package/dist/lib/validators/common/validation-error.d.ts +0 -19
  149. package/dist/lib/validators/common/validation-error.js +0 -26
  150. package/dist/lib/validators/common/validation-error.js.map +0 -1
  151. package/dist/lib/validators/common/validation-rule.d.ts +0 -69
  152. package/dist/lib/validators/common/validation-rule.js +0 -73
  153. package/dist/lib/validators/common/validation-rule.js.map +0 -1
  154. package/dist/lib/validators/common/validation-type.d.ts +0 -24
  155. package/dist/lib/validators/common/validation-type.js +0 -28
  156. package/dist/lib/validators/common/validation-type.js.map +0 -1
  157. package/dist/lib/validators/firstname.validator.d.ts +0 -20
  158. package/dist/lib/validators/firstname.validator.js +0 -29
  159. package/dist/lib/validators/firstname.validator.js.map +0 -1
  160. package/dist/lib/validators/fullname.validator.d.ts +0 -21
  161. package/dist/lib/validators/fullname.validator.js +0 -38
  162. package/dist/lib/validators/fullname.validator.js.map +0 -1
  163. package/dist/lib/validators/index.d.ts +0 -21
  164. package/dist/lib/validators/index.js +0 -35
  165. package/dist/lib/validators/index.js.map +0 -1
  166. package/dist/lib/validators/lastname.validator.d.ts +0 -20
  167. package/dist/lib/validators/lastname.validator.js +0 -29
  168. package/dist/lib/validators/lastname.validator.js.map +0 -1
  169. package/dist/lib/validators/middlename.validator.d.ts +0 -20
  170. package/dist/lib/validators/middlename.validator.js +0 -38
  171. package/dist/lib/validators/middlename.validator.js.map +0 -1
  172. package/dist/lib/validators/nama.validator.d.ts +0 -21
  173. package/dist/lib/validators/nama.validator.js +0 -43
  174. package/dist/lib/validators/nama.validator.js.map +0 -1
  175. package/dist/lib/validators/namon.validator.d.ts +0 -20
  176. package/dist/lib/validators/namon.validator.js +0 -29
  177. package/dist/lib/validators/namon.validator.js.map +0 -1
  178. package/dist/lib/validators/prefix.validator.d.ts +0 -14
  179. package/dist/lib/validators/prefix.validator.js +0 -31
  180. package/dist/lib/validators/prefix.validator.js.map +0 -1
  181. package/dist/lib/validators/string-name.validator.d.ts +0 -20
  182. package/dist/lib/validators/string-name.validator.js +0 -29
  183. package/dist/lib/validators/string-name.validator.js.map +0 -1
  184. package/dist/lib/validators/suffix.validator.d.ts +0 -14
  185. package/dist/lib/validators/suffix.validator.js +0 -31
  186. package/dist/lib/validators/suffix.validator.js.map +0 -1
  187. package/dist/lib/validators/validator.d.ts +0 -13
  188. package/dist/lib/validators/validator.js +0 -9
  189. package/dist/lib/validators/validator.js.map +0 -1
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * First name validator
5
- *
6
- * Created on March 15, 2020
7
- * @author Ralph Florent <ralflornt@gmail.com>
8
- */
9
- const index_1 = require("./index");
10
- /**
11
- * Represents a first name validator
12
- * @class
13
- * @implements {Validator}
14
- */
15
- class FirstnameValidator {
16
- constructor() {
17
- this.type = index_1.ValidatorType.FIRST_NAME;
18
- }
19
- /**
20
- * Validates the content of a first name
21
- * @param {string} value data to validate
22
- */
23
- validate(value) {
24
- if (!index_1.ValidationRule.firstname.test(value))
25
- throw new index_1.ValidationError(`invalid string content '${value}'`, 'First name');
26
- }
27
- }
28
- exports.default = FirstnameValidator;
29
- //# sourceMappingURL=firstname.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firstname.validator.js","sourceRoot":"","sources":["../../../src/validators/firstname.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,mCAAoF;AAEpF;;;;GAIG;AACH,MAAqB,kBAAkB;IAAvC;QACa,SAAI,GAAkB,qBAAa,CAAC,UAAU,CAAC;IAS5D,CAAC;IARG;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,sBAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,IAAI,uBAAe,CAAC,2BAA2B,KAAK,GAAG,EAAE,YAAY,CAAC,CAAC;IACrF,CAAC;CACJ;AAVD,qCAUC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * `Fullname` validator
3
- *
4
- * Created on March 15, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- import { Fullname } from '../models/index';
8
- import { Validator, ValidatorType } from './index';
9
- /**
10
- * Represents a `Fullname` (JSON signature) validator for provided custom parser
11
- * @class
12
- * @implements {Validator}
13
- */
14
- export default class FullnameValidator implements Validator<Fullname> {
15
- readonly type: ValidatorType;
16
- /**
17
- * Validates that the `Fullname` contract is met
18
- * @param {Fullname} value data to validate
19
- */
20
- validate(v: Fullname): void;
21
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * `Fullname` validator
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("./index");
11
- /**
12
- * Represents a `Fullname` (JSON signature) validator for provided custom parser
13
- * @class
14
- * @implements {Validator}
15
- */
16
- class FullnameValidator {
17
- constructor() {
18
- this.type = index_2.ValidatorType.FULL_NAME;
19
- }
20
- /**
21
- * Validates that the `Fullname` contract is met
22
- * @param {Fullname} value data to validate
23
- */
24
- validate(v) {
25
- if (!v.firstname || !(v.firstname instanceof index_1.Firstname))
26
- throw new index_2.ValidationError('first name is corrupted', 'Fullname');
27
- if (!v.lastname || !(v.lastname instanceof index_1.Lastname))
28
- throw new index_2.ValidationError('last name is corrupted', 'Fullname');
29
- if (v.middlename && !(v.middlename instanceof Array))
30
- throw new index_2.ValidationError('middle name is corrupted', 'Fullname');
31
- if (v.prefix)
32
- new index_2.PrefixValidator().validate(v.prefix);
33
- if (v.suffix)
34
- new index_2.SuffixValidator().validate(v.suffix);
35
- }
36
- }
37
- exports.default = FullnameValidator;
38
- //# sourceMappingURL=fullname.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fullname.validator.js","sourceRoot":"","sources":["../../../src/validators/fullname.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,2CAAgE;AAChE,mCAAsG;AAEtG;;;;GAIG;AACH,MAAqB,iBAAiB;IAAtC;QACa,SAAI,GAAkB,qBAAa,CAAC,SAAS,CAAC;IAiB3D,CAAC;IAhBG;;;OAGG;IACH,QAAQ,CAAC,CAAW;QAChB,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,iBAAS,CAAC;YACnD,MAAM,IAAI,uBAAe,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,YAAY,gBAAQ,CAAC;YAChD,MAAM,IAAI,uBAAe,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,KAAK,CAAC;YAChD,MAAM,IAAI,uBAAe,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,CAAC,MAAM;YACR,IAAI,uBAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,CAAC,MAAM;YACR,IAAI,uBAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;CACJ;AAlBD,oCAkBC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Make all the locals available
3
- *
4
- * Created on March 06, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- export * from './common/validation-rule';
8
- export * from './common/validation-type';
9
- export * from './common/validation-error';
10
- export * from './validator';
11
- export { default as NamonValidator } from './namon.validator';
12
- export { default as PrefixValidator } from './prefix.validator';
13
- export { default as SuffixValidator } from './suffix.validator';
14
- export { default as FirstnameValidator } from './firstname.validator';
15
- export { default as LastnameValidator } from './lastname.validator';
16
- export { default as MiddlenameValidator } from './middlename.validator';
17
- export { default as FullnameValidator } from './fullname.validator';
18
- export { default as NamaValidator } from './nama.validator';
19
- export { default as ArrayNameValidator } from './array-name.validator';
20
- export { default as ArrayStringValidator } from './array-string.validator';
21
- export { default as StringNameValidator } from './string-name.validator';
@@ -1,35 +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("./common/validation-rule"), exports);
11
- tslib_1.__exportStar(require("./common/validation-type"), exports);
12
- tslib_1.__exportStar(require("./common/validation-error"), exports);
13
- var namon_validator_1 = require("./namon.validator");
14
- exports.NamonValidator = namon_validator_1.default;
15
- var prefix_validator_1 = require("./prefix.validator");
16
- exports.PrefixValidator = prefix_validator_1.default;
17
- var suffix_validator_1 = require("./suffix.validator");
18
- exports.SuffixValidator = suffix_validator_1.default;
19
- var firstname_validator_1 = require("./firstname.validator");
20
- exports.FirstnameValidator = firstname_validator_1.default;
21
- var lastname_validator_1 = require("./lastname.validator");
22
- exports.LastnameValidator = lastname_validator_1.default;
23
- var middlename_validator_1 = require("./middlename.validator");
24
- exports.MiddlenameValidator = middlename_validator_1.default;
25
- var fullname_validator_1 = require("./fullname.validator");
26
- exports.FullnameValidator = fullname_validator_1.default;
27
- var nama_validator_1 = require("./nama.validator");
28
- exports.NamaValidator = nama_validator_1.default;
29
- var array_name_validator_1 = require("./array-name.validator");
30
- exports.ArrayNameValidator = array_name_validator_1.default;
31
- var array_string_validator_1 = require("./array-string.validator");
32
- exports.ArrayStringValidator = array_string_validator_1.default;
33
- var string_name_validator_1 = require("./string-name.validator");
34
- exports.StringNameValidator = string_name_validator_1.default;
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validators/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mEAAyC;AACzC,mEAAyC;AACzC,oEAA0C;AAG1C,qDAA8D;AAArD,2CAAA,OAAO,CAAkB;AAClC,uDAAgE;AAAvD,6CAAA,OAAO,CAAmB;AACnC,uDAAgE;AAAvD,6CAAA,OAAO,CAAmB;AACnC,6DAAsE;AAA7D,mDAAA,OAAO,CAAsB;AACtC,2DAAoE;AAA3D,iDAAA,OAAO,CAAqB;AACrC,+DAAwE;AAA/D,qDAAA,OAAO,CAAuB;AACvC,2DAAoE;AAA3D,iDAAA,OAAO,CAAqB;AACrC,mDAA4D;AAAnD,yCAAA,OAAO,CAAiB;AAEjC,+DAAsE;AAA9D,oDAAA,OAAO,CAAsB;AACrC,mEAA0E;AAAlE,wDAAA,OAAO,CAAwB;AACvC,iEAAwE;AAAhE,sDAAA,OAAO,CAAuB"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Last name validator
3
- *
4
- * Created on March 15, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- import { Validator, ValidatorType } from './index';
8
- /**
9
- * Represents a last name validator
10
- * @class
11
- * @implements {Validator}
12
- */
13
- export default class LastnameValidator implements Validator<string> {
14
- readonly type: ValidatorType;
15
- /**
16
- * Validates the content of a last name
17
- * @param {string} value data to validate
18
- */
19
- validate(value: string): void;
20
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Last name validator
5
- *
6
- * Created on March 15, 2020
7
- * @author Ralph Florent <ralflornt@gmail.com>
8
- */
9
- const index_1 = require("./index");
10
- /**
11
- * Represents a last name validator
12
- * @class
13
- * @implements {Validator}
14
- */
15
- class LastnameValidator {
16
- constructor() {
17
- this.type = index_1.ValidatorType.LAST_NAME;
18
- }
19
- /**
20
- * Validates the content of a last name
21
- * @param {string} value data to validate
22
- */
23
- validate(value) {
24
- if (!index_1.ValidationRule.lastname.test(value))
25
- throw new index_1.ValidationError(`invalid string content '${value}'`, 'Last name');
26
- }
27
- }
28
- exports.default = LastnameValidator;
29
- //# sourceMappingURL=lastname.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lastname.validator.js","sourceRoot":"","sources":["../../../src/validators/lastname.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,mCAAoF;AAEpF;;;;GAIG;AACH,MAAqB,iBAAiB;IAAtC;QACa,SAAI,GAAkB,qBAAa,CAAC,SAAS,CAAC;IAS3D,CAAC;IARG;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,sBAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,MAAM,IAAI,uBAAe,CAAC,2BAA2B,KAAK,GAAG,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;CACJ;AAVD,oCAUC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Middle name validator
3
- *
4
- * Created on March 15, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- import { Validator, ValidatorType } from './index';
8
- /**
9
- * Represents a middle name validator
10
- * @class
11
- * @implements {Validator}
12
- */
13
- export default class MiddlenameValidator implements Validator<string | string[]> {
14
- readonly type: ValidatorType;
15
- /**
16
- * Validates the content of a list of middle names
17
- * @param {string | Array<string>} values to validate
18
- */
19
- validate(values: string | string[]): void;
20
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Middle name validator
5
- *
6
- * Created on March 15, 2020
7
- * @author Ralph Florent <ralflornt@gmail.com>
8
- */
9
- const index_1 = require("./index");
10
- /**
11
- * Represents a middle name validator
12
- * @class
13
- * @implements {Validator}
14
- */
15
- class MiddlenameValidator {
16
- constructor() {
17
- this.type = index_1.ValidatorType.MIDDLE_NAME;
18
- }
19
- /**
20
- * Validates the content of a list of middle names
21
- * @param {string | Array<string>} values to validate
22
- */
23
- validate(values) {
24
- if (typeof values === 'string') {
25
- if (!index_1.ValidationRule.middlename.test(values))
26
- throw new index_1.ValidationError(`invalid string content '${values}'`, 'Middle name');
27
- }
28
- else if (values instanceof Array) {
29
- const namonValidator = new index_1.NamonValidator();
30
- values.forEach(v => namonValidator.validate(v));
31
- }
32
- else {
33
- throw new Error('Expecting string or Array<string> type');
34
- }
35
- }
36
- }
37
- exports.default = MiddlenameValidator;
38
- //# sourceMappingURL=middlename.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlename.validator.js","sourceRoot":"","sources":["../../../src/validators/middlename.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,mCAAoG;AAEpG;;;;GAIG;AACH,MAAqB,mBAAmB;IAAxC;QACa,SAAI,GAAkB,qBAAa,CAAC,WAAW,CAAC;IAiB7D,CAAC;IAhBG;;;OAGG;IACH,QAAQ,CAAC,MAAyB;QAE9B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,sBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvC,MAAM,IAAI,uBAAe,CAAC,2BAA2B,MAAM,GAAG,EAAE,aAAa,CAAC,CAAC;SACtF;aAAM,IAAI,MAAM,YAAY,KAAK,EAAE;YAChC,MAAM,cAAc,GAAG,IAAI,sBAAc,EAAE,CAAC;YAC3C,MAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC7D;IACL,CAAC;CACJ;AAlBD,sCAkBC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Nama validator
3
- *
4
- * Created on March 15, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- import { Nama } from '../models/index';
8
- import { Validator, ValidatorType } from './index';
9
- /**
10
- * Represents a `Nama` validator to help the nama parser
11
- * @class
12
- * @implements {Validator}
13
- */
14
- export default class NamaValidator implements Validator<Nama> {
15
- readonly type: ValidatorType;
16
- /**
17
- * Validates the content of a JSON-formatted names
18
- * @param {string} value data to validate
19
- */
20
- validate(value: Nama): void;
21
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Nama validator
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("./index");
11
- /**
12
- * Represents a `Nama` validator to help the nama parser
13
- * @class
14
- * @implements {Validator}
15
- */
16
- class NamaValidator {
17
- constructor() {
18
- this.type = index_2.ValidatorType.NAMA;
19
- }
20
- /**
21
- * Validates the content of a JSON-formatted names
22
- * @param {string} value data to validate
23
- */
24
- validate(value) {
25
- const entries = Object.entries(value);
26
- if (entries.length <= 1 && entries.length > 5)
27
- throw new index_2.ValidationError('incomplete JSON object', 'Nama');
28
- const validators = {
29
- [index_1.Namon.PREFIX]: new index_2.PrefixValidator(),
30
- [index_1.Namon.FIRST_NAME]: new index_2.FirstnameValidator(),
31
- [index_1.Namon.MIDDLE_NAME]: new index_2.MiddlenameValidator(),
32
- [index_1.Namon.LAST_NAME]: new index_2.LastnameValidator(),
33
- [index_1.Namon.SUFFIX]: new index_2.SuffixValidator(),
34
- };
35
- for (const entry of entries) {
36
- const k = entry[0];
37
- const v = entry[1];
38
- validators[k].validate(v);
39
- }
40
- }
41
- }
42
- exports.default = NamaValidator;
43
- //# sourceMappingURL=nama.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nama.validator.js","sourceRoot":"","sources":["../../../src/validators/nama.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,2CAA8C;AAC9C,mCAGiB;AAEjB;;;;GAIG;AACH,MAAqB,aAAa;IAAlC;QACa,SAAI,GAAkB,qBAAa,CAAC,IAAI,CAAC;IAwBtD,CAAC;IAvBG;;;OAGG;IACH,QAAQ,CAAC,KAAW;QAEhB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACzC,MAAM,IAAI,uBAAe,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;QAE/D,MAAM,UAAU,GAAG;YACf,CAAC,aAAK,CAAC,MAAM,CAAC,EAAE,IAAI,uBAAe,EAAE;YACrC,CAAC,aAAK,CAAC,UAAU,CAAC,EAAE,IAAI,0BAAkB,EAAE;YAC5C,CAAC,aAAK,CAAC,WAAW,CAAC,EAAE,IAAI,2BAAmB,EAAE;YAC9C,CAAC,aAAK,CAAC,SAAS,CAAC,EAAE,IAAI,yBAAiB,EAAE;YAC1C,CAAC,aAAK,CAAC,MAAM,CAAC,EAAE,IAAI,uBAAe,EAAE;SACxC,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAe,CAAC;YACjC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;YAC7B,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC7B;IACL,CAAC;CACJ;AAzBD,gCAyBC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Namon validator
3
- *
4
- * Created on March 15, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- import { Validator, ValidatorType } from './index';
8
- /**
9
- * Represents a namon validator to help to parse single pieces of string
10
- * @class
11
- * @implements {Validator}
12
- */
13
- export default class NamonValidator implements Validator<string> {
14
- readonly type: ValidatorType;
15
- /**
16
- * Validates the content of a name
17
- * @param {string} value data to validate
18
- */
19
- validate(value: string): void;
20
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Namon validator
5
- *
6
- * Created on March 15, 2020
7
- * @author Ralph Florent <ralflornt@gmail.com>
8
- */
9
- const index_1 = require("./index");
10
- /**
11
- * Represents a namon validator to help to parse single pieces of string
12
- * @class
13
- * @implements {Validator}
14
- */
15
- class NamonValidator {
16
- constructor() {
17
- this.type = index_1.ValidatorType.NAMON;
18
- }
19
- /**
20
- * Validates the content of a name
21
- * @param {string} value data to validate
22
- */
23
- validate(value) {
24
- if (!index_1.ValidationRule.namon.test(value))
25
- throw new index_1.ValidationError(`invalid string content '${value}'`, 'Name');
26
- }
27
- }
28
- exports.default = NamonValidator;
29
- //# sourceMappingURL=namon.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"namon.validator.js","sourceRoot":"","sources":["../../../src/validators/namon.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,mCAAoF;AAEpF;;;;GAIG;AACH,MAAqB,cAAc;IAAnC;QACa,SAAI,GAAkB,qBAAa,CAAC,KAAK,CAAC;IASvD,CAAC;IARG;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,sBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,MAAM,IAAI,uBAAe,CAAC,2BAA2B,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;CACJ;AAVD,iCAUC"}
@@ -1,14 +0,0 @@
1
- import { Validator, ValidatorType } from './index';
2
- /**
3
- * Represents a prefix validator
4
- * @class
5
- * @implements {Validator}
6
- */
7
- export default class PrefixValidator implements Validator<string> {
8
- readonly type: ValidatorType;
9
- /**
10
- * Validates the content of a prefix name
11
- * @param {string} value data to validate
12
- */
13
- validate(value: string): void;
14
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Prefix validator
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("./index");
11
- /**
12
- * Represents a prefix validator
13
- * @class
14
- * @implements {Validator}
15
- */
16
- class PrefixValidator {
17
- constructor() {
18
- this.type = index_2.ValidatorType.PREFIX;
19
- }
20
- /**
21
- * Validates the content of a prefix name
22
- * @param {string} value data to validate
23
- */
24
- validate(value) {
25
- const prefixes = Object.entries(index_1.Prefix).map(e => e[1].toLowerCase()); // values
26
- if (prefixes.indexOf(value.toLowerCase()) === -1)
27
- throw new index_2.ValidationError(`unknown value '${value}'`, 'Prefix');
28
- }
29
- }
30
- exports.default = PrefixValidator;
31
- //# sourceMappingURL=prefix.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix.validator.js","sourceRoot":"","sources":["../../../src/validators/prefix.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,2CAAyC;AACzC,mCAAoE;AAEpE;;;;GAIG;AACH,MAAqB,eAAe;IAApC;QACa,SAAI,GAAkB,qBAAa,CAAC,MAAM,CAAC;IAUxD,CAAC;IATG;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,MAAM,QAAQ,GAAkB,MAAM,CAAC,OAAO,CAAC,cAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9F,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,IAAI,uBAAe,CAAC,kBAAkB,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;CACJ;AAXD,kCAWC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * String of full name validator
3
- *
4
- * Created on March 15, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- import { Validator, ValidatorType } from './index';
8
- /**
9
- * Represents a string full name validator
10
- * @class
11
- * @implements {Validator}
12
- */
13
- export default class StringNameValidator implements Validator<string> {
14
- readonly type: ValidatorType;
15
- /**
16
- * Validates the content of a name
17
- * @param {string} value data to validate
18
- */
19
- validate(value: string): void;
20
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * String of full name validator
5
- *
6
- * Created on March 15, 2020
7
- * @author Ralph Florent <ralflornt@gmail.com>
8
- */
9
- const index_1 = require("./index");
10
- /**
11
- * Represents a string full name validator
12
- * @class
13
- * @implements {Validator}
14
- */
15
- class StringNameValidator {
16
- constructor() {
17
- this.type = index_1.ValidatorType.FULL_NAME;
18
- }
19
- /**
20
- * Validates the content of a name
21
- * @param {string} value data to validate
22
- */
23
- validate(value) {
24
- if (!index_1.ValidationRule.fullname.test(value))
25
- throw new index_1.ValidationError(`invalid string content '${value}'`, 'Full name');
26
- }
27
- }
28
- exports.default = StringNameValidator;
29
- //# sourceMappingURL=string-name.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string-name.validator.js","sourceRoot":"","sources":["../../../src/validators/string-name.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,mCAAoF;AAEpF;;;;GAIG;AACH,MAAqB,mBAAmB;IAAxC;QACa,SAAI,GAAkB,qBAAa,CAAC,SAAS,CAAC;IAS3D,CAAC;IARG;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,sBAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,MAAM,IAAI,uBAAe,CAAC,2BAA2B,KAAK,GAAG,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;CACJ;AAVD,sCAUC"}
@@ -1,14 +0,0 @@
1
- import { Validator, ValidatorType } from './index';
2
- /**
3
- * Represents a suffix validator
4
- * @class
5
- * @implements {Validator}
6
- */
7
- export default class SuffixValidator implements Validator<string> {
8
- readonly type: ValidatorType;
9
- /**
10
- * Validates the content of a suffix name
11
- * @param {string} value data to validate
12
- */
13
- validate(value: string): void;
14
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Suffix validator
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("./index");
11
- /**
12
- * Represents a suffix validator
13
- * @class
14
- * @implements {Validator}
15
- */
16
- class SuffixValidator {
17
- constructor() {
18
- this.type = index_2.ValidatorType.SUFFIX;
19
- }
20
- /**
21
- * Validates the content of a suffix name
22
- * @param {string} value data to validate
23
- */
24
- validate(value) {
25
- const suffixes = Object.entries(index_1.Suffix).map(e => e[1].toLowerCase()); // values
26
- if (suffixes.indexOf(value.toLowerCase()) === -1)
27
- throw new index_2.ValidationError(`unknown value '${value}'`, 'Suffix');
28
- }
29
- }
30
- exports.default = SuffixValidator;
31
- //# sourceMappingURL=suffix.validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suffix.validator.js","sourceRoot":"","sources":["../../../src/validators/suffix.validator.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,2CAAyC;AACzC,mCAAoE;AAEpE;;;;GAIG;AACH,MAAqB,eAAe;IAApC;QACa,SAAI,GAAkB,qBAAa,CAAC,MAAM,CAAC;IAUxD,CAAC;IATG;;;OAGG;IACH,QAAQ,CAAC,KAAa;QAClB,MAAM,QAAQ,GAAkB,MAAM,CAAC,OAAO,CAAC,cAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9F,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,IAAI,uBAAe,CAAC,kBAAkB,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;CACJ;AAXD,kCAWC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * A `Validator` contract
3
- *
4
- * Created on March 06, 2020
5
- * @author Ralph Florent <ralflornt@gmail.com>
6
- */
7
- /**
8
- * Interface for a JSON signature that represents a generic validator
9
- * @interface
10
- */
11
- export interface Validator<T> {
12
- validate(value: T): void;
13
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- /**
3
- * A `Validator` contract
4
- *
5
- * Created on March 06, 2020
6
- * @author Ralph Florent <ralflornt@gmail.com>
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/validators/validator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}