@benev/slate
Version:
frontend web stuff
15 lines (14 loc) • 782 B
TypeScript
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);