UNPKG

fuzzystringmatch

Version:

a small library that creates a in-memory index for a fast and fuzzy lookup of search terms

30 lines (25 loc) 908 B
var expect = require('chai').expect var defaultSplitterConfig = require('../lib/tools/defaultSplitterConfig') var Digester = require('../lib/Digester') var Subject = require('../lib/Subject') describe('Digester', () => { var digester; before(() => { digester = new Digester({splitter: defaultSplitterConfig}) digester.feed('foo') digester.feed(new Subject('food')) digester.feed('FoaR') }) it('should build an index', () => expect(indexToObject(digester.getIndex())).to.deep.equal({ ar: ['FoaR'], fo: ['foo', 'food', 'FoaR'], oa: ['FoaR'], oo: ['foo', 'food'], od: ['food'] })) }) function indexToObject(index) { return Array .from(index.entries()) .reduce((carry, entry) => Object.assign(carry, {[entry[0].getTerm()]: Array.from(entry[1].entries()).map(entry => entry[0].getTerm())}), {}) }