UNPKG

ksuid-edge

Version:

Edge and browser-compatible KSUID generator

32 lines 1.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.debase62 = exports.base62 = void 0; const base_convert_int_array_1 = __importDefault(require("base-convert-int-array")); const BASE62 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; function base62(view, fixedLength) { const numbs = new Array(view.byteLength); for (let offset = 0; offset < view.byteLength; offset++) { numbs[offset] = view.getUint8(offset); } return (0, base_convert_int_array_1.default)(numbs, { from: 256, to: 62, fixedLength }) .map((value) => BASE62[value]) .join(''); } exports.base62 = base62; // https://github.com/novemberborn/ksuid/blob/90ca4c1508f216e03923de610291786a0d6a868c/base62.js#L13C40-L21C85 function debase62(data, fixedLength) { const input = Array.from(data, (char) => { const charCode = char.charCodeAt(0); if (charCode < 58) return charCode - 48; if (charCode < 91) return charCode - 55; return charCode - 61; }); return new Uint8Array((0, base_convert_int_array_1.default)(input, { from: 62, to: 256, fixedLength })).buffer; } exports.debase62 = debase62; //# sourceMappingURL=base62.js.map