diffusion
Version:
Diffusion JavaScript client
33 lines (28 loc) • 1.03 kB
JavaScript
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;