https://github.com/gastonpereyra/are-objects-equals
A tool to compare objects easier
https://github.com/gastonpereyra/are-objects-equals
compare equals node objects
Last synced: 24 days ago
JSON representation
A tool to compare objects easier
- Host: GitHub
- URL: https://github.com/gastonpereyra/are-objects-equals
- Owner: gastonpereyra
- License: mit
- Created: 2020-07-13T00:37:46.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T11:23:55.000Z (about 2 years ago)
- Last Synced: 2025-03-27T15:47:45.718Z (about 1 month ago)
- Topics: compare, equals, node, objects
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/are-objects-equals
- Size: 509 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Are Objects Equals
## Code Quality Status

[](https://coveralls.io/r/gastonpereyra/are-objects-equals?branch=master)
## Description
A Function to compare and normalize objects easier## Installation
```
npm i are-objects-equals
```## Params
`areObjectsEquals(objectBase, objectToCompare, options)`
### objectBase and objectToCompare
* Items to compare
* Type: `Object`
* RequiredExample
```js
{
name: "Juan Román",
lastname: "Riquelme",
clubs: ["Boca", "Barcelona", "Villareal", "Argentinos"],
number: 10,
stillPlaying: false,
birthPlace: { country: "Argentina", province: "Buenos Aires", city: "Don Torcuato" }
}
```### options
* Options to normalize the objects before compare
* Type: `Object`
* OptionalExample
```js
{
fieldsToKeep: ["name", "number"]
}
```:link: See more in [Object Normalize](https://github.com/gastonpereyra/objects-normalizer#options)
## Usage
### areObjectsEquals(objectBase, objectToCompare)
Will compare the 2 objects without any formatting
```js
const areObjectsEquals = require('are-objects-equals');const playerSample1 = {
name: "Juan Román",
lastname: "Riquelme",
clubs: ["Boca", "Barcelona", "Villareal", "Argentinos"],
number: 10,
stillPlaying: false,
birthPlace: { country: "Argentina", province: "Buenos Aires", city: "Don Torcuato" }
};const playerSample2 = {
name: "Juan Román",
lastname: "Riquelme",
clubs: ["Boca", "Barcelona", "Villareal", "Argentinos"],
number: 10
}areObjectsEquals(playerSample1, playerSample2);
/*
output: false
*/areObjectsEquals(playerSample1, playerSample1);
/*
output: true
*/
```### areObjectsEquals(objectBase, objectToCompare, options)
Will compare objects after normalize them
```js
const areObjectsEquals = require('are-objects-equals');const playerSample1 = {
name: "Juan Román",
lastname: "Riquelme",
clubs: ["Boca", "Barcelona", "Villareal", "Argentinos"],
number: 10,
stillPlaying: false,
birthPlace: { country: "Argentina", province: "Buenos Aires", city: "Don Torcuato" }
};const playerSample2 = {
name: "Juan Román",
lastname: "Riquelme",
clubs: ["Boca", "Barcelona", "Villareal", "Argentinos"],
number: 10
}areObjectsEquals(playerSample1, playerSample2, { fieldsToKeep: ["name", "lastname", "clubs", "number"]});
/*
output: true
*/const playerSample3 = {
name: "Lionel",
lastname: "Messi",
clubs: ["Barcelona"],
number: 10,
stillPlaying: true
}areObjectsEquals(playerSample1, playerSample3, { fieldsToRemove: ["name", "lastname", "clubs", "stillPlaying"]});
/*
output: true
*/