Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
unicode-match-property-ecmascript
Advanced tools
Match a Unicode property or property alias to its canonical property name per the algorithm used for RegExp Unicode property escapes in ECMAScript.
The unicode-match-property-ecmascript npm package is used to match Unicode property escapes in ECMAScript regular expressions. It provides functionality to check if a given property and value are valid according to the ECMAScript specification and to canonicalize property and value aliases.
Matching Unicode property escapes
This feature allows you to match Unicode property escapes by providing the alias of the property. It returns the canonical property name.
const matchProperty = require('unicode-match-property-ecmascript');
const property = matchProperty('sc');
// 'sc' is the alias for the 'Script' property
console.log(property); // 'Script'
Canonicalizing property names
This feature is used to canonicalize property names by providing an alias and getting back the canonical form of the property name.
const matchProperty = require('unicode-match-property-ecmascript');
const canonicalPropertyName = matchProperty('scx');
// 'scx' is the alias for the 'Script_Extensions' property
console.log(canonicalPropertyName); // 'Script_Extensions'
The regexpu-core package is a RegExp utility for transforming Unicode-aware regular expressions to ES5. It includes the capability to rewrite Unicode property escapes to be compatible with older environments. This package provides broader functionality for dealing with Unicode in regular expressions, whereas unicode-match-property-ecmascript focuses specifically on property matching.
The regenerate-unicode-properties package generates data for Unicode properties and is used by tools like regexpu-core. It provides the raw data needed for Unicode property matching, but unlike unicode-match-property-ecmascript, it does not provide a direct API for matching properties within ECMAScript regular expressions.
unicode-match-property-ecmascript matches a given Unicode property or property alias to its canonical property name without applying loose matching per the algorithm used for RegExp Unicode property escapes in ECMAScript. Consider it a strict alternative to loose matching.
To use unicode-match-property-ecmascript programmatically, install it as a dependency via npm:
$ npm install unicode-match-property-ecmascript
Then, require
it:
const matchProperty = require('unicode-match-property-ecmascript');
This module exports a single function named matchProperty
.
matchProperty(value)
This function takes a string value
and attempts to match it to a canonical Unicode property name. If there’s a match, it returns the canonical property name. Otherwise, it throws an exception.
// Find the canonical property name:
matchProperty('sc')
// → 'Script'
matchProperty('Script')
// → 'Script'
matchProperty('script') // Note: incorrect casing.
// → throws
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.
Push the release commit and tag:
git push && git push --tags
Our CI then automatically publishes the new release to npm.
Mathias Bynens |
unicode-match-property-ecmascript is available under the MIT license.
FAQs
Match a Unicode property or property alias to its canonical property name per the algorithm used for RegExp Unicode property escapes in ECMAScript.
The npm package unicode-match-property-ecmascript receives a total of 20,204,722 weekly downloads. As such, unicode-match-property-ecmascript popularity was classified as popular.
We found that unicode-match-property-ecmascript demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.