fs:utils/path sanitize - defaults
This commit is contained in:
parent
237e045262
commit
9865b03586
2
packages/fs/dist/utils/paths.d.ts
vendored
2
packages/fs/dist/utils/paths.d.ts
vendored
@ -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;
|
||||
|
||||
6
packages/fs/dist/utils/paths.js
vendored
6
packages/fs/dist/utils/paths.js
vendored
@ -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==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMzRixPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN6QyxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QyxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3RCLDZDQUFRLENBQUE7SUFDUiw2REFBcUIsQ0FBQTtJQUNyQiwrREFBc0IsQ0FBQTtJQUN0QixpRkFBK0IsQ0FBQTtJQUMvQiwrREFBc0IsQ0FBQSxDQUFRLHNDQUFzQztBQUNyRSxDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLFFBQWdCLEVBQUUsUUFBb0IsVUFBVSxDQUFDLGFBQWE7SUFDdEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ25GLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN4QyxDQUFDO0FBT0QsTUFBTSxVQUFVLFlBQVksQ0FBQyxXQUFtQixFQUFFO0lBQ2pELElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFFbEMsbUNBQW1DO0lBQ25DLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3hELFVBQVUsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTztZQUFFLFNBQVE7UUFDdEIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFNUMsSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxRCxVQUFVLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzRCxVQUFVLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3BFLFVBQVUsSUFBSSxXQUFXLENBQUMsc0JBQXNCLENBQUM7UUFDbEQsQ0FBQztJQUNGLENBQUM7SUFDRCxPQUFPO1FBQ04sT0FBTyxFQUFFLFVBQVUsS0FBSyxXQUFXLENBQUMsSUFBSTtRQUN4QyxVQUFVO0tBQ1YsQ0FBQTtBQUNGLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxLQUFpQjtJQUNyRSxJQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxRQUFRLENBQUE7SUFDaEIsQ0FBQztJQUNFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDbkUsSUFBSSxnQkFBZ0IsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFDSixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQzlDLElBQUksQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdkIsT0FBTyxPQUFPLENBQUE7SUFDbEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0FBQ0wsQ0FBQyJ9
|
||||
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user