UNPKG

@tribecahq/registry

Version:

Registry of Tribeca DAOs.

40 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stableStringify = exports.makeSerializable = exports.jsonStringify = exports.serialize = void 0; const tslib_1 = require("tslib"); const solana_contrib_1 = require("@saberhq/solana-contrib"); const token_utils_1 = require("@saberhq/token-utils"); const bn_js_1 = require("bn.js"); const fast_json_stable_stringify_1 = tslib_1.__importDefault(require("fast-json-stable-stringify")); const serialize = (_key, value) => { if (!value) { return value; } if (token_utils_1.Percent.isPercent(value) || token_utils_1.Fraction.isFraction(value)) { return { formatted: value.toFixed(10), numerator: value.numerator.toString(), denominator: value.denominator.toString(), }; } try { if (value && (0, bn_js_1.isBN)(value)) { return value.toString(); } } catch (e) { // nothing } if ((0, solana_contrib_1.isPublicKey)(value)) { return value.toString(); } return value; }; exports.serialize = serialize; const jsonStringify = (value) => JSON.stringify(value, exports.serialize, 2); exports.jsonStringify = jsonStringify; const makeSerializable = (value) => JSON.parse((0, exports.jsonStringify)(value)); exports.makeSerializable = makeSerializable; const stableStringify = (value) => (0, exports.jsonStringify)(JSON.parse((0, fast_json_stable_stringify_1.default)((0, exports.makeSerializable)(value)))); exports.stableStringify = stableStringify; //# sourceMappingURL=serialize.js.map