Package Exports
- fuzzy-filter
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fuzzy-filter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Fuzzy-filter
A browserify-compatible fuzzy string filtering function.
Used by Stratus Editor for the Snap Open plugin.
Parameters
pattern - The fuzzy String to match against.
items - An Array of String.
options - (optional)
* pre - String to insert before matching text.
* post - String to insert after matching text.
* limit - Integer maximum number of results.
* separator - String separator. Match against the last
section of the String by default.
* ignorecase - Boolean (default: true).
* ignorespace - Boolean (default: true).
* separate - Boolean (default: false). If set to true, the
function returns an array of an array of strings,
where each array is
[beforeLastSeparator, afterLastSeparator].
If set, `separator` must also be passed.Note: If pre is passed, you also have to pass post (and vice-versa).
Examples
Simple usage
var fuzzy = require('fuzzy-filter')
fuzzy("cs", ["cheese", "pickles", "crackers", "pirate attack", "cs!!"])
// => ["cs!!", "cheese", "crackers"]Highlight match
fuzzy("cs", ["cheese", "pickles", "crackers", "pirate attack", "cs!!"],
{ pre: "<b>"
, post: "</b>" })
// => ["<b>cs</b>!!", "<b>c</b>hee<b>s</b>e", "<b>c</b>racker<b>s</b>"]Separator
fuzzy("cs", ["cookies", "cheese/pie", "fried/cheese", "cheese/cookies"],
{ pre: "<b>"
, post: "</b>"
, separator: "/" })
// => [ "<b>c</b>ookie<b>s</b>"
// , "fried/<b>c</b>hee<b>s</b>e"
// , "cheese/<b>c</b>ookie<b>s</b>" ]
fuzzy("cs/", ["cookies", "cheese/pie", "fried/cheese", "cheese/cookies"],
{ pre: "<b>"
, post: "</b>"
, separator: "/"})
// => [ "<b>c</b>hee<b>s</b>e/pie"
// , "<b>c</b>hee<b>s</b>e/cookies" ]
fuzzy("cs/p", ["cookies", "cheese/pie", "fried/cheese", "cheese/cookies"],
{ pre: "<b>"
, post: "</b>"
, separator: "/"})
// => ["<b>c</b>hee<b>s</b>e/<b>p</b>ie"]
fuzzy("cs/p", ["cookies", "cheese/pie", "fried/cheese", "cheese/cookies"],
{ pre: "<b>"
, post: "</b>"
, separator: "/"
, separate: true })
// => [ ["<b>c</b>hee<b>s</b>e", "<b>p</b>ie"] ]License
See LICENSE.
