typerinth
Version:
A TypeScript library for interacting with the Modrinth API.
35 lines (34 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TeamMemberPermissions = void 0;
exports.bitfieldToArray = bitfieldToArray;
var TeamMemberPermissions;
(function (TeamMemberPermissions) {
TeamMemberPermissions["UploadVersion"] = "UPLOAD_VERSION";
TeamMemberPermissions["DeleteVersion"] = "DELETE_VERSION";
TeamMemberPermissions["EditDetails"] = "EDIT_DETAILS";
TeamMemberPermissions["EditBody"] = "EDIT_BODY";
TeamMemberPermissions["ManageInvites"] = "MANAGE_INVITES";
TeamMemberPermissions["RemoveMember"] = "REMOVE_MEMBER";
TeamMemberPermissions["EditMember"] = "EDIT_MEMBER";
TeamMemberPermissions["DeleteProject"] = "DELETE_PROJECT";
TeamMemberPermissions["ViewAnalytics"] = "VIEW_ANALYTICS";
TeamMemberPermissions["ViewPayouts"] = "VIEW_PAYOUTS";
})(TeamMemberPermissions || (exports.TeamMemberPermissions = TeamMemberPermissions = {}));
function bitfieldToArray(bitfield) {
if (bitfield === null)
return [];
const permissions = [
TeamMemberPermissions.UploadVersion,
TeamMemberPermissions.DeleteVersion,
TeamMemberPermissions.EditDetails,
TeamMemberPermissions.EditBody,
TeamMemberPermissions.ManageInvites,
TeamMemberPermissions.RemoveMember,
TeamMemberPermissions.EditMember,
TeamMemberPermissions.DeleteProject,
TeamMemberPermissions.ViewAnalytics,
TeamMemberPermissions.ViewPayouts,
];
return permissions.filter((_, index) => (bitfield & (1 << index)) !== 0);
}