diffusion
Version:
Diffusion JavaScript client
23 lines (17 loc) • 791 B
JavaScript
var Configuration = require('features/security').Configuration;
var RoleSerialiser = require('services/security/role-serialiser');
var Codec = require('io/codec');
var serialiser = {
read : function(input) {
var anonymous = Codec.readCollection(input, Codec.readString);
var named = Codec.readCollection(input, Codec.readString);
var roles = Codec.readCollection(input, RoleSerialiser.read);
return new Configuration(anonymous, named, roles);
},
write : function(output, config) {
Codec.writeCollection(output, config.anonymous, Codec.writeString);
Codec.writeCollection(output, config.named, Codec.writeString);
Codec.writeCollection(output, config.roles, RoleSerialiser.write);
}
};
module.exports = serialiser;