@aidc-toolkit/gs1 1.0.43 → 1.0.44-beta

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 (221) hide show
  1. package/dist/abstract-identifier-creator.d.ts +41 -0
  2. package/dist/abstract-identifier-creator.d.ts.map +1 -0
  3. package/dist/abstract-identifier-creator.js +73 -0
  4. package/dist/abstract-identifier-creator.js.map +1 -0
  5. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts +36 -0
  6. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts.map +1 -0
  7. package/dist/abstract-non-gtin-numeric-identifier-creator.js +37 -0
  8. package/dist/abstract-non-gtin-numeric-identifier-creator.js.map +1 -0
  9. package/dist/abstract-numeric-identifier-creator.d.ts +34 -0
  10. package/dist/abstract-numeric-identifier-creator.d.ts.map +1 -0
  11. package/dist/abstract-numeric-identifier-creator.js +154 -0
  12. package/dist/abstract-numeric-identifier-creator.js.map +1 -0
  13. package/dist/character-set.d.ts +27 -0
  14. package/dist/character-set.d.ts.map +1 -0
  15. package/dist/character-set.js +83 -0
  16. package/dist/character-set.js.map +1 -0
  17. package/dist/check.d.ts +81 -0
  18. package/dist/check.d.ts.map +1 -0
  19. package/dist/check.js +218 -0
  20. package/dist/check.js.map +1 -0
  21. package/dist/content-character-set-creators.d.ts +4 -0
  22. package/dist/content-character-set-creators.d.ts.map +1 -0
  23. package/dist/content-character-set-creators.js +9 -0
  24. package/dist/content-character-set-creators.js.map +1 -0
  25. package/dist/content-character-set.d.ts +26 -0
  26. package/dist/content-character-set.d.ts.map +1 -0
  27. package/dist/content-character-set.js +18 -0
  28. package/dist/content-character-set.js.map +1 -0
  29. package/dist/gcp-length-cache.d.ts +89 -0
  30. package/dist/gcp-length-cache.d.ts.map +1 -0
  31. package/dist/gcp-length-cache.js +240 -0
  32. package/dist/gcp-length-cache.js.map +1 -0
  33. package/dist/gcp-length-data.d.ts +108 -0
  34. package/dist/gcp-length-data.d.ts.map +1 -0
  35. package/dist/gcp-length-data.js +53 -0
  36. package/dist/gcp-length-data.js.map +1 -0
  37. package/dist/gcp-length.d.ts +97 -0
  38. package/dist/gcp-length.d.ts.map +1 -0
  39. package/dist/gcp-length.js +368 -0
  40. package/dist/gcp-length.js.map +1 -0
  41. package/dist/gtin-creator.d.ts +47 -0
  42. package/dist/gtin-creator.d.ts.map +1 -0
  43. package/dist/gtin-creator.js +64 -0
  44. package/dist/gtin-creator.js.map +1 -0
  45. package/dist/gtin-descriptor.d.ts +22 -0
  46. package/dist/gtin-descriptor.d.ts.map +1 -0
  47. package/dist/gtin-descriptor.js +2 -0
  48. package/dist/gtin-descriptor.js.map +1 -0
  49. package/dist/gtin-length.d.ts +64 -0
  50. package/dist/gtin-length.d.ts.map +1 -0
  51. package/dist/gtin-length.js +36 -0
  52. package/dist/gtin-length.js.map +1 -0
  53. package/dist/gtin-type.d.ts +26 -0
  54. package/dist/gtin-type.d.ts.map +1 -0
  55. package/dist/gtin-type.js +7 -0
  56. package/dist/gtin-type.js.map +1 -0
  57. package/dist/gtin-validator.d.ts +132 -0
  58. package/dist/gtin-validator.d.ts.map +1 -0
  59. package/dist/gtin-validator.js +349 -0
  60. package/dist/gtin-validator.js.map +1 -0
  61. package/dist/identifier-creator.d.ts +31 -0
  62. package/dist/identifier-creator.d.ts.map +1 -0
  63. package/dist/identifier-creator.js +2 -0
  64. package/dist/identifier-creator.js.map +1 -0
  65. package/dist/identifier-creators.d.ts +118 -0
  66. package/dist/identifier-creators.d.ts.map +1 -0
  67. package/dist/identifier-creators.js +92 -0
  68. package/dist/identifier-creators.js.map +1 -0
  69. package/dist/identifier-descriptor.d.ts +27 -0
  70. package/dist/identifier-descriptor.d.ts.map +1 -0
  71. package/dist/identifier-descriptor.js +2 -0
  72. package/dist/identifier-descriptor.js.map +1 -0
  73. package/dist/identifier-descriptors.d.ts +106 -0
  74. package/dist/identifier-descriptors.d.ts.map +1 -0
  75. package/dist/identifier-descriptors.js +262 -0
  76. package/dist/identifier-descriptors.js.map +1 -0
  77. package/dist/identifier-extension.d.ts +82 -0
  78. package/dist/identifier-extension.d.ts.map +1 -0
  79. package/dist/identifier-extension.js +79 -0
  80. package/dist/identifier-extension.js.map +1 -0
  81. package/dist/identifier-type.d.ts +62 -0
  82. package/dist/identifier-type.d.ts.map +1 -0
  83. package/dist/identifier-type.js +54 -0
  84. package/dist/identifier-type.js.map +1 -0
  85. package/dist/identifier-validator.d.ts +85 -0
  86. package/dist/identifier-validator.d.ts.map +1 -0
  87. package/dist/identifier-validator.js +107 -0
  88. package/dist/identifier-validator.js.map +1 -0
  89. package/dist/identifier-validators.d.ts +131 -0
  90. package/dist/identifier-validators.d.ts.map +1 -0
  91. package/dist/identifier-validators.js +167 -0
  92. package/dist/identifier-validators.js.map +1 -0
  93. package/dist/index.d.ts +63 -2205
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +36 -3
  96. package/dist/index.js.map +1 -0
  97. package/dist/leader-type.d.ts +26 -0
  98. package/dist/leader-type.d.ts.map +1 -0
  99. package/dist/leader-type.js +18 -0
  100. package/dist/leader-type.js.map +1 -0
  101. package/dist/locale/en/locale-resources.d.ts +48 -0
  102. package/dist/locale/en/locale-resources.d.ts.map +1 -0
  103. package/dist/locale/en/locale-resources.js +47 -0
  104. package/dist/locale/en/locale-resources.js.map +1 -0
  105. package/dist/locale/fr/locale-resources.d.ts +48 -0
  106. package/dist/locale/fr/locale-resources.d.ts.map +1 -0
  107. package/dist/locale/fr/locale-resources.js +47 -0
  108. package/dist/locale/fr/locale-resources.js.map +1 -0
  109. package/dist/locale/i18n.d.ts +27 -0
  110. package/dist/locale/i18n.d.ts.map +1 -0
  111. package/dist/locale/i18n.js +35 -0
  112. package/dist/locale/i18n.js.map +1 -0
  113. package/dist/non-gtin-numeric-identifier-creator.d.ts +12 -0
  114. package/dist/non-gtin-numeric-identifier-creator.d.ts.map +1 -0
  115. package/dist/non-gtin-numeric-identifier-creator.js +2 -0
  116. package/dist/non-gtin-numeric-identifier-creator.js.map +1 -0
  117. package/dist/non-gtin-numeric-identifier-descriptor.d.ts +22 -0
  118. package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +1 -0
  119. package/dist/non-gtin-numeric-identifier-descriptor.js +2 -0
  120. package/dist/non-gtin-numeric-identifier-descriptor.js.map +1 -0
  121. package/dist/non-gtin-numeric-identifier-type.d.ts +26 -0
  122. package/dist/non-gtin-numeric-identifier-type.d.ts.map +1 -0
  123. package/dist/non-gtin-numeric-identifier-type.js +8 -0
  124. package/dist/non-gtin-numeric-identifier-type.js.map +1 -0
  125. package/dist/non-gtin-numeric-identifier-validator.d.ts +12 -0
  126. package/dist/non-gtin-numeric-identifier-validator.d.ts.map +1 -0
  127. package/dist/non-gtin-numeric-identifier-validator.js +10 -0
  128. package/dist/non-gtin-numeric-identifier-validator.js.map +1 -0
  129. package/dist/non-numeric-identifier-creator.d.ts +40 -0
  130. package/dist/non-numeric-identifier-creator.d.ts.map +1 -0
  131. package/dist/non-numeric-identifier-creator.js +82 -0
  132. package/dist/non-numeric-identifier-creator.js.map +1 -0
  133. package/dist/non-numeric-identifier-descriptor.d.ts +26 -0
  134. package/dist/non-numeric-identifier-descriptor.d.ts.map +1 -0
  135. package/dist/non-numeric-identifier-descriptor.js +2 -0
  136. package/dist/non-numeric-identifier-descriptor.js.map +1 -0
  137. package/dist/non-numeric-identifier-type.d.ts +26 -0
  138. package/dist/non-numeric-identifier-type.d.ts.map +1 -0
  139. package/dist/non-numeric-identifier-type.js +8 -0
  140. package/dist/non-numeric-identifier-type.js.map +1 -0
  141. package/dist/non-numeric-identifier-validator.d.ts +41 -0
  142. package/dist/non-numeric-identifier-validator.d.ts.map +1 -0
  143. package/dist/non-numeric-identifier-validator.js +69 -0
  144. package/dist/non-numeric-identifier-validator.js.map +1 -0
  145. package/dist/non-serializable-numeric-identifier-creator.d.ts +10 -0
  146. package/dist/non-serializable-numeric-identifier-creator.d.ts.map +1 -0
  147. package/dist/non-serializable-numeric-identifier-creator.js +8 -0
  148. package/dist/non-serializable-numeric-identifier-creator.js.map +1 -0
  149. package/dist/non-serializable-numeric-identifier-descriptor.d.ts +12 -0
  150. package/dist/non-serializable-numeric-identifier-descriptor.d.ts.map +1 -0
  151. package/dist/non-serializable-numeric-identifier-descriptor.js +2 -0
  152. package/dist/non-serializable-numeric-identifier-descriptor.js.map +1 -0
  153. package/dist/non-serializable-numeric-identifier-type.d.ts +26 -0
  154. package/dist/non-serializable-numeric-identifier-type.d.ts.map +1 -0
  155. package/dist/non-serializable-numeric-identifier-type.js +7 -0
  156. package/dist/non-serializable-numeric-identifier-type.js.map +1 -0
  157. package/dist/non-serializable-numeric-identifier-validator.d.ts +16 -0
  158. package/dist/non-serializable-numeric-identifier-validator.d.ts.map +1 -0
  159. package/dist/non-serializable-numeric-identifier-validator.js +17 -0
  160. package/dist/non-serializable-numeric-identifier-validator.js.map +1 -0
  161. package/dist/numeric-identifier-creator.d.ts +53 -0
  162. package/dist/numeric-identifier-creator.d.ts.map +1 -0
  163. package/dist/numeric-identifier-creator.js +2 -0
  164. package/dist/numeric-identifier-creator.js.map +1 -0
  165. package/dist/numeric-identifier-descriptor.d.ts +22 -0
  166. package/dist/numeric-identifier-descriptor.d.ts.map +1 -0
  167. package/dist/numeric-identifier-descriptor.js +2 -0
  168. package/dist/numeric-identifier-descriptor.js.map +1 -0
  169. package/dist/numeric-identifier-type.d.ts +26 -0
  170. package/dist/numeric-identifier-type.d.ts.map +1 -0
  171. package/dist/numeric-identifier-type.js +7 -0
  172. package/dist/numeric-identifier-type.js.map +1 -0
  173. package/dist/numeric-identifier-validator.d.ts +38 -0
  174. package/dist/numeric-identifier-validator.d.ts.map +1 -0
  175. package/dist/numeric-identifier-validator.js +61 -0
  176. package/dist/numeric-identifier-validator.js.map +1 -0
  177. package/dist/prefix-manager.d.ts +151 -0
  178. package/dist/prefix-manager.d.ts.map +1 -0
  179. package/dist/prefix-manager.js +297 -0
  180. package/dist/prefix-manager.js.map +1 -0
  181. package/dist/prefix-provider.d.ts +27 -0
  182. package/dist/prefix-provider.d.ts.map +1 -0
  183. package/dist/prefix-provider.js +2 -0
  184. package/dist/prefix-provider.js.map +1 -0
  185. package/dist/prefix-type.d.ts +26 -0
  186. package/dist/prefix-type.d.ts.map +1 -0
  187. package/dist/prefix-type.js +18 -0
  188. package/dist/prefix-type.js.map +1 -0
  189. package/dist/prefix-validator.d.ts +71 -0
  190. package/dist/prefix-validator.d.ts.map +1 -0
  191. package/dist/prefix-validator.js +204 -0
  192. package/dist/prefix-validator.js.map +1 -0
  193. package/dist/serializable-numeric-identifier-creator.d.ts +48 -0
  194. package/dist/serializable-numeric-identifier-creator.d.ts.map +1 -0
  195. package/dist/serializable-numeric-identifier-creator.js +93 -0
  196. package/dist/serializable-numeric-identifier-creator.js.map +1 -0
  197. package/dist/serializable-numeric-identifier-descriptor.d.ts +26 -0
  198. package/dist/serializable-numeric-identifier-descriptor.d.ts.map +1 -0
  199. package/dist/serializable-numeric-identifier-descriptor.js +2 -0
  200. package/dist/serializable-numeric-identifier-descriptor.js.map +1 -0
  201. package/dist/serializable-numeric-identifier-type.d.ts +26 -0
  202. package/dist/serializable-numeric-identifier-type.d.ts.map +1 -0
  203. package/dist/serializable-numeric-identifier-type.js +8 -0
  204. package/dist/serializable-numeric-identifier-type.js.map +1 -0
  205. package/dist/serializable-numeric-identifier-validator.d.ts +67 -0
  206. package/dist/serializable-numeric-identifier-validator.d.ts.map +1 -0
  207. package/dist/serializable-numeric-identifier-validator.js +97 -0
  208. package/dist/serializable-numeric-identifier-validator.js.map +1 -0
  209. package/dist/variable-measure.d.ts +68 -0
  210. package/dist/variable-measure.d.ts.map +1 -0
  211. package/dist/variable-measure.js +210 -0
  212. package/dist/variable-measure.js.map +1 -0
  213. package/dist/verified-by-gs1.d.ts +22 -0
  214. package/dist/verified-by-gs1.d.ts.map +1 -0
  215. package/dist/verified-by-gs1.js +46 -0
  216. package/dist/verified-by-gs1.js.map +1 -0
  217. package/package.json +4 -4
  218. package/src/gcp-length-cache.ts +7 -2
  219. package/tsconfig-src.tsbuildinfo +1 -1
  220. package/dist/index.cjs +0 -19
  221. package/dist/index.d.cts +0 -2205
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Identifier types.
3
+ */
4
+ export const IdentifierTypes = {
5
+ /**
6
+ * Global Trade Item Number.
7
+ */
8
+ GTIN: "GTIN",
9
+ /**
10
+ * Global Location Number.
11
+ */
12
+ GLN: "GLN",
13
+ /**
14
+ * Serial Shipping Container Code.
15
+ */
16
+ SSCC: "SSCC",
17
+ /**
18
+ * Global Returnable Asset Identifier.
19
+ */
20
+ GRAI: "GRAI",
21
+ /**
22
+ * Global Individual Asset Identifier.
23
+ */
24
+ GIAI: "GIAI",
25
+ /**
26
+ * Global Service Relation Number.
27
+ */
28
+ GSRN: "GSRN",
29
+ /**
30
+ * Global Document Type Identifier.
31
+ */
32
+ GDTI: "GDTI",
33
+ /**
34
+ * Global Identification Number for Consignment.
35
+ */
36
+ GINC: "GINC",
37
+ /**
38
+ * Global Shipment Identification Number.
39
+ */
40
+ GSIN: "GSIN",
41
+ /**
42
+ * Global Coupon Number.
43
+ */
44
+ GCN: "GCN",
45
+ /**
46
+ * Component/Part Identifier.
47
+ */
48
+ CPID: "CPID",
49
+ /**
50
+ * Global Model Number.
51
+ */
52
+ GMN: "GMN"
53
+ };
54
+ //# sourceMappingURL=identifier-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-type.js","sourceRoot":"","sources":["../src/identifier-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,GAAG,EAAE,KAAK;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,GAAG,EAAE,KAAK;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,GAAG,EAAE,KAAK;CACJ,CAAC"}
@@ -0,0 +1,85 @@
1
+ import type { CharacterSetCreator, StringValidation, StringValidator } from "@aidc-toolkit/utility";
2
+ import type { IdentifierDescriptor } from "./identifier-descriptor.js";
3
+ import type { IdentifierTypeDescriptor } from "./identifier-descriptors.js";
4
+ import type { IdentifierType } from "./identifier-type.js";
5
+ /**
6
+ * Identifier validation parameters.
7
+ */
8
+ export interface IdentifierValidation extends StringValidation {
9
+ }
10
+ /**
11
+ * Identifier validator. Validates an identifier against its definition in section 3 of the {@link
12
+ * https://ref.gs1.org/standards/genspecs/ | GS1 General Specifications}. Implements common functionality for an
13
+ * identifier validator.
14
+ *
15
+ * @template TIdentifierType
16
+ * Identifier type type.
17
+ *
18
+ * @template TIdentifierValidation
19
+ * Identifier validation type.
20
+ */
21
+ export declare abstract class IdentifierValidator<TIdentifierType extends IdentifierType = IdentifierType, TIdentifierValidation extends IdentifierValidation = IdentifierValidation> implements IdentifierDescriptor, StringValidator<TIdentifierValidation> {
22
+ #private;
23
+ /**
24
+ * Constructor.
25
+ *
26
+ * @param identifierDescriptor
27
+ * Identifier descriptor.
28
+ */
29
+ protected constructor(identifierDescriptor: IdentifierTypeDescriptor<TIdentifierType>);
30
+ /**
31
+ * Get the identifier type. Per the GS1 General Specifications, the identifier type determines the remaining
32
+ * properties.
33
+ */
34
+ get identifierType(): IdentifierTypeDescriptor<TIdentifierType>["identifierType"];
35
+ /**
36
+ * Get the prefix type supported by the identifier type. For all identifier types except the GTIN, this is a GS1
37
+ * Company Prefix. For the GTIN, the prefix type determines the length.
38
+ */
39
+ get prefixType(): IdentifierTypeDescriptor<TIdentifierType>["prefixType"];
40
+ /**
41
+ * Get the length. For numeric identifier types, the length is fixed; for alphanumeric identifier types, the length
42
+ * is the maximum.
43
+ */
44
+ get length(): IdentifierTypeDescriptor<TIdentifierType>["length"];
45
+ /**
46
+ * Get the reference character set.
47
+ */
48
+ get referenceCharacterSet(): IdentifierTypeDescriptor<TIdentifierType>["referenceCharacterSet"];
49
+ /**
50
+ * Get the reference creator.
51
+ */
52
+ get referenceCreator(): CharacterSetCreator;
53
+ /**
54
+ * Pad an identifier on the left with zero-value character for validation purposes. This is done to align an
55
+ * identifier with a position offset for any error message that may be thrown by the reference validator.
56
+ *
57
+ * @param identifier
58
+ * Identifier.
59
+ *
60
+ * @param positionOffset
61
+ * Position offset within a larger string.
62
+ *
63
+ * @returns
64
+ * Padded identifier.
65
+ */
66
+ protected padIdentifier(identifier: string, positionOffset?: number): string;
67
+ /**
68
+ * Validate the prefix within an identifier.
69
+ *
70
+ * @param partialIdentifier
71
+ * Partial identifier.
72
+ */
73
+ protected validatePrefix(partialIdentifier: string): void;
74
+ /**
75
+ * Validate an identifier and throw an error if validation fails.
76
+ *
77
+ * @param identifier
78
+ * Identifier.
79
+ *
80
+ * @param validation
81
+ * Identifier validation parameters.
82
+ */
83
+ abstract validate(identifier: string, validation?: TIdentifierValidation): void;
84
+ }
85
+ //# sourceMappingURL=identifier-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-validator.d.ts","sourceRoot":"","sources":["../src/identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;CAC7D;AAED;;;;;;;;;;GAUG;AACH,8BAAsB,mBAAmB,CAAC,eAAe,SAAS,cAAc,GAAG,cAAc,EAAE,qBAAqB,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,YAAW,oBAAoB,EAAE,eAAe,CAAC,qBAAqB,CAAC;;IAqBjP;;;;;OAKG;IACH,SAAS,aAAa,oBAAoB,EAAE,wBAAwB,CAAC,eAAe,CAAC;IAOrF;;;OAGG;IACH,IAAI,cAAc,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAEhF;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAGxE;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAEhE;IAED;;OAEG;IACH,IAAI,qBAAqB,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC,uBAAuB,CAAC,CAE9F;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,mBAAmB,CAE1C;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IAK5E;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAKzD;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI;CAClF"}
@@ -0,0 +1,107 @@
1
+ import { CONTENT_CHARACTER_SET_CREATORS } from "./content-character-set-creators.js";
2
+ import { ContentCharacterSets } from "./content-character-set.js";
3
+ import { PrefixTypes } from "./prefix-type.js";
4
+ import { PrefixValidator } from "./prefix-validator.js";
5
+ /**
6
+ * Identifier validator. Validates an identifier against its definition in section 3 of the {@link
7
+ * https://ref.gs1.org/standards/genspecs/ | GS1 General Specifications}. Implements common functionality for an
8
+ * identifier validator.
9
+ *
10
+ * @template TIdentifierType
11
+ * Identifier type type.
12
+ *
13
+ * @template TIdentifierValidation
14
+ * Identifier validation type.
15
+ */
16
+ export class IdentifierValidator {
17
+ /**
18
+ * Identifier type.
19
+ */
20
+ #identifierType;
21
+ /**
22
+ * Length.
23
+ */
24
+ #length;
25
+ /**
26
+ * Reference character set.
27
+ */
28
+ #referenceCharacterSet;
29
+ /**
30
+ * Reference creator.
31
+ */
32
+ #referenceCreator;
33
+ /**
34
+ * Constructor.
35
+ *
36
+ * @param identifierDescriptor
37
+ * Identifier descriptor.
38
+ */
39
+ constructor(identifierDescriptor) {
40
+ this.#identifierType = identifierDescriptor.identifierType;
41
+ this.#length = identifierDescriptor.length;
42
+ this.#referenceCharacterSet = identifierDescriptor.referenceCharacterSet;
43
+ this.#referenceCreator = CONTENT_CHARACTER_SET_CREATORS[identifierDescriptor.referenceCharacterSet];
44
+ }
45
+ /**
46
+ * Get the identifier type. Per the GS1 General Specifications, the identifier type determines the remaining
47
+ * properties.
48
+ */
49
+ get identifierType() {
50
+ return this.#identifierType;
51
+ }
52
+ /**
53
+ * Get the prefix type supported by the identifier type. For all identifier types except the GTIN, this is a GS1
54
+ * Company Prefix. For the GTIN, the prefix type determines the length.
55
+ */
56
+ get prefixType() {
57
+ // All identifier types except GTIN support only the GS1 Company Prefix.
58
+ return PrefixTypes.GS1CompanyPrefix;
59
+ }
60
+ /**
61
+ * Get the length. For numeric identifier types, the length is fixed; for alphanumeric identifier types, the length
62
+ * is the maximum.
63
+ */
64
+ get length() {
65
+ return this.#length;
66
+ }
67
+ /**
68
+ * Get the reference character set.
69
+ */
70
+ get referenceCharacterSet() {
71
+ return this.#referenceCharacterSet;
72
+ }
73
+ /**
74
+ * Get the reference creator.
75
+ */
76
+ get referenceCreator() {
77
+ return this.#referenceCreator;
78
+ }
79
+ /**
80
+ * Pad an identifier on the left with zero-value character for validation purposes. This is done to align an
81
+ * identifier with a position offset for any error message that may be thrown by the reference validator.
82
+ *
83
+ * @param identifier
84
+ * Identifier.
85
+ *
86
+ * @param positionOffset
87
+ * Position offset within a larger string.
88
+ *
89
+ * @returns
90
+ * Padded identifier.
91
+ */
92
+ padIdentifier(identifier, positionOffset) {
93
+ // Identifier is returned as is if position offset is undefined.
94
+ return positionOffset === undefined ? identifier : this.referenceCreator.character(0).repeat(positionOffset).concat(identifier);
95
+ }
96
+ /**
97
+ * Validate the prefix within an identifier.
98
+ *
99
+ * @param partialIdentifier
100
+ * Partial identifier.
101
+ */
102
+ validatePrefix(partialIdentifier) {
103
+ // Delegate to prefix validator with support for U.P.C. Company Prefix but not GS1-8 Prefix.
104
+ PrefixValidator.validate(this.prefixType, true, false, partialIdentifier, true, this.referenceCharacterSet === ContentCharacterSets.Numeric);
105
+ }
106
+ }
107
+ //# sourceMappingURL=identifier-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-validator.js","sourceRoot":"","sources":["../src/identifier-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIlE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,mBAAmB;IACrC;;OAEG;IACM,eAAe,CAA8D;IAEtF;;OAEG;IACM,OAAO,CAAsD;IAEtE;;OAEG;IACM,sBAAsB,CAAqE;IAEpG;;OAEG;IACM,iBAAiB,CAAsB;IAEhD;;;;;OAKG;IACH,YAAsB,oBAA+D;QACjF,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,cAAc,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,qBAAqB,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IACxG,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACV,wEAAwE;QACxE,OAAO,WAAW,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,aAAa,CAAC,UAAkB,EAAE,cAAuB;QAC/D,gEAAgE;QAChE,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpI,CAAC;IAED;;;;;OAKG;IACO,cAAc,CAAC,iBAAyB;QAC9C,4FAA4F;QAC5F,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjJ,CAAC;CAYJ"}
@@ -0,0 +1,131 @@
1
+ import type { GTINBaseLength } from "./gtin-length.js";
2
+ import type { GTINType } from "./gtin-type.js";
3
+ import { GTINValidator } from "./gtin-validator.js";
4
+ import { type IdentifierTypeExtension } from "./identifier-extension.js";
5
+ import { type IdentifierType } from "./identifier-type.js";
6
+ import type { IdentifierValidator } from "./identifier-validator.js";
7
+ import type { NonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator.js";
8
+ import { NonNumericIdentifierValidator } from "./non-numeric-identifier-validator.js";
9
+ import { NonSerializableNumericIdentifierValidator } from "./non-serializable-numeric-identifier-validator.js";
10
+ import type { NumericIdentifierValidator } from "./numeric-identifier-validator.js";
11
+ import { SerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
12
+ /**
13
+ * Identifier validator type based on identifier type type.
14
+ *
15
+ * @template TIdentifierType
16
+ * Identifier type type.
17
+ */
18
+ export type IdentifierTypeValidator<TIdentifierType extends IdentifierType> = IdentifierTypeExtension<TIdentifierType, IdentifierValidator, NumericIdentifierValidator, GTINValidator, NonGTINNumericIdentifierValidator, NonSerializableNumericIdentifierValidator, SerializableNumericIdentifierValidator, NonNumericIdentifierValidator>;
19
+ /**
20
+ * Identifier validators entry type based on identifier type type.
21
+ *
22
+ * @template TIdentifierType
23
+ * Identifier type type.
24
+ */
25
+ export type IdentifierValidatorsEntry<TIdentifierType extends IdentifierType> = TIdentifierType extends GTINType ? Readonly<Record<GTINBaseLength, GTINValidator>> : IdentifierTypeValidator<TIdentifierType>;
26
+ /**
27
+ * Identifier validators record type.
28
+ */
29
+ export type IdentifierValidatorsRecord = {
30
+ [TIdentifierType in IdentifierType]: IdentifierValidatorsEntry<TIdentifierType>;
31
+ };
32
+ /**
33
+ * Identifier validators for all identifier types.
34
+ */
35
+ export declare const IdentifierValidators: Readonly<IdentifierValidatorsRecord>;
36
+ /**
37
+ * GTIN validator constructor type.
38
+ */
39
+ export type GTINValidatorConstructor = new (gtinBaseLength: GTINBaseLength) => GTINValidator;
40
+ /**
41
+ * Non-GTIN validator constructor type.
42
+ *
43
+ * @template TIdentifierType
44
+ * Identifier type type.
45
+ */
46
+ export type NonGTINValidatorConstructor<TIdentifierType extends Exclude<IdentifierType, GTINType>> = new (identifierType: TIdentifierType) => IdentifierValidatorsRecord[TIdentifierType];
47
+ /**
48
+ * Identifier validator constructors entry type based on identifier type type.
49
+ *
50
+ * @template TIdentifierType
51
+ * Identifier type type.
52
+ */
53
+ export type IdentifierValidatorConstructorsEntry<TIdentifierType extends IdentifierType> = TIdentifierType extends GTINType ? GTINValidatorConstructor : NonGTINValidatorConstructor<Exclude<TIdentifierType, GTINType>>;
54
+ /**
55
+ * Identifier validator constructors record type.
56
+ */
57
+ export type IdentifierValidatorConstructorsRecord = {
58
+ readonly [TIdentifierType in IdentifierType]: IdentifierValidatorConstructorsEntry<TIdentifierType>;
59
+ };
60
+ export declare const IdentifierValidatorConstructors: IdentifierValidatorConstructorsRecord;
61
+ /**
62
+ * Determine if identifier validators or validator is GTIN validators.
63
+ *
64
+ * @param identifierValidatorsOrValidator
65
+ * Identifier validators or validator.
66
+ *
67
+ * @returns
68
+ * True if GTIN validators.
69
+ */
70
+ export declare function isGTINValidators(identifierValidatorsOrValidator: IdentifierValidatorsEntry<IdentifierType>): identifierValidatorsOrValidator is Readonly<Record<GTINBaseLength, GTINValidator>>;
71
+ /**
72
+ * Determine if identifier validator is a numeric identifier validator.
73
+ *
74
+ * @param identifierValidator
75
+ * Identifier validator.
76
+ *
77
+ * @returns
78
+ * True if identifier validator is a numeric identifier validator.
79
+ */
80
+ export declare function isNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NumericIdentifierValidator;
81
+ /**
82
+ * Determine if identifier validator is a GTIN validator.
83
+ *
84
+ * @param identifierValidator
85
+ * Identifier validator.
86
+ *
87
+ * @returns
88
+ * True if identifier validator is a GTIN validator.
89
+ */
90
+ export declare function isGTINValidator(identifierValidator: IdentifierValidator): identifierValidator is GTINValidator;
91
+ /**
92
+ * Determine if identifier validator is a non-GTIN numeric identifier validator.
93
+ *
94
+ * @param identifierValidator
95
+ * Identifier validator.
96
+ *
97
+ * @returns
98
+ * True if identifier validator is a non-GTIN numeric identifier validator.
99
+ */
100
+ export declare function isNonGTINNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NonGTINNumericIdentifierValidator;
101
+ /**
102
+ * Determine if identifier validator is a non-serializable numeric identifier validator.
103
+ *
104
+ * @param identifierValidator
105
+ * Identifier validator.
106
+ *
107
+ * @returns
108
+ * True if identifier validator is a non-serializable numeric identifier validator.
109
+ */
110
+ export declare function isNonSerializableNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NonSerializableNumericIdentifierValidator;
111
+ /**
112
+ * Determine if identifier validator is a serializable numeric identifier validator.
113
+ *
114
+ * @param identifierValidator
115
+ * Identifier validator.
116
+ *
117
+ * @returns
118
+ * True if identifier validator is a serializable numeric identifier validator.
119
+ */
120
+ export declare function isSerializableNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is SerializableNumericIdentifierValidator;
121
+ /**
122
+ * Determine if identifier validator is a non-numeric identifier validator.
123
+ *
124
+ * @param identifierValidator
125
+ * Identifier validator.
126
+ *
127
+ * @returns
128
+ * True if identifier validator is a non-numeric identifier validator.
129
+ */
130
+ export declare function isNonNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NonNumericIdentifierValidator;
131
+ //# sourceMappingURL=identifier-validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-validators.d.ts","sourceRoot":"","sources":["../src/identifier-validators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { GTIN_VALIDATORS, GTINValidator } from "./gtin-validator.js";
2
+ import { isGTINDescriptors } from "./identifier-descriptors.js";
3
+ import { isGTINExtension, isNonGTINNumericIdentifierExtension, isNonNumericIdentifierExtension, isNonSerializableNumericIdentifierExtension, isNumericIdentifierExtension, isSerializableNumericIdentifierExtension } from "./identifier-extension.js";
4
+ import { IdentifierTypes } from "./identifier-type.js";
5
+ import { NonNumericIdentifierValidator } from "./non-numeric-identifier-validator.js";
6
+ import { NonSerializableNumericIdentifierValidator } from "./non-serializable-numeric-identifier-validator.js";
7
+ import { SerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
8
+ /**
9
+ * GLN validator.
10
+ */
11
+ const GLN_VALIDATOR = new NonSerializableNumericIdentifierValidator(IdentifierTypes.GLN);
12
+ /**
13
+ * SSCC validator.
14
+ */
15
+ const SSCC_VALIDATOR = new NonSerializableNumericIdentifierValidator(IdentifierTypes.SSCC);
16
+ /**
17
+ * GRAI validator.
18
+ */
19
+ const GRAI_VALIDATOR = new SerializableNumericIdentifierValidator(IdentifierTypes.GRAI);
20
+ /**
21
+ * GIAI validator.
22
+ */
23
+ const GIAI_VALIDATOR = new NonNumericIdentifierValidator(IdentifierTypes.GIAI);
24
+ /**
25
+ * GSRN validator.
26
+ */
27
+ const GSRN_VALIDATOR = new NonSerializableNumericIdentifierValidator(IdentifierTypes.GSRN);
28
+ /**
29
+ * GDTI validator.
30
+ */
31
+ const GDTI_VALIDATOR = new SerializableNumericIdentifierValidator(IdentifierTypes.GDTI);
32
+ /**
33
+ * GINC validator.
34
+ */
35
+ const GINC_VALIDATOR = new NonNumericIdentifierValidator(IdentifierTypes.GINC);
36
+ /**
37
+ * GSIN validator.
38
+ */
39
+ const GSIN_VALIDATOR = new NonSerializableNumericIdentifierValidator(IdentifierTypes.GSIN);
40
+ /**
41
+ * GCN validator.
42
+ */
43
+ const GCN_VALIDATOR = new SerializableNumericIdentifierValidator(IdentifierTypes.GCN);
44
+ /**
45
+ * CPID validator.
46
+ */
47
+ const CPID_VALIDATOR = new NonNumericIdentifierValidator(IdentifierTypes.CPID);
48
+ /**
49
+ * GMN validator.
50
+ */
51
+ const GMN_VALIDATOR = new NonNumericIdentifierValidator(IdentifierTypes.GMN);
52
+ /**
53
+ * Identifier validators for all identifier types.
54
+ */
55
+ export const IdentifierValidators = {
56
+ [IdentifierTypes.GTIN]: GTIN_VALIDATORS,
57
+ [IdentifierTypes.GLN]: GLN_VALIDATOR,
58
+ [IdentifierTypes.SSCC]: SSCC_VALIDATOR,
59
+ [IdentifierTypes.GRAI]: GRAI_VALIDATOR,
60
+ [IdentifierTypes.GIAI]: GIAI_VALIDATOR,
61
+ [IdentifierTypes.GSRN]: GSRN_VALIDATOR,
62
+ [IdentifierTypes.GDTI]: GDTI_VALIDATOR,
63
+ [IdentifierTypes.GINC]: GINC_VALIDATOR,
64
+ [IdentifierTypes.GSIN]: GSIN_VALIDATOR,
65
+ [IdentifierTypes.GCN]: GCN_VALIDATOR,
66
+ [IdentifierTypes.CPID]: CPID_VALIDATOR,
67
+ [IdentifierTypes.GMN]: GMN_VALIDATOR
68
+ };
69
+ export const IdentifierValidatorConstructors = {
70
+ GTIN: GTINValidator,
71
+ GLN: NonSerializableNumericIdentifierValidator,
72
+ SSCC: NonSerializableNumericIdentifierValidator,
73
+ GRAI: SerializableNumericIdentifierValidator,
74
+ GIAI: NonNumericIdentifierValidator,
75
+ GSRN: NonSerializableNumericIdentifierValidator,
76
+ GDTI: SerializableNumericIdentifierValidator,
77
+ GINC: NonNumericIdentifierValidator,
78
+ GSIN: NonSerializableNumericIdentifierValidator,
79
+ GCN: SerializableNumericIdentifierValidator,
80
+ CPID: NonNumericIdentifierValidator,
81
+ GMN: NonNumericIdentifierValidator
82
+ };
83
+ /**
84
+ * Determine if identifier validators or validator is GTIN validators.
85
+ *
86
+ * @param identifierValidatorsOrValidator
87
+ * Identifier validators or validator.
88
+ *
89
+ * @returns
90
+ * True if GTIN validators.
91
+ */
92
+ export function isGTINValidators(identifierValidatorsOrValidator) {
93
+ return isGTINDescriptors(identifierValidatorsOrValidator);
94
+ }
95
+ /**
96
+ * Determine if identifier validator is a numeric identifier validator.
97
+ *
98
+ * @param identifierValidator
99
+ * Identifier validator.
100
+ *
101
+ * @returns
102
+ * True if identifier validator is a numeric identifier validator.
103
+ */
104
+ export function isNumericIdentifierValidator(identifierValidator) {
105
+ return isNumericIdentifierExtension(identifierValidator);
106
+ }
107
+ /**
108
+ * Determine if identifier validator is a GTIN validator.
109
+ *
110
+ * @param identifierValidator
111
+ * Identifier validator.
112
+ *
113
+ * @returns
114
+ * True if identifier validator is a GTIN validator.
115
+ */
116
+ export function isGTINValidator(identifierValidator) {
117
+ return isGTINExtension(identifierValidator);
118
+ }
119
+ /**
120
+ * Determine if identifier validator is a non-GTIN numeric identifier validator.
121
+ *
122
+ * @param identifierValidator
123
+ * Identifier validator.
124
+ *
125
+ * @returns
126
+ * True if identifier validator is a non-GTIN numeric identifier validator.
127
+ */
128
+ export function isNonGTINNumericIdentifierValidator(identifierValidator) {
129
+ return isNonGTINNumericIdentifierExtension(identifierValidator);
130
+ }
131
+ /**
132
+ * Determine if identifier validator is a non-serializable numeric identifier validator.
133
+ *
134
+ * @param identifierValidator
135
+ * Identifier validator.
136
+ *
137
+ * @returns
138
+ * True if identifier validator is a non-serializable numeric identifier validator.
139
+ */
140
+ export function isNonSerializableNumericIdentifierValidator(identifierValidator) {
141
+ return isNonSerializableNumericIdentifierExtension(identifierValidator);
142
+ }
143
+ /**
144
+ * Determine if identifier validator is a serializable numeric identifier validator.
145
+ *
146
+ * @param identifierValidator
147
+ * Identifier validator.
148
+ *
149
+ * @returns
150
+ * True if identifier validator is a serializable numeric identifier validator.
151
+ */
152
+ export function isSerializableNumericIdentifierValidator(identifierValidator) {
153
+ return isSerializableNumericIdentifierExtension(identifierValidator);
154
+ }
155
+ /**
156
+ * Determine if identifier validator is a non-numeric identifier validator.
157
+ *
158
+ * @param identifierValidator
159
+ * Identifier validator.
160
+ *
161
+ * @returns
162
+ * True if identifier validator is a non-numeric identifier validator.
163
+ */
164
+ export function isNonNumericIdentifierValidator(identifierValidator) {
165
+ return isNonNumericIdentifierExtension(identifierValidator);
166
+ }
167
+ //# sourceMappingURL=identifier-validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-validators.js","sourceRoot":"","sources":["../src/identifier-validators.ts"],"names":[],"mappings":"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"}