UNPKG

semantic-analysis

Version:

Extensible semantic Structured Data analysis library for Microdata and JSON-LD

11 lines (10 loc) 517 B
declare type Filter<T> = (value: Readonly<T[keyof T]>, key: Readonly<keyof T>, self: Readonly<T>) => boolean; declare type Filtered<T, F extends Filter<T>> = ReturnType<F> extends true ? T : ReturnType<F> extends false ? Object : Partial<T>; /** * Filters desired properties out of the object * * @param object Input object * @param callback Filter callback function */ export declare function filter<T extends object, F extends Filter<T> = Filter<T>>(object: T, callback: Filter<T>): Filtered<T, F>; export {};