@aidc-toolkit/gs1 1.0.25-beta → 1.0.27-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 (273) hide show
  1. package/dist/abstract-identifier-creator.d.ts +75 -0
  2. package/dist/abstract-identifier-creator.d.ts.map +1 -0
  3. package/dist/abstract-identifier-creator.js +79 -0
  4. package/dist/abstract-identifier-creator.js.map +1 -0
  5. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts +42 -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 +40 -0
  8. package/dist/abstract-non-gtin-numeric-identifier-creator.js.map +1 -0
  9. package/dist/abstract-numeric-identifier-creator.d.ts +43 -0
  10. package/dist/abstract-numeric-identifier-creator.d.ts.map +1 -0
  11. package/dist/abstract-numeric-identifier-creator.js +160 -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 +50 -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/gtin-creator.d.ts +64 -0
  30. package/dist/gtin-creator.d.ts.map +1 -0
  31. package/dist/gtin-creator.js +156 -0
  32. package/dist/gtin-creator.js.map +1 -0
  33. package/dist/gtin-descriptor.d.ts +22 -0
  34. package/dist/gtin-descriptor.d.ts.map +1 -0
  35. package/dist/gtin-descriptor.js +2 -0
  36. package/dist/gtin-descriptor.js.map +1 -0
  37. package/dist/gtin-length.d.ts +64 -0
  38. package/dist/gtin-length.d.ts.map +1 -0
  39. package/dist/gtin-length.js +36 -0
  40. package/dist/gtin-length.js.map +1 -0
  41. package/dist/gtin-type.d.ts +26 -0
  42. package/dist/gtin-type.d.ts.map +1 -0
  43. package/dist/gtin-type.js +7 -0
  44. package/dist/gtin-type.js.map +1 -0
  45. package/dist/gtin-validator.d.ts +177 -0
  46. package/dist/gtin-validator.d.ts.map +1 -0
  47. package/dist/gtin-validator.js +443 -0
  48. package/dist/gtin-validator.js.map +1 -0
  49. package/dist/identifier-creator.d.ts +31 -0
  50. package/dist/identifier-creator.d.ts.map +1 -0
  51. package/dist/identifier-creator.js +2 -0
  52. package/dist/identifier-creator.js.map +1 -0
  53. package/dist/identifier-creators.d.ts +90 -0
  54. package/dist/identifier-creators.d.ts.map +1 -0
  55. package/dist/identifier-creators.js +74 -0
  56. package/dist/identifier-creators.js.map +1 -0
  57. package/dist/identifier-descriptor.d.ts +27 -0
  58. package/dist/identifier-descriptor.d.ts.map +1 -0
  59. package/dist/identifier-descriptor.js +2 -0
  60. package/dist/identifier-descriptor.js.map +1 -0
  61. package/dist/identifier-descriptors.d.ts +106 -0
  62. package/dist/identifier-descriptors.d.ts.map +1 -0
  63. package/dist/identifier-descriptors.js +262 -0
  64. package/dist/identifier-descriptors.js.map +1 -0
  65. package/dist/identifier-extension.d.ts +82 -0
  66. package/dist/identifier-extension.d.ts.map +1 -0
  67. package/dist/identifier-extension.js +79 -0
  68. package/dist/identifier-extension.js.map +1 -0
  69. package/dist/identifier-type.d.ts +62 -0
  70. package/dist/identifier-type.d.ts.map +1 -0
  71. package/dist/identifier-type.js +54 -0
  72. package/dist/identifier-type.js.map +1 -0
  73. package/dist/identifier-validator.d.ts +88 -0
  74. package/dist/identifier-validator.d.ts.map +1 -0
  75. package/dist/identifier-validator.js +110 -0
  76. package/dist/identifier-validator.js.map +1 -0
  77. package/dist/identifier-validators.d.ts +106 -0
  78. package/dist/identifier-validators.d.ts.map +1 -0
  79. package/dist/identifier-validators.js +153 -0
  80. package/dist/identifier-validators.js.map +1 -0
  81. package/dist/index.d.ts +58 -1949
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +30 -4727
  84. package/dist/index.js.map +1 -1
  85. package/dist/leader-type.d.ts +26 -0
  86. package/dist/leader-type.d.ts.map +1 -0
  87. package/dist/leader-type.js +18 -0
  88. package/dist/leader-type.js.map +1 -0
  89. package/dist/locale/en/locale-resources.d.ts +42 -0
  90. package/dist/locale/en/locale-resources.d.ts.map +1 -0
  91. package/dist/locale/en/locale-resources.js +41 -0
  92. package/dist/locale/en/locale-resources.js.map +1 -0
  93. package/dist/locale/fr/locale-resources.d.ts +42 -0
  94. package/dist/locale/fr/locale-resources.d.ts.map +1 -0
  95. package/dist/locale/fr/locale-resources.js +41 -0
  96. package/dist/locale/fr/locale-resources.js.map +1 -0
  97. package/dist/locale/i18n.d.ts +27 -0
  98. package/dist/locale/i18n.d.ts.map +1 -0
  99. package/dist/locale/i18n.js +36 -0
  100. package/dist/locale/i18n.js.map +1 -0
  101. package/dist/non-gtin-numeric-identifier-creator.d.ts +12 -0
  102. package/dist/non-gtin-numeric-identifier-creator.d.ts.map +1 -0
  103. package/dist/non-gtin-numeric-identifier-creator.js +2 -0
  104. package/dist/non-gtin-numeric-identifier-creator.js.map +1 -0
  105. package/dist/non-gtin-numeric-identifier-descriptor.d.ts +22 -0
  106. package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +1 -0
  107. package/dist/non-gtin-numeric-identifier-descriptor.js +2 -0
  108. package/dist/non-gtin-numeric-identifier-descriptor.js.map +1 -0
  109. package/dist/non-gtin-numeric-identifier-type.d.ts +26 -0
  110. package/dist/non-gtin-numeric-identifier-type.d.ts.map +1 -0
  111. package/dist/non-gtin-numeric-identifier-type.js +8 -0
  112. package/dist/non-gtin-numeric-identifier-type.js.map +1 -0
  113. package/dist/non-gtin-numeric-identifier-validator.d.ts +12 -0
  114. package/dist/non-gtin-numeric-identifier-validator.d.ts.map +1 -0
  115. package/dist/non-gtin-numeric-identifier-validator.js +10 -0
  116. package/dist/non-gtin-numeric-identifier-validator.js.map +1 -0
  117. package/dist/non-numeric-identifier-creator.d.ts +40 -0
  118. package/dist/non-numeric-identifier-creator.d.ts.map +1 -0
  119. package/dist/non-numeric-identifier-creator.js +82 -0
  120. package/dist/non-numeric-identifier-creator.js.map +1 -0
  121. package/dist/non-numeric-identifier-descriptor.d.ts +26 -0
  122. package/dist/non-numeric-identifier-descriptor.d.ts.map +1 -0
  123. package/dist/non-numeric-identifier-descriptor.js +2 -0
  124. package/dist/non-numeric-identifier-descriptor.js.map +1 -0
  125. package/dist/non-numeric-identifier-type.d.ts +26 -0
  126. package/dist/non-numeric-identifier-type.d.ts.map +1 -0
  127. package/dist/non-numeric-identifier-type.js +8 -0
  128. package/dist/non-numeric-identifier-type.js.map +1 -0
  129. package/dist/non-numeric-identifier-validator.d.ts +41 -0
  130. package/dist/non-numeric-identifier-validator.d.ts.map +1 -0
  131. package/dist/non-numeric-identifier-validator.js +69 -0
  132. package/dist/non-numeric-identifier-validator.js.map +1 -0
  133. package/dist/non-serializable-numeric-identifier-creator.d.ts +10 -0
  134. package/dist/non-serializable-numeric-identifier-creator.d.ts.map +1 -0
  135. package/dist/non-serializable-numeric-identifier-creator.js +8 -0
  136. package/dist/non-serializable-numeric-identifier-creator.js.map +1 -0
  137. package/dist/non-serializable-numeric-identifier-descriptor.d.ts +7 -0
  138. package/dist/non-serializable-numeric-identifier-descriptor.d.ts.map +1 -0
  139. package/dist/non-serializable-numeric-identifier-descriptor.js +2 -0
  140. package/dist/non-serializable-numeric-identifier-descriptor.js.map +1 -0
  141. package/dist/non-serializable-numeric-identifier-type.d.ts +26 -0
  142. package/dist/non-serializable-numeric-identifier-type.d.ts.map +1 -0
  143. package/dist/non-serializable-numeric-identifier-type.js +7 -0
  144. package/dist/non-serializable-numeric-identifier-type.js.map +1 -0
  145. package/dist/non-serializable-numeric-identifier-validator.d.ts +16 -0
  146. package/dist/non-serializable-numeric-identifier-validator.d.ts.map +1 -0
  147. package/dist/non-serializable-numeric-identifier-validator.js +17 -0
  148. package/dist/non-serializable-numeric-identifier-validator.js.map +1 -0
  149. package/dist/numeric-identifier-creator.d.ts +53 -0
  150. package/dist/numeric-identifier-creator.d.ts.map +1 -0
  151. package/dist/numeric-identifier-creator.js +2 -0
  152. package/dist/numeric-identifier-creator.js.map +1 -0
  153. package/dist/numeric-identifier-descriptor.d.ts +22 -0
  154. package/dist/numeric-identifier-descriptor.d.ts.map +1 -0
  155. package/dist/numeric-identifier-descriptor.js +2 -0
  156. package/dist/numeric-identifier-descriptor.js.map +1 -0
  157. package/dist/numeric-identifier-type.d.ts +26 -0
  158. package/dist/numeric-identifier-type.d.ts.map +1 -0
  159. package/dist/numeric-identifier-type.js +7 -0
  160. package/dist/numeric-identifier-type.js.map +1 -0
  161. package/dist/numeric-identifier-validator.d.ts +38 -0
  162. package/dist/numeric-identifier-validator.d.ts.map +1 -0
  163. package/dist/numeric-identifier-validator.js +61 -0
  164. package/dist/numeric-identifier-validator.js.map +1 -0
  165. package/dist/prefix-manager.d.ts +136 -0
  166. package/dist/prefix-manager.d.ts.map +1 -0
  167. package/dist/prefix-manager.js +339 -0
  168. package/dist/prefix-manager.js.map +1 -0
  169. package/dist/prefix-provider.d.ts +27 -0
  170. package/dist/prefix-provider.d.ts.map +1 -0
  171. package/dist/prefix-provider.js +2 -0
  172. package/dist/prefix-provider.js.map +1 -0
  173. package/dist/prefix-type.d.ts +26 -0
  174. package/dist/prefix-type.d.ts.map +1 -0
  175. package/dist/prefix-type.js +18 -0
  176. package/dist/prefix-type.js.map +1 -0
  177. package/dist/prefix-validator.d.ts +70 -0
  178. package/dist/prefix-validator.d.ts.map +1 -0
  179. package/dist/prefix-validator.js +208 -0
  180. package/dist/prefix-validator.js.map +1 -0
  181. package/dist/serializable-numeric-identifier-creator.d.ts +48 -0
  182. package/dist/serializable-numeric-identifier-creator.d.ts.map +1 -0
  183. package/dist/serializable-numeric-identifier-creator.js +93 -0
  184. package/dist/serializable-numeric-identifier-creator.js.map +1 -0
  185. package/dist/serializable-numeric-identifier-descriptor.d.ts +26 -0
  186. package/dist/serializable-numeric-identifier-descriptor.d.ts.map +1 -0
  187. package/dist/serializable-numeric-identifier-descriptor.js +2 -0
  188. package/dist/serializable-numeric-identifier-descriptor.js.map +1 -0
  189. package/dist/serializable-numeric-identifier-type.d.ts +26 -0
  190. package/dist/serializable-numeric-identifier-type.d.ts.map +1 -0
  191. package/dist/serializable-numeric-identifier-type.js +8 -0
  192. package/dist/serializable-numeric-identifier-type.js.map +1 -0
  193. package/dist/serializable-numeric-identifier-validator.d.ts +41 -0
  194. package/dist/serializable-numeric-identifier-validator.d.ts.map +1 -0
  195. package/dist/serializable-numeric-identifier-validator.js +78 -0
  196. package/dist/serializable-numeric-identifier-validator.js.map +1 -0
  197. package/package.json +11 -8
  198. package/src/abstract-identifier-creator.ts +157 -76
  199. package/src/abstract-non-gtin-numeric-identifier-creator.ts +86 -0
  200. package/src/abstract-numeric-identifier-creator.ts +205 -136
  201. package/src/check.ts +2 -2
  202. package/src/content-character-set-creators.ts +9 -0
  203. package/src/gtin-creator.ts +20 -19
  204. package/src/gtin-descriptor.ts +10 -4
  205. package/src/gtin-length.ts +61 -0
  206. package/src/gtin-type.ts +6 -37
  207. package/src/gtin-validator.ts +39 -46
  208. package/src/identifier-creator.ts +6 -6
  209. package/src/{creators.ts → identifier-creators.ts} +45 -31
  210. package/src/identifier-descriptor.ts +3 -3
  211. package/src/{descriptors.ts → identifier-descriptors.ts} +65 -63
  212. package/src/identifier-extension.ts +155 -0
  213. package/src/identifier-validator.ts +94 -11
  214. package/src/{validators.ts → identifier-validators.ts} +56 -41
  215. package/src/index.ts +50 -43
  216. package/src/leader-type.ts +29 -0
  217. package/src/locale/i18n.ts +3 -3
  218. package/src/locale/i18next.d.ts +1 -1
  219. package/src/non-gtin-numeric-identifier-creator.ts +8 -23
  220. package/src/non-gtin-numeric-identifier-descriptor.ts +4 -4
  221. package/src/non-gtin-numeric-identifier-type.ts +14 -3
  222. package/src/non-gtin-numeric-identifier-validator.ts +7 -15
  223. package/src/non-numeric-identifier-creator.ts +21 -16
  224. package/src/non-numeric-identifier-descriptor.ts +4 -4
  225. package/src/non-numeric-identifier-type.ts +14 -3
  226. package/src/non-numeric-identifier-validator.ts +12 -13
  227. package/src/non-serializable-numeric-identifier-creator.ts +12 -0
  228. package/src/non-serializable-numeric-identifier-descriptor.ts +7 -0
  229. package/src/non-serializable-numeric-identifier-type.ts +22 -0
  230. package/src/non-serializable-numeric-identifier-validator.ts +19 -0
  231. package/src/numeric-identifier-creator.ts +9 -8
  232. package/src/numeric-identifier-descriptor.ts +4 -3
  233. package/src/numeric-identifier-type.ts +17 -35
  234. package/src/numeric-identifier-validator.ts +62 -7
  235. package/src/prefix-manager.ts +79 -76
  236. package/src/prefix-provider.ts +1 -1
  237. package/src/prefix-validator.ts +3 -3
  238. package/src/serializable-numeric-identifier-creator.ts +13 -27
  239. package/src/serializable-numeric-identifier-descriptor.ts +4 -4
  240. package/src/serializable-numeric-identifier-type.ts +14 -5
  241. package/src/serializable-numeric-identifier-validator.ts +22 -21
  242. package/test/check.test.ts +1 -1
  243. package/test/creator.test.ts +5 -5
  244. package/test/gtin-creator.ts +10 -3
  245. package/test/gtin-validator.test.ts +10 -12
  246. package/test/identifier-creator.ts +12 -12
  247. package/test/identifier-validator.ts +1 -1
  248. package/test/non-gtin-numeric-identifier-creator.ts +3 -3
  249. package/test/non-gtin-numeric-identifier-validator.ts +8 -3
  250. package/test/non-numeric-identifier-creator.ts +1 -1
  251. package/test/non-numeric-identifier-validator.ts +3 -3
  252. package/test/non-serializable-numeric-identifier-creator.ts +64 -0
  253. package/test/non-serializable-numeric-identifier-validator.ts +6 -0
  254. package/test/numeric-identifier-creator.ts +9 -4
  255. package/test/numeric-identifier-validator.ts +2 -2
  256. package/test/prefix-manager.test.ts +2 -2
  257. package/test/serializable-numeric-identifier-creator.ts +2 -2
  258. package/test/serializable-numeric-identifier-validator.ts +3 -3
  259. package/test/setup.ts +1 -1
  260. package/test/sparse.test.ts +1 -1
  261. package/test/utility.ts +1 -1
  262. package/test/validator.test.ts +16 -15
  263. package/test/variable-measure-rcn.test.ts +24 -24
  264. package/tsconfig-config.json +4 -0
  265. package/tsconfig-src.json +8 -0
  266. package/tsconfig-test.json +9 -0
  267. package/tsconfig.json +12 -1
  268. package/tsup.config.ts +3 -2
  269. package/dist/index.cjs +0 -4813
  270. package/dist/index.cjs.map +0 -1
  271. package/dist/index.d.cts +0 -1949
  272. package/src/abstract-identifier-validator.ts +0 -140
  273. package/src/abstract-numeric-identifier-validator.ts +0 -69
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-extension.js","sourceRoot":"","sources":["../src/identifier-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI1D,OAAO,EAEH,6BAA6B,EAChC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAiC,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE5G,OAAO,EAEH,qCAAqC,EACxC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAA8B,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAElG,OAAO,EAEH,kCAAkC,EACrC,MAAM,2CAA2C,CAAC;AAgCnD;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAG1C,oBAA0C;IACxC,OAAO,oBAAoB,CAAC,cAAc,IAAI,sBAAsB,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAI7B,oBAA0C;IACxC,OAAO,oBAAoB,CAAC,cAAc,IAAI,SAAS,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mCAAmC,CAIjD,oBAA0C;IACxC,OAAO,oBAAoB,CAAC,cAAc,IAAI,6BAA6B,CAAC;AAChF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2CAA2C,CAKzD,oBAA0C;IACxC,OAAO,oBAAoB,CAAC,cAAc,IAAI,qCAAqC,CAAC;AACxF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wCAAwC,CAKtD,oBAA0C;IACxC,OAAO,oBAAoB,CAAC,cAAc,IAAI,kCAAkC,CAAC;AACrF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B,CAG7C,oBAA0C;IACxC,OAAO,oBAAoB,CAAC,cAAc,IAAI,yBAAyB,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Identifier types.
3
+ */
4
+ export declare const IdentifierTypes: {
5
+ /**
6
+ * Global Trade Item Number.
7
+ */
8
+ readonly GTIN: "GTIN";
9
+ /**
10
+ * Global Location Number.
11
+ */
12
+ readonly GLN: "GLN";
13
+ /**
14
+ * Serial Shipping Container Code.
15
+ */
16
+ readonly SSCC: "SSCC";
17
+ /**
18
+ * Global Returnable Asset Identifier.
19
+ */
20
+ readonly GRAI: "GRAI";
21
+ /**
22
+ * Global Individual Asset Identifier.
23
+ */
24
+ readonly GIAI: "GIAI";
25
+ /**
26
+ * Global Service Relation Number.
27
+ */
28
+ readonly GSRN: "GSRN";
29
+ /**
30
+ * Global Document Type Identifier.
31
+ */
32
+ readonly GDTI: "GDTI";
33
+ /**
34
+ * Global Identification Number for Consignment.
35
+ */
36
+ readonly GINC: "GINC";
37
+ /**
38
+ * Global Shipment Identification Number.
39
+ */
40
+ readonly GSIN: "GSIN";
41
+ /**
42
+ * Global Coupon Number.
43
+ */
44
+ readonly GCN: "GCN";
45
+ /**
46
+ * Component/Part Identifier.
47
+ */
48
+ readonly CPID: "CPID";
49
+ /**
50
+ * Global Model Number.
51
+ */
52
+ readonly GMN: "GMN";
53
+ };
54
+ /**
55
+ * Identifier type key.
56
+ */
57
+ export type IdentifierTypeKey = keyof typeof IdentifierTypes;
58
+ /**
59
+ * Identifier type.
60
+ */
61
+ export type IdentifierType = typeof IdentifierTypes[IdentifierTypeKey];
62
+ //# sourceMappingURL=identifier-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier-type.d.ts","sourceRoot":"","sources":["../src/identifier-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;IACxB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,eAAe,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,eAAe,CAAC,iBAAiB,CAAC,CAAC"}
@@ -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,88 @@
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
+ * @param positionOffset
74
+ * Position offset within a larger string.
75
+ */
76
+ protected validatePrefix(partialIdentifier: string, positionOffset?: number): void;
77
+ /**
78
+ * Validate an identifier and throw an error if validation fails.
79
+ *
80
+ * @param identifier
81
+ * Identifier.
82
+ *
83
+ * @param validation
84
+ * Identifier validation parameters.
85
+ */
86
+ abstract validate(identifier: string, validation?: TIdentifierValidation): void;
87
+ }
88
+ //# 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;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlF;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI;CAClF"}
@@ -0,0 +1,110 @@
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
+ * @param positionOffset
103
+ * Position offset within a larger string.
104
+ */
105
+ validatePrefix(partialIdentifier, positionOffset) {
106
+ // Delegate to prefix validator with support for U.P.C. Company Prefix but not GS1-8 Prefix.
107
+ PrefixValidator.validate(this.prefixType, true, false, partialIdentifier, true, this.referenceCharacterSet === ContentCharacterSets.Numeric, positionOffset);
108
+ }
109
+ }
110
+ //# 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;;;;;;;;OAQG;IACO,cAAc,CAAC,iBAAyB,EAAE,cAAuB;QACvE,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,EAAE,cAAc,CAAC,CAAC;IACjK,CAAC;CAYJ"}
@@ -0,0 +1,106 @@
1
+ import type { GTINBaseLength } from "./gtin-length.js";
2
+ import type { GTINType } from "./gtin-type.js";
3
+ import { type 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
+ readonly [TIdentifierType in IdentifierType]: IdentifierValidatorsEntry<TIdentifierType>;
31
+ };
32
+ /**
33
+ * Identifier validators for all identifier types.
34
+ */
35
+ export declare const IdentifierValidators: IdentifierValidatorsRecord;
36
+ /**
37
+ * Determine if identifier validators or validator is GTIN validators.
38
+ *
39
+ * @param identifierValidatorsOrValidator
40
+ * Identifier validators or validator.
41
+ *
42
+ * @returns
43
+ * True if GTIN validators.
44
+ */
45
+ export declare function isGTINValidators(identifierValidatorsOrValidator: IdentifierValidatorsEntry<IdentifierType>): identifierValidatorsOrValidator is Readonly<Record<GTINBaseLength, GTINValidator>>;
46
+ /**
47
+ * Determine if identifier validator is a numeric identifier validator.
48
+ *
49
+ * @param identifierValidator
50
+ * Identifier validator.
51
+ *
52
+ * @returns
53
+ * True if identifier validator is a numeric identifier validator.
54
+ */
55
+ export declare function isNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NumericIdentifierValidator;
56
+ /**
57
+ * Determine if identifier validator is a GTIN validator.
58
+ *
59
+ * @param identifierValidator
60
+ * Identifier validator.
61
+ *
62
+ * @returns
63
+ * True if identifier validator is a GTIN validator.
64
+ */
65
+ export declare function isGTINValidator(identifierValidator: IdentifierValidator): identifierValidator is GTINValidator;
66
+ /**
67
+ * Determine if identifier validator is a non-GTIN numeric identifier validator.
68
+ *
69
+ * @param identifierValidator
70
+ * Identifier validator.
71
+ *
72
+ * @returns
73
+ * True if identifier validator is a non-GTIN numeric identifier validator.
74
+ */
75
+ export declare function isNonGTINNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NonGTINNumericIdentifierValidator;
76
+ /**
77
+ * Determine if identifier validator is a non-serializable numeric identifier validator.
78
+ *
79
+ * @param identifierValidator
80
+ * Identifier validator.
81
+ *
82
+ * @returns
83
+ * True if identifier validator is a non-serializable numeric identifier validator.
84
+ */
85
+ export declare function isNonSerializableNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NonSerializableNumericIdentifierValidator;
86
+ /**
87
+ * Determine if identifier validator is a serializable numeric identifier validator.
88
+ *
89
+ * @param identifierValidator
90
+ * Identifier validator.
91
+ *
92
+ * @returns
93
+ * True if identifier validator is a serializable numeric identifier validator.
94
+ */
95
+ export declare function isSerializableNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is SerializableNumericIdentifierValidator;
96
+ /**
97
+ * Determine if identifier validator is a non-numeric identifier validator.
98
+ *
99
+ * @param identifierValidator
100
+ * Identifier validator.
101
+ *
102
+ * @returns
103
+ * True if identifier validator is a non-numeric identifier validator.
104
+ */
105
+ export declare function isNonNumericIdentifierValidator(identifierValidator: IdentifierValidator): identifierValidator is NonNumericIdentifierValidator;
106
+ //# 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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EACH,KAAK,uBAAuB,EAO/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AACpG,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,yCAAyC,EAAE,MAAM,oDAAoD,CAAC;AAC/G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,sCAAsC,EAAE,MAAM,gDAAgD,CAAC;AAyDxG;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,CAAC,eAAe,SAAS,cAAc,IAAI,uBAAuB,CACjG,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EACb,iCAAiC,EACjC,yCAAyC,EACzC,sCAAsC,EACtC,6BAA6B,CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,CAAC,eAAe,SAAS,cAAc,IAAI,eAAe,SAAS,QAAQ,GAC5G,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,GAC/C,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,EAAE,eAAe,IAAI,cAAc,GAAG,yBAAyB,CAAC,eAAe,CAAC;CAC3F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,0BAalC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,+BAA+B,EAAE,yBAAyB,CAAC,cAAc,CAAC,GAAG,+BAA+B,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAE/L;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,mBAAmB,IAAI,0BAA0B,CAExI;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,mBAAmB,IAAI,aAAa,CAE9G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,mBAAmB,IAAI,iCAAiC,CAEtJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,2CAA2C,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,mBAAmB,IAAI,yCAAyC,CAEtK;AAED;;;;;;;;GAQG;AACH,wBAAgB,wCAAwC,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,mBAAmB,IAAI,sCAAsC,CAEhK;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,mBAAmB,IAAI,6BAA6B,CAE9I"}
@@ -0,0 +1,153 @@
1
+ import { GTIN_VALIDATORS } 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
+ /**
70
+ * Determine if identifier validators or validator is GTIN validators.
71
+ *
72
+ * @param identifierValidatorsOrValidator
73
+ * Identifier validators or validator.
74
+ *
75
+ * @returns
76
+ * True if GTIN validators.
77
+ */
78
+ export function isGTINValidators(identifierValidatorsOrValidator) {
79
+ return isGTINDescriptors(identifierValidatorsOrValidator);
80
+ }
81
+ /**
82
+ * Determine if identifier validator is a numeric identifier validator.
83
+ *
84
+ * @param identifierValidator
85
+ * Identifier validator.
86
+ *
87
+ * @returns
88
+ * True if identifier validator is a numeric identifier validator.
89
+ */
90
+ export function isNumericIdentifierValidator(identifierValidator) {
91
+ return isNumericIdentifierExtension(identifierValidator);
92
+ }
93
+ /**
94
+ * Determine if identifier validator is a GTIN validator.
95
+ *
96
+ * @param identifierValidator
97
+ * Identifier validator.
98
+ *
99
+ * @returns
100
+ * True if identifier validator is a GTIN validator.
101
+ */
102
+ export function isGTINValidator(identifierValidator) {
103
+ return isGTINExtension(identifierValidator);
104
+ }
105
+ /**
106
+ * Determine if identifier validator is a non-GTIN numeric identifier validator.
107
+ *
108
+ * @param identifierValidator
109
+ * Identifier validator.
110
+ *
111
+ * @returns
112
+ * True if identifier validator is a non-GTIN numeric identifier validator.
113
+ */
114
+ export function isNonGTINNumericIdentifierValidator(identifierValidator) {
115
+ return isNonGTINNumericIdentifierExtension(identifierValidator);
116
+ }
117
+ /**
118
+ * Determine if identifier validator is a non-serializable numeric identifier validator.
119
+ *
120
+ * @param identifierValidator
121
+ * Identifier validator.
122
+ *
123
+ * @returns
124
+ * True if identifier validator is a non-serializable numeric identifier validator.
125
+ */
126
+ export function isNonSerializableNumericIdentifierValidator(identifierValidator) {
127
+ return isNonSerializableNumericIdentifierExtension(identifierValidator);
128
+ }
129
+ /**
130
+ * Determine if identifier validator is a serializable numeric identifier validator.
131
+ *
132
+ * @param identifierValidator
133
+ * Identifier validator.
134
+ *
135
+ * @returns
136
+ * True if identifier validator is a serializable numeric identifier validator.
137
+ */
138
+ export function isSerializableNumericIdentifierValidator(identifierValidator) {
139
+ return isSerializableNumericIdentifierExtension(identifierValidator);
140
+ }
141
+ /**
142
+ * Determine if identifier validator is a non-numeric identifier validator.
143
+ *
144
+ * @param identifierValidator
145
+ * Identifier validator.
146
+ *
147
+ * @returns
148
+ * True if identifier validator is a non-numeric identifier validator.
149
+ */
150
+ export function isNonNumericIdentifierValidator(identifierValidator) {
151
+ return isNonNumericIdentifierExtension(identifierValidator);
152
+ }
153
+ //# 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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"}