UNPKG

prosemirror-test-builder

Version:

Helpers for programatically building ProseMirror test documents

53 lines (49 loc) 1.89 kB
import * as orderedmap from 'orderedmap'; import * as prosemirror_model from 'prosemirror-model'; import { Attrs, Node, Schema } from 'prosemirror-model'; declare type Tags = { [tag: string]: number; }; declare type ChildSpec = string | Node | { flat: readonly Node[]; tag: Tags; }; declare type NodeBuilder = (attrsOrFirstChild?: Attrs | ChildSpec, ...children: ChildSpec[]) => Node & { tag: Tags; }; declare type MarkBuilder = (attrsOrFirstChild?: Attrs | ChildSpec, ...children: ChildSpec[]) => ChildSpec; declare type Builders<S extends Schema> = { schema: S; } & { [key in keyof S['nodes']]: NodeBuilder; } & { [key in keyof S['marks']]: MarkBuilder; } & { [name: string]: NodeBuilder | MarkBuilder; }; declare function builders<Nodes extends string = any, Marks extends string = any>(schema: Schema<Nodes, Marks>, names?: { [name: string]: Attrs; }): Builders<Schema<Nodes, Marks>>; declare const schema: Schema<keyof orderedmap.default<prosemirror_model.NodeSpec>, keyof orderedmap.default<prosemirror_model.MarkSpec>>; declare function eq<T extends { eq(other: T): boolean; }>(a: T, b: T): boolean; declare const doc: NodeBuilder; declare const p: NodeBuilder; declare const code_block: NodeBuilder; declare const pre: NodeBuilder; declare const h1: NodeBuilder; declare const h2: NodeBuilder; declare const h3: NodeBuilder; declare const li: NodeBuilder; declare const ul: NodeBuilder; declare const ol: NodeBuilder; declare const img: NodeBuilder; declare const hr: NodeBuilder; declare const br: NodeBuilder; declare const blockquote: NodeBuilder; declare const a: MarkBuilder; declare const em: MarkBuilder; declare const strong: MarkBuilder; declare const code: MarkBuilder; export { MarkBuilder, NodeBuilder, a, blockquote, br, builders, code, code_block, doc, em, eq, h1, h2, h3, hr, img, li, ol, p, pre, schema, strong, ul };