Skip to content

Commit d28aad1

Browse files
committed
Change to export functions that return extensions
1 parent 93b0c73 commit d28aad1

File tree

3 files changed

+29
-22
lines changed

3 files changed

+29
-22
lines changed

index.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,21 @@ import {
1818
import {mdxJsxFromMarkdown, mdxJsxToMarkdown} from 'mdast-util-mdx-jsx'
1919
import {mdxjsEsmFromMarkdown, mdxjsEsmToMarkdown} from 'mdast-util-mdxjs-esm'
2020

21-
/** @type {FromMarkdownExtension[]} */
22-
export const mdxFromMarkdown = [
23-
mdxExpressionFromMarkdown,
24-
mdxJsxFromMarkdown,
25-
mdxjsEsmFromMarkdown
26-
]
21+
/**
22+
*
23+
* @return {Array<FromMarkdownExtension>}
24+
*/
25+
export function mdxFromMarkdown() {
26+
return [mdxExpressionFromMarkdown, mdxJsxFromMarkdown, mdxjsEsmFromMarkdown]
27+
}
2728

28-
/** @type {ToMarkdownExtension} */
29-
export const mdxToMarkdown = {
30-
extensions: [mdxExpressionToMarkdown, mdxJsxToMarkdown, mdxjsEsmToMarkdown]
29+
/** @return {ToMarkdownExtension} */
30+
export function mdxToMarkdown() {
31+
return {
32+
extensions: [
33+
mdxExpressionToMarkdown,
34+
mdxJsxToMarkdown,
35+
mdxjsEsmToMarkdown
36+
]
37+
}
3138
}

readme.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ const doc = fs.readFileSync('example.mdx')
7272

7373
const tree = fromMarkdown(doc, {
7474
extensions: [mdxjs()],
75-
mdastExtensions: [mdxFromMarkdown]
75+
mdastExtensions: [mdxFromMarkdown()]
7676
})
7777

7878
console.log(tree)
7979

80-
const out = toMarkdown(tree, {extensions: [mdxToMarkdown]})
80+
const out = toMarkdown(tree, {extensions: [mdxToMarkdown()]})
8181

8282
console.log(out)
8383
```
@@ -226,13 +226,13 @@ This package exports the following identifier: `mdxFromMarkdown`,
226226
`mdxToMarkdown`.
227227
There is no default export.
228228

229-
### `mdxFromMarkdown`
229+
### `mdxFromMarkdown()`
230230

231-
### `mdxToMarkdown`
231+
### `mdxToMarkdown()`
232232

233233
Support MDX (or MDX.js).
234-
The exports are respectively an extension for
235-
[`mdast-util-from-markdown`][from-markdown] and
234+
The exports are functions that can be called to respectively get an extension
235+
for [`mdast-util-from-markdown`][from-markdown] and
236236
[`mdast-util-to-markdown`][to-markdown].
237237

238238
There are no options.

test.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ test('markdown -> mdast', (t) => {
1010
JSON.stringify(
1111
fromMarkdown('import a from "b"', {
1212
extensions: [mdxjs()],
13-
mdastExtensions: [mdxFromMarkdown]
13+
mdastExtensions: [mdxFromMarkdown()]
1414
})
1515
)
1616
),
@@ -95,7 +95,7 @@ test('markdown -> mdast', (t) => {
9595
t.deepEqual(
9696
fromMarkdown('<x/>', {
9797
extensions: [mdxjs()],
98-
mdastExtensions: [mdxFromMarkdown]
98+
mdastExtensions: [mdxFromMarkdown()]
9999
}),
100100
{
101101
type: 'root',
@@ -124,7 +124,7 @@ test('markdown -> mdast', (t) => {
124124
JSON.stringify(
125125
fromMarkdown('{1 + 1}', {
126126
extensions: [mdxjs()],
127-
mdastExtensions: [mdxFromMarkdown]
127+
mdastExtensions: [mdxFromMarkdown()]
128128
})
129129
)
130130
),
@@ -210,7 +210,7 @@ test('mdast -> markdown', (t) => {
210210
t.equal(
211211
toMarkdown(
212212
{type: 'mdxjsEsm', value: 'import a from "b"'},
213-
{extensions: [mdxToMarkdown]}
213+
{extensions: [mdxToMarkdown()]}
214214
),
215215
'import a from "b"\n',
216216
'should support esm'
@@ -219,7 +219,7 @@ test('mdast -> markdown', (t) => {
219219
t.equal(
220220
toMarkdown(
221221
{type: 'mdxJsxFlowElement', name: 'x', attributes: [], children: []},
222-
{extensions: [mdxToMarkdown]}
222+
{extensions: [mdxToMarkdown()]}
223223
),
224224
'<x/>\n',
225225
'should support jsx'
@@ -228,7 +228,7 @@ test('mdast -> markdown', (t) => {
228228
t.deepEqual(
229229
toMarkdown(
230230
{type: 'mdxFlowExpression', value: '1 + 1'},
231-
{extensions: [mdxToMarkdown]}
231+
{extensions: [mdxToMarkdown()]}
232232
),
233233
'{1 + 1}\n',
234234
'should support expressions'
@@ -241,7 +241,7 @@ test('mdast -> markdown', (t) => {
241241
url: 'tel:123',
242242
children: [{type: 'text', value: 'tel:123'}]
243243
},
244-
{extensions: [mdxToMarkdown]}
244+
{extensions: [mdxToMarkdown()]}
245245
),
246246
'[tel:123](tel:123)\n',
247247
'should use link (resource) instead of link (auto)'

0 commit comments

Comments
 (0)