UNPKG

diffusion

Version:

Diffusion JavaScript client

40 lines (36 loc) 1.05 kB
var BEES = require('serialisers/byte-encoded-enum-serialiser'); var Codec = require('io/codec'); var Type = { NONE : 0, PLAIN : 1, CUSTOM : 2 }; var serialiser = { read : function(input) { var type = BEES.read(input, Type); switch (type) { case Type.NONE: Codec.readBytes(input); return null; case Type.PLAIN: return Codec.readString(input); case Type.CUSTOM: return Codec.readBytes(input); } }, write : function(input, credentials) { if (credentials) { if (typeof credentials === 'string') { BEES.write(input, Type.PLAIN); Codec.writeString(input, credentials); } else { BEES.write(input, Type.CUSTOM); Codec.writeBytes(input, credentials); } } else { BEES.write(input, Type.NONE); Codec.writeInt32(input, 0); } } }; module.exports = serialiser;