lib/accessing.js
function Principal(type, id, name) {
    if (!(this instanceof Principal)) {
        return new Principal(type, id, name);
    }
    this.type = type;
    this.id = id;
    this.name = name;
}
function Principal(type, id, name) {
    if (!(this instanceof Principal)) {
        return new Principal(type, id, name);
    }
    this.type = type;
    this.id = id;
    this.name = name;
}
function Principal ( type , id , name ) { if ( ! ( this instanceof Principal ) ) { return new Principal ( type , id , name ) ; } this . type = type ; this . id = id ; this . name = name ; }
This class represents the abstract notion of a principal, which can be used
to represent any entity, such as an individual, a corporation, and a login id
@param {String} type The principal type
@param {*} id The princiapl id
@param {String} [name] The principal name
@returns {Principal}
@class
This class represents the abstract notion of a principal which can be used to represent any entity such as an individual a corporation and a login id