UNPKG

json2php

Version:
2 lines (1 loc) 786 B
"use strict";const g=["[object Array]","[object Object]"],u=(n={})=>{const r=n.linebreak??"",p=n.indent??"",a=n.stripSpaces??!1,i=n.shortArraySyntax??!1,f=i?"[":"array(",$=i?"]":")",m=a?"=>":" => ";return function s(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(!g.includes(l))return"null";const e=o+p,S=(Array.isArray(t)?t.map(c=>s(c,e)):Object.entries(t).map(([c,d])=>`${s(c,e)}${m}${s(d,e)}`)).join(`,${r===""&&!a?" ":r+e}`);return`${f}${r+e}${S}${r+o}${$}`;default:return"null"}}},y=u();y.make=u;module.exports=y;