deepEquals()
function deepEquals\<T\>(a: T, b: T): boolean;Defined in: src/lib/utils.ts:148
Deep equality function for plain objects. Recursively compares all nested properties.
Handles:
- Primitives (via ===)
- Arrays (recursive element comparison)
- Plain objects (recursive property comparison)
- null/undefined
Does NOT handle (by design, as these aren't serializable):
- Classes with prototypes
- Functions
- Symbols
- Maps/Sets
- Circular references
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
a | T | First value |
b | T | Second value |
Returns
boolean
true if values are deeply equal
Example
deepEquals({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 2 } }); // true
deepEquals([1, 2, 3], [1, 2, 3]); // true
deepEquals({ a: 1 }, { a: 2 }); // false