json2php
Version:
JSON to PHP converter
29 lines (28 loc) • 1.07 kB
JavaScript
const d = ["[object Array]", "[object Object]"], u = (n = {}) => {
const r = n.linebreak ?? "", y = n.indent ?? "", a = n.stripSpaces ?? !1, i = n.shortArraySyntax ?? !1, f = i ? "[" : "array(", p = i ? "]" : ")", $ = a ? "=>" : " => ";
return function c(t, o = "") {
switch (typeof t) {
case "undefined":
return "null";
case "bigint":
case "number":
case "boolean":
return t.toString();
case "string":
return `'${t.replace(/\\/g, "\\\\").replace(/\'/g, "\\'")}'`;
case "object":
if (t === null) return "null";
const l = Object.prototype.toString.call(t);
if (l === "[object Date]") return t.toISOString();
if (!d.includes(l)) return "null";
const e = o + y, m = (Array.isArray(t) ? t.map((s) => c(s, e)) : Object.entries(t).map(([s, S]) => `${c(s, e)}${$}${c(S, e)}`)).join(`,${r === "" && !a ? " " : r + e}`);
return `${f}${r + e}${m}${r + o}${p}`;
default:
return "null";
}
};
}, g = u();
g.make = u;
export {
g as default
};