( source: T, predicate: <K extends keyof T>(value: T[K], key: K, collection: T) => boolean )
| 17 | }; |
| 18 | |
| 19 | export const pickBy = <T extends Record<string, any>>( |
| 20 | source: T, |
| 21 | predicate: <K extends keyof T>(value: T[K], key: K, collection: T) => boolean |
| 22 | ) => { |
| 23 | return (Object.keys(source) as (keyof T)[]).reduce((o, key) => { |
| 24 | if (predicate(source[key], key, source)) { |
| 25 | o[key] = source[key]; |
| 26 | } |
| 27 | return o; |
| 28 | }, {} as Partial<T>); |
| 29 | }; |
no outgoing calls
no test coverage detected