fuzzy-match

0.1.0 • Public • Published

fuzzy-id

Match edited strings (or other values) by similarity.

The goal is to be able to do 3-way merges considering sentence/word movements in text.
After having matched the strings the output can be used to do these merges with id-diff and id-merge.

var before = [
  {id: 1, value: 'Hello world'},
  {id: 2, value: 'Node.js is really awesome'},
  {id: 3, value: 'fuzzy-id allows you to match arrays by similarity'},
  {id: 4, value: 'And finally a last sentence'}
]
 
// we lost all IDs and strings were moved around:
var after = [
  'Hello world',
  'fuzzy-id allows you to match arrays by similarity - how great!',
  'Node.js is awesome',
  'This one should not match',
  'And finally a last sentence',
]
 
// required function to decompose values into arrays for comparison:
var decompose = function(value) {
  return value.split(' ')
}
 
var result = match(origin, modified, {decompose: decompose})
// returns:
[
  {id: 1, value: 'Hello world'},
  {id: 3, value: 'fuzzy-id allows you to match arrays by similarity - how great!'},
  {id: 2, value: 'Node.js is awesome'},
  {id: undefined, value: 'This one should not match'},
  {id: 4, value: 'And finally a last sentence'}
]
``

Readme

Keywords

none

Package Sidebar

Install

npm i fuzzy-match

Weekly Downloads

1

Version

0.1.0

License

BSD

Last publish

Collaborators

  • mirkok