a post-component library for building user-interfaces on the web.
1import * as devalue from 'devalue'
2
3export function stringify(value: unknown): string {
4 return devalue.stringify(value, {
5 Error: value =>
6 value instanceof Error && { name: value.name, message: value.message, stack: value.stack, cause: value.cause },
7 })
8}
9
10export function parse(value: string): unknown {
11 return devalue.parse(value, {
12 Error: ({ message, ...rest }) => Object.assign(new Error(message), rest),
13 })
14}