@lanaqi/rsr
Version:
110 lines (109 loc) • 2.18 kB
TypeScript
import type { AccessBlocker } from './blocker';
import type { AccessHandler } from './handler';
/**
* 访问管理器
*/
export interface AccessManager {
/**
* 是否已禁用
*/
isDisabled(): boolean;
/**
* 设置已禁用
*/
setDisabled(disabled: boolean): void;
/**
* 获取处理器
*/
getHandler(): AccessHandler;
/**
* 设置处理器
* @param handler 处理器
*/
setHandler(handler: AccessHandler): void;
/**
* 获取阻断器
*/
getBlocker(): AccessBlocker;
/**
* 设置阻断器
* @param blocker 阻断器
*/
setBlocker(blocker: AccessBlocker): void;
/**
* 获取父级
*/
getParent(): AccessManager | undefined;
/**
* 设置父级
* @param parent 父级
*/
setParent(parent: AccessManager): void;
}
/**
* 简单管理器
*/
export declare class SimpleManager implements AccessManager {
/**
* 已禁用
* @private
*/
private disabled;
/**
* 处理器
* @private
*/
private handler;
/**
* 阻断器
* @private
*/
private blocker;
/**
* 父级
* @private
*/
private parent?;
/**
* 构造函数
* @param disabled 已禁用
* @param handler 处理器
* @param blocker 阻断器
*/
constructor(disabled: boolean, handler: AccessHandler, blocker: AccessBlocker);
/**
* 获取是否已禁用
*/
isDisabled(): boolean;
/**
* 设置是否已禁用
*/
setDisabled(disabled: boolean): void;
/**
* 获取处理器
*/
getHandler(): AccessHandler;
/**
* 设置处理器
* @param handler 处理器
*/
setHandler(handler: AccessHandler): void;
/**
* 获取阻断器
*/
getBlocker(): AccessBlocker;
/**
* 设置阻断器
* @param blocker 阻断器
*/
setBlocker(blocker: AccessBlocker): void;
/**
* 获取父级
*/
getParent(): AccessManager | undefined;
/**
* 设置父级
* @param parent 父级
*/
setParent(parent?: AccessManager): void;
}