UNPKG

@atlaskit/adf-schema

Version:

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

75 lines 2.41 kB
import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import { TableSideEffectHandler } from './table'; import { RowsSideEffectHandler } from './rows'; export var SideEffectsHandler = /*#__PURE__*/function () { function SideEffectsHandler(sideEffects) { _classCallCheck(this, SideEffectsHandler); this.table = new TableSideEffectHandler(sideEffects && sideEffects.table); this.rows = new RowsSideEffectHandler(sideEffects && sideEffects.rows); } _createClass(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 = TableSideEffectHandler.fromJSON(schema, json.table); } if (json.rows) { sideEffects.rows = RowsSideEffectHandler.fromJSON(schema, json.rows); } return sideEffects; } }]); return SideEffectsHandler; }();