UNPKG

@curvenote/schema

Version:

Schema and markdown parser for @curvenote/editor

34 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.determineCaptionKind = void 0; const types_1 = require("../nodes/types"); const types_2 = require("../types"); function switchKind(node) { switch (node.type.name) { case types_2.nodeNames.iframe: case types_2.nodeNames.image: return types_1.CaptionKind.fig; case types_2.nodeNames.table: return types_1.CaptionKind.table; case types_2.nodeNames.code_block: return types_1.CaptionKind.code; case types_2.nodeNames.equation: return types_1.CaptionKind.eq; default: return null; } } function determineCaptionKind(node) { var _a; if (node.type.name !== types_2.nodeNames.figure) return switchKind(node); const childrenKinds = []; node.forEach((n) => { const kind = switchKind(n); if (kind) childrenKinds.push(kind); }); return (_a = childrenKinds[0]) !== null && _a !== void 0 ? _a : null; } exports.determineCaptionKind = determineCaptionKind; //# sourceMappingURL=utils.js.map