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 }) }