UNPKG

reliable-zeromq

Version:

A collection of reliable zeromq messaging constructs

52 lines 3.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class JSONBigInt { static ParseReviver(aKey, aValue) { // Only consider strings that are all digits and end in letter "n" e.g. 10675364n // considers negative values as well if (typeof aValue === "string") { const lLength = aValue.length; if (lLength > 1 && aValue[lLength - 1] === "n") { let lAllDigits = true; for (let i = 0; i < lLength - 1 && lAllDigits; i++) { const lValue = aValue[i]; lAllDigits = lAllDigits && ((lValue >= "0" && lValue <= "9") || ((i === 0) && lValue === "-")); } if (lAllDigits) { return BigInt(aValue.slice(0, -1)); } } } return aValue; } static StringifyReplacer(aKey, aValue) { if (typeof aValue === "bigint") { return aValue.toString() + "n"; } else { return aValue; } } static Parse(aString) { switch (aString) { case "undefined": return undefined; case "null": return null; default: return JSON.parse(aString, JSONBigInt.ParseReviver); } } static Stringify(aValue) { switch (aValue) { case undefined: return "undefined"; case null: return "null"; default: return JSON.stringify(aValue, JSONBigInt.StringifyReplacer); } } } exports.default = JSONBigInt; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSlNPTkJpZ0ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL1NyYy9VdGlscy9KU09OQmlnSW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBcUIsVUFBVTtJQUVuQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQVMsRUFBRSxNQUFXO1FBRTlDLGlGQUFpRjtRQUNqRixvQ0FBb0M7UUFFcEMsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQzlCO1lBQ0ksTUFBTSxPQUFPLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUV0QyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQzlDO2dCQUNJLElBQUksVUFBVSxHQUFZLElBQUksQ0FBQztnQkFDL0IsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsRUFBRSxFQUMxRDtvQkFDSSxNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pDLFVBQVUsR0FBRyxVQUFVLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2xHO2dCQUVELElBQUksVUFBVSxFQUNkO29CQUNJLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEM7YUFDSjtTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFTLEVBQUUsTUFBVztRQUVuRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFDOUI7WUFDSSxPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUM7U0FDbEM7YUFFRDtZQUNJLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBZTtRQUUvQixRQUFRLE9BQU8sRUFDZjtZQUNJLEtBQUssV0FBVztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxJQUFJLENBQUM7WUFDaEI7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFXO1FBRS9CLFFBQVEsTUFBTSxFQUNkO1lBQ0ksS0FBSyxTQUFTO2dCQUNWLE9BQU8sV0FBVyxDQUFDO1lBQ3ZCLEtBQUssSUFBSTtnQkFDTCxPQUFPLE1BQU0sQ0FBQztZQUNsQjtnQkFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ25FO0lBQ0wsQ0FBQztDQUNKO0FBbEVELDZCQWtFQyJ9