UNPKG

aclatraz

Version:

Simple dependency-free package for ACL. It can handle hundreds of roles easily.

24 lines (23 loc) 1.1 kB
import { AclRule } from './interface/aclRule.interface'; import { AclConfig } from './interface/aclConfig.interface'; export declare class Aclatraz { protected rules: AclRule[]; protected defaultConfig: AclConfig; protected options: AclConfig; constructor(aclRules?: AclRule[], options?: Partial<AclConfig>); addRule(aclRule: AclRule): void; setRule(id: number, aclRule: Partial<AclRule>): void; delRule(id: number): void; setOptions(aclConfig: Partial<AclConfig>): void; getRules(): AclRule[]; verify(permission: string, ruleId: number): boolean; generateAclCode(ruleIdList: number[]): string; generateRuleTemplate(): string; grantPermission(currentPermission: string, ruleList: number[]): string; revokePermission(currentPermission: string, ruleList: number[]): string; protected encode(aclBinary: string, chunkSize: number): string; protected decode(permission: string): string; protected getMaxAclId(): number; protected decodeToBigInt(permission: string): bigint; protected encodeFromBigInt(aclNumber: bigint): string; }