Deep equality without recursive exhaustion

@stackline/deep-is

Keep the familiar loose equality contract while safely traversing cyclic and deeply nested JavaScript object graphs.

npm install @stackline/deep-is
v1.0.1Node 12+TypeScript 3.9-7.0Zero runtime dependencies

Runs the production browser bundle

Value comparator

Actual value

JSON

Expected value

JSON
ReadyChoose values and compare.

Lowest-change migration

Keep every existing import

Install through an npm alias when the application already requires deep-is.

npm install deep-is@npm:@stackline/deep-is
const deepIs = require('deep-is')

Public contract

One synchronous function

Full reference
CallBehaviorReturn
deepIs(actual, expected)Compares values without mutationboolean
deepIs(NaN, NaN)Preserves historical NaN equalitytrue
deepIs(+0, -0)Preserves signed-zero distinctionfalse
deepIs(1, '1')Preserves loose primitive comparisontrue

Release evidence

Compatibility is measured

5,625
differential pairs against 0.1.4
100,000
tested nesting levels
100%
core coverage
0
runtime dependencies

Portable reference

Human and machine-readable docs

Versioned API, migration, compatibility, and security references remain available without client rendering.