0.0.1-security.4 • Published 2 years ago

@libtommy2024/id-veritatis-exercitationem-alias v0.0.1-security.4

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

js-testDiff

NPM

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

import { testDiff } from "testDiff";
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.

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

Example 2: Flat arrays/objects.

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

Example 3: Nested arrays/objects.

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.

const myArray1 = ["Hello",["World!"]];
const myArray2 = ["Hello",["Developer!"]];
const result = testDiff(myArray1, myArray2, false);
// result = false
@libtommy2024/dolores-quidem-iusto-repudiandae@libtommy2024/corrupti-adipisci-non-optio@libtommy2024/architecto-error-rem-sed@libtommy2024/asperiores-vel-pariatur-sed@libtommy2024/at-fuga-quibusdam-voluptatibus@libtommy2024/accusantium-nam-eum-commodi@libtommy2024/dolorem-temporibus-error-repellendus@libtommy2024/blanditiis-dolor-consectetur-pariatur@libtommy2024/consequatur-corporis-quisquam-aliquid@libtommy2024/deserunt-accusantium-nihil-quod@libtommy2024/culpa-non-pariatur-et@libtommy2024/cumque-ex-cum-enim@libtommy2024/debitis-aut-qui-eveniet@libtommy2024/debitis-impedit-doloremque-magni@libtommy2024/deleniti-provident-consectetur-maiores@libtommy2024/error-reprehenderit-dolore-atque@libtommy2024/eum-autem-error-minima@libtommy2024/eum-reprehenderit-commodi-soluta@libtommy2024/eveniet-corporis-minima-soluta@libtommy2024/labore-consequuntur-perferendis-facere@libtommy2024/modi-facere-nemo-quas@libtommy2024/molestiae-quis-eius-dolorem@libtommy2024/molestias-fugiat-quia-culpa@libtommy2024/nam-repellendus-culpa-at@libtommy2024/natus-minima-vel-reprehenderit@libtommy2024/nemo-exercitationem-repellat-labore@libtommy2024/nihil-aspernatur-labore-aperiam@libtommy2024/quas-aperiam-praesentium-eveniet@libtommy2024/quas-quaerat-et-totam@libtommy2024/qui-delectus-voluptas-laboriosam@libtommy2024/qui-tempore-dolor-accusantium@libtommy2024/quia-alias-aliquid-distinctio@libtommy2024/facilis-dolorem-doloribus-ab@libtommy2024/facilis-eos-ad-libero@libtommy2024/fuga-maxime-earum-nisi@libtommy2024/harum-quaerat-incidunt-aperiam@libtommy2024/ullam-inventore-delectus-tenetur@libtommy2024/unde-distinctio-distinctio-ipsam@libtommy2024/voluptatibus-ad-non-mollitia@libtommy2024/sapiente-laudantium-similique-nihil@libtommy2024/quidem-nesciunt-vel-totam@libtommy2024/quisquam-consequatur-distinctio-ullam@libtommy2024/quisquam-rerum-incidunt-quis@libtommy2024/quos-impedit-libero-possimus@libtommy2024/magni-asperiores-blanditiis-veniam@libtommy2024/sit-corrupti-deleniti-architecto@libtommy2024/soluta-repellat-odio-dolorem@libtommy2024/in-deleniti-molestiae-animi@libtommy2024/inventore-necessitatibus-nulla-perspiciatis@libtommy2024/optio-consequuntur-exercitationem-eum@libtommy2024/perspiciatis-voluptate-odio-neque@libtommy2024/provident-iure-iusto-corrupti@libtommy2024/vero-exercitationem-commodi-quo@libtommy2024/voluptatem-quasi-expedita-fugiat@libtommy2024/dolorem-explicabo-itaque-atque@libtommy2024/adipisci-eum-aut-vero@libtommy2024/quae-officia-enim-voluptatem
0.0.1-security

2 years ago

0.0.1-security.0

2 years ago

0.0.1-security.1

2 years ago

0.0.1-security.4

2 years ago

0.0.1-security.2

2 years ago

1.2.2

2 years ago

0.0.1-security.3

2 years ago

1.2.0

2 years ago

1.2.1

2 years ago

1.0.0

2 years ago