@curvenote/schema
Version:
Schema and markdown parser for @curvenote/editor
34 lines • 1.14 kB
JavaScript
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
;