diff --git a/packages/core/src/helpers/getMarkAttributes.ts b/packages/core/src/helpers/getMarkAttributes.ts index a8dce181..632fe378 100644 --- a/packages/core/src/helpers/getMarkAttributes.ts +++ b/packages/core/src/helpers/getMarkAttributes.ts @@ -5,13 +5,13 @@ import getMarkType from './getMarkType' export default function getMarkAttributes(state: EditorState, typeOrName: string | MarkType): Record { const type = getMarkType(typeOrName, state.schema) const { from, to, empty } = state.selection - let marks: Mark[] = [] + const marks: Mark[] = [] if (empty) { - marks = state.selection.$head.marks() + marks.push(...state.selection.$head.marks()) } else { state.doc.nodesBetween(from, to, node => { - marks = [...marks, ...node.marks] + marks.push(...node.marks) }) } diff --git a/packages/core/src/helpers/getMarksBetween.ts b/packages/core/src/helpers/getMarksBetween.ts index f7ba63f5..75373fcf 100644 --- a/packages/core/src/helpers/getMarksBetween.ts +++ b/packages/core/src/helpers/getMarksBetween.ts @@ -2,14 +2,14 @@ import { EditorState } from 'prosemirror-state' import { MarkRange } from '../types' export default function getMarksBetween(from: number, to: number, state: EditorState): MarkRange[] { - let marks: MarkRange[] = [] + const marks: MarkRange[] = [] state.doc.nodesBetween(from, to, (node, pos) => { - marks = [...marks, ...node.marks.map(mark => ({ + marks.push(...node.marks.map(mark => ({ from: pos, to: pos + node.nodeSize, mark, - }))] + }))) }) return marks diff --git a/packages/core/src/helpers/getNodeAttributes.ts b/packages/core/src/helpers/getNodeAttributes.ts index e27f8aee..fcd0d9bb 100644 --- a/packages/core/src/helpers/getNodeAttributes.ts +++ b/packages/core/src/helpers/getNodeAttributes.ts @@ -5,10 +5,10 @@ import getNodeType from './getNodeType' export default function getNodeAttributes(state: EditorState, typeOrName: string | NodeType): Record { const type = getNodeType(typeOrName, state.schema) const { from, to } = state.selection - let nodes: Node[] = [] + const nodes: Node[] = [] state.doc.nodesBetween(from, to, node => { - nodes = [...nodes, node] + nodes.push(node) }) const node = nodes diff --git a/packages/core/src/helpers/isMarkActive.ts b/packages/core/src/helpers/isMarkActive.ts index 988e40dc..bfd96a29 100644 --- a/packages/core/src/helpers/isMarkActive.ts +++ b/packages/core/src/helpers/isMarkActive.ts @@ -27,7 +27,7 @@ export default function isMarkActive( } let selectionRange = 0 - let markRanges: MarkRange[] = [] + const markRanges: MarkRange[] = [] state.doc.nodesBetween(from, to, (node, pos) => { if (node.isText || node.marks.length) { @@ -37,11 +37,11 @@ export default function isMarkActive( selectionRange += range - markRanges = [...markRanges, ...node.marks.map(mark => ({ + markRanges.push(...node.marks.map(mark => ({ mark, from: relativeFrom, to: relativeTo, - }))] + }))) } }) diff --git a/packages/core/src/helpers/isNodeActive.ts b/packages/core/src/helpers/isNodeActive.ts index 2314e862..78cee635 100644 --- a/packages/core/src/helpers/isNodeActive.ts +++ b/packages/core/src/helpers/isNodeActive.ts @@ -14,18 +14,18 @@ export default function isNodeActive( ? getNodeType(typeOrName, state.schema) : null - let nodeRanges: NodeRange[] = [] + const nodeRanges: NodeRange[] = [] state.doc.nodesBetween(from, to, (node, pos) => { if (!node.isText) { const relativeFrom = Math.max(from, pos) const relativeTo = Math.min(to, pos + node.nodeSize) - nodeRanges = [...nodeRanges, { + nodeRanges.push({ node, from: relativeFrom, to: relativeTo, - }] + }) } })