Releases: lukeed/dequal
v2.0.3
Patches
- Add
"types"
conditions for TypeScript's "nodenext" resolver (#20): f99ec70
Thank you @willstott101~!
Full Changelog: v2.0.2...v2.0.3
v2.0.2
v2.0.1
v2.0.0
Breaking
-
Migrated from
default
to named export: 88f7ec5ESM/TypeScript
- import dequal from 'dequal'; + import { dequal } from 'dequal';
CommonJS
- const dequal = require('dequal'); + const { dequal } = require('dequal');
-
Dropped Internet Explorer support
If IE9+ support is still needed, please use the newdequal/lite
entry (see below).
Thedequal/lite
code is identical todequal@1.x
.
Features
-
Added
ArrayBuffer
andTypeArray
support todequal
entry: cf14422 -
Added
Map
andSet
support todequal
entry: ef34745, 0f081ab
Set values, Map values, and Map keys use deep value equality.Example
const foo = new Map([ [{ abc: 123 }, 'value'] ]); const bar = new Map([ [{ abc: 123 }, 'value'] ]);
With referential equality,
foo
andbar
are not equal. Even though they look identical, their{ abc: 123 }
key is not a shared reference. However, with value equality,foo
andbar
are equal. This is because their{ abc: 123 }
key holds the same value –– this follows howdequal
anddequal/lite
compare any other object. -
Added native ESM support via
exports
mapping: 3533248
Allows for Node.jsimport
statements to work within native ESM resolvers. -
Added
dequal/lite
mode: 81075b1
Preservesdequal@1.x
behaviors, allowing opt-in, continued IE support.
Unlike the primarydequal
offering, this mode does not & will not support Maps, Sets, TypedArray, etc.
Chores
- (readme): Add documentation for "modes" with table comparison: 00c7428..f5210c6, 92e9c7e
- (action) Update CI config (paths, branches, ignores): 0b3e650, 154af6f, 35192d7
- (bench) Update
lodash
version (#10): a255871 - (bench) Refactor and update bench runner for multiple fixtures: 901deab, 8b14a8a
- (bench) Update benchmark results: b971b41
- (tests) Update
uvu
version: b3cfc11