(
obj1: IdObj<unknown>,
obj2: IdObj<unknown>,
isEqual: (value1: unknown, value2: unknown) => boolean = (value1, value2) =>
value1 === value2,
)
| 74 | |
| 75 | /*! istanbul ignore next */ |
| 76 | export const objIsEqual = ( |
| 77 | obj1: IdObj<unknown>, |
| 78 | obj2: IdObj<unknown>, |
| 79 | isEqual: (value1: unknown, value2: unknown) => boolean = (value1, value2) => |
| 80 | value1 === value2, |
| 81 | ): boolean => { |
| 82 | const entries1 = objEntries(obj1); |
| 83 | return ( |
| 84 | size(entries1) === objSize(obj2) && |
| 85 | arrayEvery(entries1, ([index, value1]) => |
| 86 | isObject(value1) |
| 87 | ? /*! istanbul ignore next */ |
| 88 | isObject(obj2[index]) |
| 89 | ? objIsEqual(obj2[index] as any, value1 as any, isEqual) |
| 90 | : false |
| 91 | : isEqual(value1, obj2[index]), |
| 92 | ) |
| 93 | ); |
| 94 | }; |
| 95 | |
| 96 | export const objEnsure = <Value>( |
| 97 | obj: IdObj<Value>, |
no test coverage detected
searching dependent graphs…