datocms-structured-text-utils
Version:
A set of Typescript types and helpers to work with DatoCMS Structured Text fields.
23 lines (22 loc) • 1.79 kB
TypeScript
import { Block, Blockquote, Code, Document, Heading, InlineBlock, InlineItem, InlineNode, ItemLink, Link, List, ListItem, Node, NodeType, Paragraph, Record as DatoCmsRecord, Root, Span, StructuredText, ThematicBreak, WithChildrenNode } from './types';
export declare function hasChildren(node: Node): node is WithChildrenNode;
export declare function isInlineNode(node: Node): node is InlineNode;
export declare function isHeading(node: Node): node is Heading;
export declare function isSpan(node: Node): node is Span;
export declare function isRoot(node: Node): node is Root;
export declare function isParagraph(node: Node): node is Paragraph;
export declare function isList(node: Node): node is List;
export declare function isListItem(node: Node): node is ListItem;
export declare function isBlockquote(node: Node): node is Blockquote;
export declare function isBlock(node: Node): node is Block;
export declare function isInlineBlock(node: Node): node is InlineBlock;
export declare function isCode(node: Node): node is Code;
export declare function isLink(node: Node): node is Link;
export declare function isItemLink(node: Node): node is ItemLink;
export declare function isInlineItem(node: Node): node is InlineItem;
export declare function isThematicBreak(node: Node): node is ThematicBreak;
export declare function isNodeType(value: string): value is NodeType;
export declare function isNode(obj: unknown): obj is Node;
export declare function isStructuredText<BlockRecord extends DatoCmsRecord, LinkRecord extends DatoCmsRecord, InlineBlockRecord extends DatoCmsRecord>(obj: unknown): obj is StructuredText<BlockRecord, LinkRecord, InlineBlockRecord>;
export declare function isDocument(obj: unknown): obj is Document;
export declare function isEmptyDocument(obj: unknown): boolean;