mdast-util-to-vnode 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +144 -108
- package/package.json +2 -7
package/README.md
CHANGED
|
@@ -92,7 +92,11 @@ This package exports the identifier `toVNode`. There is no default export.
|
|
|
92
92
|
Support passing in custom Vue components to override mdast nodes.
|
|
93
93
|
|
|
94
94
|
```ts
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
export type ComponentReturn = [Component, Record<string, any> | undefined]
|
|
96
|
+
|
|
97
|
+
export interface ToVNodeOptions {
|
|
98
|
+
components?: Partial<Record<Nodes['type'], Component |
|
|
99
|
+
ComponentReturn |
|
|
100
|
+
((node: Node) => ComponentReturn)>>
|
|
97
101
|
}
|
|
98
102
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Node, Nodes, Root } from 'mdast';
|
|
2
2
|
import { Component, VNode } from 'vue';
|
|
3
|
+
export type ComponentReturn = Component | [Component, Record<string, any> | undefined];
|
|
3
4
|
export interface ToVNodeOptions {
|
|
4
|
-
components?: Partial<Record<Nodes['type'],
|
|
5
|
+
components?: Partial<Record<Nodes['type'], ComponentReturn | ((node: Node) => ComponentReturn)>>;
|
|
5
6
|
}
|
|
6
7
|
export declare function toVNode(node: Root, options?: ToVNodeOptions): VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
7
8
|
[key: string]: any;
|
package/dist/index.js
CHANGED
|
@@ -1,176 +1,212 @@
|
|
|
1
|
-
import { h as
|
|
2
|
-
function
|
|
3
|
-
return
|
|
1
|
+
import { h as t, Text as b } from "vue";
|
|
2
|
+
function f(r) {
|
|
3
|
+
return Array.isArray(r);
|
|
4
4
|
}
|
|
5
|
-
function
|
|
6
|
-
return
|
|
5
|
+
function y(r) {
|
|
6
|
+
return typeof r == "object" && r !== null;
|
|
7
7
|
}
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
function m(r) {
|
|
9
|
+
return typeof r == "function";
|
|
10
|
+
}
|
|
11
|
+
function n(r) {
|
|
12
|
+
return y(r) && !f(r) && !m(r);
|
|
13
|
+
}
|
|
14
|
+
function s(r, ...u) {
|
|
15
|
+
if (!n(r))
|
|
16
|
+
return r;
|
|
17
|
+
const e = u.filter((l) => n(l));
|
|
18
|
+
if (!e.length)
|
|
19
|
+
return r;
|
|
20
|
+
const a = e.shift();
|
|
21
|
+
for (const l in a)
|
|
22
|
+
n(a[l]) ? (Object.prototype.hasOwnProperty.call(r, l) || Object.assign(r, { [l]: {} }), s(r[l], a[l])) : Object.assign(r, { [l]: a[l] });
|
|
23
|
+
return s(r, ...e);
|
|
24
|
+
}
|
|
25
|
+
function i(r, u) {
|
|
26
|
+
return u.reduce((e, a) => (e[a] = r[a], e), {});
|
|
27
|
+
}
|
|
28
|
+
function g(r, u = {}) {
|
|
29
|
+
return h(r, u);
|
|
30
|
+
}
|
|
31
|
+
function h(r, u = {}) {
|
|
32
|
+
var l;
|
|
33
|
+
let e = (l = u.components) == null ? void 0 : l[r.type], a = {};
|
|
34
|
+
switch (m(e) && (e = e(r)), f(e) && (a = e[1] ?? {}, e = e[0]), r.type) {
|
|
12
35
|
case "blockquote":
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
a
|
|
36
|
+
return t(
|
|
37
|
+
e ?? "blockquote",
|
|
38
|
+
a,
|
|
39
|
+
c(r, u)
|
|
16
40
|
);
|
|
17
41
|
case "break":
|
|
18
|
-
return
|
|
19
|
-
|
|
42
|
+
return t(
|
|
43
|
+
e ?? "br",
|
|
44
|
+
a
|
|
20
45
|
);
|
|
21
46
|
case "code":
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
) :
|
|
47
|
+
return e ? t(
|
|
48
|
+
e,
|
|
49
|
+
s(i(r, ["lang", "meta", "value"]), a)
|
|
50
|
+
) : t(
|
|
26
51
|
"pre",
|
|
27
52
|
{
|
|
28
|
-
dataLang:
|
|
29
|
-
dataMeta:
|
|
53
|
+
dataLang: r.lang,
|
|
54
|
+
dataMeta: r.meta
|
|
30
55
|
},
|
|
31
|
-
|
|
56
|
+
t("code", r.value)
|
|
32
57
|
);
|
|
33
58
|
case "delete":
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
a
|
|
59
|
+
return t(
|
|
60
|
+
e ?? "s",
|
|
61
|
+
a,
|
|
62
|
+
c(r, u)
|
|
37
63
|
);
|
|
38
64
|
case "emphasis":
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
a
|
|
65
|
+
return t(
|
|
66
|
+
e ?? "em",
|
|
67
|
+
a,
|
|
68
|
+
c(r, u)
|
|
42
69
|
);
|
|
43
70
|
case "heading":
|
|
44
|
-
return
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
) :
|
|
48
|
-
`h${
|
|
49
|
-
|
|
71
|
+
return e ? t(
|
|
72
|
+
e,
|
|
73
|
+
s(i(r, ["depth"]), a)
|
|
74
|
+
) : t(
|
|
75
|
+
`h${r.depth}`,
|
|
76
|
+
c(r, u)
|
|
50
77
|
);
|
|
51
78
|
case "html":
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
) :
|
|
79
|
+
return e ? t(
|
|
80
|
+
e,
|
|
81
|
+
s(i(r, ["value"]), a)
|
|
82
|
+
) : t(
|
|
56
83
|
"div",
|
|
57
84
|
{
|
|
58
|
-
innerHTML:
|
|
85
|
+
innerHTML: r.value
|
|
59
86
|
}
|
|
60
87
|
);
|
|
61
88
|
case "image":
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
) :
|
|
89
|
+
return e ? t(
|
|
90
|
+
e,
|
|
91
|
+
s(i(r, ["url", "alt", "title"]), a)
|
|
92
|
+
) : t(
|
|
66
93
|
"img",
|
|
67
94
|
{
|
|
68
|
-
src:
|
|
69
|
-
alt:
|
|
70
|
-
title:
|
|
95
|
+
src: r.url,
|
|
96
|
+
alt: r.alt,
|
|
97
|
+
title: r.title
|
|
71
98
|
}
|
|
72
99
|
);
|
|
73
100
|
case "inlineCode":
|
|
74
|
-
return
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
) :
|
|
101
|
+
return e ? t(
|
|
102
|
+
e,
|
|
103
|
+
s(i(r, ["value"]), a)
|
|
104
|
+
) : t(
|
|
78
105
|
"code",
|
|
79
|
-
|
|
106
|
+
r.value
|
|
80
107
|
);
|
|
81
108
|
case "link":
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
) :
|
|
109
|
+
return e ? t(
|
|
110
|
+
e,
|
|
111
|
+
s(i(r, ["url", "title"]), a),
|
|
112
|
+
c(r, u)
|
|
113
|
+
) : t(
|
|
87
114
|
"a",
|
|
88
115
|
{
|
|
89
|
-
href:
|
|
116
|
+
href: r.url
|
|
90
117
|
},
|
|
91
|
-
|
|
118
|
+
c(r, u)
|
|
92
119
|
);
|
|
93
120
|
case "list":
|
|
94
|
-
return
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
) :
|
|
99
|
-
|
|
100
|
-
|
|
121
|
+
return e ? t(
|
|
122
|
+
e,
|
|
123
|
+
s(i(r, ["ordered", "spread", "start"]), a),
|
|
124
|
+
c(r, u)
|
|
125
|
+
) : t(
|
|
126
|
+
r.ordered ? "ol" : "ul",
|
|
127
|
+
c(r, u)
|
|
101
128
|
);
|
|
102
129
|
case "listItem":
|
|
103
|
-
return
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
) :
|
|
130
|
+
return e ? t(
|
|
131
|
+
e,
|
|
132
|
+
s(i(r, ["checked", "spread"]), a),
|
|
133
|
+
c(r, u)
|
|
134
|
+
) : t(
|
|
108
135
|
"li",
|
|
109
|
-
|
|
136
|
+
c(r, u)
|
|
110
137
|
);
|
|
111
138
|
case "paragraph":
|
|
112
|
-
return
|
|
113
|
-
|
|
114
|
-
a
|
|
139
|
+
return t(
|
|
140
|
+
e ?? "p",
|
|
141
|
+
a,
|
|
142
|
+
c(r, u)
|
|
115
143
|
);
|
|
116
144
|
case "root":
|
|
117
|
-
return
|
|
118
|
-
|
|
119
|
-
a
|
|
145
|
+
return t(
|
|
146
|
+
e ?? "div",
|
|
147
|
+
a,
|
|
148
|
+
c(r, u)
|
|
120
149
|
);
|
|
121
150
|
case "strong":
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
a
|
|
151
|
+
return t(
|
|
152
|
+
e ?? "strong",
|
|
153
|
+
a,
|
|
154
|
+
c(r, u)
|
|
125
155
|
);
|
|
126
156
|
case "table":
|
|
127
|
-
return
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
157
|
+
return t(
|
|
158
|
+
e ?? "table",
|
|
159
|
+
s(i(r, ["align"]), a),
|
|
160
|
+
c(r, u)
|
|
131
161
|
);
|
|
132
162
|
case "tableCell":
|
|
133
|
-
return
|
|
134
|
-
|
|
135
|
-
a
|
|
163
|
+
return t(
|
|
164
|
+
e ?? "td",
|
|
165
|
+
a,
|
|
166
|
+
c(r, u)
|
|
136
167
|
);
|
|
137
168
|
case "tableRow":
|
|
138
|
-
return
|
|
139
|
-
|
|
140
|
-
a
|
|
169
|
+
return t(
|
|
170
|
+
e ?? "th",
|
|
171
|
+
a,
|
|
172
|
+
c(r, u)
|
|
141
173
|
);
|
|
142
174
|
case "text":
|
|
143
|
-
return
|
|
144
|
-
|
|
145
|
-
|
|
175
|
+
return t(
|
|
176
|
+
b,
|
|
177
|
+
r.value
|
|
146
178
|
);
|
|
147
179
|
case "thematicBreak":
|
|
148
|
-
return
|
|
149
|
-
|
|
180
|
+
return t(
|
|
181
|
+
e ?? "hr",
|
|
182
|
+
a
|
|
150
183
|
);
|
|
151
184
|
case "yaml":
|
|
152
|
-
return
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
185
|
+
return e ? t(
|
|
186
|
+
e,
|
|
187
|
+
s(
|
|
188
|
+
{
|
|
189
|
+
lang: "yaml",
|
|
190
|
+
value: r.value
|
|
191
|
+
},
|
|
192
|
+
a
|
|
193
|
+
)
|
|
194
|
+
) : t(
|
|
159
195
|
"pre",
|
|
160
196
|
{
|
|
161
197
|
dataLang: "yaml"
|
|
162
198
|
},
|
|
163
|
-
|
|
199
|
+
t("code", r.value)
|
|
164
200
|
);
|
|
165
201
|
default:
|
|
166
|
-
return
|
|
202
|
+
return t(Comment);
|
|
167
203
|
}
|
|
168
204
|
}
|
|
169
|
-
function
|
|
170
|
-
var
|
|
171
|
-
return ((
|
|
205
|
+
function c(r, u = {}) {
|
|
206
|
+
var e;
|
|
207
|
+
return ((e = r.children) == null ? void 0 : e.map((a) => h(a, u))) ?? [];
|
|
172
208
|
}
|
|
173
209
|
export {
|
|
174
|
-
|
|
175
|
-
|
|
210
|
+
h as createVNode,
|
|
211
|
+
g as toVNode
|
|
176
212
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mdast-util-to-vnode",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b",
|
|
7
7
|
"description": "mdast utility to get the vue vnode",
|
|
@@ -38,8 +38,6 @@
|
|
|
38
38
|
"lint": "eslint .",
|
|
39
39
|
"format": "eslint --fix .",
|
|
40
40
|
"build": "vite build",
|
|
41
|
-
"test": "vitest",
|
|
42
|
-
"coverage": "vitest run --coverage",
|
|
43
41
|
"commit": "git-cz",
|
|
44
42
|
"release": "bumpp",
|
|
45
43
|
"prepare": "husky"
|
|
@@ -54,8 +52,6 @@
|
|
|
54
52
|
"@commitlint/cz-commitlint": "^19.6.1",
|
|
55
53
|
"@types/mdast": "^4.0.4",
|
|
56
54
|
"@types/node": "22",
|
|
57
|
-
"@vitest/coverage-istanbul": "3.0.6",
|
|
58
|
-
"@vitest/coverage-v8": "3.0.6",
|
|
59
55
|
"bumpp": "^9.10.2",
|
|
60
56
|
"commitizen": "^4.3.1",
|
|
61
57
|
"eslint": "^9.18.0",
|
|
@@ -68,8 +64,7 @@
|
|
|
68
64
|
"unplugin-external": "0.1.0-beta.3",
|
|
69
65
|
"usexx": "^0.1.0",
|
|
70
66
|
"vite": "^6.1.1",
|
|
71
|
-
"vite-plugin-dts": "^4.5.0"
|
|
72
|
-
"vitest": "^3.0.6"
|
|
67
|
+
"vite-plugin-dts": "^4.5.0"
|
|
73
68
|
},
|
|
74
69
|
"config": {
|
|
75
70
|
"commitizen": {
|