Socket
Socket
Sign inDemoInstall

@acusti/matchmaking

Package Overview
Dependencies
0
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @acusti/matchmaking

Intuitive approximate string matching (i.e. fuzzy searches)


Version published
Weekly downloads
265
increased by32.5%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

@acusti/matchmaking

latest version maintenance status bundle size downloads per month

Intuitive approximate string matching (i.e. fuzzy searches). See the tests to understand its behavior and evaluate if it’s what you are looking for.

Usage

npm install @acusti/matchmaking
# or
yarn add @acusti/matchmaking

matchmaking exports two functions: getBestMatch and sortByBestMatch. Import them by name:

import { getBestMatch, sortByBestMatch } from '@acusti/matchmaking';

Both functions take the same payload:

type Payload = {
    excludeMismatches?: boolean;
    items: Array<string>;
    text: string;
};

However, sortByBestMatch returns an array of items matching the one passed in but sorted by how close they match the passed-in text, while getBestMatch just returns the text of the single closest match found (i.e. sortByBestMatch(payload)[0]).

The excludeMismatches option for sortByBestMatch allows that function to also filter the results to only include (partial) matches, where a match include fuzzy matches that are strong enough to qualify as a partial match. For example, considering a list of all states in alphabetical order, searching for the text "ma" with excludeMismatches: true returns:

[
    'Maine', // exact match
    'Maryland', // exact match
    'Massachusetts', // exact match
    'Kansas', // partial match
    'Hawaii', // partial match
    'Michigan', // partial match (further distance on 2nd letter)
    'Minnesota', // partial match (further distance on 2nd letter)
    'Mississippi', // partial match (further distance on 2nd letter)
    'Missouri', // partial match (further distance on 2nd letter)
    'Alabama', // end-of-text exact match
    'Oklahoma', // end-of-text exact match
    'Nebraska', // short distance from match
    'Nevada', // short distance from match
    'New Hampshire', // short distance from match
    'New Jersey', // short distance from match
    'New Mexico', // short distance from match
    'New York', // short distance from match
]

Keywords

FAQs

Last updated on 19 Apr 2024

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc