Skip to content

OpenQuantJS/array-fuzzy-match

 
 

Repository files navigation

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))
})

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.9%
  • JavaScript 11.1%