UNPKG

patha

Version:

File paths library. All you need to work with paths. Tiny drop-in replacement for 'path'. Works in Node, Browser, and Deno.

26 lines 2.67 kB
import { basename, dirname, extname, join } from "path"; /** * Adds a prefix to the start of the name of the given path * * @example * * ```js * import { addNamePrefix } from "patha" * * addNamePrefix("path/to/file-name.ext", "new-") // gives "path/to/new-file-name.ext" * ``` * * @param path The given file path * @param prefix The prefix to add to the start of the file name * @returns The path with a prefix added to its file name */ export function addNamePrefix(path, prefix) { // get the extension and the file name const ext = extname(path); const nameWithoutExt = basename(path, ext); // add the name prefix const NameWithPrefix = `${prefix}${nameWithoutExt}${ext}`; // add the dirname back return join(dirname(path), NameWithPrefix); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5hbWUtcHJlZml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FkZC1uYW1lLXByZWZpeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXZEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZLEVBQUUsTUFBYztJQUN4RCxzQ0FBc0M7SUFDdEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFMUMsc0JBQXNCO0lBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQUcsTUFBTSxHQUFHLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQTtJQUV6RCx1QkFBdUI7SUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgZXh0bmFtZSwgam9pbiB9IGZyb20gXCJwYXRoXCJcblxuLyoqXG4gKiBBZGRzIGEgcHJlZml4IHRvIHRoZSBzdGFydCBvZiB0aGUgbmFtZSBvZiB0aGUgZ2l2ZW4gcGF0aFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogYGBganNcbiAqIGltcG9ydCB7IGFkZE5hbWVQcmVmaXggfSBmcm9tIFwicGF0aGFcIlxuICpcbiAqIGFkZE5hbWVQcmVmaXgoXCJwYXRoL3RvL2ZpbGUtbmFtZS5leHRcIiwgXCJuZXctXCIpIC8vIGdpdmVzIFwicGF0aC90by9uZXctZmlsZS1uYW1lLmV4dFwiXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcGF0aCBUaGUgZ2l2ZW4gZmlsZSBwYXRoXG4gKiBAcGFyYW0gcHJlZml4IFRoZSBwcmVmaXggdG8gYWRkIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlsZSBuYW1lXG4gKiBAcmV0dXJucyBUaGUgcGF0aCB3aXRoIGEgcHJlZml4IGFkZGVkIHRvIGl0cyBmaWxlIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE5hbWVQcmVmaXgocGF0aDogc3RyaW5nLCBwcmVmaXg6IHN0cmluZykge1xuICAvLyBnZXQgdGhlIGV4dGVuc2lvbiBhbmQgdGhlIGZpbGUgbmFtZVxuICBjb25zdCBleHQgPSBleHRuYW1lKHBhdGgpXG4gIGNvbnN0IG5hbWVXaXRob3V0RXh0ID0gYmFzZW5hbWUocGF0aCwgZXh0KVxuXG4gIC8vIGFkZCB0aGUgbmFtZSBwcmVmaXhcbiAgY29uc3QgTmFtZVdpdGhQcmVmaXggPSBgJHtwcmVmaXh9JHtuYW1lV2l0aG91dEV4dH0ke2V4dH1gXG5cbiAgLy8gYWRkIHRoZSBkaXJuYW1lIGJhY2tcbiAgcmV0dXJuIGpvaW4oZGlybmFtZShwYXRoKSwgTmFtZVdpdGhQcmVmaXgpXG59XG4iXX0=