Formatter for Fuse js
Small utility that takes an array or an object, and returns an array of 'key-strings' for each path in the item. This is useful for libraries like Fusejs that require an array of keys for the fuzzy search.
Install
npm i fuseFormat --save
Include
Include package at the top of your project.
const fuseFormat =
or
Options
A few options are available to you to tweak your response.
Key | Type | Default |
---|---|---|
includeIndexes | boolean | false |
exclude | string | |
depth | integer | 3 |
includeIndexes
includeIndexes
sets whether or not to include the array index in the result keystring.
Example:
const data = iHaveAnArray: hello: 'there' // returns [ '0.iHaveAnArray', '0.iHaveAnArray.0.hello' ]
exclude
exclude
accepts either a string or an array of strings of keys or patterns that you would like to exclude from the results.
Example:
const data = oh: hai: mark: '' // returns ['oh', 'oh.hai']
Make sure you know what you are excluding because it works from the top down. For example:
const data = i: am: deeply: nested: hi: '' // returns ['i']
Pattern Example:
const data = i: am: deeply: nested: hi: '' so: i: am: null // returns ['i', 'i.am', 'i.am.deeply', 'so', 'so.i', 'so.i.am']
depth
depth
accepts an integer and sets how deep to traverse the source.
Example:
const data = i: am: deeply: nested: hi: '' // returns ['i', 'i.am']
Examples
More examples can be found in the examples folder the repo on: Github
Development
PR's are welcome from any level.