UNPKG

diffusion

Version:

Diffusion JavaScript client

36 lines (32 loc) 1.3 kB
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;