AIDC Toolkit / GS1 / PrefixManager
Class: PrefixManager
Defined in: src/prefix-manager.ts:41
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:111
Constructor.
Parameters
prefixType
Prefix type.
prefix
string
Prefix.
Returns
PrefixManager
Accessors
prefixType
Get Signature
get prefixType():
PrefixType
Defined in: src/prefix-manager.ts:129
Get the prefix type.
Returns
Prefix type.
Implementation of
prefix
Get Signature
get prefix():
string
Defined in: src/prefix-manager.ts:136
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:143
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:150
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:157
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:177
Get the tweak factor.
Returns
bigint
Set Signature
set tweakFactor(
value):void
Defined in: src/prefix-manager.ts:187
Set the tweak factor.
Parameters
value
Tweak factor.
number | bigint
Returns
void
gtinCreator
Get Signature
get gtinCreator():
GTINCreator
Defined in: src/prefix-manager.ts:273
Get GTIN creator.
Returns
glnCreator
Get Signature
get glnCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:280
Get GLN creator.
Returns
NonSerializableNumericIdentifierCreator
ssccCreator
Get Signature
get ssccCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:287
Get SSCC creator.
Returns
NonSerializableNumericIdentifierCreator
graiCreator
Get Signature
get graiCreator():
SerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:294
Get GRAI creator.
Returns
SerializableNumericIdentifierCreator
giaiCreator
Get Signature
get giaiCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:301
Get GIAI creator.
Returns
gsrnCreator
Get Signature
get gsrnCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:308
Get GSRN creator.
Returns
NonSerializableNumericIdentifierCreator
gdtiCreator
Get Signature
get gdtiCreator():
SerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:315
Get GDTI creator.
Returns
SerializableNumericIdentifierCreator
gincCreator
Get Signature
get gincCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:322
Get GINC creator.
Returns
gsinCreator
Get Signature
get gsinCreator():
NonSerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:329
Get GSIN creator.
Returns
NonSerializableNumericIdentifierCreator
gcnCreator
Get Signature
get gcnCreator():
SerializableNumericIdentifierCreator
Defined in: src/prefix-manager.ts:336
Get GCN creator.
Returns
SerializableNumericIdentifierCreator
cpidCreator
Get Signature
get cpidCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:343
Get CPID creator.
Returns
gmnCreator
Get Signature
get gmnCreator():
NonNumericIdentifierCreator
Defined in: src/prefix-manager.ts:350
Get GMN creator.
Returns
Methods
get()
staticget(prefixType,prefix):PrefixManager
Defined in: src/prefix-manager.ts:218
Get a prefix manager.
Parameters
prefixType
Prefix type.
prefix
string
Prefix.
Returns
PrefixManager
Prefix manager with normalized prefix type and prefix.
resetTweakFactor()
resetTweakFactor():
void
Defined in: src/prefix-manager.ts:202
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:244
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.