UNPKG

@jiumao/policy

Version:

[![NPM version](https://img.shields.io/npm/v/@jiumao/policy.svg?style=flat)](https://npmjs.org/package/@jiumao/policy) [![NPM downloads](http://img.shields.io/npm/dm/@jiumao/policy.svg?style=flat)](https://npmjs.org/package/@jiumao/policy)

31 lines (30 loc) 825 B
export interface IModuleAction { [module: string]: string[]; } export interface IAction { module: string; action: string; } export interface IStatement { effect: 'allow' | 'deny'; action: '*' | string[]; } export interface IPolicyData { version: string | number; statement: IStatement[]; } declare class Policy { private actions; moduleMap: IModuleAction; allowActions: string[]; denyActions: string[]; constructor(actions: IAction[]); private getModuleMap; combinationVerify: (actionStr: string) => boolean; multipleVerify: (actions: string | string[]) => boolean; singleVerify: (action: string) => boolean; addPolicy: (policy: IPolicyData) => void; private parseAction; private getAllAction; } export default Policy;