Skip to content

Commit 11c1c39

Browse files
committedJul 11, 2023
Change to expose functions
1 parent 80ea42f commit 11c1c39

File tree

3 files changed

+48
-26
lines changed

3 files changed

+48
-26
lines changed
 

‎lib/index.js

+18-10
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,32 @@
1313
import {ok as assert} from 'devlop'
1414

1515
/**
16-
* Extension for `mdast-util-from-markdown` to enable MDX ESM.
16+
* Create an extension for `mdast-util-from-markdown` to enable MDX.js ESM in
17+
* markdown.
1718
*
18-
* When using the syntax extension with `addResult`, nodes will have a
19-
* `data.estree` field set to an ESTree `Program` node.
19+
* When using the micromark syntax extension with `addResult`, nodes will have
20+
* a `data.estree` field set to an ESTree [`Program`][program] node.
2021
*
21-
* @type {FromMarkdownExtension}
22+
* @returns {FromMarkdownExtension}
23+
* Extension for `mdast-util-from-markdown` to enable MDX.js ESM.
2224
*/
23-
export const mdxjsEsmFromMarkdown = {
24-
enter: {mdxjsEsm: enterMdxjsEsm},
25-
exit: {mdxjsEsm: exitMdxjsEsm, mdxjsEsmData: exitMdxjsEsmData}
25+
export function mdxjsEsmFromMarkdown() {
26+
return {
27+
enter: {mdxjsEsm: enterMdxjsEsm},
28+
exit: {mdxjsEsm: exitMdxjsEsm, mdxjsEsmData: exitMdxjsEsmData}
29+
}
2630
}
2731

2832
/**
29-
* Extension for `mdast-util-to-markdown` to enable MDX ESM.
33+
* Create an extension for `mdast-util-to-markdown` to enable MDX.js ESM in
34+
* markdown.
3035
*
31-
* @type {ToMarkdownExtension}
36+
* @returns {ToMarkdownExtension}
37+
* Extension for `mdast-util-to-markdown` to enable MDX.js ESM.
3238
*/
33-
export const mdxjsEsmToMarkdown = {handlers: {mdxjsEsm: handleMdxjsEsm}}
39+
export function mdxjsEsmToMarkdown() {
40+
return {handlers: {mdxjsEsm: handleMdxjsEsm}}
41+
}
3442

3543
/**
3644
* @this {CompileContext}

‎readme.md

+24-10
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
* [Install](#install)
1818
* [Use](#use)
1919
* [API](#api)
20-
* [`mdxjsEsmFromMarkdown`](#mdxjsesmfrommarkdown)
21-
* [`mdxjsEsmToMarkdown`](#mdxjsesmtomarkdown)
20+
* [`mdxjsEsmFromMarkdown()`](#mdxjsesmfrommarkdown)
21+
* [`mdxjsEsmToMarkdown()`](#mdxjsesmtomarkdown)
2222
* [`MdxjsEsm`](#mdxjsesm)
2323
* [`MdxjsEsmHast`](#mdxjsesmhast)
2424
* [HTML](#html)
@@ -105,12 +105,12 @@ const doc = await fs.readFile('example.mdx')
105105

106106
const tree = fromMarkdown(doc, {
107107
extensions: [mdxjsEsm({acorn, addResult: true})],
108-
mdastExtensions: [mdxjsEsmFromMarkdown]
108+
mdastExtensions: [mdxjsEsmFromMarkdown()]
109109
})
110110

111111
console.log(tree)
112112

113-
const out = toMarkdown(tree, {extensions: [mdxjsEsmToMarkdown]})
113+
const out = toMarkdown(tree, {extensions: [mdxjsEsmToMarkdown()]})
114114

115115
console.log(out)
116116
```
@@ -178,18 +178,28 @@ This package exports the identifiers
178178
[`mdxjsEsmToMarkdown`][api-mdxjs-esm-to-markdown].
179179
There is no default export.
180180

181-
### `mdxjsEsmFromMarkdown`
181+
### `mdxjsEsmFromMarkdown()`
182182

183-
Extension for [`mdast-util-from-markdown`][mdast-util-from-markdown] to enable
184-
MDX ESM.
183+
Create an extension for [`mdast-util-from-markdown`][mdast-util-from-markdown]
184+
to enable MDX.js ESM in markdown.
185185

186186
When using the [micromark syntax extension][extension] with `addResult`, nodes
187187
will have a `data.estree` field set to an ESTree [`Program`][program] node.
188188

189-
### `mdxjsEsmToMarkdown`
189+
###### Returns
190190

191-
Extension for [`mdast-util-to-markdown`][mdast-util-to-markdown] to enable MDX
192-
ESM.
191+
Extension for `mdast-util-from-markdown` to enable MDX.js ESM
192+
([`FromMarkdownExtension`][from-markdown-extension]).
193+
194+
### `mdxjsEsmToMarkdown()`
195+
196+
Create an extension for [`mdast-util-to-markdown`][mdast-util-to-markdown]
197+
to enable MDX.js ESM in markdown.
198+
199+
###### Returns
200+
201+
Extension for `mdast-util-to-markdown` to enable MDX.js ESM
202+
([`ToMarkdownExtension`][to-markdown-extension]).
193203

194204
### `MdxjsEsm`
195205

@@ -412,6 +422,10 @@ abide by its terms.
412422

413423
[mdx]: https://mdxjs.com
414424

425+
[from-markdown-extension]: https://github.com/syntax-tree/mdast-util-from-markdown#extension
426+
427+
[to-markdown-extension]: https://github.com/syntax-tree/mdast-util-to-markdown#options
428+
415429
[dfn-flow-content]: #flowcontent-mdxjs-esm
416430

417431
[api-mdxjs-esm-from-markdown]: #mdxjsesmfrommarkdown

‎test.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ test('core', async function (t) {
1616
})
1717
})
1818

19-
test('mdxjsEsmFromMarkdown', async function (t) {
19+
test('mdxjsEsmFromMarkdown()', async function (t) {
2020
await t.test('should support ESM', async function () {
2121
assert.deepEqual(
2222
fromMarkdown('import a from "b"\nexport var c = ""\n\nd', {
2323
extensions: [mdxjsEsm({acorn})],
24-
mdastExtensions: [mdxjsEsmFromMarkdown]
24+
mdastExtensions: [mdxjsEsmFromMarkdown()]
2525
}),
2626
{
2727
type: 'root',
@@ -65,7 +65,7 @@ test('mdxjsEsmFromMarkdown', async function (t) {
6565
async function () {
6666
let tree = fromMarkdown('import a from "b"\nexport var c = ""\n\nd', {
6767
extensions: [mdxjsEsm({acorn, addResult: true})],
68-
mdastExtensions: [mdxjsEsmFromMarkdown]
68+
mdastExtensions: [mdxjsEsmFromMarkdown()]
6969
})
7070

7171
removePosition(tree, {force: true})
@@ -206,7 +206,7 @@ test('mdxjsEsmFromMarkdown', async function (t) {
206206
)
207207
})
208208

209-
test('mdxjsEsmToMarkdown', async function (t) {
209+
test('mdxjsEsmToMarkdown()', async function (t) {
210210
await t.test('should serialize ESM', async function () {
211211
assert.deepEqual(
212212
toMarkdown(
@@ -217,7 +217,7 @@ test('mdxjsEsmToMarkdown', async function (t) {
217217
{type: 'paragraph', children: [{type: 'text', value: 'd'}]}
218218
]
219219
},
220-
{extensions: [mdxjsEsmToMarkdown]}
220+
{extensions: [mdxjsEsmToMarkdown()]}
221221
),
222222
'import a from "b"\nexport var c = ""\n\nd\n'
223223
)
@@ -234,7 +234,7 @@ test('mdxjsEsmToMarkdown', async function (t) {
234234
{type: 'paragraph', children: [{type: 'text', value: 'd'}]}
235235
]
236236
},
237-
{extensions: [mdxjsEsmToMarkdown]}
237+
{extensions: [mdxjsEsmToMarkdown()]}
238238
),
239239
'\n\nd\n'
240240
)

0 commit comments

Comments
 (0)
Please sign in to comment.