UNPKG

@harmoniclabs/buildooor

Version:

Cardano transaction builder in typescript

36 lines (35 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringify = exports.mkReplacer = void 0; var obj_utils_1 = require("@harmoniclabs/obj-utils"); var uint8array_utils_1 = require("@harmoniclabs/uint8array-utils"); function mkReplacer(replacer, seen) { if (seen === void 0) { seen = new WeakSet(); } if (typeof replacer !== "function") replacer = function (k, v) { return v; }; return function (key, value) { value = replacer(key, value); if ((0, obj_utils_1.isObject)(value)) { if (seen.has(value)) { return undefined; } seen.add(value); if (typeof value.buffer === "object" && value.buffer instanceof ArrayBuffer) { value = new Uint8Array(value.buffer); } if (value instanceof Uint8Array) { value = (0, uint8array_utils_1.toHex)(value); } } if (typeof value === "bigint") { value = value.toString(); } return value; }; } exports.mkReplacer = mkReplacer; function stringify(value, replacer, space) { if (space === void 0) { space = 0; } return JSON.stringify(value, mkReplacer(replacer, new WeakSet()), space); } exports.stringify = stringify;