Socket
Socket
Sign inDemoInstall

fast-diff

Package Overview
Dependencies
0
Maintainers
2
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

fast-diff

Fast Javascript text diff

    1.3.0latest
    GitHub
    npm

Version published
Maintainers
2
Weekly downloads
14,458,636
increased by4.17%

Weekly downloads

Package description

What is fast-diff?

The fast-diff npm package is a JavaScript library that provides a fast and efficient way to compute the difference between two strings. It is commonly used to implement text comparison features, such as in diff tools or for highlighting changes in text documents.

What are fast-diff's main functionalities?

Compute Difference

This feature allows you to compute the difference between two strings. The function returns an array of tuples, where each tuple represents a part of the diff and its type (addition, deletion, or no change).

const diff = require('fast-diff');
const text1 = 'hello world';
const text2 = 'hello new world';
const changes = diff(text1, text2);
console.log(changes);

Customizable Diff Function

fast-diff allows you to customize the diff function by passing an optional cursor position to optimize the diff computation around that cursor location. This is useful for real-time editing applications.

const diff = require('fast-diff');
const text1 = 'goodbye world';
const text2 = 'goodbye cruel world';
const changes = diff(text1, text2, diff.EQUAL);
console.log(changes);

Other packages similar to fast-diff

Readme

Source

Fast Diff Build Status

This is a simplified import of the excellent diff-match-patch library by Neil Fraser into the Node.js environment. The match and patch parts are removed, as well as all the extra diff options. What remains is incredibly fast diffing between two strings.

The diff function is an implementation of "An O(ND) Difference Algorithm and its Variations" (Myers, 1986) with the suggested divide and conquer strategy along with several optimizations Neil added.

var diff = require('fast-diff');

var good = 'Good dog';
var bad = 'Bad dog';

var result = diff(good, bad);
// [[-1, "Goo"], [1, "Ba"], [0, "d dog"]]

// Respect suggested edit location (cursor position), added in v1.1
diff('aaa', 'aaaa', 1)
// [[0, "a"], [1, "a"], [0, "aa"]]

// For convenience
diff.INSERT === 1;
diff.EQUAL === 0;
diff.DELETE === -1;

Keywords

FAQs

Last updated on 19 May 2023

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc