UNPKG

@lanaqi/rsr

Version:
71 lines (70 loc) 1.51 kB
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; }