contentful-rich-text-html-parser
Version:
Convert any HTML to the Contentful Rich Text format
51 lines • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDocumentNode = exports.isNodeTypeText = exports.isNodeTypeMark = exports.isNodeTypeInline = exports.isNodeTypeTopLevelBlock = exports.isNodeTypeBlock = exports.isTopLevelBlock = exports.isMarkType = exports.isInlineType = exports.isBlockType = exports.getAsList = exports.isWhiteSpace = exports.isNotNull = void 0;
const rich_text_types_1 = require("@contentful/rich-text-types");
const constants_js_1 = require("./constants.js");
const isNotNull = (value) => value !== null;
exports.isNotNull = isNotNull;
const isWhiteSpace = (content) => /^\s*$/.test(content);
exports.isWhiteSpace = isWhiteSpace;
const getAsList = (value) => {
if (Array.isArray(value)) {
return value;
}
return [value];
};
exports.getAsList = getAsList;
const isBlockType = (nodeType) => constants_js_1.BLOCK_TYPES.includes(nodeType);
exports.isBlockType = isBlockType;
const isInlineType = (nodeType) => constants_js_1.INLINE_TYPES.includes(nodeType);
exports.isInlineType = isInlineType;
const isMarkType = (nodeType) => constants_js_1.MARK_TYPES.includes(nodeType);
exports.isMarkType = isMarkType;
const isTopLevelBlock = (nodeType) => rich_text_types_1.TOP_LEVEL_BLOCKS.includes(nodeType);
exports.isTopLevelBlock = isTopLevelBlock;
const isNodeTypeBlock = (node) => (0, exports.isBlockType)(node.nodeType);
exports.isNodeTypeBlock = isNodeTypeBlock;
const isNodeTypeTopLevelBlock = (node) => (0, exports.isTopLevelBlock)(node.nodeType);
exports.isNodeTypeTopLevelBlock = isNodeTypeTopLevelBlock;
const isNodeTypeInline = (node) => (0, exports.isInlineType)(node.nodeType);
exports.isNodeTypeInline = isNodeTypeInline;
const isNodeTypeMark = (node) => {
return (0, exports.isMarkType)(node.type);
};
exports.isNodeTypeMark = isNodeTypeMark;
const isNodeTypeText = (node) => {
if ((0, exports.isNodeTypeMark)(node)) {
return false;
}
if (node.nodeType === "text") {
return true;
}
return false;
};
exports.isNodeTypeText = isNodeTypeText;
const createDocumentNode = (content, data = {}) => ({
nodeType: rich_text_types_1.BLOCKS.DOCUMENT,
data,
content,
});
exports.createDocumentNode = createDocumentNode;
//# sourceMappingURL=utils.js.map