UNPKG

@slate-sheikah/bridge

Version:

slate-sheikah bridge: Bridge components for slate-sheikah. Slate + Automerge + Sockets

29 lines (22 loc) 3.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _path = require("../../path"); var _utils = require("../../utils"); const mergeNode = (doc, op) => { const [parent, index] = (0, _path.getParent)(doc, op.path); const prev = parent[index - 1] || parent.children[index - 1]; const next = parent[index] || parent.children[index]; if (prev.text) { prev.text.insertAt(prev.text.length, ...(0, _utils.toJS)(next.text).split('')); } else { (0, _path.getChildren)(next).forEach(n => (0, _path.getChildren)(prev).push((0, _utils.cloneNode)(n))); } (0, _path.getChildren)(parent).deleteAt(index, 1); return doc; }; var _default = mergeNode; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBseS9ub2RlL21lcmdlTm9kZS50cyJdLCJuYW1lcyI6WyJtZXJnZU5vZGUiLCJkb2MiLCJvcCIsInBhcmVudCIsImluZGV4IiwicGF0aCIsInByZXYiLCJjaGlsZHJlbiIsIm5leHQiLCJ0ZXh0IiwiaW5zZXJ0QXQiLCJsZW5ndGgiLCJzcGxpdCIsImZvckVhY2giLCJuIiwicHVzaCIsImRlbGV0ZUF0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBQ0E7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLENBQUNDLEdBQUQsRUFBaUJDLEVBQWpCLEtBQXVEO0FBQ3ZFLFFBQU0sQ0FBQ0MsTUFBRCxFQUFTQyxLQUFULElBQWlDLHFCQUFVSCxHQUFWLEVBQWVDLEVBQUUsQ0FBQ0csSUFBbEIsQ0FBdkM7QUFFQSxRQUFNQyxJQUFJLEdBQUdILE1BQU0sQ0FBQ0MsS0FBSyxHQUFHLENBQVQsQ0FBTixJQUFxQkQsTUFBTSxDQUFDSSxRQUFQLENBQWdCSCxLQUFLLEdBQUcsQ0FBeEIsQ0FBbEM7QUFDQSxRQUFNSSxJQUFJLEdBQUdMLE1BQU0sQ0FBQ0MsS0FBRCxDQUFOLElBQWlCRCxNQUFNLENBQUNJLFFBQVAsQ0FBZ0JILEtBQWhCLENBQTlCOztBQUVBLE1BQUlFLElBQUksQ0FBQ0csSUFBVCxFQUFlO0FBQ2JILElBQUFBLElBQUksQ0FBQ0csSUFBTCxDQUFVQyxRQUFWLENBQW1CSixJQUFJLENBQUNHLElBQUwsQ0FBVUUsTUFBN0IsRUFBcUMsR0FBRyxpQkFBS0gsSUFBSSxDQUFDQyxJQUFWLEVBQWdCRyxLQUFoQixDQUFzQixFQUF0QixDQUF4QztBQUNELEdBRkQsTUFFTztBQUNMLDJCQUFZSixJQUFaLEVBQWtCSyxPQUFsQixDQUEyQkMsQ0FBRCxJQUFhLHVCQUFZUixJQUFaLEVBQWtCUyxJQUFsQixDQUF1QixzQkFBVUQsQ0FBVixDQUF2QixDQUF2QztBQUNEOztBQUVELHlCQUFZWCxNQUFaLEVBQW9CYSxRQUFwQixDQUE2QlosS0FBN0IsRUFBb0MsQ0FBcEM7QUFFQSxTQUFPSCxHQUFQO0FBQ0QsQ0FmRDs7ZUFpQmVELFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXJnZU5vZGVPcGVyYXRpb24sIE5vZGUgfSBmcm9tICdzbGF0ZSdcblxuaW1wb3J0IHsgU3luY1ZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWwnXG5pbXBvcnQgeyBnZXRQYXJlbnQsIGdldENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vcGF0aCdcbmltcG9ydCB7IHRvSlMsIGNsb25lTm9kZSB9IGZyb20gJy4uLy4uL3V0aWxzJ1xuXG5jb25zdCBtZXJnZU5vZGUgPSAoZG9jOiBTeW5jVmFsdWUsIG9wOiBNZXJnZU5vZGVPcGVyYXRpb24pOiBTeW5jVmFsdWUgPT4ge1xuICBjb25zdCBbcGFyZW50LCBpbmRleF06IFthbnksIG51bWJlcl0gPSBnZXRQYXJlbnQoZG9jLCBvcC5wYXRoKVxuXG4gIGNvbnN0IHByZXYgPSBwYXJlbnRbaW5kZXggLSAxXSB8fCBwYXJlbnQuY2hpbGRyZW5baW5kZXggLSAxXVxuICBjb25zdCBuZXh0ID0gcGFyZW50W2luZGV4XSB8fCBwYXJlbnQuY2hpbGRyZW5baW5kZXhdXG5cbiAgaWYgKHByZXYudGV4dCkge1xuICAgIHByZXYudGV4dC5pbnNlcnRBdChwcmV2LnRleHQubGVuZ3RoLCAuLi50b0pTKG5leHQudGV4dCkuc3BsaXQoJycpKVxuICB9IGVsc2Uge1xuICAgIGdldENoaWxkcmVuKG5leHQpLmZvckVhY2goKG46IE5vZGUpID0+IGdldENoaWxkcmVuKHByZXYpLnB1c2goY2xvbmVOb2RlKG4pKSlcbiAgfVxuXG4gIGdldENoaWxkcmVuKHBhcmVudCkuZGVsZXRlQXQoaW5kZXgsIDEpXG5cbiAgcmV0dXJuIGRvY1xufVxuXG5leHBvcnQgZGVmYXVsdCBtZXJnZU5vZGVcbiJdfQ==