datocms-structured-text-utils
Version:
A set of Typescript types and helpers to work with DatoCMS Structured Text fields.
27 lines (26 loc) • 4.05 kB
TypeScript
import { Block, BlockId, Blockquote, CdaStructuredTextValue, 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<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is WithChildrenNode<BlockItemType, InlineBlockItemType>;
export declare function isInlineNode<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is InlineNode<InlineBlockItemType>;
export declare function isHeading<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Heading<InlineBlockItemType>;
export declare function isSpan<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Span;
export declare function isRoot<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Root<BlockItemType, InlineBlockItemType>;
export declare function isParagraph<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Paragraph<InlineBlockItemType>;
export declare function isList<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is List<BlockItemType, InlineBlockItemType>;
export declare function isListItem<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is ListItem<BlockItemType, InlineBlockItemType>;
export declare function isBlockquote<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Blockquote<InlineBlockItemType>;
export declare function isBlock<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Block<BlockItemType>;
export declare function isInlineBlock<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is InlineBlock<InlineBlockItemType>;
export declare function isCode<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Code;
export declare function isLink<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is Link;
export declare function isItemLink<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is ItemLink;
export declare function isInlineItem<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is InlineItem;
export declare function isThematicBreak<BlockItemType = BlockId, InlineBlockItemType = BlockId>(node: Node<BlockItemType, InlineBlockItemType>): node is ThematicBreak;
export declare function isNodeType(value: string): value is NodeType;
export declare function isNode<BlockItemType = BlockId, InlineBlockItemType = BlockId>(obj: unknown): obj is Node<BlockItemType, InlineBlockItemType>;
export declare function isCdaStructuredTextValue<BlockRecord extends DatoCmsRecord, LinkRecord extends DatoCmsRecord, InlineBlockRecord extends DatoCmsRecord>(obj: unknown): obj is CdaStructuredTextValue<BlockRecord, LinkRecord, InlineBlockRecord>;
/**
* @deprecated Use isCdaStructuredTextValue instead
*/
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<BlockItemType = BlockId, InlineBlockItemType = BlockId>(obj: unknown): obj is Document<BlockItemType, InlineBlockItemType>;
export declare function isEmptyDocument(obj: unknown): boolean;