@atlaskit/adf-schema
Version:
Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs
83 lines (82 loc) • 2.73 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SideEffectsHandler = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _table = require("./table");
var _rows = require("./rows");
var SideEffectsHandler = /*#__PURE__*/function () {
function SideEffectsHandler(sideEffects) {
(0, _classCallCheck2.default)(this, SideEffectsHandler);
this.table = new _table.TableSideEffectHandler(sideEffects && sideEffects.table);
this.rows = new _rows.RowsSideEffectHandler(sideEffects && sideEffects.rows);
}
(0, _createClass2.default)(SideEffectsHandler, [{
key: "getTableMap",
value: function getTableMap(isDelete) {
return this.table.getTableMap(isDelete);
}
}, {
key: "map",
value: function map(mapping) {
var sideEffects = {};
var tableSideEffect = this.table.map(mapping);
var rowsSideEffect = this.rows.map(mapping);
if (tableSideEffect) {
sideEffects.table = tableSideEffect;
}
if (rowsSideEffect) {
sideEffects.rows = rowsSideEffect;
}
return sideEffects;
}
}, {
key: "invert",
value: function invert(originalDoc, isDelete, map) {
var sideEffects = {};
var tableSideEffect = this.table.invert(originalDoc);
if (tableSideEffect) {
sideEffects.table = tableSideEffect;
}
var rowsSideEffect = this.rows.invert(originalDoc, isDelete, map);
if (rowsSideEffect) {
sideEffects.rows = rowsSideEffect;
}
return sideEffects;
}
}, {
key: "toJSON",
value: function toJSON() {
var tableSideEffectJson = this.table.toJSON();
var rowsSideEffectJson = this.rows.toJSON();
if (!tableSideEffectJson && !rowsSideEffectJson) {
return;
}
var sideEffectsJSON = {};
if (tableSideEffectJson) {
sideEffectsJSON.table = tableSideEffectJson;
}
if (rowsSideEffectJson) {
sideEffectsJSON.rows = rowsSideEffectJson;
}
return sideEffectsJSON;
}
}], [{
key: "fromJSON",
value: function fromJSON(schema, json) {
var sideEffects = {};
if (json.table) {
sideEffects.table = _table.TableSideEffectHandler.fromJSON(schema, json.table);
}
if (json.rows) {
sideEffects.rows = _rows.RowsSideEffectHandler.fromJSON(schema, json.rows);
}
return sideEffects;
}
}]);
return SideEffectsHandler;
}();
exports.SideEffectsHandler = SideEffectsHandler;
;