/** * 创建一个路径检查工具,用于精确匹配和前缀匹配路径。 * @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)), } }