mdast-util-to-vnode 0.3.2 → 0.4.1
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 +3 -0
- package/dist/index.js +95 -68
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,6 +8,9 @@ This package is a utility that takes [mdast](https://github.com/syntax-tree/mdas
|
|
|
8
8
|
|
|
9
9
|
## When should I use this?
|
|
10
10
|
|
|
11
|
+
> [!TIP]
|
|
12
|
+
> Vue Markdown: the vue component for render markdown string, and support streaming for AI. [Learn more 👉](https://github.com/litingyes/vue-markdown)
|
|
13
|
+
|
|
11
14
|
If you want to use Vue.js to render mdast, use it. It is especially useful when you want to render streamed MarkDown strings in AI application development.
|
|
12
15
|
|
|
13
16
|
## Install
|
package/dist/index.js
CHANGED
|
@@ -1,87 +1,93 @@
|
|
|
1
|
-
import { h as t, Comment as
|
|
2
|
-
function
|
|
1
|
+
import { h as t, Comment as j, Text as p } from "vue";
|
|
2
|
+
function y(r) {
|
|
3
3
|
return Array.isArray(r);
|
|
4
4
|
}
|
|
5
5
|
function C(r) {
|
|
6
6
|
return typeof r == "object" && r !== null;
|
|
7
7
|
}
|
|
8
|
-
function
|
|
8
|
+
function v(r) {
|
|
9
9
|
return typeof r == "function";
|
|
10
10
|
}
|
|
11
11
|
function s(r) {
|
|
12
|
-
return C(r) && !
|
|
12
|
+
return C(r) && !y(r) && !v(r);
|
|
13
13
|
}
|
|
14
|
-
function
|
|
14
|
+
function f(r, ...a) {
|
|
15
15
|
if (!s(r))
|
|
16
16
|
return r;
|
|
17
|
-
const c =
|
|
17
|
+
const c = a.filter((l) => s(l));
|
|
18
18
|
if (!c.length)
|
|
19
19
|
return r;
|
|
20
20
|
const e = c.shift();
|
|
21
|
-
for (const
|
|
22
|
-
s(e[
|
|
23
|
-
return
|
|
21
|
+
for (const l in e)
|
|
22
|
+
s(e[l]) ? (Object.prototype.hasOwnProperty.call(r, l) || Object.assign(r, { [l]: {} }), f(r[l], e[l])) : Object.assign(r, { [l]: e[l] });
|
|
23
|
+
return f(r, ...c);
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
return
|
|
25
|
+
function i(r, a) {
|
|
26
|
+
return a.reduce((c, e) => (c[e] = r[e], c), {});
|
|
27
27
|
}
|
|
28
|
-
function N(r,
|
|
29
|
-
return
|
|
28
|
+
function N(r, a = {}) {
|
|
29
|
+
return k(r, a, {
|
|
30
30
|
index: 0,
|
|
31
31
|
parent: null
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
var
|
|
36
|
-
let e = (
|
|
37
|
-
switch (
|
|
34
|
+
function k(r, a = {}, c) {
|
|
35
|
+
var n, m, h, b, g;
|
|
36
|
+
let e = (n = a.components) == null ? void 0 : n[r.type], l = {};
|
|
37
|
+
switch (v(e) && (e = e(r)), y(e) && (l = e[1] ?? {}, e = e[0]), r.type) {
|
|
38
38
|
case "blockquote":
|
|
39
39
|
return t(
|
|
40
40
|
e ?? "blockquote",
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
l,
|
|
42
|
+
e ? {
|
|
43
|
+
default: () => u(r, a)
|
|
44
|
+
} : u(r, a)
|
|
43
45
|
);
|
|
44
46
|
case "break":
|
|
45
47
|
return t(
|
|
46
48
|
e ?? "br",
|
|
47
|
-
|
|
49
|
+
l
|
|
48
50
|
);
|
|
49
51
|
case "code":
|
|
50
52
|
return e ? t(
|
|
51
53
|
e,
|
|
52
|
-
i(
|
|
54
|
+
f(i(r, ["lang", "meta", "value"]), l)
|
|
53
55
|
) : t(
|
|
54
56
|
"pre",
|
|
55
57
|
{
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
"data-lang": r.lang,
|
|
59
|
+
"data-meta": r.meta
|
|
58
60
|
},
|
|
59
61
|
t("code", r.value)
|
|
60
62
|
);
|
|
61
63
|
case "delete":
|
|
62
64
|
return t(
|
|
63
65
|
e ?? "s",
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
l,
|
|
67
|
+
e ? {
|
|
68
|
+
default: () => u(r, a)
|
|
69
|
+
} : u(r, a)
|
|
66
70
|
);
|
|
67
71
|
case "emphasis":
|
|
68
72
|
return t(
|
|
69
73
|
e ?? "em",
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
l,
|
|
75
|
+
e ? {
|
|
76
|
+
default: () => u(r, a)
|
|
77
|
+
} : u(r, a)
|
|
72
78
|
);
|
|
73
79
|
case "heading":
|
|
74
80
|
return e ? t(
|
|
75
81
|
e,
|
|
76
|
-
i(
|
|
82
|
+
f(i(r, ["depth"]), l)
|
|
77
83
|
) : t(
|
|
78
84
|
`h${r.depth}`,
|
|
79
|
-
u(r,
|
|
85
|
+
u(r, a)
|
|
80
86
|
);
|
|
81
87
|
case "html":
|
|
82
88
|
return e ? t(
|
|
83
89
|
e,
|
|
84
|
-
i(
|
|
90
|
+
f(i(r, ["value"]), l)
|
|
85
91
|
) : t(
|
|
86
92
|
"div",
|
|
87
93
|
{
|
|
@@ -91,7 +97,7 @@ function v(r, l = {}, c) {
|
|
|
91
97
|
case "image":
|
|
92
98
|
return e ? t(
|
|
93
99
|
e,
|
|
94
|
-
i(
|
|
100
|
+
f(i(r, ["url", "alt", "title"]), l)
|
|
95
101
|
) : t(
|
|
96
102
|
"img",
|
|
97
103
|
{
|
|
@@ -103,7 +109,7 @@ function v(r, l = {}, c) {
|
|
|
103
109
|
case "inlineCode":
|
|
104
110
|
return e ? t(
|
|
105
111
|
e,
|
|
106
|
-
i(
|
|
112
|
+
f(i(r, ["value"]), l)
|
|
107
113
|
) : t(
|
|
108
114
|
"code",
|
|
109
115
|
r.value
|
|
@@ -111,122 +117,143 @@ function v(r, l = {}, c) {
|
|
|
111
117
|
case "link":
|
|
112
118
|
return e ? t(
|
|
113
119
|
e,
|
|
114
|
-
|
|
120
|
+
f(
|
|
115
121
|
{
|
|
116
122
|
target: "_blank"
|
|
117
123
|
},
|
|
118
|
-
|
|
119
|
-
|
|
124
|
+
i(r, ["url", "title"]),
|
|
125
|
+
l
|
|
120
126
|
),
|
|
121
|
-
|
|
127
|
+
{
|
|
128
|
+
default: () => u(r, a)
|
|
129
|
+
}
|
|
122
130
|
) : t(
|
|
123
131
|
"a",
|
|
124
132
|
{
|
|
125
133
|
href: r.url,
|
|
126
134
|
target: "_blank"
|
|
127
135
|
},
|
|
128
|
-
u(r,
|
|
136
|
+
u(r, a)
|
|
129
137
|
);
|
|
130
138
|
case "list":
|
|
131
139
|
return e ? t(
|
|
132
140
|
e,
|
|
133
|
-
i(
|
|
134
|
-
|
|
141
|
+
f(i(r, ["ordered", "spread", "start"]), l),
|
|
142
|
+
{
|
|
143
|
+
default: () => u(r, a)
|
|
144
|
+
}
|
|
135
145
|
) : t(
|
|
136
146
|
r.ordered ? "ol" : "ul",
|
|
137
|
-
u(r,
|
|
147
|
+
u(r, a)
|
|
138
148
|
);
|
|
139
149
|
case "listItem":
|
|
140
150
|
return e ? t(
|
|
141
151
|
e,
|
|
142
|
-
i(
|
|
143
|
-
|
|
152
|
+
f(i(r, ["checked", "spread"]), l),
|
|
153
|
+
{
|
|
154
|
+
default: () => u(r, a)
|
|
155
|
+
}
|
|
144
156
|
) : t(
|
|
145
157
|
"li",
|
|
146
|
-
u(r,
|
|
158
|
+
u(r, a)
|
|
147
159
|
);
|
|
148
160
|
case "paragraph":
|
|
149
161
|
return t(
|
|
150
162
|
e ?? "p",
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
l,
|
|
164
|
+
e ? {
|
|
165
|
+
default: () => u(r, a)
|
|
166
|
+
} : u(r, a)
|
|
153
167
|
);
|
|
154
168
|
case "root":
|
|
155
169
|
return t(
|
|
156
170
|
e ?? "div",
|
|
157
|
-
|
|
158
|
-
|
|
171
|
+
l,
|
|
172
|
+
e ? {
|
|
173
|
+
default: () => u(r, a)
|
|
174
|
+
} : u(r, a)
|
|
159
175
|
);
|
|
160
176
|
case "strong":
|
|
161
177
|
return t(
|
|
162
178
|
e ?? "strong",
|
|
163
|
-
|
|
164
|
-
|
|
179
|
+
l,
|
|
180
|
+
e ? {
|
|
181
|
+
default: () => u(r, a)
|
|
182
|
+
} : u(r, a)
|
|
165
183
|
);
|
|
166
184
|
case "table":
|
|
167
185
|
return t(
|
|
168
186
|
e ?? "table",
|
|
169
|
-
|
|
170
|
-
|
|
187
|
+
l,
|
|
188
|
+
e ? {
|
|
189
|
+
default: () => u(r, a)
|
|
190
|
+
} : u(r, a)
|
|
171
191
|
);
|
|
172
192
|
case "tableRow":
|
|
173
193
|
return e ? t(
|
|
174
194
|
e,
|
|
175
|
-
|
|
195
|
+
f(l, {
|
|
176
196
|
index: c.index,
|
|
177
197
|
align: ((m = c.parent.align) == null ? void 0 : m[c.index]) ?? "left"
|
|
178
198
|
}),
|
|
179
|
-
|
|
199
|
+
{
|
|
200
|
+
default: () => u(r, a)
|
|
201
|
+
}
|
|
180
202
|
) : t("tr", {
|
|
181
203
|
align: ((h = c.parent.align) == null ? void 0 : h[c.index]) ?? "left"
|
|
182
|
-
}, u(r,
|
|
204
|
+
}, u(r, a));
|
|
183
205
|
case "tableCell": {
|
|
184
|
-
const
|
|
206
|
+
const O = ((g = (b = c.parent.position) == null ? void 0 : b.start) == null ? void 0 : g.offset) === 0;
|
|
185
207
|
return t(
|
|
186
|
-
e ?? (
|
|
187
|
-
|
|
188
|
-
|
|
208
|
+
e ?? (O ? "th" : "td"),
|
|
209
|
+
l,
|
|
210
|
+
e ? {
|
|
211
|
+
default: () => u(r, a)
|
|
212
|
+
} : u(r, a)
|
|
189
213
|
);
|
|
190
214
|
}
|
|
191
215
|
case "text":
|
|
192
216
|
return t(
|
|
193
|
-
|
|
217
|
+
p,
|
|
194
218
|
r.value
|
|
195
219
|
);
|
|
196
220
|
case "thematicBreak":
|
|
197
221
|
return t(
|
|
198
222
|
e ?? "hr",
|
|
199
|
-
|
|
223
|
+
l
|
|
200
224
|
);
|
|
201
225
|
case "yaml":
|
|
202
226
|
return e ? t(
|
|
203
227
|
e,
|
|
204
|
-
|
|
228
|
+
f(
|
|
205
229
|
{
|
|
206
230
|
lang: "yaml",
|
|
207
231
|
value: r.value
|
|
208
232
|
},
|
|
209
|
-
|
|
233
|
+
l
|
|
210
234
|
)
|
|
211
235
|
) : t(
|
|
212
236
|
"pre",
|
|
213
237
|
{
|
|
214
|
-
|
|
238
|
+
"data-lang": "yaml"
|
|
215
239
|
},
|
|
216
240
|
t("code", r.value)
|
|
217
241
|
);
|
|
218
242
|
default:
|
|
219
|
-
return t(
|
|
243
|
+
return e ? t(
|
|
244
|
+
e,
|
|
245
|
+
l
|
|
246
|
+
) : t(j, JSON.stringify(r));
|
|
220
247
|
}
|
|
221
248
|
}
|
|
222
|
-
function u(r,
|
|
249
|
+
function u(r, a = {}) {
|
|
223
250
|
var c;
|
|
224
|
-
return ((c = r.children) == null ? void 0 : c.map((e,
|
|
225
|
-
index:
|
|
251
|
+
return ((c = r.children) == null ? void 0 : c.map((e, l) => k(e, a, {
|
|
252
|
+
index: l,
|
|
226
253
|
parent: r
|
|
227
254
|
}))) ?? [];
|
|
228
255
|
}
|
|
229
256
|
export {
|
|
230
|
-
|
|
257
|
+
k as createVNode,
|
|
231
258
|
N as toVNode
|
|
232
259
|
};
|
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.4.1",
|
|
5
5
|
"private": false,
|
|
6
6
|
"packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b",
|
|
7
7
|
"description": "mdast utility to get the vue vnode",
|