@aidc-toolkit/gs1 1.0.42-beta → 1.0.43

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 (227) hide show
  1. package/dist/index.cjs +19 -0
  2. package/dist/index.d.cts +2205 -0
  3. package/dist/index.d.ts +2205 -63
  4. package/dist/index.js +3 -36
  5. package/package.json +4 -4
  6. package/src/gcp-length.ts +55 -18
  7. package/test/gcp-length.test.ts +12 -7
  8. package/tsconfig-src.tsbuildinfo +1 -1
  9. package/dist/abstract-identifier-creator.d.ts +0 -41
  10. package/dist/abstract-identifier-creator.d.ts.map +0 -1
  11. package/dist/abstract-identifier-creator.js +0 -73
  12. package/dist/abstract-identifier-creator.js.map +0 -1
  13. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts +0 -36
  14. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts.map +0 -1
  15. package/dist/abstract-non-gtin-numeric-identifier-creator.js +0 -37
  16. package/dist/abstract-non-gtin-numeric-identifier-creator.js.map +0 -1
  17. package/dist/abstract-numeric-identifier-creator.d.ts +0 -34
  18. package/dist/abstract-numeric-identifier-creator.d.ts.map +0 -1
  19. package/dist/abstract-numeric-identifier-creator.js +0 -154
  20. package/dist/abstract-numeric-identifier-creator.js.map +0 -1
  21. package/dist/character-set.d.ts +0 -27
  22. package/dist/character-set.d.ts.map +0 -1
  23. package/dist/character-set.js +0 -83
  24. package/dist/character-set.js.map +0 -1
  25. package/dist/check.d.ts +0 -81
  26. package/dist/check.d.ts.map +0 -1
  27. package/dist/check.js +0 -218
  28. package/dist/check.js.map +0 -1
  29. package/dist/content-character-set-creators.d.ts +0 -4
  30. package/dist/content-character-set-creators.d.ts.map +0 -1
  31. package/dist/content-character-set-creators.js +0 -9
  32. package/dist/content-character-set-creators.js.map +0 -1
  33. package/dist/content-character-set.d.ts +0 -26
  34. package/dist/content-character-set.d.ts.map +0 -1
  35. package/dist/content-character-set.js +0 -18
  36. package/dist/content-character-set.js.map +0 -1
  37. package/dist/gcp-length-cache.d.ts +0 -86
  38. package/dist/gcp-length-cache.d.ts.map +0 -1
  39. package/dist/gcp-length-cache.js +0 -237
  40. package/dist/gcp-length-cache.js.map +0 -1
  41. package/dist/gcp-length-data.d.ts +0 -108
  42. package/dist/gcp-length-data.d.ts.map +0 -1
  43. package/dist/gcp-length-data.js +0 -53
  44. package/dist/gcp-length-data.js.map +0 -1
  45. package/dist/gcp-length-tree.d.ts +0 -33
  46. package/dist/gcp-length-tree.d.ts.map +0 -1
  47. package/dist/gcp-length-tree.js +0 -13
  48. package/dist/gcp-length-tree.js.map +0 -1
  49. package/dist/gcp-length.d.ts +0 -75
  50. package/dist/gcp-length.d.ts.map +0 -1
  51. package/dist/gcp-length.js +0 -357
  52. package/dist/gcp-length.js.map +0 -1
  53. package/dist/gtin-creator.d.ts +0 -47
  54. package/dist/gtin-creator.d.ts.map +0 -1
  55. package/dist/gtin-creator.js +0 -64
  56. package/dist/gtin-creator.js.map +0 -1
  57. package/dist/gtin-descriptor.d.ts +0 -22
  58. package/dist/gtin-descriptor.d.ts.map +0 -1
  59. package/dist/gtin-descriptor.js +0 -2
  60. package/dist/gtin-descriptor.js.map +0 -1
  61. package/dist/gtin-length.d.ts +0 -64
  62. package/dist/gtin-length.d.ts.map +0 -1
  63. package/dist/gtin-length.js +0 -36
  64. package/dist/gtin-length.js.map +0 -1
  65. package/dist/gtin-type.d.ts +0 -26
  66. package/dist/gtin-type.d.ts.map +0 -1
  67. package/dist/gtin-type.js +0 -7
  68. package/dist/gtin-type.js.map +0 -1
  69. package/dist/gtin-validator.d.ts +0 -132
  70. package/dist/gtin-validator.d.ts.map +0 -1
  71. package/dist/gtin-validator.js +0 -349
  72. package/dist/gtin-validator.js.map +0 -1
  73. package/dist/identifier-creator.d.ts +0 -31
  74. package/dist/identifier-creator.d.ts.map +0 -1
  75. package/dist/identifier-creator.js +0 -2
  76. package/dist/identifier-creator.js.map +0 -1
  77. package/dist/identifier-creators.d.ts +0 -118
  78. package/dist/identifier-creators.d.ts.map +0 -1
  79. package/dist/identifier-creators.js +0 -92
  80. package/dist/identifier-creators.js.map +0 -1
  81. package/dist/identifier-descriptor.d.ts +0 -27
  82. package/dist/identifier-descriptor.d.ts.map +0 -1
  83. package/dist/identifier-descriptor.js +0 -2
  84. package/dist/identifier-descriptor.js.map +0 -1
  85. package/dist/identifier-descriptors.d.ts +0 -106
  86. package/dist/identifier-descriptors.d.ts.map +0 -1
  87. package/dist/identifier-descriptors.js +0 -262
  88. package/dist/identifier-descriptors.js.map +0 -1
  89. package/dist/identifier-extension.d.ts +0 -82
  90. package/dist/identifier-extension.d.ts.map +0 -1
  91. package/dist/identifier-extension.js +0 -79
  92. package/dist/identifier-extension.js.map +0 -1
  93. package/dist/identifier-type.d.ts +0 -62
  94. package/dist/identifier-type.d.ts.map +0 -1
  95. package/dist/identifier-type.js +0 -54
  96. package/dist/identifier-type.js.map +0 -1
  97. package/dist/identifier-validator.d.ts +0 -85
  98. package/dist/identifier-validator.d.ts.map +0 -1
  99. package/dist/identifier-validator.js +0 -107
  100. package/dist/identifier-validator.js.map +0 -1
  101. package/dist/identifier-validators.d.ts +0 -131
  102. package/dist/identifier-validators.d.ts.map +0 -1
  103. package/dist/identifier-validators.js +0 -167
  104. package/dist/identifier-validators.js.map +0 -1
  105. package/dist/index.d.ts.map +0 -1
  106. package/dist/index.js.map +0 -1
  107. package/dist/leader-type.d.ts +0 -26
  108. package/dist/leader-type.d.ts.map +0 -1
  109. package/dist/leader-type.js +0 -18
  110. package/dist/leader-type.js.map +0 -1
  111. package/dist/locale/en/locale-resources.d.ts +0 -48
  112. package/dist/locale/en/locale-resources.d.ts.map +0 -1
  113. package/dist/locale/en/locale-resources.js +0 -47
  114. package/dist/locale/en/locale-resources.js.map +0 -1
  115. package/dist/locale/fr/locale-resources.d.ts +0 -48
  116. package/dist/locale/fr/locale-resources.d.ts.map +0 -1
  117. package/dist/locale/fr/locale-resources.js +0 -47
  118. package/dist/locale/fr/locale-resources.js.map +0 -1
  119. package/dist/locale/i18n.d.ts +0 -27
  120. package/dist/locale/i18n.d.ts.map +0 -1
  121. package/dist/locale/i18n.js +0 -35
  122. package/dist/locale/i18n.js.map +0 -1
  123. package/dist/non-gtin-numeric-identifier-creator.d.ts +0 -12
  124. package/dist/non-gtin-numeric-identifier-creator.d.ts.map +0 -1
  125. package/dist/non-gtin-numeric-identifier-creator.js +0 -2
  126. package/dist/non-gtin-numeric-identifier-creator.js.map +0 -1
  127. package/dist/non-gtin-numeric-identifier-descriptor.d.ts +0 -22
  128. package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +0 -1
  129. package/dist/non-gtin-numeric-identifier-descriptor.js +0 -2
  130. package/dist/non-gtin-numeric-identifier-descriptor.js.map +0 -1
  131. package/dist/non-gtin-numeric-identifier-type.d.ts +0 -26
  132. package/dist/non-gtin-numeric-identifier-type.d.ts.map +0 -1
  133. package/dist/non-gtin-numeric-identifier-type.js +0 -8
  134. package/dist/non-gtin-numeric-identifier-type.js.map +0 -1
  135. package/dist/non-gtin-numeric-identifier-validator.d.ts +0 -12
  136. package/dist/non-gtin-numeric-identifier-validator.d.ts.map +0 -1
  137. package/dist/non-gtin-numeric-identifier-validator.js +0 -10
  138. package/dist/non-gtin-numeric-identifier-validator.js.map +0 -1
  139. package/dist/non-numeric-identifier-creator.d.ts +0 -40
  140. package/dist/non-numeric-identifier-creator.d.ts.map +0 -1
  141. package/dist/non-numeric-identifier-creator.js +0 -82
  142. package/dist/non-numeric-identifier-creator.js.map +0 -1
  143. package/dist/non-numeric-identifier-descriptor.d.ts +0 -26
  144. package/dist/non-numeric-identifier-descriptor.d.ts.map +0 -1
  145. package/dist/non-numeric-identifier-descriptor.js +0 -2
  146. package/dist/non-numeric-identifier-descriptor.js.map +0 -1
  147. package/dist/non-numeric-identifier-type.d.ts +0 -26
  148. package/dist/non-numeric-identifier-type.d.ts.map +0 -1
  149. package/dist/non-numeric-identifier-type.js +0 -8
  150. package/dist/non-numeric-identifier-type.js.map +0 -1
  151. package/dist/non-numeric-identifier-validator.d.ts +0 -41
  152. package/dist/non-numeric-identifier-validator.d.ts.map +0 -1
  153. package/dist/non-numeric-identifier-validator.js +0 -69
  154. package/dist/non-numeric-identifier-validator.js.map +0 -1
  155. package/dist/non-serializable-numeric-identifier-creator.d.ts +0 -10
  156. package/dist/non-serializable-numeric-identifier-creator.d.ts.map +0 -1
  157. package/dist/non-serializable-numeric-identifier-creator.js +0 -8
  158. package/dist/non-serializable-numeric-identifier-creator.js.map +0 -1
  159. package/dist/non-serializable-numeric-identifier-descriptor.d.ts +0 -12
  160. package/dist/non-serializable-numeric-identifier-descriptor.d.ts.map +0 -1
  161. package/dist/non-serializable-numeric-identifier-descriptor.js +0 -2
  162. package/dist/non-serializable-numeric-identifier-descriptor.js.map +0 -1
  163. package/dist/non-serializable-numeric-identifier-type.d.ts +0 -26
  164. package/dist/non-serializable-numeric-identifier-type.d.ts.map +0 -1
  165. package/dist/non-serializable-numeric-identifier-type.js +0 -7
  166. package/dist/non-serializable-numeric-identifier-type.js.map +0 -1
  167. package/dist/non-serializable-numeric-identifier-validator.d.ts +0 -16
  168. package/dist/non-serializable-numeric-identifier-validator.d.ts.map +0 -1
  169. package/dist/non-serializable-numeric-identifier-validator.js +0 -17
  170. package/dist/non-serializable-numeric-identifier-validator.js.map +0 -1
  171. package/dist/numeric-identifier-creator.d.ts +0 -53
  172. package/dist/numeric-identifier-creator.d.ts.map +0 -1
  173. package/dist/numeric-identifier-creator.js +0 -2
  174. package/dist/numeric-identifier-creator.js.map +0 -1
  175. package/dist/numeric-identifier-descriptor.d.ts +0 -22
  176. package/dist/numeric-identifier-descriptor.d.ts.map +0 -1
  177. package/dist/numeric-identifier-descriptor.js +0 -2
  178. package/dist/numeric-identifier-descriptor.js.map +0 -1
  179. package/dist/numeric-identifier-type.d.ts +0 -26
  180. package/dist/numeric-identifier-type.d.ts.map +0 -1
  181. package/dist/numeric-identifier-type.js +0 -7
  182. package/dist/numeric-identifier-type.js.map +0 -1
  183. package/dist/numeric-identifier-validator.d.ts +0 -38
  184. package/dist/numeric-identifier-validator.d.ts.map +0 -1
  185. package/dist/numeric-identifier-validator.js +0 -61
  186. package/dist/numeric-identifier-validator.js.map +0 -1
  187. package/dist/prefix-manager.d.ts +0 -151
  188. package/dist/prefix-manager.d.ts.map +0 -1
  189. package/dist/prefix-manager.js +0 -297
  190. package/dist/prefix-manager.js.map +0 -1
  191. package/dist/prefix-provider.d.ts +0 -27
  192. package/dist/prefix-provider.d.ts.map +0 -1
  193. package/dist/prefix-provider.js +0 -2
  194. package/dist/prefix-provider.js.map +0 -1
  195. package/dist/prefix-type.d.ts +0 -26
  196. package/dist/prefix-type.d.ts.map +0 -1
  197. package/dist/prefix-type.js +0 -18
  198. package/dist/prefix-type.js.map +0 -1
  199. package/dist/prefix-validator.d.ts +0 -71
  200. package/dist/prefix-validator.d.ts.map +0 -1
  201. package/dist/prefix-validator.js +0 -204
  202. package/dist/prefix-validator.js.map +0 -1
  203. package/dist/serializable-numeric-identifier-creator.d.ts +0 -48
  204. package/dist/serializable-numeric-identifier-creator.d.ts.map +0 -1
  205. package/dist/serializable-numeric-identifier-creator.js +0 -93
  206. package/dist/serializable-numeric-identifier-creator.js.map +0 -1
  207. package/dist/serializable-numeric-identifier-descriptor.d.ts +0 -26
  208. package/dist/serializable-numeric-identifier-descriptor.d.ts.map +0 -1
  209. package/dist/serializable-numeric-identifier-descriptor.js +0 -2
  210. package/dist/serializable-numeric-identifier-descriptor.js.map +0 -1
  211. package/dist/serializable-numeric-identifier-type.d.ts +0 -26
  212. package/dist/serializable-numeric-identifier-type.d.ts.map +0 -1
  213. package/dist/serializable-numeric-identifier-type.js +0 -8
  214. package/dist/serializable-numeric-identifier-type.js.map +0 -1
  215. package/dist/serializable-numeric-identifier-validator.d.ts +0 -67
  216. package/dist/serializable-numeric-identifier-validator.d.ts.map +0 -1
  217. package/dist/serializable-numeric-identifier-validator.js +0 -97
  218. package/dist/serializable-numeric-identifier-validator.js.map +0 -1
  219. package/dist/variable-measure.d.ts +0 -68
  220. package/dist/variable-measure.d.ts.map +0 -1
  221. package/dist/variable-measure.js +0 -210
  222. package/dist/variable-measure.js.map +0 -1
  223. package/dist/verified-by-gs1.d.ts +0 -22
  224. package/dist/verified-by-gs1.d.ts.map +0 -1
  225. package/dist/verified-by-gs1.js +0 -46
  226. package/dist/verified-by-gs1.js.map +0 -1
  227. package/src/gcp-length-tree.ts +0 -39
@@ -1,18 +0,0 @@
1
- /**
2
- * Prefix types.
3
- */
4
- export const PrefixTypes = {
5
- /**
6
- * GS1 Company Prefix.
7
- */
8
- GS1CompanyPrefix: "GS1 Company Prefix",
9
- /**
10
- * U.P.C. Company Prefix.
11
- */
12
- UPCCompanyPrefix: "U.P.C. Company Prefix",
13
- /**
14
- * GS1-8 Prefix.
15
- */
16
- GS18Prefix: "GS1-8 Prefix"
17
- };
18
- //# sourceMappingURL=prefix-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-type.js","sourceRoot":"","sources":["../src/prefix-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB;;OAEG;IACH,gBAAgB,EAAE,oBAAoB;IAEtC;;OAEG;IACH,gBAAgB,EAAE,uBAAuB;IAEzC;;OAEG;IACH,UAAU,EAAE,cAAc;CACpB,CAAC"}
@@ -1,71 +0,0 @@
1
- import { type CharacterSetValidation } from "@aidc-toolkit/utility";
2
- import type { PrefixProvider } from "./prefix-provider.js";
3
- import { type PrefixType } from "./prefix-type.js";
4
- import type { ParseKeys } from "i18next";
5
- /**
6
- * Prefix validation parameters.
7
- */
8
- export interface PrefixValidation extends CharacterSetValidation {
9
- /**
10
- * Minimum length.
11
- */
12
- minimumLength: number;
13
- /**
14
- * Maximum length.
15
- */
16
- maximumLength: number;
17
- /**
18
- * Callback to localized prefix type name.
19
- */
20
- component: () => string;
21
- }
22
- /**
23
- * Prefix validator.
24
- */
25
- export declare const PrefixValidator: {
26
- readonly GS1_COMPANY_PREFIX_MINIMUM_LENGTH: 4;
27
- readonly GS1_COMPANY_PREFIX_MAXIMUM_LENGTH: 12;
28
- readonly UPC_COMPANY_PREFIX_MINIMUM_LENGTH: 5;
29
- readonly UPC_COMPANY_PREFIX_MAXIMUM_LENGTH: 11;
30
- readonly GS1_8_PREFIX_MINIMUM_LENGTH: 2;
31
- readonly GS1_8_PREFIX_MAXIMUM_LENGTH: 7;
32
- /**
33
- * Validate a prefix.
34
- *
35
- * @param prefixType
36
- * Prefix type.
37
- *
38
- * @param allowUPCCompanyPrefix
39
- * If true, a U.P.C. Company Prefix expressed as a GS1 Company Prefix is permitted.
40
- *
41
- * @param allowGS18Prefix
42
- * If true, a GS1-8 Prefix expressed as a GS1 Company Prefix is permitted.
43
- *
44
- * @param prefix
45
- * Prefix.
46
- *
47
- * @param isFromIdentifier
48
- * If true, the prefix is from an identifier and should be trimmed before its character set is validated.
49
- *
50
- * @param isNumericIdentifier
51
- * If true, the prefix is from a numeric identifier and its character set will be validated by the caller.
52
- *
53
- * @param errorMessageParseKey
54
- * Parse key for error message when validating GS1 Company Prefix type.
55
- */
56
- readonly validate: (prefixType: PrefixType, allowUPCCompanyPrefix: boolean, allowGS18Prefix: boolean, prefix: string, isFromIdentifier?: boolean, isNumericIdentifier?: boolean, errorMessageParseKey?: ParseKeys) => void;
57
- /**
58
- * Normalize a prefix.
59
- *
60
- * @param prefixType
61
- * Prefix type.
62
- *
63
- * @param prefix
64
- * Prefix.
65
- *
66
- * @returns
67
- * Prefix provider with normalized prefix type and prefix.
68
- */
69
- readonly normalize: (prefixType: PrefixType, prefix: string) => PrefixProvider;
70
- };
71
- //# sourceMappingURL=prefix-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-validator.d.ts","sourceRoot":"","sources":["../src/prefix-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAmB,MAAM,uBAAuB,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC5D;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,MAAM,CAAC;CAC3B;AA6ED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;IAQxB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;oCACkB,UAAU,yBAAyB,OAAO,mBAAmB,OAAO,UAAU,MAAM,oFAAgF,SAAS,KAAG,IAAI;IAmDzM;;;;;;;;;;;OAWG;qCACmB,UAAU,UAAU,MAAM,KAAG,cAAc;CAiD3D,CAAC"}
@@ -1,204 +0,0 @@
1
- import { NUMERIC_CREATOR } from "@aidc-toolkit/utility";
2
- import { i18nextGS1 } from "./locale/i18n.js";
3
- import { PrefixTypes } from "./prefix-type.js";
4
- /**
5
- * GS1 Company Prefix minimum length.
6
- */
7
- const GS1_COMPANY_PREFIX_MINIMUM_LENGTH = 4;
8
- /**
9
- * GS1 Company Prefix maximum length.
10
- */
11
- const GS1_COMPANY_PREFIX_MAXIMUM_LENGTH = 12;
12
- /**
13
- * U.P.C. Company Prefix minimum length.
14
- */
15
- const UPC_COMPANY_PREFIX_MINIMUM_LENGTH = 5;
16
- /**
17
- * U.P.C. Company Prefix maximum length.
18
- */
19
- const UPC_COMPANY_PREFIX_MAXIMUM_LENGTH = 11;
20
- /**
21
- * GS1-8 Prefix minimum length.
22
- */
23
- const GS1_8_PREFIX_MINIMUM_LENGTH = 2;
24
- /**
25
- * GS1-8 Prefix maximum length.
26
- */
27
- const GS1_8_PREFIX_MAXIMUM_LENGTH = 7;
28
- /**
29
- * Validation parameters for GS1 Company Prefix.
30
- */
31
- const GS1_COMPANY_PREFIX_VALIDATION = {
32
- minimumLength: GS1_COMPANY_PREFIX_MINIMUM_LENGTH,
33
- maximumLength: GS1_COMPANY_PREFIX_MAXIMUM_LENGTH,
34
- component: () => i18nextGS1.t("Prefix.gs1CompanyPrefix")
35
- };
36
- /**
37
- * Validation parameters for U.P.C. Company Prefix expressed as GS1 Company Prefix.
38
- */
39
- const UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION = {
40
- minimumLength: UPC_COMPANY_PREFIX_MINIMUM_LENGTH + 1,
41
- maximumLength: UPC_COMPANY_PREFIX_MAXIMUM_LENGTH + 1,
42
- component: () => i18nextGS1.t("Prefix.gs1CompanyPrefix")
43
- };
44
- /**
45
- * Validation parameters for GS1-8 Prefix expressed as GS1 Company Prefix.
46
- */
47
- const GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION = {
48
- minimumLength: GS1_8_PREFIX_MINIMUM_LENGTH + 5,
49
- maximumLength: GS1_8_PREFIX_MAXIMUM_LENGTH + 5,
50
- component: () => i18nextGS1.t("Prefix.gs1CompanyPrefix")
51
- };
52
- /**
53
- * Validation parameters for U.P.C. Company Prefix.
54
- */
55
- const UPC_COMPANY_PREFIX_VALIDATION = {
56
- minimumLength: UPC_COMPANY_PREFIX_MINIMUM_LENGTH,
57
- maximumLength: UPC_COMPANY_PREFIX_MAXIMUM_LENGTH,
58
- component: () => i18nextGS1.t("Prefix.upcCompanyPrefix")
59
- };
60
- /**
61
- * Validation parameters for GS1-8 Prefix.
62
- */
63
- const GS1_8_PREFIX_VALIDATION = {
64
- minimumLength: GS1_8_PREFIX_MINIMUM_LENGTH,
65
- maximumLength: GS1_8_PREFIX_MAXIMUM_LENGTH,
66
- component: () => i18nextGS1.t("Prefix.gs18Prefix")
67
- };
68
- /**
69
- * Prefix validator.
70
- */
71
- export const PrefixValidator = {
72
- GS1_COMPANY_PREFIX_MINIMUM_LENGTH,
73
- GS1_COMPANY_PREFIX_MAXIMUM_LENGTH,
74
- UPC_COMPANY_PREFIX_MINIMUM_LENGTH,
75
- UPC_COMPANY_PREFIX_MAXIMUM_LENGTH,
76
- GS1_8_PREFIX_MINIMUM_LENGTH,
77
- GS1_8_PREFIX_MAXIMUM_LENGTH,
78
- /**
79
- * Validate a prefix.
80
- *
81
- * @param prefixType
82
- * Prefix type.
83
- *
84
- * @param allowUPCCompanyPrefix
85
- * If true, a U.P.C. Company Prefix expressed as a GS1 Company Prefix is permitted.
86
- *
87
- * @param allowGS18Prefix
88
- * If true, a GS1-8 Prefix expressed as a GS1 Company Prefix is permitted.
89
- *
90
- * @param prefix
91
- * Prefix.
92
- *
93
- * @param isFromIdentifier
94
- * If true, the prefix is from an identifier and should be trimmed before its character set is validated.
95
- *
96
- * @param isNumericIdentifier
97
- * If true, the prefix is from a numeric identifier and its character set will be validated by the caller.
98
- *
99
- * @param errorMessageParseKey
100
- * Parse key for error message when validating GS1 Company Prefix type.
101
- */
102
- validate(prefixType, allowUPCCompanyPrefix, allowGS18Prefix, prefix, isFromIdentifier = false, isNumericIdentifier = false, errorMessageParseKey) {
103
- let validation;
104
- // Validate the prefix type and determine the prefix validation parameters.
105
- switch (prefixType) {
106
- case PrefixTypes.GS1CompanyPrefix:
107
- if (!prefix.startsWith("0")) {
108
- validation = GS1_COMPANY_PREFIX_VALIDATION;
109
- }
110
- else if (!prefix.startsWith("00000")) {
111
- if (!allowUPCCompanyPrefix) {
112
- throw new RangeError(i18nextGS1.t(errorMessageParseKey ?? "Prefix.gs1CompanyPrefixCantStartWith0"));
113
- }
114
- validation = UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION;
115
- }
116
- else if (!prefix.startsWith("000000")) {
117
- if (!allowGS18Prefix) {
118
- throw new RangeError(i18nextGS1.t(errorMessageParseKey ?? "Prefix.gs1CompanyPrefixCantStartWith00000"));
119
- }
120
- validation = GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION;
121
- }
122
- else {
123
- throw new RangeError(i18nextGS1.t(errorMessageParseKey ?? "Prefix.gs1CompanyPrefixCantStartWith000000"));
124
- }
125
- break;
126
- case PrefixTypes.UPCCompanyPrefix:
127
- if (prefix.startsWith("0000")) {
128
- throw new RangeError(i18nextGS1.t("Prefix.upcCompanyPrefixCantStartWith0000"));
129
- }
130
- validation = UPC_COMPANY_PREFIX_VALIDATION;
131
- break;
132
- case PrefixTypes.GS18Prefix:
133
- if (prefix.startsWith("0")) {
134
- throw new RangeError(i18nextGS1.t("Prefix.gs18PrefixCantStartWith0"));
135
- }
136
- validation = GS1_8_PREFIX_VALIDATION;
137
- break;
138
- }
139
- // If from identifier and numeric, identifier validation will take care of character set validation.
140
- if (!isFromIdentifier) {
141
- NUMERIC_CREATOR.validate(prefix, validation);
142
- }
143
- else if (!isNumericIdentifier) {
144
- // Validate only the minimum length, allowing at least one character for the (possibly non-numeric) reference.
145
- NUMERIC_CREATOR.validate(prefix.substring(0, Math.min(validation.minimumLength, prefix.length - 1)), validation);
146
- }
147
- },
148
- /**
149
- * Normalize a prefix.
150
- *
151
- * @param prefixType
152
- * Prefix type.
153
- *
154
- * @param prefix
155
- * Prefix.
156
- *
157
- * @returns
158
- * Prefix provider with normalized prefix type and prefix.
159
- */
160
- normalize(prefixType, prefix) {
161
- // Validate first.
162
- this.validate(prefixType, true, true, prefix);
163
- let gs1CompanyPrefix;
164
- // First step is to map the prefix to a GS1 Company Prefix.
165
- switch (prefixType) {
166
- case PrefixTypes.GS1CompanyPrefix:
167
- gs1CompanyPrefix = prefix;
168
- break;
169
- case PrefixTypes.UPCCompanyPrefix:
170
- gs1CompanyPrefix = `0${prefix}`;
171
- break;
172
- case PrefixTypes.GS18Prefix:
173
- gs1CompanyPrefix = `00000${prefix}`;
174
- break;
175
- }
176
- let normalizedPrefixType;
177
- let normalizedPrefix;
178
- let upcCompanyPrefix = undefined;
179
- let gs18Prefix = undefined;
180
- // Determine the prefix type and populate the remaining fields.
181
- if (!gs1CompanyPrefix.startsWith("0")) {
182
- normalizedPrefixType = PrefixTypes.GS1CompanyPrefix;
183
- normalizedPrefix = gs1CompanyPrefix;
184
- }
185
- else if (!gs1CompanyPrefix.startsWith("00000")) {
186
- normalizedPrefixType = PrefixTypes.UPCCompanyPrefix;
187
- upcCompanyPrefix = gs1CompanyPrefix.substring(1);
188
- normalizedPrefix = upcCompanyPrefix;
189
- }
190
- else {
191
- normalizedPrefixType = PrefixTypes.GS18Prefix;
192
- gs18Prefix = gs1CompanyPrefix.substring(5);
193
- normalizedPrefix = gs18Prefix;
194
- }
195
- return {
196
- prefixType: normalizedPrefixType,
197
- prefix: normalizedPrefix,
198
- gs1CompanyPrefix,
199
- upcCompanyPrefix,
200
- gs18Prefix
201
- };
202
- }
203
- };
204
- //# sourceMappingURL=prefix-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-validator.js","sourceRoot":"","sources":["../src/prefix-validator.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import { type TransformerInput, type TransformerOutput } from "@aidc-toolkit/utility";
2
- import type { SerializableNumericIdentifierType } from "./serializable-numeric-identifier-type.js";
3
- import { SerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
4
- declare const SerializableNumericIdentifierCreator_base: abstract new (...args: [prefixProvider: import("./prefix-provider.js").PrefixProvider, identifierType: "GRAI"] | [prefixProvider: import("./prefix-provider.js").PrefixProvider, identifierType: "GDTI"] | [prefixProvider: import("./prefix-provider.js").PrefixProvider, identifierType: "GCN"]) => SerializableNumericIdentifierValidator & import("./non-gtin-numeric-identifier-creator.js").NonGTINNumericIdentifierCreator<SerializableNumericIdentifierType>;
5
- /**
6
- * Serializable numeric identifier creator.
7
- */
8
- export declare class SerializableNumericIdentifierCreator extends SerializableNumericIdentifierCreator_base {
9
- #private;
10
- /**
11
- * Create serialized identifier(s) with a reference based on a numeric value concatenated with serial component(s).
12
- * The value is converted to a reference of the appropriate length using {@linkcode NUMERIC_CREATOR}.
13
- *
14
- * @template TTransformerInput
15
- * Transformer input type.
16
- *
17
- * @param value
18
- * Numeric value of the reference.
19
- *
20
- * @param serialComponentOrComponents
21
- * Serial component(s).
22
- *
23
- * @param sparse
24
- * If true, the value is mapped to a sparse sequence resistant to discovery. Default is false.
25
- *
26
- * @returns
27
- * Serialized identifiers.
28
- */
29
- createSerialized<TTransformerInput extends TransformerInput<string>>(value: number, serialComponentOrComponents: TTransformerInput, sparse?: boolean): TransformerOutput<TTransformerInput, string>;
30
- /**
31
- * Concatenate a base identifier with serial component(s).
32
- *
33
- * @template TTransformerInput
34
- * Transformer input type.
35
- *
36
- * @param baseIdentifier
37
- * Base identifier.
38
- *
39
- * @param serialComponentOrComponents
40
- * Serial component(s).
41
- *
42
- * @returns
43
- * Serialized identifier(s).
44
- */
45
- concatenate<TTransformerInput extends TransformerInput<string>>(baseIdentifier: string, serialComponentOrComponents: TTransformerInput): TransformerOutput<TTransformerInput, string>;
46
- }
47
- export {};
48
- //# sourceMappingURL=serializable-numeric-identifier-creator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-creator.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpH,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,EAAE,sCAAsC,EAAE,MAAM,gDAAgD,CAAC;;AAExG;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,yCAEjB;;IAgDrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAInM;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,2BAA2B,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;CAKxL"}
@@ -1,93 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars -- Used in JSDoc.
2
- import { mapIterable } from "@aidc-toolkit/utility";
3
- import { MixinAbstractNonGTINNumericIdentifierCreator } from "./abstract-non-gtin-numeric-identifier-creator.js";
4
- import { SerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
5
- /**
6
- * Serializable numeric identifier creator.
7
- */
8
- export class SerializableNumericIdentifierCreator extends MixinAbstractNonGTINNumericIdentifierCreator(SerializableNumericIdentifierValidator) {
9
- /**
10
- * Concatenate a validated base identifier with serial component(s).
11
- *
12
- * @template TTransformerInput
13
- * Transformer input type.
14
- *
15
- * @param baseIdentifier
16
- * Base identifier.
17
- *
18
- * @param serialComponentOrComponents
19
- * Serial component(s).
20
- *
21
- * @returns
22
- * Serialized identifier(s).
23
- */
24
- #concatenateValidated(baseIdentifier, serialComponentOrComponents) {
25
- // TODO Refactor type when https://github.com/microsoft/TypeScript/pull/56941 released.
26
- let result;
27
- const serialComponentCreator = this.serialComponentCreator;
28
- const serialComponentValidation = this.serialComponentValidation;
29
- /**
30
- * Validate a serial component and concatenate it to the base identifier.
31
- *
32
- * @param serialComponent
33
- * Serial component.
34
- *
35
- * @returns
36
- * Serialized identifier.
37
- */
38
- function validateAndConcatenate(serialComponent) {
39
- serialComponentCreator.validate(serialComponent, serialComponentValidation);
40
- return baseIdentifier + serialComponent;
41
- }
42
- if (typeof serialComponentOrComponents !== "object") {
43
- result = validateAndConcatenate(serialComponentOrComponents);
44
- }
45
- else {
46
- result = mapIterable(serialComponentOrComponents, validateAndConcatenate);
47
- }
48
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Type determination is handled above.
49
- return result;
50
- }
51
- /**
52
- * Create serialized identifier(s) with a reference based on a numeric value concatenated with serial component(s).
53
- * The value is converted to a reference of the appropriate length using {@linkcode NUMERIC_CREATOR}.
54
- *
55
- * @template TTransformerInput
56
- * Transformer input type.
57
- *
58
- * @param value
59
- * Numeric value of the reference.
60
- *
61
- * @param serialComponentOrComponents
62
- * Serial component(s).
63
- *
64
- * @param sparse
65
- * If true, the value is mapped to a sparse sequence resistant to discovery. Default is false.
66
- *
67
- * @returns
68
- * Serialized identifiers.
69
- */
70
- createSerialized(value, serialComponentOrComponents, sparse) {
71
- return this.#concatenateValidated(this.create(value, sparse), serialComponentOrComponents);
72
- }
73
- /**
74
- * Concatenate a base identifier with serial component(s).
75
- *
76
- * @template TTransformerInput
77
- * Transformer input type.
78
- *
79
- * @param baseIdentifier
80
- * Base identifier.
81
- *
82
- * @param serialComponentOrComponents
83
- * Serial component(s).
84
- *
85
- * @returns
86
- * Serialized identifier(s).
87
- */
88
- concatenate(baseIdentifier, serialComponentOrComponents) {
89
- this.validate(baseIdentifier);
90
- return this.#concatenateValidated(baseIdentifier, serialComponentOrComponents);
91
- }
92
- }
93
- //# sourceMappingURL=serializable-numeric-identifier-creator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-creator.js","sourceRoot":"","sources":["../src/serializable-numeric-identifier-creator.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAkE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,4CAA4C,EAAE,MAAM,mDAAmD,CAAC;AAEjH,OAAO,EAAE,sCAAsC,EAAE,MAAM,gDAAgD,CAAC;AAExG;;GAEG;AACH,MAAM,OAAO,oCAAqC,SAAQ,4CAA4C,CAEpG,sCAAsC,CAAC;IACrC;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAqD,cAAsB,EAAE,2BAA8C;QAC5I,uFAAuF;QACvF,IAAI,MAAiC,CAAC;QAEtC,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC3D,MAAM,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAEjE;;;;;;;;WAQG;QACH,SAAS,sBAAsB,CAAC,eAAuB;YACnD,sBAAsB,CAAC,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;YAE5E,OAAO,cAAc,GAAG,eAAe,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,2BAA2B,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,GAAG,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,WAAW,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAC;QAC9E,CAAC;QAED,+GAA+G;QAC/G,OAAO,MAAsD,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAqD,KAAa,EAAE,2BAA8C,EAAE,MAAgB;QAChJ,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAqD,cAAsB,EAAE,2BAA8C;QAClI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;IACnF,CAAC;CACJ"}
@@ -1,26 +0,0 @@
1
- import type { ContentCharacterSet } from "./content-character-set.js";
2
- import type { LeaderTypes } from "./leader-type.js";
3
- import type { NonGTINNumericIdentifierDescriptor } from "./non-gtin-numeric-identifier-descriptor.js";
4
- import type { SerializableNumericIdentifierType } from "./serializable-numeric-identifier-type.js";
5
- /**
6
- * Serializable numeric identifier descriptor.
7
- */
8
- export interface SerializableNumericIdentifierDescriptor extends NonGTINNumericIdentifierDescriptor {
9
- /**
10
- * @inheritDoc
11
- */
12
- readonly identifierType: SerializableNumericIdentifierType;
13
- /**
14
- * @inheritDoc
15
- */
16
- readonly leaderType: typeof LeaderTypes.None;
17
- /**
18
- * Serial component length.
19
- */
20
- readonly serialComponentLength: number;
21
- /**
22
- * Serial component character set.
23
- */
24
- readonly serialComponentCharacterSet: ContentCharacterSet;
25
- }
26
- //# sourceMappingURL=serializable-numeric-identifier-descriptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-descriptor.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,uCAAwC,SAAQ,kCAAkC;IAC/F;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,iCAAiC,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;CAC7D"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=serializable-numeric-identifier-descriptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-descriptor.js","sourceRoot":"","sources":["../src/serializable-numeric-identifier-descriptor.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- /**
2
- * Serializable numeric identifier types.
3
- */
4
- export declare const SerializableNumericIdentifierTypes: Omit<Omit<Pick<{
5
- readonly GTIN: "GTIN";
6
- readonly GLN: "GLN";
7
- readonly SSCC: "SSCC";
8
- readonly GRAI: "GRAI";
9
- readonly GIAI: "GIAI";
10
- readonly GSRN: "GSRN";
11
- readonly GDTI: "GDTI";
12
- readonly GINC: "GINC";
13
- readonly GSIN: "GSIN";
14
- readonly GCN: "GCN";
15
- readonly CPID: "CPID";
16
- readonly GMN: "GMN";
17
- }, "GTIN" | "GLN" | "SSCC" | "GRAI" | "GSRN" | "GDTI" | "GSIN" | "GCN">, "GTIN">, "GLN" | "SSCC" | "GSRN" | "GSIN">;
18
- /**
19
- * Serializable numeric identifier type key.
20
- */
21
- export type SerializableNumericIdentifierTypeKey = keyof typeof SerializableNumericIdentifierTypes;
22
- /**
23
- * Serializable numeric identifier type.
24
- */
25
- export type SerializableNumericIdentifierType = typeof SerializableNumericIdentifierTypes[SerializableNumericIdentifierTypeKey];
26
- //# sourceMappingURL=serializable-numeric-identifier-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-type.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-type.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;mHAAgF,CAAC;AAEhI;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG,MAAM,OAAO,kCAAkC,CAAC;AAEnG;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,OAAO,kCAAkC,CAAC,oCAAoC,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { exclude } from "@aidc-toolkit/core";
2
- import { NonGTINNumericIdentifierTypes } from "./non-gtin-numeric-identifier-type.js";
3
- import { NonSerializableNumericIdentifierTypes } from "./non-serializable-numeric-identifier-type.js";
4
- /**
5
- * Serializable numeric identifier types.
6
- */
7
- export const SerializableNumericIdentifierTypes = exclude(NonGTINNumericIdentifierTypes, NonSerializableNumericIdentifierTypes);
8
- //# sourceMappingURL=serializable-numeric-identifier-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-type.js","sourceRoot":"","sources":["../src/serializable-numeric-identifier-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,qCAAqC,EAAE,MAAM,+CAA+C,CAAC;AAEtG;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC,6BAA6B,EAAE,qCAAqC,CAAC,CAAC"}
@@ -1,67 +0,0 @@
1
- import type { CharacterSetCreator, CharacterSetValidation } from "@aidc-toolkit/utility";
2
- import type { ContentCharacterSet } from "./content-character-set.js";
3
- import type { IdentifierValidation } from "./identifier-validator.js";
4
- import { NonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator.js";
5
- import type { SerializableNumericIdentifierDescriptor } from "./serializable-numeric-identifier-descriptor.js";
6
- import type { SerializableNumericIdentifierType } from "./serializable-numeric-identifier-type.js";
7
- /**
8
- * Serializable numeric identifier split.
9
- */
10
- export interface SerializableNumericIdentifierSplit {
11
- /**
12
- * Base identifier.
13
- */
14
- baseIdentifier: string;
15
- /**
16
- * Serial component.
17
- */
18
- serialComponent: string;
19
- }
20
- /**
21
- * Serializable numeric identifier validator. Validates both serialized and non-serialized forms of numeric identifiers
22
- * that support serialization.
23
- */
24
- export declare class SerializableNumericIdentifierValidator extends NonGTINNumericIdentifierValidator<SerializableNumericIdentifierType> implements SerializableNumericIdentifierDescriptor {
25
- #private;
26
- /**
27
- * Constructor.
28
- *
29
- * @param identifierType
30
- * Identifier type.
31
- */
32
- constructor(identifierType: SerializableNumericIdentifierType);
33
- /**
34
- * Get the serial component length.
35
- */
36
- get serialComponentLength(): number;
37
- /**
38
- * Get the serial component character set.
39
- */
40
- get serialComponentCharacterSet(): ContentCharacterSet;
41
- /**
42
- * Get the serial component validation parameters.
43
- */
44
- protected get serialComponentValidation(): CharacterSetValidation;
45
- /**
46
- * Get the serial component creator.
47
- */
48
- get serialComponentCreator(): CharacterSetCreator;
49
- /**
50
- * @inheritDoc
51
- */
52
- validate(identifier: string, validation?: IdentifierValidation): void;
53
- /**
54
- * Split a serializable numeric identifier into its component parts.
55
- *
56
- * @param identifier
57
- * Identifier.
58
- *
59
- * @param validation
60
- * Identifier validation parameters.
61
- *
62
- * @returns
63
- * Base identifier and serial component (possibly empty) as object.
64
- */
65
- split(identifier: string, validation?: IdentifierValidation): SerializableNumericIdentifierSplit;
66
- }
67
- //# sourceMappingURL=serializable-numeric-identifier-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializable-numeric-identifier-validator.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,iDAAiD,CAAC;AAC/G,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,sCAAuC,SAAQ,iCAAiC,CAAC,iCAAiC,CAAE,YAAW,uCAAuC;;IAqB/K;;;;;OAKG;gBACS,cAAc,EAAE,iCAAiC;IAiB7D;;OAEG;IACH,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,2BAA2B,IAAI,mBAAmB,CAErD;IAED;;OAEG;IACH,SAAS,KAAK,yBAAyB,IAAI,sBAAsB,CAEhE;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,mBAAmB,CAEhD;IAED;;OAEG;IACM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAQ9E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,kCAAkC;CAQnG"}