@aidc-toolkit/gs1 1.0.25-beta → 1.0.26-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 +75 -0
- package/dist/abstract-identifier-creator.d.ts.map +1 -0
- package/dist/abstract-identifier-creator.js +56 -0
- package/dist/abstract-identifier-creator.js.map +1 -0
- package/dist/abstract-identifier-validator.d.ts +95 -0
- package/dist/abstract-identifier-validator.d.ts.map +1 -0
- package/dist/abstract-identifier-validator.js +123 -0
- package/dist/abstract-identifier-validator.js.map +1 -0
- package/dist/abstract-numeric-identifier-creator.d.ts +92 -0
- package/dist/abstract-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/abstract-numeric-identifier-creator.js +137 -0
- package/dist/abstract-numeric-identifier-creator.js.map +1 -0
- package/dist/abstract-numeric-identifier-validator.d.ts +35 -0
- package/dist/abstract-numeric-identifier-validator.d.ts.map +1 -0
- package/dist/abstract-numeric-identifier-validator.js +61 -0
- package/dist/abstract-numeric-identifier-validator.js.map +1 -0
- package/dist/character-set.d.ts +27 -0
- package/dist/character-set.d.ts.map +1 -0
- package/dist/character-set.js +50 -0
- package/dist/character-set.js.map +1 -0
- package/dist/check.d.ts +81 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +218 -0
- package/dist/check.js.map +1 -0
- package/dist/content-character-set.d.ts +26 -0
- package/dist/content-character-set.d.ts.map +1 -0
- package/dist/content-character-set.js +18 -0
- package/dist/content-character-set.js.map +1 -0
- package/dist/creators.d.ts +81 -0
- package/dist/creators.d.ts.map +1 -0
- package/dist/creators.js +62 -0
- package/dist/creators.js.map +1 -0
- package/dist/descriptors.d.ts +96 -0
- package/dist/descriptors.d.ts.map +1 -0
- package/dist/descriptors.js +266 -0
- package/dist/descriptors.js.map +1 -0
- package/dist/gtin-creator.d.ts +69 -0
- package/dist/gtin-creator.d.ts.map +1 -0
- package/dist/gtin-creator.js +159 -0
- package/dist/gtin-creator.js.map +1 -0
- package/dist/gtin-descriptor.d.ts +17 -0
- package/dist/gtin-descriptor.d.ts.map +1 -0
- package/dist/gtin-descriptor.js +2 -0
- package/dist/gtin-descriptor.js.map +1 -0
- package/dist/gtin-type.d.ts +39 -0
- package/dist/gtin-type.d.ts.map +1 -0
- package/dist/gtin-type.js +31 -0
- package/dist/gtin-type.js.map +1 -0
- package/dist/gtin-validator.d.ts +191 -0
- package/dist/gtin-validator.d.ts.map +1 -0
- package/dist/gtin-validator.js +450 -0
- package/dist/gtin-validator.js.map +1 -0
- package/dist/identifier-creator.d.ts +31 -0
- package/dist/identifier-creator.d.ts.map +1 -0
- package/dist/identifier-creator.js +2 -0
- package/dist/identifier-creator.js.map +1 -0
- package/dist/identifier-descriptor.d.ts +27 -0
- package/dist/identifier-descriptor.d.ts.map +1 -0
- package/dist/identifier-descriptor.js +2 -0
- package/dist/identifier-descriptor.js.map +1 -0
- package/dist/identifier-type.d.ts +62 -0
- package/dist/identifier-type.d.ts.map +1 -0
- package/dist/identifier-type.js +54 -0
- package/dist/identifier-type.js.map +1 -0
- package/dist/identifier-validator.d.ts +53 -0
- package/dist/identifier-validator.d.ts.map +1 -0
- package/dist/identifier-validator.js +2 -0
- package/dist/identifier-validator.js.map +1 -0
- package/dist/index.d.ts +52 -1949
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -4727
- package/dist/index.js.map +1 -1
- package/dist/locale/en/locale-resources.d.ts +42 -0
- package/dist/locale/en/locale-resources.d.ts.map +1 -0
- package/dist/locale/en/locale-resources.js +41 -0
- package/dist/locale/en/locale-resources.js.map +1 -0
- package/dist/locale/fr/locale-resources.d.ts +42 -0
- package/dist/locale/fr/locale-resources.d.ts.map +1 -0
- package/dist/locale/fr/locale-resources.js +41 -0
- package/dist/locale/fr/locale-resources.js.map +1 -0
- package/dist/locale/i18n.d.ts +27 -0
- package/dist/locale/i18n.d.ts.map +1 -0
- package/dist/locale/i18n.js +36 -0
- package/dist/locale/i18n.js.map +1 -0
- package/dist/non-gtin-numeric-identifier-creator.d.ts +24 -0
- package/dist/non-gtin-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/non-gtin-numeric-identifier-creator.js +23 -0
- package/dist/non-gtin-numeric-identifier-creator.js.map +1 -0
- package/dist/non-gtin-numeric-identifier-descriptor.d.ts +22 -0
- package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +1 -0
- package/dist/non-gtin-numeric-identifier-descriptor.js +2 -0
- package/dist/non-gtin-numeric-identifier-descriptor.js.map +1 -0
- package/dist/non-gtin-numeric-identifier-type.d.ts +7 -0
- package/dist/non-gtin-numeric-identifier-type.d.ts.map +1 -0
- package/dist/non-gtin-numeric-identifier-type.js +2 -0
- package/dist/non-gtin-numeric-identifier-type.js.map +1 -0
- package/dist/non-gtin-numeric-identifier-validator.d.ts +17 -0
- package/dist/non-gtin-numeric-identifier-validator.d.ts.map +1 -0
- package/dist/non-gtin-numeric-identifier-validator.js +17 -0
- package/dist/non-gtin-numeric-identifier-validator.js.map +1 -0
- package/dist/non-numeric-identifier-creator.d.ts +45 -0
- package/dist/non-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/non-numeric-identifier-creator.js +84 -0
- package/dist/non-numeric-identifier-creator.js.map +1 -0
- package/dist/non-numeric-identifier-descriptor.d.ts +26 -0
- package/dist/non-numeric-identifier-descriptor.d.ts.map +1 -0
- package/dist/non-numeric-identifier-descriptor.js +2 -0
- package/dist/non-numeric-identifier-descriptor.js.map +1 -0
- package/dist/non-numeric-identifier-type.d.ts +7 -0
- package/dist/non-numeric-identifier-type.d.ts.map +1 -0
- package/dist/non-numeric-identifier-type.js +2 -0
- package/dist/non-numeric-identifier-type.js.map +1 -0
- package/dist/non-numeric-identifier-validator.d.ts +49 -0
- package/dist/non-numeric-identifier-validator.d.ts.map +1 -0
- package/dist/non-numeric-identifier-validator.js +69 -0
- package/dist/non-numeric-identifier-validator.js.map +1 -0
- package/dist/numeric-identifier-creator.d.ts +53 -0
- package/dist/numeric-identifier-creator.d.ts.map +1 -0
- package/dist/numeric-identifier-creator.js +2 -0
- package/dist/numeric-identifier-creator.js.map +1 -0
- package/dist/numeric-identifier-descriptor.d.ts +21 -0
- package/dist/numeric-identifier-descriptor.d.ts.map +1 -0
- package/dist/numeric-identifier-descriptor.js +2 -0
- package/dist/numeric-identifier-descriptor.js.map +1 -0
- package/dist/numeric-identifier-type.d.ts +31 -0
- package/dist/numeric-identifier-type.d.ts.map +1 -0
- package/dist/numeric-identifier-type.js +18 -0
- package/dist/numeric-identifier-type.js.map +1 -0
- package/dist/numeric-identifier-validator.d.ts +24 -0
- package/dist/numeric-identifier-validator.d.ts.map +1 -0
- package/dist/numeric-identifier-validator.js +2 -0
- package/dist/numeric-identifier-validator.js.map +1 -0
- package/dist/prefix-manager.d.ts +232 -0
- package/dist/prefix-manager.d.ts.map +1 -0
- package/dist/prefix-manager.js +334 -0
- package/dist/prefix-manager.js.map +1 -0
- package/dist/prefix-provider.d.ts +27 -0
- package/dist/prefix-provider.d.ts.map +1 -0
- package/dist/prefix-provider.js +2 -0
- package/dist/prefix-provider.js.map +1 -0
- package/dist/prefix-type.d.ts +26 -0
- package/dist/prefix-type.d.ts.map +1 -0
- package/dist/prefix-type.js +18 -0
- package/dist/prefix-type.js.map +1 -0
- package/dist/prefix-validator.d.ts +70 -0
- package/dist/prefix-validator.d.ts.map +1 -0
- package/dist/prefix-validator.js +208 -0
- package/dist/prefix-validator.js.map +1 -0
- package/dist/serializable-numeric-identifier-creator.d.ts +76 -0
- package/dist/serializable-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/serializable-numeric-identifier-creator.js +107 -0
- package/dist/serializable-numeric-identifier-creator.js.map +1 -0
- package/dist/serializable-numeric-identifier-descriptor.d.ts +26 -0
- package/dist/serializable-numeric-identifier-descriptor.d.ts.map +1 -0
- package/dist/serializable-numeric-identifier-descriptor.js +2 -0
- package/dist/serializable-numeric-identifier-descriptor.js.map +1 -0
- package/dist/serializable-numeric-identifier-type.d.ts +6 -0
- package/dist/serializable-numeric-identifier-type.d.ts.map +1 -0
- package/dist/serializable-numeric-identifier-type.js +2 -0
- package/dist/serializable-numeric-identifier-type.js.map +1 -0
- package/dist/serializable-numeric-identifier-validator.d.ts +56 -0
- package/dist/serializable-numeric-identifier-validator.d.ts.map +1 -0
- package/dist/serializable-numeric-identifier-validator.js +77 -0
- package/dist/serializable-numeric-identifier-validator.js.map +1 -0
- package/dist/validators.d.ts +96 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +140 -0
- package/dist/validators.js.map +1 -0
- package/package.json +11 -7
- package/src/abstract-identifier-creator.ts +4 -4
- package/src/abstract-identifier-validator.ts +6 -6
- package/src/abstract-numeric-identifier-creator.ts +7 -7
- package/src/abstract-numeric-identifier-validator.ts +6 -6
- package/src/check.ts +2 -2
- package/src/creators.ts +11 -11
- package/src/descriptors.ts +14 -14
- package/src/gtin-creator.ts +6 -6
- package/src/gtin-descriptor.ts +3 -3
- package/src/gtin-type.ts +2 -2
- package/src/gtin-validator.ts +8 -8
- package/src/identifier-creator.ts +3 -3
- package/src/identifier-descriptor.ts +3 -3
- package/src/identifier-validator.ts +1 -1
- package/src/index.ts +44 -43
- package/src/locale/i18n.ts +3 -3
- package/src/locale/i18next.d.ts +1 -1
- package/src/non-gtin-numeric-identifier-creator.ts +5 -5
- package/src/non-gtin-numeric-identifier-descriptor.ts +4 -4
- package/src/non-gtin-numeric-identifier-type.ts +2 -2
- package/src/non-gtin-numeric-identifier-validator.ts +5 -5
- package/src/non-numeric-identifier-creator.ts +6 -6
- package/src/non-numeric-identifier-descriptor.ts +4 -4
- package/src/non-numeric-identifier-type.ts +2 -2
- package/src/non-numeric-identifier-validator.ts +7 -7
- package/src/numeric-identifier-creator.ts +3 -3
- package/src/numeric-identifier-descriptor.ts +3 -3
- package/src/numeric-identifier-type.ts +1 -1
- package/src/numeric-identifier-validator.ts +2 -2
- package/src/prefix-manager.ts +16 -16
- package/src/prefix-provider.ts +1 -1
- package/src/prefix-validator.ts +3 -3
- package/src/serializable-numeric-identifier-creator.ts +4 -4
- package/src/serializable-numeric-identifier-descriptor.ts +4 -4
- package/src/serializable-numeric-identifier-type.ts +1 -1
- package/src/serializable-numeric-identifier-validator.ts +7 -7
- package/src/validators.ts +12 -12
- package/test/check.test.ts +1 -1
- package/test/creator.test.ts +5 -5
- package/test/gtin-creator.ts +2 -2
- package/test/gtin-validator.test.ts +2 -2
- package/test/identifier-creator.ts +5 -5
- package/test/identifier-validator.ts +1 -1
- package/test/non-gtin-numeric-identifier-creator.ts +3 -3
- package/test/non-gtin-numeric-identifier-validator.ts +2 -2
- package/test/non-numeric-identifier-creator.ts +1 -1
- package/test/non-numeric-identifier-validator.ts +3 -3
- package/test/numeric-identifier-creator.ts +2 -2
- package/test/numeric-identifier-validator.ts +2 -2
- package/test/prefix-manager.test.ts +2 -2
- package/test/serializable-numeric-identifier-creator.ts +2 -2
- package/test/serializable-numeric-identifier-validator.ts +3 -3
- package/test/setup.ts +1 -1
- package/test/sparse.test.ts +1 -1
- package/test/utility.ts +1 -1
- package/test/validator.test.ts +5 -5
- package/test/variable-measure-rcn.test.ts +1 -1
- package/tsconfig-config.json +4 -0
- package/tsconfig-src.json +8 -0
- package/tsconfig-test.json +9 -0
- package/tsconfig.json +12 -1
- package/tsup.config.ts +3 -2
- package/dist/index.cjs +0 -4813
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -1949
package/dist/creators.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { isGTINDescriptor, isNonGTINNumericIdentifierDescriptor, isNonNumericIdentifierDescriptor, isNumericIdentifierDescriptor, isSerializableNumericIdentifierDescriptor } from "./descriptors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Determine if identifier creator is a numeric identifier creator.
|
|
4
|
+
*
|
|
5
|
+
* @param identifierCreator
|
|
6
|
+
* Identifier creator.
|
|
7
|
+
*
|
|
8
|
+
* @returns
|
|
9
|
+
* True if identifier creator is a numeric identifier creator.
|
|
10
|
+
*/
|
|
11
|
+
export function isNumericIdentifierCreator(identifierCreator) {
|
|
12
|
+
return isNumericIdentifierDescriptor(identifierCreator);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Determine if identifier creator is a GTIN creator.
|
|
16
|
+
*
|
|
17
|
+
* @param identifierCreator
|
|
18
|
+
* Identifier creator.
|
|
19
|
+
*
|
|
20
|
+
* @returns
|
|
21
|
+
* True if identifier creator is a GTIN creator.
|
|
22
|
+
*/
|
|
23
|
+
export function isGTINCreator(identifierCreator) {
|
|
24
|
+
return isGTINDescriptor(identifierCreator);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Determine if identifier creator is a non-GTIN numeric identifier creator.
|
|
28
|
+
*
|
|
29
|
+
* @param identifierCreator
|
|
30
|
+
* Identifier creator.
|
|
31
|
+
*
|
|
32
|
+
* @returns
|
|
33
|
+
* True if identifier creator is a non-GTIN numeric identifier creator.
|
|
34
|
+
*/
|
|
35
|
+
export function isNonGTINNumericIdentifierCreator(identifierCreator) {
|
|
36
|
+
return isNonGTINNumericIdentifierDescriptor(identifierCreator);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Determine if identifier creator is a serializable numeric identifier creator.
|
|
40
|
+
*
|
|
41
|
+
* @param identifierCreator
|
|
42
|
+
* Identifier creator.
|
|
43
|
+
*
|
|
44
|
+
* @returns
|
|
45
|
+
* True if identifier creator is a serializable numeric identifier creator.
|
|
46
|
+
*/
|
|
47
|
+
export function isSerializableNumericIdentifierCreator(identifierCreator) {
|
|
48
|
+
return isSerializableNumericIdentifierDescriptor(identifierCreator);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Determine if identifier creator is a non-numeric identifier creator.
|
|
52
|
+
*
|
|
53
|
+
* @param identifierCreator
|
|
54
|
+
* Identifier creator.
|
|
55
|
+
*
|
|
56
|
+
* @returns
|
|
57
|
+
* True if identifier creator is a non-numeric identifier creator.
|
|
58
|
+
*/
|
|
59
|
+
export function isNonNumericIdentifierCreator(identifierCreator) {
|
|
60
|
+
return isNonNumericIdentifierDescriptor(identifierCreator);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=creators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creators.js","sourceRoot":"","sources":["../src/creators.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,oCAAoC,EACpC,gCAAgC,EAChC,6BAA6B,EAC7B,yCAAyC,EAC5C,MAAM,kBAAkB,CAAC;AA2C1B;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,iBAAoC;IAC3E,OAAO,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,iBAAoC;IAC9D,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iCAAiC,CAAC,iBAAoC;IAClF,OAAO,oCAAoC,CAAC,iBAAiB,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sCAAsC,CAAC,iBAAoC;IACvF,OAAO,yCAAyC,CAAC,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAAC,iBAAoC;IAC9E,OAAO,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { GTINDescriptor } from "./gtin-descriptor.js";
|
|
2
|
+
import { type GTINBaseType } from "./gtin-type.js";
|
|
3
|
+
import type { IdentifierDescriptor } from "./identifier-descriptor.js";
|
|
4
|
+
import { type IdentifierType, IdentifierTypes } from "./identifier-type.js";
|
|
5
|
+
import type { NonGTINNumericIdentifierDescriptor } from "./non-gtin-numeric-identifier-descriptor.js";
|
|
6
|
+
import type { NonGTINNumericIdentifierType } from "./non-gtin-numeric-identifier-type.js";
|
|
7
|
+
import type { NonNumericIdentifierDescriptor } from "./non-numeric-identifier-descriptor.js";
|
|
8
|
+
import type { NonNumericIdentifierType } from "./non-numeric-identifier-type.js";
|
|
9
|
+
import type { NumericIdentifierDescriptor } from "./numeric-identifier-descriptor.js";
|
|
10
|
+
import type { SerializableNumericIdentifierDescriptor } from "./serializable-numeric-identifier-descriptor.js";
|
|
11
|
+
import type { SerializableNumericIdentifierType } from "./serializable-numeric-identifier-type.js";
|
|
12
|
+
/**
|
|
13
|
+
* Identifier descriptor type based on identifier type type.
|
|
14
|
+
*
|
|
15
|
+
* @template TIdentifierType
|
|
16
|
+
* Identifier type type.
|
|
17
|
+
*/
|
|
18
|
+
export type IdentifierTypeDescriptor<TIdentifierType extends IdentifierType> = TIdentifierType extends NonNumericIdentifierType ? NonNumericIdentifierDescriptor : TIdentifierType extends SerializableNumericIdentifierType ? SerializableNumericIdentifierDescriptor : TIdentifierType extends NonGTINNumericIdentifierType ? NonGTINNumericIdentifierDescriptor : TIdentifierType extends typeof IdentifierTypes.GTIN ? GTINDescriptor : IdentifierDescriptor;
|
|
19
|
+
/**
|
|
20
|
+
* Identifier descriptors entry type based on identifier type type.
|
|
21
|
+
*
|
|
22
|
+
* @template TIdentifierType
|
|
23
|
+
* Identifier type type.
|
|
24
|
+
*/
|
|
25
|
+
export type IdentifierDescriptorsEntry<TIdentifierType extends IdentifierType> = TIdentifierType extends typeof IdentifierTypes.GTIN ? Readonly<Record<GTINBaseType, GTINDescriptor>> : IdentifierTypeDescriptor<TIdentifierType>;
|
|
26
|
+
/**
|
|
27
|
+
* Identifier descriptors record type.
|
|
28
|
+
*/
|
|
29
|
+
export type IdentifierDescriptorsRecord = {
|
|
30
|
+
[TIdentifierType in IdentifierType]: IdentifierDescriptorsEntry<TIdentifierType>;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Identifier descriptors for all identifier types.
|
|
34
|
+
*/
|
|
35
|
+
export declare const IdentifierDescriptors: IdentifierDescriptorsRecord;
|
|
36
|
+
/**
|
|
37
|
+
* Determine if identifier descriptors or descriptor is GTIN descriptors.
|
|
38
|
+
*
|
|
39
|
+
* @param identifierDescriptorsOrDescriptor
|
|
40
|
+
* Identifier descriptors or descriptor.
|
|
41
|
+
*
|
|
42
|
+
* @returns
|
|
43
|
+
* True if GTIN descriptors.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isGTINDescriptors(identifierDescriptorsOrDescriptor: IdentifierDescriptorsEntry<IdentifierType>): identifierDescriptorsOrDescriptor is Readonly<Record<GTINBaseType, GTINDescriptor>>;
|
|
46
|
+
/**
|
|
47
|
+
* Determine if identifier descriptor is a numeric identifier descriptor.
|
|
48
|
+
*
|
|
49
|
+
* @param identifierDescriptor
|
|
50
|
+
* Identifier descriptor.
|
|
51
|
+
*
|
|
52
|
+
* @returns
|
|
53
|
+
* True if identifier descriptor is a numeric identifier descriptor.
|
|
54
|
+
*/
|
|
55
|
+
export declare function isNumericIdentifierDescriptor(identifierDescriptor: IdentifierDescriptor): identifierDescriptor is NumericIdentifierDescriptor;
|
|
56
|
+
/**
|
|
57
|
+
* Determine if identifier descriptor is a GTIN descriptor.
|
|
58
|
+
*
|
|
59
|
+
* @param identifierDescriptor
|
|
60
|
+
* Identifier descriptor.
|
|
61
|
+
*
|
|
62
|
+
* @returns
|
|
63
|
+
* True if identifier descriptor is a GTIN descriptor.
|
|
64
|
+
*/
|
|
65
|
+
export declare function isGTINDescriptor(identifierDescriptor: IdentifierDescriptor): identifierDescriptor is GTINDescriptor;
|
|
66
|
+
/**
|
|
67
|
+
* Determine if identifier descriptor is a non-GTIN numeric identifier descriptor.
|
|
68
|
+
*
|
|
69
|
+
* @param identifierDescriptor
|
|
70
|
+
* Identifier descriptor.
|
|
71
|
+
*
|
|
72
|
+
* @returns
|
|
73
|
+
* True if identifier descriptor is a non-GTIN numeric identifier descriptor.
|
|
74
|
+
*/
|
|
75
|
+
export declare function isNonGTINNumericIdentifierDescriptor(identifierDescriptor: IdentifierDescriptor): identifierDescriptor is NonGTINNumericIdentifierDescriptor;
|
|
76
|
+
/**
|
|
77
|
+
* Determine if identifier descriptor is a serializable numeric identifier descriptor.
|
|
78
|
+
*
|
|
79
|
+
* @param identifierDescriptor
|
|
80
|
+
* Identifier descriptor.
|
|
81
|
+
*
|
|
82
|
+
* @returns
|
|
83
|
+
* True if identifier descriptor is a serializable numeric identifier descriptor.
|
|
84
|
+
*/
|
|
85
|
+
export declare function isSerializableNumericIdentifierDescriptor(identifierDescriptor: IdentifierDescriptor): identifierDescriptor is SerializableNumericIdentifierDescriptor;
|
|
86
|
+
/**
|
|
87
|
+
* Determine if identifier descriptor is a non-numeric identifier descriptor.
|
|
88
|
+
*
|
|
89
|
+
* @param identifierDescriptor
|
|
90
|
+
* Identifier descriptor.
|
|
91
|
+
*
|
|
92
|
+
* @returns
|
|
93
|
+
* True if identifier descriptor is a non-numeric identifier descriptor.
|
|
94
|
+
*/
|
|
95
|
+
export declare function isNonNumericIdentifierDescriptor(identifierDescriptor: IdentifierDescriptor): identifierDescriptor is NonNumericIdentifierDescriptor;
|
|
96
|
+
//# sourceMappingURL=descriptors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../src/descriptors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAGtF,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,iDAAiD,CAAC;AAC/G,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AA2KnG;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAAC,eAAe,SAAS,cAAc,IAAI,eAAe,SAAS,wBAAwB,GAC3H,8BAA8B,GAC9B,eAAe,SAAS,iCAAiC,GACrD,uCAAuC,GACvC,eAAe,SAAS,4BAA4B,GAChD,kCAAkC,GAClC,eAAe,SAAS,OAAO,eAAe,CAAC,IAAI,GAC/C,cAAc,GACd,oBAAoB,CAAC;AAErC;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CAAC,eAAe,SAAS,cAAc,IAAI,eAAe,SAAS,OAAO,eAAe,CAAC,IAAI,GAChI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,GAC9C,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;KACrC,eAAe,IAAI,cAAc,GAAG,0BAA0B,CAAC,eAAe,CAAC;CACnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,2BAa1B,CAAC;AAEX;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,iCAAiC,EAAE,0BAA0B,CAAC,cAAc,CAAC,GAAG,iCAAiC,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAEpM;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,IAAI,2BAA2B,CAE7I;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,IAAI,cAAc,CAEnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,IAAI,kCAAkC,CAE3J;AAID;;;;;;;;GAQG;AACH,wBAAgB,yCAAyC,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,IAAI,uCAAuC,CAErK;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,oBAAoB,IAAI,8BAA8B,CAEnJ"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { ContentCharacterSets } from "./content-character-set.js";
|
|
2
|
+
import { GTINTypes } from "./gtin-type.js";
|
|
3
|
+
import { IdentifierTypes } from "./identifier-type.js";
|
|
4
|
+
import { LeaderTypes } from "./numeric-identifier-type.js";
|
|
5
|
+
import { PrefixTypes } from "./prefix-type.js";
|
|
6
|
+
/**
|
|
7
|
+
* GTIN-13 descriptor.
|
|
8
|
+
*/
|
|
9
|
+
const GTIN13_DESCRIPTOR = {
|
|
10
|
+
identifierType: IdentifierTypes.GTIN,
|
|
11
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
12
|
+
length: GTINTypes.GTIN13,
|
|
13
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
14
|
+
leaderType: LeaderTypes.IndicatorDigit
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* GTIN-12 descriptor.
|
|
18
|
+
*/
|
|
19
|
+
const GTIN12_DESCRIPTOR = {
|
|
20
|
+
identifierType: IdentifierTypes.GTIN,
|
|
21
|
+
prefixType: PrefixTypes.UPCCompanyPrefix,
|
|
22
|
+
length: GTINTypes.GTIN12,
|
|
23
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
24
|
+
leaderType: LeaderTypes.IndicatorDigit
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* GTIN-8 descriptor.
|
|
28
|
+
*/
|
|
29
|
+
const GTIN8_DESCRIPTOR = {
|
|
30
|
+
identifierType: IdentifierTypes.GTIN,
|
|
31
|
+
prefixType: PrefixTypes.GS18Prefix,
|
|
32
|
+
length: GTINTypes.GTIN8,
|
|
33
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
34
|
+
leaderType: LeaderTypes.IndicatorDigit
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* GTIN descriptors indexed by prefix type.
|
|
38
|
+
*/
|
|
39
|
+
const GTIN_DESCRIPTORS = {
|
|
40
|
+
[GTINTypes.GTIN13]: GTIN13_DESCRIPTOR,
|
|
41
|
+
[GTINTypes.GTIN12]: GTIN12_DESCRIPTOR,
|
|
42
|
+
[GTINTypes.GTIN8]: GTIN8_DESCRIPTOR
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* GLN descriptor.
|
|
46
|
+
*/
|
|
47
|
+
const GLN_DESCRIPTOR = {
|
|
48
|
+
identifierType: IdentifierTypes.GLN,
|
|
49
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
50
|
+
length: 13,
|
|
51
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
52
|
+
leaderType: LeaderTypes.None
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* SSCC descriptor.
|
|
56
|
+
*/
|
|
57
|
+
const SSCC_DESCRIPTOR = {
|
|
58
|
+
identifierType: IdentifierTypes.SSCC,
|
|
59
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
60
|
+
length: 18,
|
|
61
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
62
|
+
leaderType: LeaderTypes.ExtensionDigit
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* GRAI descriptor.
|
|
66
|
+
*/
|
|
67
|
+
const GRAI_DESCRIPTOR = {
|
|
68
|
+
identifierType: IdentifierTypes.GRAI,
|
|
69
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
70
|
+
length: 13,
|
|
71
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
72
|
+
leaderType: LeaderTypes.None,
|
|
73
|
+
serialComponentLength: 16,
|
|
74
|
+
serialComponentCharacterSet: ContentCharacterSets.AI82
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* GIAI descriptor.
|
|
78
|
+
*/
|
|
79
|
+
const GIAI_DESCRIPTOR = {
|
|
80
|
+
identifierType: IdentifierTypes.GIAI,
|
|
81
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
82
|
+
length: 30,
|
|
83
|
+
referenceCharacterSet: ContentCharacterSets.AI82,
|
|
84
|
+
requiresCheckCharacterPair: false
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* GSRN descriptor.
|
|
88
|
+
*/
|
|
89
|
+
const GSRN_DESCRIPTOR = {
|
|
90
|
+
identifierType: IdentifierTypes.GSRN,
|
|
91
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
92
|
+
length: 18,
|
|
93
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
94
|
+
leaderType: LeaderTypes.None
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* GDTI descriptor.
|
|
98
|
+
*/
|
|
99
|
+
const GDTI_DESCRIPTOR = {
|
|
100
|
+
identifierType: IdentifierTypes.GDTI,
|
|
101
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
102
|
+
length: 13,
|
|
103
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
104
|
+
leaderType: LeaderTypes.None,
|
|
105
|
+
serialComponentLength: 17,
|
|
106
|
+
serialComponentCharacterSet: ContentCharacterSets.AI82
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* GINC descriptor.
|
|
110
|
+
*/
|
|
111
|
+
const GINC_DESCRIPTOR = {
|
|
112
|
+
identifierType: IdentifierTypes.GINC,
|
|
113
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
114
|
+
length: 30,
|
|
115
|
+
referenceCharacterSet: ContentCharacterSets.AI82,
|
|
116
|
+
requiresCheckCharacterPair: false
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* GSIN descriptor.
|
|
120
|
+
*/
|
|
121
|
+
const GSIN_DESCRIPTOR = {
|
|
122
|
+
identifierType: IdentifierTypes.GSIN,
|
|
123
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
124
|
+
length: 17,
|
|
125
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
126
|
+
leaderType: LeaderTypes.None
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* GCN descriptor.
|
|
130
|
+
*/
|
|
131
|
+
const GCN_DESCRIPTOR = {
|
|
132
|
+
identifierType: IdentifierTypes.GCN,
|
|
133
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
134
|
+
length: 13,
|
|
135
|
+
referenceCharacterSet: ContentCharacterSets.Numeric,
|
|
136
|
+
leaderType: LeaderTypes.None,
|
|
137
|
+
serialComponentLength: 12,
|
|
138
|
+
serialComponentCharacterSet: ContentCharacterSets.Numeric
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* CPID descriptor.
|
|
142
|
+
*/
|
|
143
|
+
const CPID_DESCRIPTOR = {
|
|
144
|
+
identifierType: IdentifierTypes.CPID,
|
|
145
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
146
|
+
length: 30,
|
|
147
|
+
referenceCharacterSet: ContentCharacterSets.AI39,
|
|
148
|
+
requiresCheckCharacterPair: false
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* GMN descriptor.
|
|
152
|
+
*/
|
|
153
|
+
const GMN_DESCRIPTOR = {
|
|
154
|
+
identifierType: IdentifierTypes.GMN,
|
|
155
|
+
prefixType: PrefixTypes.GS1CompanyPrefix,
|
|
156
|
+
length: 25,
|
|
157
|
+
referenceCharacterSet: ContentCharacterSets.AI82,
|
|
158
|
+
requiresCheckCharacterPair: true
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Identifier descriptors for all identifier types.
|
|
162
|
+
*/
|
|
163
|
+
export const IdentifierDescriptors = {
|
|
164
|
+
[IdentifierTypes.GTIN]: GTIN_DESCRIPTORS,
|
|
165
|
+
[IdentifierTypes.GLN]: GLN_DESCRIPTOR,
|
|
166
|
+
[IdentifierTypes.SSCC]: SSCC_DESCRIPTOR,
|
|
167
|
+
[IdentifierTypes.GRAI]: GRAI_DESCRIPTOR,
|
|
168
|
+
[IdentifierTypes.GIAI]: GIAI_DESCRIPTOR,
|
|
169
|
+
[IdentifierTypes.GSRN]: GSRN_DESCRIPTOR,
|
|
170
|
+
[IdentifierTypes.GDTI]: GDTI_DESCRIPTOR,
|
|
171
|
+
[IdentifierTypes.GINC]: GINC_DESCRIPTOR,
|
|
172
|
+
[IdentifierTypes.GSIN]: GSIN_DESCRIPTOR,
|
|
173
|
+
[IdentifierTypes.GCN]: GCN_DESCRIPTOR,
|
|
174
|
+
[IdentifierTypes.CPID]: CPID_DESCRIPTOR,
|
|
175
|
+
[IdentifierTypes.GMN]: GMN_DESCRIPTOR
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Determine if identifier descriptors or descriptor is GTIN descriptors.
|
|
179
|
+
*
|
|
180
|
+
* @param identifierDescriptorsOrDescriptor
|
|
181
|
+
* Identifier descriptors or descriptor.
|
|
182
|
+
*
|
|
183
|
+
* @returns
|
|
184
|
+
* True if GTIN descriptors.
|
|
185
|
+
*/
|
|
186
|
+
export function isGTINDescriptors(identifierDescriptorsOrDescriptor) {
|
|
187
|
+
return !("identifierType" in identifierDescriptorsOrDescriptor);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Determine if an array of identifier types includes a given identifier type.
|
|
191
|
+
*
|
|
192
|
+
* @param identifierTypes
|
|
193
|
+
* Identifier types.
|
|
194
|
+
*
|
|
195
|
+
* @param identifierType
|
|
196
|
+
* Identifier type.
|
|
197
|
+
*
|
|
198
|
+
* @returns
|
|
199
|
+
* True if element is included in the array.
|
|
200
|
+
*/
|
|
201
|
+
function identifierTypesIncludes(identifierTypes, identifierType) {
|
|
202
|
+
return identifierTypes.includes(identifierType);
|
|
203
|
+
}
|
|
204
|
+
const NUMERIC_IDENTIFIER_TYPES = [IdentifierTypes.GTIN, IdentifierTypes.GLN, IdentifierTypes.SSCC, IdentifierTypes.GRAI, IdentifierTypes.GSRN, IdentifierTypes.GDTI, IdentifierTypes.GSIN, IdentifierTypes.GCN];
|
|
205
|
+
/**
|
|
206
|
+
* Determine if identifier descriptor is a numeric identifier descriptor.
|
|
207
|
+
*
|
|
208
|
+
* @param identifierDescriptor
|
|
209
|
+
* Identifier descriptor.
|
|
210
|
+
*
|
|
211
|
+
* @returns
|
|
212
|
+
* True if identifier descriptor is a numeric identifier descriptor.
|
|
213
|
+
*/
|
|
214
|
+
export function isNumericIdentifierDescriptor(identifierDescriptor) {
|
|
215
|
+
return identifierTypesIncludes(NUMERIC_IDENTIFIER_TYPES, identifierDescriptor.identifierType);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Determine if identifier descriptor is a GTIN descriptor.
|
|
219
|
+
*
|
|
220
|
+
* @param identifierDescriptor
|
|
221
|
+
* Identifier descriptor.
|
|
222
|
+
*
|
|
223
|
+
* @returns
|
|
224
|
+
* True if identifier descriptor is a GTIN descriptor.
|
|
225
|
+
*/
|
|
226
|
+
export function isGTINDescriptor(identifierDescriptor) {
|
|
227
|
+
return identifierDescriptor.identifierType === IdentifierTypes.GTIN;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Determine if identifier descriptor is a non-GTIN numeric identifier descriptor.
|
|
231
|
+
*
|
|
232
|
+
* @param identifierDescriptor
|
|
233
|
+
* Identifier descriptor.
|
|
234
|
+
*
|
|
235
|
+
* @returns
|
|
236
|
+
* True if identifier descriptor is a non-GTIN numeric identifier descriptor.
|
|
237
|
+
*/
|
|
238
|
+
export function isNonGTINNumericIdentifierDescriptor(identifierDescriptor) {
|
|
239
|
+
return isNumericIdentifierDescriptor(identifierDescriptor) && !isGTINDescriptor(identifierDescriptor);
|
|
240
|
+
}
|
|
241
|
+
const SERIALIZABLE_NUMERIC_IDENTIFIER_TYPES = [IdentifierTypes.GRAI, IdentifierTypes.GDTI, IdentifierTypes.GCN];
|
|
242
|
+
/**
|
|
243
|
+
* Determine if identifier descriptor is a serializable numeric identifier descriptor.
|
|
244
|
+
*
|
|
245
|
+
* @param identifierDescriptor
|
|
246
|
+
* Identifier descriptor.
|
|
247
|
+
*
|
|
248
|
+
* @returns
|
|
249
|
+
* True if identifier descriptor is a serializable numeric identifier descriptor.
|
|
250
|
+
*/
|
|
251
|
+
export function isSerializableNumericIdentifierDescriptor(identifierDescriptor) {
|
|
252
|
+
return identifierTypesIncludes(SERIALIZABLE_NUMERIC_IDENTIFIER_TYPES, identifierDescriptor.identifierType);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Determine if identifier descriptor is a non-numeric identifier descriptor.
|
|
256
|
+
*
|
|
257
|
+
* @param identifierDescriptor
|
|
258
|
+
* Identifier descriptor.
|
|
259
|
+
*
|
|
260
|
+
* @returns
|
|
261
|
+
* True if identifier descriptor is a non-numeric identifier descriptor.
|
|
262
|
+
*/
|
|
263
|
+
export function isNonNumericIdentifierDescriptor(identifierDescriptor) {
|
|
264
|
+
return !isNumericIdentifierDescriptor(identifierDescriptor);
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=descriptors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptors.js","sourceRoot":"","sources":["../src/descriptors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type TransformerInput, type TransformerOutput } from "@aidc-toolkit/utility";
|
|
2
|
+
import { AbstractNumericIdentifierCreator } from "./abstract-numeric-identifier-creator.js";
|
|
3
|
+
import { type GTINBaseType } from "./gtin-type.js";
|
|
4
|
+
import { GTINValidator } from "./gtin-validator.js";
|
|
5
|
+
import type { PrefixProvider } from "./prefix-provider.js";
|
|
6
|
+
declare const GTINCreator_base: import("ts-mixer/dist/types/types.js").Class<any[], GTINValidator & AbstractNumericIdentifierCreator<import("./numeric-identifier-descriptor.js").NumericIdentifierDescriptor>, typeof GTINValidator & (abstract new () => AbstractNumericIdentifierCreator<import("./numeric-identifier-descriptor.js").NumericIdentifierDescriptor>)>;
|
|
7
|
+
/**
|
|
8
|
+
* GTIN creator. Applicable to GTIN-13, GTIN-12, and GTIN-8 types; no applicable to GTIN-14 type.
|
|
9
|
+
*/
|
|
10
|
+
export declare class GTINCreator extends GTINCreator_base {
|
|
11
|
+
/**
|
|
12
|
+
* Validation parameters for required indicator digit.
|
|
13
|
+
*/
|
|
14
|
+
private static readonly REQUIRED_INDICATOR_DIGIT_VALIDATION;
|
|
15
|
+
/**
|
|
16
|
+
* Constructor. Typically called internally by a prefix manager but may be called by other code with another prefix
|
|
17
|
+
* provider type.
|
|
18
|
+
*
|
|
19
|
+
* @param prefixProvider
|
|
20
|
+
* Prefix provider.
|
|
21
|
+
*
|
|
22
|
+
* @param gtinBaseType
|
|
23
|
+
* GTIN base type (all except GTIN-14).
|
|
24
|
+
*/
|
|
25
|
+
constructor(prefixProvider: PrefixProvider, gtinBaseType: GTINBaseType);
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
get prefix(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Create GTIN-14(s) with an indicator digit and reference(s) based on numeric value(s). The value(s) is/are
|
|
32
|
+
* converted to reference(s) of the appropriate length using {@linkcode NUMERIC_CREATOR}.
|
|
33
|
+
*
|
|
34
|
+
* @template TTransformerInput
|
|
35
|
+
* Transformer input type.
|
|
36
|
+
*
|
|
37
|
+
* @param indicatorDigit
|
|
38
|
+
* Indicator digit.
|
|
39
|
+
*
|
|
40
|
+
* @param valueOrValues
|
|
41
|
+
* Numeric value(s).
|
|
42
|
+
*
|
|
43
|
+
* @param sparse
|
|
44
|
+
* If true, the value(s) is/are mapped to a sparse sequence resistant to discovery. Default is false.
|
|
45
|
+
*
|
|
46
|
+
* @returns
|
|
47
|
+
* GTIN-14(s).
|
|
48
|
+
*/
|
|
49
|
+
createGTIN14<TTransformerInput extends TransformerInput<number | bigint>>(indicatorDigit: string, valueOrValues: TTransformerInput, sparse?: boolean): TransformerOutput<TTransformerInput, string>;
|
|
50
|
+
/**
|
|
51
|
+
* Create a Restricted Circulation Number (RCN) using a variable measure trade item format. See {@linkcode
|
|
52
|
+
* GTINValidator.parseVariableMeasureRCN} for format details.
|
|
53
|
+
*
|
|
54
|
+
* @param format
|
|
55
|
+
* Format.
|
|
56
|
+
*
|
|
57
|
+
* @param itemReference
|
|
58
|
+
* Item reference.
|
|
59
|
+
*
|
|
60
|
+
* @param priceOrWeight
|
|
61
|
+
* Price or weight (whole number only).
|
|
62
|
+
*
|
|
63
|
+
* @returns
|
|
64
|
+
* RCN-12 or RCN-13.
|
|
65
|
+
*/
|
|
66
|
+
static createVariableMeasureRCN(format: string, itemReference: number, priceOrWeight: number): string;
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=gtin-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtin-creator.d.ts","sourceRoot":"","sources":["../src/gtin-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAE5F,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;;AAE3D;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAAsD;IACnF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAIzD;IAEF;;;;;;;;;OASG;gBACS,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY;IAMtE;;OAEG;IACH,IAAa,MAAM,IAAI,MAAM,CAE5B;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAUjM;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAmGxG"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { Exclusions, NUMERIC_CREATOR } from "@aidc-toolkit/utility";
|
|
2
|
+
import { Mixin } from "ts-mixer";
|
|
3
|
+
import { AbstractNumericIdentifierCreator } from "./abstract-numeric-identifier-creator.js";
|
|
4
|
+
import { checkDigit, priceOrWeightCheckDigit } from "./check.js";
|
|
5
|
+
import { GTINTypes } from "./gtin-type.js";
|
|
6
|
+
import { GTINValidator } from "./gtin-validator.js";
|
|
7
|
+
import { i18nextGS1 } from "./locale/i18n.js";
|
|
8
|
+
/**
|
|
9
|
+
* GTIN creator. Applicable to GTIN-13, GTIN-12, and GTIN-8 types; no applicable to GTIN-14 type.
|
|
10
|
+
*/
|
|
11
|
+
export class GTINCreator extends Mixin(GTINValidator, AbstractNumericIdentifierCreator) {
|
|
12
|
+
/**
|
|
13
|
+
* Validation parameters for required indicator digit.
|
|
14
|
+
*/
|
|
15
|
+
static REQUIRED_INDICATOR_DIGIT_VALIDATION = {
|
|
16
|
+
minimumLength: 1,
|
|
17
|
+
maximumLength: 1,
|
|
18
|
+
component: () => i18nextGS1.t("Identifier.indicatorDigit")
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Constructor. Typically called internally by a prefix manager but may be called by other code with another prefix
|
|
22
|
+
* provider type.
|
|
23
|
+
*
|
|
24
|
+
* @param prefixProvider
|
|
25
|
+
* Prefix provider.
|
|
26
|
+
*
|
|
27
|
+
* @param gtinBaseType
|
|
28
|
+
* GTIN base type (all except GTIN-14).
|
|
29
|
+
*/
|
|
30
|
+
constructor(prefixProvider, gtinBaseType) {
|
|
31
|
+
super(gtinBaseType);
|
|
32
|
+
this.init(prefixProvider, prefixProvider.prefix);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @inheritDoc
|
|
36
|
+
*/
|
|
37
|
+
get prefix() {
|
|
38
|
+
return this.prefixProvider.prefix;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create GTIN-14(s) with an indicator digit and reference(s) based on numeric value(s). The value(s) is/are
|
|
42
|
+
* converted to reference(s) of the appropriate length using {@linkcode NUMERIC_CREATOR}.
|
|
43
|
+
*
|
|
44
|
+
* @template TTransformerInput
|
|
45
|
+
* Transformer input type.
|
|
46
|
+
*
|
|
47
|
+
* @param indicatorDigit
|
|
48
|
+
* Indicator digit.
|
|
49
|
+
*
|
|
50
|
+
* @param valueOrValues
|
|
51
|
+
* Numeric value(s).
|
|
52
|
+
*
|
|
53
|
+
* @param sparse
|
|
54
|
+
* If true, the value(s) is/are mapped to a sparse sequence resistant to discovery. Default is false.
|
|
55
|
+
*
|
|
56
|
+
* @returns
|
|
57
|
+
* GTIN-14(s).
|
|
58
|
+
*/
|
|
59
|
+
createGTIN14(indicatorDigit, valueOrValues, sparse = false) {
|
|
60
|
+
NUMERIC_CREATOR.validate(indicatorDigit, GTINCreator.REQUIRED_INDICATOR_DIGIT_VALIDATION);
|
|
61
|
+
return NUMERIC_CREATOR.create(GTINTypes.GTIN13 - this.prefixProvider.gs1CompanyPrefix.length - 1, valueOrValues, Exclusions.None, sparse ? this.tweak : undefined, (reference) => {
|
|
62
|
+
const partialIdentifier = indicatorDigit + this.prefixProvider.gs1CompanyPrefix + reference;
|
|
63
|
+
return partialIdentifier + checkDigit(partialIdentifier);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a Restricted Circulation Number (RCN) using a variable measure trade item format. See {@linkcode
|
|
68
|
+
* GTINValidator.parseVariableMeasureRCN} for format details.
|
|
69
|
+
*
|
|
70
|
+
* @param format
|
|
71
|
+
* Format.
|
|
72
|
+
*
|
|
73
|
+
* @param itemReference
|
|
74
|
+
* Item reference.
|
|
75
|
+
*
|
|
76
|
+
* @param priceOrWeight
|
|
77
|
+
* Price or weight (whole number only).
|
|
78
|
+
*
|
|
79
|
+
* @returns
|
|
80
|
+
* RCN-12 or RCN-13.
|
|
81
|
+
*/
|
|
82
|
+
static createVariableMeasureRCN(format, itemReference, priceOrWeight) {
|
|
83
|
+
const formatLength = format.length;
|
|
84
|
+
let validFormat = formatLength === 12 || formatLength === 13;
|
|
85
|
+
let rcnPrefix = "";
|
|
86
|
+
let buildingItemReference = false;
|
|
87
|
+
let itemReferenceString = "";
|
|
88
|
+
let itemReferenceLength = 0;
|
|
89
|
+
let buildingPriceOrWeight = false;
|
|
90
|
+
let priceOrWeightString = "";
|
|
91
|
+
let priceOrWeightLength = 0;
|
|
92
|
+
let calculatePriceOrWeightCheckDigit = false;
|
|
93
|
+
// RCN may be built in almost any order, so defer to builders that will be in ordered array.
|
|
94
|
+
const rcnPrefixBuilder = (partialRCN) => partialRCN + rcnPrefix;
|
|
95
|
+
const itemReferenceBuilder = (partialRCN) => partialRCN + itemReferenceString;
|
|
96
|
+
const priceOrWeightBuilder = (partialRCN) => partialRCN + priceOrWeightString;
|
|
97
|
+
const priceOrWeightCheckDigitBuilder = (partialRCN) => partialRCN + priceOrWeightCheckDigit(priceOrWeightString);
|
|
98
|
+
const checkDigitBuilder = (partialRCN) => partialRCN + checkDigit(partialRCN);
|
|
99
|
+
const rcnBuilders = [rcnPrefixBuilder];
|
|
100
|
+
for (let index = 0; validFormat && index < formatLength; index++) {
|
|
101
|
+
const formatChar = format.charAt(index);
|
|
102
|
+
if (index === 0) {
|
|
103
|
+
validFormat = formatChar === "2";
|
|
104
|
+
rcnPrefix = formatChar;
|
|
105
|
+
}
|
|
106
|
+
else if (formatLength === 13 && index === 1) {
|
|
107
|
+
validFormat = NUMERIC_CREATOR.characterIndex(formatChar) !== undefined;
|
|
108
|
+
rcnPrefix += formatChar;
|
|
109
|
+
}
|
|
110
|
+
else if (index === formatLength - 1) {
|
|
111
|
+
validFormat = formatChar === "C";
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
switch (formatChar) {
|
|
115
|
+
case "I":
|
|
116
|
+
if (!buildingItemReference) {
|
|
117
|
+
// Item reference can't appear more than once.
|
|
118
|
+
validFormat = itemReferenceLength === 0;
|
|
119
|
+
buildingItemReference = true;
|
|
120
|
+
buildingPriceOrWeight = false;
|
|
121
|
+
rcnBuilders.push(itemReferenceBuilder);
|
|
122
|
+
}
|
|
123
|
+
itemReferenceLength++;
|
|
124
|
+
break;
|
|
125
|
+
case "P":
|
|
126
|
+
if (!buildingPriceOrWeight) {
|
|
127
|
+
// Price or weight can't appear more than once.
|
|
128
|
+
validFormat = priceOrWeightLength === 0;
|
|
129
|
+
buildingPriceOrWeight = true;
|
|
130
|
+
buildingItemReference = false;
|
|
131
|
+
rcnBuilders.push(priceOrWeightBuilder);
|
|
132
|
+
}
|
|
133
|
+
priceOrWeightLength++;
|
|
134
|
+
break;
|
|
135
|
+
case "V":
|
|
136
|
+
// Price or weight check digit can't appear more than once.
|
|
137
|
+
validFormat = !calculatePriceOrWeightCheckDigit;
|
|
138
|
+
buildingItemReference = false;
|
|
139
|
+
buildingPriceOrWeight = false;
|
|
140
|
+
calculatePriceOrWeightCheckDigit = true;
|
|
141
|
+
rcnBuilders.push(priceOrWeightCheckDigitBuilder);
|
|
142
|
+
break;
|
|
143
|
+
default:
|
|
144
|
+
validFormat = false;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
validFormat &&= itemReferenceLength !== 0 && priceOrWeightLength !== 0;
|
|
150
|
+
if (!validFormat) {
|
|
151
|
+
throw new RangeError(i18nextGS1.t("Identifier.invalidVariableMeasureRCNFormat"));
|
|
152
|
+
}
|
|
153
|
+
itemReferenceString = NUMERIC_CREATOR.create(itemReferenceLength, itemReference);
|
|
154
|
+
priceOrWeightString = NUMERIC_CREATOR.create(priceOrWeightLength, priceOrWeight);
|
|
155
|
+
rcnBuilders.push(checkDigitBuilder);
|
|
156
|
+
return rcnBuilders.reduce((partialRCN, rcnBuilder) => rcnBuilder(partialRCN), "");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=gtin-creator.js.map
|