export function findIndexById(array : T[], id : string | number) { return array.findIndex(({id: currentId}) => currentId === id) } export function findById(array : T[], id : string | number) { return array.find(({id: currentId}) => currentId === id) } export function includesById(array: any[], id: string | number) { return array.some(({id: currentId}) => currentId === id) } // https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_isnil export function isNil(value: unknown) { return value == null } export function omitBy(obj: Record, check: (value: unknown) => boolean) { if (isNil(obj)) { return {} } return Object.fromEntries( Object.entries(obj).filter(([, value]) => !check(value)), ) }