UNPKG

@nacelle/rich-text-utils

Version:

A set of Typescript types and helpers to work with Rich Text fields.

77 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDocument = exports.isRichText = exports.isThematicBreak = exports.isInlineEntry = exports.isEntryLink = exports.isLink = exports.isCode = exports.isBlock = exports.isBlockquote = exports.isListItem = exports.isList = exports.isParagraph = exports.isRoot = exports.isSpan = exports.isHeading = exports.isInlineNode = exports.hasChildren = void 0; const definitions_1 = require("./definitions"); function hasChildren(node) { return 'children' in node; } exports.hasChildren = hasChildren; function isInlineNode(node) { return definitions_1.inlineNodeTypes.includes(node.type); } exports.isInlineNode = isInlineNode; function isHeading(node) { return node.type === definitions_1.headingNodeType; } exports.isHeading = isHeading; function isSpan(node) { return node.type === definitions_1.spanNodeType; } exports.isSpan = isSpan; function isRoot(node) { return node.type === definitions_1.rootNodeType; } exports.isRoot = isRoot; function isParagraph(node) { return node.type === definitions_1.paragraphNodeType; } exports.isParagraph = isParagraph; function isList(node) { return node.type === definitions_1.listNodeType; } exports.isList = isList; function isListItem(node) { return node.type === definitions_1.listItemNodeType; } exports.isListItem = isListItem; function isBlockquote(node) { return node.type === definitions_1.blockquoteNodeType; } exports.isBlockquote = isBlockquote; function isBlock(node) { return node.type === definitions_1.blockNodeType; } exports.isBlock = isBlock; function isCode(node) { return node.type === definitions_1.codeNodeType; } exports.isCode = isCode; function isLink(node) { return node.type === definitions_1.linkNodeType; } exports.isLink = isLink; function isEntryLink(node) { return node.type === definitions_1.entryLinkNodeType; } exports.isEntryLink = isEntryLink; function isInlineEntry(node) { return node.type === definitions_1.inlineEntryNodeType; } exports.isInlineEntry = isInlineEntry; function isThematicBreak(node) { return node.type === definitions_1.thematicBreakNodeType; } exports.isThematicBreak = isThematicBreak; function isRichText( // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types obj) { return obj && 'value' in obj && isDocument(obj.value); } exports.isRichText = isRichText; function isDocument( // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types obj) { return obj && 'schema' in obj && 'document' in obj; } exports.isDocument = isDocument; //# sourceMappingURL=guards.js.map