UNPKG

@slate-sheikah/bridge

Version:

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

44 lines (32 loc) 3.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toSlateOp = void 0; var _insert = _interopRequireDefault(require("./insert")); var _remove = _interopRequireDefault(require("./remove")); var _set = _interopRequireDefault(require("./set")); var _create = _interopRequireDefault(require("./create")); var _utils = require("../utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const byAction = { create: _create.default, remove: _remove.default, set: _set.default, insert: _insert.default }; const rootKey = '00000000-0000-0000-0000-000000000000'; const toSlateOp = (ops, doc) => { const tempDoc = (0, _utils.toJS)(doc); const iterate = (acc, op) => { const action = byAction[op.action]; const result = action ? action(op, acc, doc, tempDoc) : acc; return result; }; const [tempTree, defer] = ops.reduce(iterate, [{ [rootKey]: {} }, []]); return defer.flatMap(op => op).filter(op => op); }; exports.toSlateOp = toSlateOp; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbImJ5QWN0aW9uIiwiY3JlYXRlIiwib3BDcmVhdGUiLCJyZW1vdmUiLCJvcFJlbW92ZSIsInNldCIsIm9wU2V0IiwiaW5zZXJ0Iiwib3BJbnNlcnQiLCJyb290S2V5IiwidG9TbGF0ZU9wIiwib3BzIiwiZG9jIiwidGVtcERvYyIsIml0ZXJhdGUiLCJhY2MiLCJvcCIsImFjdGlvbiIsInJlc3VsdCIsInRlbXBUcmVlIiwiZGVmZXIiLCJyZWR1Y2UiLCJmbGF0TWFwIiwiZmlsdGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7QUFJQSxNQUFNQSxRQUFRLEdBQUc7QUFDZkMsRUFBQUEsTUFBTSxFQUFFQyxlQURPO0FBRWZDLEVBQUFBLE1BQU0sRUFBRUMsZUFGTztBQUdmQyxFQUFBQSxHQUFHLEVBQUVDLFlBSFU7QUFJZkMsRUFBQUEsTUFBTSxFQUFFQztBQUpPLENBQWpCO0FBT0EsTUFBTUMsT0FBTyxHQUFHLHNDQUFoQjs7QUFFQSxNQUFNQyxTQUFTLEdBQUcsQ0FBQ0MsR0FBRCxFQUF3QkMsR0FBeEIsS0FBeUM7QUFDekQsUUFBTUMsT0FBTyxHQUFHLGlCQUFLRCxHQUFMLENBQWhCOztBQUNBLFFBQU1FLE9BQU8sR0FBRyxDQUFDQyxHQUFELEVBQW9CQyxFQUFwQixLQUFnRDtBQUM5RCxVQUFNQyxNQUFNLEdBQUdqQixRQUFRLENBQUNnQixFQUFFLENBQUNDLE1BQUosQ0FBdkI7QUFFQSxVQUFNQyxNQUFNLEdBQUdELE1BQU0sR0FBR0EsTUFBTSxDQUFDRCxFQUFELEVBQUtELEdBQUwsRUFBVUgsR0FBVixFQUFlQyxPQUFmLENBQVQsR0FBbUNFLEdBQXhEO0FBRUEsV0FBT0csTUFBUDtBQUNELEdBTkQ7O0FBUUEsUUFBTSxDQUFDQyxRQUFELEVBQVdDLEtBQVgsSUFBb0JULEdBQUcsQ0FBQ1UsTUFBSixDQUFXUCxPQUFYLEVBQW9CLENBQzVDO0FBQ0UsS0FBQ0wsT0FBRCxHQUFXO0FBRGIsR0FENEMsRUFJNUMsRUFKNEMsQ0FBcEIsQ0FBMUI7QUFPQSxTQUFPVyxLQUFLLENBQUNFLE9BQU4sQ0FBY04sRUFBRSxJQUFJQSxFQUFwQixFQUF3Qk8sTUFBeEIsQ0FBK0JQLEVBQUUsSUFBSUEsRUFBckMsQ0FBUDtBQUNELENBbEJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQXV0b21lcmdlIGZyb20gJ2F1dG9tZXJnZSdcblxuaW1wb3J0IG9wSW5zZXJ0IGZyb20gJy4vaW5zZXJ0J1xuaW1wb3J0IG9wUmVtb3ZlIGZyb20gJy4vcmVtb3ZlJ1xuaW1wb3J0IG9wU2V0IGZyb20gJy4vc2V0J1xuaW1wb3J0IG9wQ3JlYXRlIGZyb20gJy4vY3JlYXRlJ1xuXG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi4vdXRpbHMnXG5cbmltcG9ydCB7IFN5bmNEb2MgfSBmcm9tICcuLi9tb2RlbCdcblxuY29uc3QgYnlBY3Rpb24gPSB7XG4gIGNyZWF0ZTogb3BDcmVhdGUsXG4gIHJlbW92ZTogb3BSZW1vdmUsXG4gIHNldDogb3BTZXQsXG4gIGluc2VydDogb3BJbnNlcnRcbn1cblxuY29uc3Qgcm9vdEtleSA9ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAnXG5cbmNvbnN0IHRvU2xhdGVPcCA9IChvcHM6IEF1dG9tZXJnZS5EaWZmW10sIGRvYzogU3luY0RvYykgPT4ge1xuICBjb25zdCB0ZW1wRG9jID0gdG9KUyhkb2MpXG4gIGNvbnN0IGl0ZXJhdGUgPSAoYWNjOiBbYW55LCBhbnlbXV0sIG9wOiBBdXRvbWVyZ2UuRGlmZik6IGFueSA9PiB7XG4gICAgY29uc3QgYWN0aW9uID0gYnlBY3Rpb25bb3AuYWN0aW9uXVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYWN0aW9uID8gYWN0aW9uKG9wLCBhY2MsIGRvYywgdGVtcERvYykgOiBhY2NcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGNvbnN0IFt0ZW1wVHJlZSwgZGVmZXJdID0gb3BzLnJlZHVjZShpdGVyYXRlLCBbXG4gICAge1xuICAgICAgW3Jvb3RLZXldOiB7fVxuICAgIH0sXG4gICAgW11cbiAgXSlcblxuICByZXR1cm4gZGVmZXIuZmxhdE1hcChvcCA9PiBvcCkuZmlsdGVyKG9wID0+IG9wKVxufVxuXG5leHBvcnQgeyB0b1NsYXRlT3AgfVxuIl19