JSPM

string-proximity

0.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 13
  • Score
    100M100P100Q53502F
  • License MIT

Fast String Similarity Library for Node.js

Package Exports

  • string-proximity
  • string-proximity/index.js

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 (string-proximity) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

string-proximity. - Fast String Similarity Library for Node.js

CI
npm version
GitHub Repo stars

Table of Contents

Overview

string-proximity. is a high-performance string similarity library for Node.js, powered by Rust through NAPI bindings. Designed for speed and accuracy, string-proximity. supports both Unicode and ASCII characters. Whether you're building search engines, fuzzy matchers, or duplicate detectors, string-proximity. delivers precise similarity calculations without sacrificing ease of use.

Features

  • Levenshtein Distance
    Calculate the minimum number of edits (insertions, deletions, or substitutions) required to transform one string into another, with full Unicode support.

  • Jaro-Winkler Similarity
    Detect typos and perform fuzzy matching by measuring similarity based on common prefixes and transpositions.

  • Best Match Finder
    Quickly identify the closest match from a list of candidates, complete with confidence filtering to dismiss weak matches.

Installation

Install string-proximity. using your preferred package manager:

npm install string-proximity
# or
yarn add string-proximity
# or
pnpm add string-proximity

Usage

string-proximity. is built to be intuitive and simple to integrate into your projects.

Calculating String Similarity

import { stringSimilarity, SimilarityAlgorithm } from 'string-proximity';

const score = stringSimilarity('hello', 'helo', SimilarityAlgorithm.JaroWinkler);
console.log(`Similarity Score: ${score}`); // Example output: 0.96

Computing Levenshtein Distance

import { levenshteinDistance } from 'string-proximity';

const distance = levenshteinDistance('kitten', 'sitting');
console.log(`Levenshtein Distance: ${distance}`); // Example output: 3

Finding the Best Match

import { findBestMatch } from 'string-proximity';

const result = findBestMatch('apple', ['apples', 'aple', 'apple']);
console.log(`Best match: ${result.best_match.string}`);
console.log(`Score: ${result.best_match.score}`);

Testing

string-proximity. comes with a comprehensive suite of tests using AVA to ensure reliability and performance. Run the tests with:

npm test

Performance

Powered by Rust, string-proximity. outperforms traditional JavaScript implementations for string similarity tasks. Whether you're comparing short strings or processing large volumes of text, string-proximity. delivers the speed and accuracy your application needs.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! If you have ideas for improvements, encounter bugs, or want to help optimize performance, please open an issue or submit a pull request. Together, we can make string-proximity. even better.