Urara-Blog/node_modules/.pnpm-store/v3/files/73/bc453f676e6da7cdeccdbe6aa7c9c99a8f3e87a62bd4b3b0cab0a77d18b91f4a89b26850557fea2c6867213b58a3f0c84888046f0e2680ece23c6d6f5e22cc
2022-08-14 01:14:53 +08:00

27 lines
849 B
Text

/**
* @typedef {import('micromark-util-types').Construct} Construct
* @typedef {import('micromark-util-types').Tokenizer} Tokenizer
* @typedef {import('micromark-util-types').State} State
*/
import {ok as assert} from 'uvu/assert'
import {factorySpace} from 'micromark-factory-space'
import {markdownLineEnding} from 'micromark-util-character'
import {types} from 'micromark-util-symbol/types.js'
/** @type {Construct} */
export const lineEnding = {name: 'lineEnding', tokenize: tokenizeLineEnding}
/** @type {Tokenizer} */
function tokenizeLineEnding(effects, ok) {
return start
/** @type {State} */
function start(code) {
assert(markdownLineEnding(code), 'expected eol')
effects.enter(types.lineEnding)
effects.consume(code)
effects.exit(types.lineEnding)
return factorySpace(effects, ok, types.linePrefix)
}
}