micromark factory to parse labels (found in media, definitions).
npm:
npm install micromark-factory-label
import {ok as assert} from 'uvu/assert'
import {factoryLabel} from 'micromark-factory-label'
import {codes} from 'micromark-util-symbol/codes'
import {types} from 'micromark-util-symbol/types'
// A micromark tokenizer that uses the factory:
/** @type {Tokenizer} */
function tokenizeDefinition(effects, ok, nok) {
return start
// …
/** @type {State} */
function start(code) {
assert(code === codes.leftSquareBracket, 'expected `[`')
effects.enter(types.definition)
return factoryLabel.call(
self,
effects,
labelAfter,
nok,
types.definitionLabel,
types.definitionLabelMarker,
types.definitionLabelString
)(code)
}
// …
}
This module exports the following identifiers: factoryLabel
.
There is no default export.
Note that labels in markdown are capped at 999 characters in the string.
-
this
(TokenizeContext
) — Tokenize context -
effects
(Effects
) — Context -
ok
(State
) — State switched to when successful -
nok
(State
) — State switched to when not successful -
type
(string
) — Token type for whole ([a]
) -
markerType
(string
) — Token type for the markers ([
and]
) -
stringType
(string
) — Token type for the identifier (a
)
State
.
[a]
[a
b]
[a\]b]
See security.md
in micromark/.github
for how to
submit a security report.
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.