{"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 = String(JSON.stringify(val)).replaceAll(/<\\//g, '<\\\\/');\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","String","JSON","stringify","replaceAll","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,OAAOC,KAAKC,SAAS,CAACJ,MAAMK,UAAU,CAAC,QAAQ;IAGhE,IAAIL,eAAeH,SAClBI,aAAa,CAAC;;;;;2BAKW,EAAEA,WAAW;;;IAGpC,CAAC;SAIC,IAAID,AAAQ,SAARA,OAAgB,AAAc,YAAd,OAAOA,OAAmB,CAAEA,CAAAA,eAAeM,KAAI,KAAMC,OAAOC,cAAc,CAACR,SAASO,OAAOE,SAAS,EAAE;QAC9H,IAAMC,QAAQX,iBAAiBQ,OAAOC,cAAc,CAACR;QACrDC,aAAa,CAAC,aAAa,EAAES,MAAM,EAAE,EAAET,WAAWU,KAAK,CAAC,GAAG,CAAC;IAC7D;IAEA,OAAOV;AACR;AAEA,OAAO,SAASW,iCAAiCC,KAAU;IAC1D,IAAI,AAAgB,YAAhB,OAAOA,OAAmB;QAC7B,IAAIA,iBAAiBf,eAAe,OAAO;YAACE,KAAKa,MAAMb,GAAG;QAAA;QAE1D,IAAMc,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.4.39/src/utils/","file":"serialize-js.ts"}