Socket
Socket
Sign inDemoInstall

fast-diff

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    fast-diff

Fast Javascript text diff


Version published
Weekly downloads
15M
increased by1.8%
Maintainers
1
Install size
39.8 kB
Created
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 08 Oct 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your 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