@aidc-toolkit/gs1 0.9.14-beta → 0.9.16-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/character-set.d.ts +12 -0
- package/dist/character-set.d.ts.map +1 -0
- package/dist/character-set.js +26 -0
- package/dist/character-set.js.map +1 -0
- package/dist/check.d.ts +79 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +211 -0
- package/dist/check.js.map +1 -0
- package/dist/{index.d.cts → idkey.d.ts} +43 -278
- package/dist/idkey.d.ts.map +1 -0
- package/dist/idkey.js +1809 -0
- package/dist/idkey.js.map +1 -0
- package/dist/index.d.ts +21 -1497
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -0
- package/dist/locale/en/locale-strings.d.ts +38 -0
- package/dist/locale/en/locale-strings.d.ts.map +1 -0
- package/dist/locale/en/locale-strings.js +38 -0
- package/dist/locale/en/locale-strings.js.map +1 -0
- package/dist/locale/fr/locale-strings.d.ts +38 -0
- package/dist/locale/fr/locale-strings.d.ts.map +1 -0
- package/dist/locale/fr/locale-strings.js +38 -0
- package/dist/locale/fr/locale-strings.js.map +1 -0
- package/dist/locale/i18n.d.ts +106 -0
- package/dist/locale/i18n.d.ts.map +1 -0
- package/dist/locale/i18n.js +37 -0
- package/dist/locale/i18n.js.map +1 -0
- package/package.json +9 -9
- package/dist/index.cjs +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import{i18nAssertValidResources as Z,i18nCoreInit as Q}from"@aidc-toolkit/core";import{i18nUtilityInit as j,utilityResources as J}from"@aidc-toolkit/utility";import ee from"i18next";var v={Check:{lengthOfStringForPriceOrWeightMustBeExactly:"Length {{length}} of string for price or weight sum must be exactly {{exactLength}}",priceOrWeightComponent:"price or weight",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"Length {{length}} of string for check character pair must be less than or equal to {{maximumLength}}"},IdentificationKey:{identificationKeyTypeLength:"{{identificationKeyType}} must be {{length}} digits long",invalidCheckDigit:"Invalid check digit",invalidGTINLength:"GTIN must be 13, 12, 8, or 14 digits long",invalidGTIN14Length:"GTIN must be 14 digits long",invalidZeroSuppressedGTIN12:"Invalid zero-suppressed GTIN-12",invalidZeroSuppressibleGTIN12:"GTIN-12 not zero-suppressible",invalidZeroSuppressedGTIN12AsGTIN13:"Invalid zero-suppressed GTIN-12 as GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"Invalid zero-suppressed GTIN-12 as GTIN-14",invalidGTIN13AtRetail:"GTIN-13 at retail consumer trade item level can't start with zero",invalidGTINAtRetail:"GTIN not supported at retail consumer trade item level",invalidGTINAtOtherThanRetail:"GTIN not supported at other than retail consumer trade item level",indicatorDigit:"indicator digit",serialComponent:"serial component",reference:"reference",referenceCantBeAllNumeric:"Reference can't be all-numeric",invalidCheckCharacterPair:"Invalid check character pair"},Prefix:{gs1CompanyPrefix:"GS1 Company Prefix",upcCompanyPrefix:"U.P.C. Company Prefix",gs18Prefix:"GS1-8 Prefix",invalidPrefixType:"Invalid prefix type",gs1CompanyPrefixCantStartWith0:`GS1 Company Prefix can't start with "0"`,gs1CompanyPrefixCantStartWith00000:`GS1 Company Prefix can't start with "00000"`,gs1CompanyPrefixCantStartWith000000:`GS1 Company Prefix can't start with "000000"`,upcCompanyPrefixCantStartWith0000:`U.P.C. Company Prefix can't start with "0000"`,gs18PrefixCantStartWith0:`GS1-8 Prefix can't start with "0"`,identificationKeyTypeNotSupportedByGS18Prefix:"{{identificationKeyType}} not supported by GS1-8 Prefix"}};var L={Check:{lengthOfStringForPriceOrWeightMustBeExactly:"La longueur {{longueur}} de la cha\xEEne pour le prix ou la somme du poids doit \xEAtre exactement {{exactLength}}",priceOrWeightComponent:"prix ou poids",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"La longueur {{length}} de la cha\xEEne pour la paire de caract\xE8res de v\xE9rification doit \xEAtre inf\xE9rieure ou \xE9gale \xE0 {{maximum Length}}"},IdentificationKey:{identificationKeyTypeLength:"{{identificationKeyType}} doit comporter {{length}} chiffres",invalidCheckDigit:"Chiffre de contr\xF4le non valide",invalidGTINLength:"Le GTIN doit comporter 13, 12, 8 ou 14 chiffres",invalidGTIN14Length:"Le GTIN doit comporter 14 chiffres",invalidZeroSuppressedGTIN12:"Code GTIN-12 non valide avec z\xE9ro supprim\xE9",invalidZeroSuppressibleGTIN12:"Le GTIN-12 ne peut pas \xEAtre supprim\xE9 par z\xE9ro",invalidZeroSuppressedGTIN12AsGTIN13:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-14",invalidGTIN13AtRetail:"Le GTIN-13 au niveau des articles de consommation au d\xE9tail ne peut pas commencer par z\xE9ro",invalidGTINAtRetail:"Le GTIN n'est pas pris en charge au niveau des articles de consommation au d\xE9tail",invalidGTINAtOtherThanRetail:"Le GTIN n'est pas pris en charge \xE0 d'autres niveaux que ceux des articles de consommation au d\xE9tail",indicatorDigit:"chiffre indicateur",serialComponent:"composant s\xE9rie",reference:"r\xE9f\xE9rence",referenceCantBeAllNumeric:"La r\xE9f\xE9rence ne peut pas \xEAtre enti\xE8rement num\xE9rique",invalidCheckCharacterPair:"Paire de caract\xE8res de contr\xF4le non valide"},Prefix:{gs1CompanyPrefix:"Pr\xE9fixe de l'entreprise GS1",upcCompanyPrefix:"Pr\xE9fixe de l'entreprise U.P.C.",gs18Prefix:"Pr\xE9fixe GS1-8",invalidPrefixType:"Type de pr\xE9fixe invalide",gs1CompanyPrefixCantStartWith0:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "0"`,gs1CompanyPrefixCantStartWith00000:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "00000"`,gs1CompanyPrefixCantStartWith000000:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "000000"`,upcCompanyPrefixCantStartWith0000:`Le pr\xE9fixe de l'entreprise U.P.C. ne peut pas commencer par "0000"`,gs18PrefixCantStartWith0:'Le pr\xE9fixe GS1-8 ne peut pas commencer par "0"',identificationKeyTypeNotSupportedByGS18Prefix:"{{identificationKeyType}} non pris en charge par le pr\xE9fixe GS1-8"}};var te="aidct_gs1";Z(v,"fr",L);var re={en:{aidct_gs1:v},fr:{aidct_gs1:L}},a=ee.createInstance();async function be(n,e=!1){await j(n,e),await Q(a,n,e,te,J,re)}import{CharacterSetCreator as F,Exclusion as U}from"@aidc-toolkit/utility";var x=new F(["!",'"',"%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],U.AllNumeric),W=new F(["#","-","/","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],U.AllNumeric);import{NUMERIC_CREATOR as y,utilityNS as b}from"@aidc-toolkit/utility";var H=[0,3,6,9,12,15,18,21,24,27],N=[0,2,4,6,8,9,1,3,5,7],$=[0,5,1,6,2,7,3,8,4,9],z=[0,5,9,4,8,3,7,2,6,1],ie=[0,9,7,5,3,1,8,6,4,2];function P(n,e){let t=(e.length+Number(n))%2===0;return y.characterIndexes(e).reduce((r,i,o)=>{if(i===void 0)throw new RangeError(a.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:b,c:e.charAt(o),position:o+1}));return t=!t,r+(t?H[i]:i)},0)}function G(n){return y.character(9-(P(!1,n)+9)%10)}function K(n){return P(!0,n)%10===0}function Y(n,e){if(e.length!==n.length)throw new RangeError(a.t("Check.lengthOfStringForPriceOrWeightMustBeExactly",{length:e.length,exactLength:n.length}));return y.characterIndexes(e).reduce((r,i,o)=>{if(i===void 0)throw new RangeError(a.t("CharacterSetValidator.invalidCharacterAtPositionOfComponent",{ns:b,c:e.charAt(o),position:o+1,component:a.t("Check.priceOrWeightComponent")}));return r+n[o][i]},0)}function De(n){return y.character(Y([N,N,H,z],n)*3%10)}function Fe(n){return y.character(ie[9-(Y([$,N,z,$,N],n)+9)%10])}var E=[107,103,101,97,89,83,79,73,71,67,61,59,53,47,43,41,37,31,29,23,19,17,13,11,7,5,3,2],X=["2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"];function M(n){let e=E.length-n.length;if(e<0)throw new RangeError(a.t("Check.lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo",{length:n.length,maximumLength:E.length}));let t=x.characterIndexes(n).reduce((i,o,s)=>{if(o===void 0)throw new RangeError(a.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:b,c:n.charAt(s),position:s+1}));return i+o*E[e+s]},0)%1021,r=t%32;return X[(t-r)/32]+X[r]}function q(n){let e=n.length-2;return M(n.substring(0,e))===n.substring(e)}import{CharacterSetCreator as ne,Exclusion as D,NUMERIC_CREATOR as d,RegExpValidator as ae,transformIterable as B}from"@aidc-toolkit/utility";import{Mixin as R}from"ts-mixer";var oe=(f=>(f.GTIN="GTIN",f.GLN="GLN",f.SSCC="SSCC",f.GRAI="GRAI",f.GIAI="GIAI",f.GSRN="GSRN",f.GDTI="GDTI",f.GINC="GINC",f.GSIN="GSIN",f.GCN="GCN",f.CPID="CPID",f.GMN="GMN",f))(oe||{}),se=(r=>(r[r.GS1CompanyPrefix=0]="GS1CompanyPrefix",r[r.UPCCompanyPrefix=1]="UPCCompanyPrefix",r[r.GS18Prefix=2]="GS18Prefix",r))(se||{}),ce=(r=>(r[r.Numeric=0]="Numeric",r[r.AI82=1]="AI82",r[r.AI39=2]="AI39",r))(ce||{}),_=class n{static CHARACTER_SET_CREATORS=[d,x,W];_identificationKeyType;_prefixType;_length;_referenceCharacterSet;_referenceCreator;static creatorFor(e){return n.CHARACTER_SET_CREATORS[e]}constructor(e,t,r,i){this._identificationKeyType=e,this._prefixType=t,this._length=r,this._referenceCharacterSet=i,this._referenceCreator=n.creatorFor(i)}get identificationKeyType(){return this._identificationKeyType}get prefixType(){return this._prefixType}get length(){return this._length}get referenceCharacterSet(){return this._referenceCharacterSet}get referenceCreator(){return this._referenceCreator}padIdentificationKey(e,t){return t?.positionOffset===void 0?e:this.referenceCreator.character(0).repeat(t.positionOffset).concat(e)}validatePrefix(e,t){u.validatePrefix(this.prefixType,!0,!1,e,!0,this.referenceCharacterSet===0,t)}},pe=(r=>(r[r.None=0]="None",r[r.IndicatorDigit=1]="IndicatorDigit",r[r.ExtensionDigit=2]="ExtensionDigit",r))(pe||{}),S=class extends _{_leaderType;_prefixPosition;constructor(e,t,r,i){super(e,t,r,0),this._leaderType=i,this._prefixPosition=+(this.leaderType===2)}get leaderType(){return this._leaderType}validate(e,t){if(this._prefixPosition===0?super.validatePrefix(e,t?.positionOffset):super.validatePrefix(e.substring(this._prefixPosition),t?.positionOffset===void 0?this._prefixPosition:t.positionOffset+this._prefixPosition),e.length!==this.length)throw new RangeError(a.t("IdentificationKey.identificationKeyTypeLength",{identificationKeyType:this.identificationKeyType,length:this.length}));if(!K(this.padIdentificationKey(e,t)))throw new RangeError(a.t("IdentificationKey.invalidCheckDigit"))}},fe=(i=>(i[i.GTIN13=13]="GTIN13",i[i.GTIN12=12]="GTIN12",i[i.GTIN8=8]="GTIN8",i[i.GTIN14=14]="GTIN14",i))(fe||{}),de=(r=>(r[r.Any=0]="Any",r[r.RetailConsumer=1]="RetailConsumer",r[r.OtherThanRetailConsumer=2]="OtherThanRetailConsumer",r))(de||{}),g=class n extends S{static OPTIONAL_INDICATOR_DIGIT_VALIDATION={minimumLength:0,maximumLength:1,component:()=>a.t("IdentificationKey.indicatorDigit")};static ZERO_SUPPRESSED_GTIN12_VALIDATION={minimumLength:8,maximumLength:8};constructor(e){let t;switch(e){case 13:t=0;break;case 12:t=1;break;case 8:t=2;break;default:throw new Error("Not supported")}super("GTIN",t,e,1)}get gtinType(){return this.length}validatePrefix(e,t){u.validatePrefix(this.prefixType,!1,!1,e,!0,!0,t)}static zeroSuppress(e){w.validate(e);let t=Array.from(e),r;if(t[0]==="0"&&t[6]==="0"&&t[7]==="0"&&(t[10]>="5"&&t[8]==="0"&&t[9]==="0"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}${t[10]}${t[11]}`:t[5]==="0"&&t[8]==="0"&&t[9]==="0"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[10]}4${t[11]}`:t[3]<="2"&&t[4]==="0"&&t[5]==="0"?r=`0${t[1]}${t[2]}${t[8]}${t[9]}${t[10]}${t[3]}${t[11]}`:t[3]>="3"&&t[4]==="0"&&t[5]==="0"&&t[8]==="0"&&(r=`0${t[1]}${t[2]}${t[3]}${t[9]}${t[10]}3${t[11]}`)),r===void 0)throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressibleGTIN12"));return r}static zeroExpand(e){d.validate(e,n.ZERO_SUPPRESSED_GTIN12_VALIDATION);let t=Array.from(e),r;if(t[0]==="0"&&(t[6]>="5"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}0000${t[6]}${t[7]}`:t[6]==="4"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}00000${t[5]}${t[7]}`:t[6]<="2"?r=`0${t[1]}${t[2]}${t[6]}0000${t[3]}${t[4]}${t[5]}${t[7]}`:t[6]==="3"&&t[3]>="3"&&(r=`0${t[1]}${t[2]}${t[3]}00000${t[4]}${t[5]}${t[7]}`)),r===void 0)throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressedGTIN12"));return w.validate(r),r}static convertToGTIN14(e,t){T.validateAny(t),d.validate(e,n.OPTIONAL_INDICATOR_DIGIT_VALIDATION);let r=t.length,i="0".repeat(14-r)+t;if(e.length!==0&&e!==i.charAt(0)){let o=e+i.substring(1,13);i=o+G(o)}return i}static normalize(e){let t=e.length,r;switch(t){case 13:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00000"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(5);else throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressedGTIN12AsGTIN13"));break;case 12:r=e;break;case 8:e.startsWith("0")?r=n.zeroExpand(e):r=e;break;case 14:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(2);else if(!e.startsWith("0000000"))r=e.substring(6);else throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressedGTIN12AsGTIN14"));break;default:throw new RangeError(a.t("IdentificationKey.invalidGTINLength"))}return T.validateAny(r),r}static validateAny(e,t=0){let r=e,i;switch(e.length){case 13:if(e.startsWith("0"))throw new RangeError(a.t("IdentificationKey.invalidGTIN13AtRetail"));u.validatePrefix(0,!1,!1,e,!0,!0),i=0;break;case 12:u.validatePrefix(1,!1,!1,e,!0,!0),i=0;break;case 8:e.startsWith("0")?r=n.zeroExpand(e):u.validatePrefix(2,!1,!1,e,!0,!0),i=1;break;case 14:u.validatePrefix(0,!0,!0,e.substring(1),!0,!0),i=2;break;default:throw new RangeError(a.t("IdentificationKey.invalidGTINLength"))}if(!K(r))throw new RangeError(a.t("IdentificationKey.invalidCheckDigit"));if(t!==0&&i!==0&&i!==t)throw new RangeError(a.t(t===1?"IdentificationKey.invalidGTINAtRetail":"IdentificationKey.invalidGTINAtOtherThanRetail"))}static validateGTIN14(e){if(e.length!==14)throw new RangeError(a.t("IdentificationKey.invalidGTIN14Length"));T.validateAny(e)}},h=class extends S{constructor(e,t,r=0){super(e,0,t,r)}},m=class n extends h{_serialComponentLength;_serialComponentCharacterSet;_serialComponentValidation;_serialComponentCreator;constructor(e,t,r,i){super(e,t,0),this._serialComponentLength=r,this._serialComponentCharacterSet=i,this._serialComponentValidation={minimumLength:1,maximumLength:r,component:()=>a.t("IdentificationKey.serialComponent")},this._serialComponentCreator=n.creatorFor(i)}get serialComponentLength(){return this._serialComponentLength}get serialComponentCharacterSet(){return this._serialComponentCharacterSet}get serialComponentValidation(){return this._serialComponentValidation}get serialComponentCreator(){return this._serialComponentCreator}validate(e,t){super.validate(e.substring(0,this.length),t),e.length>this.length&&this.serialComponentCreator.validate(e.substring(this.length),this._serialComponentValidation)}},I=class n extends _{static NOT_ALL_NUMERIC_VALIDATOR=new class extends ae{createErrorMessage(e){return a.t("IdentificationKey.referenceCantBeAllNumeric")}}(/\D/);_requiresCheckCharacterPair;constructor(e,t,r,i=!1){super(e,0,t,r),this._requiresCheckCharacterPair=i}get requiresCheckCharacterPair(){return this._requiresCheckCharacterPair}validate(e,t){let r=this.requiresCheckCharacterPair?e.substring(0,e.length-2):e;if(super.validatePrefix(r,t?.positionOffset),!this.requiresCheckCharacterPair)this.referenceCreator.validate(e,{maximumLength:this.length,positionOffset:t?.positionOffset});else if(!q(this.padIdentificationKey(e,t)))throw new RangeError(a.t("IdentificationKey.invalidCheckCharacterPair"));t?.exclusion===D.AllNumeric&&n.NOT_ALL_NUMERIC_VALIDATOR.validate(r)}},le=new g(13),w=new g(12),ue=new g(8),Ye=[le,w,ue],he=new h("GLN",13),Ie=new h("SSCC",18,2),Te=new m("GRAI",13,16,1),ge=new I("GIAI",30,1),me=new h("GSRN",18),ye=new m("GDTI",13,17,1),Ce=new I("GINC",30,1),xe=new h("GSIN",17),Ne=new m("GCN",13,12,0),Pe=new I("CPID",30,2),Ge=new I("GMN",25,1,!0),A=class{_prefixManager;_referenceLength;init(e,t,r){this._prefixManager=e,this._referenceLength=this.length-t.length-r}get prefixManager(){return this._prefixManager}get prefix(){return this.prefixManager.gs1CompanyPrefix}get referenceLength(){return this._referenceLength}},C=class n extends A{_capacity;_tweak=0n;init(e,t){super.init(e,t,1),this._capacity=Number(ne.powerOf10(this.referenceLength))}get capacity(){return this._capacity}get tweak(){return this._tweak}set tweak(e){this._tweak=e}buildIdentificationKey(e){let t=this.leaderType===2?e.substring(0,1)+this.prefix+e.substring(1):this.prefix+e;return t+G(t)}create(e,t=!1){return d.create(this.referenceLength,e,D.None,t?this.tweak:void 0,r=>this.buildIdentificationKey(r))}static*createAllPartial(e,t,r,i,o){if(t===0)yield e+d.character(9-(o+9)%10);else{let s=t-1,p=o;if(r!==0)for(let c of d.characterSet)yield*n.createAllPartial(c+e,s,0,i,p),p+=r;else{let c=4-i;for(let l of d.characterSet)yield*n.createAllPartial(e+l,s,0,c,p),p+=i}}}createAll(){let e=this.leaderType===2,t=this.prefix,r=this.length,i=this.referenceLength,o=3-2*((i+1-Number(e))%2);return{[Symbol.iterator](){return n.createAllPartial(t,i,e?3-2*r%2:0,o,P(o===3,t))}}}},T=class n extends R(g,C){static REQUIRED_INDICATOR_DIGIT_VALIDATION={minimumLength:1,maximumLength:1,component:()=>a.t("IdentificationKey.indicatorDigit")};constructor(e,t){super(t),this.init(e,e.prefix)}get prefix(){return this.prefixManager.prefix}createGTIN14(e,t,r=!1){return d.validate(e,n.REQUIRED_INDICATOR_DIGIT_VALIDATION),d.create(13-this.prefixManager.gs1CompanyPrefix.length-1,t,D.None,r?this.tweak:void 0,i=>{let o=e+this.prefixManager.gs1CompanyPrefix+i;return o+G(o)})}},O=class extends R(h,C){constructor(e,t,r,i=0){super(t,r,i),this.init(e,e.gs1CompanyPrefix)}},V=class extends R(m,C){constructor(e,t,r,i,o){super(t,r,i,o),this.init(e,e.gs1CompanyPrefix)}concatenateValidated(e,t){let r,i=this.serialComponentCreator,o=this.serialComponentValidation;function s(p){return i.validate(p,o),e+p}return typeof t!="object"?r=s(t):r=B(t,s),r}createSerialized(e,t,r){return this.concatenateValidated(this.create(e,r),t)}concatenate(e,t){return this.validate(e),this.concatenateValidated(e,t)}},k=class extends R(I,A){_referenceValidation;constructor(e,t,r,i,o=!1){super(t,r,i,o),this.init(e,e.gs1CompanyPrefix,2*Number(o)),this._referenceValidation={minimumLength:1,maximumLength:this.referenceLength,component:()=>a.t("IdentificationKey.reference")}}get referenceValidation(){return this._referenceValidation}create(e){let t,r=this.referenceCreator,i=this.referenceValidation,o=this.prefix,s=this.requiresCheckCharacterPair;function p(c){r.validate(c,i);let l=o+c;return s?l+M(l):l}return typeof e!="object"?t=p(e):t=B(e,p),t}},u=class n{static PREFIX_MANAGERS_MAP=new Map;static GS1_COMPANY_PREFIX_MINIMUM_LENGTH=4;static GS1_COMPANY_PREFIX_MAXIMUM_LENGTH=12;static UPC_COMPANY_PREFIX_MINIMUM_LENGTH=6;static UPC_COMPANY_PREFIX_MAXIMUM_LENGTH=11;static GS1_8_PREFIX_MINIMUM_LENGTH=2;static GS1_8_PREFIX_MAXIMUM_LENGTH=7;static GS1_COMPANY_PREFIX_VALIDATION={minimumLength:n.GS1_COMPANY_PREFIX_MINIMUM_LENGTH,maximumLength:n.GS1_COMPANY_PREFIX_MAXIMUM_LENGTH,component:()=>a.t("Prefix.gs1CompanyPrefix")};static UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION={minimumLength:n.UPC_COMPANY_PREFIX_MINIMUM_LENGTH+1,maximumLength:n.UPC_COMPANY_PREFIX_MAXIMUM_LENGTH+1,component:()=>a.t("Prefix.gs1CompanyPrefix")};static GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION={minimumLength:n.GS1_8_PREFIX_MINIMUM_LENGTH+5,maximumLength:n.GS1_8_PREFIX_MAXIMUM_LENGTH+5,component:()=>a.t("Prefix.gs1CompanyPrefix")};static UPC_COMPANY_PREFIX_VALIDATION={minimumLength:n.UPC_COMPANY_PREFIX_MINIMUM_LENGTH,maximumLength:n.UPC_COMPANY_PREFIX_MAXIMUM_LENGTH,component:()=>a.t("Prefix.upcCompanyPrefix")};static GS1_8_PREFIX_VALIDATION={minimumLength:n.GS1_8_PREFIX_MINIMUM_LENGTH,maximumLength:n.GS1_8_PREFIX_MAXIMUM_LENGTH,component:()=>a.t("Prefix.gs18Prefix")};static CREATOR_TWEAK_FACTORS_MAP=new Map([["GTIN",1987n],["GLN",4241n],["SSCC",8087n],["GRAI",3221n],["GSRN",2341n],["GDTI",7333n],["GSIN",5623n],["GCN",6869n]]);_prefixType;_prefix;_gs1CompanyPrefix;_upcCompanyPrefix;_gs18Prefix;_defaultTweakFactor;_tweakFactor=0n;_identificationKeyCreatorsMap=new Map;constructor(e){this._gs1CompanyPrefix=e,e.startsWith("0")?e.startsWith("00000")?(this._prefixType=2,this._gs18Prefix=e.substring(5),this._prefix=this._gs18Prefix):(this._prefixType=1,this._upcCompanyPrefix=e.substring(1),this._prefix=this._upcCompanyPrefix):(this._prefixType=0,this._prefix=this._gs1CompanyPrefix),this._defaultTweakFactor=BigInt(`1${this.gs1CompanyPrefix}`),this.resetTweakFactor()}get prefixType(){return this._prefixType}get prefix(){return this._prefix}get gs1CompanyPrefix(){return this._gs1CompanyPrefix}get upcCompanyPrefix(){return this._upcCompanyPrefix}get gs18Prefix(){return this._gs18Prefix}setCreatorTweak(e){let t=n.CREATOR_TWEAK_FACTORS_MAP.get(e.identificationKeyType);t!==void 0&&(e.tweak=this.tweakFactor*t)}get tweakFactor(){return this._tweakFactor}set tweakFactor(e){let t=BigInt(e);if(this._tweakFactor!==t){this._tweakFactor=t;for(let r of this._identificationKeyCreatorsMap.values())this.setCreatorTweak(r)}}resetTweakFactor(){this.tweakFactor=this._defaultTweakFactor}static get(e,t){n.validatePrefix(e,!0,!0,t);let r;switch(e){case 0:r=t;break;case 1:r="0"+t;break;case 2:r="00000"+t;break;default:throw new RangeError(a.t("Prefix.invalidPrefixType"))}let i=n.PREFIX_MANAGERS_MAP.get(r);return i===void 0&&(i=new n(r),n.PREFIX_MANAGERS_MAP.set(r,i)),i}static validatePrefix(e,t,r,i,o=!1,s=!1,p){let c;switch(e){case 0:if(!i.startsWith("0"))c=n.GS1_COMPANY_PREFIX_VALIDATION;else if(i.startsWith("00000")){if(i.startsWith("000000"))throw new RangeError(a.t("Prefix.gs1CompanyPrefixCantStartWith000000"));if(!r)throw new RangeError(a.t("Prefix.gs1CompanyPrefixCantStartWith00000"));c=n.GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION}else{if(!t)throw new RangeError(a.t("Prefix.gs1CompanyPrefixCantStartWith0"));c=n.UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION}break;case 1:if(i.startsWith("0000"))throw new RangeError(a.t("Prefix.upcCompanyPrefixCantStartWith0000"));c=n.UPC_COMPANY_PREFIX_VALIDATION;break;case 2:if(i.startsWith("0"))throw new RangeError(a.t("Prefix.gs18PrefixCantStartWith0"));c=n.GS1_8_PREFIX_VALIDATION;break}let l={...c,positionOffset:p};o?s||d.validate(i.substring(0,Math.min(l.minimumLength,i.length-1)),l):d.validate(i,l)}getIdentificationKeyCreator(e,t){let r=this._identificationKeyCreatorsMap.get(e);if(r===void 0){if(this.prefixType===2&&e!=="GTIN")throw new RangeError(a.t("Prefix.identificationKeyTypeNotSupportedByGS18Prefix",{identificationKeyType:e}));r=t(),this.setCreatorTweak(r),this._identificationKeyCreatorsMap.set(e,r)}return r}getNonGTINNumericIdentificationKeyCreator(e){return this.getIdentificationKeyCreator(e.identificationKeyType,()=>new O(this,e.identificationKeyType,e.length,e.leaderType))}getSerializableNumericIdentificationKeyCreator(e){return this.getIdentificationKeyCreator(e.identificationKeyType,()=>new V(this,e.identificationKeyType,e.length,e.serialComponentLength,e.serialComponentCharacterSet))}getNonNumericIdentificationKeyCreator(e){return this.getIdentificationKeyCreator(e.identificationKeyType,()=>new k(this,e.identificationKeyType,e.length,e.referenceCharacterSet,e.requiresCheckCharacterPair))}get gtinCreator(){return this.getIdentificationKeyCreator("GTIN",()=>{let e;switch(this.prefixType){case 0:e=13;break;case 1:e=12;break;case 2:e=8;break}return new T(this,e)})}get glnCreator(){return this.getNonGTINNumericIdentificationKeyCreator(he)}get ssccCreator(){return this.getNonGTINNumericIdentificationKeyCreator(Ie)}get graiCreator(){return this.getSerializableNumericIdentificationKeyCreator(Te)}get giaiCreator(){return this.getNonNumericIdentificationKeyCreator(ge)}get gsrnCreator(){return this.getNonGTINNumericIdentificationKeyCreator(me)}get gdtiCreator(){return this.getSerializableNumericIdentificationKeyCreator(ye)}get gincCreator(){return this.getNonNumericIdentificationKeyCreator(Ce)}get gsinCreator(){return this.getNonGTINNumericIdentificationKeyCreator(xe)}get gcnCreator(){return this.getSerializableNumericIdentificationKeyCreator(Ne)}get cpidCreator(){return this.getNonNumericIdentificationKeyCreator(Pe)}get gmnCreator(){return this.getNonNumericIdentificationKeyCreator(Ge)}};export{W as AI39_CREATOR,x as AI82_CREATOR,Pe as CPID_VALIDATOR,ce as ContentCharacterSet,Ne as GCN_VALIDATOR,ye as GDTI_VALIDATOR,ge as GIAI_VALIDATOR,Ce as GINC_VALIDATOR,he as GLN_VALIDATOR,Ge as GMN_VALIDATOR,Te as GRAI_VALIDATOR,xe as GSIN_VALIDATOR,me as GSRN_VALIDATOR,w as GTIN12_VALIDATOR,le as GTIN13_VALIDATOR,ue as GTIN8_VALIDATOR,T as GTINCreator,de as GTINLevel,fe as GTINType,g as GTINValidator,Ye as GTIN_VALIDATORS,oe as IdentificationKeyType,pe as LeaderType,O as NonGTINNumericIdentificationKeyCreator,h as NonGTINNumericIdentificationKeyValidator,k as NonNumericIdentificationKeyCreator,I as NonNumericIdentificationKeyValidator,u as PrefixManager,se as PrefixType,Ie as SSCC_VALIDATOR,V as SerializableNumericIdentificationKeyCreator,m as SerializableNumericIdentificationKeyValidator,M as checkCharacterPair,G as checkDigit,P as checkDigitSum,Fe as fiveDigitPriceWeightCheckDigit,De as fourDigitPriceWeightCheckDigit,te as gs1NS,re as gs1Resources,q as hasValidCheckCharacterPair,K as hasValidCheckDigit,be as i18nGS1Init,a as i18nextGS1};
|
|
2
1
|
/*!
|
|
3
2
|
* Copyright © 2024-2025 Dolphin Data Development Ltd. and AIDC Toolkit
|
|
4
3
|
* contributors
|
|
@@ -15,3 +14,8 @@ import{i18nAssertValidResources as Z,i18nCoreInit as Q}from"@aidc-toolkit/core";
|
|
|
15
14
|
* See the License for the specific language governing permissions and
|
|
16
15
|
* limitations under the License.
|
|
17
16
|
*/
|
|
17
|
+
export * from "./locale/i18n.js";
|
|
18
|
+
export * from "./character-set.js";
|
|
19
|
+
export * from "./check.js";
|
|
20
|
+
export * from "./idkey.js";
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const localeStrings: {
|
|
2
|
+
readonly Check: {
|
|
3
|
+
readonly lengthOfStringForPriceOrWeightMustBeExactly: "Length {{length}} of string for price or weight sum must be exactly {{exactLength}}";
|
|
4
|
+
readonly priceOrWeightComponent: "price or weight";
|
|
5
|
+
readonly lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo: "Length {{length}} of string for check character pair must be less than or equal to {{maximumLength}}";
|
|
6
|
+
};
|
|
7
|
+
readonly IdentificationKey: {
|
|
8
|
+
readonly identificationKeyTypeLength: "{{identificationKeyType}} must be {{length}} digits long";
|
|
9
|
+
readonly invalidCheckDigit: "Invalid check digit";
|
|
10
|
+
readonly invalidGTINLength: "GTIN must be 13, 12, 8, or 14 digits long";
|
|
11
|
+
readonly invalidGTIN14Length: "GTIN must be 14 digits long";
|
|
12
|
+
readonly invalidZeroSuppressedGTIN12: "Invalid zero-suppressed GTIN-12";
|
|
13
|
+
readonly invalidZeroSuppressibleGTIN12: "GTIN-12 not zero-suppressible";
|
|
14
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN13: "Invalid zero-suppressed GTIN-12 as GTIN-13";
|
|
15
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN14: "Invalid zero-suppressed GTIN-12 as GTIN-14";
|
|
16
|
+
readonly invalidGTIN13AtRetail: "GTIN-13 at retail consumer trade item level can't start with zero";
|
|
17
|
+
readonly invalidGTINAtRetail: "GTIN not supported at retail consumer trade item level";
|
|
18
|
+
readonly invalidGTINAtOtherThanRetail: "GTIN not supported at other than retail consumer trade item level";
|
|
19
|
+
readonly indicatorDigit: "indicator digit";
|
|
20
|
+
readonly serialComponent: "serial component";
|
|
21
|
+
readonly reference: "reference";
|
|
22
|
+
readonly referenceCantBeAllNumeric: "Reference can't be all-numeric";
|
|
23
|
+
readonly invalidCheckCharacterPair: "Invalid check character pair";
|
|
24
|
+
};
|
|
25
|
+
readonly Prefix: {
|
|
26
|
+
readonly gs1CompanyPrefix: "GS1 Company Prefix";
|
|
27
|
+
readonly upcCompanyPrefix: "U.P.C. Company Prefix";
|
|
28
|
+
readonly gs18Prefix: "GS1-8 Prefix";
|
|
29
|
+
readonly invalidPrefixType: "Invalid prefix type";
|
|
30
|
+
readonly gs1CompanyPrefixCantStartWith0: "GS1 Company Prefix can't start with \"0\"";
|
|
31
|
+
readonly gs1CompanyPrefixCantStartWith00000: "GS1 Company Prefix can't start with \"00000\"";
|
|
32
|
+
readonly gs1CompanyPrefixCantStartWith000000: "GS1 Company Prefix can't start with \"000000\"";
|
|
33
|
+
readonly upcCompanyPrefixCantStartWith0000: "U.P.C. Company Prefix can't start with \"0000\"";
|
|
34
|
+
readonly gs18PrefixCantStartWith0: "GS1-8 Prefix can't start with \"0\"";
|
|
35
|
+
readonly identificationKeyTypeNotSupportedByGS18Prefix: "{{identificationKeyType}} not supported by GS1-8 Prefix";
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=locale-strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-strings.d.ts","sourceRoot":"","sources":["../../../src/locale/en/locale-strings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoChB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const localeStrings = {
|
|
2
|
+
Check: {
|
|
3
|
+
lengthOfStringForPriceOrWeightMustBeExactly: "Length {{length}} of string for price or weight sum must be exactly {{exactLength}}",
|
|
4
|
+
priceOrWeightComponent: "price or weight",
|
|
5
|
+
lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo: "Length {{length}} of string for check character pair must be less than or equal to {{maximumLength}}"
|
|
6
|
+
},
|
|
7
|
+
IdentificationKey: {
|
|
8
|
+
identificationKeyTypeLength: "{{identificationKeyType}} must be {{length}} digits long",
|
|
9
|
+
invalidCheckDigit: "Invalid check digit",
|
|
10
|
+
invalidGTINLength: "GTIN must be 13, 12, 8, or 14 digits long",
|
|
11
|
+
invalidGTIN14Length: "GTIN must be 14 digits long",
|
|
12
|
+
invalidZeroSuppressedGTIN12: "Invalid zero-suppressed GTIN-12",
|
|
13
|
+
invalidZeroSuppressibleGTIN12: "GTIN-12 not zero-suppressible",
|
|
14
|
+
invalidZeroSuppressedGTIN12AsGTIN13: "Invalid zero-suppressed GTIN-12 as GTIN-13",
|
|
15
|
+
invalidZeroSuppressedGTIN12AsGTIN14: "Invalid zero-suppressed GTIN-12 as GTIN-14",
|
|
16
|
+
invalidGTIN13AtRetail: "GTIN-13 at retail consumer trade item level can't start with zero",
|
|
17
|
+
invalidGTINAtRetail: "GTIN not supported at retail consumer trade item level",
|
|
18
|
+
invalidGTINAtOtherThanRetail: "GTIN not supported at other than retail consumer trade item level",
|
|
19
|
+
indicatorDigit: "indicator digit",
|
|
20
|
+
serialComponent: "serial component",
|
|
21
|
+
reference: "reference",
|
|
22
|
+
referenceCantBeAllNumeric: "Reference can't be all-numeric",
|
|
23
|
+
invalidCheckCharacterPair: "Invalid check character pair"
|
|
24
|
+
},
|
|
25
|
+
Prefix: {
|
|
26
|
+
gs1CompanyPrefix: "GS1 Company Prefix",
|
|
27
|
+
upcCompanyPrefix: "U.P.C. Company Prefix",
|
|
28
|
+
gs18Prefix: "GS1-8 Prefix",
|
|
29
|
+
invalidPrefixType: "Invalid prefix type",
|
|
30
|
+
gs1CompanyPrefixCantStartWith0: "GS1 Company Prefix can't start with \"0\"",
|
|
31
|
+
gs1CompanyPrefixCantStartWith00000: "GS1 Company Prefix can't start with \"00000\"",
|
|
32
|
+
gs1CompanyPrefixCantStartWith000000: "GS1 Company Prefix can't start with \"000000\"",
|
|
33
|
+
upcCompanyPrefixCantStartWith0000: "U.P.C. Company Prefix can't start with \"0000\"",
|
|
34
|
+
gs18PrefixCantStartWith0: "GS1-8 Prefix can't start with \"0\"",
|
|
35
|
+
identificationKeyTypeNotSupportedByGS18Prefix: "{{identificationKeyType}} not supported by GS1-8 Prefix"
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=locale-strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-strings.js","sourceRoot":"","sources":["../../../src/locale/en/locale-strings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE;QACH,2CAA2C,EAAE,qFAAqF;QAClI,sBAAsB,EAAE,iBAAiB;QACzC,0DAA0D,EAAE,sGAAsG;KACrK;IACD,iBAAiB,EAAE;QACf,2BAA2B,EAAE,0DAA0D;QACvF,iBAAiB,EAAE,qBAAqB;QACxC,iBAAiB,EAAE,2CAA2C;QAC9D,mBAAmB,EAAE,6BAA6B;QAClD,2BAA2B,EAAE,iCAAiC;QAC9D,6BAA6B,EAAE,+BAA+B;QAC9D,mCAAmC,EAAE,4CAA4C;QACjF,mCAAmC,EAAE,4CAA4C;QACjF,qBAAqB,EAAE,mEAAmE;QAC1F,mBAAmB,EAAE,wDAAwD;QAC7E,4BAA4B,EAAE,mEAAmE;QACjG,cAAc,EAAE,iBAAiB;QACjC,eAAe,EAAE,kBAAkB;QACnC,SAAS,EAAE,WAAW;QACtB,yBAAyB,EAAE,gCAAgC;QAC3D,yBAAyB,EAAE,8BAA8B;KAC5D;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,oBAAoB;QACtC,gBAAgB,EAAE,uBAAuB;QACzC,UAAU,EAAE,cAAc;QAC1B,iBAAiB,EAAE,qBAAqB;QACxC,8BAA8B,EAAE,2CAA2C;QAC3E,kCAAkC,EAAE,+CAA+C;QACnF,mCAAmC,EAAE,gDAAgD;QACrF,iCAAiC,EAAE,iDAAiD;QACpF,wBAAwB,EAAE,qCAAqC;QAC/D,6CAA6C,EAAE,yDAAyD;KAC3G;CACK,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const localeStrings: {
|
|
2
|
+
readonly Check: {
|
|
3
|
+
readonly lengthOfStringForPriceOrWeightMustBeExactly: "La longueur {{longueur}} de la chaîne pour le prix ou la somme du poids doit être exactement {{exactLength}}";
|
|
4
|
+
readonly priceOrWeightComponent: "prix ou poids";
|
|
5
|
+
readonly lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo: "La longueur {{length}} de la chaîne pour la paire de caractères de vérification doit être inférieure ou égale à {{maximum Length}}";
|
|
6
|
+
};
|
|
7
|
+
readonly IdentificationKey: {
|
|
8
|
+
readonly identificationKeyTypeLength: "{{identificationKeyType}} doit comporter {{length}} chiffres";
|
|
9
|
+
readonly invalidCheckDigit: "Chiffre de contrôle non valide";
|
|
10
|
+
readonly invalidGTINLength: "Le GTIN doit comporter 13, 12, 8 ou 14 chiffres";
|
|
11
|
+
readonly invalidGTIN14Length: "Le GTIN doit comporter 14 chiffres";
|
|
12
|
+
readonly invalidZeroSuppressedGTIN12: "Code GTIN-12 non valide avec zéro supprimé";
|
|
13
|
+
readonly invalidZeroSuppressibleGTIN12: "Le GTIN-12 ne peut pas être supprimé par zéro";
|
|
14
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN13: "GTIN-12 non valide avec zéro supprimé en tant que GTIN-13";
|
|
15
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN14: "GTIN-12 non valide avec zéro supprimé en tant que GTIN-14";
|
|
16
|
+
readonly invalidGTIN13AtRetail: "Le GTIN-13 au niveau des articles de consommation au détail ne peut pas commencer par zéro";
|
|
17
|
+
readonly invalidGTINAtRetail: "Le GTIN n'est pas pris en charge au niveau des articles de consommation au détail";
|
|
18
|
+
readonly invalidGTINAtOtherThanRetail: "Le GTIN n'est pas pris en charge à d'autres niveaux que ceux des articles de consommation au détail";
|
|
19
|
+
readonly indicatorDigit: "chiffre indicateur";
|
|
20
|
+
readonly serialComponent: "composant série";
|
|
21
|
+
readonly reference: "référence";
|
|
22
|
+
readonly referenceCantBeAllNumeric: "La référence ne peut pas être entièrement numérique";
|
|
23
|
+
readonly invalidCheckCharacterPair: "Paire de caractères de contrôle non valide";
|
|
24
|
+
};
|
|
25
|
+
readonly Prefix: {
|
|
26
|
+
readonly gs1CompanyPrefix: "Préfixe de l'entreprise GS1";
|
|
27
|
+
readonly upcCompanyPrefix: "Préfixe de l'entreprise U.P.C.";
|
|
28
|
+
readonly gs18Prefix: "Préfixe GS1-8";
|
|
29
|
+
readonly invalidPrefixType: "Type de préfixe invalide";
|
|
30
|
+
readonly gs1CompanyPrefixCantStartWith0: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"0\"";
|
|
31
|
+
readonly gs1CompanyPrefixCantStartWith00000: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"00000\"";
|
|
32
|
+
readonly gs1CompanyPrefixCantStartWith000000: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"000000\"";
|
|
33
|
+
readonly upcCompanyPrefixCantStartWith0000: "Le préfixe de l'entreprise U.P.C. ne peut pas commencer par \"0000\"";
|
|
34
|
+
readonly gs18PrefixCantStartWith0: "Le préfixe GS1-8 ne peut pas commencer par \"0\"";
|
|
35
|
+
readonly identificationKeyTypeNotSupportedByGS18Prefix: "{{identificationKeyType}} non pris en charge par le préfixe GS1-8";
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=locale-strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-strings.d.ts","sourceRoot":"","sources":["../../../src/locale/fr/locale-strings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoChB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const localeStrings = {
|
|
2
|
+
Check: {
|
|
3
|
+
lengthOfStringForPriceOrWeightMustBeExactly: "La longueur {{longueur}} de la chaîne pour le prix ou la somme du poids doit être exactement {{exactLength}}",
|
|
4
|
+
priceOrWeightComponent: "prix ou poids",
|
|
5
|
+
lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo: "La longueur {{length}} de la chaîne pour la paire de caractères de vérification doit être inférieure ou égale à {{maximum Length}}"
|
|
6
|
+
},
|
|
7
|
+
IdentificationKey: {
|
|
8
|
+
identificationKeyTypeLength: "{{identificationKeyType}} doit comporter {{length}} chiffres",
|
|
9
|
+
invalidCheckDigit: "Chiffre de contrôle non valide",
|
|
10
|
+
invalidGTINLength: "Le GTIN doit comporter 13, 12, 8 ou 14 chiffres",
|
|
11
|
+
invalidGTIN14Length: "Le GTIN doit comporter 14 chiffres",
|
|
12
|
+
invalidZeroSuppressedGTIN12: "Code GTIN-12 non valide avec zéro supprimé",
|
|
13
|
+
invalidZeroSuppressibleGTIN12: "Le GTIN-12 ne peut pas être supprimé par zéro",
|
|
14
|
+
invalidZeroSuppressedGTIN12AsGTIN13: "GTIN-12 non valide avec zéro supprimé en tant que GTIN-13",
|
|
15
|
+
invalidZeroSuppressedGTIN12AsGTIN14: "GTIN-12 non valide avec zéro supprimé en tant que GTIN-14",
|
|
16
|
+
invalidGTIN13AtRetail: "Le GTIN-13 au niveau des articles de consommation au détail ne peut pas commencer par zéro",
|
|
17
|
+
invalidGTINAtRetail: "Le GTIN n'est pas pris en charge au niveau des articles de consommation au détail",
|
|
18
|
+
invalidGTINAtOtherThanRetail: "Le GTIN n'est pas pris en charge à d'autres niveaux que ceux des articles de consommation au détail",
|
|
19
|
+
indicatorDigit: "chiffre indicateur",
|
|
20
|
+
serialComponent: "composant série",
|
|
21
|
+
reference: "référence",
|
|
22
|
+
referenceCantBeAllNumeric: "La référence ne peut pas être entièrement numérique",
|
|
23
|
+
invalidCheckCharacterPair: "Paire de caractères de contrôle non valide"
|
|
24
|
+
},
|
|
25
|
+
Prefix: {
|
|
26
|
+
gs1CompanyPrefix: "Préfixe de l'entreprise GS1",
|
|
27
|
+
upcCompanyPrefix: "Préfixe de l'entreprise U.P.C.",
|
|
28
|
+
gs18Prefix: "Préfixe GS1-8",
|
|
29
|
+
invalidPrefixType: "Type de préfixe invalide",
|
|
30
|
+
gs1CompanyPrefixCantStartWith0: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"0\"",
|
|
31
|
+
gs1CompanyPrefixCantStartWith00000: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"00000\"",
|
|
32
|
+
gs1CompanyPrefixCantStartWith000000: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"000000\"",
|
|
33
|
+
upcCompanyPrefixCantStartWith0000: "Le préfixe de l'entreprise U.P.C. ne peut pas commencer par \"0000\"",
|
|
34
|
+
gs18PrefixCantStartWith0: "Le préfixe GS1-8 ne peut pas commencer par \"0\"",
|
|
35
|
+
identificationKeyTypeNotSupportedByGS18Prefix: "{{identificationKeyType}} non pris en charge par le préfixe GS1-8"
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=locale-strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-strings.js","sourceRoot":"","sources":["../../../src/locale/fr/locale-strings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE;QACH,2CAA2C,EAAE,8GAA8G;QAC3J,sBAAsB,EAAE,eAAe;QACvC,0DAA0D,EAAE,oIAAoI;KACnM;IACD,iBAAiB,EAAE;QACf,2BAA2B,EAAE,8DAA8D;QAC3F,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,qBAAqB,EAAE,4FAA4F;QACnH,mBAAmB,EAAE,mFAAmF;QACxG,4BAA4B,EAAE,qGAAqG;QACnI,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,iBAAiB,EAAE,0BAA0B;QAC7C,8BAA8B,EAAE,gEAAgE;QAChG,kCAAkC,EAAE,oEAAoE;QACxG,mCAAmC,EAAE,qEAAqE;QAC1G,iCAAiC,EAAE,sEAAsE;QACzG,wBAAwB,EAAE,kDAAkD;QAC5E,6CAA6C,EAAE,mEAAmE;KACrH;CACK,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { type I18NEnvironment } from "@aidc-toolkit/core";
|
|
2
|
+
import { type i18n } from "i18next";
|
|
3
|
+
import { localeStrings as enLocaleStrings } from "./en/locale-strings.js";
|
|
4
|
+
export declare const gs1NS = "aidct_gs1";
|
|
5
|
+
/**
|
|
6
|
+
* Locale strings type is extracted from the English locale strings object.
|
|
7
|
+
*/
|
|
8
|
+
export type GS1LocaleStrings = typeof enLocaleStrings;
|
|
9
|
+
/**
|
|
10
|
+
* GS1 resources.
|
|
11
|
+
*/
|
|
12
|
+
export declare const gs1Resources: {
|
|
13
|
+
en: {
|
|
14
|
+
aidct_gs1: {
|
|
15
|
+
readonly Check: {
|
|
16
|
+
readonly lengthOfStringForPriceOrWeightMustBeExactly: "Length {{length}} of string for price or weight sum must be exactly {{exactLength}}";
|
|
17
|
+
readonly priceOrWeightComponent: "price or weight";
|
|
18
|
+
readonly lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo: "Length {{length}} of string for check character pair must be less than or equal to {{maximumLength}}";
|
|
19
|
+
};
|
|
20
|
+
readonly IdentificationKey: {
|
|
21
|
+
readonly identificationKeyTypeLength: "{{identificationKeyType}} must be {{length}} digits long";
|
|
22
|
+
readonly invalidCheckDigit: "Invalid check digit";
|
|
23
|
+
readonly invalidGTINLength: "GTIN must be 13, 12, 8, or 14 digits long";
|
|
24
|
+
readonly invalidGTIN14Length: "GTIN must be 14 digits long";
|
|
25
|
+
readonly invalidZeroSuppressedGTIN12: "Invalid zero-suppressed GTIN-12";
|
|
26
|
+
readonly invalidZeroSuppressibleGTIN12: "GTIN-12 not zero-suppressible";
|
|
27
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN13: "Invalid zero-suppressed GTIN-12 as GTIN-13";
|
|
28
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN14: "Invalid zero-suppressed GTIN-12 as GTIN-14";
|
|
29
|
+
readonly invalidGTIN13AtRetail: "GTIN-13 at retail consumer trade item level can't start with zero";
|
|
30
|
+
readonly invalidGTINAtRetail: "GTIN not supported at retail consumer trade item level";
|
|
31
|
+
readonly invalidGTINAtOtherThanRetail: "GTIN not supported at other than retail consumer trade item level";
|
|
32
|
+
readonly indicatorDigit: "indicator digit";
|
|
33
|
+
readonly serialComponent: "serial component";
|
|
34
|
+
readonly reference: "reference";
|
|
35
|
+
readonly referenceCantBeAllNumeric: "Reference can't be all-numeric";
|
|
36
|
+
readonly invalidCheckCharacterPair: "Invalid check character pair";
|
|
37
|
+
};
|
|
38
|
+
readonly Prefix: {
|
|
39
|
+
readonly gs1CompanyPrefix: "GS1 Company Prefix";
|
|
40
|
+
readonly upcCompanyPrefix: "U.P.C. Company Prefix";
|
|
41
|
+
readonly gs18Prefix: "GS1-8 Prefix";
|
|
42
|
+
readonly invalidPrefixType: "Invalid prefix type";
|
|
43
|
+
readonly gs1CompanyPrefixCantStartWith0: "GS1 Company Prefix can't start with \"0\"";
|
|
44
|
+
readonly gs1CompanyPrefixCantStartWith00000: "GS1 Company Prefix can't start with \"00000\"";
|
|
45
|
+
readonly gs1CompanyPrefixCantStartWith000000: "GS1 Company Prefix can't start with \"000000\"";
|
|
46
|
+
readonly upcCompanyPrefixCantStartWith0000: "U.P.C. Company Prefix can't start with \"0000\"";
|
|
47
|
+
readonly gs18PrefixCantStartWith0: "GS1-8 Prefix can't start with \"0\"";
|
|
48
|
+
readonly identificationKeyTypeNotSupportedByGS18Prefix: "{{identificationKeyType}} not supported by GS1-8 Prefix";
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
fr: {
|
|
53
|
+
aidct_gs1: {
|
|
54
|
+
readonly Check: {
|
|
55
|
+
readonly lengthOfStringForPriceOrWeightMustBeExactly: "La longueur {{longueur}} de la chaîne pour le prix ou la somme du poids doit être exactement {{exactLength}}";
|
|
56
|
+
readonly priceOrWeightComponent: "prix ou poids";
|
|
57
|
+
readonly lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo: "La longueur {{length}} de la chaîne pour la paire de caractères de vérification doit être inférieure ou égale à {{maximum Length}}";
|
|
58
|
+
};
|
|
59
|
+
readonly IdentificationKey: {
|
|
60
|
+
readonly identificationKeyTypeLength: "{{identificationKeyType}} doit comporter {{length}} chiffres";
|
|
61
|
+
readonly invalidCheckDigit: "Chiffre de contrôle non valide";
|
|
62
|
+
readonly invalidGTINLength: "Le GTIN doit comporter 13, 12, 8 ou 14 chiffres";
|
|
63
|
+
readonly invalidGTIN14Length: "Le GTIN doit comporter 14 chiffres";
|
|
64
|
+
readonly invalidZeroSuppressedGTIN12: "Code GTIN-12 non valide avec zéro supprimé";
|
|
65
|
+
readonly invalidZeroSuppressibleGTIN12: "Le GTIN-12 ne peut pas être supprimé par zéro";
|
|
66
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN13: "GTIN-12 non valide avec zéro supprimé en tant que GTIN-13";
|
|
67
|
+
readonly invalidZeroSuppressedGTIN12AsGTIN14: "GTIN-12 non valide avec zéro supprimé en tant que GTIN-14";
|
|
68
|
+
readonly invalidGTIN13AtRetail: "Le GTIN-13 au niveau des articles de consommation au détail ne peut pas commencer par zéro";
|
|
69
|
+
readonly invalidGTINAtRetail: "Le GTIN n'est pas pris en charge au niveau des articles de consommation au détail";
|
|
70
|
+
readonly invalidGTINAtOtherThanRetail: "Le GTIN n'est pas pris en charge à d'autres niveaux que ceux des articles de consommation au détail";
|
|
71
|
+
readonly indicatorDigit: "chiffre indicateur";
|
|
72
|
+
readonly serialComponent: "composant série";
|
|
73
|
+
readonly reference: "référence";
|
|
74
|
+
readonly referenceCantBeAllNumeric: "La référence ne peut pas être entièrement numérique";
|
|
75
|
+
readonly invalidCheckCharacterPair: "Paire de caractères de contrôle non valide";
|
|
76
|
+
};
|
|
77
|
+
readonly Prefix: {
|
|
78
|
+
readonly gs1CompanyPrefix: "Préfixe de l'entreprise GS1";
|
|
79
|
+
readonly upcCompanyPrefix: "Préfixe de l'entreprise U.P.C.";
|
|
80
|
+
readonly gs18Prefix: "Préfixe GS1-8";
|
|
81
|
+
readonly invalidPrefixType: "Type de préfixe invalide";
|
|
82
|
+
readonly gs1CompanyPrefixCantStartWith0: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"0\"";
|
|
83
|
+
readonly gs1CompanyPrefixCantStartWith00000: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"00000\"";
|
|
84
|
+
readonly gs1CompanyPrefixCantStartWith000000: "Le préfixe de l'entreprise GS1 ne peut pas commencer par \"000000\"";
|
|
85
|
+
readonly upcCompanyPrefixCantStartWith0000: "Le préfixe de l'entreprise U.P.C. ne peut pas commencer par \"0000\"";
|
|
86
|
+
readonly gs18PrefixCantStartWith0: "Le préfixe GS1-8 ne peut pas commencer par \"0\"";
|
|
87
|
+
readonly identificationKeyTypeNotSupportedByGS18Prefix: "{{identificationKeyType}} non pris en charge par le préfixe GS1-8";
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export declare const i18nextGS1: i18n;
|
|
93
|
+
/**
|
|
94
|
+
* Initialize internationalization.
|
|
95
|
+
*
|
|
96
|
+
* @param environment
|
|
97
|
+
* Environment in which the application is running.
|
|
98
|
+
*
|
|
99
|
+
* @param debug
|
|
100
|
+
* Debug setting.
|
|
101
|
+
*
|
|
102
|
+
* @returns
|
|
103
|
+
* Void promise.
|
|
104
|
+
*/
|
|
105
|
+
export declare function i18nGS1Init(environment: I18NEnvironment, debug?: boolean): Promise<void>;
|
|
106
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/locale/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElG,OAAgB,EAAE,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG1E,eAAO,MAAM,KAAK,cAAc,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,eAAe,CAAC;AAItD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOxB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,IAA+B,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { i18nAssertValidResources, i18nCoreInit } from "@aidc-toolkit/core";
|
|
2
|
+
import { i18nUtilityInit, utilityResources } from "@aidc-toolkit/utility";
|
|
3
|
+
import i18next from "i18next";
|
|
4
|
+
import { localeStrings as enLocaleStrings } from "./en/locale-strings.js";
|
|
5
|
+
import { localeStrings as frLocaleStrings } from "./fr/locale-strings.js";
|
|
6
|
+
export const gs1NS = "aidct_gs1";
|
|
7
|
+
i18nAssertValidResources(enLocaleStrings, "fr", frLocaleStrings);
|
|
8
|
+
/**
|
|
9
|
+
* GS1 resources.
|
|
10
|
+
*/
|
|
11
|
+
export const gs1Resources = {
|
|
12
|
+
en: {
|
|
13
|
+
aidct_gs1: enLocaleStrings
|
|
14
|
+
},
|
|
15
|
+
fr: {
|
|
16
|
+
aidct_gs1: frLocaleStrings
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
// Explicit type is necessary to work around bug in type discovery with linked packages.
|
|
20
|
+
export const i18nextGS1 = i18next.createInstance();
|
|
21
|
+
/**
|
|
22
|
+
* Initialize internationalization.
|
|
23
|
+
*
|
|
24
|
+
* @param environment
|
|
25
|
+
* Environment in which the application is running.
|
|
26
|
+
*
|
|
27
|
+
* @param debug
|
|
28
|
+
* Debug setting.
|
|
29
|
+
*
|
|
30
|
+
* @returns
|
|
31
|
+
* Void promise.
|
|
32
|
+
*/
|
|
33
|
+
export async function i18nGS1Init(environment, debug = false) {
|
|
34
|
+
await i18nUtilityInit(environment, debug);
|
|
35
|
+
await i18nCoreInit(i18nextGS1, environment, debug, gs1NS, utilityResources, gs1Resources);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/locale/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,OAAsB,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;AAOjC,wBAAwB,CAAC,eAAe,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,EAAE,EAAE;QACA,SAAS,EAAE,eAAe;KAC7B;IACD,EAAE,EAAE;QACA,SAAS,EAAE,eAAe;KAC7B;CACJ,CAAC;AAEF,wFAAwF;AACxF,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,MAAM,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAC9F,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aidc-toolkit/gs1",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.16-beta",
|
|
4
4
|
"description": "GS1 AIDC Toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
-
"homepage": "https://
|
|
7
|
+
"homepage": "https://aidc-toolkit.com/",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "git+https://github.com/aidc-toolkit/gs1.git"
|
|
@@ -21,20 +21,20 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"update-aidc-toolkit": "npm update @aidc-toolkit/dev @aidc-toolkit/core @aidc-toolkit/utility",
|
|
23
23
|
"lint": "eslint",
|
|
24
|
-
"build:core": "
|
|
25
|
-
"build:dev": "npm run build:core
|
|
26
|
-
"build:release": "npm run build:core --
|
|
24
|
+
"build:core": "rimraf dist && tsc --project",
|
|
25
|
+
"build:dev": "npm run build:core -- node_modules/@aidc-toolkit/dev/tsconfig-build-dev.json",
|
|
26
|
+
"build:release": "npm run build:core -- node_modules/@aidc-toolkit/dev/tsconfig-build.json",
|
|
27
27
|
"build:doc": "npm run build:dev",
|
|
28
28
|
"publish-dev": "publish-dev",
|
|
29
29
|
"test": "vitest run"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@aidc-toolkit/dev": "^0.9.
|
|
33
|
-
"vitest": "^3.0.
|
|
32
|
+
"@aidc-toolkit/dev": "^0.9.16-beta",
|
|
33
|
+
"vitest": "^3.0.7"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@aidc-toolkit/core": "^0.9.
|
|
37
|
-
"@aidc-toolkit/utility": "^0.9.
|
|
36
|
+
"@aidc-toolkit/core": "^0.9.16-beta",
|
|
37
|
+
"@aidc-toolkit/utility": "^0.9.16-beta",
|
|
38
38
|
"i18next": "^24.2.2",
|
|
39
39
|
"ts-mixer": "^6.0.4"
|
|
40
40
|
}
|
package/dist/index.cjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";var me=Object.create;var S=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var xe=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var Pe=(i,e)=>{for(var t in e)S(i,t,{get:e[t],enumerable:!0})},X=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ce(e))!Ne.call(i,n)&&n!==t&&S(i,n,{get:()=>e[n],enumerable:!(r=ye(e,n))||r.enumerable});return i};var Ge=(i,e,t)=>(t=i!=null?me(xe(i)):{},X(e||!i||!i.__esModule?S(t,"default",{value:i,enumerable:!0}):t,i)),_e=i=>X(S({},"__esModule",{value:!0}),i);var Ee={};Pe(Ee,{AI39_CREATOR:()=>U,AI82_CREATOR:()=>x,CPID_VALIDATOR:()=>Te,ContentCharacterSet:()=>te,GCN_VALIDATOR:()=>Ie,GDTI_VALIDATOR:()=>le,GIAI_VALIDATOR:()=>fe,GINC_VALIDATOR:()=>ue,GLN_VALIDATOR:()=>se,GMN_VALIDATOR:()=>ge,GRAI_VALIDATOR:()=>pe,GSIN_VALIDATOR:()=>he,GSRN_VALIDATOR:()=>de,GTIN12_VALIDATOR:()=>M,GTIN13_VALIDATOR:()=>ae,GTIN8_VALIDATOR:()=>oe,GTINCreator:()=>g,GTINLevel:()=>ne,GTINType:()=>ie,GTINValidator:()=>m,GTIN_VALIDATORS:()=>Le,IdentificationKeyType:()=>J,LeaderType:()=>re,NonGTINNumericIdentificationKeyCreator:()=>O,NonGTINNumericIdentificationKeyValidator:()=>I,NonNumericIdentificationKeyCreator:()=>k,NonNumericIdentificationKeyValidator:()=>T,PrefixManager:()=>h,PrefixType:()=>ee,SSCC_VALIDATOR:()=>ce,SerializableNumericIdentificationKeyCreator:()=>V,SerializableNumericIdentificationKeyValidator:()=>y,checkCharacterPair:()=>E,checkDigit:()=>P,checkDigitSum:()=>N,fiveDigitPriceWeightCheckDigit:()=>ve,fourDigitPriceWeightCheckDigit:()=>Re,gs1NS:()=>z,gs1Resources:()=>Y,hasValidCheckCharacterPair:()=>$,hasValidCheckDigit:()=>L,i18nGS1Init:()=>Se,i18nextGS1:()=>a});module.exports=_e(Ee);var A=require("@aidc-toolkit/core"),R=require("@aidc-toolkit/utility"),H=Ge(require("i18next"),1);var D={Check:{lengthOfStringForPriceOrWeightMustBeExactly:"Length {{length}} of string for price or weight sum must be exactly {{exactLength}}",priceOrWeightComponent:"price or weight",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"Length {{length}} of string for check character pair must be less than or equal to {{maximumLength}}"},IdentificationKey:{identificationKeyTypeLength:"{{identificationKeyType}} must be {{length}} digits long",invalidCheckDigit:"Invalid check digit",invalidGTINLength:"GTIN must be 13, 12, 8, or 14 digits long",invalidGTIN14Length:"GTIN must be 14 digits long",invalidZeroSuppressedGTIN12:"Invalid zero-suppressed GTIN-12",invalidZeroSuppressibleGTIN12:"GTIN-12 not zero-suppressible",invalidZeroSuppressedGTIN12AsGTIN13:"Invalid zero-suppressed GTIN-12 as GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"Invalid zero-suppressed GTIN-12 as GTIN-14",invalidGTIN13AtRetail:"GTIN-13 at retail consumer trade item level can't start with zero",invalidGTINAtRetail:"GTIN not supported at retail consumer trade item level",invalidGTINAtOtherThanRetail:"GTIN not supported at other than retail consumer trade item level",indicatorDigit:"indicator digit",serialComponent:"serial component",reference:"reference",referenceCantBeAllNumeric:"Reference can't be all-numeric",invalidCheckCharacterPair:"Invalid check character pair"},Prefix:{gs1CompanyPrefix:"GS1 Company Prefix",upcCompanyPrefix:"U.P.C. Company Prefix",gs18Prefix:"GS1-8 Prefix",invalidPrefixType:"Invalid prefix type",gs1CompanyPrefixCantStartWith0:`GS1 Company Prefix can't start with "0"`,gs1CompanyPrefixCantStartWith00000:`GS1 Company Prefix can't start with "00000"`,gs1CompanyPrefixCantStartWith000000:`GS1 Company Prefix can't start with "000000"`,upcCompanyPrefixCantStartWith0000:`U.P.C. Company Prefix can't start with "0000"`,gs18PrefixCantStartWith0:`GS1-8 Prefix can't start with "0"`,identificationKeyTypeNotSupportedByGS18Prefix:"{{identificationKeyType}} not supported by GS1-8 Prefix"}};var F={Check:{lengthOfStringForPriceOrWeightMustBeExactly:"La longueur {{longueur}} de la cha\xEEne pour le prix ou la somme du poids doit \xEAtre exactement {{exactLength}}",priceOrWeightComponent:"prix ou poids",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"La longueur {{length}} de la cha\xEEne pour la paire de caract\xE8res de v\xE9rification doit \xEAtre inf\xE9rieure ou \xE9gale \xE0 {{maximum Length}}"},IdentificationKey:{identificationKeyTypeLength:"{{identificationKeyType}} doit comporter {{length}} chiffres",invalidCheckDigit:"Chiffre de contr\xF4le non valide",invalidGTINLength:"Le GTIN doit comporter 13, 12, 8 ou 14 chiffres",invalidGTIN14Length:"Le GTIN doit comporter 14 chiffres",invalidZeroSuppressedGTIN12:"Code GTIN-12 non valide avec z\xE9ro supprim\xE9",invalidZeroSuppressibleGTIN12:"Le GTIN-12 ne peut pas \xEAtre supprim\xE9 par z\xE9ro",invalidZeroSuppressedGTIN12AsGTIN13:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-14",invalidGTIN13AtRetail:"Le GTIN-13 au niveau des articles de consommation au d\xE9tail ne peut pas commencer par z\xE9ro",invalidGTINAtRetail:"Le GTIN n'est pas pris en charge au niveau des articles de consommation au d\xE9tail",invalidGTINAtOtherThanRetail:"Le GTIN n'est pas pris en charge \xE0 d'autres niveaux que ceux des articles de consommation au d\xE9tail",indicatorDigit:"chiffre indicateur",serialComponent:"composant s\xE9rie",reference:"r\xE9f\xE9rence",referenceCantBeAllNumeric:"La r\xE9f\xE9rence ne peut pas \xEAtre enti\xE8rement num\xE9rique",invalidCheckCharacterPair:"Paire de caract\xE8res de contr\xF4le non valide"},Prefix:{gs1CompanyPrefix:"Pr\xE9fixe de l'entreprise GS1",upcCompanyPrefix:"Pr\xE9fixe de l'entreprise U.P.C.",gs18Prefix:"Pr\xE9fixe GS1-8",invalidPrefixType:"Type de pr\xE9fixe invalide",gs1CompanyPrefixCantStartWith0:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "0"`,gs1CompanyPrefixCantStartWith00000:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "00000"`,gs1CompanyPrefixCantStartWith000000:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "000000"`,upcCompanyPrefixCantStartWith0000:`Le pr\xE9fixe de l'entreprise U.P.C. ne peut pas commencer par "0000"`,gs18PrefixCantStartWith0:'Le pr\xE9fixe GS1-8 ne peut pas commencer par "0"',identificationKeyTypeNotSupportedByGS18Prefix:"{{identificationKeyType}} non pris en charge par le pr\xE9fixe GS1-8"}};var z="aidct_gs1";(0,A.i18nAssertValidResources)(D,"fr",F);var Y={en:{aidct_gs1:D},fr:{aidct_gs1:F}},a=H.default.createInstance();async function Se(i,e=!1){await(0,R.i18nUtilityInit)(i,e),await(0,A.i18nCoreInit)(a,i,e,z,R.utilityResources,Y)}var C=require("@aidc-toolkit/utility"),x=new C.CharacterSetCreator(["!",'"',"%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],C.Exclusion.AllNumeric),U=new C.CharacterSetCreator(["#","-","/","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],C.Exclusion.AllNumeric);var l=require("@aidc-toolkit/utility");var Z=[0,3,6,9,12,15,18,21,24,27],v=[0,2,4,6,8,9,1,3,5,7],q=[0,5,1,6,2,7,3,8,4,9],Q=[0,5,9,4,8,3,7,2,6,1],Ae=[0,9,7,5,3,1,8,6,4,2];function N(i,e){let t=(e.length+Number(i))%2===0;return l.NUMERIC_CREATOR.characterIndexes(e).reduce((r,n,o)=>{if(n===void 0)throw new RangeError(a.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:l.utilityNS,c:e.charAt(o),position:o+1}));return t=!t,r+(t?Z[n]:n)},0)}function P(i){return l.NUMERIC_CREATOR.character(9-(N(!1,i)+9)%10)}function L(i){return N(!0,i)%10===0}function j(i,e){if(e.length!==i.length)throw new RangeError(a.t("Check.lengthOfStringForPriceOrWeightMustBeExactly",{length:e.length,exactLength:i.length}));return l.NUMERIC_CREATOR.characterIndexes(e).reduce((r,n,o)=>{if(n===void 0)throw new RangeError(a.t("CharacterSetValidator.invalidCharacterAtPositionOfComponent",{ns:l.utilityNS,c:e.charAt(o),position:o+1,component:a.t("Check.priceOrWeightComponent")}));return r+i[o][n]},0)}function Re(i){return l.NUMERIC_CREATOR.character(j([v,v,Z,Q],i)*3%10)}function ve(i){return l.NUMERIC_CREATOR.character(Ae[9-(j([q,v,Q,q,v],i)+9)%10])}var W=[107,103,101,97,89,83,79,73,71,67,61,59,53,47,43,41,37,31,29,23,19,17,13,11,7,5,3,2],B=["2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"];function E(i){let e=W.length-i.length;if(e<0)throw new RangeError(a.t("Check.lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo",{length:i.length,maximumLength:W.length}));let t=x.characterIndexes(i).reduce((n,o,c)=>{if(o===void 0)throw new RangeError(a.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:l.utilityNS,c:i.charAt(c),position:c+1}));return n+o*W[e+c]},0)%1021,r=t%32;return B[(t-r)/32]+B[r]}function $(i){let e=i.length-2;return E(i.substring(0,e))===i.substring(e)}var s=require("@aidc-toolkit/utility"),_=require("ts-mixer");var J=(d=>(d.GTIN="GTIN",d.GLN="GLN",d.SSCC="SSCC",d.GRAI="GRAI",d.GIAI="GIAI",d.GSRN="GSRN",d.GDTI="GDTI",d.GINC="GINC",d.GSIN="GSIN",d.GCN="GCN",d.CPID="CPID",d.GMN="GMN",d))(J||{}),ee=(r=>(r[r.GS1CompanyPrefix=0]="GS1CompanyPrefix",r[r.UPCCompanyPrefix=1]="UPCCompanyPrefix",r[r.GS18Prefix=2]="GS18Prefix",r))(ee||{}),te=(r=>(r[r.Numeric=0]="Numeric",r[r.AI82=1]="AI82",r[r.AI39=2]="AI39",r))(te||{}),b=class i{static CHARACTER_SET_CREATORS=[s.NUMERIC_CREATOR,x,U];_identificationKeyType;_prefixType;_length;_referenceCharacterSet;_referenceCreator;static creatorFor(e){return i.CHARACTER_SET_CREATORS[e]}constructor(e,t,r,n){this._identificationKeyType=e,this._prefixType=t,this._length=r,this._referenceCharacterSet=n,this._referenceCreator=i.creatorFor(n)}get identificationKeyType(){return this._identificationKeyType}get prefixType(){return this._prefixType}get length(){return this._length}get referenceCharacterSet(){return this._referenceCharacterSet}get referenceCreator(){return this._referenceCreator}padIdentificationKey(e,t){return t?.positionOffset===void 0?e:this.referenceCreator.character(0).repeat(t.positionOffset).concat(e)}validatePrefix(e,t){h.validatePrefix(this.prefixType,!0,!1,e,!0,this.referenceCharacterSet===0,t)}},re=(r=>(r[r.None=0]="None",r[r.IndicatorDigit=1]="IndicatorDigit",r[r.ExtensionDigit=2]="ExtensionDigit",r))(re||{}),K=class extends b{_leaderType;_prefixPosition;constructor(e,t,r,n){super(e,t,r,0),this._leaderType=n,this._prefixPosition=+(this.leaderType===2)}get leaderType(){return this._leaderType}validate(e,t){if(this._prefixPosition===0?super.validatePrefix(e,t?.positionOffset):super.validatePrefix(e.substring(this._prefixPosition),t?.positionOffset===void 0?this._prefixPosition:t.positionOffset+this._prefixPosition),e.length!==this.length)throw new RangeError(a.t("IdentificationKey.identificationKeyTypeLength",{identificationKeyType:this.identificationKeyType,length:this.length}));if(!L(this.padIdentificationKey(e,t)))throw new RangeError(a.t("IdentificationKey.invalidCheckDigit"))}},ie=(n=>(n[n.GTIN13=13]="GTIN13",n[n.GTIN12=12]="GTIN12",n[n.GTIN8=8]="GTIN8",n[n.GTIN14=14]="GTIN14",n))(ie||{}),ne=(r=>(r[r.Any=0]="Any",r[r.RetailConsumer=1]="RetailConsumer",r[r.OtherThanRetailConsumer=2]="OtherThanRetailConsumer",r))(ne||{}),m=class i extends K{static OPTIONAL_INDICATOR_DIGIT_VALIDATION={minimumLength:0,maximumLength:1,component:()=>a.t("IdentificationKey.indicatorDigit")};static ZERO_SUPPRESSED_GTIN12_VALIDATION={minimumLength:8,maximumLength:8};constructor(e){let t;switch(e){case 13:t=0;break;case 12:t=1;break;case 8:t=2;break;default:throw new Error("Not supported")}super("GTIN",t,e,1)}get gtinType(){return this.length}validatePrefix(e,t){h.validatePrefix(this.prefixType,!1,!1,e,!0,!0,t)}static zeroSuppress(e){M.validate(e);let t=Array.from(e),r;if(t[0]==="0"&&t[6]==="0"&&t[7]==="0"&&(t[10]>="5"&&t[8]==="0"&&t[9]==="0"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}${t[10]}${t[11]}`:t[5]==="0"&&t[8]==="0"&&t[9]==="0"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[10]}4${t[11]}`:t[3]<="2"&&t[4]==="0"&&t[5]==="0"?r=`0${t[1]}${t[2]}${t[8]}${t[9]}${t[10]}${t[3]}${t[11]}`:t[3]>="3"&&t[4]==="0"&&t[5]==="0"&&t[8]==="0"&&(r=`0${t[1]}${t[2]}${t[3]}${t[9]}${t[10]}3${t[11]}`)),r===void 0)throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressibleGTIN12"));return r}static zeroExpand(e){s.NUMERIC_CREATOR.validate(e,i.ZERO_SUPPRESSED_GTIN12_VALIDATION);let t=Array.from(e),r;if(t[0]==="0"&&(t[6]>="5"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}0000${t[6]}${t[7]}`:t[6]==="4"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}00000${t[5]}${t[7]}`:t[6]<="2"?r=`0${t[1]}${t[2]}${t[6]}0000${t[3]}${t[4]}${t[5]}${t[7]}`:t[6]==="3"&&t[3]>="3"&&(r=`0${t[1]}${t[2]}${t[3]}00000${t[4]}${t[5]}${t[7]}`)),r===void 0)throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressedGTIN12"));return M.validate(r),r}static convertToGTIN14(e,t){g.validateAny(t),s.NUMERIC_CREATOR.validate(e,i.OPTIONAL_INDICATOR_DIGIT_VALIDATION);let r=t.length,n="0".repeat(14-r)+t;if(e.length!==0&&e!==n.charAt(0)){let o=e+n.substring(1,13);n=o+P(o)}return n}static normalize(e){let t=e.length,r;switch(t){case 13:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00000"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(5);else throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressedGTIN12AsGTIN13"));break;case 12:r=e;break;case 8:e.startsWith("0")?r=i.zeroExpand(e):r=e;break;case 14:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(2);else if(!e.startsWith("0000000"))r=e.substring(6);else throw new RangeError(a.t("IdentificationKey.invalidZeroSuppressedGTIN12AsGTIN14"));break;default:throw new RangeError(a.t("IdentificationKey.invalidGTINLength"))}return g.validateAny(r),r}static validateAny(e,t=0){let r=e,n;switch(e.length){case 13:if(e.startsWith("0"))throw new RangeError(a.t("IdentificationKey.invalidGTIN13AtRetail"));h.validatePrefix(0,!1,!1,e,!0,!0),n=0;break;case 12:h.validatePrefix(1,!1,!1,e,!0,!0),n=0;break;case 8:e.startsWith("0")?r=i.zeroExpand(e):h.validatePrefix(2,!1,!1,e,!0,!0),n=1;break;case 14:h.validatePrefix(0,!0,!0,e.substring(1),!0,!0),n=2;break;default:throw new RangeError(a.t("IdentificationKey.invalidGTINLength"))}if(!L(r))throw new RangeError(a.t("IdentificationKey.invalidCheckDigit"));if(t!==0&&n!==0&&n!==t)throw new RangeError(a.t(t===1?"IdentificationKey.invalidGTINAtRetail":"IdentificationKey.invalidGTINAtOtherThanRetail"))}static validateGTIN14(e){if(e.length!==14)throw new RangeError(a.t("IdentificationKey.invalidGTIN14Length"));g.validateAny(e)}},I=class extends K{constructor(e,t,r=0){super(e,0,t,r)}},y=class i extends I{_serialComponentLength;_serialComponentCharacterSet;_serialComponentValidation;_serialComponentCreator;constructor(e,t,r,n){super(e,t,0),this._serialComponentLength=r,this._serialComponentCharacterSet=n,this._serialComponentValidation={minimumLength:1,maximumLength:r,component:()=>a.t("IdentificationKey.serialComponent")},this._serialComponentCreator=i.creatorFor(n)}get serialComponentLength(){return this._serialComponentLength}get serialComponentCharacterSet(){return this._serialComponentCharacterSet}get serialComponentValidation(){return this._serialComponentValidation}get serialComponentCreator(){return this._serialComponentCreator}validate(e,t){super.validate(e.substring(0,this.length),t),e.length>this.length&&this.serialComponentCreator.validate(e.substring(this.length),this._serialComponentValidation)}},T=class i extends b{static NOT_ALL_NUMERIC_VALIDATOR=new class extends s.RegExpValidator{createErrorMessage(e){return a.t("IdentificationKey.referenceCantBeAllNumeric")}}(/\D/);_requiresCheckCharacterPair;constructor(e,t,r,n=!1){super(e,0,t,r),this._requiresCheckCharacterPair=n}get requiresCheckCharacterPair(){return this._requiresCheckCharacterPair}validate(e,t){let r=this.requiresCheckCharacterPair?e.substring(0,e.length-2):e;if(super.validatePrefix(r,t?.positionOffset),!this.requiresCheckCharacterPair)this.referenceCreator.validate(e,{maximumLength:this.length,positionOffset:t?.positionOffset});else if(!$(this.padIdentificationKey(e,t)))throw new RangeError(a.t("IdentificationKey.invalidCheckCharacterPair"));t?.exclusion===s.Exclusion.AllNumeric&&i.NOT_ALL_NUMERIC_VALIDATOR.validate(r)}},ae=new m(13),M=new m(12),oe=new m(8),Le=[ae,M,oe],se=new I("GLN",13),ce=new I("SSCC",18,2),pe=new y("GRAI",13,16,1),fe=new T("GIAI",30,1),de=new I("GSRN",18),le=new y("GDTI",13,17,1),ue=new T("GINC",30,1),he=new I("GSIN",17),Ie=new y("GCN",13,12,0),Te=new T("CPID",30,2),ge=new T("GMN",25,1,!0),w=class{_prefixManager;_referenceLength;init(e,t,r){this._prefixManager=e,this._referenceLength=this.length-t.length-r}get prefixManager(){return this._prefixManager}get prefix(){return this.prefixManager.gs1CompanyPrefix}get referenceLength(){return this._referenceLength}},G=class i extends w{_capacity;_tweak=0n;init(e,t){super.init(e,t,1),this._capacity=Number(s.CharacterSetCreator.powerOf10(this.referenceLength))}get capacity(){return this._capacity}get tweak(){return this._tweak}set tweak(e){this._tweak=e}buildIdentificationKey(e){let t=this.leaderType===2?e.substring(0,1)+this.prefix+e.substring(1):this.prefix+e;return t+P(t)}create(e,t=!1){return s.NUMERIC_CREATOR.create(this.referenceLength,e,s.Exclusion.None,t?this.tweak:void 0,r=>this.buildIdentificationKey(r))}static*createAllPartial(e,t,r,n,o){if(t===0)yield e+s.NUMERIC_CREATOR.character(9-(o+9)%10);else{let c=t-1,f=o;if(r!==0)for(let p of s.NUMERIC_CREATOR.characterSet)yield*i.createAllPartial(p+e,c,0,n,f),f+=r;else{let p=4-n;for(let u of s.NUMERIC_CREATOR.characterSet)yield*i.createAllPartial(e+u,c,0,p,f),f+=n}}}createAll(){let e=this.leaderType===2,t=this.prefix,r=this.length,n=this.referenceLength,o=3-2*((n+1-Number(e))%2);return{[Symbol.iterator](){return i.createAllPartial(t,n,e?3-2*r%2:0,o,N(o===3,t))}}}},g=class i extends(0,_.Mixin)(m,G){static REQUIRED_INDICATOR_DIGIT_VALIDATION={minimumLength:1,maximumLength:1,component:()=>a.t("IdentificationKey.indicatorDigit")};constructor(e,t){super(t),this.init(e,e.prefix)}get prefix(){return this.prefixManager.prefix}createGTIN14(e,t,r=!1){return s.NUMERIC_CREATOR.validate(e,i.REQUIRED_INDICATOR_DIGIT_VALIDATION),s.NUMERIC_CREATOR.create(13-this.prefixManager.gs1CompanyPrefix.length-1,t,s.Exclusion.None,r?this.tweak:void 0,n=>{let o=e+this.prefixManager.gs1CompanyPrefix+n;return o+P(o)})}},O=class extends(0,_.Mixin)(I,G){constructor(e,t,r,n=0){super(t,r,n),this.init(e,e.gs1CompanyPrefix)}},V=class extends(0,_.Mixin)(y,G){constructor(e,t,r,n,o){super(t,r,n,o),this.init(e,e.gs1CompanyPrefix)}concatenateValidated(e,t){let r,n=this.serialComponentCreator,o=this.serialComponentValidation;function c(f){return n.validate(f,o),e+f}return typeof t!="object"?r=c(t):r=(0,s.transformIterable)(t,c),r}createSerialized(e,t,r){return this.concatenateValidated(this.create(e,r),t)}concatenate(e,t){return this.validate(e),this.concatenateValidated(e,t)}},k=class extends(0,_.Mixin)(T,w){_referenceValidation;constructor(e,t,r,n,o=!1){super(t,r,n,o),this.init(e,e.gs1CompanyPrefix,2*Number(o)),this._referenceValidation={minimumLength:1,maximumLength:this.referenceLength,component:()=>a.t("IdentificationKey.reference")}}get referenceValidation(){return this._referenceValidation}create(e){let t,r=this.referenceCreator,n=this.referenceValidation,o=this.prefix,c=this.requiresCheckCharacterPair;function f(p){r.validate(p,n);let u=o+p;return c?u+E(u):u}return typeof e!="object"?t=f(e):t=(0,s.transformIterable)(e,f),t}},h=class i{static PREFIX_MANAGERS_MAP=new Map;static GS1_COMPANY_PREFIX_MINIMUM_LENGTH=4;static GS1_COMPANY_PREFIX_MAXIMUM_LENGTH=12;static UPC_COMPANY_PREFIX_MINIMUM_LENGTH=6;static UPC_COMPANY_PREFIX_MAXIMUM_LENGTH=11;static GS1_8_PREFIX_MINIMUM_LENGTH=2;static GS1_8_PREFIX_MAXIMUM_LENGTH=7;static GS1_COMPANY_PREFIX_VALIDATION={minimumLength:i.GS1_COMPANY_PREFIX_MINIMUM_LENGTH,maximumLength:i.GS1_COMPANY_PREFIX_MAXIMUM_LENGTH,component:()=>a.t("Prefix.gs1CompanyPrefix")};static UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION={minimumLength:i.UPC_COMPANY_PREFIX_MINIMUM_LENGTH+1,maximumLength:i.UPC_COMPANY_PREFIX_MAXIMUM_LENGTH+1,component:()=>a.t("Prefix.gs1CompanyPrefix")};static GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION={minimumLength:i.GS1_8_PREFIX_MINIMUM_LENGTH+5,maximumLength:i.GS1_8_PREFIX_MAXIMUM_LENGTH+5,component:()=>a.t("Prefix.gs1CompanyPrefix")};static UPC_COMPANY_PREFIX_VALIDATION={minimumLength:i.UPC_COMPANY_PREFIX_MINIMUM_LENGTH,maximumLength:i.UPC_COMPANY_PREFIX_MAXIMUM_LENGTH,component:()=>a.t("Prefix.upcCompanyPrefix")};static GS1_8_PREFIX_VALIDATION={minimumLength:i.GS1_8_PREFIX_MINIMUM_LENGTH,maximumLength:i.GS1_8_PREFIX_MAXIMUM_LENGTH,component:()=>a.t("Prefix.gs18Prefix")};static CREATOR_TWEAK_FACTORS_MAP=new Map([["GTIN",1987n],["GLN",4241n],["SSCC",8087n],["GRAI",3221n],["GSRN",2341n],["GDTI",7333n],["GSIN",5623n],["GCN",6869n]]);_prefixType;_prefix;_gs1CompanyPrefix;_upcCompanyPrefix;_gs18Prefix;_defaultTweakFactor;_tweakFactor=0n;_identificationKeyCreatorsMap=new Map;constructor(e){this._gs1CompanyPrefix=e,e.startsWith("0")?e.startsWith("00000")?(this._prefixType=2,this._gs18Prefix=e.substring(5),this._prefix=this._gs18Prefix):(this._prefixType=1,this._upcCompanyPrefix=e.substring(1),this._prefix=this._upcCompanyPrefix):(this._prefixType=0,this._prefix=this._gs1CompanyPrefix),this._defaultTweakFactor=BigInt(`1${this.gs1CompanyPrefix}`),this.resetTweakFactor()}get prefixType(){return this._prefixType}get prefix(){return this._prefix}get gs1CompanyPrefix(){return this._gs1CompanyPrefix}get upcCompanyPrefix(){return this._upcCompanyPrefix}get gs18Prefix(){return this._gs18Prefix}setCreatorTweak(e){let t=i.CREATOR_TWEAK_FACTORS_MAP.get(e.identificationKeyType);t!==void 0&&(e.tweak=this.tweakFactor*t)}get tweakFactor(){return this._tweakFactor}set tweakFactor(e){let t=BigInt(e);if(this._tweakFactor!==t){this._tweakFactor=t;for(let r of this._identificationKeyCreatorsMap.values())this.setCreatorTweak(r)}}resetTweakFactor(){this.tweakFactor=this._defaultTweakFactor}static get(e,t){i.validatePrefix(e,!0,!0,t);let r;switch(e){case 0:r=t;break;case 1:r="0"+t;break;case 2:r="00000"+t;break;default:throw new RangeError(a.t("Prefix.invalidPrefixType"))}let n=i.PREFIX_MANAGERS_MAP.get(r);return n===void 0&&(n=new i(r),i.PREFIX_MANAGERS_MAP.set(r,n)),n}static validatePrefix(e,t,r,n,o=!1,c=!1,f){let p;switch(e){case 0:if(!n.startsWith("0"))p=i.GS1_COMPANY_PREFIX_VALIDATION;else if(n.startsWith("00000")){if(n.startsWith("000000"))throw new RangeError(a.t("Prefix.gs1CompanyPrefixCantStartWith000000"));if(!r)throw new RangeError(a.t("Prefix.gs1CompanyPrefixCantStartWith00000"));p=i.GS1_8_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION}else{if(!t)throw new RangeError(a.t("Prefix.gs1CompanyPrefixCantStartWith0"));p=i.UPC_COMPANY_PREFIX_AS_GS1_COMPANY_PREFIX_VALIDATION}break;case 1:if(n.startsWith("0000"))throw new RangeError(a.t("Prefix.upcCompanyPrefixCantStartWith0000"));p=i.UPC_COMPANY_PREFIX_VALIDATION;break;case 2:if(n.startsWith("0"))throw new RangeError(a.t("Prefix.gs18PrefixCantStartWith0"));p=i.GS1_8_PREFIX_VALIDATION;break}let u={...p,positionOffset:f};o?c||s.NUMERIC_CREATOR.validate(n.substring(0,Math.min(u.minimumLength,n.length-1)),u):s.NUMERIC_CREATOR.validate(n,u)}getIdentificationKeyCreator(e,t){let r=this._identificationKeyCreatorsMap.get(e);if(r===void 0){if(this.prefixType===2&&e!=="GTIN")throw new RangeError(a.t("Prefix.identificationKeyTypeNotSupportedByGS18Prefix",{identificationKeyType:e}));r=t(),this.setCreatorTweak(r),this._identificationKeyCreatorsMap.set(e,r)}return r}getNonGTINNumericIdentificationKeyCreator(e){return this.getIdentificationKeyCreator(e.identificationKeyType,()=>new O(this,e.identificationKeyType,e.length,e.leaderType))}getSerializableNumericIdentificationKeyCreator(e){return this.getIdentificationKeyCreator(e.identificationKeyType,()=>new V(this,e.identificationKeyType,e.length,e.serialComponentLength,e.serialComponentCharacterSet))}getNonNumericIdentificationKeyCreator(e){return this.getIdentificationKeyCreator(e.identificationKeyType,()=>new k(this,e.identificationKeyType,e.length,e.referenceCharacterSet,e.requiresCheckCharacterPair))}get gtinCreator(){return this.getIdentificationKeyCreator("GTIN",()=>{let e;switch(this.prefixType){case 0:e=13;break;case 1:e=12;break;case 2:e=8;break}return new g(this,e)})}get glnCreator(){return this.getNonGTINNumericIdentificationKeyCreator(se)}get ssccCreator(){return this.getNonGTINNumericIdentificationKeyCreator(ce)}get graiCreator(){return this.getSerializableNumericIdentificationKeyCreator(pe)}get giaiCreator(){return this.getNonNumericIdentificationKeyCreator(fe)}get gsrnCreator(){return this.getNonGTINNumericIdentificationKeyCreator(de)}get gdtiCreator(){return this.getSerializableNumericIdentificationKeyCreator(le)}get gincCreator(){return this.getNonNumericIdentificationKeyCreator(ue)}get gsinCreator(){return this.getNonGTINNumericIdentificationKeyCreator(he)}get gcnCreator(){return this.getSerializableNumericIdentificationKeyCreator(Ie)}get cpidCreator(){return this.getNonNumericIdentificationKeyCreator(Te)}get gmnCreator(){return this.getNonNumericIdentificationKeyCreator(ge)}};0&&(module.exports={AI39_CREATOR,AI82_CREATOR,CPID_VALIDATOR,ContentCharacterSet,GCN_VALIDATOR,GDTI_VALIDATOR,GIAI_VALIDATOR,GINC_VALIDATOR,GLN_VALIDATOR,GMN_VALIDATOR,GRAI_VALIDATOR,GSIN_VALIDATOR,GSRN_VALIDATOR,GTIN12_VALIDATOR,GTIN13_VALIDATOR,GTIN8_VALIDATOR,GTINCreator,GTINLevel,GTINType,GTINValidator,GTIN_VALIDATORS,IdentificationKeyType,LeaderType,NonGTINNumericIdentificationKeyCreator,NonGTINNumericIdentificationKeyValidator,NonNumericIdentificationKeyCreator,NonNumericIdentificationKeyValidator,PrefixManager,PrefixType,SSCC_VALIDATOR,SerializableNumericIdentificationKeyCreator,SerializableNumericIdentificationKeyValidator,checkCharacterPair,checkDigit,checkDigitSum,fiveDigitPriceWeightCheckDigit,fourDigitPriceWeightCheckDigit,gs1NS,gs1Resources,hasValidCheckCharacterPair,hasValidCheckDigit,i18nGS1Init,i18nextGS1});
|
|
2
|
-
/*!
|
|
3
|
-
* Copyright © 2024-2025 Dolphin Data Development Ltd. and AIDC Toolkit
|
|
4
|
-
* contributors
|
|
5
|
-
*
|
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
* you may not use this file except in compliance with the License.
|
|
8
|
-
* You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* https://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
* See the License for the specific language governing permissions and
|
|
16
|
-
* limitations under the License.
|
|
17
|
-
*/
|