@aidc-toolkit/gs1 1.0.26-beta → 1.0.28-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.
- package/dist/abstract-identifier-creator.d.ts +32 -66
- package/dist/abstract-identifier-creator.d.ts.map +1 -1
- package/dist/abstract-identifier-creator.js +62 -45
- package/dist/abstract-identifier-creator.js.map +1 -1
- package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts +36 -0
- package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/abstract-non-gtin-numeric-identifier-creator.js +37 -0
- package/dist/abstract-non-gtin-numeric-identifier-creator.js.map +1 -0
- package/dist/abstract-numeric-identifier-creator.d.ts +28 -86
- package/dist/abstract-numeric-identifier-creator.d.ts.map +1 -1
- package/dist/abstract-numeric-identifier-creator.js +138 -121
- package/dist/abstract-numeric-identifier-creator.js.map +1 -1
- package/dist/content-character-set-creators.d.ts +4 -0
- package/dist/content-character-set-creators.d.ts.map +1 -0
- package/dist/content-character-set-creators.js +9 -0
- package/dist/content-character-set-creators.js.map +1 -0
- package/dist/gtin-creator.d.ts +8 -13
- package/dist/gtin-creator.d.ts.map +1 -1
- package/dist/gtin-creator.js +12 -15
- package/dist/gtin-creator.js.map +1 -1
- package/dist/gtin-descriptor.d.ts +8 -3
- package/dist/gtin-descriptor.d.ts.map +1 -1
- package/dist/gtin-length.d.ts +64 -0
- package/dist/gtin-length.d.ts.map +1 -0
- package/dist/gtin-length.js +36 -0
- package/dist/gtin-length.js.map +1 -0
- package/dist/gtin-type.d.ts +15 -28
- package/dist/gtin-type.d.ts.map +1 -1
- package/dist/gtin-type.js +4 -28
- package/dist/gtin-type.js.map +1 -1
- package/dist/gtin-validator.d.ts +9 -23
- package/dist/gtin-validator.d.ts.map +1 -1
- package/dist/gtin-validator.js +32 -39
- package/dist/gtin-validator.js.map +1 -1
- package/dist/identifier-creator.d.ts +4 -4
- package/dist/identifier-creator.d.ts.map +1 -1
- package/dist/{creators.d.ts → identifier-creators.d.ts} +47 -10
- package/dist/identifier-creators.d.ts.map +1 -0
- package/dist/identifier-creators.js +92 -0
- package/dist/identifier-creators.js.map +1 -0
- package/dist/{descriptors.d.ts → identifier-descriptors.d.ts} +20 -10
- package/dist/identifier-descriptors.d.ts.map +1 -0
- package/dist/{descriptors.js → identifier-descriptors.js} +27 -31
- package/dist/identifier-descriptors.js.map +1 -0
- package/dist/identifier-extension.d.ts +82 -0
- package/dist/identifier-extension.d.ts.map +1 -0
- package/dist/identifier-extension.js +79 -0
- package/dist/identifier-extension.js.map +1 -0
- package/dist/identifier-validator.d.ts +44 -9
- package/dist/identifier-validator.d.ts.map +1 -1
- package/dist/identifier-validator.js +109 -1
- package/dist/identifier-validator.js.map +1 -1
- package/dist/{validators.d.ts → identifier-validators.d.ts} +47 -12
- package/dist/identifier-validators.d.ts.map +1 -0
- package/dist/{validators.js → identifier-validators.js} +40 -13
- package/dist/identifier-validators.js.map +1 -0
- package/dist/index.d.ts +15 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/dist/leader-type.d.ts +26 -0
- package/dist/leader-type.d.ts.map +1 -0
- package/dist/leader-type.js +18 -0
- package/dist/leader-type.js.map +1 -0
- package/dist/non-gtin-numeric-identifier-creator.d.ts +7 -19
- package/dist/non-gtin-numeric-identifier-creator.d.ts.map +1 -1
- package/dist/non-gtin-numeric-identifier-creator.js +1 -22
- package/dist/non-gtin-numeric-identifier-creator.js.map +1 -1
- package/dist/non-gtin-numeric-identifier-descriptor.d.ts +1 -1
- package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +1 -1
- package/dist/non-gtin-numeric-identifier-type.d.ts +22 -3
- package/dist/non-gtin-numeric-identifier-type.d.ts.map +1 -1
- package/dist/non-gtin-numeric-identifier-type.js +7 -1
- package/dist/non-gtin-numeric-identifier-type.js.map +1 -1
- package/dist/non-gtin-numeric-identifier-validator.d.ts +5 -10
- package/dist/non-gtin-numeric-identifier-validator.d.ts.map +1 -1
- package/dist/non-gtin-numeric-identifier-validator.js +5 -12
- package/dist/non-gtin-numeric-identifier-validator.js.map +1 -1
- package/dist/non-numeric-identifier-creator.d.ts +4 -9
- package/dist/non-numeric-identifier-creator.d.ts.map +1 -1
- package/dist/non-numeric-identifier-creator.js +8 -10
- package/dist/non-numeric-identifier-creator.js.map +1 -1
- package/dist/non-numeric-identifier-type.d.ts +22 -3
- package/dist/non-numeric-identifier-type.d.ts.map +1 -1
- package/dist/non-numeric-identifier-type.js +7 -1
- package/dist/non-numeric-identifier-type.js.map +1 -1
- package/dist/non-numeric-identifier-validator.d.ts +3 -11
- package/dist/non-numeric-identifier-validator.d.ts.map +1 -1
- package/dist/non-numeric-identifier-validator.js +8 -8
- package/dist/non-numeric-identifier-validator.js.map +1 -1
- package/dist/non-serializable-numeric-identifier-creator.d.ts +10 -0
- package/dist/non-serializable-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/non-serializable-numeric-identifier-creator.js +8 -0
- package/dist/non-serializable-numeric-identifier-creator.js.map +1 -0
- package/dist/non-serializable-numeric-identifier-descriptor.d.ts +12 -0
- package/dist/non-serializable-numeric-identifier-descriptor.d.ts.map +1 -0
- package/dist/non-serializable-numeric-identifier-descriptor.js +2 -0
- package/dist/non-serializable-numeric-identifier-descriptor.js.map +1 -0
- package/dist/non-serializable-numeric-identifier-type.d.ts +26 -0
- package/dist/non-serializable-numeric-identifier-type.d.ts.map +1 -0
- package/dist/non-serializable-numeric-identifier-type.js +7 -0
- package/dist/non-serializable-numeric-identifier-type.js.map +1 -0
- package/dist/non-serializable-numeric-identifier-validator.d.ts +16 -0
- package/dist/non-serializable-numeric-identifier-validator.d.ts.map +1 -0
- package/dist/non-serializable-numeric-identifier-validator.js +17 -0
- package/dist/non-serializable-numeric-identifier-validator.js.map +1 -0
- package/dist/numeric-identifier-creator.d.ts +6 -6
- package/dist/numeric-identifier-creator.d.ts.map +1 -1
- package/dist/numeric-identifier-descriptor.d.ts +2 -1
- package/dist/numeric-identifier-descriptor.d.ts.map +1 -1
- package/dist/numeric-identifier-type.d.ts +19 -24
- package/dist/numeric-identifier-type.d.ts.map +1 -1
- package/dist/numeric-identifier-type.js +4 -15
- package/dist/numeric-identifier-type.js.map +1 -1
- package/dist/numeric-identifier-validator.d.ts +20 -6
- package/dist/numeric-identifier-validator.d.ts.map +1 -1
- package/dist/numeric-identifier-validator.js +60 -1
- package/dist/numeric-identifier-validator.js.map +1 -1
- package/dist/prefix-manager.d.ts +13 -94
- package/dist/prefix-manager.d.ts.map +1 -1
- package/dist/prefix-manager.js +65 -102
- package/dist/prefix-manager.js.map +1 -1
- package/dist/serializable-numeric-identifier-creator.d.ts +3 -31
- package/dist/serializable-numeric-identifier-creator.d.ts.map +1 -1
- package/dist/serializable-numeric-identifier-creator.js +7 -21
- package/dist/serializable-numeric-identifier-creator.js.map +1 -1
- package/dist/serializable-numeric-identifier-descriptor.d.ts +1 -1
- package/dist/serializable-numeric-identifier-descriptor.d.ts.map +1 -1
- package/dist/serializable-numeric-identifier-type.d.ts +22 -2
- package/dist/serializable-numeric-identifier-type.d.ts.map +1 -1
- package/dist/serializable-numeric-identifier-type.js +7 -1
- package/dist/serializable-numeric-identifier-type.js.map +1 -1
- package/dist/serializable-numeric-identifier-validator.d.ts +3 -18
- package/dist/serializable-numeric-identifier-validator.d.ts.map +1 -1
- package/dist/serializable-numeric-identifier-validator.js +17 -16
- package/dist/serializable-numeric-identifier-validator.js.map +1 -1
- package/package.json +4 -5
- package/src/abstract-identifier-creator.ts +104 -75
- package/src/abstract-non-gtin-numeric-identifier-creator.ts +81 -0
- package/src/abstract-numeric-identifier-creator.ts +185 -133
- package/src/content-character-set-creators.ts +9 -0
- package/src/gtin-creator.ts +15 -16
- package/src/gtin-descriptor.ts +9 -3
- package/src/gtin-length.ts +61 -0
- package/src/gtin-type.ts +6 -37
- package/src/gtin-validator.ts +34 -41
- package/src/identifier-creator.ts +4 -4
- package/src/identifier-creators.ts +177 -0
- package/src/{descriptors.ts → identifier-descriptors.ts} +56 -54
- package/src/identifier-extension.ts +155 -0
- package/src/identifier-validator.ts +93 -10
- package/src/{validators.ts → identifier-validators.ts} +98 -36
- package/src/index.ts +15 -9
- package/src/leader-type.ts +29 -0
- package/src/non-gtin-numeric-identifier-creator.ts +7 -22
- package/src/non-gtin-numeric-identifier-descriptor.ts +1 -1
- package/src/non-gtin-numeric-identifier-type.ts +14 -3
- package/src/non-gtin-numeric-identifier-validator.ts +5 -13
- package/src/non-numeric-identifier-creator.ts +15 -12
- package/src/non-numeric-identifier-type.ts +14 -3
- package/src/non-numeric-identifier-validator.ts +8 -9
- package/src/non-serializable-numeric-identifier-creator.ts +11 -0
- package/src/non-serializable-numeric-identifier-descriptor.ts +12 -0
- package/src/non-serializable-numeric-identifier-type.ts +22 -0
- package/src/non-serializable-numeric-identifier-validator.ts +19 -0
- package/src/numeric-identifier-creator.ts +7 -6
- package/src/numeric-identifier-descriptor.ts +2 -1
- package/src/numeric-identifier-type.ts +17 -35
- package/src/numeric-identifier-validator.ts +61 -6
- package/src/prefix-manager.ts +76 -112
- package/src/serializable-numeric-identifier-creator.ts +10 -25
- package/src/serializable-numeric-identifier-descriptor.ts +1 -1
- package/src/serializable-numeric-identifier-type.ts +14 -5
- package/src/serializable-numeric-identifier-validator.ts +17 -16
- package/test/gtin-creator.ts +9 -2
- package/test/gtin-validator.test.ts +8 -10
- package/test/identifier-creator.ts +7 -7
- package/test/mixin.test.ts +35 -0
- package/test/non-gtin-numeric-identifier-validator.ts +7 -2
- package/test/non-numeric-identifier-validator.ts +2 -2
- package/test/non-serializable-numeric-identifier-creator.ts +64 -0
- package/test/non-serializable-numeric-identifier-validator.ts +6 -0
- package/test/numeric-identifier-creator.ts +7 -2
- package/test/serializable-numeric-identifier-validator.ts +2 -2
- package/test/utility.ts +6 -6
- package/test/validator.test.ts +11 -10
- package/test/variable-measure-rcn.test.ts +23 -23
- package/dist/abstract-identifier-validator.d.ts +0 -95
- package/dist/abstract-identifier-validator.d.ts.map +0 -1
- package/dist/abstract-identifier-validator.js +0 -123
- package/dist/abstract-identifier-validator.js.map +0 -1
- package/dist/abstract-numeric-identifier-validator.d.ts +0 -35
- package/dist/abstract-numeric-identifier-validator.d.ts.map +0 -1
- package/dist/abstract-numeric-identifier-validator.js +0 -61
- package/dist/abstract-numeric-identifier-validator.js.map +0 -1
- package/dist/creators.d.ts.map +0 -1
- package/dist/creators.js +0 -62
- package/dist/creators.js.map +0 -1
- package/dist/descriptors.d.ts.map +0 -1
- package/dist/descriptors.js.map +0 -1
- package/dist/validators.d.ts.map +0 -1
- package/dist/validators.js.map +0 -1
- package/src/abstract-identifier-validator.ts +0 -140
- package/src/abstract-numeric-identifier-validator.ts +0 -69
- package/src/creators.ts +0 -113
package/dist/gtin-type.js
CHANGED
|
@@ -1,31 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { pick } from "@aidc-toolkit/core";
|
|
2
|
+
import { NumericIdentifierTypes } from "./numeric-identifier-type.js";
|
|
2
3
|
/**
|
|
3
|
-
* GTIN types.
|
|
4
|
+
* GTIN types.
|
|
4
5
|
*/
|
|
5
|
-
export const GTINTypes =
|
|
6
|
-
/**
|
|
7
|
-
* GTIN-13.
|
|
8
|
-
*/
|
|
9
|
-
GTIN13: 13,
|
|
10
|
-
/**
|
|
11
|
-
* GTIN-12.
|
|
12
|
-
*/
|
|
13
|
-
GTIN12: 12,
|
|
14
|
-
/**
|
|
15
|
-
* GTIN-8.
|
|
16
|
-
*/
|
|
17
|
-
GTIN8: 8,
|
|
18
|
-
/**
|
|
19
|
-
* GTIN-14.
|
|
20
|
-
*/
|
|
21
|
-
GTIN14: 14
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* GTIN base types by prefix type. Used to determine the GTIN type supported by a prefix type.
|
|
25
|
-
*/
|
|
26
|
-
export const GTIN_BASE_TYPES = {
|
|
27
|
-
[PrefixTypes.GS1CompanyPrefix]: GTINTypes.GTIN13,
|
|
28
|
-
[PrefixTypes.UPCCompanyPrefix]: GTINTypes.GTIN12,
|
|
29
|
-
[PrefixTypes.GS18Prefix]: GTINTypes.GTIN8
|
|
30
|
-
};
|
|
6
|
+
export const GTINTypes = pick(NumericIdentifierTypes, NumericIdentifierTypes.GTIN);
|
|
31
7
|
//# sourceMappingURL=gtin-type.js.map
|
package/dist/gtin-type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtin-type.js","sourceRoot":"","sources":["../src/gtin-type.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"gtin-type.js","sourceRoot":"","sources":["../src/gtin-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAChD,sBAAsB,CAAC,IAAI,CAC9B,CAAC"}
|
package/dist/gtin-validator.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { AbstractNumericIdentifierValidator } from "./abstract-numeric-identifier-validator.js";
|
|
2
1
|
import type { GTINDescriptor } from "./gtin-descriptor.js";
|
|
3
|
-
import { type
|
|
2
|
+
import { type GTINBaseLength } from "./gtin-length.js";
|
|
3
|
+
import type { GTINType } from "./gtin-type.js";
|
|
4
|
+
import { NumericIdentifierValidator } from "./numeric-identifier-validator.js";
|
|
4
5
|
import { type PrefixType } from "./prefix-type.js";
|
|
5
6
|
/**
|
|
6
7
|
* Levels at which GTIN is to be validated.
|
|
@@ -43,34 +44,19 @@ export interface RCNReference {
|
|
|
43
44
|
/**
|
|
44
45
|
* GTIN validator.
|
|
45
46
|
*/
|
|
46
|
-
export declare class GTINValidator extends
|
|
47
|
-
|
|
48
|
-
* Validation parameters for optional indicator digit.
|
|
49
|
-
*/
|
|
50
|
-
private static readonly OPTIONAL_INDICATOR_DIGIT_VALIDATION;
|
|
51
|
-
/**
|
|
52
|
-
* Validation parameters for zero-suppressed GTIN-12.
|
|
53
|
-
*/
|
|
54
|
-
private static readonly ZERO_SUPPRESSED_GTIN12_VALIDATION;
|
|
55
|
-
/**
|
|
56
|
-
* Prefix type.
|
|
57
|
-
*/
|
|
58
|
-
private readonly _prefixType;
|
|
47
|
+
export declare class GTINValidator extends NumericIdentifierValidator<GTINType> implements GTINDescriptor {
|
|
48
|
+
#private;
|
|
59
49
|
/**
|
|
60
50
|
* Constructor.
|
|
61
51
|
*
|
|
62
|
-
* @param
|
|
63
|
-
* GTIN base
|
|
52
|
+
* @param gtinBaseLength
|
|
53
|
+
* GTIN base length (all except GTIN-14).
|
|
64
54
|
*/
|
|
65
|
-
constructor(
|
|
55
|
+
constructor(gtinBaseLength: GTINBaseLength);
|
|
66
56
|
/**
|
|
67
57
|
* @inheritDoc
|
|
68
58
|
*/
|
|
69
59
|
get prefixType(): PrefixType;
|
|
70
|
-
/**
|
|
71
|
-
* @inheritDoc
|
|
72
|
-
*/
|
|
73
|
-
get gtinType(): GTINType;
|
|
74
60
|
/**
|
|
75
61
|
* @inheritDoc
|
|
76
62
|
*/
|
|
@@ -187,5 +173,5 @@ export declare const GTIN8_VALIDATOR: GTINValidator;
|
|
|
187
173
|
/**
|
|
188
174
|
* GTIN validators indexed by prefix type.
|
|
189
175
|
*/
|
|
190
|
-
export declare const GTIN_VALIDATORS: Readonly<Record<
|
|
176
|
+
export declare const GTIN_VALIDATORS: Readonly<Record<GTINBaseLength, GTINValidator>>;
|
|
191
177
|
//# sourceMappingURL=gtin-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtin-validator.d.ts","sourceRoot":"","sources":["../src/gtin-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gtin-validator.d.ts","sourceRoot":"","sources":["../src/gtin-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAGhE;;GAEG;AACH,eAAO,MAAM,UAAU;IACnB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,UAAU,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,0BAA0B,CAAC,QAAQ,CAAE,YAAW,cAAc;;IAuB7F;;;;;OAKG;gBACS,cAAc,EAAE,cAAc;IAQ1C;;OAEG;IACH,IAAa,UAAU,IAAI,UAAU,CAEpC;IAED;;OAEG;cACgB,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3F;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA4B3C;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM;IA+BvD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAkBpE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgEtC;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,SAA0B,GAAG,IAAI;IA2D7E;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;CAgG5E;AAED;;GAEG;AAEH,eAAO,MAAM,gBAAgB,eAAwC,CAAC;AAEtE;;GAEG;AAEH,eAAO,MAAM,gBAAgB,eAAwC,CAAC;AAEtE;;GAEG;AAEH,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE;;GAEG;AAEH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAI3E,CAAC"}
|
package/dist/gtin-validator.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { NUMERIC_CREATOR } from "@aidc-toolkit/utility";
|
|
2
|
-
import { AbstractNumericIdentifierValidator } from "./abstract-numeric-identifier-validator.js";
|
|
3
2
|
import { checkDigit, hasValidCheckDigit, isValidPriceOrWeightCheckDigit } from "./check.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { GTINLengths } from "./gtin-length.js";
|
|
4
|
+
import { IdentifierDescriptors } from "./identifier-descriptors.js";
|
|
6
5
|
import { i18nextGS1 } from "./locale/i18n.js";
|
|
6
|
+
import { NumericIdentifierValidator } from "./numeric-identifier-validator.js";
|
|
7
7
|
import { PrefixTypes } from "./prefix-type.js";
|
|
8
8
|
import { PrefixValidator } from "./prefix-validator.js";
|
|
9
9
|
/**
|
|
@@ -26,11 +26,11 @@ export const GTINLevels = {
|
|
|
26
26
|
/**
|
|
27
27
|
* GTIN validator.
|
|
28
28
|
*/
|
|
29
|
-
export class GTINValidator extends
|
|
29
|
+
export class GTINValidator extends NumericIdentifierValidator {
|
|
30
30
|
/**
|
|
31
31
|
* Validation parameters for optional indicator digit.
|
|
32
32
|
*/
|
|
33
|
-
static OPTIONAL_INDICATOR_DIGIT_VALIDATION = {
|
|
33
|
+
static #OPTIONAL_INDICATOR_DIGIT_VALIDATION = {
|
|
34
34
|
minimumLength: 0,
|
|
35
35
|
maximumLength: 1,
|
|
36
36
|
component: () => i18nextGS1.t("Identifier.indicatorDigit")
|
|
@@ -38,37 +38,30 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
38
38
|
/**
|
|
39
39
|
* Validation parameters for zero-suppressed GTIN-12.
|
|
40
40
|
*/
|
|
41
|
-
static ZERO_SUPPRESSED_GTIN12_VALIDATION = {
|
|
41
|
+
static #ZERO_SUPPRESSED_GTIN12_VALIDATION = {
|
|
42
42
|
minimumLength: 8,
|
|
43
43
|
maximumLength: 8
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
46
|
* Prefix type.
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
#prefixType;
|
|
49
49
|
/**
|
|
50
50
|
* Constructor.
|
|
51
51
|
*
|
|
52
|
-
* @param
|
|
53
|
-
* GTIN base
|
|
52
|
+
* @param gtinBaseLength
|
|
53
|
+
* GTIN base length (all except GTIN-14).
|
|
54
54
|
*/
|
|
55
|
-
constructor(
|
|
56
|
-
const identifierDescriptor = IdentifierDescriptors.GTIN[
|
|
55
|
+
constructor(gtinBaseLength) {
|
|
56
|
+
const identifierDescriptor = IdentifierDescriptors.GTIN[gtinBaseLength];
|
|
57
57
|
super(identifierDescriptor);
|
|
58
|
-
this
|
|
58
|
+
this.#prefixType = identifierDescriptor.prefixType;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
61
|
* @inheritDoc
|
|
62
62
|
*/
|
|
63
63
|
get prefixType() {
|
|
64
|
-
return this
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* @inheritDoc
|
|
68
|
-
*/
|
|
69
|
-
get gtinType() {
|
|
70
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Length maps to GTIN type.
|
|
71
|
-
return this.length;
|
|
64
|
+
return this.#prefixType;
|
|
72
65
|
}
|
|
73
66
|
/**
|
|
74
67
|
* @inheritDoc
|
|
@@ -121,7 +114,7 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
121
114
|
* GTIN-12.
|
|
122
115
|
*/
|
|
123
116
|
static zeroExpand(zeroSuppressedGTIN12) {
|
|
124
|
-
NUMERIC_CREATOR.validate(zeroSuppressedGTIN12, GTINValidator
|
|
117
|
+
NUMERIC_CREATOR.validate(zeroSuppressedGTIN12, GTINValidator.#ZERO_SUPPRESSED_GTIN12_VALIDATION);
|
|
125
118
|
// Convert to individual digits.
|
|
126
119
|
const d = Array.from(zeroSuppressedGTIN12);
|
|
127
120
|
let gtin12;
|
|
@@ -161,12 +154,12 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
161
154
|
*/
|
|
162
155
|
static convertToGTIN14(indicatorDigit, gtin) {
|
|
163
156
|
GTINValidator.validateAny(gtin);
|
|
164
|
-
NUMERIC_CREATOR.validate(indicatorDigit, GTINValidator
|
|
157
|
+
NUMERIC_CREATOR.validate(indicatorDigit, GTINValidator.#OPTIONAL_INDICATOR_DIGIT_VALIDATION);
|
|
165
158
|
// Check digit doesn't change by prepending zeros.
|
|
166
|
-
let gtin14 = gtin.padStart(
|
|
159
|
+
let gtin14 = gtin.padStart(GTINLengths.GTIN14, "0");
|
|
167
160
|
// If indicator digit provided and is different, recalculate the check digit.
|
|
168
161
|
if (indicatorDigit.length !== 0 && indicatorDigit !== gtin14.charAt(0)) {
|
|
169
|
-
const partialGTIN14 = indicatorDigit + gtin14.substring(1,
|
|
162
|
+
const partialGTIN14 = indicatorDigit + gtin14.substring(1, GTINLengths.GTIN14 - 1);
|
|
170
163
|
gtin14 = partialGTIN14 + checkDigit(partialGTIN14);
|
|
171
164
|
}
|
|
172
165
|
return gtin14;
|
|
@@ -188,7 +181,7 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
188
181
|
const gtinLength = gtin.length;
|
|
189
182
|
let normalizedGTIN;
|
|
190
183
|
switch (gtinLength) {
|
|
191
|
-
case
|
|
184
|
+
case GTINLengths.GTIN13:
|
|
192
185
|
if (!gtin.startsWith("0")) {
|
|
193
186
|
// GTIN is GTIN-13.
|
|
194
187
|
normalizedGTIN = gtin;
|
|
@@ -205,11 +198,11 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
205
198
|
throw new RangeError(i18nextGS1.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN13"));
|
|
206
199
|
}
|
|
207
200
|
break;
|
|
208
|
-
case
|
|
201
|
+
case GTINLengths.GTIN12:
|
|
209
202
|
// GTIN is GTIN-12.
|
|
210
203
|
normalizedGTIN = gtin;
|
|
211
204
|
break;
|
|
212
|
-
case
|
|
205
|
+
case GTINLengths.GTIN8:
|
|
213
206
|
if (!gtin.startsWith("0")) {
|
|
214
207
|
// GTIN is GTIN-8.
|
|
215
208
|
normalizedGTIN = gtin;
|
|
@@ -219,7 +212,7 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
219
212
|
normalizedGTIN = GTINValidator.zeroExpand(gtin);
|
|
220
213
|
}
|
|
221
214
|
break;
|
|
222
|
-
case
|
|
215
|
+
case GTINLengths.GTIN14:
|
|
223
216
|
if (!gtin.startsWith("0")) {
|
|
224
217
|
// GTIN is GTIN-14.
|
|
225
218
|
normalizedGTIN = gtin;
|
|
@@ -261,7 +254,7 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
261
254
|
let lengthValidatedGTIN = gtin;
|
|
262
255
|
let gtinLevelRestriction;
|
|
263
256
|
switch (gtin.length) {
|
|
264
|
-
case
|
|
257
|
+
case GTINLengths.GTIN13:
|
|
265
258
|
if (gtin.startsWith("0")) {
|
|
266
259
|
throw new RangeError(i18nextGS1.t("Identifier.invalidGTIN13AtRetail"));
|
|
267
260
|
}
|
|
@@ -269,12 +262,12 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
269
262
|
PrefixValidator.validate(PrefixTypes.GS1CompanyPrefix, false, false, gtin, true, true);
|
|
270
263
|
gtinLevelRestriction = GTINLevels.Any;
|
|
271
264
|
break;
|
|
272
|
-
case
|
|
265
|
+
case GTINLengths.GTIN12:
|
|
273
266
|
// Validate prefix requiring exact match for prefix type.
|
|
274
267
|
PrefixValidator.validate(PrefixTypes.UPCCompanyPrefix, false, false, gtin, true, true);
|
|
275
268
|
gtinLevelRestriction = GTINLevels.Any;
|
|
276
269
|
break;
|
|
277
|
-
case
|
|
270
|
+
case GTINLengths.GTIN8:
|
|
278
271
|
// Zero-suppressed GTIN-12 always starts with 0.
|
|
279
272
|
if (!gtin.startsWith("0")) {
|
|
280
273
|
// Validate prefix requiring exact match for prefix type.
|
|
@@ -285,7 +278,7 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
285
278
|
}
|
|
286
279
|
gtinLevelRestriction = GTINLevels.RetailConsumer;
|
|
287
280
|
break;
|
|
288
|
-
case
|
|
281
|
+
case GTINLengths.GTIN14:
|
|
289
282
|
// Validate prefix supporting any prefix type.
|
|
290
283
|
PrefixValidator.validate(PrefixTypes.GS1CompanyPrefix, true, true, gtin.substring(1), true, true);
|
|
291
284
|
gtinLevelRestriction = GTINLevels.OtherThanRetailConsumer;
|
|
@@ -309,7 +302,7 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
309
302
|
* GTIN-14.
|
|
310
303
|
*/
|
|
311
304
|
static validateGTIN14(gtin14) {
|
|
312
|
-
if (gtin14.length !==
|
|
305
|
+
if (gtin14.length !== GTINLengths.GTIN14) {
|
|
313
306
|
throw new RangeError(i18nextGS1.t("Identifier.invalidGTIN14Length"));
|
|
314
307
|
}
|
|
315
308
|
GTINValidator.validateAny(gtin14);
|
|
@@ -427,24 +420,24 @@ export class GTINValidator extends AbstractNumericIdentifierValidator {
|
|
|
427
420
|
* GTIN-13 validator.
|
|
428
421
|
*/
|
|
429
422
|
// Defined here because of circular reference.
|
|
430
|
-
export const GTIN13_VALIDATOR = new GTINValidator(
|
|
423
|
+
export const GTIN13_VALIDATOR = new GTINValidator(GTINLengths.GTIN13);
|
|
431
424
|
/**
|
|
432
425
|
* GTIN-12 validator.
|
|
433
426
|
*/
|
|
434
427
|
// Defined here because of circular reference.
|
|
435
|
-
export const GTIN12_VALIDATOR = new GTINValidator(
|
|
428
|
+
export const GTIN12_VALIDATOR = new GTINValidator(GTINLengths.GTIN12);
|
|
436
429
|
/**
|
|
437
430
|
* GTIN-8 validator.
|
|
438
431
|
*/
|
|
439
432
|
// Defined here because of circular reference.
|
|
440
|
-
export const GTIN8_VALIDATOR = new GTINValidator(
|
|
433
|
+
export const GTIN8_VALIDATOR = new GTINValidator(GTINLengths.GTIN8);
|
|
441
434
|
/**
|
|
442
435
|
* GTIN validators indexed by prefix type.
|
|
443
436
|
*/
|
|
444
437
|
// Defined here because of circular reference.
|
|
445
438
|
export const GTIN_VALIDATORS = {
|
|
446
|
-
[
|
|
447
|
-
[
|
|
448
|
-
[
|
|
439
|
+
[GTINLengths.GTIN13]: GTIN13_VALIDATOR,
|
|
440
|
+
[GTINLengths.GTIN12]: GTIN12_VALIDATOR,
|
|
441
|
+
[GTINLengths.GTIN8]: GTIN8_VALIDATOR
|
|
449
442
|
};
|
|
450
443
|
//# sourceMappingURL=gtin-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtin-validator.js","sourceRoot":"","sources":["../src/gtin-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gtin-validator.js","sourceRoot":"","sources":["../src/gtin-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IdentifierType } from "./identifier-type.js";
|
|
2
2
|
import type { IdentifierValidation, IdentifierValidator } from "./identifier-validator.js";
|
|
3
3
|
import type { PrefixProvider } from "./prefix-provider.js";
|
|
4
4
|
/**
|
|
@@ -7,13 +7,13 @@ import type { PrefixProvider } from "./prefix-provider.js";
|
|
|
7
7
|
*
|
|
8
8
|
* Keys are created based on a prefix defined in a prefix provider to which the identifier creator is bound.
|
|
9
9
|
*
|
|
10
|
-
* @template
|
|
11
|
-
* Identifier
|
|
10
|
+
* @template TIdentifierType
|
|
11
|
+
* Identifier type type.
|
|
12
12
|
*
|
|
13
13
|
* @template TIdentifierValidation
|
|
14
14
|
* Identifier validation type.
|
|
15
15
|
*/
|
|
16
|
-
export interface IdentifierCreator<
|
|
16
|
+
export interface IdentifierCreator<TIdentifierType extends IdentifierType = IdentifierType, TIdentifierValidation extends IdentifierValidation = IdentifierValidation> extends IdentifierValidator<TIdentifierType, TIdentifierValidation> {
|
|
17
17
|
/**
|
|
18
18
|
* Get the prefix provider to which this identifier creator is bound.
|
|
19
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier-creator.d.ts","sourceRoot":"","sources":["../src/identifier-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"identifier-creator.d.ts","sourceRoot":"","sources":["../src/identifier-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB,CAAC,eAAe,SAAS,cAAc,GAAG,cAAc,EAAE,qBAAqB,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,mBAAmB,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACtO;;OAEG;IACH,IAAI,cAAc,IAAI,cAAc,CAAC;IAErC;;;OAGG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAAC;CACjC"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { GTINCreator } from "./gtin-creator.js";
|
|
2
|
+
import type { GTINBaseLength } from "./gtin-length.js";
|
|
3
|
+
import type { GTINType } from "./gtin-type.js";
|
|
2
4
|
import type { IdentifierCreator } from "./identifier-creator.js";
|
|
3
|
-
import
|
|
5
|
+
import { type IdentifierTypeExtension } from "./identifier-extension.js";
|
|
6
|
+
import type { IdentifierType } from "./identifier-type.js";
|
|
4
7
|
import type { NonGTINNumericIdentifierCreator } from "./non-gtin-numeric-identifier-creator.js";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import type { NonNumericIdentifierType } from "./non-numeric-identifier-type.js";
|
|
8
|
+
import { NonNumericIdentifierCreator } from "./non-numeric-identifier-creator.js";
|
|
9
|
+
import { NonSerializableNumericIdentifierCreator } from "./non-serializable-numeric-identifier-creator.js";
|
|
8
10
|
import type { NumericIdentifierCreator } from "./numeric-identifier-creator.js";
|
|
9
|
-
import type {
|
|
10
|
-
import
|
|
11
|
+
import type { PrefixProvider } from "./prefix-provider.js";
|
|
12
|
+
import { SerializableNumericIdentifierCreator } from "./serializable-numeric-identifier-creator.js";
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
14
|
+
* Identifier creator type based on identifier type type.
|
|
13
15
|
*
|
|
14
16
|
* @template TIdentifierType
|
|
15
17
|
* Identifier type type.
|
|
16
18
|
*/
|
|
17
|
-
export type IdentifierTypeCreator<TIdentifierType extends IdentifierType> = TIdentifierType
|
|
19
|
+
export type IdentifierTypeCreator<TIdentifierType extends IdentifierType> = IdentifierTypeExtension<TIdentifierType, IdentifierCreator, NumericIdentifierCreator, GTINCreator, NonGTINNumericIdentifierCreator, NonSerializableNumericIdentifierCreator, SerializableNumericIdentifierCreator, NonNumericIdentifierCreator>;
|
|
18
20
|
/**
|
|
19
21
|
* Identifier creators entry type based on identifier type type.
|
|
20
22
|
*
|
|
@@ -28,6 +30,31 @@ export type IdentifierCreatorsEntry<TIdentifierType extends IdentifierType> = Id
|
|
|
28
30
|
export type IdentifierCreatorsRecord = {
|
|
29
31
|
[TIdentifierType in IdentifierType]: IdentifierCreatorsEntry<TIdentifierType>;
|
|
30
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* GTIN creator constructor type.
|
|
35
|
+
*/
|
|
36
|
+
export type GTINCreatorConstructor = new (prefixProvider: PrefixProvider, gtinBaseLength: GTINBaseLength) => GTINCreator;
|
|
37
|
+
/**
|
|
38
|
+
* Non-GTIN creator constructor type.
|
|
39
|
+
*
|
|
40
|
+
* @template TIdentifierType
|
|
41
|
+
* Identifier type type.
|
|
42
|
+
*/
|
|
43
|
+
export type NonGTINCreatorConstructor<TIdentifierType extends Exclude<IdentifierType, GTINType>> = new (prefixProvider: PrefixProvider, identifierType: TIdentifierType) => IdentifierCreatorsRecord[TIdentifierType];
|
|
44
|
+
/**
|
|
45
|
+
* Identifier creator constructors entry type based on identifier type type.
|
|
46
|
+
*
|
|
47
|
+
* @template TIdentifierType
|
|
48
|
+
* Identifier type type.
|
|
49
|
+
*/
|
|
50
|
+
export type IdentifierCreatorConstructorsEntry<TIdentifierType extends IdentifierType> = TIdentifierType extends GTINType ? GTINCreatorConstructor : NonGTINCreatorConstructor<Exclude<TIdentifierType, GTINType>>;
|
|
51
|
+
/**
|
|
52
|
+
* Identifier creator constructors record type.
|
|
53
|
+
*/
|
|
54
|
+
export type IdentifierCreatorConstructorsRecord = {
|
|
55
|
+
readonly [TIdentifierType in IdentifierType]: IdentifierCreatorConstructorsEntry<TIdentifierType>;
|
|
56
|
+
};
|
|
57
|
+
export declare const IdentifierCreatorConstructors: IdentifierCreatorConstructorsRecord;
|
|
31
58
|
/**
|
|
32
59
|
* Determine if identifier creator is a numeric identifier creator.
|
|
33
60
|
*
|
|
@@ -58,6 +85,16 @@ export declare function isGTINCreator(identifierCreator: IdentifierCreator): ide
|
|
|
58
85
|
* True if identifier creator is a non-GTIN numeric identifier creator.
|
|
59
86
|
*/
|
|
60
87
|
export declare function isNonGTINNumericIdentifierCreator(identifierCreator: IdentifierCreator): identifierCreator is NonGTINNumericIdentifierCreator;
|
|
88
|
+
/**
|
|
89
|
+
* Determine if identifier creator is a non-serializable numeric identifier creator.
|
|
90
|
+
*
|
|
91
|
+
* @param identifierCreator
|
|
92
|
+
* Identifier creator.
|
|
93
|
+
*
|
|
94
|
+
* @returns
|
|
95
|
+
* True if identifier creator is a non-serializable numeric identifier creator.
|
|
96
|
+
*/
|
|
97
|
+
export declare function isNonSerializableNumericIdentifierCreator(identifierCreator: IdentifierCreator): identifierCreator is NonSerializableNumericIdentifierCreator;
|
|
61
98
|
/**
|
|
62
99
|
* Determine if identifier creator is a serializable numeric identifier creator.
|
|
63
100
|
*
|
|
@@ -78,4 +115,4 @@ export declare function isSerializableNumericIdentifierCreator(identifierCreator
|
|
|
78
115
|
* True if identifier creator is a non-numeric identifier creator.
|
|
79
116
|
*/
|
|
80
117
|
export declare function isNonNumericIdentifierCreator(identifierCreator: IdentifierCreator): identifierCreator is NonNumericIdentifierCreator;
|
|
81
|
-
//# sourceMappingURL=creators.d.ts.map
|
|
118
|
+
//# sourceMappingURL=identifier-creators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-creators.d.ts","sourceRoot":"","sources":["../src/identifier-creators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACH,KAAK,uBAAuB,EAO/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAC3G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AAEpG;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAAC,eAAe,SAAS,cAAc,IAAI,uBAAuB,CAC/F,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,+BAA+B,EAC/B,uCAAuC,EACvC,oCAAoC,EACpC,2BAA2B,CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,CAAC,eAAe,SAAS,cAAc,IAAI,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAErH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;KAClC,eAAe,IAAI,cAAc,GAAG,uBAAuB,CAAC,eAAe,CAAC;CAChF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B,KAAK,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,KAAK,WAAW,CAAC;AAExF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,CAAC,eAAe,SAAS,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,IAC3F,KAAK,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,KAAK,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAEvH;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,CAAC,eAAe,SAAS,cAAc,IAAI,eAAe,SAAS,QAAQ,GACrH,sBAAsB,GACtB,yBAAyB,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAC9C,QAAQ,EAAE,eAAe,IAAI,cAAc,GAAG,kCAAkC,CAAC,eAAe,CAAC;CACpG,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,mCAa3C,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,IAAI,wBAAwB,CAE9H;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,IAAI,WAAW,CAEpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,IAAI,+BAA+B,CAE5I;AAED;;;;;;;;GAQG;AACH,wBAAgB,yCAAyC,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,IAAI,uCAAuC,CAE5J;AAED;;;;;;;;GAQG;AACH,wBAAgB,sCAAsC,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,IAAI,oCAAoC,CAEtJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,IAAI,2BAA2B,CAEpI"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { GTINCreator } from "./gtin-creator.js";
|
|
2
|
+
import { isGTINExtension, isNonGTINNumericIdentifierExtension, isNonNumericIdentifierExtension, isNonSerializableNumericIdentifierExtension, isNumericIdentifierExtension, isSerializableNumericIdentifierExtension } from "./identifier-extension.js";
|
|
3
|
+
import { NonNumericIdentifierCreator } from "./non-numeric-identifier-creator.js";
|
|
4
|
+
import { NonSerializableNumericIdentifierCreator } from "./non-serializable-numeric-identifier-creator.js";
|
|
5
|
+
import { SerializableNumericIdentifierCreator } from "./serializable-numeric-identifier-creator.js";
|
|
6
|
+
export const IdentifierCreatorConstructors = {
|
|
7
|
+
GTIN: GTINCreator,
|
|
8
|
+
GLN: NonSerializableNumericIdentifierCreator,
|
|
9
|
+
SSCC: NonSerializableNumericIdentifierCreator,
|
|
10
|
+
GRAI: SerializableNumericIdentifierCreator,
|
|
11
|
+
GIAI: NonNumericIdentifierCreator,
|
|
12
|
+
GSRN: NonSerializableNumericIdentifierCreator,
|
|
13
|
+
GDTI: SerializableNumericIdentifierCreator,
|
|
14
|
+
GINC: NonNumericIdentifierCreator,
|
|
15
|
+
GSIN: NonSerializableNumericIdentifierCreator,
|
|
16
|
+
GCN: SerializableNumericIdentifierCreator,
|
|
17
|
+
CPID: NonNumericIdentifierCreator,
|
|
18
|
+
GMN: NonNumericIdentifierCreator
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Determine if identifier creator is a numeric identifier creator.
|
|
22
|
+
*
|
|
23
|
+
* @param identifierCreator
|
|
24
|
+
* Identifier creator.
|
|
25
|
+
*
|
|
26
|
+
* @returns
|
|
27
|
+
* True if identifier creator is a numeric identifier creator.
|
|
28
|
+
*/
|
|
29
|
+
export function isNumericIdentifierCreator(identifierCreator) {
|
|
30
|
+
return isNumericIdentifierExtension(identifierCreator);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Determine if identifier creator is a GTIN creator.
|
|
34
|
+
*
|
|
35
|
+
* @param identifierCreator
|
|
36
|
+
* Identifier creator.
|
|
37
|
+
*
|
|
38
|
+
* @returns
|
|
39
|
+
* True if identifier creator is a GTIN creator.
|
|
40
|
+
*/
|
|
41
|
+
export function isGTINCreator(identifierCreator) {
|
|
42
|
+
return isGTINExtension(identifierCreator);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Determine if identifier creator is a non-GTIN numeric identifier creator.
|
|
46
|
+
*
|
|
47
|
+
* @param identifierCreator
|
|
48
|
+
* Identifier creator.
|
|
49
|
+
*
|
|
50
|
+
* @returns
|
|
51
|
+
* True if identifier creator is a non-GTIN numeric identifier creator.
|
|
52
|
+
*/
|
|
53
|
+
export function isNonGTINNumericIdentifierCreator(identifierCreator) {
|
|
54
|
+
return isNonGTINNumericIdentifierExtension(identifierCreator);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Determine if identifier creator is a non-serializable numeric identifier creator.
|
|
58
|
+
*
|
|
59
|
+
* @param identifierCreator
|
|
60
|
+
* Identifier creator.
|
|
61
|
+
*
|
|
62
|
+
* @returns
|
|
63
|
+
* True if identifier creator is a non-serializable numeric identifier creator.
|
|
64
|
+
*/
|
|
65
|
+
export function isNonSerializableNumericIdentifierCreator(identifierCreator) {
|
|
66
|
+
return isNonSerializableNumericIdentifierExtension(identifierCreator);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Determine if identifier creator is a serializable numeric identifier creator.
|
|
70
|
+
*
|
|
71
|
+
* @param identifierCreator
|
|
72
|
+
* Identifier creator.
|
|
73
|
+
*
|
|
74
|
+
* @returns
|
|
75
|
+
* True if identifier creator is a serializable numeric identifier creator.
|
|
76
|
+
*/
|
|
77
|
+
export function isSerializableNumericIdentifierCreator(identifierCreator) {
|
|
78
|
+
return isSerializableNumericIdentifierExtension(identifierCreator);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Determine if identifier creator is a non-numeric identifier creator.
|
|
82
|
+
*
|
|
83
|
+
* @param identifierCreator
|
|
84
|
+
* Identifier creator.
|
|
85
|
+
*
|
|
86
|
+
* @returns
|
|
87
|
+
* True if identifier creator is a non-numeric identifier creator.
|
|
88
|
+
*/
|
|
89
|
+
export function isNonNumericIdentifierCreator(identifierCreator) {
|
|
90
|
+
return isNonNumericIdentifierExtension(identifierCreator);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=identifier-creators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-creators.js","sourceRoot":"","sources":["../src/identifier-creators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAEH,eAAe,EACf,mCAAmC,EACnC,+BAA+B,EAC/B,2CAA2C,EAC3C,4BAA4B,EAC5B,wCAAwC,EAC3C,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAG3G,OAAO,EAAE,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AAkEpG,MAAM,CAAC,MAAM,6BAA6B,GAAwC;IAC9E,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,uCAAuC;IAC5C,IAAI,EAAE,uCAAuC;IAC7C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,uCAAuC;IAC7C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,uCAAuC;IAC7C,GAAG,EAAE,oCAAoC;IACzC,IAAI,EAAE,2BAA2B;IACjC,GAAG,EAAE,2BAA2B;CACnC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,iBAAoC;IAC3E,OAAO,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,iBAAoC;IAC9D,OAAO,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iCAAiC,CAAC,iBAAoC;IAClF,OAAO,mCAAmC,CAAC,iBAAiB,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yCAAyC,CAAC,iBAAoC;IAC1F,OAAO,2CAA2C,CAAC,iBAAiB,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sCAAsC,CAAC,iBAAoC;IACvF,OAAO,wCAAwC,CAAC,iBAAiB,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAAC,iBAAoC;IAC9E,OAAO,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;AAC9D,CAAC"}
|