All checks were successful
CI Monitor MIflow / build-image (push) Successful in 45s
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
/**
|
||
* 创建一个路径检查工具,用于精确匹配和前缀匹配路径。
|
||
* @param {string} url - 要检查的基础 URL。
|
||
* @param {string} [prefix] - 可选的路径前缀。
|
||
* @returns {object} 包含路径检查方法的对象。
|
||
*/
|
||
export const makeCheckPathTool = (url: string, prefix?: string) => {
|
||
const { pathname } = new URL(url)
|
||
const makePath = (path: string) => `${prefix || ""}${path}`
|
||
return {
|
||
/**
|
||
* 检查路径是否与基础 URL 的路径精确匹配。
|
||
* @param {string} path - 要检查的路径。
|
||
* @returns {boolean} 如果路径精确匹配则返回 true,否则返回 false。
|
||
*/
|
||
exactCheck: (path: string) => {
|
||
return pathname === makePath(path)
|
||
},
|
||
/**
|
||
* 检查路径是否以基础 URL 的路径为前缀。
|
||
* @param {string} path - 要检查的路径。
|
||
* @returns {boolean} 如果路径以基础 URL 的路径为前缀则返回 true,否则返回 false。
|
||
*/
|
||
startsWithCheck: (path: string) => pathname.startsWith(makePath(path)),
|
||
}
|
||
}
|