deno.land / std@0.224.0 / path / _common / common.ts

common.ts
View Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.// This module is browser compatible.
export function _common(paths: string[], sep: string): string { const [first = "", ...remaining] = paths; const parts = first.split(sep);
let endOfPrefix = parts.length; let append = ""; for (const path of remaining) { const compare = path.split(sep); if (compare.length <= endOfPrefix) { endOfPrefix = compare.length; append = ""; }
for (let i = 0; i < endOfPrefix; i++) { if (compare[i] !== parts[i]) { endOfPrefix = i; append = i === 0 ? "" : sep; break; } } } return parts.slice(0, endOfPrefix).join(sep) + append;}
std

Version Info

Tagged at
6 months ago