Files
discord.js/lib/EvaluatedPermissions.js
2015-10-25 18:36:03 +00:00

187 lines
4.4 KiB
JavaScript

"use strict";
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var EvaluatedPermissions = (function () {
function EvaluatedPermissions(data) {
_classCallCheck(this, EvaluatedPermissions);
var self = this;
this.packed = data;
if (this.getBit(3)) this.packed = 4294967295;
}
EvaluatedPermissions.prototype.serialise = function serialise() {
return {
createInstantInvite: this.createInstantInvite,
manageRoles: this.manageRoles,
manageChannels: this.manageChannels,
readMessages: this.readMessages,
sendMessages: this.sendMessage,
sendTTSMessages: this.sendTTSMessages,
manageMessages: this.manageMessages,
embedLinks: this.embedLinks,
attachFiles: this.attachFiles,
readMessageHistory: this.readMessageHistory,
mentionEveryone: this.mentionEveryone,
voiceConnect: this.voiceConnect,
voiceSpeak: this.voiceSpeak,
voiceMuteMembers: this.voiceMuteMembers,
voiceDeafenMembers: this.voiceDeafenMembers,
voiceMoveMember: this.voiceMoveMembers,
voiceUseVoiceActivation: this.voiceUseVoiceActivation
};
};
EvaluatedPermissions.prototype.getBit = function getBit(x) {
return (this.packed >>> x & 1) === 1;
};
EvaluatedPermissions.prototype.setBit = function setBit() {};
_createClass(EvaluatedPermissions, [{
key: "createInstantInvite",
get: function get() {
return this.getBit(0);
},
set: function set(val) {
this.setBit(0, val);
}
}, {
key: "manageRoles",
get: function get() {
return this.getBit(3);
},
set: function set(val) {
this.setBit(3, val);
}
}, {
key: "manageChannels",
get: function get() {
return this.getBit(4);
},
set: function set(val) {
this.setBit(4, val);
}
}, {
key: "readMessages",
get: function get() {
return this.getBit(10);
},
set: function set(val) {
this.setBit(10, val);
}
}, {
key: "sendMessages",
get: function get() {
return this.getBit(11);
},
set: function set(val) {
this.setBit(11, val);
}
}, {
key: "sendTTSMessages",
get: function get() {
return this.getBit(12);
},
set: function set(val) {
this.setBit(12, val);
}
}, {
key: "manageMessages",
get: function get() {
return this.getBit(13);
},
set: function set(val) {
this.setBit(13, val);
}
}, {
key: "embedLinks",
get: function get() {
return this.getBit(14);
},
set: function set(val) {
this.setBit(14, val);
}
}, {
key: "attachFiles",
get: function get() {
return this.getBit(15);
},
set: function set(val) {
this.setBit(15, val);
}
}, {
key: "readMessageHistory",
get: function get() {
return this.getBit(16);
},
set: function set(val) {
this.setBit(16, val);
}
}, {
key: "mentionEveryone",
get: function get() {
return this.getBit(17);
},
set: function set(val) {
this.setBit(17, val);
}
}, {
key: "voiceConnect",
get: function get() {
return this.getBit(20);
},
set: function set(val) {
this.setBit(20, val);
}
}, {
key: "voiceSpeak",
get: function get() {
return this.getBit(21);
},
set: function set(val) {
this.setBit(21, val);
}
}, {
key: "voiceMuteMembers",
get: function get() {
return this.getBit(22);
},
set: function set(val) {
this.setBit(22, val);
}
}, {
key: "voiceDeafenMembers",
get: function get() {
return this.getBit(23);
},
set: function set(val) {
this.setBit(23, val);
}
}, {
key: "voiceMoveMembers",
get: function get() {
return this.getBit(24);
},
set: function set(val) {
this.setBit(24, val);
}
}, {
key: "voiceUseVoiceActivation",
get: function get() {
return this.getBit(25);
},
set: function set(val) {
this.setBit(25, val);
}
}]);
return EvaluatedPermissions;
})();
module.exports = EvaluatedPermissions;