abi.js
Version:
[![typescript-icon]][typescript-link] [![license-icon]][license-link] [![status-icon]][status-link] [![ci-icon]][ci-link] [![twitter-icon]][twitter-link]
26 lines (25 loc) • 968 B
JavaScript
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
// Copyright the Browserify authors. MIT License.
import { resolve } from "../../path/1.0.2/resolve.js";
import { SEPARATOR } from "../../path/1.0.2/constants.js";
import { toPathString } from "./_to_path_string.js";
/**
* Checks whether `src` is a sub-directory of `dest`.
*
* @param src Source file path as a string or URL.
* @param dest Destination file path as a string or URL.
* @param sep Path separator. Defaults to `\\` for Windows and `/` for other
* platforms.
*
* @returns `true` if `src` is a sub-directory of `dest`, `false` otherwise.
*/
export function isSubdir(src, dest, sep = SEPARATOR) {
src = toPathString(src);
dest = toPathString(dest);
if (resolve(src) === resolve(dest)) {
return false;
}
const srcArray = src.split(sep);
const destArray = dest.split(sep);
return srcArray.every((current, i) => destArray[i] === current);
}