unified

Project: syntax-tree/nlcst-normalize

Package: nlcst-normalize@3.0.0

  1. Dependents: 4
  2. nlcst utility to normalize a word for easier comparison
  1. util 137
  2. utility 133
  3. unist 120
  4. nlcst 14
  5. nlcst-util 9
  6. normalize 3

nlcst-normalize

Build Coverage Downloads Size Sponsors Backers Chat

nlcst utility to normalize a word for easier comparison.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install nlcst-normalize

Use

import {normalize} from 'nlcst-normalize'

normalize("Don't") // => 'dont'
normalize('Don’t') // => 'dont'
normalize('Don’t', {allowApostrophes: true}) // => 'don\'t'
normalize('Block-level') // => 'blocklevel'
normalize('Block-level', {allowDashes: true}) // => 'block-level'

normalize({
  type: 'WordNode',
  children: [
    {type: 'TextNode', value: 'Block'},
    {type: 'PunctuationNode', value: '-'},
    {type: 'TextNode', value: 'level'}
  ]
}) // => 'blocklevel'

API

This package exports the following identifiers: normalize. There is no default export.

normalize(value[, options])

Normalize a word (string, Node, Array.<Node>) for easier comparison. Always normalizes smart apostrophes () to straight apostrophes (') and lowercases alphabetical characters ([A-Z]).

options.allowApostrophes

boolean, default: false — Do not strip apostrophes (').

options.allowDashes

boolean, default: false — Do not strip hyphens (-).

Contribute

See contributing.md in syntax-tree/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MIT © Titus Wormer