diffusion
Version:
Diffusion JavaScript client
43 lines (34 loc) • 1.16 kB
JavaScript
var AddressType = require('../../../client/client-location').AddressType;
var BEES = require('serialisers/byte-encoded-enum-serialiser');
var Codec = require('io/codec');
var intBitsToFloat = require('util/math').intBitsToFloat;
module.exports = {
read : function(bis) {
var address = Codec.readString(bis);
var hostname = Codec.readString(bis);
if (hostname.length === 0) {
hostname = address;
}
var resolved = Codec.readString(bis);
if (resolved.length === 0) {
resolved = hostname;
}
var addressType = BEES.read(bis, AddressType);
var details = {
country : Codec.readString(bis),
language : Codec.readString(bis)
};
var coordinates = {
latitude : intBitsToFloat(Codec.readInt32(bis)),
longitude : intBitsToFloat(Codec.readInt32(bis))
};
return {
type : addressType,
address : address,
hostname : hostname,
resolved : resolved,
details : details,
coordinates : coordinates
};
}
};