11/**
2- * @typedef {import('mdast').Literal } Literal
32 * @typedef {import('mdast-util-from-markdown').Extension } FromMarkdownExtension
43 * @typedef {import('mdast-util-from-markdown').Handle } FromMarkdownHandle
54 * @typedef {import('mdast-util-to-markdown').Options } ToMarkdownExtension
65 * @typedef {import('mdast-util-to-markdown').Handle } ToMarkdownHandle
7- * @typedef {import('estree-jsx').Program } Estree
8- *
9- * @typedef {Literal & {type: 'mdxFlowExpression', data: {estree?: Estree}} } MDXFlowExpression
10- * @typedef {Literal & {type: 'mdxSpanExpression', data: {estree?: Estree}} } MDXSpanExpression
6+ * @typedef {import('estree-jsx').Program } Program
7+ * @typedef {import('./complex-types').MDXFlowExpression } MDXFlowExpression
8+ * @typedef {import('./complex-types').MDXTextExpression } MDXTextExpression
119 */
1210
1311import stripIndent from 'strip-indent'
@@ -42,29 +40,29 @@ export const mdxExpressionToMarkdown = {
4240
4341/** @type {FromMarkdownHandle } */
4442function enterMdxFlowExpression ( token ) {
45- // @ts -expect-error: fine.
4643 this . enter ( { type : 'mdxFlowExpression' , value : '' } , token )
4744 this . buffer ( )
4845}
4946
5047/** @type {FromMarkdownHandle } */
5148function enterMdxTextExpression ( token ) {
52- // @ts -expect-error: fine.
5349 this . enter ( { type : 'mdxTextExpression' , value : '' } , token )
5450 this . buffer ( )
5551}
5652
5753/** @type {FromMarkdownHandle } */
5854function exitMdxExpression ( token ) {
5955 const value = this . resume ( )
60- const node = this . exit ( token )
61-
56+ /** @type {Program|undefined } */
57+ // @ts -expect-error: estree.
58+ const estree = token . estree
59+ const node = /** @type {MDXFlowExpression|MDXTextExpression } */ (
60+ this . exit ( token )
61+ )
6262 node . value = token . type === 'mdxFlowExpression' ? dedent ( value ) : value
6363
64- // @ts -expect-error: estree.
65- if ( token . estree ) {
66- // @ts -expect-error: estree.
67- node . data = { estree : token . estree }
64+ if ( estree ) {
65+ node . data = { estree}
6866 }
6967}
7068
@@ -76,7 +74,7 @@ function exitMdxExpressionData(token) {
7674
7775/**
7876 * @type {ToMarkdownHandle }
79- * @param {MDXFlowExpression|MDXSpanExpression } node
77+ * @param {MDXFlowExpression|MDXTextExpression } node
8078 */
8179function handleMdxExpression ( node ) {
8280 const value = node . value || ''
0 commit comments