README
micromark-factory-space
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
) — Contextok
(State
) — State switched to when successfultype
(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.