(items: T[], filterFn: (i: T) => boolean)
| 34 | } |
| 35 | |
| 36 | export function factorOf<T>(items: T[], filterFn: (i: T) => boolean): number { |
| 37 | const itemCount = items.length; |
| 38 | // early exit for empty rows |
| 39 | if (!itemCount) { |
| 40 | return 1; |
| 41 | } |
| 42 | const filterCount = items.filter(filterFn).length; |
| 43 | // if no rows result from the filter fn we forward return 1 as factor |
| 44 | return filterCount === 0 ? 1 : (itemCount - filterCount) / itemCount; |
| 45 | } |
| 46 | |
| 47 | type ArgumentValue = number | string | boolean | string[]; |
| 48 | export type CliArgsObject<T extends object = Record<string, ArgumentValue>> = |
no outgoing calls
no test coverage detected