UNPKG

diffusion

Version:

Diffusion JavaScript client

30 lines (23 loc) 942 B
var ControlRegistrationParamsSerialiser = require('services/control/control-registration-params-serialiser'); var DetailType = require('../../../client/session-details').DetailType; var BEES = require('serialisers/byte-encoded-enum-serialiser'); var Codec = require('io/codec'); function readDetailType(bis) { return BEES.read(bis, DetailType); } module.exports = { write : function(bos, params) { ControlRegistrationParamsSerialiser.write(bos, params); Codec.writeString(bos, params.name); Codec.writeByte(bos, params.details.length); for (var i = 0; i < params.details.length; ++i) { Codec.writeByte(bos, params.details[i]); } }, read : function(bis) { var params = ControlRegistrationParamsSerialiser.read(bis); params.name = Codec.readString(bis); params.details = Codec.readCollection(bis, readDetailType); return params; } };