UNPKG

diffusion

Version:

Diffusion JavaScript client

35 lines (28 loc) 872 B
var Codec = require('io/codec'); var BEES = require('serialisers/byte-encoded-enum-serialiser'); var TopicAddFailReason = require('../../../topics/topics').TopicAddFailReason; var TopicSpecificationSerialiser = require('topics/details/topic-specification-serialiser'); var Status = { OK : 0, OK_CACHED : 1, FAILURE : 2, CACHE_FAILURE : 3 }; var serialiser = { read : function(input) { var status = Codec.readByte(input); var reason = ""; if (status === Status.FAILURE) { reason = BEES.read(input, TopicAddFailReason); } return { status : status, reason : reason }; }, write : function(output, req) { Codec.writeString(output, req.path); TopicSpecificationSerialiser.write(output, req.specification); } }; module.exports = serialiser;