Files
DiffLens/src/shared/pathNorm.ts
T

13 lines
580 B
TypeScript

/**
* 路径归一化纯逻辑(无进程 API 依赖,两进程共用同一源文件)。
* 主进程 scanCacheStore 的目录对键与渲染端 snapshotDiff 的目录对匹配、
* App 的同目录防呆共用同一实现——Windows 大小写不敏感文件系统下
* C:\Foo 与 c:/Foo 为同一目录,逐字符比较会误判不一致。
*/
export function normDir(p: string): string {
let s = p.replace(/\\/g, '/')
while (s.length > 1 && s.endsWith('/')) s = s.slice(0, -1)
if (s.length >= 2 && s[1] === ':') s = s[0].toLowerCase() + s.slice(1)
return s
}