UNPKG

keep-a-changelog

Version:

Node package to parse and generate changelogs following the [keepachangelog](https://keepachangelog.com/) format.

39 lines (38 loc) 1.16 kB
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. // This module is browser compatible. import { CHAR_COLON } from "../_common/constants.js"; import { assertPath } from "../_common/assert_path.js"; import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js"; /** * Verifies whether provided path is absolute. * * @example Usage * ```ts * import { isAbsolute } from "@std/path/windows/is-absolute"; * import { assert, assertFalse } from "@std/assert"; * * assert(isAbsolute("C:\\foo\\bar")); * assertFalse(isAbsolute("..\\baz")); * ``` * * @param path The path to verify. * @returns `true` if the path is absolute, `false` otherwise. */ export function isAbsolute(path) { assertPath(path); const len = path.length; if (len === 0) return false; const code = path.charCodeAt(0); if (isPathSeparator(code)) { return true; } else if (isWindowsDeviceRoot(code)) { // Possible device root if (len > 2 && path.charCodeAt(1) === CHAR_COLON) { if (isPathSeparator(path.charCodeAt(2))) return true; } } return false; }