micromark-util-classify-character

micromark utility to classify whether a character is whitespace or punctuation

Stats

StarsIssuesVersionUpdatedCreatedSize
micromark-util-classify-character
1.0.0a year agoa year agoMinified + gzip package size for micromark-util-classify-character in KB

Readme

micromark-util-classify-character

Build Coverage Downloads Size Sponsors Backers Chat

micromark utility to classify whether a character is whitespace or punctuation.

Contents

Install

npm:

npm install micromark-util-classify-character

Use

/** @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 following identifiers: classifyCharacter. There is no default export.

classifyCharacter(code)

Classify whether a character 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 that eof (null) is seen as whitespace.

Returns

constants.characterGroupWhitespace, constants.characterGroupPunctuation, or undefined.

Security

See security.md in micromark/.github for how to submit a security report.

Contribute

See contributing.md in micromark/.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, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.