diffusion
Version:
Diffusion JavaScript client
36 lines (32 loc) • 1.3 kB
JavaScript
var OptionsSerialiser = require('./send-options-serialiser');
var ContentSerialiser = require('content/serialiser');
var SessionSerialiser = require('session/session-id-serialiser');
var CIDSerialiser = require('conversation/conversation-id-serialiser');
var Codec = require('io/codec');
var serialiser = {
read : function(input) {
var path = Codec.readString(input);
var content = ContentSerialiser.read(input);
var sender = SessionSerialiser.read(input);
var options = OptionsSerialiser.read(input);
var sessionProperties = Codec.readDictionary(input, Codec.readString);
var cid = CIDSerialiser.read(input);
return {
cid : cid,
path : path,
sender : sender,
message : content,
options : options,
sessionProperties : sessionProperties
};
},
write : function(output, req) {
Codec.writeString(output, req.path);
ContentSerialiser.write(output, req.content);
SessionSerialiser.write(output, req.session);
OptionsSerialiser.write(output, req.options);
Codec.writeDictionary(output, req.sessionProperties, Codec.writeString);
CIDSerialiser.write(output, req.cid);
}
};
module.exports = serialiser;