@lanaqi/rsr
Version:
113 lines (112 loc) • 3.11 kB
TypeScript
import { type AccessContext, type AccessMatcher, type AccessNavigator, type AccessRecorder, type AccessResource, type AccessStorer, type AccessValidator, type AccessVoter } from '../access';
import type { NavigateFunction } from '../bridge';
import type { AccessBuilder } from './builder';
import { AccessMatcherBuilder } from './matcher';
import { AccessNavigatorBuilder } from './navigator';
import { AccessRecorderBuilder } from './recorder';
import { AccessResourceBuilder } from './resource';
import { AccessStorerBuilder } from './storer';
import { AccessVoterBuilder } from './voter';
/**
* 访问上下文构建器
*/
export declare class AccessContextBuilder implements AccessBuilder<AccessContext> {
/**
* 记录器
* @private
*/
private _recorder?;
/**
* 投票器
* @private
*/
private _voter?;
/**
* 存储器
* @private
*/
private _storer?;
/**
* 匹配器
* @private
*/
private _matcher?;
/**
* 导航器
* @private
*/
private _navigator?;
/**
* 层级
* @private
*/
private _hierarchy?;
/**
* 认证验证器
* @private
*/
private _validator?;
/**
* 资源集合
* @private
*/
private readonly _resources;
/**
* 导航函数
* @private
*/
private _navigate?;
/**
* 设置记录器
* @param recorder 记录器
*/
recorder(recorder: AccessRecorder | ((builder: AccessRecorderBuilder) => AccessRecorder)): AccessContextBuilder;
/**
* 设置投票器
* @param voter 投票器或投票构建器
*/
voter(voter: AccessVoter | ((builder: AccessVoterBuilder) => AccessVoter)): AccessContextBuilder;
/**
* 设置存储器
* @param storer 存储器或存储构建器
*/
storer(storer: AccessStorer | ((builder: AccessStorerBuilder) => AccessStorer)): AccessContextBuilder;
/**
* 设置匹配器
* @param matcher 匹配器或匹配构建器
*/
matcher(matcher: AccessMatcher | ((builder: AccessMatcherBuilder) => AccessMatcher)): AccessContextBuilder;
/**
* 设置导航器
* @param navigator 导航器或导航构建器
*/
navigator(navigator: AccessNavigator | ((builder: AccessNavigatorBuilder) => AccessNavigator)): AccessContextBuilder;
/**
* 设置层级
* @param hierarchy 层级:a>b;b>c;c>d;e>f;f>g
*/
hierarchy(hierarchy: string): AccessContextBuilder;
/**
* 设置认证验证器
* @param validator 认证验证器
*/
validator(validator: AccessValidator): AccessContextBuilder;
/**
* 添加资源
* @param builder 资源构建器
*/
resource(builder: (builder: AccessResourceBuilder) => AccessResource): AccessContextBuilder;
/**
* 设置导航函数
* @param navigate 导航函数
*/
navigate(navigate: NavigateFunction): AccessContextBuilder;
/**
* 默认资源集合
*/
drs(): AccessContextBuilder;
/**
* 构建
*/
build(): AccessContext;
}