@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 +0,0 @@
1
- {"version":3,"file":"numeric-identifier-type.d.ts","sourceRoot":"","sources":["../src/numeric-identifier-type.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;uEASlC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,sBAAsB,CAAC,wBAAwB,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { pick } from "@aidc-toolkit/core";
2
- import { IdentifierTypes } from "./identifier-type.js";
3
- /**
4
- * Numeric identifier types.
5
- */
6
- export const NumericIdentifierTypes = pick(IdentifierTypes, IdentifierTypes.GTIN, IdentifierTypes.GLN, IdentifierTypes.SSCC, IdentifierTypes.GRAI, IdentifierTypes.GSRN, IdentifierTypes.GDTI, IdentifierTypes.GSIN, IdentifierTypes.GCN);
7
- //# sourceMappingURL=numeric-identifier-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numeric-identifier-type.js","sourceRoot":"","sources":["../src/numeric-identifier-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,EACtD,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,GAAG,EACnB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,GAAG,CACtB,CAAC"}
@@ -1,38 +0,0 @@
1
- import type { IdentifierTypeDescriptor } from "./identifier-descriptors.js";
2
- import { type IdentifierValidation, IdentifierValidator } from "./identifier-validator.js";
3
- import type { NumericIdentifierDescriptor } from "./numeric-identifier-descriptor.js";
4
- import type { NumericIdentifierType } from "./numeric-identifier-type.js";
5
- /**
6
- * Numeric identifier validation parameters.
7
- */
8
- export interface NumericIdentifierValidation extends IdentifierValidation {
9
- /**
10
- * Position offset within a larger string. Some numeric identifier types have the prefix offset by one.
11
- */
12
- positionOffset?: number | undefined;
13
- }
14
- /**
15
- * Numeric identifier validator.
16
- *
17
- * @template TNumericIdentifierType
18
- * Numeric identifier type type.
19
- */
20
- export declare abstract class NumericIdentifierValidator<TNumericIdentifierType extends NumericIdentifierType = NumericIdentifierType> extends IdentifierValidator<TNumericIdentifierType, NumericIdentifierValidation> implements NumericIdentifierDescriptor {
21
- #private;
22
- /**
23
- * Constructor.
24
- *
25
- * @param identifierDescriptor
26
- * Identifier descriptor.
27
- */
28
- constructor(identifierDescriptor: IdentifierTypeDescriptor<TNumericIdentifierType>);
29
- /**
30
- * @inheritDoc
31
- */
32
- get leaderType(): IdentifierTypeDescriptor<TNumericIdentifierType>["leaderType"];
33
- /**
34
- * @inheritDoc
35
- */
36
- validate(identifier: string, validation?: NumericIdentifierValidation): void;
37
- }
38
- //# sourceMappingURL=numeric-identifier-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numeric-identifier-validator.d.ts","sourceRoot":"","sources":["../src/numeric-identifier-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAG3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACrE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;GAKG;AACH,8BAAsB,0BAA0B,CAAC,sBAAsB,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,mBAAmB,CAAC,sBAAsB,EAAE,2BAA2B,CAAE,YAAW,2BAA2B;;IAWlP;;;;;OAKG;gBACS,oBAAoB,EAAE,wBAAwB,CAAC,sBAAsB,CAAC;IAOlF;;OAEG;IACH,IAAI,UAAU,IAAI,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAE/E;IAED;;OAEG;IACM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,2BAA2B,GAAG,IAAI;CAqBxF"}
@@ -1,61 +0,0 @@
1
- import { hasValidCheckDigit } from "./check.js";
2
- import { IdentifierValidator } from "./identifier-validator.js";
3
- import { LeaderTypes } from "./leader-type.js";
4
- import { i18nextGS1 } from "./locale/i18n.js";
5
- /**
6
- * Numeric identifier validator.
7
- *
8
- * @template TNumericIdentifierType
9
- * Numeric identifier type type.
10
- */
11
- export class NumericIdentifierValidator extends IdentifierValidator {
12
- /**
13
- * Leader type.
14
- */
15
- #leaderType;
16
- /**
17
- * Prefix position, determined by the leader type.
18
- */
19
- #prefixPosition;
20
- /**
21
- * Constructor.
22
- *
23
- * @param identifierDescriptor
24
- * Identifier descriptor.
25
- */
26
- constructor(identifierDescriptor) {
27
- super(identifierDescriptor);
28
- this.#leaderType = identifierDescriptor.leaderType;
29
- this.#prefixPosition = Number(this.leaderType === LeaderTypes.ExtensionDigit);
30
- }
31
- /**
32
- * @inheritDoc
33
- */
34
- get leaderType() {
35
- return this.#leaderType;
36
- }
37
- /**
38
- * @inheritDoc
39
- */
40
- validate(identifier, validation) {
41
- // Validate the prefix, with care taken for its position within the identifier.
42
- if (this.#prefixPosition === 0) {
43
- super.validatePrefix(identifier);
44
- }
45
- else {
46
- super.validatePrefix(identifier.substring(this.#prefixPosition));
47
- }
48
- // Validate the length.
49
- if (identifier.length !== this.length) {
50
- throw new RangeError(i18nextGS1.t("Identifier.identifierTypeLength", {
51
- identifierType: this.identifierType,
52
- length: this.length
53
- }));
54
- }
55
- // Validating the check digit will also validate the characters.
56
- if (!hasValidCheckDigit(this.padIdentifier(identifier, validation?.positionOffset))) {
57
- throw new RangeError(i18nextGS1.t("Identifier.invalidCheckDigit"));
58
- }
59
- }
60
- }
61
- //# sourceMappingURL=numeric-identifier-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numeric-identifier-validator.js","sourceRoot":"","sources":["../src/numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAA6B,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;;;;GAKG;AACH,MAAM,OAAgB,0BAAyG,SAAQ,mBAAwE;IAC3M;;OAEG;IACM,WAAW,CAAiE;IAErF;;OAEG;IACM,eAAe,CAAS;IAEjC;;;;;OAKG;IACH,YAAY,oBAAsE;QAC9E,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACM,QAAQ,CAAC,UAAkB,EAAE,UAAwC;QAC1E,+EAA+E;QAC/E,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,uBAAuB;QACvB,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,iCAAiC,EAAE;gBACjE,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;CACJ"}
@@ -1,151 +0,0 @@
1
- import type { GTINCreator } from "./gtin-creator.js";
2
- import { type IdentifierCreatorsRecord } from "./identifier-creators.js";
3
- import { type IdentifierType } from "./identifier-type.js";
4
- import type { NonNumericIdentifierCreator } from "./non-numeric-identifier-creator.js";
5
- import type { NonSerializableNumericIdentifierCreator } from "./non-serializable-numeric-identifier-creator.js";
6
- import type { PrefixProvider } from "./prefix-provider.js";
7
- import { type PrefixType } from "./prefix-type.js";
8
- import type { SerializableNumericIdentifierCreator } from "./serializable-numeric-identifier-creator.js";
9
- /**
10
- * Prefix manager. This is the core class for identifier creation.
11
- *
12
- * A prefix manager may be constructed for any {@link PrefixType | prefix type}. Construction may be done directly or
13
- * via the static {@linkcode PrefixManager.get | get()} method, which allows for caching and reuse. As most applications
14
- * work with a limited number of prefixes for creating identifiers, caching and reuse may be a more efficient option.
15
- *
16
- * The prefix type and prefix are normalized before the prefix manager is constructed, so they may not match the input
17
- * values. For example, the GS1 Company Prefix 0614141 is equivalent to U.P.C. Company Prefix 614141; both result in a
18
- * prefix manager with prefix type equal to {@linkcode PrefixTypes.UPCCompanyPrefix} and prefix equal to "614141".
19
- *
20
- * To support the creation of sparse identifiers, a prefix manager maintains a {@link tweakFactor | tweak factor} which
21
- * is used, along with a type-specific multiplier, as the tweak when creating numeric identifiers. The default tweak
22
- * factor is the numeric value of the GS1 Company Prefix representation of the prefix preceded by '1' to ensure
23
- * uniqueness (i.e., so that prefixes 0 N1 N2 N3... and N1 N2 N3... produce different tweak factors). This is usually
24
- * sufficient for obfuscation, but as the sparse creation algorithm is reversible and as the GS1 Company Prefix is
25
- * discoverable via {@link https://www.gs1.org/services/verified-by-gs1 | Verified by GS1}, a user-defined tweak factor
26
- * should be used if a higher degree of obfuscation is required. When using a tweak factor other than the default, care
27
- * should be taken to restore it when resuming the application. A tweak factor of 0 creates a straight sequence.
28
- */
29
- export declare class PrefixManager implements PrefixProvider {
30
- #private;
31
- /**
32
- * Constructor.
33
- *
34
- * @param prefixType
35
- * Prefix type.
36
- *
37
- * @param prefix
38
- * Prefix.
39
- */
40
- constructor(prefixType: PrefixType, prefix: string);
41
- /**
42
- * Get the prefix type.
43
- */
44
- get prefixType(): PrefixType;
45
- /**
46
- * Get the prefix.
47
- */
48
- get prefix(): string;
49
- /**
50
- * Get the GS1 Company Prefix.
51
- */
52
- get gs1CompanyPrefix(): string;
53
- /**
54
- * Get the U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix} or undefined if not.
55
- */
56
- get upcCompanyPrefix(): string | undefined;
57
- /**
58
- * Get the GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix} or undefined if not.
59
- */
60
- get gs18Prefix(): string | undefined;
61
- /**
62
- * Get the tweak factor.
63
- */
64
- get tweakFactor(): bigint;
65
- /**
66
- * Set the tweak factor.
67
- *
68
- * @param value
69
- * Tweak factor.
70
- */
71
- set tweakFactor(value: number | bigint);
72
- /**
73
- * Reset the tweak factor to its default (numeric value of the GS1 Company Prefix preceded by '1').
74
- */
75
- resetTweakFactor(): void;
76
- /**
77
- * Get a prefix manager.
78
- *
79
- * @param prefixType
80
- * Prefix type.
81
- *
82
- * @param prefix
83
- * Prefix.
84
- *
85
- * @returns
86
- * Prefix manager with normalized prefix type and prefix.
87
- */
88
- static get(prefixType: PrefixType, prefix: string): PrefixManager;
89
- /**
90
- * Get an identifier creator.
91
- *
92
- * @template TIdentifierType
93
- * Identifier type type.
94
- *
95
- * @param identifierType
96
- * Identifier type for which to retrieve or construct identifier creator.
97
- *
98
- * @returns
99
- * Identifier creator.
100
- */
101
- getIdentifierCreator<TIdentifierType extends IdentifierType>(identifierType: TIdentifierType): IdentifierCreatorsRecord[TIdentifierType];
102
- /**
103
- * Get GTIN creator.
104
- */
105
- get gtinCreator(): GTINCreator;
106
- /**
107
- * Get GLN creator.
108
- */
109
- get glnCreator(): NonSerializableNumericIdentifierCreator;
110
- /**
111
- * Get SSCC creator.
112
- */
113
- get ssccCreator(): NonSerializableNumericIdentifierCreator;
114
- /**
115
- * Get GRAI creator.
116
- */
117
- get graiCreator(): SerializableNumericIdentifierCreator;
118
- /**
119
- * Get GIAI creator.
120
- */
121
- get giaiCreator(): NonNumericIdentifierCreator;
122
- /**
123
- * Get GSRN creator.
124
- */
125
- get gsrnCreator(): NonSerializableNumericIdentifierCreator;
126
- /**
127
- * Get GDTI creator.
128
- */
129
- get gdtiCreator(): SerializableNumericIdentifierCreator;
130
- /**
131
- * Get GINC creator.
132
- */
133
- get gincCreator(): NonNumericIdentifierCreator;
134
- /**
135
- * Get GSIN creator.
136
- */
137
- get gsinCreator(): NonSerializableNumericIdentifierCreator;
138
- /**
139
- * Get GCN creator.
140
- */
141
- get gcnCreator(): SerializableNumericIdentifierCreator;
142
- /**
143
- * Get CPID creator.
144
- */
145
- get cpidCreator(): NonNumericIdentifierCreator;
146
- /**
147
- * Get GMN creator.
148
- */
149
- get gmnCreator(): NonNumericIdentifierCreator;
150
- }
151
- //# sourceMappingURL=prefix-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-manager.d.ts","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAEH,KAAK,wBAAwB,EAGhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AAE5E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAEhH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AAEzG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAc,YAAW,cAAc;;IA6DhD;;;;;;;;OAQG;gBACS,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAelD;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAeD;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACH,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAUrC;IAED;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAcjE;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,eAAe,SAAS,cAAc,EAAE,cAAc,EAAE,eAAe,GAAG,wBAAwB,CAAC,eAAe,CAAC;IA0BxI;;OAEG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,uCAAuC,CAExD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,uCAAuC,CAEzD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,oCAAoC,CAEtD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,2BAA2B,CAE7C;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,uCAAuC,CAEzD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,oCAAoC,CAEtD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,2BAA2B,CAE7C;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,uCAAuC,CAEzD;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,oCAAoC,CAErD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,2BAA2B,CAE7C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,2BAA2B,CAE5C;CACJ"}
@@ -1,297 +0,0 @@
1
- var _a;
2
- import { GTIN_BASE_TYPES } from "./gtin-length.js";
3
- import { IdentifierCreatorConstructors, isNumericIdentifierCreator } from "./identifier-creators.js";
4
- import { IdentifierTypes } from "./identifier-type.js";
5
- import { i18nextGS1 } from "./locale/i18n.js";
6
- import { PrefixTypes } from "./prefix-type.js";
7
- import { PrefixValidator } from "./prefix-validator.js";
8
- /**
9
- * Prefix manager. This is the core class for identifier creation.
10
- *
11
- * A prefix manager may be constructed for any {@link PrefixType | prefix type}. Construction may be done directly or
12
- * via the static {@linkcode PrefixManager.get | get()} method, which allows for caching and reuse. As most applications
13
- * work with a limited number of prefixes for creating identifiers, caching and reuse may be a more efficient option.
14
- *
15
- * The prefix type and prefix are normalized before the prefix manager is constructed, so they may not match the input
16
- * values. For example, the GS1 Company Prefix 0614141 is equivalent to U.P.C. Company Prefix 614141; both result in a
17
- * prefix manager with prefix type equal to {@linkcode PrefixTypes.UPCCompanyPrefix} and prefix equal to "614141".
18
- *
19
- * To support the creation of sparse identifiers, a prefix manager maintains a {@link tweakFactor | tweak factor} which
20
- * is used, along with a type-specific multiplier, as the tweak when creating numeric identifiers. The default tweak
21
- * factor is the numeric value of the GS1 Company Prefix representation of the prefix preceded by '1' to ensure
22
- * uniqueness (i.e., so that prefixes 0 N1 N2 N3... and N1 N2 N3... produce different tweak factors). This is usually
23
- * sufficient for obfuscation, but as the sparse creation algorithm is reversible and as the GS1 Company Prefix is
24
- * discoverable via {@link https://www.gs1.org/services/verified-by-gs1 | Verified by GS1}, a user-defined tweak factor
25
- * should be used if a higher degree of obfuscation is required. When using a tweak factor other than the default, care
26
- * should be taken to restore it when resuming the application. A tweak factor of 0 creates a straight sequence.
27
- */
28
- export class PrefixManager {
29
- /**
30
- * Cached prefix managers, keyed by GS1 Company Prefix.
31
- */
32
- static #PREFIX_MANAGERS_MAP = new Map();
33
- /**
34
- * Creator tweak factors. Different numeric identifier types have different tweak factors so that sparse creation
35
- * generates different sequences for each.
36
- */
37
- static #CREATOR_TWEAK_FACTORS = {
38
- GTIN: 1987n,
39
- GLN: 4241n,
40
- SSCC: 8087n,
41
- GRAI: 3221n,
42
- GSRN: 2341n,
43
- GDTI: 7333n,
44
- GSIN: 5623n,
45
- GCN: 6869n
46
- };
47
- /**
48
- * Normalized prefix type.
49
- */
50
- #prefixType;
51
- /**
52
- * Normalized prefix.
53
- */
54
- #prefix;
55
- /**
56
- * Prefix as GS1 Company Prefix.
57
- */
58
- #gs1CompanyPrefix;
59
- /**
60
- * U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix}.
61
- */
62
- #upcCompanyPrefix;
63
- /**
64
- * GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix}.
65
- */
66
- #gs18Prefix;
67
- /**
68
- * Default tweak factor.
69
- */
70
- #defaultTweakFactor;
71
- /**
72
- * Tweak factor.
73
- */
74
- #tweakFactor = 0n;
75
- /**
76
- * Cached identifier creators.
77
- */
78
- #identifierCreators = {};
79
- /**
80
- * Constructor.
81
- *
82
- * @param prefixType
83
- * Prefix type.
84
- *
85
- * @param prefix
86
- * Prefix.
87
- */
88
- constructor(prefixType, prefix) {
89
- const normalizedPrefixProvider = PrefixValidator.normalize(prefixType, prefix);
90
- this.#prefixType = normalizedPrefixProvider.prefixType;
91
- this.#prefix = normalizedPrefixProvider.prefix;
92
- this.#gs1CompanyPrefix = normalizedPrefixProvider.gs1CompanyPrefix;
93
- this.#upcCompanyPrefix = normalizedPrefixProvider.upcCompanyPrefix;
94
- this.#gs18Prefix = normalizedPrefixProvider.gs18Prefix;
95
- // Default tweak factor is the numeric value of the GS1 Company Prefix preceded by '1'.
96
- this.#defaultTweakFactor = BigInt(`1${this.gs1CompanyPrefix}`);
97
- this.resetTweakFactor();
98
- }
99
- /**
100
- * Get the prefix type.
101
- */
102
- get prefixType() {
103
- return this.#prefixType;
104
- }
105
- /**
106
- * Get the prefix.
107
- */
108
- get prefix() {
109
- return this.#prefix;
110
- }
111
- /**
112
- * Get the GS1 Company Prefix.
113
- */
114
- get gs1CompanyPrefix() {
115
- return this.#gs1CompanyPrefix;
116
- }
117
- /**
118
- * Get the U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix} or undefined if not.
119
- */
120
- get upcCompanyPrefix() {
121
- return this.#upcCompanyPrefix;
122
- }
123
- /**
124
- * Get the GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix} or undefined if not.
125
- */
126
- get gs18Prefix() {
127
- return this.#gs18Prefix;
128
- }
129
- /**
130
- * Set the tweak for an identifier creator if it's a numeric identifier creator.
131
- *
132
- * @param identifierCreator
133
- * Identifier creator.
134
- */
135
- #setCreatorTweak(identifierCreator) {
136
- if (isNumericIdentifierCreator(identifierCreator)) {
137
- // eslint-disable-next-line no-param-reassign -- Method purpose is to set the tweak.
138
- identifierCreator.tweak = this.tweakFactor * _a.#CREATOR_TWEAK_FACTORS[identifierCreator.identifierType];
139
- }
140
- }
141
- /**
142
- * Get the tweak factor.
143
- */
144
- get tweakFactor() {
145
- return this.#tweakFactor;
146
- }
147
- /**
148
- * Set the tweak factor.
149
- *
150
- * @param value
151
- * Tweak factor.
152
- */
153
- set tweakFactor(value) {
154
- const tweakFactor = BigInt(value);
155
- if (this.#tweakFactor !== tweakFactor) {
156
- this.#tweakFactor = tweakFactor;
157
- for (const creator of Object.values(this.#identifierCreators)) {
158
- this.#setCreatorTweak(creator);
159
- }
160
- }
161
- }
162
- /**
163
- * Reset the tweak factor to its default (numeric value of the GS1 Company Prefix preceded by '1').
164
- */
165
- resetTweakFactor() {
166
- this.tweakFactor = this.#defaultTweakFactor;
167
- }
168
- /**
169
- * Get a prefix manager.
170
- *
171
- * @param prefixType
172
- * Prefix type.
173
- *
174
- * @param prefix
175
- * Prefix.
176
- *
177
- * @returns
178
- * Prefix manager with normalized prefix type and prefix.
179
- */
180
- static get(prefixType, prefix) {
181
- // Normalization will occur in constructor as well, but it's necessary here for the map.
182
- const normalizedPrefixProvider = PrefixValidator.normalize(prefixType, prefix);
183
- let prefixManager = _a.#PREFIX_MANAGERS_MAP.get(normalizedPrefixProvider.gs1CompanyPrefix);
184
- if (prefixManager === undefined) {
185
- prefixManager = new _a(normalizedPrefixProvider.prefixType, normalizedPrefixProvider.prefix);
186
- _a.#PREFIX_MANAGERS_MAP.set(normalizedPrefixProvider.gs1CompanyPrefix, prefixManager);
187
- }
188
- return prefixManager;
189
- }
190
- /**
191
- * Get an identifier creator.
192
- *
193
- * @template TIdentifierType
194
- * Identifier type type.
195
- *
196
- * @param identifierType
197
- * Identifier type for which to retrieve or construct identifier creator.
198
- *
199
- * @returns
200
- * Identifier creator.
201
- */
202
- getIdentifierCreator(identifierType) {
203
- let creator = this.#identifierCreators[identifierType];
204
- if (creator === undefined) {
205
- if (identifierType === IdentifierTypes.GTIN) {
206
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Types are known to match.
207
- creator = new IdentifierCreatorConstructors.GTIN(this, GTIN_BASE_TYPES[this.prefixType]);
208
- }
209
- else {
210
- if (this.prefixType === PrefixTypes.GS18Prefix) {
211
- throw new RangeError(i18nextGS1.t("Prefix.identifierTypeNotSupportedByGS18Prefix", {
212
- identifierType
213
- }));
214
- }
215
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Types are known to match.
216
- creator = new IdentifierCreatorConstructors[identifierType](this, identifierType);
217
- }
218
- this.#setCreatorTweak(creator);
219
- this.#identifierCreators[identifierType] = creator;
220
- }
221
- return creator;
222
- }
223
- /**
224
- * Get GTIN creator.
225
- */
226
- get gtinCreator() {
227
- return this.getIdentifierCreator(IdentifierTypes.GTIN);
228
- }
229
- /**
230
- * Get GLN creator.
231
- */
232
- get glnCreator() {
233
- return this.getIdentifierCreator(IdentifierTypes.GLN);
234
- }
235
- /**
236
- * Get SSCC creator.
237
- */
238
- get ssccCreator() {
239
- return this.getIdentifierCreator(IdentifierTypes.SSCC);
240
- }
241
- /**
242
- * Get GRAI creator.
243
- */
244
- get graiCreator() {
245
- return this.getIdentifierCreator(IdentifierTypes.GRAI);
246
- }
247
- /**
248
- * Get GIAI creator.
249
- */
250
- get giaiCreator() {
251
- return this.getIdentifierCreator(IdentifierTypes.GIAI);
252
- }
253
- /**
254
- * Get GSRN creator.
255
- */
256
- get gsrnCreator() {
257
- return this.getIdentifierCreator(IdentifierTypes.GSRN);
258
- }
259
- /**
260
- * Get GDTI creator.
261
- */
262
- get gdtiCreator() {
263
- return this.getIdentifierCreator(IdentifierTypes.GDTI);
264
- }
265
- /**
266
- * Get GINC creator.
267
- */
268
- get gincCreator() {
269
- return this.getIdentifierCreator(IdentifierTypes.GINC);
270
- }
271
- /**
272
- * Get GSIN creator.
273
- */
274
- get gsinCreator() {
275
- return this.getIdentifierCreator(IdentifierTypes.GSIN);
276
- }
277
- /**
278
- * Get GCN creator.
279
- */
280
- get gcnCreator() {
281
- return this.getIdentifierCreator(IdentifierTypes.GCN);
282
- }
283
- /**
284
- * Get CPID creator.
285
- */
286
- get cpidCreator() {
287
- return this.getIdentifierCreator(IdentifierTypes.CPID);
288
- }
289
- /**
290
- * Get GMN creator.
291
- */
292
- get gmnCreator() {
293
- return this.getIdentifierCreator(IdentifierTypes.GMN);
294
- }
295
- }
296
- _a = PrefixManager;
297
- //# sourceMappingURL=prefix-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-manager.js","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { PrefixType } from "./prefix-type.js";
2
- /**
3
- * Prefix provider.
4
- */
5
- export interface PrefixProvider {
6
- /**
7
- * Prefix type.
8
- */
9
- readonly prefixType: PrefixType;
10
- /**
11
- * Prefix appropriate to the prefix type.
12
- */
13
- readonly prefix: string;
14
- /**
15
- * Prefix as GS1 Company Prefix.
16
- */
17
- readonly gs1CompanyPrefix: string;
18
- /**
19
- * Prefix as U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix} or undefined if not.
20
- */
21
- readonly upcCompanyPrefix: string | undefined;
22
- /**
23
- * Prefix as GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix} or undefined if not.
24
- */
25
- readonly gs18Prefix: string | undefined;
26
- }
27
- //# sourceMappingURL=prefix-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-provider.d.ts","sourceRoot":"","sources":["../src/prefix-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=prefix-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-provider.js","sourceRoot":"","sources":["../src/prefix-provider.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- /**
2
- * Prefix types.
3
- */
4
- export declare const PrefixTypes: {
5
- /**
6
- * GS1 Company Prefix.
7
- */
8
- readonly GS1CompanyPrefix: "GS1 Company Prefix";
9
- /**
10
- * U.P.C. Company Prefix.
11
- */
12
- readonly UPCCompanyPrefix: "U.P.C. Company Prefix";
13
- /**
14
- * GS1-8 Prefix.
15
- */
16
- readonly GS18Prefix: "GS1-8 Prefix";
17
- };
18
- /**
19
- * Prefix type key.
20
- */
21
- export type PrefixTypeKey = keyof typeof PrefixTypes;
22
- /**
23
- * Prefix type.
24
- */
25
- export type PrefixType = typeof PrefixTypes[PrefixTypeKey];
26
- //# sourceMappingURL=prefix-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefix-type.d.ts","sourceRoot":"","sources":["../src/prefix-type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW;IACpB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC"}