@pstdio/opfs-utils
Version:
Utilities for the browser's OPFS: ls, grep, safe file read, unified diff patching, and MIME helpers.
24 lines (23 loc) • 1.28 kB
TypeScript
/**
* Split a POSIX-like path into normalized segments.
* - trims whitespace
* - removes empty and '.' segments
* - resolves '..' by popping a segment when possible
*/
export declare function normalizeSegments(p: string): string[];
/** Join segments with single slashes, removing empties. */
export declare function normalizeSlashes(p: string): string;
/** Normalize to POSIX-ish, strip leading slashes. */
export declare function normalizeRelPath(p: string): string;
/** Join two path segments with normalization. */
export declare function joinPath(a: string, b: string): string;
/** Return the parent directory portion of a path. */
export declare function parentOf(p: string): string;
/** Return the basename (filename) portion of a path. */
export declare function basename(p: string): string;
/** Detect `..` traversal in a path string (browser-friendly). */
export declare function hasParentTraversal(p?: string): boolean;
/** Check if `pathToCheck` is within `rootDirectory` using normalized segments. */
export declare function isWithinRoot(pathToCheck: string, rootDirectory: string): boolean;
/** Join a relative path under a workspace; throws if it escapes the workspace. */
export declare function joinUnderWorkspace(workspaceDir: string, rel: string): string;