a post-component library for building user-interfaces on the web.
at push-qwruonslltow 14 lines 424 B view raw
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}