import { Node } from 'prosemirror-model' import { getSchema } from './getSchema' import { Extensions, JSONContent, TextSerializer } from '../types' import { getTextSeralizersFromSchema } from './getTextSeralizersFromSchema' import { getText } from './getText' export function generateText( doc: JSONContent, extensions: Extensions, options?: { blockSeparator?: string, textSerializers?: Record, }, ): string { const { blockSeparator = '\n\n', textSerializers = {}, } = options || {} const schema = getSchema(extensions) const contentNode = Node.fromJSON(schema, doc) return getText(contentNode, { blockSeparator, textSerializers: { ...textSerializers, ...getTextSeralizersFromSchema(schema), }, }) }