UNPKG

@lanaqi/rsr

Version:
163 lines (162 loc) 3.41 kB
import type { AccessMatcher } from './matcher'; import type { AccessNavigator } from './navigator'; import type { AccessRecorder } from './recorder'; import type { AccessStorer } from './storer'; import type { AccessVoter } from './voter'; /** * 访问上下文 */ export interface AccessContext { /** * 获取记录器 */ getRecorder(): AccessRecorder; /** * 设置记录器 * @param recorder 记录器 */ setRecorder(recorder: AccessRecorder): void; /** * 获取投票器 */ getVoter(): AccessVoter; /** * 设置投票器 * @param voter 投票器 */ setVoter(voter: AccessVoter): void; /** * 获取存储器 */ getStorer(): AccessStorer; /** * 设置存储器 * @param storer 存储器 */ setStorer(storer: AccessStorer): void; /** * 获取匹配器 */ getMatcher(): AccessMatcher; /** * 设置匹配器 * @param matcher 匹配器 */ setMatcher(matcher: AccessMatcher): void; /** * 获取导航器 */ getNavigator(): AccessNavigator; /** * 设置导航器 * @param navigator 导航器 */ setNavigator(navigator: AccessNavigator): void; /** * 获取父级 */ getParent(): AccessContext | undefined; /** * 设置父级 * @param parent 父级 */ setParent(parent: AccessContext): void; } /** * 简单上下文 */ export declare class SimpleContext implements AccessContext { /** * 记录器 * @private */ private recorder; /** * 投票器 * @private */ private voter; /** * 存储器 * @private */ private storer; /** * 匹配器 * @private */ private matcher; /** * 导航器 * @private */ private navigator; /** * 父级 * @private */ private parent?; /** * 构造函数 * @param recorder 记录器 * @param voter 投票器 * @param storer 存储器 * @param matcher 匹配器 * @param navigator 导航器 */ constructor(recorder: AccessRecorder, voter: AccessVoter, storer: AccessStorer, matcher: AccessMatcher, navigator: AccessNavigator); /** * 获取记录器 */ getRecorder(): AccessRecorder; /** * 设置记录器 * @param recorder 记录器 */ setRecorder(recorder: AccessRecorder): void; /** * 获取投票器 */ getVoter(): AccessVoter; /** * 设置投票器 * @param voter 投票器 */ setVoter(voter: AccessVoter): void; /** * 获取存储器 */ getStorer(): AccessStorer; /** * 设置存储器 * @param storer 存储器 */ setStorer(storer: AccessStorer): void; /** * 获取匹配器 */ getMatcher(): AccessMatcher; /** * 设置匹配器 * @param matcher 匹配器 */ setMatcher(matcher: AccessMatcher): void; /** * 获取导航器 */ getNavigator(): AccessNavigator; /** * 设置导航器 * @param navigator 导航器 */ setNavigator(navigator: AccessNavigator): void; /** * 获取父级 */ getParent(): AccessContext | undefined; /** * 设置父级 * @param parent 父级 */ setParent(parent?: AccessContext): void; }