@altostra/core
Version:
Core library for shared types and logic
1 lines • 1.97 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.strictAlphaNumeric=exports.base61=exports.remappedUnicode=exports.alphaNumericAlphabet=exports.delimiter=void 0;const Object_1=require("../../Utils/Object"),Bootstring_1=require("../Bootstring"),MappedAlphabet_1=require("../MappedAlphabet"),SimpleNthBase_1=require("../SimpleNthBase"),UnicodeSubsetAlphabet_1=require("../UnicodeSubsetAlphabet"),DIGITS_COUNT=10,LETTERS_COUNT=26;exports.delimiter="X";const alphaNumericValidCharsCount=62,baseCharacterMapping=(0,Object_1.fromEntries)({*[Symbol.iterator](){let e=0;for(;e<10;e++)yield[String.fromCodePoint(e),String.fromCodePoint(e+"0".codePointAt(0))];for(;e<36;e++)yield[String.fromCodePoint(e),String.fromCodePoint(e+-10+"A".codePointAt(0))];for(;e<62;e++)yield[String.fromCodePoint(e),String.fromCodePoint(e+-36+"a".codePointAt(0))]}}),fullCharacterMapping=Object.assign(Object.assign({},baseCharacterMapping),Object.fromEntries({*[Symbol.iterator](){for(let e=0;e<26;e++)yield[String.fromCodePoint(e+"A".codePointAt(0)),String.fromCodePoint(e)];for(let e=0;e<26;e++){const t=26,i="0".codePointAt(0),r=e+t;yield[String.fromCodePoint(e+"a".codePointAt(0)),String.fromCodePoint(r<i?r:r+10)]}}}));exports.alphaNumericAlphabet=new MappedAlphabet_1.FullyMappedAlphabet({base:new UnicodeSubsetAlphabet_1.UnicodeSubsetAlphabet({end:61}),mapping:baseCharacterMapping}),exports.remappedUnicode=new MappedAlphabet_1.PartiallyMappedAlphabet({base:UnicodeSubsetAlphabet_1.UnicodeSubsetAlphabet.unicode,mapping:fullCharacterMapping}),exports.base61=new SimpleNthBase_1.SimpleNthBase([...exports.alphaNumericAlphabet].filter(e=>!e.includes(exports.delimiter)).map(e=>[e])),exports.strictAlphaNumeric=new Bootstring_1.Bootstring({base:exports.base61,basicAlphabet:exports.alphaNumericAlphabet,extendedAlphabet:exports.remappedUnicode,delimiter:exports.delimiter,tMin:1,tMax:42,skew:38,damp:700,initialBias:72}),exports.default=exports.strictAlphaNumeric;