Skip to content

mathiasbynens/unicode-loose-match

Repository files navigation

unicode-loose-match unicode-loose-match on npm

unicode-loose-match is a JavaScript implementation of UAX44-LM3, i.e. the loose matching algorithm for symbolic values as defined in the Unicode Standard.

It’s based on Unicode data and recognizes property aliases and property value aliases.

Installation

To use unicode-loose-match programmatically, install it as a dependency via npm:

$ npm install unicode-loose-match

Then, require it:

const matchLoosely = require('unicode-loose-match');

API

This module exports a single function named matchLoosely.

matchLoosely(propertyInput, [valueInput])

This function takes two strings propertyInput and valueInput and applies loose matching on the property-value pair within the list of all Unicode property values. valueInput is optional.

The return value is an object containing containing the canonical property name property and the canonical property value name value. If an unknown propertyInput is given, an exception is thrown.

// Find the canonical property name and property value name:
matchLoosely('blk', 'Arabic_PF_B');
// → { 'property': 'Block', 'value': 'Arabic_Presentation_Forms_B' }

// Find the canonical property name:
matchLoosely('compex');
// → { 'property': 'Full_Composition_Exclusion' }

For maintainers

How to publish a new release

  1. On the main branch, bump the version number in package.json:

    npm version patch -m 'Release v%s'

    Instead of patch, use minor or major as needed.

    Note that this produces a Git commit + tag.

  2. Push the release commit and tag:

    git push && git push --tags

    Our CI then automatically publishes the new release to npm.

Author

twitter/mathias
Mathias Bynens

License

unicode-loose-match is available under the MIT license.

About

A JavaScript implementation of Unicode loose matching.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors