UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

41 lines (38 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.allowCustomPanel = void 0; exports.createSchema = createSchema; Object.defineProperty(exports, "getNodesAndMarksMap", { enumerable: true, get: function get() { return _getNodesAndMarksMap.getNodesAndMarksMap; } }); var _model = require("@atlaskit/editor-prosemirror/model"); var _addItems = require("./add-items"); var _markGroupDeclarationsNames = require("./mark-group-declarations-names"); var _marksInOrder = require("./marks-in-order"); var _nodesInOrder = require("./nodes-in-order"); var _sanitizeNodes = require("./sanitizeNodes"); var _getNodesAndMarksMap = require("./get-nodes-and-marks-map"); /* eslint-disable @atlaskit/editor/no-re-export -- VOLTC-139 tracks removal of these deprecated compatibility re-export shims. */ /** * Creates a schema preserving order of marks and nodes. */ function createSchema(config) { var customNodeSpecs = config.customNodeSpecs, customMarkSpecs = config.customMarkSpecs; var nodesConfig = Object.keys(customNodeSpecs || {}).concat(config.nodes); var marksConfig = Object.keys(customMarkSpecs || {}).concat(config.marks || []).concat(_markGroupDeclarationsNames.markGroupDeclarationsNames); var nodes = (0, _addItems.addItems)(_nodesInOrder.nodesInOrder, nodesConfig, customNodeSpecs); var marks = (0, _addItems.addItems)(_marksInOrder.marksInOrder, marksConfig, customMarkSpecs); nodes = (0, _sanitizeNodes.sanitizeNodes)(nodes, marks); return new _model.Schema({ nodes: nodes, marks: marks }); } var allowCustomPanel = exports.allowCustomPanel = true; // eslint-disable-next-line @atlaskit/volt-strict-mode/no-re-exports -- Public compatibility re-export.