unicode-match-property-value-ecmascript

Match a Unicode property or property alias to its canonical property name per the algorithm used for RegExp Unicode property escapes in ECMAScript.

Usage no npm install needed!

<script type="module">
  import unicodeMatchPropertyValueEcmascript from 'https://cdn.skypack.dev/unicode-match-property-value-ecmascript';
</script>

README

unicode-match-property-value-ecmascript Build status unicode-match-property-value-ecmascript on npm

unicode-match-property-value-ecmascript matches a given Unicode property value or property value alias to its canonical property value without applying loose matching, per the algorithm used for RegExp Unicode property escapes in ECMAScript. Consider it a strict alternative to loose matching.

Installation

To use unicode-match-property-value-ecmascript programmatically, install it as a dependency via npm:

$ npm install unicode-match-property-value-ecmascript

Then, require it:

const matchPropertyValue = require('unicode-match-property-value-ecmascript');

API

This module exports a single function named matchPropertyValue.

matchPropertyValue(property, value)

This function takes a string property that is a canonical/unaliased Unicode property name, and a string value. It attemps to match value to a canonical Unicode property value for the given property. If there’s a match, it returns the canonical property value. Otherwise, it throws an exception.

// Find the canonical property value:
matchPropertyValue('Script_Extensions', 'Aghb')
// → 'Caucasian_Albanian'

matchPropertyValue('Script_Extensions', 'Caucasian_Albanian')
// → 'Caucasian_Albanian'

matchPropertyValue('script_extensions', 'Caucasian_Albanian') // Note: incorrect casing.
// → throws

matchPropertyValue('Script_Extensions', 'caucasian_albanian') // Note: incorrect casing.
// → throws

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-match-property-value-ecmascript is available under the MIT license.