| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /**
- * @import {
- * Construct,
- * State,
- * TokenizeContext,
- * Tokenizer
- * } from 'micromark-util-types'
- */
- import { factorySpace } from 'micromark-factory-space';
- import { markdownLineEnding, markdownSpace } from 'micromark-util-character';
- /** @type {Construct} */
- export const blankLine = {
- partial: true,
- tokenize: tokenizeBlankLine
- };
- /**
- * @this {TokenizeContext}
- * Context.
- * @type {Tokenizer}
- */
- function tokenizeBlankLine(effects, ok, nok) {
- return start;
- /**
- * Start of blank line.
- *
- * > 👉 **Note**: `␠` represents a space character.
- *
- * ```markdown
- * > | ␠␠␊
- * ^
- * > | ␊
- * ^
- * ```
- *
- * @type {State}
- */
- function start(code) {
- return markdownSpace(code) ? factorySpace(effects, after, "linePrefix")(code) : after(code);
- }
- /**
- * At eof/eol, after optional whitespace.
- *
- * > 👉 **Note**: `␠` represents a space character.
- *
- * ```markdown
- * > | ␠␠␊
- * ^
- * > | ␊
- * ^
- * ```
- *
- * @type {State}
- */
- function after(code) {
- return code === null || markdownLineEnding(code) ? ok(code) : nok(code);
- }
- }
|