Neatly Packaged Manuals

    fuzzaldrin
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/fuzzaldrin package

    2.1.0 • Public • Published

    fuzzaldrin

    Build Status Build status

    Fuzzy filtering and string scoring.

    This library is used by Atom and so its focus will be on scoring and filtering paths, methods, and other things common when writing code. It therefore will specialize in handling common patterns in these types of strings such as characters like /, -, and _, and also handling of camel cased text.

    Using

    npm install fuzzaldrin

    filter(candidates, query, [options])

    Sort and filter the given candidates by matching them against the given query.

    • candidates - An array of strings or objects.
    • query - A string query to match each candidate against.
    • options - An optional object with the following keys:
      • key - The property to use for scoring if the candidates are objects.
      • maxResults - The maximum numbers of results to return.

    Returns an array of candidates sorted by best match against the query.

    {filter} = require 'fuzzaldrin'
     
    # With an array of strings 
    candidates = ['Call''Me''Maybe']
    results = filter(candidates'me')
    console.log(results) # ['Me', 'Maybe'] 
     
    # With an array of objects 
    candidates = [
      {name: 'Call'id: 1}
      {name: 'Me'id: 2}
      {name: 'Maybe'id: 3}
    ]
    results = filter(candidates'me'key: 'name')
    console.log(results) # [{name: 'Me', id: 2}, {name: 'Maybe', id: 3}] 

    score(string, query)

    Score the given string against the given query.

    • string - The string the score.
    • query - The query to score the string against.
    {score} = require 'fuzzaldrin'
     
    score('Me''me')    # 0.17099999999999999 
    score('Maybe''me') # 0.0693 

    Developing

    git clone https://github.com/atom/fuzzaldrin.git
    cd fuzzaldrin
    npm install
    npm test

    You can run the benchmarks using:

    npm run benchmark

    Install

    npm i fuzzaldrin

    DownloadsWeekly Downloads

    101,878

    Version

    2.1.0

    License

    none

    Last publish

    Collaborators

    • atom-team
    • probablycorey
    • nathansobo
    • benogle
    • kevinsawicki