@renegade-fi/core
Version:
VanillaJS library for Renegade
11 lines (9 loc) • 369 B
text/typescript
type Reviver = (key: string, value: any) => any
export function deserialize<type>(value: string, reviver?: Reviver): type {
return JSON.parse(value, (key, value_) => {
let value = value_
if (value?.__type === 'bigint') value = BigInt(value.value)
if (value?.__type === 'Map') value = new Map(value.value)
return reviver?.(key, value) ?? value
})
}