std/path/posix/format.ts

32 lines
799 B
TypeScript

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
// This module is browser compatible.
import { _format, assertArg } from "../_common/format.ts";
import type { ParsedPath } from "../types.ts";
/**
* Generate a path from `ParsedPath` object.
*
* @example Usage
* ```ts
* import { format } from "@std/path/posix/format";
* import { assertEquals } from "@std/assert";
*
* const path = format({
* root: "/",
* dir: "/path/dir",
* base: "file.txt",
* ext: ".txt",
* name: "file"
* });
* assertEquals(path, "/path/dir/file.txt");
* ```
*
* @param pathObject The path object to format.
* @returns The formatted path.
*/
export function format(pathObject: Partial<ParsedPath>): string {
assertArg(pathObject);
return _format("/", pathObject);
}