An open API service indexing awesome lists of open source software.

https://github.com/ufukbakan/role-utility

Abstraction for commonly used role based authorization methods in Javascript
https://github.com/ufukbakan/role-utility

Last synced: about 2 months ago
JSON representation

Abstraction for commonly used role based authorization methods in Javascript

Awesome Lists containing this project

README

        

# Role-Utility
Abstraction for commonly repeated authorization methods in Javascript with great Typescript support.

Supports both CJS and ESM.

## Javascript example
```js
import { RoleUtility } from "role-utility";

const { and, or } = RoleUtility();
const isUaeAdmin = and("admin", "uae");
const isTrAdmin = and("admin", "tr");
const isMiddleEasternAdmin = or(isUaeAdmin, isTrAdmin);

const userRoles = ["admin", "uae"];
console.log(isMiddleEasternAdmin(userRoles)); // true
```

## Typescript example

```ts
import { RoleUtility } from "role-utility";

type Role = "admin" | "customer" | "uae" | "usa" | "tr";

const { and, or } = RoleUtility();
const isUaeAdmin = and("admin", "uae");
const isTrAdmin = and("admin", "tr");
const isMiddleEasternAdmin = or(isUaeAdmin, isTrAdmin);

const userRoles: Role[] = ["admin", "uae"];
console.log(isMiddleEasternAdmin(userRoles)); // true
```