UNPKG

@slate-sheikah/bridge

Version:

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

66 lines (60 loc) 8.3 kB
"use strict"; var Automerge = _interopRequireWildcard(require("automerge")); var _index = require("./index"); var _utils = require("../utils"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } describe('convert operations to slatejs model', () => { it('convert insert operations', () => { const doc1 = (0, _utils.createDoc)(); const doc2 = (0, _utils.cloneDoc)(doc1); const change = Automerge.change(doc1, d => { d.children.push((0, _utils.createNode)('paragraph', 'hello!')); d.children[1].children[0].text = 'hello!'; }); const operations = Automerge.diff(doc2, change); const slateOps = (0, _index.toSlateOp)(operations, change); const expectedOps = [{ type: 'insert_node', path: [1], node: { type: 'paragraph', children: [] } }, { type: 'insert_node', path: [1, 0], node: { text: 'hello!' } }]; expect(slateOps).toStrictEqual(expectedOps); }); it('convert remove operations', () => { const doc1 = Automerge.change((0, _utils.createDoc)(), d => { d.children.push((0, _utils.createNode)('paragraph', 'hello!')); d.children.push((0, _utils.createNode)('paragraph', 'hello twice!')); d.children[1].children[0].text = 'hello!'; }); const doc2 = (0, _utils.cloneDoc)(doc1); const change = Automerge.change(doc1, d => { delete d.children[1]; delete d.children[0].children[0]; }); const operations = Automerge.diff(doc2, change); const slateOps = (0, _index.toSlateOp)(operations, change); const expectedOps = [{ type: 'remove_node', path: [1], node: (0, _utils.createNode)('paragraph', 'hello twice!') }, { type: 'remove_node', path: [0, 0], node: { children: [] } }]; expect(slateOps).toStrictEqual(expectedOps); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0L2NvbnZlcnQuc3BlYy50cyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0IiwiZG9jMSIsImRvYzIiLCJjaGFuZ2UiLCJBdXRvbWVyZ2UiLCJkIiwiY2hpbGRyZW4iLCJwdXNoIiwidGV4dCIsIm9wZXJhdGlvbnMiLCJkaWZmIiwic2xhdGVPcHMiLCJleHBlY3RlZE9wcyIsInR5cGUiLCJwYXRoIiwibm9kZSIsImV4cGVjdCIsInRvU3RyaWN0RXF1YWwiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMscUNBQUQsRUFBd0MsTUFBTTtBQUNwREMsRUFBQUEsRUFBRSxDQUFDLDJCQUFELEVBQThCLE1BQU07QUFDcEMsVUFBTUMsSUFBSSxHQUFHLHVCQUFiO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLHFCQUFTRCxJQUFULENBQWI7QUFFQSxVQUFNRSxNQUFNLEdBQUdDLFNBQVMsQ0FBQ0QsTUFBVixDQUFpQkYsSUFBakIsRUFBdUJJLENBQUMsSUFBSTtBQUN6Q0EsTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLENBQVdDLElBQVgsQ0FBZ0IsdUJBQVcsV0FBWCxFQUF3QixRQUF4QixDQUFoQjtBQUNBRixNQUFBQSxDQUFDLENBQUNDLFFBQUYsQ0FBVyxDQUFYLEVBQWNBLFFBQWQsQ0FBdUIsQ0FBdkIsRUFBMEJFLElBQTFCLEdBQWlDLFFBQWpDO0FBQ0QsS0FIYyxDQUFmO0FBS0EsVUFBTUMsVUFBVSxHQUFHTCxTQUFTLENBQUNNLElBQVYsQ0FBZVIsSUFBZixFQUFxQkMsTUFBckIsQ0FBbkI7QUFFQSxVQUFNUSxRQUFRLEdBQUcsc0JBQVVGLFVBQVYsRUFBc0JOLE1BQXRCLENBQWpCO0FBRUEsVUFBTVMsV0FBVyxHQUFHLENBQ2xCO0FBQ0VDLE1BQUFBLElBQUksRUFBRSxhQURSO0FBRUVDLE1BQUFBLElBQUksRUFBRSxDQUFDLENBQUQsQ0FGUjtBQUdFQyxNQUFBQSxJQUFJLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFLFdBQVI7QUFBcUJQLFFBQUFBLFFBQVEsRUFBRTtBQUEvQjtBQUhSLEtBRGtCLEVBTWxCO0FBQ0VPLE1BQUFBLElBQUksRUFBRSxhQURSO0FBRUVDLE1BQUFBLElBQUksRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRlI7QUFHRUMsTUFBQUEsSUFBSSxFQUFFO0FBQUVQLFFBQUFBLElBQUksRUFBRTtBQUFSO0FBSFIsS0FOa0IsQ0FBcEI7QUFhQVEsSUFBQUEsTUFBTSxDQUFDTCxRQUFELENBQU4sQ0FBaUJNLGFBQWpCLENBQStCTCxXQUEvQjtBQUNELEdBM0JDLENBQUY7QUE2QkFaLEVBQUFBLEVBQUUsQ0FBQywyQkFBRCxFQUE4QixNQUFNO0FBQ3BDLFVBQU1DLElBQUksR0FBR0csU0FBUyxDQUFDRCxNQUFWLENBQWlCLHVCQUFqQixFQUE4QkUsQ0FBQyxJQUFJO0FBQzlDQSxNQUFBQSxDQUFDLENBQUNDLFFBQUYsQ0FBV0MsSUFBWCxDQUFnQix1QkFBVyxXQUFYLEVBQXdCLFFBQXhCLENBQWhCO0FBQ0FGLE1BQUFBLENBQUMsQ0FBQ0MsUUFBRixDQUFXQyxJQUFYLENBQWdCLHVCQUFXLFdBQVgsRUFBd0IsY0FBeEIsQ0FBaEI7QUFDQUYsTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLENBQVcsQ0FBWCxFQUFjQSxRQUFkLENBQXVCLENBQXZCLEVBQTBCRSxJQUExQixHQUFpQyxRQUFqQztBQUNELEtBSlksQ0FBYjtBQU1BLFVBQU1OLElBQUksR0FBRyxxQkFBU0QsSUFBVCxDQUFiO0FBRUEsVUFBTUUsTUFBTSxHQUFHQyxTQUFTLENBQUNELE1BQVYsQ0FBaUJGLElBQWpCLEVBQXVCSSxDQUFDLElBQUk7QUFDekMsYUFBT0EsQ0FBQyxDQUFDQyxRQUFGLENBQVcsQ0FBWCxDQUFQO0FBQ0EsYUFBT0QsQ0FBQyxDQUFDQyxRQUFGLENBQVcsQ0FBWCxFQUFjQSxRQUFkLENBQXVCLENBQXZCLENBQVA7QUFDRCxLQUhjLENBQWY7QUFLQSxVQUFNRyxVQUFVLEdBQUdMLFNBQVMsQ0FBQ00sSUFBVixDQUFlUixJQUFmLEVBQXFCQyxNQUFyQixDQUFuQjtBQUVBLFVBQU1RLFFBQVEsR0FBRyxzQkFBVUYsVUFBVixFQUFzQk4sTUFBdEIsQ0FBakI7QUFFQSxVQUFNUyxXQUFXLEdBQUcsQ0FDbEI7QUFDRUMsTUFBQUEsSUFBSSxFQUFFLGFBRFI7QUFFRUMsTUFBQUEsSUFBSSxFQUFFLENBQUMsQ0FBRCxDQUZSO0FBR0VDLE1BQUFBLElBQUksRUFBRSx1QkFBVyxXQUFYLEVBQXdCLGNBQXhCO0FBSFIsS0FEa0IsRUFNbEI7QUFDRUYsTUFBQUEsSUFBSSxFQUFFLGFBRFI7QUFFRUMsTUFBQUEsSUFBSSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGUjtBQUdFQyxNQUFBQSxJQUFJLEVBQUU7QUFDSlQsUUFBQUEsUUFBUSxFQUFFO0FBRE47QUFIUixLQU5rQixDQUFwQjtBQWVBVSxJQUFBQSxNQUFNLENBQUNMLFFBQUQsQ0FBTixDQUFpQk0sYUFBakIsQ0FBK0JMLFdBQS9CO0FBQ0QsR0FsQ0MsQ0FBRjtBQW1DRCxDQWpFTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQXV0b21lcmdlIGZyb20gJ2F1dG9tZXJnZSdcbmltcG9ydCB7IHRvU2xhdGVPcCB9IGZyb20gJy4vaW5kZXgnXG5pbXBvcnQgeyBjcmVhdGVEb2MsIGNsb25lRG9jLCBjcmVhdGVOb2RlIH0gZnJvbSAnLi4vdXRpbHMnXG5cbmRlc2NyaWJlKCdjb252ZXJ0IG9wZXJhdGlvbnMgdG8gc2xhdGVqcyBtb2RlbCcsICgpID0+IHtcbiAgaXQoJ2NvbnZlcnQgaW5zZXJ0IG9wZXJhdGlvbnMnLCAoKSA9PiB7XG4gICAgY29uc3QgZG9jMSA9IGNyZWF0ZURvYygpXG4gICAgY29uc3QgZG9jMiA9IGNsb25lRG9jKGRvYzEpXG5cbiAgICBjb25zdCBjaGFuZ2UgPSBBdXRvbWVyZ2UuY2hhbmdlKGRvYzEsIGQgPT4ge1xuICAgICAgZC5jaGlsZHJlbi5wdXNoKGNyZWF0ZU5vZGUoJ3BhcmFncmFwaCcsICdoZWxsbyEnKSlcbiAgICAgIGQuY2hpbGRyZW5bMV0uY2hpbGRyZW5bMF0udGV4dCA9ICdoZWxsbyEnXG4gICAgfSlcblxuICAgIGNvbnN0IG9wZXJhdGlvbnMgPSBBdXRvbWVyZ2UuZGlmZihkb2MyLCBjaGFuZ2UpXG5cbiAgICBjb25zdCBzbGF0ZU9wcyA9IHRvU2xhdGVPcChvcGVyYXRpb25zLCBjaGFuZ2UpXG5cbiAgICBjb25zdCBleHBlY3RlZE9wcyA9IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2luc2VydF9ub2RlJyxcbiAgICAgICAgcGF0aDogWzFdLFxuICAgICAgICBub2RlOiB7IHR5cGU6ICdwYXJhZ3JhcGgnLCBjaGlsZHJlbjogW10gfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2luc2VydF9ub2RlJyxcbiAgICAgICAgcGF0aDogWzEsIDBdLFxuICAgICAgICBub2RlOiB7IHRleHQ6ICdoZWxsbyEnIH1cbiAgICAgIH1cbiAgICBdXG5cbiAgICBleHBlY3Qoc2xhdGVPcHMpLnRvU3RyaWN0RXF1YWwoZXhwZWN0ZWRPcHMpXG4gIH0pXG5cbiAgaXQoJ2NvbnZlcnQgcmVtb3ZlIG9wZXJhdGlvbnMnLCAoKSA9PiB7XG4gICAgY29uc3QgZG9jMSA9IEF1dG9tZXJnZS5jaGFuZ2UoY3JlYXRlRG9jKCksIGQgPT4ge1xuICAgICAgZC5jaGlsZHJlbi5wdXNoKGNyZWF0ZU5vZGUoJ3BhcmFncmFwaCcsICdoZWxsbyEnKSlcbiAgICAgIGQuY2hpbGRyZW4ucHVzaChjcmVhdGVOb2RlKCdwYXJhZ3JhcGgnLCAnaGVsbG8gdHdpY2UhJykpXG4gICAgICBkLmNoaWxkcmVuWzFdLmNoaWxkcmVuWzBdLnRleHQgPSAnaGVsbG8hJ1xuICAgIH0pXG5cbiAgICBjb25zdCBkb2MyID0gY2xvbmVEb2MoZG9jMSlcblxuICAgIGNvbnN0IGNoYW5nZSA9IEF1dG9tZXJnZS5jaGFuZ2UoZG9jMSwgZCA9PiB7XG4gICAgICBkZWxldGUgZC5jaGlsZHJlblsxXVxuICAgICAgZGVsZXRlIGQuY2hpbGRyZW5bMF0uY2hpbGRyZW5bMF1cbiAgICB9KVxuXG4gICAgY29uc3Qgb3BlcmF0aW9ucyA9IEF1dG9tZXJnZS5kaWZmKGRvYzIsIGNoYW5nZSlcblxuICAgIGNvbnN0IHNsYXRlT3BzID0gdG9TbGF0ZU9wKG9wZXJhdGlvbnMsIGNoYW5nZSlcblxuICAgIGNvbnN0IGV4cGVjdGVkT3BzID0gW1xuICAgICAge1xuICAgICAgICB0eXBlOiAncmVtb3ZlX25vZGUnLFxuICAgICAgICBwYXRoOiBbMV0sXG4gICAgICAgIG5vZGU6IGNyZWF0ZU5vZGUoJ3BhcmFncmFwaCcsICdoZWxsbyB0d2ljZSEnKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3JlbW92ZV9ub2RlJyxcbiAgICAgICAgcGF0aDogWzAsIDBdLFxuICAgICAgICBub2RlOiB7XG4gICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG5cbiAgICBleHBlY3Qoc2xhdGVPcHMpLnRvU3RyaWN0RXF1YWwoZXhwZWN0ZWRPcHMpXG4gIH0pXG59KVxuIl19