@aidc-toolkit/gs1 0.9.18-beta → 0.9.20-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/README.md +41 -14
- package/dist/check.d.ts +8 -5
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +13 -11
- package/dist/check.js.map +1 -1
- package/dist/idkey.d.ts +64 -1
- package/dist/idkey.d.ts.map +1 -1
- package/dist/idkey.js +206 -6
- package/dist/idkey.js.map +1 -1
- package/dist/locale/en/locale-strings.d.ts +4 -0
- package/dist/locale/en/locale-strings.d.ts.map +1 -1
- package/dist/locale/en/locale-strings.js +4 -0
- package/dist/locale/en/locale-strings.js.map +1 -1
- package/dist/locale/fr/locale-strings.d.ts +4 -0
- package/dist/locale/fr/locale-strings.d.ts.map +1 -1
- package/dist/locale/fr/locale-strings.js +4 -0
- package/dist/locale/fr/locale-strings.js.map +1 -1
- package/dist/locale/i18n.d.ts +4 -83
- package/dist/locale/i18n.d.ts.map +1 -1
- package/dist/locale/i18n.js.map +1 -1
- package/package.json +6 -6
- package/src/check.ts +13 -12
- package/src/idkey.ts +269 -9
- package/src/locale/en/locale-strings.ts +4 -0
- package/src/locale/fr/locale-strings.ts +4 -0
- package/src/locale/i18n.ts +4 -4
- package/test/check.test.ts +17 -12
- package/test/idkey.test.ts +201 -3
package/README.md
CHANGED
|
@@ -2,25 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
**Copyright © 2024-2025 Dolphin Data Development Ltd. and AIDC Toolkit contributors**
|
|
4
4
|
|
|
5
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
|
|
6
|
-
License. You may obtain a copy of the License at
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
8
|
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
|
|
11
|
-
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
12
10
|
|
|
13
11
|
## Overview
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
> [!WARNING]
|
|
14
|
+
>
|
|
15
|
+
> **This software is in beta**, with production release is scheduled for 2025Q4. To follow the status of this and other projects, go to the AIDC Toolkit [projects](https://github.com/orgs/aidc-toolkit/projects) page.
|
|
17
16
|
|
|
18
|
-
The AIDC Toolkit `gs1` package provides functionality related to the GS1 identification system
|
|
17
|
+
The AIDC Toolkit `gs1` package provides functionality related to the GS1 identification system. It builds on the `utility` package, providing validation and creation functions customized for GS1 identification keys (e.g., including check digit validation and creation). All logic in this package is as defined in the [GS1 General Specifications](https://www.gs1.org/genspecs).
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
- Check character pair calculation and validation for GS1 identification keys
|
|
22
|
-
- GS1 identification key validation
|
|
23
|
-
- GS1 identification key creation
|
|
19
|
+
## Check calculation and validation functions
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
The check calculation and validation functions are separate from the string validation and creation functions so that they may be used in other contexts. All the check calculation functions defined in the GS1 General Specifications are implemented.
|
|
22
|
+
|
|
23
|
+
### Check digit - GS1 identification key
|
|
24
|
+
|
|
25
|
+
The [`checkDigit`](https://aidc-toolkit.com/api/GS1/functions/checkDigit.html) function calculates the check digit for a numeric GS1 identification key.
|
|
26
|
+
|
|
27
|
+
The [`hasValidCheckDigit`](https://aidc-toolkit.com/api/GS1/functions/hasValidCheckDigit.html) function validates the check digit for a numeric GS1 identification key.
|
|
28
|
+
|
|
29
|
+
### Check digit - price or weight encoding
|
|
30
|
+
|
|
31
|
+
The [`priceOrWeightCheckDigit`](https://aidc-toolkit.com/api/GS1/functions/priceOrWeightCheckDigit.html) function calculates the check digit for a price or weight.
|
|
32
|
+
|
|
33
|
+
The [`isValidPriceOrWeightCheckDigit`](https://aidc-toolkit.com/api/GS1/functions/isValidPriceOrWeightCheckDigit.html) function validates the check digit for a price or weight.
|
|
34
|
+
|
|
35
|
+
These functions are seldom used directly, as there are no use cases for prices or weights on their own. They are used by the variable measure RCN functions if the RCN format requires a price or weight check digit.
|
|
36
|
+
|
|
37
|
+
### Check character pair - GS1 identification key
|
|
38
|
+
|
|
39
|
+
The [`checkCharacterPair`](https://aidc-toolkit.com/api/GS1/functions/checkCharacterPair.html) function calculates the check character pair for a non-numeric GS1 identification key, if supported.
|
|
40
|
+
|
|
41
|
+
The [`hasValidCheckCharacterPair`](https://aidc-toolkit.com/api/GS1/functions/hasValidCheckCharacterPair.html) function validates the check character pair for a non-numeric GS1 identification key, if supported.
|
|
42
|
+
|
|
43
|
+
## GS1 identification keys
|
|
44
|
+
|
|
45
|
+
At the core of the AIDC Toolkit `gs1` package is GS1 identification key validation and creation. All GS1 identification key types are supported. A working knowledge of the [GS1 General Specifications](https://www.gs1.org/genspecs) is highly recommended.
|
|
46
|
+
|
|
47
|
+
### Prefix manager
|
|
48
|
+
|
|
49
|
+
#### Prefix type
|
|
50
|
+
|
|
51
|
+
### GS1 identification key validation
|
|
52
|
+
|
|
53
|
+
### GS1 identification key creation
|
package/dist/check.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export declare function checkDigit(s: string): string;
|
|
|
34
34
|
*/
|
|
35
35
|
export declare function hasValidCheckDigit(s: string): boolean;
|
|
36
36
|
/**
|
|
37
|
-
* Calculate the price
|
|
37
|
+
* Calculate the price or weight check digit for a four-or five-digit numeric string as per section 7.9.3 of the {@link
|
|
38
38
|
* https://www.gs1.org/genspecs | GS1 General Specifications}.
|
|
39
39
|
*
|
|
40
40
|
* @param s
|
|
@@ -43,17 +43,20 @@ export declare function hasValidCheckDigit(s: string): boolean;
|
|
|
43
43
|
* @returns
|
|
44
44
|
* Check digit 0-9 as a string.
|
|
45
45
|
*/
|
|
46
|
-
export declare function
|
|
46
|
+
export declare function priceOrWeightCheckDigit(s: string): string;
|
|
47
47
|
/**
|
|
48
|
-
* Determine if a
|
|
48
|
+
* Determine if a price or weight check digit is valid for numeric string.
|
|
49
49
|
*
|
|
50
50
|
* @param s
|
|
51
|
-
* Numeric string exactly
|
|
51
|
+
* Numeric string exactly four or five characters long.
|
|
52
|
+
*
|
|
53
|
+
* @param checkDigit
|
|
54
|
+
* Price or weight check digit.
|
|
52
55
|
*
|
|
53
56
|
* @returns
|
|
54
57
|
* True if the check digit is valid.
|
|
55
58
|
*/
|
|
56
|
-
export declare function
|
|
59
|
+
export declare function isValidPriceOrWeightCheckDigit(s: string, checkDigit: string): boolean;
|
|
57
60
|
/**
|
|
58
61
|
* Calculate the check character for a GS1 AI encodable character set 82 string as per section 7.9.5 of the {@link
|
|
59
62
|
* https://www.gs1.org/genspecs | GS1 General Specifications}.
|
package/dist/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGrD;AA+BD;;;;;;;;;GASG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGrD;AA+BD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAErF;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA4BpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAI7D"}
|
package/dist/check.js
CHANGED
|
@@ -88,7 +88,7 @@ export function hasValidCheckDigit(s) {
|
|
|
88
88
|
return checkDigitSum(true, s) % 10 === 0;
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
* Calculate the price
|
|
91
|
+
* Calculate the price or weight sum for a numeric string.
|
|
92
92
|
*
|
|
93
93
|
* @param weightsResults
|
|
94
94
|
* Array of weight results arrays to apply to each digit.
|
|
@@ -99,7 +99,7 @@ export function hasValidCheckDigit(s) {
|
|
|
99
99
|
* @returns
|
|
100
100
|
* Accumulated sum of the weight result for each digit at the digit's position.
|
|
101
101
|
*/
|
|
102
|
-
function
|
|
102
|
+
function priceOrWeightSum(weightsResults, s) {
|
|
103
103
|
// Calculate sum of each weight result for each digit at its position.
|
|
104
104
|
return NUMERIC_CREATOR.characterIndexes(s).reduce((accumulator, characterIndex, index) => {
|
|
105
105
|
if (characterIndex === undefined) {
|
|
@@ -115,7 +115,7 @@ function priceWeightSum(weightsResults, s) {
|
|
|
115
115
|
}, 0);
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
118
|
-
* Calculate the price
|
|
118
|
+
* Calculate the price or weight check digit for a four-or five-digit numeric string as per section 7.9.3 of the {@link
|
|
119
119
|
* https://www.gs1.org/genspecs | GS1 General Specifications}.
|
|
120
120
|
*
|
|
121
121
|
* @param s
|
|
@@ -124,14 +124,14 @@ function priceWeightSum(weightsResults, s) {
|
|
|
124
124
|
* @returns
|
|
125
125
|
* Check digit 0-9 as a string.
|
|
126
126
|
*/
|
|
127
|
-
export function
|
|
127
|
+
export function priceOrWeightCheckDigit(s) {
|
|
128
128
|
let checkDigit;
|
|
129
129
|
switch (s.length) {
|
|
130
130
|
case 4:
|
|
131
|
-
checkDigit = NUMERIC_CREATOR.character(
|
|
131
|
+
checkDigit = NUMERIC_CREATOR.character(priceOrWeightSum([TWO_MINUS_WEIGHT_RESULTS, TWO_MINUS_WEIGHT_RESULTS, THREE_WEIGHT_RESULTS, FIVE_MINUS_WEIGHT_RESULTS], s) * 3 % 10);
|
|
132
132
|
break;
|
|
133
133
|
case 5:
|
|
134
|
-
checkDigit = NUMERIC_CREATOR.character(INVERSE_FIVE_MINUS_WEIGHT_RESULTS[9 - (
|
|
134
|
+
checkDigit = NUMERIC_CREATOR.character(INVERSE_FIVE_MINUS_WEIGHT_RESULTS[9 - (priceOrWeightSum([FIVE_PLUS_WEIGHT_RESULTS, TWO_MINUS_WEIGHT_RESULTS, FIVE_MINUS_WEIGHT_RESULTS, FIVE_PLUS_WEIGHT_RESULTS, TWO_MINUS_WEIGHT_RESULTS], s) + 9) % 10]);
|
|
135
135
|
break;
|
|
136
136
|
default:
|
|
137
137
|
throw new RangeError(i18nextGS1.t("Check.lengthOfStringForPriceOrWeightMustBeExactly", {
|
|
@@ -141,17 +141,19 @@ export function priceWeightCheckDigit(s) {
|
|
|
141
141
|
return checkDigit;
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
* Determine if a
|
|
144
|
+
* Determine if a price or weight check digit is valid for numeric string.
|
|
145
145
|
*
|
|
146
146
|
* @param s
|
|
147
|
-
* Numeric string exactly
|
|
147
|
+
* Numeric string exactly four or five characters long.
|
|
148
|
+
*
|
|
149
|
+
* @param checkDigit
|
|
150
|
+
* Price or weight check digit.
|
|
148
151
|
*
|
|
149
152
|
* @returns
|
|
150
153
|
* True if the check digit is valid.
|
|
151
154
|
*/
|
|
152
|
-
export function
|
|
153
|
-
|
|
154
|
-
return priceWeightCheckDigit(s.substring(0, priceWeightCheckDigitIndex)) === s.charAt(priceWeightCheckDigitIndex);
|
|
155
|
+
export function isValidPriceOrWeightCheckDigit(s, checkDigit) {
|
|
156
|
+
return priceOrWeightCheckDigit(s) === checkDigit;
|
|
155
157
|
}
|
|
156
158
|
/**
|
|
157
159
|
* Weights for check character pair calculation.
|
package/dist/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,oBAAoB,GAAsB;IAC5C,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,wBAAwB,GAAsB;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,wBAAwB,GAAsB;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,yBAAyB,GAAsB;IACjD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,iCAAiC,GAAsB;IACzD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,eAAwB,EAAE,CAAS;IAC7D,mHAAmH;IACnH,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE7D,kFAAkF;IAClF,OAAO,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAS,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;QAC7F,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,kDAAkD,EAAE;gBAClF,EAAE,EAAE,SAAS;gBACb,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAClB,QAAQ,EAAE,KAAK,GAAG,CAAC;aACtB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC;QAEnB,OAAO,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3F,CAAC,EAAE,CAAC,CAAC,CAAC;AACV,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,CAAS;IAChC,0EAA0E;IAC1E,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS;IACxC,8FAA8F;IAC9F,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
|
package/dist/idkey.d.ts
CHANGED
|
@@ -338,6 +338,19 @@ export declare enum GTINLevel {
|
|
|
338
338
|
*/
|
|
339
339
|
OtherThanRetailConsumer = 2
|
|
340
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Restricted Circulation Number reference.
|
|
343
|
+
*/
|
|
344
|
+
export interface RCNReference {
|
|
345
|
+
/**
|
|
346
|
+
* Item reference.
|
|
347
|
+
*/
|
|
348
|
+
itemReference: number;
|
|
349
|
+
/**
|
|
350
|
+
* Price or weight (whole number only).
|
|
351
|
+
*/
|
|
352
|
+
priceOrWeight: number;
|
|
353
|
+
}
|
|
341
354
|
/**
|
|
342
355
|
* GTIN validator.
|
|
343
356
|
*/
|
|
@@ -429,6 +442,38 @@ export declare class GTINValidator extends AbstractNumericIdentificationKeyValid
|
|
|
429
442
|
* GTIN-14.
|
|
430
443
|
*/
|
|
431
444
|
static validateGTIN14(gtin14: string): void;
|
|
445
|
+
/**
|
|
446
|
+
* Parse a Restricted Circulation Number (RCN) using a variable measure trade item format. The format is a 12- or
|
|
447
|
+
* 13-character string (for RCN-12 or RCN-13 respectively), containing the following:
|
|
448
|
+
*
|
|
449
|
+
* - '2' - The first character of the RCN.
|
|
450
|
+
* - '0'-'9' - The second character of the RCN (RCN-13 only).
|
|
451
|
+
* - 'I' - One or more, in sequence, for the item reference.
|
|
452
|
+
* - 'P' - One or more, in sequence, for the price or weight.
|
|
453
|
+
* - 'V' - Zero or one, for the price or weight check digit.
|
|
454
|
+
* - 'C' - The check digit of the entire RCN.
|
|
455
|
+
*
|
|
456
|
+
* The 'I', 'P', and 'V' formats may be in any order.
|
|
457
|
+
*
|
|
458
|
+
* Some examples:
|
|
459
|
+
*
|
|
460
|
+
* - 2IIIIIVPPPPC - RCN-12 with a five-digit item reference, a price or weight check digit, and a four-digit price
|
|
461
|
+
* or weight.
|
|
462
|
+
* - 23IIIIVPPPPPC - RCN-13 with a four-digit item reference, a price or weight check digit, and a five-digit price
|
|
463
|
+
* or weight.
|
|
464
|
+
* - 2IIIIIIPPPPC - RCN-12 with a six-digit item reference and a four-digit price or eight.
|
|
465
|
+
* - 29IIIIIPPPPPC - RCN-13 with a five-digit item reference and a five-digit price or weight.
|
|
466
|
+
*
|
|
467
|
+
* @param format
|
|
468
|
+
* Format.
|
|
469
|
+
*
|
|
470
|
+
* @param rcn
|
|
471
|
+
* RCN.
|
|
472
|
+
*
|
|
473
|
+
* @returns
|
|
474
|
+
* RCN reference.
|
|
475
|
+
*/
|
|
476
|
+
static parseVariableMeasureRCN(format: string, rcn: string): RCNReference;
|
|
432
477
|
}
|
|
433
478
|
/**
|
|
434
479
|
* Non-GTIN numeric identification key validator.
|
|
@@ -724,7 +769,8 @@ export interface NumericIdentificationKeyCreator extends NumericIdentificationKe
|
|
|
724
769
|
createAll: () => Iterable<string>;
|
|
725
770
|
}
|
|
726
771
|
/**
|
|
727
|
-
* Abstract numeric identification key creator. Implements common functionality for a numeric identification key
|
|
772
|
+
* Abstract numeric identification key creator. Implements common functionality for a numeric identification key
|
|
773
|
+
* creator.
|
|
728
774
|
*/
|
|
729
775
|
declare abstract class AbstractNumericIdentificationKeyCreator extends AbstractIdentificationKeyCreator implements NumericIdentificationKeyCreator {
|
|
730
776
|
/**
|
|
@@ -844,6 +890,23 @@ export declare class GTINCreator extends GTINCreator_base {
|
|
|
844
890
|
* GTIN-14(s).
|
|
845
891
|
*/
|
|
846
892
|
createGTIN14<TTransformerInput extends TransformerInput<number | bigint>>(indicatorDigit: string, valueOrValues: TTransformerInput, sparse?: boolean): TransformerOutput<TTransformerInput, string>;
|
|
893
|
+
/**
|
|
894
|
+
* Create a Restricted Circulation Number (RCN) using a variable measure trade item format. See {@linkcode
|
|
895
|
+
* GTINValidator.parseVariableMeasureRCN} for format details.
|
|
896
|
+
*
|
|
897
|
+
* @param format
|
|
898
|
+
* Format.
|
|
899
|
+
*
|
|
900
|
+
* @param itemReference
|
|
901
|
+
* Item reference.
|
|
902
|
+
*
|
|
903
|
+
* @param priceOrWeight
|
|
904
|
+
* Price or weight (whole number only).
|
|
905
|
+
*
|
|
906
|
+
* @returns
|
|
907
|
+
* RCN-12 or RCN-13.
|
|
908
|
+
*/
|
|
909
|
+
static createVariableMeasureRCN(format: string, itemReference: number, priceOrWeight: number): string;
|
|
847
910
|
}
|
|
848
911
|
declare const NonGTINNumericIdentificationKeyCreator_base: import("ts-mixer/dist/types/types.js").Class<any[], NonGTINNumericIdentificationKeyValidator & AbstractNumericIdentificationKeyCreator, typeof NonGTINNumericIdentificationKeyValidator & typeof AbstractNumericIdentificationKeyCreator>;
|
|
849
912
|
/**
|
package/dist/idkey.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idkey.d.ts","sourceRoot":"","sources":["../src/idkey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"idkey.d.ts","sourceRoot":"","sources":["../src/idkey.ts"],"names":[],"mappings":"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"}
|
package/dist/idkey.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CharacterSetCreator, Exclusion, NUMERIC_CREATOR, RegExpValidator
|
|
1
|
+
import { CharacterSetCreator, Exclusion, mapIterable, NUMERIC_CREATOR, RegExpValidator } from "@aidc-toolkit/utility";
|
|
2
2
|
import { Mixin } from "ts-mixer";
|
|
3
3
|
import { AI39_CREATOR, AI82_CREATOR } from "./character-set.js";
|
|
4
|
-
import { checkCharacterPair, checkDigit, checkDigitSum, hasValidCheckCharacterPair, hasValidCheckDigit } from "./check.js";
|
|
4
|
+
import { checkCharacterPair, checkDigit, checkDigitSum, hasValidCheckCharacterPair, hasValidCheckDigit, isValidPriceOrWeightCheckDigit, priceOrWeightCheckDigit } from "./check.js";
|
|
5
5
|
import { i18nextGS1 } from "./locale/i18n.js";
|
|
6
6
|
/**
|
|
7
7
|
* Identification key type.
|
|
@@ -480,9 +480,8 @@ export class GTINValidator extends AbstractNumericIdentificationKeyValidator {
|
|
|
480
480
|
static convertToGTIN14(indicatorDigit, gtin) {
|
|
481
481
|
GTINCreator.validateAny(gtin);
|
|
482
482
|
NUMERIC_CREATOR.validate(indicatorDigit, GTINValidator.OPTIONAL_INDICATOR_DIGIT_VALIDATION);
|
|
483
|
-
const gtinLength = gtin.length;
|
|
484
483
|
// Check digit doesn't change by prepending zeros.
|
|
485
|
-
let gtin14 =
|
|
484
|
+
let gtin14 = gtin.padStart(GTINType.GTIN14, "0");
|
|
486
485
|
// If indicator digit provided and is different, recalculate the check digit.
|
|
487
486
|
if (indicatorDigit.length !== 0 && indicatorDigit !== gtin14.charAt(0)) {
|
|
488
487
|
const partialGTIN14 = indicatorDigit + gtin14.substring(1, GTINType.GTIN14 - 1);
|
|
@@ -633,6 +632,114 @@ export class GTINValidator extends AbstractNumericIdentificationKeyValidator {
|
|
|
633
632
|
}
|
|
634
633
|
GTINCreator.validateAny(gtin14);
|
|
635
634
|
}
|
|
635
|
+
/**
|
|
636
|
+
* Parse a Restricted Circulation Number (RCN) using a variable measure trade item format. The format is a 12- or
|
|
637
|
+
* 13-character string (for RCN-12 or RCN-13 respectively), containing the following:
|
|
638
|
+
*
|
|
639
|
+
* - '2' - The first character of the RCN.
|
|
640
|
+
* - '0'-'9' - The second character of the RCN (RCN-13 only).
|
|
641
|
+
* - 'I' - One or more, in sequence, for the item reference.
|
|
642
|
+
* - 'P' - One or more, in sequence, for the price or weight.
|
|
643
|
+
* - 'V' - Zero or one, for the price or weight check digit.
|
|
644
|
+
* - 'C' - The check digit of the entire RCN.
|
|
645
|
+
*
|
|
646
|
+
* The 'I', 'P', and 'V' formats may be in any order.
|
|
647
|
+
*
|
|
648
|
+
* Some examples:
|
|
649
|
+
*
|
|
650
|
+
* - 2IIIIIVPPPPC - RCN-12 with a five-digit item reference, a price or weight check digit, and a four-digit price
|
|
651
|
+
* or weight.
|
|
652
|
+
* - 23IIIIVPPPPPC - RCN-13 with a four-digit item reference, a price or weight check digit, and a five-digit price
|
|
653
|
+
* or weight.
|
|
654
|
+
* - 2IIIIIIPPPPC - RCN-12 with a six-digit item reference and a four-digit price or eight.
|
|
655
|
+
* - 29IIIIIPPPPPC - RCN-13 with a five-digit item reference and a five-digit price or weight.
|
|
656
|
+
*
|
|
657
|
+
* @param format
|
|
658
|
+
* Format.
|
|
659
|
+
*
|
|
660
|
+
* @param rcn
|
|
661
|
+
* RCN.
|
|
662
|
+
*
|
|
663
|
+
* @returns
|
|
664
|
+
* RCN reference.
|
|
665
|
+
*/
|
|
666
|
+
static parseVariableMeasureRCN(format, rcn) {
|
|
667
|
+
const formatLength = format.length;
|
|
668
|
+
if (rcn.length !== formatLength) {
|
|
669
|
+
throw new RangeError(i18nextGS1.t("IdentificationKey.invalidRCNLength"));
|
|
670
|
+
}
|
|
671
|
+
let validFormat = formatLength === 12 || formatLength === 13;
|
|
672
|
+
let validRCNPrefix = true;
|
|
673
|
+
let buildingItemReference = false;
|
|
674
|
+
let itemReference = "";
|
|
675
|
+
let buildingPriceOrWeight = false;
|
|
676
|
+
let priceOrWeight = "";
|
|
677
|
+
let priceOrWeightCheckDigit = "";
|
|
678
|
+
for (let index = 0; validFormat && index < formatLength; index++) {
|
|
679
|
+
const formatChar = format.charAt(index);
|
|
680
|
+
const rcnChar = rcn.charAt(index);
|
|
681
|
+
if (index === 0) {
|
|
682
|
+
validFormat = formatChar === "2";
|
|
683
|
+
validRCNPrefix = rcnChar === "2";
|
|
684
|
+
}
|
|
685
|
+
else if (formatLength === 13 && index === 1) {
|
|
686
|
+
validFormat = NUMERIC_CREATOR.characterIndex(formatChar) !== undefined;
|
|
687
|
+
validRCNPrefix = rcnChar === formatChar;
|
|
688
|
+
}
|
|
689
|
+
else if (index === formatLength - 1) {
|
|
690
|
+
validFormat = formatChar === "C";
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
693
|
+
switch (formatChar) {
|
|
694
|
+
case "I":
|
|
695
|
+
if (!buildingItemReference) {
|
|
696
|
+
// Item reference can't appear more than once.
|
|
697
|
+
validFormat = itemReference === "";
|
|
698
|
+
buildingItemReference = true;
|
|
699
|
+
buildingPriceOrWeight = false;
|
|
700
|
+
}
|
|
701
|
+
itemReference += rcnChar;
|
|
702
|
+
break;
|
|
703
|
+
case "P":
|
|
704
|
+
if (!buildingPriceOrWeight) {
|
|
705
|
+
// Price or weight can't appear more than once.
|
|
706
|
+
validFormat = priceOrWeight === "";
|
|
707
|
+
buildingPriceOrWeight = true;
|
|
708
|
+
buildingItemReference = false;
|
|
709
|
+
}
|
|
710
|
+
priceOrWeight += rcnChar;
|
|
711
|
+
break;
|
|
712
|
+
case "V":
|
|
713
|
+
// Price or weight check digit can't appear more than once.
|
|
714
|
+
validFormat = priceOrWeightCheckDigit === "";
|
|
715
|
+
buildingItemReference = false;
|
|
716
|
+
buildingPriceOrWeight = false;
|
|
717
|
+
priceOrWeightCheckDigit = rcnChar;
|
|
718
|
+
break;
|
|
719
|
+
default:
|
|
720
|
+
validFormat = false;
|
|
721
|
+
break;
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
validFormat &&= itemReference !== "" && priceOrWeight !== "";
|
|
726
|
+
if (!validFormat) {
|
|
727
|
+
throw new RangeError(i18nextGS1.t("IdentificationKey.invalidVariableMeasureRCNFormat"));
|
|
728
|
+
}
|
|
729
|
+
if (!validRCNPrefix) {
|
|
730
|
+
throw new RangeError(i18nextGS1.t("IdentificationKey.invalidVariableMeasureRCNPrefix"));
|
|
731
|
+
}
|
|
732
|
+
if (priceOrWeightCheckDigit !== "" && !isValidPriceOrWeightCheckDigit(priceOrWeight, priceOrWeightCheckDigit)) {
|
|
733
|
+
throw new RangeError(i18nextGS1.t("IdentificationKey.invalidVariableMeasurePriceOrWeight"));
|
|
734
|
+
}
|
|
735
|
+
if (!hasValidCheckDigit(rcn)) {
|
|
736
|
+
throw new RangeError(i18nextGS1.t("IdentificationKey.invalidCheckDigit"));
|
|
737
|
+
}
|
|
738
|
+
return {
|
|
739
|
+
itemReference: Number(itemReference),
|
|
740
|
+
priceOrWeight: Number(priceOrWeight)
|
|
741
|
+
};
|
|
742
|
+
}
|
|
636
743
|
}
|
|
637
744
|
/**
|
|
638
745
|
* Non-GTIN numeric identification key validator.
|
|
@@ -919,7 +1026,8 @@ class AbstractIdentificationKeyCreator {
|
|
|
919
1026
|
}
|
|
920
1027
|
}
|
|
921
1028
|
/**
|
|
922
|
-
* Abstract numeric identification key creator. Implements common functionality for a numeric identification key
|
|
1029
|
+
* Abstract numeric identification key creator. Implements common functionality for a numeric identification key
|
|
1030
|
+
* creator.
|
|
923
1031
|
*/
|
|
924
1032
|
class AbstractNumericIdentificationKeyCreator extends AbstractIdentificationKeyCreator {
|
|
925
1033
|
/**
|
|
@@ -1104,6 +1212,98 @@ export class GTINCreator extends Mixin(GTINValidator, AbstractNumericIdentificat
|
|
|
1104
1212
|
return partialIdentificationKey + checkDigit(partialIdentificationKey);
|
|
1105
1213
|
});
|
|
1106
1214
|
}
|
|
1215
|
+
/**
|
|
1216
|
+
* Create a Restricted Circulation Number (RCN) using a variable measure trade item format. See {@linkcode
|
|
1217
|
+
* GTINValidator.parseVariableMeasureRCN} for format details.
|
|
1218
|
+
*
|
|
1219
|
+
* @param format
|
|
1220
|
+
* Format.
|
|
1221
|
+
*
|
|
1222
|
+
* @param itemReference
|
|
1223
|
+
* Item reference.
|
|
1224
|
+
*
|
|
1225
|
+
* @param priceOrWeight
|
|
1226
|
+
* Price or weight (whole number only).
|
|
1227
|
+
*
|
|
1228
|
+
* @returns
|
|
1229
|
+
* RCN-12 or RCN-13.
|
|
1230
|
+
*/
|
|
1231
|
+
static createVariableMeasureRCN(format, itemReference, priceOrWeight) {
|
|
1232
|
+
const formatLength = format.length;
|
|
1233
|
+
let validFormat = formatLength === 12 || formatLength === 13;
|
|
1234
|
+
let rcnPrefix = "";
|
|
1235
|
+
let buildingItemReference = false;
|
|
1236
|
+
let itemReferenceString = "";
|
|
1237
|
+
let itemReferenceLength = 0;
|
|
1238
|
+
let buildingPriceOrWeight = false;
|
|
1239
|
+
let priceOrWeightString = "";
|
|
1240
|
+
let priceOrWeightLength = 0;
|
|
1241
|
+
let calculatePriceOrWeightCheckDigit = false;
|
|
1242
|
+
// RCN may be built in almost any order, so defer to builders that will be in ordered array.
|
|
1243
|
+
const rcnPrefixBuilder = (partialRCN) => partialRCN + rcnPrefix;
|
|
1244
|
+
const itemReferenceBuilder = (partialRCN) => partialRCN + itemReferenceString;
|
|
1245
|
+
const priceOrWeightBuilder = (partialRCN) => partialRCN + priceOrWeightString;
|
|
1246
|
+
const priceOrWeightCheckDigitBuilder = (partialRCN) => partialRCN + priceOrWeightCheckDigit(priceOrWeightString);
|
|
1247
|
+
const checkDigitBuilder = (partialRCN) => partialRCN + checkDigit(partialRCN);
|
|
1248
|
+
const rcnBuilders = [rcnPrefixBuilder];
|
|
1249
|
+
for (let index = 0; validFormat && index < formatLength; index++) {
|
|
1250
|
+
const formatChar = format.charAt(index);
|
|
1251
|
+
if (index === 0) {
|
|
1252
|
+
validFormat = formatChar === "2";
|
|
1253
|
+
rcnPrefix = formatChar;
|
|
1254
|
+
}
|
|
1255
|
+
else if (formatLength === 13 && index === 1) {
|
|
1256
|
+
validFormat = NUMERIC_CREATOR.characterIndex(formatChar) !== undefined;
|
|
1257
|
+
rcnPrefix += formatChar;
|
|
1258
|
+
}
|
|
1259
|
+
else if (index === formatLength - 1) {
|
|
1260
|
+
validFormat = formatChar === "C";
|
|
1261
|
+
}
|
|
1262
|
+
else {
|
|
1263
|
+
switch (formatChar) {
|
|
1264
|
+
case "I":
|
|
1265
|
+
if (!buildingItemReference) {
|
|
1266
|
+
// Item reference can't appear more than once.
|
|
1267
|
+
validFormat = itemReferenceLength === 0;
|
|
1268
|
+
buildingItemReference = true;
|
|
1269
|
+
buildingPriceOrWeight = false;
|
|
1270
|
+
rcnBuilders.push(itemReferenceBuilder);
|
|
1271
|
+
}
|
|
1272
|
+
itemReferenceLength++;
|
|
1273
|
+
break;
|
|
1274
|
+
case "P":
|
|
1275
|
+
if (!buildingPriceOrWeight) {
|
|
1276
|
+
// Price or weight can't appear more than once.
|
|
1277
|
+
validFormat = priceOrWeightLength === 0;
|
|
1278
|
+
buildingPriceOrWeight = true;
|
|
1279
|
+
buildingItemReference = false;
|
|
1280
|
+
rcnBuilders.push(priceOrWeightBuilder);
|
|
1281
|
+
}
|
|
1282
|
+
priceOrWeightLength++;
|
|
1283
|
+
break;
|
|
1284
|
+
case "V":
|
|
1285
|
+
// Price or weight check digit can't appear more than once.
|
|
1286
|
+
validFormat = !calculatePriceOrWeightCheckDigit;
|
|
1287
|
+
buildingItemReference = false;
|
|
1288
|
+
buildingPriceOrWeight = false;
|
|
1289
|
+
calculatePriceOrWeightCheckDigit = true;
|
|
1290
|
+
rcnBuilders.push(priceOrWeightCheckDigitBuilder);
|
|
1291
|
+
break;
|
|
1292
|
+
default:
|
|
1293
|
+
validFormat = false;
|
|
1294
|
+
break;
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
validFormat &&= itemReferenceLength !== 0 && priceOrWeightLength !== 0;
|
|
1299
|
+
if (!validFormat) {
|
|
1300
|
+
throw new RangeError(i18nextGS1.t("IdentificationKey.invalidVariableMeasureRCNFormat"));
|
|
1301
|
+
}
|
|
1302
|
+
itemReferenceString = NUMERIC_CREATOR.create(itemReferenceLength, itemReference);
|
|
1303
|
+
priceOrWeightString = NUMERIC_CREATOR.create(priceOrWeightLength, priceOrWeight);
|
|
1304
|
+
rcnBuilders.push(checkDigitBuilder);
|
|
1305
|
+
return rcnBuilders.reduce((partialRCN, rcnBuilder) => rcnBuilder(partialRCN), "");
|
|
1306
|
+
}
|
|
1107
1307
|
}
|
|
1108
1308
|
/**
|
|
1109
1309
|
* Non-GTIN numeric identification key creator.
|
|
@@ -1530,7 +1730,7 @@ export class PrefixManager {
|
|
|
1530
1730
|
const creatorTweakFactor = PrefixManager.CREATOR_TWEAK_FACTORS_MAP.get(creator.identificationKeyType);
|
|
1531
1731
|
// Creator tweak factor is defined for numeric identification keys only.
|
|
1532
1732
|
if (creatorTweakFactor !== undefined) {
|
|
1533
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Explicit cast without testing is necessary as "instanceof" doesn't work for mixin types.
|
|
1733
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion,no-param-reassign -- Explicit cast without testing is necessary as "instanceof" doesn't work for mixin types. Method purpose is to set the tweak.
|
|
1534
1734
|
creator.tweak = this.tweakFactor * creatorTweakFactor;
|
|
1535
1735
|
}
|
|
1536
1736
|
}
|