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.

28 lines 2.89 kB
import { basename, dirname, extname, join } from "path"; /** * Adds a suffix to the end of the name of the given path * * @example * * ```js * import { addNameSuffix } from "patha" * * addNameSuffix("path/to/file-name.ext", "-old") // gives "path/to/file-name-old.ext" * * addNameSuffix("path/to/file-name.ext", ".test") // gives "path/to/file-name.test.ext" * ``` * * @param path The given file path * @param suffix The suffix to add to the end of the file name * @returns The path with a suffix added to its file name */ export function addNameSuffix(path, suffix) { // get the extension and the file name const ext = extname(path); const nameWithoutExt = basename(path, ext); // add the name suffix const NameWithSuffix = `${nameWithoutExt}${suffix}${ext}`; // add the dirname back return join(dirname(path), NameWithSuffix); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5hbWUtc3VmZml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FkZC1uYW1lLXN1ZmZpeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRXZEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZLEVBQUUsTUFBYztJQUN4RCxzQ0FBc0M7SUFDdEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFMUMsc0JBQXNCO0lBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQUcsY0FBYyxHQUFHLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQTtJQUV6RCx1QkFBdUI7SUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgZXh0bmFtZSwgam9pbiB9IGZyb20gXCJwYXRoXCJcblxuLyoqXG4gKiBBZGRzIGEgc3VmZml4IHRvIHRoZSBlbmQgb2YgdGhlIG5hbWUgb2YgdGhlIGdpdmVuIHBhdGhcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBhZGROYW1lU3VmZml4IH0gZnJvbSBcInBhdGhhXCJcbiAqXG4gKiBhZGROYW1lU3VmZml4KFwicGF0aC90by9maWxlLW5hbWUuZXh0XCIsIFwiLW9sZFwiKSAvLyBnaXZlcyBcInBhdGgvdG8vZmlsZS1uYW1lLW9sZC5leHRcIlxuICpcbiAqIGFkZE5hbWVTdWZmaXgoXCJwYXRoL3RvL2ZpbGUtbmFtZS5leHRcIiwgXCIudGVzdFwiKSAvLyBnaXZlcyBcInBhdGgvdG8vZmlsZS1uYW1lLnRlc3QuZXh0XCJcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwYXRoIFRoZSBnaXZlbiBmaWxlIHBhdGhcbiAqIEBwYXJhbSBzdWZmaXggVGhlIHN1ZmZpeCB0byBhZGQgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSBuYW1lXG4gKiBAcmV0dXJucyBUaGUgcGF0aCB3aXRoIGEgc3VmZml4IGFkZGVkIHRvIGl0cyBmaWxlIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE5hbWVTdWZmaXgocGF0aDogc3RyaW5nLCBzdWZmaXg6IHN0cmluZykge1xuICAvLyBnZXQgdGhlIGV4dGVuc2lvbiBhbmQgdGhlIGZpbGUgbmFtZVxuICBjb25zdCBleHQgPSBleHRuYW1lKHBhdGgpXG4gIGNvbnN0IG5hbWVXaXRob3V0RXh0ID0gYmFzZW5hbWUocGF0aCwgZXh0KVxuXG4gIC8vIGFkZCB0aGUgbmFtZSBzdWZmaXhcbiAgY29uc3QgTmFtZVdpdGhTdWZmaXggPSBgJHtuYW1lV2l0aG91dEV4dH0ke3N1ZmZpeH0ke2V4dH1gXG5cbiAgLy8gYWRkIHRoZSBkaXJuYW1lIGJhY2tcbiAgcmV0dXJuIGpvaW4oZGlybmFtZShwYXRoKSwgTmFtZVdpdGhTdWZmaXgpXG59XG4iXX0=