Skip to content

Commit 92d85bc

Browse files
committed
Fix overlapping marks only empty first mark
1 parent 760980c commit 92d85bc

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/index.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ const defaultInline = (type, node, key, h) => {
1717
};
1818

1919
const defaultMarkRenderers = {
20-
[MARKS.BOLD]: (text, key, h) => h('strong', { key }, text),
21-
[MARKS.ITALIC]: (text, key, h) => h('em', { key }, text),
22-
[MARKS.UNDERLINE]: (text, key, h) => h('u', { key }, text),
23-
[MARKS.CODE]: (text, key, h) => h('code', { key }, text)
20+
[MARKS.BOLD]: (children, key, h) => h('strong', { key }, children),
21+
[MARKS.ITALIC]: (children, key, h) => h('em', { key }, children),
22+
[MARKS.UNDERLINE]: (children, key, h) => h('u', { key }, children),
23+
[MARKS.CODE]: (children, key, h) => h('code', { key }, children)
2424
};
2525

2626
const defaultNodeRenderers = {
@@ -80,13 +80,14 @@ const defaultNodeRenderers = {
8080
)
8181
},
8282
text: ({ marks, value }, key, h, markRenderer) => {
83-
return marks.length
84-
? marks.reduce(
85-
(aggregate, mark, i) =>
86-
markRenderer[mark.type](aggregate, `${key}-${i}`, h),
87-
value
88-
)
89-
: value;
83+
if (!marks.length) {
84+
return value;
85+
}
86+
87+
const marksReversed = [...marks].reverse();
88+
return marksReversed.reduce((aggregate, mark, i) => (
89+
markRenderer[mark.type]([aggregate], `${key}-${i}`, h)
90+
), value)
9091
}
9192
};
9293

0 commit comments

Comments
 (0)