# @jsopen/objects

[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]
[![CI Tests][ci-test-image]][ci-test-url]
[![Test Coverage][coveralls-image]][coveralls-url]

A 'swiss army knife' solution for working with javascript objects.

## Functions

### [merge](docs/merge.md)
Is a powerful, flexible tool for merging objects, arrays, and their nested properties.

### [clone / deepClone](docs/clone.md)
Easy ways to create shallow or deep copies of objects and arrays.

### [omit / omitUndefined / omitNull / omitNullish](docs/omit.md)
Easily exclude specific keys or nullish values from objects.

### [updateErrorMessage](docs/update-error-message.md)
Update an Error object's message while correctly refreshing the stack trace.

### [Utilities](docs/utils.md)
Various utility functions for object and type checking.


## Installation

`$ npm install @jsopen/objects`

## Node Compatibility

- node `>= 16`;

### License
[MIT](LICENSE)


[npm-image]: https://img.shields.io/npm/v/@jsopen/objects
[npm-url]: https://npmjs.org/package/@jsopen/objects
[ci-test-image]: https://github.com/panates/jsopen-objects/actions/workflows/test.yml/badge.svg
[ci-test-url]: https://github.com/panates/jsopen-objects/actions/workflows/test.yml
[coveralls-image]: https://coveralls.io/repos/github/panates/jsopen-objects/badge.svg?branch=main
[coveralls-url]: https://coveralls.io/github/panates/jsopen-objects?branch=main
[downloads-image]: https://img.shields.io/npm/dm/@jsopen/objects.svg
[downloads-url]: https://npmjs.org/package/@jsopen/objects

