diffusion
Version:
Diffusion JavaScript client
40 lines (36 loc) • 1.05 kB
JavaScript
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;