micromark-factory-label

micromark factory to parse labels (found in media, definitions)

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
micromark-factory-label
1.0.2a year ago2 years agoMinified + gzip package size for micromark-factory-label in KB

Readme

micromark-factory-label
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizebundle-size-badgebundle-size !Sponsorssponsors-badgeopencollective !Backersbackers-badgeopencollective !Chatchat-badgechat
micromark factory to parse labels (found in media, definitions).

Contents

*   [`factoryLabel(…)`](#factorylabel)

Install

npm install micromark-factory-label
## Use

```js
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)
  }

  // …
}

API

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

factoryLabel(…)

Note that labels in markdown are capped at 999 characters in the string.
Parameters
  • 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)
Returns
State.
Examples
[a]
[a
b]
[a\]b]

Security

See security.mdsecuritymd in micromark/.githubhealth for how to submit a security report.

Contribute

See contributing.mdcontributing in micromark/.githubhealth for ways to get started. See support.mdsupport 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.

License

MITlicense © Titus Wormerauthor