Skip to content

A simple lightweight alternative for npm deep-equal library

License

Notifications You must be signed in to change notification settings

FareFirst/lite-deep-equal

Repository files navigation

lite-deep-equal

Build Status

A simple lightweight alternative for deep-equal

This package is based on https://stackoverflow.com/a/32922084/1866804

Compatible with Node and Browser

This package support all basic types in Javascript: Object, Array, Number, String, null & undefined

Install

npm install lite-deep-equal

Usage

const deepEqual = require('lite-deep-equal');

console.dir(
  deepEqual(
    { a: [2, 3], b: [4] },
    { a: [2, 3], b: [4] },
  ),
);


// => true

console.dir(
  deepEqual(
    { x: 5, y: [6] },
    { x: 5, y: 6 },
  ),
);


// => false

console.dir(
  deepEqual(
    {
      a: [2, 3],
      c: {
        e: ['hello', 2],
      },
      b: [4],
      d: null,
    },
    {
      a: [2, 3],
      b: [4],
      c: {
        e: ['hello', 2],
      },
      d: null,
    },
  ),
);

// => true

Methods

deepEqual(a, b, opts)

const deepEqual = require('lite-deep-equal');

Compare objects a and b, returning whether they are equal according to a recursive equality algorithm.

Contributing

PR's are welcome!

Thanks to all the contributors!