el-beeswarm
Version:
<div style="display: flex; padding: 1rem; flex-direction: column; align-items: center; justify-content: center; height: 100vh; text-align: center; display: flex;
49 lines (40 loc) • 1.14 kB
JavaScript
import labelEnd from './label-end.mjs'
var labelStartImage = {
name: 'labelStartImage',
tokenize: tokenizeLabelStartImage,
resolveAll: labelEnd.resolveAll
}
export default labelStartImage
import assert from 'assert'
import codes from '../character/codes.mjs'
import types from '../constant/types.mjs'
function tokenizeLabelStartImage(effects, ok, nok) {
var self = this
return start
function start(code) {
assert(code === codes.exclamationMark, 'expected `!`')
effects.enter(types.labelImage)
effects.enter(types.labelImageMarker)
effects.consume(code)
effects.exit(types.labelImageMarker)
return open
}
function open(code) {
if (code === codes.leftSquareBracket) {
effects.enter(types.labelMarker)
effects.consume(code)
effects.exit(types.labelMarker)
effects.exit(types.labelImage)
return after
}
return nok(code)
}
function after(code) {
/* c8 ignore next */
return code === codes.caret &&
/* c8 ignore next */
'_hiddenFootnoteSupport' in self.parser.constructs
? /* c8 ignore next */ nok(code)
: ok(code)
}
}