Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ruanyl/array-fuzzy-match


https://github.com/ruanyl/array-fuzzy-match

Last synced: 18 days ago
JSON representation

Awesome Lists containing this project

README

        

# array fuzzy match

```
npm i array-fuzzy-match
```

```
import isMatch from 'array-fuzzy-match'

test('should return true if matches words', t => {
const arr = ['zhong', 'guo', 'zhong', 'che']
t.true(isMatch(arr, 'zhong'))
t.true(isMatch(arr, 'guo'))
t.true(isMatch(arr, 'zhongg'))
t.true(isMatch(arr, 'guozhong'))
})

test('should return true if matches words case-insensitive', t => {
const arr = ['zhong', 'guo', 'zhong', 'che']
t.true(isMatch(arr, 'Zhong'))
t.true(isMatch(arr, 'GUO'))
t.true(isMatch(arr, 'ZHONGG'))
t.true(isMatch(arr, 'guoZhong'))
})

test('should matches first letter of each word from beginning', t => {
const arr = ['zhong', 'guo', 'zhong', 'che']
t.true(isMatch(arr, 'ZG'))
t.true(isMatch(arr, 'ZGZC'))
t.false(isMatch(arr, 'GZ'))
})

test('should match from the beginning', t => {
const arr = ['zhong', 'guo', 'zhong', 'che']
const config = { wordFromStart: true }
t.true(isMatch(arr, 'zhong', config))
t.false(isMatch(arr, 'guo', config))
t.true(isMatch(arr, 'zhongg', config))
t.false(isMatch(arr, 'guozhong', config))
})

test('should matches first letter of each word', t => {
const arr = ['zhong', 'guo', 'zhong', 'che']
const config = { letterFromStart: false }
t.true(isMatch(arr, 'ZG', config))
t.true(isMatch(arr, 'ZGZC', config))
t.true(isMatch(arr, 'GZ', config))
})
```