@nacelle/rich-text-utils
Version:
A set of Typescript types and helpers to work with Rich Text fields.
77 lines • 2.72 kB
JavaScript
;
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