13 lines
580 B
TypeScript
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
|
|
}
|