summaryrefslogtreecommitdiff
path: root/std/path/common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/path/common.ts')
-rw-r--r--std/path/common.ts39
1 files changed, 0 insertions, 39 deletions
diff --git a/std/path/common.ts b/std/path/common.ts
deleted file mode 100644
index 390c04f1d..000000000
--- a/std/path/common.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-// This module is browser compatible.
-
-import { SEP } from "./separator.ts";
-
-/** Determines the common path from a set of paths, using an optional separator,
- * which defaults to the OS default separator.
- *
- * import { common } from "https://deno.land/std/path/mod.ts";
- * const p = common([
- * "./deno/std/path/mod.ts",
- * "./deno/std/fs/mod.ts",
- * ]);
- * console.log(p); // "./deno/std/"
- *
- */
-export function common(paths: string[], sep = SEP): string {
- const [first = "", ...remaining] = paths;
- if (first === "" || remaining.length === 0) {
- return first.substring(0, first.lastIndexOf(sep) + 1);
- }
- const parts = first.split(sep);
-
- let endOfPrefix = parts.length;
- for (const path of remaining) {
- const compare = path.split(sep);
- for (let i = 0; i < endOfPrefix; i++) {
- if (compare[i] !== parts[i]) {
- endOfPrefix = i;
- }
- }
-
- if (endOfPrefix === 0) {
- return "";
- }
- }
- const prefix = parts.slice(0, endOfPrefix).join(sep);
- return prefix.endsWith(sep) ? prefix : `${prefix}${sep}`;
-}