micromark-util-classify-character
!Buildbuild-badgebuild
!Coveragecoverage-badgecoverage
!Downloadsdownloads-badgedownloads
!Sizebundle-size-badgebundle-size
!Sponsorssponsors-badgeopencollective
!Backersbackers-badgeopencollective
!Chatchat-badgechatmicromark utility to classify whether a character is whitespace or punctuation.
Contents
* [`classifyCharacter(code)`](#classifycharactercode)
What is this?
This package exposes an algorithm to classify characters into 3 categories.When should I use this?
This package might be useful when you are making your own micromark extensions.Install
This package is ESM onlyesm. In Node.js (version 16+), install with npm:npm install micromark-util-classify-character
In Deno with
esm.sh
esmsh:import {classifyCharacter} from 'https://esm.sh/micromark-util-classify-character@1'
In browsers with
esm.sh
esmsh:<script type="module">
import {classifyCharacter} from 'https://esm.sh/micromark-util-classify-character@1?bundle'
</script>
Use
/**
* @this {TokenizeContext}
* @type {Tokenizer}
*/
function tokenizeAttention(effects, ok) {
return start
// …
/** @type {State} */
function sequence(code) {
if (code === marker) {
// …
}
const token = effects.exit('attentionSequence')
const after = classifyCharacter(code)
const open =
!after || (after === constants.characterGroupPunctuation && before)
const close =
!before || (before === constants.characterGroupPunctuation && after)
// …
}
// …
}
API
This module exports the identifierclassifyCharacter
api-classify-character.
There is no default export.classifyCharacter(code)
Classify whether a code represents whitespace, punctuation, or something
else.Used for attention (emphasis, strong), whose sequences can open or close based on the class of surrounding characters.
👉 Note: eof (null
) is seen as whitespace.
Parameters
code
(Code
)
— code
Returns
Group (constants.characterGroupWhitespace
,
constants.characterGroupPunctuation
, or undefined
).Types
This package is fully typed with TypeScript. It exports no additional types.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,
micromark-util-classify-character@^2
, compatible with Node.js 16.
This package works with micromark@^3
.Security
This package is safe. Seesecurity.md
securitymd in micromark/.github
health for how to
submit a security report.Contribute
Seecontributing.md
contributing in micromark/.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, organisation, or community you agree to abide by its terms.