Skip to content

Repository files navigation

Fuse-Operators

This library is based on fusejs.

It was inspired on adding logic operators to be able to apply different conditions on a string search just like would normally do on the SQL Language. No back-end database is needed, just javascript objects.

Installation

$ npm i fuse-operators

How to use

// Data exampleconstmockData=[{"title": "Old Man's War","author": {"firstName": "John","lastName": "Scalzi"}},{"title": "The Lock Artist","author": {"firstName": "John","lastName": "Hamilton"}}];

Available arguments

importfuseWithOperatorsfrom'fuse-operators';constoptions={};// Here you can add all options from http://fusejs.io/ packageconstresult=fuseWithOperators(query,mockData,options);

AND Operator

importfuseWithOperatorsfrom'fuse-operators';constquery='old man && scalzi';constresult=fuseWithOperators(query,mockData);// → [{"title": "Old Man's War", "author": {"firstName": "John", "lastName": "Scalzi"}}]

OR Operator

importfuseWithOperatorsfrom'fuse-operators';constquery='old man || artist';constresult=fuseWithOperators(query,mockData);// → [{"title": "Old Man's War", "author": {"firstName": "John", "lastName": "Scalzi"}}, {"title": "The Lock Artist", "author": {"firstName": "John", "lastName": "Hamilton"}}]

SUBSET Operator

importfuseWithOperatorsfrom'fuse-operators';constquery='old man || the lock artist > scalzi';constresult=fuseWithOperators(query,mockData);// → [{"title": "Old Man's War", "author": {"firstName": "John", "lastName": "Scalzi"}}]

Available operators

OperatorDescription
||OR operator
&&AND operator
>SUBSET operator. Applies a second search on the left side result

Tests

$ npm run test:watch

Contributors

All PRs are welcome :) just make sure you pass all tests.

License

MIT License

About

Operators for fuzzy-search

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages