type Reviver = (key: string, value: any) => any export function deserialize(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 }) }