@clickup/pg-microsharding
Version:
Microshards support for PostgreSQL
18 lines • 573 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseLsn = parseLsn;
exports.isLsn = isLsn;
exports.subtractLsn = subtractLsn;
function parseLsn(lsn) {
const [a, b] = lsn.split("/").map((x) => BigInt(parseInt(x, 16)));
return (a << BigInt(32)) + b;
}
function isLsn(lsn) {
return !!lsn.match(/^[0-9a-f]+\/[0-9a-f]+$/i);
}
function subtractLsn(lsn1, lsn2) {
return isLsn(lsn1) && isLsn(lsn2)
? Math.max(0, Math.round(Number(parseLsn(lsn1) - parseLsn(lsn2))))
: null;
}
//# sourceMappingURL=parseLsn.js.map