import { Tersible } from 'tersify' export type Predicate = (value: V, path: (string | number)[]) => boolean | Diff[] export type TersiblePredicate = Tersible export interface Satisfier { expected: any, test: (actual: T) => boolean, exec: (actual: T) => Diff[] | undefined, } export interface Diff { path: (string | number)[], expected: any, actual: any, }