@aidc-toolkit/gs1 1.0.31-beta → 1.0.33-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 +290 -17
- package/dist/character-set.d.ts +17 -2
- package/dist/character-set.d.ts.map +1 -1
- package/dist/character-set.js +44 -11
- package/dist/character-set.js.map +1 -1
- package/dist/gcp-length-cache.d.ts +81 -0
- package/dist/gcp-length-cache.d.ts.map +1 -0
- package/dist/gcp-length-cache.js +232 -0
- package/dist/gcp-length-cache.js.map +1 -0
- package/dist/gcp-length-data.d.ts +108 -0
- package/dist/gcp-length-data.d.ts.map +1 -0
- package/dist/gcp-length-data.js +53 -0
- package/dist/gcp-length-data.js.map +1 -0
- package/dist/gcp-length.d.ts +61 -0
- package/dist/gcp-length.d.ts.map +1 -0
- package/dist/gcp-length.js +300 -0
- package/dist/gcp-length.js.map +1 -0
- package/dist/gtin-creator.d.ts +0 -17
- package/dist/gtin-creator.d.ts.map +1 -1
- package/dist/gtin-creator.js +1 -93
- package/dist/gtin-creator.js.map +1 -1
- package/dist/gtin-validator.d.ts +1 -46
- package/dist/gtin-validator.d.ts.map +1 -1
- package/dist/gtin-validator.js +31 -125
- package/dist/gtin-validator.js.map +1 -1
- package/dist/identifier-validator.d.ts +1 -4
- package/dist/identifier-validator.d.ts.map +1 -1
- package/dist/identifier-validator.js +2 -5
- package/dist/identifier-validator.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/locale/en/locale-resources.d.ts +39 -35
- package/dist/locale/en/locale-resources.d.ts.map +1 -1
- package/dist/locale/en/locale-resources.js +6 -2
- package/dist/locale/en/locale-resources.js.map +1 -1
- package/dist/locale/fr/locale-resources.d.ts +39 -35
- package/dist/locale/fr/locale-resources.d.ts.map +1 -1
- package/dist/locale/fr/locale-resources.js +6 -2
- package/dist/locale/fr/locale-resources.js.map +1 -1
- package/dist/locale/i18n.d.ts +4 -4
- package/dist/locale/i18n.d.ts.map +1 -1
- package/dist/locale/i18n.js +6 -7
- package/dist/locale/i18n.js.map +1 -1
- package/dist/non-numeric-identifier-validator.js +1 -1
- package/dist/non-numeric-identifier-validator.js.map +1 -1
- package/dist/numeric-identifier-validator.d.ts.map +1 -1
- package/dist/numeric-identifier-validator.js +2 -2
- package/dist/numeric-identifier-validator.js.map +1 -1
- package/dist/prefix-manager.d.ts +35 -0
- package/dist/prefix-manager.d.ts.map +1 -1
- package/dist/prefix-manager.js +56 -0
- package/dist/prefix-manager.js.map +1 -1
- package/dist/prefix-validator.d.ts +5 -4
- package/dist/prefix-validator.d.ts.map +1 -1
- package/dist/prefix-validator.js +18 -22
- package/dist/prefix-validator.js.map +1 -1
- package/dist/serializable-numeric-identifier-validator.d.ts +26 -0
- package/dist/serializable-numeric-identifier-validator.d.ts.map +1 -1
- package/dist/serializable-numeric-identifier-validator.js +19 -0
- package/dist/serializable-numeric-identifier-validator.js.map +1 -1
- package/dist/variable-measure.d.ts +68 -0
- package/dist/variable-measure.d.ts.map +1 -0
- package/dist/variable-measure.js +210 -0
- package/dist/variable-measure.js.map +1 -0
- package/dist/verified-by-gs1.d.ts +22 -0
- package/dist/verified-by-gs1.d.ts.map +1 -0
- package/dist/verified-by-gs1.js +46 -0
- package/dist/verified-by-gs1.js.map +1 -0
- package/package.json +12 -11
- package/src/character-set.ts +55 -11
- package/src/gcp-length-cache.ts +271 -0
- package/src/gcp-length-data.ts +136 -0
- package/src/gcp-length.ts +380 -0
- package/src/gtin-creator.ts +1 -117
- package/src/gtin-validator.ts +42 -173
- package/src/identifier-validator.ts +2 -5
- package/src/index.ts +7 -1
- package/src/locale/en/locale-resources.ts +7 -3
- package/src/locale/fr/locale-resources.ts +7 -3
- package/src/locale/i18n.ts +7 -8
- package/src/locale/i18next.d.ts +2 -0
- package/src/non-numeric-identifier-validator.ts +1 -1
- package/src/numeric-identifier-validator.ts +3 -3
- package/src/prefix-manager.ts +65 -0
- package/src/prefix-validator.ts +19 -23
- package/src/serializable-numeric-identifier-validator.ts +36 -0
- package/src/variable-measure.ts +268 -0
- package/src/verified-by-gs1.ts +54 -0
- package/test/character-set.test.ts +46 -0
- package/test/creator.test.ts +5 -5
- package/test/data/gcpprefixformatlist-1.json +662625 -0
- package/test/data/gcpprefixformatlist-2.json +735431 -0
- package/test/gcp-length.test.ts +344 -0
- package/test/gtin-creator.ts +4 -4
- package/test/gtin-validator.test.ts +205 -113
- package/test/gtin-validator.ts +30 -0
- package/test/identifier-creator.ts +6 -6
- package/test/non-numeric-identifier-creator.ts +0 -8
- package/test/non-serializable-numeric-identifier-creator.ts +4 -54
- package/test/numeric-identifier-creator.ts +4 -4
- package/test/prefix-manager.test.ts +5 -5
- package/test/serializable-numeric-identifier-creator.ts +32 -19
- package/test/validator.test.ts +6 -6
- package/test/variable-measure-rcn.test.ts +63 -68
- package/test/verified-by-gs1.test.ts +55 -0
- package/tsconfig-src.json +7 -1
- package/tsconfig-src.tsbuildinfo +1 -0
- package/tsconfig-tsup.json +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-resources.js","sourceRoot":"","sources":["../../../src/locale/fr/locale-resources.ts"],"names":[],"mappings":"AAAA,eAAe;IACX,KAAK,EAAE;QACH,2CAA2C,EAAE,uFAAuF;QACpI,sBAAsB,EAAE,eAAe;QACvC,0DAA0D,EAAE,mJAAmJ;KAClN;IACD,UAAU,EAAE;QACR,oBAAoB,EAAE,+DAA+D;QACrF,iBAAiB,EAAE,gCAAgC;QACnD,iBAAiB,EAAE,iDAAiD;QACpE,mBAAmB,EAAE,oCAAoC;QACzD,2BAA2B,EAAE,4CAA4C;QACzE,6BAA6B,EAAE,+CAA+C;QAC9E,mCAAmC,EAAE,2DAA2D;QAChG,mCAAmC,EAAE,2DAA2D;QAChG,
|
|
1
|
+
{"version":3,"file":"locale-resources.js","sourceRoot":"","sources":["../../../src/locale/fr/locale-resources.ts"],"names":[],"mappings":"AAAA,eAAe;IACX,yBAAyB,EAAE;QACvB,uBAAuB,EAAE,2DAA2D;KACvF;IACD,KAAK,EAAE;QACH,2CAA2C,EAAE,uFAAuF;QACpI,sBAAsB,EAAE,eAAe;QACvC,0DAA0D,EAAE,mJAAmJ;KAClN;IACD,UAAU,EAAE;QACR,oBAAoB,EAAE,+DAA+D;QACrF,iBAAiB,EAAE,gCAAgC;QACnD,iBAAiB,EAAE,iDAAiD;QACpE,mBAAmB,EAAE,oCAAoC;QACzD,2BAA2B,EAAE,4CAA4C;QACzE,6BAA6B,EAAE,+CAA+C;QAC9E,mCAAmC,EAAE,2DAA2D;QAChG,mCAAmC,EAAE,2DAA2D;QAChG,mBAAmB,EAAE,mFAAmF;QACxG,4BAA4B,EAAE,qGAAqG;QACnI,gBAAgB,EAAE,8DAA8D;QAChF,+BAA+B,EAAE,0CAA0C;QAC3E,+BAA+B,EAAE,2CAA2C;QAC5E,mCAAmC,EAAE,0CAA0C;QAC/E,cAAc,EAAE,oBAAoB;QACpC,eAAe,EAAE,iBAAiB;QAClC,SAAS,EAAE,WAAW;QACtB,yBAAyB,EAAE,qDAAqD;QAChF,yBAAyB,EAAE,4CAA4C;KAC1E;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,6BAA6B;QAC/C,gBAAgB,EAAE,gCAAgC;QAClD,UAAU,EAAE,eAAe;QAC3B,8BAA8B,EAAE,gEAAgE;QAChG,kCAAkC,EAAE,oEAAoE;QACxG,mCAAmC,EAAE,qEAAqE;QAC1G,iCAAiC,EAAE,sEAAsE;QACzG,wBAAwB,EAAE,kDAAkD;QAC5E,sCAAsC,EAAE,4DAA4D;QACpG,sCAAsC,EAAE,wEAAwE;QAChH,mCAAmC,EAAE,wFAAwF;KAChI;CACJ,CAAC"}
|
package/dist/locale/i18n.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ export declare const gs1NS = "aidct_gs1";
|
|
|
7
7
|
*/
|
|
8
8
|
export type GS1LocaleResources = typeof enLocaleResources;
|
|
9
9
|
/**
|
|
10
|
-
* GS1
|
|
10
|
+
* GS1 resource bundle.
|
|
11
11
|
*/
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const gs1ResourceBundle: Resource;
|
|
13
13
|
export declare const i18nextGS1: i18n;
|
|
14
14
|
/**
|
|
15
15
|
* Initialize internationalization.
|
|
@@ -21,7 +21,7 @@ export declare const i18nextGS1: i18n;
|
|
|
21
21
|
* Debug setting.
|
|
22
22
|
*
|
|
23
23
|
* @returns
|
|
24
|
-
*
|
|
24
|
+
* GS1 resource bundle.
|
|
25
25
|
*/
|
|
26
|
-
export declare function i18nGS1Init(environment: I18nEnvironment, debug?: boolean): Promise<
|
|
26
|
+
export declare function i18nGS1Init(environment: I18nEnvironment, debug?: boolean): Promise<Resource>;
|
|
27
27
|
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/locale/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/locale/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAY,MAAM,oBAAoB,CAAC;AAElF,OAAgB,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AAGzD,eAAO,MAAM,KAAK,cAAc,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,iBAAiB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAO/B,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,IAA+B,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEhG"}
|
package/dist/locale/i18n.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { i18nCoreInit } from "@aidc-toolkit/core";
|
|
2
|
-
import { i18nUtilityInit
|
|
1
|
+
import { i18nCoreInit, i18nInit } from "@aidc-toolkit/core";
|
|
2
|
+
import { i18nUtilityInit } from "@aidc-toolkit/utility";
|
|
3
3
|
import i18next from "i18next";
|
|
4
4
|
import enLocaleResources from "./en/locale-resources.js";
|
|
5
5
|
import frLocaleResources from "./fr/locale-resources.js";
|
|
6
6
|
export const gs1NS = "aidct_gs1";
|
|
7
7
|
/**
|
|
8
|
-
* GS1
|
|
8
|
+
* GS1 resource bundle.
|
|
9
9
|
*/
|
|
10
|
-
export const
|
|
10
|
+
export const gs1ResourceBundle = {
|
|
11
11
|
en: {
|
|
12
12
|
aidct_gs1: enLocaleResources
|
|
13
13
|
},
|
|
@@ -27,10 +27,9 @@ export const i18nextGS1 = i18next.createInstance();
|
|
|
27
27
|
* Debug setting.
|
|
28
28
|
*
|
|
29
29
|
* @returns
|
|
30
|
-
*
|
|
30
|
+
* GS1 resource bundle.
|
|
31
31
|
*/
|
|
32
32
|
export async function i18nGS1Init(environment, debug = false) {
|
|
33
|
-
|
|
34
|
-
await i18nCoreInit(i18nextGS1, environment, debug, gs1NS, utilityResources, gs1Resources);
|
|
33
|
+
return i18nInit(i18nextGS1, environment, debug, gs1NS, gs1ResourceBundle, i18nCoreInit, i18nUtilityInit);
|
|
35
34
|
}
|
|
36
35
|
//# sourceMappingURL=i18n.js.map
|
package/dist/locale/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/locale/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/locale/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,OAAqC,MAAM,SAAS,CAAC;AAC5D,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;AAOjC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACvC,EAAE,EAAE;QACA,SAAS,EAAE,iBAAiB;KAC/B;IACD,EAAE,EAAE;QACA,SAAS,EAAE,iBAAiB;KAC/B;CACJ,CAAC;AAEF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAS,OAAO,CAAC,cAAc,EAAE,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAA4B,EAAE,KAAK,GAAG,KAAK;IACzE,OAAO,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAC7G,CAAC"}
|
|
@@ -17,7 +17,7 @@ export class NonNumericIdentifierValidator extends IdentifierValidator {
|
|
|
17
17
|
createErrorMessage(_s) {
|
|
18
18
|
return i18nextGS1.t("Identifier.referenceCantBeAllNumeric");
|
|
19
19
|
}
|
|
20
|
-
}(/\D/);
|
|
20
|
+
}(/\D/u);
|
|
21
21
|
/**
|
|
22
22
|
* True if the identifier requires a check character pair.
|
|
23
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-numeric-identifier-validator.js","sourceRoot":"","sources":["../src/non-numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAA6B,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,mBAA6E;IAC5H;;OAEG;IACH,MAAM,CAAU,0BAA0B,GAAG,IAAI,KAAM,SAAQ,eAAe;QAC1E;;WAEG;QACgB,kBAAkB,CAAC,EAAU;YAC5C,OAAO,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;QAChE,CAAC;KACJ,CAAC,
|
|
1
|
+
{"version":3,"file":"non-numeric-identifier-validator.js","sourceRoot":"","sources":["../src/non-numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAA6B,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,mBAA6E;IAC5H;;OAEG;IACH,MAAM,CAAU,0BAA0B,GAAG,IAAI,KAAM,SAAQ,eAAe;QAC1E;;WAEG;QACgB,kBAAkB,CAAC,EAAU;YAC5C,OAAO,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;QAChE,CAAC;KACJ,CAAC,KAAK,CAAC,CAAC;IAET;;OAEG;IACM,2BAA2B,CAAU;IAE9C;;;;;OAKG;IACH,YAAY,cAAwC;QAChD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEnE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE5B,IAAI,CAAC,2BAA2B,GAAG,oBAAoB,CAAC,0BAA0B,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,IAAI,0BAA0B;QAC1B,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAkB,EAAE,UAA2C;QACpE,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAExH,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACvC,aAAa,EAAE,IAAI,CAAC,MAAM;aAC7B,CAAC,CAAC;YACH,yEAAyE;QAC7E,CAAC;aAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,6EAA6E;QAC7E,IAAI,UAAU,EAAE,SAAS,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAClD,6BAA6B,CAAC,0BAA0B,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACzF,CAAC;IACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric-identifier-validator.d.ts","sourceRoot":"","sources":["../src/numeric-identifier-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAG3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACrE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;GAKG;AACH,8BAAsB,0BAA0B,CAAC,sBAAsB,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,mBAAmB,CAAC,sBAAsB,EAAE,2BAA2B,CAAE,YAAW,2BAA2B;;IAWlP;;;;;OAKG;gBACS,oBAAoB,EAAE,wBAAwB,CAAC,sBAAsB,CAAC;IAOlF;;OAEG;IACH,IAAI,UAAU,IAAI,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAE/E;IAED;;OAEG;
|
|
1
|
+
{"version":3,"file":"numeric-identifier-validator.d.ts","sourceRoot":"","sources":["../src/numeric-identifier-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAG3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACrE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;GAKG;AACH,8BAAsB,0BAA0B,CAAC,sBAAsB,SAAS,qBAAqB,GAAG,qBAAqB,CAAE,SAAQ,mBAAmB,CAAC,sBAAsB,EAAE,2BAA2B,CAAE,YAAW,2BAA2B;;IAWlP;;;;;OAKG;gBACS,oBAAoB,EAAE,wBAAwB,CAAC,sBAAsB,CAAC;IAOlF;;OAEG;IACH,IAAI,UAAU,IAAI,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAE/E;IAED;;OAEG;IACM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,2BAA2B,GAAG,IAAI;CAqBxF"}
|
|
@@ -40,10 +40,10 @@ export class NumericIdentifierValidator extends IdentifierValidator {
|
|
|
40
40
|
validate(identifier, validation) {
|
|
41
41
|
// Validate the prefix, with care taken for its position within the identifier.
|
|
42
42
|
if (this.#prefixPosition === 0) {
|
|
43
|
-
super.validatePrefix(identifier
|
|
43
|
+
super.validatePrefix(identifier);
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
|
-
super.validatePrefix(identifier.substring(this.#prefixPosition)
|
|
46
|
+
super.validatePrefix(identifier.substring(this.#prefixPosition));
|
|
47
47
|
}
|
|
48
48
|
// Validate the length.
|
|
49
49
|
if (identifier.length !== this.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric-identifier-validator.js","sourceRoot":"","sources":["../src/numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAA6B,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;;;;GAKG;AACH,MAAM,OAAgB,0BAAyG,SAAQ,mBAAwE;IAC3M;;OAEG;IACM,WAAW,CAAiE;IAErF;;OAEG;IACM,eAAe,CAAS;IAEjC;;;;;OAKG;IACH,YAAY,oBAAsE;QAC9E,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;
|
|
1
|
+
{"version":3,"file":"numeric-identifier-validator.js","sourceRoot":"","sources":["../src/numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAA6B,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;;;;GAKG;AACH,MAAM,OAAgB,0BAAyG,SAAQ,mBAAwE;IAC3M;;OAEG;IACM,WAAW,CAAiE;IAErF;;OAEG;IACM,eAAe,CAAS;IAEjC;;;;;OAKG;IACH,YAAY,oBAAsE;QAC9E,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACM,QAAQ,CAAC,UAAkB,EAAE,UAAwC;QAC1E,+EAA+E;QAC/E,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,uBAAuB;QACvB,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,iCAAiC,EAAE;gBACjE,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC,CAAC;QACR,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;CACJ"}
|
package/dist/prefix-manager.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { NonSerializableNumericIdentifierCreator } from "./non-serializable
|
|
|
6
6
|
import type { PrefixProvider } from "./prefix-provider.js";
|
|
7
7
|
import { type PrefixType } from "./prefix-type.js";
|
|
8
8
|
import type { SerializableNumericIdentifierCreator } from "./serializable-numeric-identifier-creator.js";
|
|
9
|
+
import type { GCPLengthCache } from "./gcp-length-cache.js";
|
|
9
10
|
/**
|
|
10
11
|
* Prefix manager. This is the core class for identifier creation.
|
|
11
12
|
*
|
|
@@ -147,5 +148,39 @@ export declare class PrefixManager implements PrefixProvider {
|
|
|
147
148
|
* Get GMN creator.
|
|
148
149
|
*/
|
|
149
150
|
get gmnCreator(): NonNumericIdentifierCreator;
|
|
151
|
+
/**
|
|
152
|
+
* Load GS1 Company Prefix length data.
|
|
153
|
+
*
|
|
154
|
+
* @param gcpLengthCache
|
|
155
|
+
* GS1 Company Prefix length cache.
|
|
156
|
+
*/
|
|
157
|
+
static loadGCPLengthData(gcpLengthCache: GCPLengthCache): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Get the length of a GS1 Company Prefix for an identifier.
|
|
160
|
+
*
|
|
161
|
+
* @param identifierType
|
|
162
|
+
* Identifier type.
|
|
163
|
+
*
|
|
164
|
+
* @param identifier
|
|
165
|
+
* Identifier.
|
|
166
|
+
*
|
|
167
|
+
* @returns
|
|
168
|
+
* Length of GS1 Company Prefix, 0 if not a GS1 Company Prefix, or -1 if not found.
|
|
169
|
+
*/
|
|
170
|
+
static gcpLength(identifierType: IdentifierType, identifier: string): number;
|
|
171
|
+
/**
|
|
172
|
+
* Get the date/time the GS1 Company Prefix length data was last updated.
|
|
173
|
+
*
|
|
174
|
+
* @returns
|
|
175
|
+
* Date/time the GS1 Company Prefix length data was last updated.
|
|
176
|
+
*/
|
|
177
|
+
static gcpLengthDateTime(): Date;
|
|
178
|
+
/**
|
|
179
|
+
* Get the disclaimer for the GS1 Company Prefix length data.
|
|
180
|
+
*
|
|
181
|
+
* @returns
|
|
182
|
+
* Disclaimer for the GS1 Company Prefix length data.
|
|
183
|
+
*/
|
|
184
|
+
static gcpLengthDisclaimer(): string;
|
|
150
185
|
}
|
|
151
186
|
//# sourceMappingURL=prefix-manager.d.ts.map
|
|
@@ -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":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAEH,KAAK,wBAAwB,EAGhC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AAE5E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAEhH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,8CAA8C,CAAC;AACzG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAc,YAAW,cAAc;;IAkEhD;;;;;;;;OAQG;gBACS,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAelD;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAeD;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACH,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAUrC;IAED;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAcjE;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,eAAe,SAAS,cAAc,EAAE,cAAc,EAAE,eAAe,GAAG,wBAAwB,CAAC,eAAe,CAAC;IA0BxI;;OAEG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,uCAAuC,CAExD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,uCAAuC,CAEzD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,oCAAoC,CAEtD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,2BAA2B,CAE7C;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,uCAAuC,CAEzD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,oCAAoC,CAEtD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,2BAA2B,CAE7C;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,uCAAuC,CAEzD;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,oCAAoC,CAErD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,2BAA2B,CAE7C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,2BAA2B,CAE5C;IAED;;;;;OAKG;WACU,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAQ5E;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,IAAI,IAAI;IAQhC;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM;CAOvC"}
|
package/dist/prefix-manager.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
var _a;
|
|
2
|
+
import * as GCPLength from "./gcp-length.js";
|
|
2
3
|
import { GTIN_BASE_TYPES } from "./gtin-length.js";
|
|
3
4
|
import { IdentifierCreatorConstructors, isNumericIdentifierCreator } from "./identifier-creators.js";
|
|
4
5
|
import { IdentifierTypes } from "./identifier-type.js";
|
|
@@ -76,6 +77,10 @@ export class PrefixManager {
|
|
|
76
77
|
* Cached identifier creators.
|
|
77
78
|
*/
|
|
78
79
|
#identifierCreators = {};
|
|
80
|
+
/**
|
|
81
|
+
* GS1 Company Prefix length root.
|
|
82
|
+
*/
|
|
83
|
+
static #gcpLengthRoot = undefined;
|
|
79
84
|
/**
|
|
80
85
|
* Constructor.
|
|
81
86
|
*
|
|
@@ -292,6 +297,57 @@ export class PrefixManager {
|
|
|
292
297
|
get gmnCreator() {
|
|
293
298
|
return this.getIdentifierCreator(IdentifierTypes.GMN);
|
|
294
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Load GS1 Company Prefix length data.
|
|
302
|
+
*
|
|
303
|
+
* @param gcpLengthCache
|
|
304
|
+
* GS1 Company Prefix length cache.
|
|
305
|
+
*/
|
|
306
|
+
static async loadGCPLengthData(gcpLengthCache) {
|
|
307
|
+
_a.#gcpLengthRoot = await GCPLength.loadData(gcpLengthCache);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Get the length of a GS1 Company Prefix for an identifier.
|
|
311
|
+
*
|
|
312
|
+
* @param identifierType
|
|
313
|
+
* Identifier type.
|
|
314
|
+
*
|
|
315
|
+
* @param identifier
|
|
316
|
+
* Identifier.
|
|
317
|
+
*
|
|
318
|
+
* @returns
|
|
319
|
+
* Length of GS1 Company Prefix, 0 if not a GS1 Company Prefix, or -1 if not found.
|
|
320
|
+
*/
|
|
321
|
+
static gcpLength(identifierType, identifier) {
|
|
322
|
+
if (_a.#gcpLengthRoot === undefined) {
|
|
323
|
+
throw new RangeError(i18nextGS1.t("Prefix.gs1CompanyPrefixLengthDataNotLoaded"));
|
|
324
|
+
}
|
|
325
|
+
return GCPLength.getFor(_a.#gcpLengthRoot, identifierType, identifier);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Get the date/time the GS1 Company Prefix length data was last updated.
|
|
329
|
+
*
|
|
330
|
+
* @returns
|
|
331
|
+
* Date/time the GS1 Company Prefix length data was last updated.
|
|
332
|
+
*/
|
|
333
|
+
static gcpLengthDateTime() {
|
|
334
|
+
if (_a.#gcpLengthRoot === undefined) {
|
|
335
|
+
throw new RangeError(i18nextGS1.t("Prefix.gs1CompanyPrefixLengthDataNotLoaded"));
|
|
336
|
+
}
|
|
337
|
+
return _a.#gcpLengthRoot.dateTime;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get the disclaimer for the GS1 Company Prefix length data.
|
|
341
|
+
*
|
|
342
|
+
* @returns
|
|
343
|
+
* Disclaimer for the GS1 Company Prefix length data.
|
|
344
|
+
*/
|
|
345
|
+
static gcpLengthDisclaimer() {
|
|
346
|
+
if (_a.#gcpLengthRoot === undefined) {
|
|
347
|
+
throw new RangeError(i18nextGS1.t("Prefix.gs1CompanyPrefixLengthDataNotLoaded"));
|
|
348
|
+
}
|
|
349
|
+
return _a.#gcpLengthRoot.disclaimer;
|
|
350
|
+
}
|
|
295
351
|
}
|
|
296
352
|
_a = PrefixManager;
|
|
297
353
|
//# sourceMappingURL=prefix-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-manager.js","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"prefix-manager.js","sourceRoot":"","sources":["../src/prefix-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type CharacterSetValidation } from "@aidc-toolkit/utility";
|
|
2
2
|
import type { PrefixProvider } from "./prefix-provider.js";
|
|
3
3
|
import { type PrefixType } from "./prefix-type.js";
|
|
4
|
+
import type { ParseKeys } from "i18next";
|
|
4
5
|
/**
|
|
5
6
|
* Prefix validation parameters.
|
|
6
7
|
*/
|
|
@@ -24,7 +25,7 @@ export interface PrefixValidation extends CharacterSetValidation {
|
|
|
24
25
|
export declare const PrefixValidator: {
|
|
25
26
|
readonly GS1_COMPANY_PREFIX_MINIMUM_LENGTH: 4;
|
|
26
27
|
readonly GS1_COMPANY_PREFIX_MAXIMUM_LENGTH: 12;
|
|
27
|
-
readonly UPC_COMPANY_PREFIX_MINIMUM_LENGTH:
|
|
28
|
+
readonly UPC_COMPANY_PREFIX_MINIMUM_LENGTH: 5;
|
|
28
29
|
readonly UPC_COMPANY_PREFIX_MAXIMUM_LENGTH: 11;
|
|
29
30
|
readonly GS1_8_PREFIX_MINIMUM_LENGTH: 2;
|
|
30
31
|
readonly GS1_8_PREFIX_MAXIMUM_LENGTH: 7;
|
|
@@ -49,10 +50,10 @@ export declare const PrefixValidator: {
|
|
|
49
50
|
* @param isNumericIdentifier
|
|
50
51
|
* If true, the prefix is from a numeric identifier and its character set will be validated by the caller.
|
|
51
52
|
*
|
|
52
|
-
* @param
|
|
53
|
-
*
|
|
53
|
+
* @param errorMessageParseKey
|
|
54
|
+
* Parse key for error message when validating GS1 Company Prefix type.
|
|
54
55
|
*/
|
|
55
|
-
readonly validate: (prefixType: PrefixType, allowUPCCompanyPrefix: boolean, allowGS18Prefix: boolean, prefix: string, isFromIdentifier?: boolean, isNumericIdentifier?: boolean,
|
|
56
|
+
readonly validate: (prefixType: PrefixType, allowUPCCompanyPrefix: boolean, allowGS18Prefix: boolean, prefix: string, isFromIdentifier?: boolean, isNumericIdentifier?: boolean, errorMessageParseKey?: ParseKeys) => void;
|
|
56
57
|
/**
|
|
57
58
|
* Normalize a prefix.
|
|
58
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-validator.d.ts","sourceRoot":"","sources":["../src/prefix-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAmB,MAAM,uBAAuB,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"prefix-validator.d.ts","sourceRoot":"","sources":["../src/prefix-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAmB,MAAM,uBAAuB,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC5D;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,MAAM,CAAC;CAC3B;AA6ED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;IAQxB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;oCACkB,UAAU,yBAAyB,OAAO,mBAAmB,OAAO,UAAU,MAAM,oFAAgF,SAAS,KAAG,IAAI;IAmDzM;;;;;;;;;;;OAWG;qCACmB,UAAU,UAAU,MAAM,KAAG,cAAc;CAiD3D,CAAC"}
|
package/dist/prefix-validator.js
CHANGED
|
@@ -12,7 +12,7 @@ const GS1_COMPANY_PREFIX_MAXIMUM_LENGTH = 12;
|
|
|
12
12
|
/**
|
|
13
13
|
* U.P.C. Company Prefix minimum length.
|
|
14
14
|
*/
|
|
15
|
-
const UPC_COMPANY_PREFIX_MINIMUM_LENGTH =
|
|
15
|
+
const UPC_COMPANY_PREFIX_MINIMUM_LENGTH = 5;
|
|
16
16
|
/**
|
|
17
17
|
* U.P.C. Company Prefix maximum length.
|
|
18
18
|
*/
|
|
@@ -96,57 +96,53 @@ export const PrefixValidator = {
|
|
|
96
96
|
* @param isNumericIdentifier
|
|
97
97
|
* If true, the prefix is from a numeric identifier and its character set will be validated by the caller.
|
|
98
98
|
*
|
|
99
|
-
* @param
|
|
100
|
-
*
|
|
99
|
+
* @param errorMessageParseKey
|
|
100
|
+
* Parse key for error message when validating GS1 Company Prefix type.
|
|
101
101
|
*/
|
|
102
|
-
validate(prefixType, allowUPCCompanyPrefix, allowGS18Prefix, prefix, isFromIdentifier = false, isNumericIdentifier = false,
|
|
103
|
-
let
|
|
102
|
+
validate(prefixType, allowUPCCompanyPrefix, allowGS18Prefix, prefix, isFromIdentifier = false, isNumericIdentifier = false, errorMessageParseKey) {
|
|
103
|
+
let validation;
|
|
104
104
|
// Validate the prefix type and determine the prefix validation parameters.
|
|
105
105
|
switch (prefixType) {
|
|
106
106
|
case PrefixTypes.GS1CompanyPrefix:
|
|
107
107
|
if (!prefix.startsWith("0")) {
|
|
108
|
-
|
|
108
|
+
validation = GS1_COMPANY_PREFIX_VALIDATION;
|
|
109
109
|
}
|
|
110
110
|
else if (!prefix.startsWith("00000")) {
|
|
111
111
|
if (!allowUPCCompanyPrefix) {
|
|
112
|
-
throw new RangeError(i18nextGS1.t("Prefix.gs1CompanyPrefixCantStartWith0"));
|
|
112
|
+
throw new RangeError(i18nextGS1.t(errorMessageParseKey ?? "Prefix.gs1CompanyPrefixCantStartWith0"));
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
validation = UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION;
|
|
115
115
|
}
|
|
116
116
|
else if (!prefix.startsWith("000000")) {
|
|
117
117
|
if (!allowGS18Prefix) {
|
|
118
|
-
throw new RangeError(i18nextGS1.t("Prefix.gs1CompanyPrefixCantStartWith00000"));
|
|
118
|
+
throw new RangeError(i18nextGS1.t(errorMessageParseKey ?? "Prefix.gs1CompanyPrefixCantStartWith00000"));
|
|
119
119
|
}
|
|
120
|
-
|
|
120
|
+
validation = GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION;
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
|
-
throw new RangeError(i18nextGS1.t("Prefix.gs1CompanyPrefixCantStartWith000000"));
|
|
123
|
+
throw new RangeError(i18nextGS1.t(errorMessageParseKey ?? "Prefix.gs1CompanyPrefixCantStartWith000000"));
|
|
124
124
|
}
|
|
125
125
|
break;
|
|
126
126
|
case PrefixTypes.UPCCompanyPrefix:
|
|
127
127
|
if (prefix.startsWith("0000")) {
|
|
128
128
|
throw new RangeError(i18nextGS1.t("Prefix.upcCompanyPrefixCantStartWith0000"));
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
validation = UPC_COMPANY_PREFIX_VALIDATION;
|
|
131
131
|
break;
|
|
132
132
|
case PrefixTypes.GS18Prefix:
|
|
133
133
|
if (prefix.startsWith("0")) {
|
|
134
134
|
throw new RangeError(i18nextGS1.t("Prefix.gs18PrefixCantStartWith0"));
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
validation = GS1_8_PREFIX_VALIDATION;
|
|
137
137
|
break;
|
|
138
138
|
}
|
|
139
|
-
|
|
140
|
-
...baseValidation,
|
|
141
|
-
positionOffset
|
|
142
|
-
};
|
|
143
|
-
// If from key and numeric, key validation will take care of character set validation.
|
|
139
|
+
// If from identifier and numeric, identifier validation will take care of character set validation.
|
|
144
140
|
if (!isFromIdentifier) {
|
|
145
|
-
NUMERIC_CREATOR.validate(prefix,
|
|
141
|
+
NUMERIC_CREATOR.validate(prefix, validation);
|
|
146
142
|
}
|
|
147
143
|
else if (!isNumericIdentifier) {
|
|
148
144
|
// Validate only the minimum length, allowing at least one character for the (possibly non-numeric) reference.
|
|
149
|
-
NUMERIC_CREATOR.validate(prefix.substring(0, Math.min(
|
|
145
|
+
NUMERIC_CREATOR.validate(prefix.substring(0, Math.min(validation.minimumLength, prefix.length - 1)), validation);
|
|
150
146
|
}
|
|
151
147
|
},
|
|
152
148
|
/**
|
|
@@ -171,10 +167,10 @@ export const PrefixValidator = {
|
|
|
171
167
|
gs1CompanyPrefix = prefix;
|
|
172
168
|
break;
|
|
173
169
|
case PrefixTypes.UPCCompanyPrefix:
|
|
174
|
-
gs1CompanyPrefix =
|
|
170
|
+
gs1CompanyPrefix = `0${prefix}`;
|
|
175
171
|
break;
|
|
176
172
|
case PrefixTypes.GS18Prefix:
|
|
177
|
-
gs1CompanyPrefix =
|
|
173
|
+
gs1CompanyPrefix = `00000${prefix}`;
|
|
178
174
|
break;
|
|
179
175
|
}
|
|
180
176
|
let normalizedPrefixType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-validator.js","sourceRoot":"","sources":["../src/prefix-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAmB,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"prefix-validator.js","sourceRoot":"","sources":["../src/prefix-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,19 @@ import type { IdentifierValidation } from "./identifier-validator.js";
|
|
|
4
4
|
import { NonGTINNumericIdentifierValidator } from "./non-gtin-numeric-identifier-validator.js";
|
|
5
5
|
import type { SerializableNumericIdentifierDescriptor } from "./serializable-numeric-identifier-descriptor.js";
|
|
6
6
|
import type { SerializableNumericIdentifierType } from "./serializable-numeric-identifier-type.js";
|
|
7
|
+
/**
|
|
8
|
+
* Serializable numeric identifier split.
|
|
9
|
+
*/
|
|
10
|
+
export interface SerializableNumericIdentifierSplit {
|
|
11
|
+
/**
|
|
12
|
+
* Base identifier.
|
|
13
|
+
*/
|
|
14
|
+
baseIdentifier: string;
|
|
15
|
+
/**
|
|
16
|
+
* Serial component.
|
|
17
|
+
*/
|
|
18
|
+
serialComponent: string;
|
|
19
|
+
}
|
|
7
20
|
/**
|
|
8
21
|
* Serializable numeric identifier validator. Validates both serialized and non-serialized forms of numeric identifiers
|
|
9
22
|
* that support serialization.
|
|
@@ -37,5 +50,18 @@ export declare class SerializableNumericIdentifierValidator extends NonGTINNumer
|
|
|
37
50
|
* @inheritDoc
|
|
38
51
|
*/
|
|
39
52
|
validate(identifier: string, validation?: IdentifierValidation): void;
|
|
53
|
+
/**
|
|
54
|
+
* Split a serializable numeric identifier into its component parts.
|
|
55
|
+
*
|
|
56
|
+
* @param identifier
|
|
57
|
+
* Identifier.
|
|
58
|
+
*
|
|
59
|
+
* @param validation
|
|
60
|
+
* Identifier validation parameters.
|
|
61
|
+
*
|
|
62
|
+
* @returns
|
|
63
|
+
* Base identifier and serial component (possibly empty) as object.
|
|
64
|
+
*/
|
|
65
|
+
split(identifier: string, validation?: IdentifierValidation): SerializableNumericIdentifierSplit;
|
|
40
66
|
}
|
|
41
67
|
//# sourceMappingURL=serializable-numeric-identifier-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializable-numeric-identifier-validator.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,iDAAiD,CAAC;AAC/G,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAEnG;;;GAGG;AACH,qBAAa,sCAAuC,SAAQ,iCAAiC,CAAC,iCAAiC,CAAE,YAAW,uCAAuC;;IAqB/K;;;;;OAKG;gBACS,cAAc,EAAE,iCAAiC;IAiB7D;;OAEG;IACH,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,2BAA2B,IAAI,mBAAmB,CAErD;IAED;;OAEG;IACH,SAAS,KAAK,yBAAyB,IAAI,sBAAsB,CAEhE;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,mBAAmB,CAEhD;IAED;;OAEG;IACM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"serializable-numeric-identifier-validator.d.ts","sourceRoot":"","sources":["../src/serializable-numeric-identifier-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,iDAAiD,CAAC;AAC/G,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,sCAAuC,SAAQ,iCAAiC,CAAC,iCAAiC,CAAE,YAAW,uCAAuC;;IAqB/K;;;;;OAKG;gBACS,cAAc,EAAE,iCAAiC;IAiB7D;;OAEG;IACH,IAAI,qBAAqB,IAAI,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,2BAA2B,IAAI,mBAAmB,CAErD;IAED;;OAEG;IACH,SAAS,KAAK,yBAAyB,IAAI,sBAAsB,CAEhE;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,mBAAmB,CAEhD;IAED;;OAEG;IACM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAQ9E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,GAAG,kCAAkC;CAQnG"}
|
|
@@ -74,5 +74,24 @@ export class SerializableNumericIdentifierValidator extends NonGTINNumericIdenti
|
|
|
74
74
|
this.serialComponentCreator.validate(identifier.substring(this.length), this.#serialComponentValidation);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Split a serializable numeric identifier into its component parts.
|
|
79
|
+
*
|
|
80
|
+
* @param identifier
|
|
81
|
+
* Identifier.
|
|
82
|
+
*
|
|
83
|
+
* @param validation
|
|
84
|
+
* Identifier validation parameters.
|
|
85
|
+
*
|
|
86
|
+
* @returns
|
|
87
|
+
* Base identifier and serial component (possibly empty) as object.
|
|
88
|
+
*/
|
|
89
|
+
split(identifier, validation) {
|
|
90
|
+
this.validate(identifier, validation);
|
|
91
|
+
return {
|
|
92
|
+
baseIdentifier: identifier.substring(0, this.length),
|
|
93
|
+
serialComponent: identifier.substring(this.length)
|
|
94
|
+
};
|
|
95
|
+
}
|
|
77
96
|
}
|
|
78
97
|
//# sourceMappingURL=serializable-numeric-identifier-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializable-numeric-identifier-validator.js","sourceRoot":"","sources":["../src/serializable-numeric-identifier-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"serializable-numeric-identifier-validator.js","sourceRoot":"","sources":["../src/serializable-numeric-identifier-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAmB/F;;;GAGG;AACH,MAAM,OAAO,sCAAuC,SAAQ,iCAAoE;IAC5H;;OAEG;IACM,sBAAsB,CAAS;IAExC;;OAEG;IACM,4BAA4B,CAAsB;IAE3D;;OAEG;IACM,0BAA0B,CAAyB;IAE5D;;OAEG;IACM,uBAAuB,CAAsB;IAEtD;;;;;OAKG;IACH,YAAY,cAAiD;QACzD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAEnE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE5B,IAAI,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,qBAAqB,CAAC;QACzE,IAAI,CAAC,4BAA4B,GAAG,oBAAoB,CAAC,2BAA2B,CAAC;QAErF,IAAI,CAAC,0BAA0B,GAAG;YAC9B,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,oBAAoB,CAAC,qBAAqB;YACzD,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC;SAC9D,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IACpH,CAAC;IAED;;OAEG;IACH,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,2BAA2B;QAC3B,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAc,yBAAyB;QACnC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAED;;OAEG;IACM,QAAQ,CAAC,UAAkB,EAAE,UAAiC;QACnE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QAEjE,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7G,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAkB,EAAE,UAAiC;QACvD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEtC,OAAO;YACH,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;YACpD,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;SACrD,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Restricted Circulation Number reference.
|
|
3
|
+
*/
|
|
4
|
+
export interface RCNReference {
|
|
5
|
+
/**
|
|
6
|
+
* Item reference.
|
|
7
|
+
*/
|
|
8
|
+
itemReference: number;
|
|
9
|
+
/**
|
|
10
|
+
* Price or weight (whole number only).
|
|
11
|
+
*/
|
|
12
|
+
priceOrWeight: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Variable measure trade item support functions.
|
|
16
|
+
*/
|
|
17
|
+
export declare class VariableMeasure {
|
|
18
|
+
/**
|
|
19
|
+
* Parse a Restricted Circulation Number (RCN) using a variable measure trade item format. The format is a 12- or
|
|
20
|
+
* 13-character string (for RCN-12 or RCN-13 respectively), containing the following:
|
|
21
|
+
*
|
|
22
|
+
* - '2' - The first character of the RCN.
|
|
23
|
+
* - '0'-'9' - The second character of the RCN (RCN-13 only).
|
|
24
|
+
* - 'I' - One or more, in sequence, for the item reference.
|
|
25
|
+
* - 'P' - One or more, in sequence, for the price or weight.
|
|
26
|
+
* - 'V' - Zero or one, for the price or weight check digit.
|
|
27
|
+
* - 'C' - The check digit of the entire RCN.
|
|
28
|
+
*
|
|
29
|
+
* The 'I', 'P', and 'V' formats may be in any order.
|
|
30
|
+
*
|
|
31
|
+
* Some examples:
|
|
32
|
+
*
|
|
33
|
+
* - `2IIIIIVPPPPC` - RCN-12 with a five-digit item reference, a price or weight check digit, and a four-digit price
|
|
34
|
+
* or weight.
|
|
35
|
+
* - `23IIIIVPPPPPC` - RCN-13 with a four-digit item reference, a price or weight check digit, and a five-digit price
|
|
36
|
+
* or weight.
|
|
37
|
+
* - `2IIIIIIPPPPC` - RCN-12 with a six-digit item reference and a four-digit price or eight.
|
|
38
|
+
* - `29IIIIIPPPPPC` - RCN-13 with a five-digit item reference and a five-digit price or weight.
|
|
39
|
+
*
|
|
40
|
+
* @param format
|
|
41
|
+
* Format.
|
|
42
|
+
*
|
|
43
|
+
* @param rcn
|
|
44
|
+
* RCN.
|
|
45
|
+
*
|
|
46
|
+
* @returns
|
|
47
|
+
* RCN reference.
|
|
48
|
+
*/
|
|
49
|
+
static parseRCN(format: string, rcn: string): RCNReference;
|
|
50
|
+
/**
|
|
51
|
+
* Create a Restricted Circulation Number (RCN) using a variable measure trade item format. See {@linkcode parseRCN}
|
|
52
|
+
* 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 createRCN(format: string, itemReference: number, priceOrWeight: number): string;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=variable-measure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-measure.d.ts","sourceRoot":"","sources":["../src/variable-measure.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AAEH,qBAAa,eAAe;IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;IAiG1D;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAmGzF"}
|