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
- Host: GitHub
- URL: https://github.com/ufukbakan/role-utility
- Owner: ufukbakan
- License: bsd-4-clause
- Created: 2024-07-15T13:41:43.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-07-16T12:39:37.000Z (11 months ago)
- Last Synced: 2025-03-27T23:11:20.496Z (2 months ago)
- Language: TypeScript
- Size: 30.3 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
```