diffusion
Version:
Diffusion JavaScript client
30 lines (25 loc) • 947 B
JavaScript
var ControlGroupSerialiser = require('control/control-group-serialiser');
var BEES = require('serialisers/byte-encoded-enum-serialiser');
var Services = require('services/services');
var Codec = require('io/codec');
var serialiser = {
read : function(input) {
var definition = BEES.read(input, Services);
var group = ControlGroupSerialiser.read(input);
var path = Codec.readString(input);
var keys = Codec.readCollection(input, Codec.readString);
return {
definition : definition,
group : group,
path : path,
keys : keys
};
},
write : function(output, params) {
Codec.writeInt32(output, params.definition.id);
ControlGroupSerialiser.write(output, params.group);
Codec.writeString(output, params.path);
Codec.writeCollection(output, params.keys, Codec.writeString);
}
};
module.exports = serialiser;