@astrojs/micromark-extension-mdx-jsx
Version:
Less strict version of micromark-extension-mdx-jsx.
59 lines (56 loc) • 1.83 kB
JavaScript
/**
* @typedef {import('micromark-util-types').Construct} Construct
* @typedef {import('micromark-util-types').Tokenizer} Tokenizer
* @typedef {import('micromark-factory-mdx-expression').Acorn} Acorn
* @typedef {import('micromark-factory-mdx-expression').AcornOptions} AcornOptions
*/
import {factoryTag} from './factory-tag.js'
/**
* @param {Acorn|undefined} acorn
* @param {AcornOptions|undefined} acornOptions
* @param {boolean|undefined} addResult
* @returns {Construct}
*/
export function jsxText(acorn, acornOptions, addResult) {
return {
tokenize: tokenizeJsxText
}
/** @type {Tokenizer} */
function tokenizeJsxText(effects, ok, nok) {
return factoryTag.call(
this,
effects,
ok,
nok,
acorn,
acornOptions,
addResult,
true,
'mdxJsxTextTag',
'mdxJsxTextTagMarker',
'mdxJsxTextTagClosingMarker',
'mdxJsxTextTagSelfClosingMarker',
'mdxJsxTextTagName',
'mdxJsxTextTagNamePrimary',
'mdxJsxTextTagNameMemberMarker',
'mdxJsxTextTagNameMember',
'mdxJsxTextTagNamePrefixMarker',
'mdxJsxTextTagNameLocal',
'mdxJsxTextTagExpressionAttribute',
'mdxJsxTextTagExpressionAttributeMarker',
'mdxJsxTextTagExpressionAttributeValue',
'mdxJsxTextTagAttribute',
'mdxJsxTextTagAttributeName',
'mdxJsxTextTagAttributeNamePrimary',
'mdxJsxTextTagAttributeNamePrefixMarker',
'mdxJsxTextTagAttributeNameLocal',
'mdxJsxTextTagAttributeInitializerMarker',
'mdxJsxTextTagAttributeValueLiteral',
'mdxJsxTextTagAttributeValueLiteralMarker',
'mdxJsxTextTagAttributeValueLiteralValue',
'mdxJsxTextTagAttributeValueExpression',
'mdxJsxTextTagAttributeValueExpressionMarker',
'mdxJsxTextTagAttributeValueExpressionValue'
)
}
}