@technobuddha/library
Version:
A large library of useful functions
19 lines • 1.48 kB
JavaScript
import { reviver } from "./reviver.js";
/**
* Deserializes a value that may be a specially formatted JSON string.
*
* If the input is a string that starts with '⁅' and ends with '⁆', the function
* removes these delimiters and parses the inner content as JSON. Otherwise, it
* returns the value as-is, cast to `JsonValue`.
* @param value - The value to deserialize, which may be a specially formatted JSON string.
* @returns The deserialized `JsonValue` if the input was a specially formatted string,
* or the original value cast as `JsonValue` otherwise.
* @internal
*/
export function jsonDeserialize(value) {
if (typeof value === 'string' && value.startsWith('⁅') && value.endsWith('⁆')) {
return JSON.parse(value.slice(1, -1), reviver);
}
return value;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1kZXNlcmlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uLWRlc2VyaWFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYztJQUM1QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM5RSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxLQUFrQixDQUFDO0FBQzVCLENBQUMifQ==