Talisman is a JavaScript library collecting algorithms, functions and various building blocks for fuzzy matching, information retrieval and natural language processing.

Installation

You can install Talisman through npm:

npm install talisman

Source code

The library’s source code can be found on its Github repository.

Goals

Modular : the library is completely modular. This means that if you only need to compute a levenshtein distance, you will only load the relevant code.

: the library is completely modular. This means that if you only need to compute a distance, you will only load the relevant code. Straightfoward & simple : just want to compute a jaccard index? No need to instantiate a class and use two methods to pass options and then finally succeed in getting the index. Just apply the jaccard function and get going.

: just want to compute a jaccard index? No need to instantiate a class and use two methods to pass options and then finally succeed in getting the index. Just apply the function and get going. Consistent API : the library’s API is fully consistent and one should not struggle to understand how to apply two different distance metrics.

: the library’s API is fully consistent and one should not struggle to understand how to apply two different distance metrics. Functional : except for cases where classes might be useful (clustering notably), Talisman only uses functions, consumes raw data and order functions’ arguments to make partial application & currying etc. as easy as possible.

: except for cases where classes might be useful (clustering notably), Talisman only uses functions, consumes raw data and order functions’ arguments to make partial application & currying etc. as easy as possible. Performant : the library should be as performant as possible for a high-level programming language library.

: the library should be as performant as possible for a high-level programming language library. Cross-platform: the library is cross-platform and can be used both with node.js and in the browser.

List of available modules

Top level

Full list

Changelog

A full list of the changes made by each version of the library is available here.

Contribution

Contributions are of course welcome :)

Be sure to lint & pass the unit tests before submitting your pull request.

# Cloning the repo git clone git@github.com:Yomguithereal/talisman.git cd talisman # Installing the deps npm install # Running the tests npm test # Linting the code npm run lint

License

MIT