Narcoleptic's Patch Mangler

    micromark-factory-destination
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    micromark-factory-destination

    Build Coverage Downloads Size Sponsors Backers Chat

    micromark factory to parse destinations (found in resources, definitions).

    Contents

    Install

    npm:

    npm install micromark-factory-destination

    Use

    import {factoryDestination} from 'micromark-factory-destination'
    import {codes} from 'micromark-util-symbol/codes'
    import {types} from 'micromark-util-symbol/types'
    
    // A micromark tokenizer that uses the factory:
    /** @type {Tokenizer} */
    function tokenizeResource(effects, ok, nok) {
      return start
    
      // …
    
      /** @type {State} */
      function open(code) {
        if (code === codes.rightParenthesis) {
          return end(code)
        }
    
        return factoryDestination(
          effects,
          destinationAfter,
          nok,
          types.resourceDestination,
          types.resourceDestinationLiteral,
          types.resourceDestinationLiteralMarker,
          types.resourceDestinationRaw,
          types.resourceDestinationString,
          constants.linkResourceDestinationBalanceMax
        )(code)
      }
    
      // …
    }

    API

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

    factoryDestination(…)

    Parameters
    • 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> or b)
    • literalType (string) — Token type when enclosed (<a>)
    • literalMarkerType (string) — Token type for enclosing (< and >)
    • rawType (string) — Token type when not enclosed (b)
    • stringType (string) — Token type for the URI (a or b)
    • max (number, default: Infinity) — Max depth of nested parens
    Returns

    State.

    Examples
    <a>
    <a\>b>
    <a b>
    <a)>
    a
    a\)b
    a(b)c
    a(b)

    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

    Install

    npm i micromark-factory-destination

    DownloadsWeekly Downloads

    924,850

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    14.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • wooorm