UNPKG

alinea

Version:
51 lines (50 loc) 1.19 kB
export type TextDoc<T = {}> = Array<Node>; export type Node = TextNode | ElementNode | BlockNode; export declare namespace Node { const type = "_type"; function isText(node: any): node is TextNode; function isElement(node: any): node is ElementNode; function isBlock(node: any): node is BlockNode; } export interface Mark { _type: string; [attr: string]: string | undefined; } export declare namespace Mark { const type = "_type"; } export interface LinkMark extends Mark { _type: 'link'; _id: string; _link: 'entry' | 'file' | 'url'; _entry?: string; } export declare namespace LinkMark { const id = "_id"; const link = "_link"; const entry = "_entry"; } export interface TextNode { _type: 'text'; text?: string; marks?: Array<Mark>; } export declare namespace TextNode { const text = "text"; const marks = "marks"; } export interface ElementNode { _type: string; content?: TextDoc; [key: string]: any; } export declare namespace ElementNode { const content = "content"; } export interface BlockNode { _id: string; _type: string; } export declare namespace BlockNode { const id = "_id"; }