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.
Files changed (3) hide show
  1. package/README.md +3 -0
  2. package/dist/index.js +95 -68
  3. 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 O, Text as j } from "vue";
2
- function p(r) {
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 y(r) {
8
+ function v(r) {
9
9
  return typeof r == "function";
10
10
  }
11
11
  function s(r) {
12
- return C(r) && !p(r) && !y(r);
12
+ return C(r) && !y(r) && !v(r);
13
13
  }
14
- function i(r, ...l) {
14
+ function f(r, ...a) {
15
15
  if (!s(r))
16
16
  return r;
17
- const c = l.filter((a) => s(a));
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 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);
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 n(r, l) {
26
- return l.reduce((c, e) => (c[e] = r[e], c), {});
25
+ function i(r, a) {
26
+ return a.reduce((c, e) => (c[e] = r[e], c), {});
27
27
  }
28
- function N(r, l = {}) {
29
- return v(r, l, {
28
+ function N(r, a = {}) {
29
+ return k(r, a, {
30
30
  index: 0,
31
31
  parent: null
32
32
  });
33
33
  }
34
- function v(r, l = {}, c) {
35
- var f, m, h, b, g;
36
- let e = (f = l.components) == null ? void 0 : f[r.type], a = {};
37
- switch (y(e) && (e = e(r)), p(e) && (a = e[1] ?? {}, e = e[0]), r.type) {
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
- a,
42
- u(r, l)
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
- a
49
+ l
48
50
  );
49
51
  case "code":
50
52
  return e ? t(
51
53
  e,
52
- i(n(r, ["lang", "meta", "value"]), a)
54
+ f(i(r, ["lang", "meta", "value"]), l)
53
55
  ) : t(
54
56
  "pre",
55
57
  {
56
- dataLang: r.lang,
57
- dataMeta: r.meta
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
- a,
65
- u(r, l)
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
- a,
71
- u(r, l)
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(n(r, ["depth"]), a)
82
+ f(i(r, ["depth"]), l)
77
83
  ) : t(
78
84
  `h${r.depth}`,
79
- u(r, l)
85
+ u(r, a)
80
86
  );
81
87
  case "html":
82
88
  return e ? t(
83
89
  e,
84
- i(n(r, ["value"]), a)
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(n(r, ["url", "alt", "title"]), a)
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(n(r, ["value"]), a)
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
- i(
120
+ f(
115
121
  {
116
122
  target: "_blank"
117
123
  },
118
- n(r, ["url", "title"]),
119
- a
124
+ i(r, ["url", "title"]),
125
+ l
120
126
  ),
121
- u(r, l)
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, l)
136
+ u(r, a)
129
137
  );
130
138
  case "list":
131
139
  return e ? t(
132
140
  e,
133
- i(n(r, ["ordered", "spread", "start"]), a),
134
- u(r, l)
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, l)
147
+ u(r, a)
138
148
  );
139
149
  case "listItem":
140
150
  return e ? t(
141
151
  e,
142
- i(n(r, ["checked", "spread"]), a),
143
- u(r, l)
152
+ f(i(r, ["checked", "spread"]), l),
153
+ {
154
+ default: () => u(r, a)
155
+ }
144
156
  ) : t(
145
157
  "li",
146
- u(r, l)
158
+ u(r, a)
147
159
  );
148
160
  case "paragraph":
149
161
  return t(
150
162
  e ?? "p",
151
- a,
152
- u(r, l)
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
- a,
158
- u(r, l)
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
- a,
164
- u(r, l)
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
- a,
170
- u(r, l)
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
- i(a, {
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
- u(r, l)
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, l));
204
+ }, u(r, a));
183
205
  case "tableCell": {
184
- const k = ((g = (b = c.parent.position) == null ? void 0 : b.start) == null ? void 0 : g.offset) === 0;
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 ?? (k ? "th" : "td"),
187
- a,
188
- u(r, l)
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
- j,
217
+ p,
194
218
  r.value
195
219
  );
196
220
  case "thematicBreak":
197
221
  return t(
198
222
  e ?? "hr",
199
- a
223
+ l
200
224
  );
201
225
  case "yaml":
202
226
  return e ? t(
203
227
  e,
204
- i(
228
+ f(
205
229
  {
206
230
  lang: "yaml",
207
231
  value: r.value
208
232
  },
209
- a
233
+ l
210
234
  )
211
235
  ) : t(
212
236
  "pre",
213
237
  {
214
- dataLang: "yaml"
238
+ "data-lang": "yaml"
215
239
  },
216
240
  t("code", r.value)
217
241
  );
218
242
  default:
219
- return t(O, JSON.stringify(r));
243
+ return e ? t(
244
+ e,
245
+ l
246
+ ) : t(j, JSON.stringify(r));
220
247
  }
221
248
  }
222
- function u(r, l = {}) {
249
+ function u(r, a = {}) {
223
250
  var c;
224
- return ((c = r.children) == null ? void 0 : c.map((e, a) => v(e, l, {
225
- index: a,
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
- v as createVNode,
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.3.2",
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",