mdast-util-to-vnode 0.5.2 → 0.5.4
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/dist/index.d.ts +9 -0
- package/dist/index.js +162 -136
- package/package.json +9 -11
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { Node, Nodes, Root } from 'mdast';
|
|
2
2
|
import { Component, VNode } from 'vue';
|
|
3
|
+
declare module 'mdast' {
|
|
4
|
+
interface Data {
|
|
5
|
+
vueProps?: Record<string, any>;
|
|
6
|
+
}
|
|
7
|
+
interface TableRowData {
|
|
8
|
+
tableAlign?: AlignType[];
|
|
9
|
+
isHeaderRow?: boolean;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
3
12
|
export type ComponentReturn = Component | [Component, Record<string, any> | undefined];
|
|
4
13
|
export interface ToVNodeOptions {
|
|
5
14
|
components?: Partial<Record<Nodes['type'], ComponentReturn | ((node: Node) => ComponentReturn)>>;
|
package/dist/index.js
CHANGED
|
@@ -1,225 +1,251 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function C(r) {
|
|
6
|
-
return typeof r == "object" && r !== null;
|
|
7
|
-
}
|
|
8
|
-
function y(r) {
|
|
9
|
-
return typeof r == "function";
|
|
10
|
-
}
|
|
11
|
-
function s(r) {
|
|
12
|
-
return C(r) && !g(r) && !y(r);
|
|
13
|
-
}
|
|
14
|
-
function i(r, ...u) {
|
|
15
|
-
if (!s(r))
|
|
16
|
-
return r;
|
|
17
|
-
const c = u.filter((a) => s(a));
|
|
18
|
-
if (!c.length)
|
|
19
|
-
return r;
|
|
20
|
-
const e = c.shift();
|
|
21
|
-
for (const a in e)
|
|
22
|
-
s(e[a]) ? (Object.prototype.hasOwnProperty.call(r, a) || Object.assign(r, { [a]: {} }), i(r[a], e[a])) : Object.assign(r, { [a]: e[a] });
|
|
23
|
-
return i(r, ...c);
|
|
24
|
-
}
|
|
25
|
-
function n(r, u) {
|
|
26
|
-
return u.reduce((c, e) => (c[e] = r[e], c), {});
|
|
27
|
-
}
|
|
28
|
-
function N(r, u = {}) {
|
|
29
|
-
return v(r, u, {
|
|
1
|
+
import { isFunction as w, merge as c, isNull as A, pick as s } from "es-toolkit";
|
|
2
|
+
import { h as r, Comment as C, Text as R } from "vue";
|
|
3
|
+
function H(a, t = {}) {
|
|
4
|
+
return N(a, t, {
|
|
30
5
|
index: 0,
|
|
31
6
|
parent: null
|
|
32
7
|
});
|
|
33
8
|
}
|
|
34
|
-
function
|
|
35
|
-
var
|
|
36
|
-
let e = (
|
|
37
|
-
|
|
9
|
+
function N(a, t = {}, f) {
|
|
10
|
+
var h, b, v, k, y;
|
|
11
|
+
let e = (h = t.components) == null ? void 0 : h[a.type], u = {
|
|
12
|
+
...(b = a.data) == null ? void 0 : b.vueProps
|
|
13
|
+
};
|
|
14
|
+
switch (w(e) && (e = e(a)), Array.isArray(e) && (u = {
|
|
15
|
+
...u,
|
|
16
|
+
...e[1]
|
|
17
|
+
}, e = e[0]), a.type) {
|
|
38
18
|
case "blockquote":
|
|
39
|
-
return
|
|
19
|
+
return r(
|
|
40
20
|
e ?? "blockquote",
|
|
41
|
-
|
|
42
|
-
|
|
21
|
+
u,
|
|
22
|
+
e ? {
|
|
23
|
+
default: () => l(a, t)
|
|
24
|
+
} : l(a, t)
|
|
43
25
|
);
|
|
44
26
|
case "break":
|
|
45
|
-
return
|
|
27
|
+
return r(
|
|
46
28
|
e ?? "br",
|
|
47
|
-
|
|
29
|
+
u
|
|
48
30
|
);
|
|
49
31
|
case "code":
|
|
50
|
-
return e ?
|
|
32
|
+
return e ? r(
|
|
51
33
|
e,
|
|
52
|
-
|
|
53
|
-
) :
|
|
34
|
+
c(s(a, ["lang", "meta", "value"]), u)
|
|
35
|
+
) : r(
|
|
54
36
|
"pre",
|
|
55
37
|
{
|
|
56
|
-
|
|
57
|
-
|
|
38
|
+
"data-lang": a.lang,
|
|
39
|
+
"data-meta": a.meta
|
|
58
40
|
},
|
|
59
|
-
|
|
41
|
+
r("code", a.value)
|
|
60
42
|
);
|
|
61
43
|
case "delete":
|
|
62
|
-
return
|
|
44
|
+
return r(
|
|
63
45
|
e ?? "s",
|
|
64
|
-
|
|
65
|
-
|
|
46
|
+
u,
|
|
47
|
+
e ? {
|
|
48
|
+
default: () => l(a, t)
|
|
49
|
+
} : l(a, t)
|
|
66
50
|
);
|
|
67
51
|
case "emphasis":
|
|
68
|
-
return
|
|
52
|
+
return r(
|
|
69
53
|
e ?? "em",
|
|
70
|
-
|
|
71
|
-
|
|
54
|
+
u,
|
|
55
|
+
e ? {
|
|
56
|
+
default: () => l(a, t)
|
|
57
|
+
} : l(a, t)
|
|
72
58
|
);
|
|
73
59
|
case "heading":
|
|
74
|
-
return e ?
|
|
60
|
+
return e ? r(
|
|
75
61
|
e,
|
|
76
|
-
|
|
77
|
-
) :
|
|
78
|
-
`h${
|
|
79
|
-
l(
|
|
62
|
+
c(s(a, ["depth"]), u)
|
|
63
|
+
) : r(
|
|
64
|
+
`h${a.depth}`,
|
|
65
|
+
l(a, t)
|
|
80
66
|
);
|
|
81
67
|
case "html":
|
|
82
|
-
return e ?
|
|
68
|
+
return e ? r(
|
|
83
69
|
e,
|
|
84
|
-
|
|
85
|
-
) :
|
|
86
|
-
"
|
|
70
|
+
c(s(a, ["value"]), u)
|
|
71
|
+
) : r(
|
|
72
|
+
"pre",
|
|
87
73
|
{
|
|
88
|
-
|
|
89
|
-
}
|
|
74
|
+
"data-lang": "html"
|
|
75
|
+
},
|
|
76
|
+
r("code", a.value)
|
|
90
77
|
);
|
|
91
78
|
case "image":
|
|
92
|
-
return e ?
|
|
79
|
+
return e ? r(
|
|
93
80
|
e,
|
|
94
|
-
|
|
95
|
-
) :
|
|
81
|
+
c(s(a, ["url", "alt", "title"]), u)
|
|
82
|
+
) : r(
|
|
96
83
|
"img",
|
|
97
84
|
{
|
|
98
|
-
src:
|
|
99
|
-
alt:
|
|
100
|
-
title:
|
|
85
|
+
src: a.url,
|
|
86
|
+
alt: a.alt,
|
|
87
|
+
title: a.title
|
|
101
88
|
}
|
|
102
89
|
);
|
|
103
90
|
case "inlineCode":
|
|
104
|
-
return e ?
|
|
91
|
+
return e ? r(
|
|
105
92
|
e,
|
|
106
|
-
|
|
107
|
-
) :
|
|
93
|
+
c(s(a, ["value"]), u)
|
|
94
|
+
) : r(
|
|
108
95
|
"code",
|
|
109
|
-
|
|
96
|
+
a.value
|
|
110
97
|
);
|
|
111
98
|
case "link":
|
|
112
|
-
return e ?
|
|
99
|
+
return e ? r(
|
|
113
100
|
e,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
101
|
+
c(
|
|
102
|
+
{
|
|
103
|
+
target: "_blank",
|
|
104
|
+
...s(a, ["url", "title"])
|
|
105
|
+
},
|
|
106
|
+
u
|
|
107
|
+
),
|
|
108
|
+
{
|
|
109
|
+
default: () => l(a, t)
|
|
110
|
+
}
|
|
111
|
+
) : r(
|
|
117
112
|
"a",
|
|
118
113
|
{
|
|
119
|
-
href:
|
|
114
|
+
href: a.url,
|
|
115
|
+
target: "_blank"
|
|
120
116
|
},
|
|
121
|
-
l(
|
|
117
|
+
l(a, t)
|
|
122
118
|
);
|
|
123
119
|
case "list":
|
|
124
|
-
return e ?
|
|
120
|
+
return e ? r(
|
|
125
121
|
e,
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
122
|
+
c(s(a, ["ordered", "spread", "start"]), u),
|
|
123
|
+
{
|
|
124
|
+
default: () => l(a, t)
|
|
125
|
+
}
|
|
126
|
+
) : r(
|
|
127
|
+
a.ordered ? "ol" : "ul",
|
|
128
|
+
l(a, t)
|
|
131
129
|
);
|
|
132
130
|
case "listItem":
|
|
133
|
-
return e ?
|
|
131
|
+
return e ? r(
|
|
134
132
|
e,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
c(s(a, ["checked", "spread"]), u),
|
|
134
|
+
{
|
|
135
|
+
default: () => l(a, t)
|
|
136
|
+
}
|
|
137
|
+
) : r(
|
|
138
138
|
"li",
|
|
139
|
-
l(
|
|
139
|
+
l(a, t)
|
|
140
140
|
);
|
|
141
141
|
case "paragraph":
|
|
142
|
-
return
|
|
142
|
+
return r(
|
|
143
143
|
e ?? "p",
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
u,
|
|
145
|
+
e ? {
|
|
146
|
+
default: () => l(a, t)
|
|
147
|
+
} : l(a, t)
|
|
146
148
|
);
|
|
147
149
|
case "root":
|
|
148
|
-
return
|
|
150
|
+
return r(
|
|
149
151
|
e ?? "div",
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
u,
|
|
153
|
+
e ? {
|
|
154
|
+
default: () => l(a, t)
|
|
155
|
+
} : l(a, t)
|
|
152
156
|
);
|
|
153
157
|
case "strong":
|
|
154
|
-
return
|
|
158
|
+
return r(
|
|
155
159
|
e ?? "strong",
|
|
156
|
-
|
|
157
|
-
|
|
160
|
+
u,
|
|
161
|
+
e ? {
|
|
162
|
+
default: () => l(a, t)
|
|
163
|
+
} : l(a, t)
|
|
158
164
|
);
|
|
159
165
|
case "table":
|
|
160
|
-
return
|
|
166
|
+
return r(
|
|
161
167
|
e ?? "table",
|
|
162
|
-
|
|
163
|
-
|
|
168
|
+
u,
|
|
169
|
+
e ? {
|
|
170
|
+
default: () => l(a, t)
|
|
171
|
+
} : l(a, t)
|
|
172
|
+
);
|
|
173
|
+
case "tableRow": {
|
|
174
|
+
a.data || (a.data = {});
|
|
175
|
+
const i = a;
|
|
176
|
+
return i.data.tableAlign = f.parent.align ?? [], i.data.isHeaderRow = f.index === 0, r(
|
|
177
|
+
e ?? "tr",
|
|
178
|
+
u,
|
|
179
|
+
e ? {
|
|
180
|
+
default: () => l(a, t)
|
|
181
|
+
} : l(a, t)
|
|
164
182
|
);
|
|
165
|
-
|
|
166
|
-
return e ? t(
|
|
167
|
-
e,
|
|
168
|
-
i(a, {
|
|
169
|
-
index: c.index,
|
|
170
|
-
align: ((m = c.parent.align) == null ? void 0 : m[c.index]) ?? "left"
|
|
171
|
-
}),
|
|
172
|
-
l(r, u)
|
|
173
|
-
) : t("tr", {
|
|
174
|
-
align: ((h = c.parent.align) == null ? void 0 : h[c.index]) ?? "left"
|
|
175
|
-
}, l(r, u));
|
|
183
|
+
}
|
|
176
184
|
case "tableCell": {
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
185
|
+
const i = !!((v = f.parent.data) != null && v.isHeaderRow), g = (y = (k = f.parent.data) == null ? void 0 : k.tableAlign) == null ? void 0 : y[f.index];
|
|
186
|
+
let m;
|
|
187
|
+
return g === "left" ? m = "start" : g === "right" ? m = "end" : A(g) ? m = void 0 : m = g, r(
|
|
188
|
+
e ?? (i ? "th" : "td"),
|
|
189
|
+
c(u, {
|
|
190
|
+
style: {
|
|
191
|
+
textAlign: m
|
|
192
|
+
}
|
|
193
|
+
}),
|
|
194
|
+
e ? {
|
|
195
|
+
default: () => l(a, t)
|
|
196
|
+
} : l(a, t)
|
|
182
197
|
);
|
|
183
198
|
}
|
|
184
199
|
case "text":
|
|
185
|
-
return
|
|
186
|
-
|
|
187
|
-
|
|
200
|
+
return r(
|
|
201
|
+
R,
|
|
202
|
+
a.value
|
|
188
203
|
);
|
|
189
204
|
case "thematicBreak":
|
|
190
|
-
return
|
|
205
|
+
return r(
|
|
191
206
|
e ?? "hr",
|
|
192
|
-
|
|
207
|
+
u
|
|
193
208
|
);
|
|
194
209
|
case "yaml":
|
|
195
|
-
return e ?
|
|
210
|
+
return e ? r(
|
|
196
211
|
e,
|
|
197
|
-
|
|
212
|
+
c(
|
|
198
213
|
{
|
|
199
214
|
lang: "yaml",
|
|
200
|
-
value:
|
|
215
|
+
value: a.value
|
|
201
216
|
},
|
|
202
|
-
|
|
217
|
+
u
|
|
203
218
|
)
|
|
204
|
-
) :
|
|
219
|
+
) : r(
|
|
205
220
|
"pre",
|
|
206
221
|
{
|
|
207
|
-
|
|
222
|
+
"data-lang": "yaml"
|
|
208
223
|
},
|
|
209
|
-
|
|
224
|
+
r("code", a.value)
|
|
225
|
+
);
|
|
226
|
+
case "footnoteReference":
|
|
227
|
+
return r(
|
|
228
|
+
e ?? "sup",
|
|
229
|
+
u,
|
|
230
|
+
e ? {
|
|
231
|
+
default: () => l(a, t)
|
|
232
|
+
} : l(a, t)
|
|
210
233
|
);
|
|
211
234
|
default:
|
|
212
|
-
return
|
|
235
|
+
return e ? r(
|
|
236
|
+
e,
|
|
237
|
+
u
|
|
238
|
+
) : r(C, JSON.stringify(a));
|
|
213
239
|
}
|
|
214
240
|
}
|
|
215
|
-
function l(
|
|
216
|
-
var
|
|
217
|
-
return ((
|
|
218
|
-
index:
|
|
219
|
-
parent:
|
|
241
|
+
function l(a, t = {}) {
|
|
242
|
+
var f;
|
|
243
|
+
return ((f = a.children) == null ? void 0 : f.map((e, u) => N(e, t, {
|
|
244
|
+
index: u,
|
|
245
|
+
parent: a
|
|
220
246
|
}))) ?? [];
|
|
221
247
|
}
|
|
222
248
|
export {
|
|
223
|
-
|
|
224
|
-
|
|
249
|
+
N as createVNode,
|
|
250
|
+
H as toVNode
|
|
225
251
|
};
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mdast-util-to-vnode",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.4",
|
|
5
5
|
"private": false,
|
|
6
|
-
"packageManager": "pnpm@10.28.2",
|
|
7
6
|
"description": "mdast utility to get the vue vnode",
|
|
8
7
|
"author": "litingyes <luz.liting@gmail.com> (https://litingyes.top/)",
|
|
9
8
|
"license": "MIT",
|
|
@@ -34,14 +33,6 @@
|
|
|
34
33
|
"files": [
|
|
35
34
|
"dist"
|
|
36
35
|
],
|
|
37
|
-
"scripts": {
|
|
38
|
-
"lint": "eslint .",
|
|
39
|
-
"format": "eslint --fix .",
|
|
40
|
-
"build": "vite build",
|
|
41
|
-
"commit": "git-cz",
|
|
42
|
-
"release": "bumpp",
|
|
43
|
-
"prepare": "husky"
|
|
44
|
-
},
|
|
45
36
|
"peerDependencies": {
|
|
46
37
|
"vue": "3"
|
|
47
38
|
},
|
|
@@ -80,5 +71,12 @@
|
|
|
80
71
|
},
|
|
81
72
|
"lint-staged": {
|
|
82
73
|
"*": "eslint --fix"
|
|
74
|
+
},
|
|
75
|
+
"scripts": {
|
|
76
|
+
"lint": "eslint .",
|
|
77
|
+
"format": "eslint --fix .",
|
|
78
|
+
"build": "vite build",
|
|
79
|
+
"commit": "git-cz",
|
|
80
|
+
"release": "bumpp"
|
|
83
81
|
}
|
|
84
|
-
}
|
|
82
|
+
}
|