fuzzystring
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

fuzzystring

Simple fuzzy search library written in TypeScript

Alows partial matching of requested string. Useful for searching large sets of data without requesting acureate and full user input.

Demo

Click here for demo

screen recording 2018-12-05 at 21 35 33

Install

yarn add fuzzystring

import { fuzzyString } from 'fuzzystring';
 
// or if you prefer default 🤮exports
import fuzzyString from 'fuzzystring';

Api

fuzzyString('liolor', 'lorem ipsum dolor sit');
 
// returns
{
  parts[
    { content: 'l', type: 'input' },
    { content: 'orem ', type: 'fuzzy' },
    { content: 'i', type: 'input' },
    { content: 'psum d', type: 'fuzzy' },
    { content: 'olor', type: 'input' },
    { content: ' sit', type: 'suggestion' },
  ],
  score0.87,
}

Performance

console.time('measure');
for (let i = 0; i < 100000; i++) {
  fuzzyString(`ive ${i} lles`, `i have ${i} apples`);
}
console.timeEnd('measure');
// measure: 271.169921875ms

Development

Test

yarn test

Build

yarn build

Toodo

  • Demo page
  • Solid performance test
  • Memoized cache for the same inputs
  • CI test cov etc

Readme

Keywords

none

Package Sidebar

Install

npm i fuzzystring

Weekly Downloads

2

Version

1.0.2

License

MIT

Unpacked Size

448 kB

Total Files

14

Last publish

Collaborators

  • pie6k