1
1
/**
2
- * @typedef {string|number|boolean } MarkerParameterValue
3
2
* @typedef {import('mdast').Root } Root
4
3
* @typedef {import('mdast').Content } Content
5
4
* @typedef {import('mdast').HTML } HTML
6
5
* @typedef {import('mdast-util-mdx-expression').MDXFlowExpression } MDXFlowExpression
7
6
* @typedef {import('mdast-util-mdx-expression').MDXTextExpression } MDXTextExpression
8
7
* @typedef {Root|Content } Node
9
- * @typedef {Object.<string, MarkerParameterValue> } MarkerParameters
8
+ *
9
+ * @typedef {string|number|boolean } MarkerParameterValue
10
+ * @typedef {Record<string, MarkerParameterValue> } MarkerParameters
10
11
*
11
12
* @typedef Mdx1CommentNode
12
13
* @property {'comment' } type
13
14
* @property {string } value
14
15
*
15
16
* @typedef Marker
17
+ * Comment marker.
16
18
* @property {string } name
19
+ * Name of marker.
17
20
* @property {string } attributes
21
+ * Value after name.
18
22
* @property {MarkerParameters|null } parameters
23
+ * Parsed attributes, with decimal numbers, `true`, and `false` casted to
24
+ * numbers and booleans.
19
25
* @property {HTML|Mdx1CommentNode|MDXFlowExpression|MDXTextExpression } node
26
+ * Reference to given node.
20
27
*/
21
28
22
29
const commentExpression = / \s * ( [ a - z A - Z \d - ] + ) ( \s + ( [ \s \S ] * ) ) ? \s * /
@@ -29,8 +36,11 @@ const markerExpression = new RegExp(
29
36
30
37
/**
31
38
* Parse a comment marker.
39
+ *
32
40
* @param {unknown } value
41
+ * `Node` to parse.
33
42
* @returns {Marker|null }
43
+ * Information, when applicable.
34
44
*/
35
45
export function commentMarker ( value ) {
36
46
if (
0 commit comments