diffusion
Version:
Diffusion JavaScript client
29 lines (26 loc) • 949 B
JavaScript
var Update = require('./update');
var BEES = require('serialisers/byte-encoded-enum-serialiser');
var ContentSerialiser = require('../content/serialiser');
module.exports = {
read: function (input) {
var type = BEES.read(Update.Type, input);
switch (type) {
case Update.Type.CONTENT :
var data = ContentSerialiser.read(input);
return new Update(data);
default:
throw new Error('Received unimplemented update type ' + type);
}
},
write: function (output, update) {
output.write(update.type);
switch (update.type) {
case Update.Type.CONTENT:
output.write(output, update.action);
ContentSerialiser.write(output, update.data);
break;
default:
throw new Error('Trying to write unimplemented update type ' + update.type);
}
}
};