UNPKG

@atlaskit/adf-schema

Version:

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

89 lines (88 loc) 3.87 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.overrideDocumentStepType = exports.OverrideDocumentStep = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _transform = require("@atlaskit/editor-prosemirror/transform"); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var overrideDocumentStepType = exports.overrideDocumentStepType = 'override-document'; var OverrideDocumentStep = exports.OverrideDocumentStep = /*#__PURE__*/function (_Step) { function OverrideDocumentStep(opts) { var _this; (0, _classCallCheck2.default)(this, OverrideDocumentStep); _this = _callSuper(this, OverrideDocumentStep); (0, _defineProperty2.default)(_this, "inverted", false); (0, _defineProperty2.default)(_this, "oldDocumentSize", 0); var inverted = opts.inverted, nextDocument = opts.nextDocument; if (nextDocument.type.name !== 'doc') { throw new Error('nextDocument should be the entire prosemirror doc node and not only its content.'); } _this.nextDocument = nextDocument; _this.inverted = Boolean(inverted); return _this; } (0, _inherits2.default)(OverrideDocumentStep, _Step); return (0, _createClass2.default)(OverrideDocumentStep, [{ key: "apply", value: function apply(doc) { this.oldDocumentSize = doc.content.size; return _transform.StepResult.ok(this.nextDocument); } }, { key: "map", value: function map() { return new OverrideDocumentStep({ nextDocument: this.nextDocument, inverted: this.inverted }); } }, { key: "getMap", value: function getMap() { if (!this.nextDocument || !this.oldDocumentSize) { return new _transform.StepMap([0, 0, 0]); } var oldSize = this.oldDocumentSize; var nextDocumentSize = this.nextDocument.content.size; return new _transform.StepMap([0, oldSize, nextDocumentSize]); } }, { key: "invert", value: function invert(doc) { return new OverrideDocumentStep({ nextDocument: doc, inverted: true }); } }, { key: "toJSON", value: function toJSON() { return { stepType: overrideDocumentStepType, inverted: this.inverted, nextDocument: this.nextDocument.toJSON() }; } }], [{ key: "fromJSON", value: function fromJSON(schema, json) { if (!json || json.stepType !== overrideDocumentStepType) { throw new RangeError('Invalid overrideDocument step OverrideDocumentStep.fromJSON'); } return new OverrideDocumentStep({ inverted: json.inverted, nextDocument: schema.nodeFromJSON(json.nextDocument) }); } }]); }(_transform.Step); _transform.Step.jsonID(overrideDocumentStepType, OverrideDocumentStep);