const REACTIVE = Symbol("apollo.reactive"); export interface Reactive { readonly [REACTIVE]: true; readonly value: T; } export function reactive(value: T): Reactive { return { [REACTIVE]: true, value }; } export function isReactive(value: unknown): value is Reactive { return ( typeof value === "object" && value !== null && REACTIVE in value && (value as Record)[REACTIVE] === true ); }