diff --git a/packages/core/src/utils/markHasAttributes.ts b/packages/core/src/utils/markHasAttributes.ts index e07d1305..3ea639bb 100644 --- a/packages/core/src/utils/markHasAttributes.ts +++ b/packages/core/src/utils/markHasAttributes.ts @@ -1,15 +1,13 @@ import { EditorState } from 'prosemirror-state' import { MarkType } from 'prosemirror-model' import getMarkAttrs from './getMarkAttrs' +import { AnyObject } from '../types' -export default function markHasAttributes(state: EditorState, type: MarkType, attrs?: { [key: string]: any }): boolean { - if (attrs === undefined || Object.keys(attrs).length === 0) { - return true - } +export default function markHasAttributes(state: EditorState, type: MarkType, attrs: AnyObject) { + const originalAttrs = getMarkAttrs(state, type) - const originalAttrs: { [key: string]: any } = getMarkAttrs(state, type) - - return Object.keys(attrs).filter((key: string) => { - return attrs[key] === originalAttrs[key] - }).length > 0 + return !!Object + .keys(attrs) + .filter(key => attrs[key] === originalAttrs[key]) + .length } diff --git a/packages/core/src/utils/markIsActive.ts b/packages/core/src/utils/markIsActive.ts index bf72f643..11fdba46 100644 --- a/packages/core/src/utils/markIsActive.ts +++ b/packages/core/src/utils/markIsActive.ts @@ -2,7 +2,7 @@ import { EditorState } from 'prosemirror-state' import { MarkType } from 'prosemirror-model' import markHasAttributes from './markHasAttributes' -export default function markIsActive(state: EditorState, type: MarkType, attrs?: {}) { +export default function markIsActive(state: EditorState, type: MarkType, attrs = {}) { const { from, $from,