@aidc-toolkit/gs1 1.0.26-beta → 1.0.27-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abstract-identifier-creator.d.ts +66 -66
- package/dist/abstract-identifier-creator.d.ts.map +1 -1
- package/dist/abstract-identifier-creator.js +68 -45
- package/dist/abstract-identifier-creator.js.map +1 -1
- package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts +42 -0
- package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts.map +1 -0
- package/dist/abstract-non-gtin-numeric-identifier-creator.js +40 -0
- package/dist/abstract-non-gtin-numeric-identifier-creator.js.map +1 -0
- package/dist/abstract-numeric-identifier-creator.d.ts +37 -86
- package/dist/abstract-numeric-identifier-creator.d.ts.map +1 -1
- package/dist/abstract-numeric-identifier-creator.js +144 -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 +7 -12
- package/dist/gtin-creator.d.ts.map +1 -1
- package/dist/gtin-creator.js +11 -14
- 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} +16 -7
- package/dist/identifier-creators.d.ts.map +1 -0
- package/dist/{creators.js → identifier-creators.js} +19 -7
- 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} +21 -11
- package/dist/identifier-validators.d.ts.map +1 -0
- package/dist/{validators.js → identifier-validators.js} +25 -12
- 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 +7 -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 +6 -102
- package/dist/prefix-manager.d.ts.map +1 -1
- package/dist/prefix-manager.js +65 -60
- 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 +155 -74
- package/src/abstract-non-gtin-numeric-identifier-creator.ts +86 -0
- package/src/abstract-numeric-identifier-creator.ts +202 -133
- package/src/content-character-set-creators.ts +9 -0
- package/src/gtin-creator.ts +16 -15
- 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/{creators.ts → identifier-creators.ts} +40 -26
- 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} +51 -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 +17 -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 +12 -0
- package/src/non-serializable-numeric-identifier-descriptor.ts +7 -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 +67 -64
- package/src/serializable-numeric-identifier-creator.ts +11 -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/non-gtin-numeric-identifier-validator.ts +7 -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/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.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/dist/prefix-manager.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GTINCreator } from "./gtin-creator.js";
|
|
2
|
-
import { NonGTINNumericIdentifierCreator } from "./non-gtin-numeric-identifier-creator.js";
|
|
3
2
|
import { NonNumericIdentifierCreator } from "./non-numeric-identifier-creator.js";
|
|
3
|
+
import { NonSerializableNumericIdentifierCreator } from "./non-serializable-numeric-identifier-creator.js";
|
|
4
4
|
import type { PrefixProvider } from "./prefix-provider.js";
|
|
5
5
|
import { type PrefixType } from "./prefix-type.js";
|
|
6
6
|
import { SerializableNumericIdentifierCreator } from "./serializable-numeric-identifier-creator.js";
|
|
@@ -25,47 +25,7 @@ import { SerializableNumericIdentifierCreator } from "./serializable-numeric-ide
|
|
|
25
25
|
* should be taken to restore it when resuming the application. A tweak factor of 0 creates a straight sequence.
|
|
26
26
|
*/
|
|
27
27
|
export declare class PrefixManager implements PrefixProvider {
|
|
28
|
-
|
|
29
|
-
* Cached prefix managers, keyed by GS1 Company Prefix.
|
|
30
|
-
*/
|
|
31
|
-
private static readonly PREFIX_MANAGERS_MAP;
|
|
32
|
-
/**
|
|
33
|
-
* Creator tweak factors. Different numeric identifier types have different tweak factors so that sparse creation
|
|
34
|
-
* generates different sequences for each.
|
|
35
|
-
*/
|
|
36
|
-
private static readonly CREATOR_TWEAK_FACTORS;
|
|
37
|
-
/**
|
|
38
|
-
* Normalized prefix type.
|
|
39
|
-
*/
|
|
40
|
-
private readonly _prefixType;
|
|
41
|
-
/**
|
|
42
|
-
* Normalized prefix.
|
|
43
|
-
*/
|
|
44
|
-
private readonly _prefix;
|
|
45
|
-
/**
|
|
46
|
-
* Prefix as GS1 Company Prefix.
|
|
47
|
-
*/
|
|
48
|
-
private readonly _gs1CompanyPrefix;
|
|
49
|
-
/**
|
|
50
|
-
* U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix}.
|
|
51
|
-
*/
|
|
52
|
-
private readonly _upcCompanyPrefix;
|
|
53
|
-
/**
|
|
54
|
-
* GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix}.
|
|
55
|
-
*/
|
|
56
|
-
private readonly _gs18Prefix;
|
|
57
|
-
/**
|
|
58
|
-
* Default tweak factor.
|
|
59
|
-
*/
|
|
60
|
-
private readonly _defaultTweakFactor;
|
|
61
|
-
/**
|
|
62
|
-
* Tweak factor.
|
|
63
|
-
*/
|
|
64
|
-
private _tweakFactor;
|
|
65
|
-
/**
|
|
66
|
-
* Cached identifier creators.
|
|
67
|
-
*/
|
|
68
|
-
private readonly _identifierCreators;
|
|
28
|
+
#private;
|
|
69
29
|
/**
|
|
70
30
|
* Constructor.
|
|
71
31
|
*
|
|
@@ -96,13 +56,6 @@ export declare class PrefixManager implements PrefixProvider {
|
|
|
96
56
|
* Get the GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix} or undefined if not.
|
|
97
57
|
*/
|
|
98
58
|
get gs18Prefix(): string | undefined;
|
|
99
|
-
/**
|
|
100
|
-
* Set the tweak for an identifier creator if it's a numeric identifier creator.
|
|
101
|
-
*
|
|
102
|
-
* @param identifierCreator
|
|
103
|
-
* Identifier creator.
|
|
104
|
-
*/
|
|
105
|
-
private setCreatorTweak;
|
|
106
59
|
/**
|
|
107
60
|
* Get the tweak factor.
|
|
108
61
|
*/
|
|
@@ -131,55 +84,6 @@ export declare class PrefixManager implements PrefixProvider {
|
|
|
131
84
|
* Prefix manager with normalized prefix type and prefix.
|
|
132
85
|
*/
|
|
133
86
|
static get(prefixType: PrefixType, prefix: string): PrefixManager;
|
|
134
|
-
/**
|
|
135
|
-
* Get an identifier creator.
|
|
136
|
-
*
|
|
137
|
-
* @template TIdentifierType
|
|
138
|
-
* Identifier type type.
|
|
139
|
-
*
|
|
140
|
-
* @param identifierType
|
|
141
|
-
* Identifier type used to construct identifier creator.
|
|
142
|
-
*
|
|
143
|
-
* @param constructorParameter
|
|
144
|
-
* Second constructor parameter passed to constructor callback alongside this.
|
|
145
|
-
*
|
|
146
|
-
* @param ConstructorCallback
|
|
147
|
-
* Constructor callback.
|
|
148
|
-
*
|
|
149
|
-
* @returns
|
|
150
|
-
* Identifier creator.
|
|
151
|
-
*/
|
|
152
|
-
private getIdentifierCreator;
|
|
153
|
-
/**
|
|
154
|
-
* Get non-GTIN numeric identifier creator.
|
|
155
|
-
*
|
|
156
|
-
* @param identifierType
|
|
157
|
-
* Identifier type used to construct identifier creator.
|
|
158
|
-
*
|
|
159
|
-
* @returns
|
|
160
|
-
* Identifier creator.
|
|
161
|
-
*/
|
|
162
|
-
private getNonGTINNumericIdentifierCreator;
|
|
163
|
-
/**
|
|
164
|
-
* Get serialized numeric identifier creator.
|
|
165
|
-
*
|
|
166
|
-
* @param identifierType
|
|
167
|
-
* Identifier type used to construct identifier creator.
|
|
168
|
-
*
|
|
169
|
-
* @returns
|
|
170
|
-
* Identifier creator.
|
|
171
|
-
*/
|
|
172
|
-
private getSerializableNumericIdentifierCreator;
|
|
173
|
-
/**
|
|
174
|
-
* Get non-numeric identifier creator.
|
|
175
|
-
*
|
|
176
|
-
* @param identifierType
|
|
177
|
-
* Identifier type used to construct identifier creator.
|
|
178
|
-
*
|
|
179
|
-
* @returns
|
|
180
|
-
* Identifier creator.
|
|
181
|
-
*/
|
|
182
|
-
private getNonNumericIdentifierCreator;
|
|
183
87
|
/**
|
|
184
88
|
* Get GTIN creator.
|
|
185
89
|
*/
|
|
@@ -187,11 +91,11 @@ export declare class PrefixManager implements PrefixProvider {
|
|
|
187
91
|
/**
|
|
188
92
|
* Get GLN creator.
|
|
189
93
|
*/
|
|
190
|
-
get glnCreator():
|
|
94
|
+
get glnCreator(): NonSerializableNumericIdentifierCreator;
|
|
191
95
|
/**
|
|
192
96
|
* Get SSCC creator.
|
|
193
97
|
*/
|
|
194
|
-
get ssccCreator():
|
|
98
|
+
get ssccCreator(): NonSerializableNumericIdentifierCreator;
|
|
195
99
|
/**
|
|
196
100
|
* Get GRAI creator.
|
|
197
101
|
*/
|
|
@@ -203,7 +107,7 @@ export declare class PrefixManager implements PrefixProvider {
|
|
|
203
107
|
/**
|
|
204
108
|
* Get GSRN creator.
|
|
205
109
|
*/
|
|
206
|
-
get gsrnCreator():
|
|
110
|
+
get gsrnCreator(): NonSerializableNumericIdentifierCreator;
|
|
207
111
|
/**
|
|
208
112
|
* Get GDTI creator.
|
|
209
113
|
*/
|
|
@@ -215,7 +119,7 @@ export declare class PrefixManager implements PrefixProvider {
|
|
|
215
119
|
/**
|
|
216
120
|
* Get GSIN creator.
|
|
217
121
|
*/
|
|
218
|
-
get gsinCreator():
|
|
122
|
+
get gsinCreator(): NonSerializableNumericIdentifierCreator;
|
|
219
123
|
/**
|
|
220
124
|
* Get GCN creator.
|
|
221
125
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-manager.d.ts","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prefix-manager.d.ts","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAG3G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AAGpG;;;;;;;;;;;;;;;;;;;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;IA8FjE;;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"}
|
package/dist/prefix-manager.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
var _a;
|
|
2
2
|
import { GTINCreator } from "./gtin-creator.js";
|
|
3
|
-
import { GTIN_BASE_TYPES } from "./gtin-
|
|
3
|
+
import { GTIN_BASE_TYPES } from "./gtin-length.js";
|
|
4
|
+
import { isNumericIdentifierCreator } from "./identifier-creators.js";
|
|
4
5
|
import { IdentifierTypes } from "./identifier-type.js";
|
|
5
6
|
import { i18nextGS1 } from "./locale/i18n.js";
|
|
6
|
-
import { NonGTINNumericIdentifierCreator } from "./non-gtin-numeric-identifier-creator.js";
|
|
7
7
|
import { NonNumericIdentifierCreator } from "./non-numeric-identifier-creator.js";
|
|
8
|
+
import { NonSerializableNumericIdentifierCreator } from "./non-serializable-numeric-identifier-creator.js";
|
|
8
9
|
import { PrefixTypes } from "./prefix-type.js";
|
|
9
10
|
import { PrefixValidator } from "./prefix-validator.js";
|
|
10
11
|
import { SerializableNumericIdentifierCreator } from "./serializable-numeric-identifier-creator.js";
|
|
@@ -32,12 +33,12 @@ export class PrefixManager {
|
|
|
32
33
|
/**
|
|
33
34
|
* Cached prefix managers, keyed by GS1 Company Prefix.
|
|
34
35
|
*/
|
|
35
|
-
static PREFIX_MANAGERS_MAP = new Map();
|
|
36
|
+
static #PREFIX_MANAGERS_MAP = new Map();
|
|
36
37
|
/**
|
|
37
38
|
* Creator tweak factors. Different numeric identifier types have different tweak factors so that sparse creation
|
|
38
39
|
* generates different sequences for each.
|
|
39
40
|
*/
|
|
40
|
-
static CREATOR_TWEAK_FACTORS = {
|
|
41
|
+
static #CREATOR_TWEAK_FACTORS = {
|
|
41
42
|
GTIN: 1987n,
|
|
42
43
|
GLN: 4241n,
|
|
43
44
|
SSCC: 8087n,
|
|
@@ -50,35 +51,35 @@ export class PrefixManager {
|
|
|
50
51
|
/**
|
|
51
52
|
* Normalized prefix type.
|
|
52
53
|
*/
|
|
53
|
-
|
|
54
|
+
#prefixType;
|
|
54
55
|
/**
|
|
55
56
|
* Normalized prefix.
|
|
56
57
|
*/
|
|
57
|
-
|
|
58
|
+
#prefix;
|
|
58
59
|
/**
|
|
59
60
|
* Prefix as GS1 Company Prefix.
|
|
60
61
|
*/
|
|
61
|
-
|
|
62
|
+
#gs1CompanyPrefix;
|
|
62
63
|
/**
|
|
63
64
|
* U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix}.
|
|
64
65
|
*/
|
|
65
|
-
|
|
66
|
+
#upcCompanyPrefix;
|
|
66
67
|
/**
|
|
67
68
|
* GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix}.
|
|
68
69
|
*/
|
|
69
|
-
|
|
70
|
+
#gs18Prefix;
|
|
70
71
|
/**
|
|
71
72
|
* Default tweak factor.
|
|
72
73
|
*/
|
|
73
|
-
|
|
74
|
+
#defaultTweakFactor;
|
|
74
75
|
/**
|
|
75
76
|
* Tweak factor.
|
|
76
77
|
*/
|
|
77
|
-
|
|
78
|
+
#tweakFactor = 0n;
|
|
78
79
|
/**
|
|
79
80
|
* Cached identifier creators.
|
|
80
81
|
*/
|
|
81
|
-
|
|
82
|
+
#identifierCreators = {};
|
|
82
83
|
/**
|
|
83
84
|
* Constructor.
|
|
84
85
|
*
|
|
@@ -90,44 +91,44 @@ export class PrefixManager {
|
|
|
90
91
|
*/
|
|
91
92
|
constructor(prefixType, prefix) {
|
|
92
93
|
const normalizedPrefixProvider = PrefixValidator.normalize(prefixType, prefix);
|
|
93
|
-
this
|
|
94
|
-
this
|
|
95
|
-
this
|
|
96
|
-
this
|
|
97
|
-
this
|
|
94
|
+
this.#prefixType = normalizedPrefixProvider.prefixType;
|
|
95
|
+
this.#prefix = normalizedPrefixProvider.prefix;
|
|
96
|
+
this.#gs1CompanyPrefix = normalizedPrefixProvider.gs1CompanyPrefix;
|
|
97
|
+
this.#upcCompanyPrefix = normalizedPrefixProvider.upcCompanyPrefix;
|
|
98
|
+
this.#gs18Prefix = normalizedPrefixProvider.gs18Prefix;
|
|
98
99
|
// Default tweak factor is the numeric value of the GS1 Company Prefix preceded by '1'.
|
|
99
|
-
this
|
|
100
|
+
this.#defaultTweakFactor = BigInt(`1${this.gs1CompanyPrefix}`);
|
|
100
101
|
this.resetTweakFactor();
|
|
101
102
|
}
|
|
102
103
|
/**
|
|
103
104
|
* Get the prefix type.
|
|
104
105
|
*/
|
|
105
106
|
get prefixType() {
|
|
106
|
-
return this
|
|
107
|
+
return this.#prefixType;
|
|
107
108
|
}
|
|
108
109
|
/**
|
|
109
110
|
* Get the prefix.
|
|
110
111
|
*/
|
|
111
112
|
get prefix() {
|
|
112
|
-
return this
|
|
113
|
+
return this.#prefix;
|
|
113
114
|
}
|
|
114
115
|
/**
|
|
115
116
|
* Get the GS1 Company Prefix.
|
|
116
117
|
*/
|
|
117
118
|
get gs1CompanyPrefix() {
|
|
118
|
-
return this
|
|
119
|
+
return this.#gs1CompanyPrefix;
|
|
119
120
|
}
|
|
120
121
|
/**
|
|
121
122
|
* Get the U.P.C. Company Prefix if prefix type is {@linkcode PrefixTypes.UPCCompanyPrefix} or undefined if not.
|
|
122
123
|
*/
|
|
123
124
|
get upcCompanyPrefix() {
|
|
124
|
-
return this
|
|
125
|
+
return this.#upcCompanyPrefix;
|
|
125
126
|
}
|
|
126
127
|
/**
|
|
127
128
|
* Get the GS1-8 Prefix if prefix type is {@linkcode PrefixTypes.GS18Prefix} or undefined if not.
|
|
128
129
|
*/
|
|
129
130
|
get gs18Prefix() {
|
|
130
|
-
return this
|
|
131
|
+
return this.#gs18Prefix;
|
|
131
132
|
}
|
|
132
133
|
/**
|
|
133
134
|
* Set the tweak for an identifier creator if it's a numeric identifier creator.
|
|
@@ -135,17 +136,17 @@ export class PrefixManager {
|
|
|
135
136
|
* @param identifierCreator
|
|
136
137
|
* Identifier creator.
|
|
137
138
|
*/
|
|
138
|
-
setCreatorTweak(identifierCreator) {
|
|
139
|
+
#setCreatorTweak(identifierCreator) {
|
|
139
140
|
if (isNumericIdentifierCreator(identifierCreator)) {
|
|
140
141
|
// eslint-disable-next-line no-param-reassign -- Method purpose is to set the tweak.
|
|
141
|
-
identifierCreator.tweak = this.tweakFactor *
|
|
142
|
+
identifierCreator.tweak = this.tweakFactor * _a.#CREATOR_TWEAK_FACTORS[identifierCreator.identifierType];
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
145
|
/**
|
|
145
146
|
* Get the tweak factor.
|
|
146
147
|
*/
|
|
147
148
|
get tweakFactor() {
|
|
148
|
-
return this
|
|
149
|
+
return this.#tweakFactor;
|
|
149
150
|
}
|
|
150
151
|
/**
|
|
151
152
|
* Set the tweak factor.
|
|
@@ -155,10 +156,10 @@ export class PrefixManager {
|
|
|
155
156
|
*/
|
|
156
157
|
set tweakFactor(value) {
|
|
157
158
|
const tweakFactor = BigInt(value);
|
|
158
|
-
if (this
|
|
159
|
-
this
|
|
160
|
-
for (const creator of Object.values(this
|
|
161
|
-
this
|
|
159
|
+
if (this.#tweakFactor !== tweakFactor) {
|
|
160
|
+
this.#tweakFactor = tweakFactor;
|
|
161
|
+
for (const creator of Object.values(this.#identifierCreators)) {
|
|
162
|
+
this.#setCreatorTweak(creator);
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
165
|
}
|
|
@@ -166,7 +167,7 @@ export class PrefixManager {
|
|
|
166
167
|
* Reset the tweak factor to its default (numeric value of the GS1 Company Prefix preceded by '1').
|
|
167
168
|
*/
|
|
168
169
|
resetTweakFactor() {
|
|
169
|
-
this.tweakFactor = this
|
|
170
|
+
this.tweakFactor = this.#defaultTweakFactor;
|
|
170
171
|
}
|
|
171
172
|
/**
|
|
172
173
|
* Get a prefix manager.
|
|
@@ -183,10 +184,10 @@ export class PrefixManager {
|
|
|
183
184
|
static get(prefixType, prefix) {
|
|
184
185
|
// Normalization will occur in constructor as well, but it's necessary here for the map.
|
|
185
186
|
const normalizedPrefixProvider = PrefixValidator.normalize(prefixType, prefix);
|
|
186
|
-
let prefixManager =
|
|
187
|
+
let prefixManager = _a.#PREFIX_MANAGERS_MAP.get(normalizedPrefixProvider.gs1CompanyPrefix);
|
|
187
188
|
if (prefixManager === undefined) {
|
|
188
|
-
prefixManager = new
|
|
189
|
-
|
|
189
|
+
prefixManager = new _a(normalizedPrefixProvider.prefixType, normalizedPrefixProvider.prefix);
|
|
190
|
+
_a.#PREFIX_MANAGERS_MAP.set(normalizedPrefixProvider.gs1CompanyPrefix, prefixManager);
|
|
190
191
|
}
|
|
191
192
|
return prefixManager;
|
|
192
193
|
}
|
|
@@ -196,11 +197,14 @@ export class PrefixManager {
|
|
|
196
197
|
* @template TIdentifierType
|
|
197
198
|
* Identifier type type.
|
|
198
199
|
*
|
|
200
|
+
* @template TConstructorArgument
|
|
201
|
+
* Second constructor argument type.
|
|
202
|
+
*
|
|
199
203
|
* @param identifierType
|
|
200
204
|
* Identifier type used to construct identifier creator.
|
|
201
205
|
*
|
|
202
|
-
* @param
|
|
203
|
-
* Second constructor
|
|
206
|
+
* @param constructorArgument
|
|
207
|
+
* Second constructor argument passed to constructor callback alongside this.
|
|
204
208
|
*
|
|
205
209
|
* @param ConstructorCallback
|
|
206
210
|
* Constructor callback.
|
|
@@ -208,17 +212,17 @@ export class PrefixManager {
|
|
|
208
212
|
* @returns
|
|
209
213
|
* Identifier creator.
|
|
210
214
|
*/
|
|
211
|
-
getIdentifierCreator(identifierType,
|
|
212
|
-
let creator = this
|
|
215
|
+
#getIdentifierCreator(identifierType, constructorArgument, ConstructorCallback) {
|
|
216
|
+
let creator = this.#identifierCreators[identifierType];
|
|
213
217
|
if (creator === undefined) {
|
|
214
218
|
if (this.prefixType === PrefixTypes.GS18Prefix && identifierType !== IdentifierTypes.GTIN) {
|
|
215
219
|
throw new RangeError(i18nextGS1.t("Prefix.identifierTypeNotSupportedByGS18Prefix", {
|
|
216
220
|
identifierType
|
|
217
221
|
}));
|
|
218
222
|
}
|
|
219
|
-
creator = new ConstructorCallback(this,
|
|
220
|
-
this
|
|
221
|
-
this
|
|
223
|
+
creator = new ConstructorCallback(this, constructorArgument);
|
|
224
|
+
this.#setCreatorTweak(creator);
|
|
225
|
+
this.#identifierCreators[identifierType] = creator;
|
|
222
226
|
}
|
|
223
227
|
return creator;
|
|
224
228
|
}
|
|
@@ -231,8 +235,8 @@ export class PrefixManager {
|
|
|
231
235
|
* @returns
|
|
232
236
|
* Identifier creator.
|
|
233
237
|
*/
|
|
234
|
-
getNonGTINNumericIdentifierCreator(identifierType) {
|
|
235
|
-
return this
|
|
238
|
+
#getNonGTINNumericIdentifierCreator(identifierType) {
|
|
239
|
+
return this.#getIdentifierCreator(identifierType, identifierType, NonSerializableNumericIdentifierCreator);
|
|
236
240
|
}
|
|
237
241
|
/**
|
|
238
242
|
* Get serialized numeric identifier creator.
|
|
@@ -243,8 +247,8 @@ export class PrefixManager {
|
|
|
243
247
|
* @returns
|
|
244
248
|
* Identifier creator.
|
|
245
249
|
*/
|
|
246
|
-
getSerializableNumericIdentifierCreator(identifierType) {
|
|
247
|
-
return this
|
|
250
|
+
#getSerializableNumericIdentifierCreator(identifierType) {
|
|
251
|
+
return this.#getIdentifierCreator(identifierType, identifierType, SerializableNumericIdentifierCreator);
|
|
248
252
|
}
|
|
249
253
|
/**
|
|
250
254
|
* Get non-numeric identifier creator.
|
|
@@ -255,80 +259,81 @@ export class PrefixManager {
|
|
|
255
259
|
* @returns
|
|
256
260
|
* Identifier creator.
|
|
257
261
|
*/
|
|
258
|
-
getNonNumericIdentifierCreator(identifierType) {
|
|
259
|
-
return this
|
|
262
|
+
#getNonNumericIdentifierCreator(identifierType) {
|
|
263
|
+
return this.#getIdentifierCreator(identifierType, identifierType, NonNumericIdentifierCreator);
|
|
260
264
|
}
|
|
261
265
|
/**
|
|
262
266
|
* Get GTIN creator.
|
|
263
267
|
*/
|
|
264
268
|
get gtinCreator() {
|
|
265
|
-
return this
|
|
269
|
+
return this.#getIdentifierCreator(IdentifierTypes.GTIN, GTIN_BASE_TYPES[this.prefixType], GTINCreator);
|
|
266
270
|
}
|
|
267
271
|
/**
|
|
268
272
|
* Get GLN creator.
|
|
269
273
|
*/
|
|
270
274
|
get glnCreator() {
|
|
271
|
-
return this
|
|
275
|
+
return this.#getNonGTINNumericIdentifierCreator(IdentifierTypes.GLN);
|
|
272
276
|
}
|
|
273
277
|
/**
|
|
274
278
|
* Get SSCC creator.
|
|
275
279
|
*/
|
|
276
280
|
get ssccCreator() {
|
|
277
|
-
return this
|
|
281
|
+
return this.#getNonGTINNumericIdentifierCreator(IdentifierTypes.SSCC);
|
|
278
282
|
}
|
|
279
283
|
/**
|
|
280
284
|
* Get GRAI creator.
|
|
281
285
|
*/
|
|
282
286
|
get graiCreator() {
|
|
283
|
-
return this
|
|
287
|
+
return this.#getSerializableNumericIdentifierCreator(IdentifierTypes.GRAI);
|
|
284
288
|
}
|
|
285
289
|
/**
|
|
286
290
|
* Get GIAI creator.
|
|
287
291
|
*/
|
|
288
292
|
get giaiCreator() {
|
|
289
|
-
return this
|
|
293
|
+
return this.#getNonNumericIdentifierCreator(IdentifierTypes.GIAI);
|
|
290
294
|
}
|
|
291
295
|
/**
|
|
292
296
|
* Get GSRN creator.
|
|
293
297
|
*/
|
|
294
298
|
get gsrnCreator() {
|
|
295
|
-
return this
|
|
299
|
+
return this.#getNonGTINNumericIdentifierCreator(IdentifierTypes.GSRN);
|
|
296
300
|
}
|
|
297
301
|
/**
|
|
298
302
|
* Get GDTI creator.
|
|
299
303
|
*/
|
|
300
304
|
get gdtiCreator() {
|
|
301
|
-
return this
|
|
305
|
+
return this.#getSerializableNumericIdentifierCreator(IdentifierTypes.GDTI);
|
|
302
306
|
}
|
|
303
307
|
/**
|
|
304
308
|
* Get GINC creator.
|
|
305
309
|
*/
|
|
306
310
|
get gincCreator() {
|
|
307
|
-
return this
|
|
311
|
+
return this.#getNonNumericIdentifierCreator(IdentifierTypes.GINC);
|
|
308
312
|
}
|
|
309
313
|
/**
|
|
310
314
|
* Get GSIN creator.
|
|
311
315
|
*/
|
|
312
316
|
get gsinCreator() {
|
|
313
|
-
return this
|
|
317
|
+
return this.#getNonGTINNumericIdentifierCreator(IdentifierTypes.GSIN);
|
|
314
318
|
}
|
|
315
319
|
/**
|
|
316
320
|
* Get GCN creator.
|
|
317
321
|
*/
|
|
318
322
|
get gcnCreator() {
|
|
319
|
-
return this
|
|
323
|
+
return this.#getSerializableNumericIdentifierCreator(IdentifierTypes.GCN);
|
|
320
324
|
}
|
|
321
325
|
/**
|
|
322
326
|
* Get CPID creator.
|
|
323
327
|
*/
|
|
324
328
|
get cpidCreator() {
|
|
325
|
-
return this
|
|
329
|
+
return this.#getNonNumericIdentifierCreator(IdentifierTypes.CPID);
|
|
326
330
|
}
|
|
327
331
|
/**
|
|
328
332
|
* Get GMN creator.
|
|
329
333
|
*/
|
|
330
334
|
get gmnCreator() {
|
|
331
|
-
return this
|
|
335
|
+
return this.#getNonNumericIdentifierCreator(IdentifierTypes.GMN);
|
|
332
336
|
}
|
|
333
337
|
}
|
|
338
|
+
_a = PrefixManager;
|
|
334
339
|
//# sourceMappingURL=prefix-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-manager.js","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"prefix-manager.js","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,15 @@
|
|
|
1
1
|
import { type TransformerInput, type TransformerOutput } from "@aidc-toolkit/utility";
|
|
2
|
-
import { AbstractNumericIdentifierCreator } from "./abstract-numeric-identifier-creator.js";
|
|
3
|
-
import type { PrefixProvider } from "./prefix-provider.js";
|
|
4
2
|
import type { SerializableNumericIdentifierType } from "./serializable-numeric-identifier-type.js";
|
|
5
3
|
import { SerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
|
|
6
|
-
declare const SerializableNumericIdentifierCreator_base:
|
|
4
|
+
declare const SerializableNumericIdentifierCreator_base: abstract new (prefixProvider: import("./prefix-provider.js").PrefixProvider, identifierType: SerializableNumericIdentifierType) => SerializableNumericIdentifierValidator & import("./non-gtin-numeric-identifier-creator.js").NonGTINNumericIdentifierCreator<SerializableNumericIdentifierType>;
|
|
7
5
|
/**
|
|
8
6
|
* Serializable numeric identifier creator.
|
|
9
7
|
*/
|
|
10
8
|
export declare class SerializableNumericIdentifierCreator extends SerializableNumericIdentifierCreator_base {
|
|
11
|
-
|
|
12
|
-
* Constructor. Typically called internally by a prefix manager but may be called by other code with another prefix
|
|
13
|
-
* provider type.
|
|
14
|
-
*
|
|
15
|
-
* @param prefixProvider
|
|
16
|
-
* Prefix provider.
|
|
17
|
-
*
|
|
18
|
-
* @param identifierType
|
|
19
|
-
* Identifier type.
|
|
20
|
-
*/
|
|
21
|
-
constructor(prefixProvider: PrefixProvider, identifierType: SerializableNumericIdentifierType);
|
|
22
|
-
/**
|
|
23
|
-
* Concatenate a validated base identifier with serial component(s).
|
|
24
|
-
*
|
|
25
|
-
* @template TTransformerInput
|
|
26
|
-
* Transformer input type.
|
|
27
|
-
*
|
|
28
|
-
* @param baseIdentifier
|
|
29
|
-
* Base identifier.
|
|
30
|
-
*
|
|
31
|
-
* @param serialComponentOrComponents
|
|
32
|
-
* Serial component(s).
|
|
33
|
-
*
|
|
34
|
-
* @returns
|
|
35
|
-
* Serialized identifier(s).
|
|
36
|
-
*/
|
|
37
|
-
private concatenateValidated;
|
|
9
|
+
#private;
|
|
38
10
|
/**
|
|
39
11
|
* Create serialized identifier(s) with a reference based on a numeric value concatenated with serial component(s).
|
|
40
|
-
* The value is converted to a reference of the appropriate length using
|
|
12
|
+
* The value is converted to a reference of the appropriate length using {@linkcode NUMERIC_CREATOR}.
|
|
41
13
|
*
|
|
42
14
|
* @template TTransformerInput
|
|
43
15
|
* Transformer input type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializable-numeric-identifier-creator.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-creator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serializable-numeric-identifier-creator.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-creator.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpH,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,EAAE,sCAAsC,EAAE,MAAM,gDAAgD,CAAC;;AAExG;;GAEG;AACH,qBAAa,oCAAqC,SAAQ,yCAGjB;;IAgDrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAInM;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,iBAAiB,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,2BAA2B,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;CAKxL"}
|
|
@@ -1,25 +1,11 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- Used in JSDoc.
|
|
1
2
|
import { mapIterable } from "@aidc-toolkit/utility";
|
|
2
|
-
import {
|
|
3
|
-
import { AbstractNumericIdentifierCreator } from "./abstract-numeric-identifier-creator.js";
|
|
3
|
+
import { MixinAbstractNonGTINNumericIdentifierCreator } from "./abstract-non-gtin-numeric-identifier-creator.js";
|
|
4
4
|
import { SerializableNumericIdentifierValidator } from "./serializable-numeric-identifier-validator.js";
|
|
5
5
|
/**
|
|
6
6
|
* Serializable numeric identifier creator.
|
|
7
7
|
*/
|
|
8
|
-
export class SerializableNumericIdentifierCreator extends
|
|
9
|
-
/**
|
|
10
|
-
* Constructor. Typically called internally by a prefix manager but may be called by other code with another prefix
|
|
11
|
-
* provider type.
|
|
12
|
-
*
|
|
13
|
-
* @param prefixProvider
|
|
14
|
-
* Prefix provider.
|
|
15
|
-
*
|
|
16
|
-
* @param identifierType
|
|
17
|
-
* Identifier type.
|
|
18
|
-
*/
|
|
19
|
-
constructor(prefixProvider, identifierType) {
|
|
20
|
-
super(identifierType);
|
|
21
|
-
this.init(prefixProvider, prefixProvider.gs1CompanyPrefix);
|
|
22
|
-
}
|
|
8
|
+
export class SerializableNumericIdentifierCreator extends MixinAbstractNonGTINNumericIdentifierCreator(SerializableNumericIdentifierValidator) {
|
|
23
9
|
/**
|
|
24
10
|
* Concatenate a validated base identifier with serial component(s).
|
|
25
11
|
*
|
|
@@ -35,7 +21,7 @@ export class SerializableNumericIdentifierCreator extends Mixin(SerializableNume
|
|
|
35
21
|
* @returns
|
|
36
22
|
* Serialized identifier(s).
|
|
37
23
|
*/
|
|
38
|
-
concatenateValidated(baseIdentifier, serialComponentOrComponents) {
|
|
24
|
+
#concatenateValidated(baseIdentifier, serialComponentOrComponents) {
|
|
39
25
|
// TODO Refactor type when https://github.com/microsoft/TypeScript/pull/56941 released.
|
|
40
26
|
let result;
|
|
41
27
|
const serialComponentCreator = this.serialComponentCreator;
|
|
@@ -64,7 +50,7 @@ export class SerializableNumericIdentifierCreator extends Mixin(SerializableNume
|
|
|
64
50
|
}
|
|
65
51
|
/**
|
|
66
52
|
* Create serialized identifier(s) with a reference based on a numeric value concatenated with serial component(s).
|
|
67
|
-
* The value is converted to a reference of the appropriate length using
|
|
53
|
+
* The value is converted to a reference of the appropriate length using {@linkcode NUMERIC_CREATOR}.
|
|
68
54
|
*
|
|
69
55
|
* @template TTransformerInput
|
|
70
56
|
* Transformer input type.
|
|
@@ -82,7 +68,7 @@ export class SerializableNumericIdentifierCreator extends Mixin(SerializableNume
|
|
|
82
68
|
* Serialized identifiers.
|
|
83
69
|
*/
|
|
84
70
|
createSerialized(value, serialComponentOrComponents, sparse) {
|
|
85
|
-
return this
|
|
71
|
+
return this.#concatenateValidated(this.create(value, sparse), serialComponentOrComponents);
|
|
86
72
|
}
|
|
87
73
|
/**
|
|
88
74
|
* Concatenate a base identifier with serial component(s).
|
|
@@ -101,7 +87,7 @@ export class SerializableNumericIdentifierCreator extends Mixin(SerializableNume
|
|
|
101
87
|
*/
|
|
102
88
|
concatenate(baseIdentifier, serialComponentOrComponents) {
|
|
103
89
|
this.validate(baseIdentifier);
|
|
104
|
-
return this
|
|
90
|
+
return this.#concatenateValidated(baseIdentifier, serialComponentOrComponents);
|
|
105
91
|
}
|
|
106
92
|
}
|
|
107
93
|
//# sourceMappingURL=serializable-numeric-identifier-creator.js.map
|