AIDC Toolkit / GS1 / PrefixManager
Class: PrefixManager ​
Defined in: src/prefix-manager.ts:43
Prefix manager. This is the core class for identifier creation.
A prefix manager may be constructed for any prefix type. Construction may be done directly or via the static get() method, which allows for caching and reuse. As most applications work with a limited number of prefixes for creating identifiers, caching and reuse may be a more efficient option.
The prefix type and prefix are normalized before the prefix manager is constructed, so they may not match the input values. For example, the GS1 Company Prefix 0614141 is equivalent to U.P.C. Company Prefix 614141; both result in a prefix manager with prefix type equal to PrefixTypes.UPCCompanyPrefix and prefix equal to "614141".
To support the creation of sparse identifiers, a prefix manager maintains a tweak factor which is used, along with a type-specific multiplier, as the tweak when creating numeric identifiers. The default tweak factor is the numeric value of the GS1 Company Prefix representation of the prefix preceded by '1' to ensure uniqueness (i.e., so that prefixes 0 N1 N2 N3... and N1 N2 N3... produce different tweak factors). This is usually sufficient for obfuscation, but as the sparse creation algorithm is reversible and as the GS1 Company Prefix is discoverable via Verified by GS1, a user-defined tweak factor should be used if a higher degree of obfuscation is required. When using a tweak factor other than the default, care should be taken to restore it when resuming the application. A tweak factor of 0 creates a straight sequence.
Implements ​
Constructors ​
Constructor ​
new PrefixManager(
prefixType,prefix):PrefixManager
Defined in: src/prefix-manager.ts:118
Constructor.
Parameters ​
prefixType ​
Prefix type.
prefix ​
string
Prefix.
Returns ​
PrefixManager
Accessors ​
prefixType ​
Get Signature ​
get prefixType():
PrefixType
Defined in: src/prefix-manager.ts:136
Get the prefix type.
Returns ​
Prefix type.
Implementation of ​
prefix ​
Get Signature ​
get prefix():
string
Defined in: src/prefix-manager.ts:143
Get the prefix.
Returns ​
string
Prefix appropriate to the prefix type.
Implementation of ​
gs1CompanyPrefix ​
Get Signature ​
get gs1CompanyPrefix():
string
Defined in: src/prefix-manager.ts:150
Get the GS1 Company Prefix.
Returns ​
string
Prefix as GS1 Company Prefix.
Implementation of ​
PrefixProvider.gs1CompanyPrefix
upcCompanyPrefix ​
Get Signature ​
get upcCompanyPrefix():
string|undefined
Defined in: src/prefix-manager.ts:157
Get the U.P.C. Company Prefix if prefix type is PrefixTypes.UPCCompanyPrefix or undefined if not.
Returns ​
string | undefined
Prefix as U.P.C. Company Prefix if prefix type is PrefixTypes.UPCCompanyPrefix or undefined if not.
Implementation of ​
PrefixProvider.upcCompanyPrefix
gs18Prefix ​
Get Signature ​
get gs18Prefix():
string|undefined
Defined in: src/prefix-manager.ts:164
Get the GS1-8 Prefix if prefix type is PrefixTypes.GS18Prefix or undefined if not.
Returns ​
string | undefined
Prefix as GS1-8 Prefix if prefix type is PrefixTypes.GS18Prefix or undefined if not.
Implementation of ​
tweakFactor ​
Get Signature ​
get tweakFactor():
bigint
Defined in: src/prefix-manager.ts:184
Get the tweak factor.
Returns ​
bigint
Set Signature ​
set tweakFactor(
value):void
Defined in: src/prefix-manager.ts:194
Set the tweak factor.
Parameters ​
value ​
Tweak factor.
number | bigint
Returns ​
void
gtinCreator ​
Get Signature ​
get gtinCreator():
GTINCreator
Defined in: src/prefix-manager.ts:280
Get GTIN creator.
Returns ​
glnCreator ​
Get Signature ​
get glnCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:287
Get GLN creator.
Returns ​
NonSerializableNumericIdentifierCreator
ssccCreator ​
Get Signature ​
get ssccCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:294
Get SSCC creator.
Returns ​
NonSerializableNumericIdentifierCreator
graiCreator ​
Get Signature ​
get graiCreator():
SerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:301
Get GRAI creator.
Returns ​
SerializableNumericIdentifierCreator
giaiCreator ​
Get Signature ​
get giaiCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:308
Get GIAI creator.
Returns ​
gsrnCreator ​
Get Signature ​
get gsrnCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:315
Get GSRN creator.
Returns ​
NonSerializableNumericIdentifierCreator
gdtiCreator ​
Get Signature ​
get gdtiCreator():
SerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:322
Get GDTI creator.
Returns ​
SerializableNumericIdentifierCreator
gincCreator ​
Get Signature ​
get gincCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:329
Get GINC creator.
Returns ​
gsinCreator ​
Get Signature ​
get gsinCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:336
Get GSIN creator.
Returns ​
NonSerializableNumericIdentifierCreator
gcnCreator ​
Get Signature ​
get gcnCreator():
SerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:343
Get GCN creator.
Returns ​
SerializableNumericIdentifierCreator
cpidCreator ​
Get Signature ​
get cpidCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:350
Get CPID creator.
Returns ​
gmnCreator ​
Get Signature ​
get gmnCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:357
Get GMN creator.
Returns ​
Methods ​
get() ​
staticget(prefixType,prefix):PrefixManager
Defined in: src/prefix-manager.ts:225
Get a prefix manager.
Parameters ​
prefixType ​
Prefix type.
prefix ​
string
Prefix.
Returns ​
PrefixManager
Prefix manager with normalized prefix type and prefix.
loadGCPLengthData() ​
staticloadGCPLengthData(gcpLengthCache):Promise<void>
Defined in: src/prefix-manager.ts:367
Load GS1 Company Prefix length data.
Parameters ​
gcpLengthCache ​
GS1 Company Prefix length cache.
Returns ​
Promise<void>
gcpLength() ​
staticgcpLength(identifierType,identifier):number
Defined in: src/prefix-manager.ts:383
Get the length of a GS1 Company Prefix for an identifier.
Parameters ​
identifierType ​
Identifier type.
identifier ​
string
Identifier.
Returns ​
number
Length of GS1 Company Prefix, 0 if not a GS1 Company Prefix, or -1 if not found.
gcpLengthDateTime() ​
staticgcpLengthDateTime():Date
Defined in: src/prefix-manager.ts:397
Get the date/time the GS1 Company Prefix length data was last updated.
Returns ​
Date/time the GS1 Company Prefix length data was last updated.
gcpLengthDisclaimer() ​
staticgcpLengthDisclaimer():string
Defined in: src/prefix-manager.ts:411
Get the disclaimer for the GS1 Company Prefix length data.
Returns ​
string
Disclaimer for the GS1 Company Prefix length data.
resetTweakFactor() ​
resetTweakFactor():
void
Defined in: src/prefix-manager.ts:209
Reset the tweak factor to its default (numeric value of the GS1 Company Prefix preceded by '1').
Returns ​
void
getIdentifierCreator() ​
getIdentifierCreator<
TIdentifierType>(identifierType):IdentifierCreatorsRecord[TIdentifierType]
Defined in: src/prefix-manager.ts:251
Get an identifier creator.
Type Parameters ​
TIdentifierType ​
TIdentifierType extends IdentifierType
Identifier type type.
Parameters ​
identifierType ​
TIdentifierType
Identifier type for which to retrieve or construct identifier creator.
Returns ​
IdentifierCreatorsRecord[TIdentifierType]
Identifier creator.