This project is part of the
@thi.ng/umbrella monorepo.
About
Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs.
Status
STABLE - used in production
Search or submit any issues for this package
Installation
yarn add @thi.ng/diff
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/diff?module" crossorigin></script>
// UMD
<script src="https://unpkg.com/@thi.ng/diff/lib/index.umd.js" crossorigin></script>
Package sizes (gzipped, pre-treeshake): ESM: 1.25 KB / CJS: 1.30 KB / UMD: 1.33 KB
Dependencies
API
Generated API docs
import { diffArray, DiffMode } from "@thi.ng/diff";
diffArray([1, 2, 3], [1, 2, 4], DiffMode.FULL);
Breaking changes
2.0.0
The linear edit logs of both diffArray
and diffObject
are now
returned as flat arrays, with each log entry consisting of 3 or 2
successive array items. This is to avoid allocation of various small
arrays.
The order of optional args to both functions has been swapped to:
diffArray(old, new, mode?, equiv?)
diffObject(old, new, mode?, equiv?)
Authors
Karsten Schmidt
License
© 2016 - 2020 Karsten Schmidt // Apache Software License 2.0