easy-match
A simple matcher with regex cache, zero dependency.


Installation
npm install easy-match
Usage
Contains
const EasyMatch = require('easy-match');
let res = EasyMatch(['it@abc.com','itit@abc.com','xyz@abc.com', 'abcit@domain.com','abcit@'], ['it@']);
console.log(res.matches.length);
console.log(res.matches.includes('it@abc.com'));
console.log(res.matches.includes('itit@abc.com'));
console.log(res.others.includes('xyz@abc.com'));
console.log(res.matches.includes('abcit@domain.com'));
console.log(res.matches.includes('abcit@'));
Left Wildcard
const EasyMatch = require('easy-match');
let res = EasyMatch(['it@abc.com','itit@abc.com','xyz@abc.com', 'abcit@domain.com','abcit@',"it@","itit@"], ['*it@']);
console.log(res.matches.length);
console.log(res.others.includes('it@abc.com'));
console.log(res.others.includes('itit@abc.com'));
console.log(res.others.includes('xyz@abc.com'));
console.log(res.others.includes('abcit@domain.com'));
console.log(res.matches.includes('abcit@'));
console.log(res.matches.includes('it@'));
console.log(res.matches.includes('itit@'));
Right Wildcard
const EasyMatch = require('easy-match');
let res = EasyMatch(['it@abc.com','itit@abc.com','xyz@abc.com', 'abcit@domain.com','abcit@',"it@"], ['it@*']);
console.log(res.matches.length);
console.log(res.matches.includes('it@abc.com'));
console.log(res.others.includes('itit@abc.com'));
console.log(res.others.includes('xyz@abc.com'));
console.log(res.others.includes('abcit@domain.com'));
console.log(res.others.includes('abcit@'));
console.log(res.matches.includes('it@'));
Inner Wildcard
const EasyMatch = require('easy-match');
let res = EasyMatch(['it@abc.com','itit@abc.com','xyz@abc.com', 'abcit@domain.com','abcit@',"it@"], ['*it@*']);
console.log(res.matches.length);
console.log(res.matches.includes('it@abc.com'));
console.log(res.matches.includes('itit@abc.com'));
console.log(res.others.includes('xyz@abc.com'));
console.log(res.matches.includes('abcit@domain.com'));
console.log(res.matches.includes('abcit@'));
console.log(res.matches.includes('it@'));
Full Wildcard
const EasyMatch = require('easy-match');
let res = EasyMatch(['it@abc.com','itit@abc.com','itxyz@abc.com', 'abcit@domain.com','abcit@',"it@"], ['*it*@*']);
console.log(res.matches.length);
console.log(res.matches.includes('it@abc.com'));
console.log(res.matches.includes('itit@abc.com'));
console.log(res.matches.includes('itxyz@abc.com'));
console.log(res.matches.includes('abcit@domain.com'));
console.log(res.matches.includes('abcit@'));
console.log(res.matches.includes('it@'));
Regex
const EasyMatch = require('easy-match');
let res = EasyMatch(['it@abc.com','itit@abc.com','xyz@abc.com', 'abcit@domain.com','abcit@',"it@"], ['/^it@.*$/']);
console.log(res.matches.length);
console.log(res.matches.includes('it@abc.com'));
console.log(res.others.includes('itit@abc.com'));
console.log(res.others.includes('xyz@abc.com'));
console.log(res.others.includes('abcit@domain.com'));
console.log(res.others.includes('abcit@'));
console.log(res.matches.includes('it@'));
Test
mocha
or npm test
check test folder and QUICKSTART.js for extra usage.