3 lines
974 B
JavaScript
3 lines
974 B
JavaScript
|
import"./chunk-UK35T4TJ.js";var KEY="_f";function b64decode(b64){let binString=atob(b64),size=binString.length,bytes=new Uint8Array(size);for(let i=0;i<size;i++)bytes[i]=binString.charCodeAt(i);return bytes}function deserialize(str,signal){function reviver(_key,value){if(typeof value=="object"&&value&&KEY in value){let v2=value;if(v2[KEY]==="s")return signal(v2.v);if(v2[KEY]==="b")return BigInt(v2.d);if(v2[KEY]==="u8a")return b64decode(v2.d);if(v2[KEY]==="l"){let val=v2.v;return val[KEY]=v2.k,val}throw new Error(`Unknown key: ${v2[KEY]}`)}return value}let{v,r}=JSON.parse(str,reviver),references=r??[];for(let[targetPath,...refPaths]of references){let target=targetPath.reduce((o,k)=>k===null?o:o[k],v);for(let refPath of refPaths){if(refPath.length===0)throw new Error("Invalid reference");let parent=refPath.slice(0,-1).reduce((o,k)=>k===null?o:o[k],v);parent[refPath[refPath.length-1]]=target}}return v}export{deserialize};
|
||
|
//# sourceMappingURL=deserializer.js.map
|