UNPKG

diffusion

Version:

Diffusion JavaScript client

33 lines (28 loc) 1.03 kB
var Codec = require('io/codec'); var SessionSerialiser = require('session/session-id-serialiser'); var serialiser = { read: function () { // no-op: only server read request. }, write: function (output, request) { if (request.sessionID === undefined || request.sessionID === null) { throw new Error('Session ID is null or undefined'); } SessionSerialiser.write(output, request.sessionID); if (Object.keys(request.overwriteProperties).length === 0) { Codec.writeByte(output, 0); } else { Codec.writeByte(output, 1); Codec.writeDictionary(output, request.overwriteProperties, Codec.writeString); } if (Object.keys(request.removeProperties).length === 0) { Codec.writeByte(output, 0); } else { Codec.writeByte(output, 1); Codec.writeCollection(output, request.removeProperties, Codec.writeString); } } }; module.exports = serialiser;