UNPKG

@benev/slate

Version:
15 lines (14 loc) 782 B
export declare function ob<Ob extends object>(o: Ob): { map: <Value>(transform: ObTransform<Ob, Value>) => { [P in keyof Ob]: Value; }; filter: (predicate: ObPredicate<Ob>) => { [P in keyof Ob]?: Ob[keyof Ob] | undefined; }; }; export declare namespace ob { var pipe: Readonly<{ map: <O extends {}, Value>(transform: (value: O[keyof O], key: keyof O) => Value) => (o: O) => { [P in keyof O]: Value; }; filter: <O extends {}>(transform: (value: O[keyof O], key: keyof O) => boolean) => (o: O) => { [key: string]: O[keyof O]; }; }>; } export type ObTransform<Ob extends object, Value> = ((value: Ob[keyof Ob], key: keyof Ob) => Value); export type ObPredicate<Ob extends object> = ((value: Ob[keyof Ob], key: keyof Ob) => boolean);