MCPcopy Index your code
hub / github.com/tinyplex/tinybase / objIsEqual

Function objIsEqual

src/common/obj.ts:76–94  ·  view source on GitHub ↗
(
  obj1: IdObj<unknown>,
  obj2: IdObj<unknown>,
  isEqual: (value1: unknown, value2: unknown) => boolean = (value1, value2) =>
    value1 === value2,
)

Source from the content-addressed store, hash-verified

74
75/*! istanbul ignore next */
76export 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
96export const objEnsure = <Value>(
97 obj: IdObj<Value>,

Callers 3

hooks.tsFile · 0.90
primitives.tsFile · 0.90
contentOrChangesIsEqualFunction · 0.90

Calls 5

sizeFunction · 0.90
arrayEveryFunction · 0.90
objSizeFunction · 0.70
isObjectFunction · 0.70
isEqualFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…