@zodash/basex
Version:
Simple Covert value to binary | hex | base62 | base36 | basex | customAlphabet
28 lines (27 loc) • 751 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.divide = void 0;
function customAlphabet(alphabet) {
const chars = Array.isArray(alphabet) ? alphabet : alphabet.split('');
const radix = chars.length;
return (num) => {
const arr = [];
let value = num;
do {
const { mod, divisor } = divide(value, radix);
value = divisor;
arr.unshift(chars[mod]);
} while (value);
return arr.join('');
};
}
exports.default = customAlphabet;
function divide(divisor, radix) {
const mod = divisor % radix;
const _divisor = (divisor - mod) / radix;
return {
mod,
divisor: _divisor,
};
}
exports.divide = divide;