Skip to content

Initial stable release

Choose a tag to compare

@observ33r observ33r released this 02 Jun 01:43
· 56 commits to main since this release

Initial stable release of object-equals - a high-performance and engine-aware deep equality utility.

Features

  • Full support for:
    • Circular references (opt-in)
    • Cross-realm objects (opt-in)
    • Symbol-keyed properties (opt-in)
    • React elements (opt-in)
    • Objects, Arrays, Sets, Maps, Array Buffers, Typed Arrays, Data Views, Booleans, Strings, Numbers, BigInts, Dates, Errors, Regular Expressions and Primitives
  • Custom fallback equality (valueOf, toString) (opt-in)
  • Strict handling of unsupported types (e.g., throws on WeakMap, Promise)
  • Pure ESM with "exports" and dist/ builds
  • Web-safe variant via:
    import { objectEquals } from '@observ33r/object-equals/web'
  • Fully benchmarked against:
    • lodash.isEqual
    • fast-equals
    • dequal
    • are-deeply-equal
    • node.deepStrictEqual