{"version":3,"sources":["serialize-js.ts"],"sourcesContent":["import { Pointer, ReactiveValue } from \"datex-core-legacy/runtime/pointers.ts\";\n\nexport function serializeJSValue(val:any):string {\n\tlet serialized = JSON.stringify(val);\n\n\t// create mock pointer for type compatibility\n\tif (val instanceof Pointer) {\n\t\tserialized = `new Proxy({}, {\n\t\t\tset() {\n\t\t\t\tthrow new Error(\"No DATEX Runtime loaded, ref is readonly\")\n\t\t\t},\n\t\t\tget(t, p) {\n\t\t\t\tif (p == \"val\") return ${serialized};\n\t\t\t\telse throw new Error(\"No DATEX Runtime loaded, ref property '\" + p + \"' not supported\")\n\t\t\t}\n\t\t})`\n\t}\n\n\t// is object and has prototype\n\telse if (val !== null && typeof val == \"object\" && !(val instanceof Array) && Object.getPrototypeOf(val) !== Object.prototype) {\n\t\tconst proto = serializeJSValue(Object.getPrototypeOf(val));\n\t\tserialized = `{\"__proto__\":${proto}, ${serialized.slice(1)}`\n\t}\n\n\treturn serialized;\n}\n\nexport function getJSONCompatibleSerializedValue(value: any) {\n\tif (typeof value == \"object\") {\n\t\tif (value instanceof ReactiveValue) return {val: value.val}\n\n\t\tconst newValue:Record<string,any>|any[] = value instanceof Array ? [] : {};\n\t\n\t\tif (!(value instanceof Array) && Object.getPrototypeOf(value) !== Object.prototype) {\n\t\t\tvalue.__proto__ = Object.getPrototypeOf(value);\n\t\t}\n\n\t\tfor (const key of Object.keys(value)) {\n\t\t\tnewValue[key as keyof typeof newValue] = normalizeValue(value[key]);\n\t\t}\n\n\t\treturn newValue;\n\t}\n\n\treturn value;\n}"],"names":["Pointer","ReactiveValue","serializeJSValue","val","serialized","JSON","stringify","Array","Object","getPrototypeOf","prototype","proto","slice","getJSONCompatibleSerializedValue","value","newValue","key","__proto__","keys","normalizeValue"],"mappings":"AAAA,SAASA,OAAO,EAAEC,aAAa,QAAQ,wCAAwC;AAE/E,OAAO,SAASC,iBAAiBC,GAAO;IACvC,IAAIC,aAAaC,KAAKC,SAAS,CAACH;IAGhC,IAAIA,eAAeH,SAClBI,aAAa,CAAC;;;;;2BAKW,EAAEA,WAAW;;;IAGpC,CAAC;SAIC,IAAID,AAAQ,SAARA,OAAgB,AAAc,YAAd,OAAOA,OAAmB,CAAEA,CAAAA,eAAeI,KAAI,KAAMC,OAAOC,cAAc,CAACN,SAASK,OAAOE,SAAS,EAAE;QAC9H,IAAMC,QAAQT,iBAAiBM,OAAOC,cAAc,CAACN;QACrDC,aAAa,CAAC,aAAa,EAAEO,MAAM,EAAE,EAAEP,WAAWQ,KAAK,CAAC,GAAG,CAAC;IAC7D;IAEA,OAAOR;AACR;AAEA,OAAO,SAASS,iCAAiCC,KAAU;IAC1D,IAAI,AAAgB,YAAhB,OAAOA,OAAmB;QAC7B,IAAIA,iBAAiBb,eAAe,OAAO;YAACE,KAAKW,MAAMX,GAAG;QAAA;QAE1D,IAAMY,WAAoCD,iBAAiBP,QAAQ,EAAE,GAAG,CAAC;QAMzE,KAAK,IAAMS,QAJLF,iBAAiBP,SAAUC,OAAOC,cAAc,CAACK,WAAWN,OAAOE,SAAS,IACjFI,CAAAA,MAAMG,SAAS,GAAGT,OAAOC,cAAc,CAACK,MAAK,GAG5BN,OAAOU,IAAI,CAACJ,QAC7BC,QAAQ,CAACC,IAA6B,GAAGG,eAAeL,KAAK,CAACE,IAAI;QAGnE,OAAOD;IACR;IAEA,OAAOD;AACR","sourceRoot":"/lib/uix-0.3.30/src/utils/","file":"serialize-js.ts"}