UNPKG

@forbespro/lead-agent

Version:
2 lines (1 loc) 1.92 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index151.js"),p="",{toString:g}={},{keys:I}=Object,A=o=>{const a=typeof o;if(a!=="object"||!o)return[t.PRIMITIVE,a];const c=g.call(o).slice(8,-1);switch(c){case"Array":return[t.ARRAY,p];case"Object":return[t.OBJECT,p];case"Date":return[t.DATE,p];case"RegExp":return[t.REGEXP,p];case"Map":return[t.MAP,p];case"Set":return[t.SET,p];case"DataView":return[t.ARRAY,c]}return c.includes("Array")?[t.ARRAY,c]:c.includes("Error")?[t.ERROR,c]:[t.OBJECT,c]},u=([o,a])=>o===t.PRIMITIVE&&(a==="function"||a==="symbol"),b=(o,a,c,R)=>{const i=(r,f)=>{const s=R.push(r)-1;return c.set(f,s),s},E=r=>{if(c.has(r))return c.get(r);let[f,s]=A(r);switch(f){case t.PRIMITIVE:{let n=r;switch(s){case"bigint":f=t.BIGINT,n=r.toString();break;case"function":case"symbol":if(o)throw new TypeError("unable to serialize "+s);n=null;break;case"undefined":return i([t.VOID],r)}return i([f,n],r)}case t.ARRAY:{if(s){let e=r;return s==="DataView"?e=new Uint8Array(r.buffer):s==="ArrayBuffer"&&(e=new Uint8Array(r)),i([s,[...e]],r)}const n=[],y=i([f,n],r);for(const e of r)n.push(E(e));return y}case t.OBJECT:{if(s)switch(s){case"BigInt":return i([s,r.toString()],r);case"Boolean":case"Number":case"String":return i([s,r.valueOf()],r)}if(a&&"toJSON"in r)return E(r.toJSON());const n=[],y=i([f,n],r);for(const e of I(r))(o||!u(A(r[e])))&&n.push([E(e),E(r[e])]);return y}case t.DATE:return i([f,r.toISOString()],r);case t.REGEXP:{const{source:n,flags:y}=r;return i([f,{source:n,flags:y}],r)}case t.MAP:{const n=[],y=i([f,n],r);for(const[e,S]of r)(o||!(u(A(e))||u(A(S))))&&n.push([E(e),E(S)]);return y}case t.SET:{const n=[],y=i([f,n],r);for(const e of r)(o||!u(A(e)))&&n.push(E(e));return y}}const{message:T}=r;return i([f,{name:s,message:T}],r)};return E},d=(o,{json:a,lossy:c}={})=>{const R=[];return b(!(a||c),!!a,new Map,R)(o),R};exports.serialize=d;