@oazmi/build-tools
Version:
general deno build tool scripts which I practically use in all of my typescript repos
22 lines (21 loc) • 674 B
JavaScript
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
// This module is browser compatible.
import { assertArg } from "../_common/from_file_url.js";
/**
* Converts a file URL to a path string.
*
* @example Usage
* ```ts
* import { fromFileUrl } from "@std/path/posix/from-file-url";
* import { assertEquals } from "@std/assert/assert-equals";
*
* assertEquals(fromFileUrl(new URL("file:///home/foo")), "/home/foo");
* ```
*
* @param url The file URL to convert.
* @returns The path string.
*/
export function fromFileUrl(url) {
url = assertArg(url);
return decodeURIComponent(url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
}