Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
autosuggest-trie
Advanced tools
Minimalistic trie implementation for autosuggest and autocomplete components.
Minimalistic trie implementation for autosuggest and autocomplete components.
npm install autosuggest-trie --save
import createTrie from 'autosuggest-trie';
const locations = [
{
id: 1,
name: 'East Richmond 1234 VIC',
population: 10000
},
{
id: 2,
name: 'East Eagle 1235 VIC',
population: 5000
},
{
id: 3,
name: 'Richmond West 5678 VIC',
population: 4000
},
{
id: 4,
name: 'Cheltenham 3192 Melbourne VIC',
population: 7000
},
{
id: 5,
name: 'Richmond 6776 VIC',
population: 3000
}
];
const trie = createTrie(locations, 'name');
console.log(trie.getMatches('richmond e'));
/*
[ { id: 1, name: 'East Richmond 1234 VIC', population: 10000 } ]
*/
console.log(trie.getMatches('ri', { limit: 2 }));
/*
[ { id: 3, name: 'Richmond West 5678 VIC', population: 4000 },
{ id: 5, name: 'Richmond 6776 VIC', population: 3000 } ]
*/
Function | Description |
---|---|
createTrie(items, textKey, options) | Creates a trie containing the given items. |
getMatches(query, options) | Returns items that match the given query. |
Creates a trie containing the given items.
Parameter | Type | Required | Description |
---|---|---|---|
items | Array | ✓ | Array of items. Every item must be an object. |
textKey | String | ✓ | Key that every item in items must have.item will be inserted to the trie based on item[textKey] . |
options | Object | Additional options |
Possible options:
Option | Type | Default | Description |
---|---|---|---|
comparator | Function | none | Items comparator, similar to Array#sort 's compareFunction .It gets two items, and should return a number. Note: Matches in the first word (let's call it "group 1") are prioritized over matches in the second word ("group 2"), which are prioritized over matches in the third word ("group 3"), and so on. comparator will only sort the matches within each group.When comparator is not specified, items within each group will preserve their order in items . |
splitRegex | RegExp | /\s+/ | Used to split items' textKey into words. |
Returns items that match the given query.
Parameter | Type | Required | Description |
---|---|---|---|
query | String | ✓ | Non-blank query string.If query is blank, [] is returned. |
options | Object | Additional query options. |
Possible options
:
Option | Type | Default | Description |
---|---|---|---|
limit | Number | Infinity | Integer >= 1 For example: getMatches('me', { limit: 3 }) will return no more than 3 items that match 'me' . |
splitRegex | RegExp | /\s+/ | Used to split the query into words. |
npm test
FAQs
Minimalistic trie implementation for autosuggest and autocomplete components.
We found that autosuggest-trie demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.