@lanaqi/rsr
Version:
71 lines (70 loc) • 1.51 kB
TypeScript
import type { AccessPath } from './common';
import type { AccessResource, AccessResources } from './resource';
/**
* 访问匹配器
*/
export interface AccessMatcher {
/**
* 进行匹配
* @param resource 资源
* @param path 路径
*/
match(resource: AccessResource, path: AccessPath): boolean;
/**
* 取得资源
* @param path 路径
*/
obtain(path: AccessPath): AccessResource | null;
/**
* 获取基础路径
*/
getBasename(): string | undefined;
/**
* 设置基础路径
*/
setBasename(basename: string | undefined): void;
}
/**
* 简单匹配器
*/
export declare class SimpleMatcher implements AccessMatcher {
/**
* 缓存资源
* @private
*/
private readonly cache;
/**
* 资源集合
* @private
*/
private readonly resources;
/**
* 基础路径
* @private
*/
private basename?;
/**
* 构造函数
* @param resources 资源集合
*/
constructor(resources: AccessResources);
/**
* 进行匹配
* @param resource 资源
* @param path 路径
*/
match(resource: AccessResource, path: AccessPath): boolean;
/**
* 取得资源
* @param path 路径
*/
obtain(path: AccessPath): AccessResource | null;
/**
* 获取基础路径
*/
getBasename(): string | undefined;
/**
* 设置基础路径
*/
setBasename(basename: string | undefined): void;
}