forked from Mirrors/elk
fix: emoji replacement error handling
This commit is contained in:
parent
dc94d707b0
commit
2d2dc64efc
1 changed files with 22 additions and 11 deletions
|
@ -49,18 +49,29 @@ export const Emoji = Node.create({
|
||||||
},
|
},
|
||||||
|
|
||||||
addInputRules() {
|
addInputRules() {
|
||||||
|
const inputRule = nodeInputRule({
|
||||||
|
find: EMOJI_REGEX,
|
||||||
|
type: this.type,
|
||||||
|
getAttributes: (match) => {
|
||||||
|
const [native] = match
|
||||||
|
return {
|
||||||
|
native,
|
||||||
|
fallback: native,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
// Error catch for unsupported emoji
|
||||||
|
const handler = inputRule.handler.bind(inputRule)
|
||||||
|
inputRule.handler = (...args) => {
|
||||||
|
try {
|
||||||
|
return handler(...args)
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
return [
|
return [
|
||||||
nodeInputRule({
|
inputRule,
|
||||||
find: EMOJI_REGEX,
|
|
||||||
type: this.type,
|
|
||||||
getAttributes: (match) => {
|
|
||||||
const [native] = match
|
|
||||||
return {
|
|
||||||
native,
|
|
||||||
fallback: native,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue