diff --git a/packages/core/src/InputRule.ts b/packages/core/src/InputRule.ts index 2a943871..d147faff 100644 --- a/packages/core/src/InputRule.ts +++ b/packages/core/src/InputRule.ts @@ -1,9 +1,4 @@ -import { - EditorState, - Plugin, - TextSelection, - Transaction, -} from 'prosemirror-state' +import { EditorState, Plugin, TextSelection } from 'prosemirror-state' import { Editor } from './Editor' import { CommandManager } from './CommandManager' import { createChainableState } from './helpers/createChainableState' @@ -38,7 +33,7 @@ export class InputRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => Transaction | null + }) => void | null constructor(config: { find: InputRuleFinder, @@ -49,7 +44,7 @@ export class InputRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => Transaction | null, + }) => void | null, }) { this.find = config.find this.handler = config.handler @@ -163,7 +158,7 @@ function run(config: { }) // stop if there are no changes - if (!handler || !tr.steps.length) { + if (handler === null || !tr.steps.length) { return } diff --git a/packages/core/src/PasteRule.ts b/packages/core/src/PasteRule.ts index b220de1a..4ed48f5d 100644 --- a/packages/core/src/PasteRule.ts +++ b/packages/core/src/PasteRule.ts @@ -1,4 +1,4 @@ -import { EditorState, Plugin, Transaction } from 'prosemirror-state' +import { EditorState, Plugin } from 'prosemirror-state' import { Editor } from './Editor' import { CommandManager } from './CommandManager' import { createChainableState } from './helpers/createChainableState' @@ -34,7 +34,7 @@ export class PasteRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => Transaction | null + }) => void | null constructor(config: { find: PasteRuleFinder, @@ -45,7 +45,7 @@ export class PasteRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => Transaction | null, + }) => void | null, }) { this.find = config.find this.handler = config.handler @@ -103,7 +103,7 @@ function run(config: { state, }) - const handlers: (Transaction | null)[] = [] + const handlers: (void | null)[] = [] state.doc.nodesBetween(from, to, (node, pos) => { if (!node.isTextblock || node.type.spec.code) { diff --git a/packages/core/src/inputRules/markInputRule.ts b/packages/core/src/inputRules/markInputRule.ts index b01b63bb..faca667c 100644 --- a/packages/core/src/inputRules/markInputRule.ts +++ b/packages/core/src/inputRules/markInputRule.ts @@ -64,8 +64,6 @@ export function markInputRule(config: { tr.removeStoredMark(config.type) } - - return tr }, }) } diff --git a/packages/core/src/inputRules/nodeInputRule.ts b/packages/core/src/inputRules/nodeInputRule.ts index c80cb917..0dc14da4 100644 --- a/packages/core/src/inputRules/nodeInputRule.ts +++ b/packages/core/src/inputRules/nodeInputRule.ts @@ -45,8 +45,6 @@ export function nodeInputRule(config: { } else if (match[0]) { tr.replaceWith(start, end, config.type.create(attributes)) } - - return tr }, }) } diff --git a/packages/core/src/inputRules/textInputRule.ts b/packages/core/src/inputRules/textInputRule.ts index bfc5e137..75414b03 100644 --- a/packages/core/src/inputRules/textInputRule.ts +++ b/packages/core/src/inputRules/textInputRule.ts @@ -29,11 +29,7 @@ export function textInputRule(config: { } } - const { tr } = state - - tr.insertText(insert, start, end) - - return tr + state.tr.insertText(insert, start, end) }, }) } diff --git a/packages/core/src/inputRules/textblockTypeInputRule.ts b/packages/core/src/inputRules/textblockTypeInputRule.ts index 79ca14a7..f879082d 100644 --- a/packages/core/src/inputRules/textblockTypeInputRule.ts +++ b/packages/core/src/inputRules/textblockTypeInputRule.ts @@ -29,12 +29,9 @@ export function textblockTypeInputRule(config: { return null } - const { tr } = state - - tr.delete(range.from, range.to) + state.tr + .delete(range.from, range.to) .setBlockType(range.from, range.from, config.type, attributes) - - return tr }, }) } diff --git a/packages/core/src/inputRules/wrappingInputRule.ts b/packages/core/src/inputRules/wrappingInputRule.ts index b6e3002f..ba540e6a 100644 --- a/packages/core/src/inputRules/wrappingInputRule.ts +++ b/packages/core/src/inputRules/wrappingInputRule.ts @@ -54,8 +54,6 @@ export function wrappingInputRule(config: { ) { tr.join(range.from - 1) } - - return tr }, }) } diff --git a/packages/core/src/pasteRules/markPasteRule.ts b/packages/core/src/pasteRules/markPasteRule.ts index 9dee9584..f4949b32 100644 --- a/packages/core/src/pasteRules/markPasteRule.ts +++ b/packages/core/src/pasteRules/markPasteRule.ts @@ -64,8 +64,6 @@ export function markPasteRule(config: { tr.removeStoredMark(config.type) } - - return tr }, }) } diff --git a/packages/core/src/pasteRules/textPasteRule.ts b/packages/core/src/pasteRules/textPasteRule.ts index e82b2cc7..6e0d94c3 100644 --- a/packages/core/src/pasteRules/textPasteRule.ts +++ b/packages/core/src/pasteRules/textPasteRule.ts @@ -29,11 +29,7 @@ export function textPasteRule(config: { } } - const { tr } = state - - tr.insertText(insert, start, end) - - return tr + state.tr.insertText(insert, start, end) }, }) }