D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
etb1lp46s9ed
/
public_html
/
wabulk.whatzi.online
/
node_modules
/
@keyv
/
serialize
/
dist
/
Filename :
index.js
back
Copy
// src/index.ts import { Buffer } from "buffer"; var _serialize = (data, escapeColonStrings = true) => { if (data === void 0 || data === null) { return "null"; } if (typeof data === "string") { return JSON.stringify( escapeColonStrings && data.startsWith(":") ? `:${data}` : data ); } if (Buffer.isBuffer(data)) { return JSON.stringify(`:base64:${data.toString("base64")}`); } if (data?.toJSON) { data = data.toJSON(); } if (typeof data === "object") { let s = ""; const array = Array.isArray(data); s = array ? "[" : "{"; let first = true; for (const k in data) { const ignore = typeof data[k] === "function" || !array && data[k] === void 0; if (!Object.hasOwn(data, k) || ignore) { continue; } if (!first) { s += ","; } first = false; if (array) { s += _serialize(data[k], escapeColonStrings); } else if (data[k] !== void 0) { s += `${_serialize(k, false)}:${_serialize(data[k], escapeColonStrings)}`; } } s += array ? "]" : "}"; return s; } return JSON.stringify(data); }; var defaultSerialize = (data) => { return _serialize(data, true); }; var defaultDeserialize = (data) => JSON.parse(data, (_, value) => { if (typeof value === "string") { if (value.startsWith(":base64:")) { return Buffer.from(value.slice(8), "base64"); } return value.startsWith(":") ? value.slice(1) : value; } return value; }); export { defaultDeserialize, defaultSerialize };