permer
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

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);

Package Sidebar

Install

npm i permer

Weekly Downloads

3

Version

1.2.0

License

MIT

Unpacked Size

9.63 kB

Total Files

6

Last publish

Collaborators

  • aabbccsmith