nlcst-normalize
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sizesize-badgesize
!Sponsorssponsors-badgecollective
!Backersbackers-badgecollective
!Chatchat-badgechatnlcst utility to normalize a word for easier comparison.
Contents
* [`normalize(value[, options])`](#normalizevalue-options)
* [`Options`](#options)
What is this?
This utility serializes a node and cleans it.When should I use this?
This package is a tiny utility that helps when comparing natural language to word lists.Install
This package is ESM onlyesm. In Node.js (version 16+), install with npm:npm install nlcst-normalize
In Deno with
esm.sh
esmsh:import {normalize} from 'https://esm.sh/nlcst-normalize@4'
In browsers with
esm.sh
esmsh:<script type="module">
import {normalize} from 'https://esm.sh/nlcst-normalize@4?bundle'
</script>
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 identifiernormalize
api-normalize.
There is no default export.normalize(value[, options])
Normalize a word for easier comparison.Always normalizes smart apostrophes (
’
) to straight apostrophes ('
) and
lowercases alphabetical characters ([A-Z]
).Parameters
value
(Array<Node>
node,Node
, orstring
)
— word
options
(Options
api-options, optional)
— configuration
Returns
Normalized word (string
).Options
Configuration (TypeScript type).Fields
allowApostrophes
(boolean
, default:false
)
— do not strip apostrophes (`'`); the default is to remove apostrophes
allowDashes
(boolean
, default:false
)
— Do not strip hyphens (`-`); the default is to remove the hyphen-minus
character
Types
This package is fully typed with TypeScript. It exports the additional typesOptions
api-options.Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line,
nlcst-normalize@^4
,
compatible with Node.js 16.Related
— check whether a node is meant literally
— search for patterns
Contribute
Seecontributing.md
contributing in syntax-tree/.github
health for
ways to get started.
See support.md
support for ways to get help.This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.