UNPKG

diffusion

Version:

Diffusion JavaScript client

30 lines (25 loc) 910 B
var Codec = require('io/codec'); var SessionSerialiser = require('session/session-id-serialiser'); var serialiser = { read : function(input) { if (Codec.readBoolean(input)) { return { properties : Codec.readDictionary(input, Codec.readString) }; } else { return null; } }, 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 (request.propertyKeys !== undefined && request.propertyKeys !== null) { Codec.writeCollection(output, request.propertyKeys, Codec.writeString); } else { Codec.writeCollection(output, [], Codec.writeString); } } }; module.exports = serialiser;