tiptap/packages/core/src/utils/getRenderedAttributes.ts

19 lines
539 B
TypeScript
Raw Normal View History

import { Node } from 'prosemirror-model'
import { ExtensionAttribute } from '../types'
export default function getRenderedAttributes(node: Node, attributes: ExtensionAttribute[]) {
return attributes
2020-10-22 05:35:12 +08:00
.filter(item => item.attribute.rendered)
.map(item => {
// TODO: fallback if renderHTML doesnt exist
2020-10-22 05:35:12 +08:00
return item.attribute.renderHTML(node.attrs)
})
.reduce((accumulator, value) => {
// TODO: add support for "class" merge
return {
...accumulator,
...value,
}
}, {})
}