json-joy
Version:
Collection of libraries for building collaborative editing apps.
15 lines (14 loc) • 540 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.randomSessionId = void 0;
const constants_1 = require("../../json-crdt-patch/constants");
const RESERVED = 0xffff;
const DIFF = constants_1.SESSION.MAX - RESERVED;
/**
* Generates a random session ID up to 53 bits in size, skips first 0xFFFF
* values, keeping them reserved for future extensions.
*
* @returns Random session ID.
*/
const randomSessionId = () => Math.floor(DIFF * Math.random() + RESERVED);
exports.randomSessionId = randomSessionId;
;