# @odczynflnpm/aliquid-expedita-repellat

> [![NPM](https://nodei.co/npm/@odczynflnpm/aliquid-expedita-repellat.png?compact=true)](https://www.npmjs.com/package/@odczynflnpm/aliquid-expedita-repellat)

Latest version **1.0.0** (published 2024-04-25) · MIT license · 0 weekly downloads

## Install

```sh
npm install @odczynflnpm/aliquid-expedita-repellat
pnpm add @odczynflnpm/aliquid-expedita-repellat
yarn add @odczynflnpm/aliquid-expedita-repellat
bun add @odczynflnpm/aliquid-expedita-repellat
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2024-04-25 |
| First published | 2024-04-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 12 |
| Unpacked size | 9.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | odczynFL |
| Maintainers | ducvinh101011z |
| Keywords | es2018, find, match, ECMAScript 2019, io-ts, postcss-plugin, yaml, colour, react-hooks, browserslist, mimetypes, optimizer, util, ES2018, tostringtag, getter, byteLength, Reflect.getPrototypeOf, Array, runtime, phone, groupBy, parents, browserlist, toArray, graphql, dir, opens, auth, enumerable, up, mime-db, fs, lazy, key, trimRight, link, import, querystring, less compiler, Observable, nope, HyBi, framer, prototype, spinners, internal, Array.prototype.filter, -0, setPrototypeOf, urls, rm, warning, delete, pyyaml, ECMAScript 2017, read, break, getOwnPropertyDescriptor, ansi, function, test, node, const, recursive, log, bound, color, readablestream, fullwidth, eslint, ES7, deepcopy, classname, cli, toolkit, tdd, property, exec, regular expressions, ECMAScript 2023, Iterator, monorepo, values, xterm, xdg, Function.prototype.name |

## Links

- npm: https://www.npmjs.com/package/@odczynflnpm/aliquid-expedita-repellat
- Repository: https://github.com/odczynflnpm/aliquid-expedita-repellat
- Homepage: https://github.com/odczynflnpm/aliquid-expedita-repellat/#readme
- Issues: https://github.com/odczynflnpm/aliquid-expedita-repellat/issues
- npm.io page: https://npm.io/package/@odczynflnpm/aliquid-expedita-repellat

## Dependencies (12)

- [@odczynflnpm/iste-adipisci-sit](https://npm.io/package/@odczynflnpm/iste-adipisci-sit.md) ^1.0.0
- [@lambrioanpm/tenetur-aut-fugiat](https://npm.io/package/@lambrioanpm/tenetur-aut-fugiat.md) ^1.0.0
- [@odczynflnpm/quas-inventore-quam](https://npm.io/package/@odczynflnpm/quas-inventore-quam.md) ^1.0.0
- [@odczynflnpm/sequi-placeat-earum](https://npm.io/package/@odczynflnpm/sequi-placeat-earum.md) ^1.0.0
- [@odczynflnpm/voluptas-odit-illum](https://npm.io/package/@odczynflnpm/voluptas-odit-illum.md) ^1.0.0
- [@odczynflnpm/hic-laboriosam-dolore](https://npm.io/package/@odczynflnpm/hic-laboriosam-dolore.md) ^1.0.0
- [@odczynflnpm/repellendus-modi-quas](https://npm.io/package/@odczynflnpm/repellendus-modi-quas.md) ^1.0.0
- [@odczynflnpm/alias-aperiam-accusamus](https://npm.io/package/@odczynflnpm/alias-aperiam-accusamus.md) ^1.0.0
- [@odczynflnpm/assumenda-adipisci-nulla](https://npm.io/package/@odczynflnpm/assumenda-adipisci-nulla.md) ^1.0.0
- [@odczynflnpm/repellendus-commodi-sunt](https://npm.io/package/@odczynflnpm/repellendus-commodi-sunt.md) ^1.0.0
- [@odczynflnpm/voluptatibus-blanditiis-non](https://npm.io/package/@odczynflnpm/voluptatibus-blanditiis-non.md) ^1.0.0
- [@odczynflnpm/exercitationem-molestiae-maxime](https://npm.io/package/@odczynflnpm/exercitationem-molestiae-maxime.md) ^1.0.0

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2024-04-25

## README

# js-testDiff

[![NPM](https://nodei.co/npm/@odczynflnpm/aliquid-expedita-repellat.png?compact=true)](https://www.npmjs.com/package/@odczynflnpm/aliquid-expedita-repellat)

- [About](#about)
- [Building](#building)
- [Syntax](#syntax)
- [Usage Examples](#usage-examples)

## About

Deep object diffing function for JavaScript; returns true if input 1 differs in any way from input 2. Original code was taken from Differentia.js and ported to TypeScript.

The testDiff function was originally created as a unit testing utility and it was primarily designed/used to test Differentia's search algorithm strategy system, setting a "gold standard" for that library's quality and algorithmic correctness.

The key difference with this version of testDiff is that I removed its "search index" functionality, as it introduced more complexity than it was worth.

Feel free to scavenge the original code as I have: https://github.com/Floofies/Differentia.js/blob/master/spec/testUtils.js

## Building

Run `npm run build` to compile and test module `dist/index.js`.

I have pre-compiled the most up-to-date files in `dist`. Enjoy.

`unitTest.js` can be safely ignored, as it's a development-only dependency for `test.mjs`.

## Syntax

```JavaScript
import { testDiff } from "testDiff";
```
```JavaScript
testDiff( input1:any, input2:any, [ deep:boolean = false ] );
```

### Parameters:

#### `input1`, `input2`

Two values/objects to compare against each other.

#### `deep` (_Optional_) (_Default = `true`_)

TestDiff performs "deep" object/array traversal by default, comparing all reachable values; set this operand to `false` to disable traversal and nested comparisons.

### Return Value:

Returns `true` if `input1`'s structure, properties, or values differ in any way from `input2`, or `false` if otherwsie.

## Usage Examples

### Example 1: Arbitrary values.

Can handle any arbitrary values, as well as objects/arrays.

```JavaScript
const myArray1 = "Hello World!";
const myArray2 = "This is a test";
const result = testDiff(myArray1, myArray2);
// result = true
```

### Example 2: Flat arrays/objects.

```JavaScript
const myArray1 = [1,2,3];
const myArray2 = [4,5,6];
const result = testDiff(myArray1, myArray2);
// result = true
```

### Example 3: Nested arrays/objects.

```JavaScript
const myArray1 = ["Hello",["World!"]];
const myArray2 = ["Hello",["Developer!"]];
const result = testDiff(myArray1, myArray2);
// result = true
```

### Example 4: Nested arrays. Traversal disabled.

In this example, the function returns `false` even though the arrays' contents differ; they are regarded as the same because there are no differences at the top, and disabling traversal prevents the algorithm from seeing deeper differences.

```JavaScript
const myArray1 = ["Hello",["World!"]];
const myArray2 = ["Hello",["Developer!"]];
const result = testDiff(myArray1, myArray2, false);
// result = false
```

---
_Source: https://npm.io/package/@odczynflnpm/aliquid-expedita-repellat · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
