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
JavaScript
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=