@merncloud/permission-resolver
Version:
Reusable RBAC + ABAC permission resolver for Node.js
16 lines (14 loc) • 536 B
text/typescript
import { PermissionRule } from "../types";
import { PermissionResolver } from "./PermissionResolver";
/**
* Create a PermissionResolver by loading rules from an external async source like a database.
*
* @param loader An async function that returns an array of PermissionRule objects.
* @returns An instance of PermissionResolver
*/
export async function createResolverFromSource(
loader: () => Promise<PermissionRule[]>
): Promise<PermissionResolver> {
const rules = await loader();
return new PermissionResolver(rules);
}