Verifica si dos objetos son profundamente iguales. Esto se usa internamente por expect().toEqual() en el ejecutor de pruebas de Bun.
ts
const a = { a: 1, b: 2, c: { d: 3 } };
const b = { a: 1, b: 2, c: { d: 3 } };
Bun.deepEquals(a, b); // truePasa true como tercer argumento para habilitar el modo estricto. Esto se usa internamente por expect().toStrictEqual() en el ejecutor de pruebas de Bun.
Los siguientes ejemplos devolverían true en modo no estricto pero false en modo estricto.
ts
// valores undefined
Bun.deepEquals({}, { a: undefined }, true); // false
// undefined en arreglos
Bun.deepEquals(["asdf"], ["asdf", undefined], true); // false
// arreglos dispersos
Bun.deepEquals([, 1], [undefined, 1], true); // false
// objetos literales vs instancias con mismas propiedades
class Foo {
a = 1;
}
Bun.deepEquals(new Foo(), { a: 1 }, true); // falseConsulta Documentación > API > Utilidades para más utilidades útiles.