UNPKG

diffusion

Version:

Diffusion JavaScript client

26 lines (24 loc) 969 B
var ClientFilterSubscribeResponse = require('services/control-client/client-filter-subscribe-response'); var ErrorReportSerialiser = require('services/error-report-serialiser'); var Codec = require('io/codec'); module.exports = { read : function(input) { var error = Codec.readByte(input); if (error) { var errors = Codec.readCollection(input, ErrorReportSerialiser.read); return new ClientFilterSubscribeResponse(0, errors); } else { var numSelected = Codec.readInt32(input); return new ClientFilterSubscribeResponse(numSelected, []); } }, write : function(output, response) { if (response.isSuccess()) { Codec.writeByte(output, 0); Codec.writeInt32(output, response.selected); } else { Codec.writeByte(output, 1); Codec.writeCollection(output, response.errors, ErrorReportSerialiser.write); } } };