All Projects â†’ alii â†’ permer

alii / permer

Licence: MIT license
🔑 A basic abstraction for handling flags using bitwise

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to permer

react-redux-permissions
A permissions library for react and redux applications.
Stars: ✭ 44 (+7.32%)
Mutual labels:  permissions
kakoune-sudo-write
Write to files using 'sudo'
Stars: ✭ 24 (-41.46%)
Mutual labels:  permissions
LocationFetcher
Easy Location fetching for Android apps.
Stars: ✭ 33 (-19.51%)
Mutual labels:  permissions
startask-permissions
Is a library that helps to handle runtime permissions on Android, entirely written using Kotlin language.
Stars: ✭ 39 (-4.88%)
Mutual labels:  permissions
Binary-Calculator-JavaScript
📱 A handy Calculator for Binary operations, that works on all Devices 📱 💻 🖥 | ⛓ https://play.google.com/store/apps/details?id=com.binarycalculator.ayidouble.binarycalculator.app ⛓
Stars: ✭ 45 (+9.76%)
Mutual labels:  bitwise
feathers-casl
feathers.js + casl: hooks & channels
Stars: ✭ 25 (-39.02%)
Mutual labels:  permissions
permission control system
This is an SDK which helps you to specify which user group (role) members have access to which actions in controllers.
Stars: ✭ 34 (-17.07%)
Mutual labels:  permissions
deadbolt
Dead simple permissions for Laravel
Stars: ✭ 13 (-68.29%)
Mutual labels:  permissions
HeimGuard
🛡 A simple library that allows you to easily manage permissions in your .NET projects.
Stars: ✭ 77 (+87.8%)
Mutual labels:  permissions
cypress-browser-permissions
A Cypress plugin to set launched browser preferences including permissions like Geolocation, Notifications, Microphone, etc.
Stars: ✭ 40 (-2.44%)
Mutual labels:  permissions
ngx-security
Security directives for your Angular application to show/hide elements based on a user roles / permissions.
Stars: ✭ 18 (-56.1%)
Mutual labels:  permissions
database-adapter
Database adapter for PHP-Casbin, Casbin is a powerful and efficient open-source access control library.
Stars: ✭ 21 (-48.78%)
Mutual labels:  permissions
fastapi-auth0
FastAPI authentication and authorization using auth0.com
Stars: ✭ 104 (+153.66%)
Mutual labels:  permissions
laminas-permissions-acl
Provides a lightweight and flexible access control list (ACL) implementation for privileges management
Stars: ✭ 29 (-29.27%)
Mutual labels:  permissions
permissionbolt
🔩 Middleware for keeping track of users, login states and permissions
Stars: ✭ 81 (+97.56%)
Mutual labels:  permissions
permissionUtil
Simple permission helper
Stars: ✭ 64 (+56.1%)
Mutual labels:  permissions
django-improved-permissions
Django application made to make django's default permission system more robust.
Stars: ✭ 14 (-65.85%)
Mutual labels:  permissions
django-graphene-permissions
DGP - A DRF like permission system for django graphene
Stars: ✭ 29 (-29.27%)
Mutual labels:  permissions
django-keeper
Authorization library for Django, with ACL, not depends on models.
Stars: ✭ 47 (+14.63%)
Mutual labels:  permissions
BitMask
PHP library for working with bitmask
Stars: ✭ 20 (-51.22%)
Mutual labels:  bitwise

Permer

A basic abstraction for handling flags and permissions using bitwise

Install

yarn add permer or, with npm npm i --save permer

Example

import {Permer} from 'permer';

const permer = new Permer(['read', 'write', 'admin', 'owner', 'staff']);

const user = {
	permissions: permer.calculate(['read', 'write', 'admin']),
	username: 'alii',
};

// Get individual permissions
const isAdmin = permer.test(user.permissions, 'admin');
const isOwner = permer.test(user.permissions, 'owner');
const isStaff = permer.test(user.permissions, 'staff');
const canRead = permer.test(user.permissions, 'read');
const canWrite = permer.test(user.permissions, 'write');

console.log(`${user.username}'s permissions:`, {
	isAdmin,
	isOwner,
	isStaff,
	canRead,
	canWrite,
});

// Get an array of all permissions
const availablePermissions = permer.list(user.permissions).join(', ');
console.log(`${user.username}'s permission list:`, availablePermissions);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].