UNPKG

@sanity/desk-tool

Version:

Tool for managing all sorts of content in a structured manner

43 lines (40 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replay = replay; var _Timeline = require("./Timeline"); function replay(events) { var fst = events[0]; if ((fst === null || fst === void 0 ? void 0 : fst.type) !== 'initial') throw new Error('no initial event'); var timeline = new _Timeline.Timeline({ publishedId: fst.publishedId }); /* eslint-disable no-console */ console.log('Replaying'); console.log({ events }); /* eslint-enable no-console */ for (var i = 1; i < events.length; i++) { var event = events[i]; switch (event.type) { case 'initial': throw new Error('unexpected initial event'); case 'addRemoteMutation': timeline.addRemoteMutation(event.event); break; case 'addTranslogEntry': timeline.addTranslogEntry(event.event); break; case 'didReachEarliestEntry': timeline.didReachEarliestEntry(); break; case 'updateChunks': timeline.updateChunks(); break; default: } } return timeline; }