"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parse = exports.stringify = void 0;
const superjson_1 = __importDefault(require("superjson"));
function stringify(value) {
    const { json, meta } = superjson_1.default.serialize(value);
    if (!meta) {
        return JSON.stringify(json);
    }
    return JSON.stringify({
        json,
        _superjson: meta,
    });
}
exports.stringify = stringify;
function parse(string) {
    const parsedJSON = JSON.parse(string);
    if (typeof parsedJSON === "object" && (parsedJSON === null || parsedJSON === void 0 ? void 0 : parsedJSON._superjson)) {
        return superjson_1.default.deserialize({
            json: parsedJSON.json,
            meta: parsedJSON._superjson,
        });
    }
    return parsedJSON;
}
exports.parse = parse;
//# sourceMappingURL=enhanced-json.js.map