UNPKG

extra-path

Version:

Useful additions to inbuilt [@std/path] module.<br>

34 lines • 3.29 kB
import { basename, extname } from "@std/path"; import { toKebabCase } from "@nodef/extra-string"; // RE-EXPORTS // ========== export { // Namespaces // posix, // win32, // Properties DELIMITER as delimiter, SEPARATOR as sep, // Methods basename, dirname, extname, isAbsolute, relative, format, join, parse, normalize, resolve, toNamespacedPath } from "@std/path"; // NAME // ---- /** * Get file name without extension. * @param pth file path * @returns file name */ export function filename(pth) { return basename(pth, extname(pth)); } /** * Get symbol name for file. * @param pth file path * @returns symbol name */ export function symbolname(pth) { return filename(pth).replace(/[^\w$]+/g, "_"); } /** * Get keyword name for file. * @param pth file path * @returns keyword name */ export function keywordname(pth) { return toKebabCase(filename(pth)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9leHRyYS1wYXRoL2V4dHJhLXBhdGgvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtiYXNlbmFtZSwgZXh0bmFtZX0gZnJvbSBcIkBzdGQvcGF0aFwiO1xuaW1wb3J0IHt0b0tlYmFiQ2FzZX0gICAgICAgZnJvbSBcIkBub2RlZi9leHRyYS1zdHJpbmdcIjtcblxuXG5cblxuLy8gUkUtRVhQT1JUU1xuLy8gPT09PT09PT09PVxuXG5leHBvcnQge1xuICAvLyBUeXBlc1xuICAvLyB0eXBlIEZvcm1hdElucHV0UGF0aE9iamVjdCxcbiAgdHlwZSBQYXJzZWRQYXRoLFxuICAvLyBOYW1lc3BhY2VzXG4gIC8vIHBvc2l4LFxuICAvLyB3aW4zMixcbiAgLy8gUHJvcGVydGllc1xuICBERUxJTUlURVIgYXMgZGVsaW1pdGVyLFxuICBTRVBBUkFUT1IgYXMgc2VwLFxuICAvLyBNZXRob2RzXG4gIGJhc2VuYW1lLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBpc0Fic29sdXRlLFxuICByZWxhdGl2ZSxcbiAgZm9ybWF0LFxuICBqb2luLFxuICBwYXJzZSxcbiAgbm9ybWFsaXplLFxuICByZXNvbHZlLFxuICB0b05hbWVzcGFjZWRQYXRoLFxufSBmcm9tIFwiQHN0ZC9wYXRoXCI7XG5cblxuXG5cbi8vIE5BTUVcbi8vIC0tLS1cblxuLyoqXG4gKiBHZXQgZmlsZSBuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uLlxuICogQHBhcmFtIHB0aCBmaWxlIHBhdGhcbiAqIEByZXR1cm5zIGZpbGUgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsZW5hbWUocHRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYmFzZW5hbWUocHRoLCBleHRuYW1lKHB0aCkpO1xufVxuXG5cbi8qKlxuICogR2V0IHN5bWJvbCBuYW1lIGZvciBmaWxlLlxuICogQHBhcmFtIHB0aCBmaWxlIHBhdGhcbiAqIEByZXR1cm5zIHN5bWJvbCBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzeW1ib2xuYW1lKHB0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZpbGVuYW1lKHB0aCkucmVwbGFjZSgvW15cXHckXSsvZywgXCJfXCIpO1xufVxuXG5cbi8qKlxuICogR2V0IGtleXdvcmQgbmFtZSBmb3IgZmlsZS5cbiAqIEBwYXJhbSBwdGggZmlsZSBwYXRoXG4gKiBAcmV0dXJucyBrZXl3b3JkIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGtleXdvcmRuYW1lKHB0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRvS2ViYWJDYXNlKGZpbGVuYW1lKHB0aCkpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVEsUUFBUSxFQUFFLE9BQU8sUUFBTyxZQUFZO0FBQzVDLFNBQVEsV0FBVyxRQUFhLHNCQUFzQjtBQUt0RCxhQUFhO0FBQ2IsYUFBYTtBQUViLFNBSUUsYUFBYTtBQUNiLFNBQVM7QUFDVCxTQUFTO0FBQ1QsYUFBYTtBQUNiLGFBQWEsU0FBUyxFQUN0QixhQUFhLEdBQUcsRUFDaEIsVUFBVTtBQUNWLFFBQVEsRUFDUixPQUFPLEVBQ1AsT0FBTyxFQUNQLFVBQVUsRUFDVixRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixLQUFLLEVBQ0wsU0FBUyxFQUNULE9BQU8sRUFDUCxnQkFBZ0IsUUFDWCxZQUFZO0FBS25CLE9BQU87QUFDUCxPQUFPO0FBRVA7Ozs7Q0FJQyxHQUNELE9BQU8sU0FBUyxTQUFTLEdBQVc7RUFDbEMsT0FBTyxTQUFTLEtBQUssUUFBUTtBQUMvQjtBQUdBOzs7O0NBSUMsR0FDRCxPQUFPLFNBQVMsV0FBVyxHQUFXO0VBQ3BDLE9BQU8sU0FBUyxLQUFLLE9BQU8sQ0FBQyxZQUFZO0FBQzNDO0FBR0E7Ozs7Q0FJQyxHQUNELE9BQU8sU0FBUyxZQUFZLEdBQVc7RUFDckMsT0FBTyxZQUFZLFNBQVM7QUFDOUIifQ==