* use named exports instead of default exports * fix tests Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
28 lines
760 B
TypeScript
28 lines
760 B
TypeScript
import { MarkType, NodeType } from 'prosemirror-model'
|
|
import { EditorState } from 'prosemirror-state'
|
|
import { getSchemaTypeNameByName } from './getSchemaTypeNameByName'
|
|
import { getNodeAttributes } from './getNodeAttributes'
|
|
import { getMarkAttributes } from './getMarkAttributes'
|
|
|
|
export 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 {}
|
|
}
|