feat: add editor.getAttributes, deprecate editor.getNodeAttributes and editor.getMarkAttributes

This commit is contained in:
Philipp Kühn
2021-05-07 11:10:18 +02:00
parent 58f49b563c
commit 072905cb95
5 changed files with 47 additions and 5 deletions

View File

@@ -0,0 +1,27 @@
import { MarkType, NodeType } from 'prosemirror-model'
import { EditorState } from 'prosemirror-state'
import getSchemaTypeNameByName from './getSchemaTypeNameByName'
import getNodeAttributes from './getNodeAttributes'
import getMarkAttributes from './getMarkAttributes'
export default function getAttributes(
state: EditorState,
typeOrName: string | NodeType | MarkType,
): Record<string, any> {
const schemaType = getSchemaTypeNameByName(
typeof typeOrName === 'string'
? typeOrName
: typeOrName.name,
state.schema,
)
if (schemaType === 'node') {
return getNodeAttributes(state, typeOrName as NodeType)
}
if (schemaType === 'mark') {
return getMarkAttributes(state, typeOrName as MarkType)
}
return {}
}