nitropage
Version:
A free and open source, extensible visual page builder based on SolidStart.
22 lines (17 loc) • 554 B
text/typescript
const UNDEFINED_VALUE = "$$undefined$$";
export const serialize = (obj: Record<any, any>) => {
const result: any = {};
for (const key of Object.keys(obj)) {
const value = obj[key as keyof typeof obj];
result[key] = value === undefined ? UNDEFINED_VALUE : value;
}
return JSON.stringify(result);
};
export const deserialize = (input: string) => {
const result: any = JSON.parse(input);
for (const key of Object.keys(result)) {
if (result[key] !== UNDEFINED_VALUE) continue;
result[key] = undefined;
}
return result;
};