/** * # EJSON parse string */ function parse( string: string | null | number, reviver?: (this: any, key: string, value: any) => any ): { [s: string]: any } | { [s: string]: any }[] | undefined { if (!string) return undefined; if (typeof string == "object") return string; if (typeof string !== "string") return undefined; try { return JSON.parse(string, reviver); } catch (error) { return undefined; } } /** * # EJSON stringify object */ function stringify( value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number ): string | undefined { try { return JSON.stringify(value, replacer, space); } catch (error) { return undefined; } } const EJSON = { parse, stringify, }; export default EJSON;