micromark-factory-space
micromark factory to parse markdown space (found in lots of places)
Last updated 3 years ago by wooorm .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install micromark-factory-space 
SYNC missed versions from official npm registry.

micromark-factory-space

Build Coverage Downloads Size Sponsors Backers Chat

micromark factory to parse markdown space (found in lots of places).

Contents

Install

npm:

npm install micromark-factory-space

Use

import {factorySpace} from 'micromark-factory-space'
import {codes} from 'micromark-util-symbol/codes'
import {types} from 'micromark-util-symbol/types'

// A micromark tokenizer that uses the factory:
/** @type {Tokenizer} */
function tokenizeCodeFenced(effects, ok, nok) {
  return start

  // …

  /** @type {State} */
  function info(code) {
    if (code === codes.eof || markdownLineEndingOrSpace(code)) {
      effects.exit(types.chunkString)
      effects.exit(types.codeFencedFenceInfo)
      return factorySpace(effects, infoAfter, types.whitespace)(code)
    }

    if (code === codes.graveAccent && code === marker) return nok(code)
    effects.consume(code)
    return info
  }

  // …
}

API

This module exports the following identifiers: factorySpace. There is no default export.

factorySpace(…)

Note that there is no nok parameter:

  • spaces in markdown are often optional, in which case this factory can be used and ok will be switched to whether spaces were found or not,
  • One space character can be detected with markdownSpace(code) right before using factorySpace
Parameters
  • effects (Effects) — Context
  • ok (State) — State switched to when successful
  • type (string) — Token type for whole (' \t')
  • max (number, default: Infinity) — Max size of whitespace
Returns

State.

Examples

Where represents a tab (plus how much it expands) and represents a single space.

␉
␠␠␠␠
␉␠

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

Current Tags

  • 1.0.0                                ...           latest (3 years ago)
  • 1.0.0-beta.1                                ...           next (3 years ago)

5 Versions

  • 1.0.0                                ...           3 years ago
  • 1.0.0-beta.1                                ...           3 years ago
  • 1.0.0-alpha.3                                ...           3 years ago
  • 1.0.0-alpha.2                                ...           3 years ago
  • 1.0.0-alpha.1                                ...           3 years ago
Maintainers (2)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (0)
None

Copyright 2013 - present © cnpmjs.org | Home |