@sanity/desk-tool
Version:
Tool for managing all sorts of content in a structured manner
43 lines (40 loc) • 1.09 kB
JavaScript
;
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;
}