full text search factory: takes a configuration object and returns a function operating on arrays
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
rollup
src
test
.gitignore
LICENSE
README.md
package-lock.json
package.json
tsconfig.json

README.md

smart-table-search

CircleCI

full text search factory: takes a configuration object and returns a function operating on arrays

basic

options

  • scope: an array with pointers to the properties to search
  • value: the value items should match
  • isCaseSensitive: whether the search should be case sensitive (default: false)

usage

import {basic} from 'smart-table-search';

const collection = [
  {a: 'woo', b: {c: 'foot'}},
  {a: 'foo', b: {c: 'w'}},
  {a: 'foo', b: {c: 'b'}},
];

const search = basic({value: 'w', scope: ['a', 'b.c']})

const output = search(collection);
// > [{"a": "woo", "b": {"c": "foot"}},{"a": "foo", "b": {"c": "w"}}]

regexp

options

  • scope: an array with pointers to the properties to search
  • value: the regex pattern items should match
  • escape: whether special regexp syntax character should be escaped (default false)
  • flags: a string with the flags to provide to the testing regexp (default '')

usage

import {regexp} from 'smart-table-search';

const collection = [
  {a: 'Woo', b: {c: 'bar'}},
  {a: 'a', b: {c: 'w'}},
  {a: 'owo', b: {c: 'bar'}}
];
const search = regexp({value: '^w', scope: ['a', 'b.c'], flags: 'i'});
const output = search(collection)
// > [ {a: 'Woo', b: {c: 'bar'}}, {a: 'a', b: {c: 'w'}}