diff --git a/packages/fs/dist/utils/paths.d.ts b/packages/fs/dist/utils/paths.d.ts index 3468d869..4d87a05a 100644 --- a/packages/fs/dist/utils/paths.d.ts +++ b/packages/fs/dist/utils/paths.d.ts @@ -6,7 +6,7 @@ export declare enum E_PathError { LEADING_TRAILING_SPACE = 4,// Segment has leading/trailing spaces PATH_TOO_LONG = 8 } -export declare function sanitize(filePath: string, flags: any): string; +export declare function sanitize(filePath: string, flags?: E_Sanitize): string; export interface I_PathValidationResult { isValid: boolean; errorFlags: number; diff --git a/packages/fs/dist/utils/paths.js b/packages/fs/dist/utils/paths.js index 0adb74de..32617dee 100644 --- a/packages/fs/dist/utils/paths.js +++ b/packages/fs/dist/utils/paths.js @@ -1,6 +1,6 @@ import path from "node:path"; import os from "node:os"; -import { sanitizeFilename, validateFilename, E_FilenameError } from "./name.js"; +import { sanitizeFilename, validateFilename, E_FilenameError, E_Sanitize } from "./name.js"; import { sync as move } from "../move.js"; import { sync as exists } from "../exists.js"; export var E_PathError; @@ -11,7 +11,7 @@ export var E_PathError; E_PathError[E_PathError["LEADING_TRAILING_SPACE"] = 4] = "LEADING_TRAILING_SPACE"; E_PathError[E_PathError["PATH_TOO_LONG"] = 8] = "PATH_TOO_LONG"; // Path exceeds Windows MAX_PATH limit })(E_PathError || (E_PathError = {})); -export function sanitize(filePath, flags) { +export function sanitize(filePath, flags = E_Sanitize.REMOVE_EMOJIS) { const segments = path.normalize(filePath).split(path.sep); const sanitizedSegments = segments.map(segment => sanitizeFilename(segment, flags)); return sanitizedSegments.join(path.sep); @@ -61,4 +61,4 @@ export function renameFileIfNeeded(filePath, flags) { return filePath; } } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFjLE1BQU0sV0FBVyxDQUFBO0FBQzNGLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTdDLE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDdEIsNkNBQVEsQ0FBQTtJQUNSLDZEQUFxQixDQUFBO0lBQ3JCLCtEQUFzQixDQUFBO0lBQ3RCLGlGQUErQixDQUFBO0lBQy9CLCtEQUFzQixDQUFBLENBQVEsc0NBQXNDO0FBQ3JFLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QjtBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsUUFBZ0IsRUFBRSxLQUFLO0lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNuRixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQU9ELE1BQU0sVUFBVSxZQUFZLENBQUMsV0FBbUIsRUFBRTtJQUNqRCxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBRWxDLG1DQUFtQztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUN4RCxVQUFVLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTFELEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU87WUFBRSxTQUFRO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTVDLElBQUksVUFBVSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUQsVUFBVSxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksVUFBVSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0QsVUFBVSxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksVUFBVSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNwRSxVQUFVLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDO1FBQ2xELENBQUM7SUFDRixDQUFDO0lBQ0QsT0FBTztRQUNOLE9BQU8sRUFBRSxVQUFVLEtBQUssV0FBVyxDQUFDLElBQUk7UUFDeEMsVUFBVTtLQUNWLENBQUE7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsS0FBaUI7SUFDckUsSUFBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sUUFBUSxDQUFBO0lBQ2hCLENBQUM7SUFDRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoRCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ25FLElBQUksZ0JBQWdCLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBQ0osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUM5QyxJQUFJLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZCLE9BQU8sT0FBTyxDQUFBO0lBQ2xCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxRQUFRLENBQUE7SUFDbkIsQ0FBQztBQUNMLENBQUMifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMzRixPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN6QyxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QyxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3RCLDZDQUFRLENBQUE7SUFDUiw2REFBcUIsQ0FBQTtJQUNyQiwrREFBc0IsQ0FBQTtJQUN0QixpRkFBK0IsQ0FBQTtJQUMvQiwrREFBc0IsQ0FBQSxDQUFRLHNDQUFzQztBQUNyRSxDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLFFBQWdCLEVBQUUsUUFBb0IsVUFBVSxDQUFDLGFBQWE7SUFDdEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ25GLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBT0QsTUFBTSxVQUFVLFlBQVksQ0FBQyxXQUFtQixFQUFFO0lBQ2pELElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFFbEMsbUNBQW1DO0lBQ25DLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3hELFVBQVUsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTztZQUFFLFNBQVE7UUFDdEIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFNUMsSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxRCxVQUFVLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzRCxVQUFVLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3BFLFVBQVUsSUFBSSxXQUFXLENBQUMsc0JBQXNCLENBQUM7UUFDbEQsQ0FBQztJQUNGLENBQUM7SUFDRCxPQUFPO1FBQ04sT0FBTyxFQUFFLFVBQVUsS0FBSyxXQUFXLENBQUMsSUFBSTtRQUN4QyxVQUFVO0tBQ1YsQ0FBQTtBQUNGLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxLQUFpQjtJQUNyRSxJQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxRQUFRLENBQUE7SUFDaEIsQ0FBQztJQUNFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDbkUsSUFBSSxnQkFBZ0IsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFDSixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQzlDLElBQUksQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdkIsT0FBTyxPQUFPLENBQUE7SUFDbEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0FBQ0wsQ0FBQyJ9 \ No newline at end of file diff --git a/packages/fs/src/utils/paths.ts b/packages/fs/src/utils/paths.ts index a2450567..b072beff 100644 --- a/packages/fs/src/utils/paths.ts +++ b/packages/fs/src/utils/paths.ts @@ -13,7 +13,7 @@ export enum E_PathError { PATH_TOO_LONG = 1 << 3 // Path exceeds Windows MAX_PATH limit } -export function sanitize(filePath: string, flags): string { +export function sanitize(filePath: string, flags: E_Sanitize = E_Sanitize.REMOVE_EMOJIS): string { const segments = path.normalize(filePath).split(path.sep); const sanitizedSegments = segments.map(segment => sanitizeFilename(segment, flags)) return sanitizedSegments.join(path.sep)