UNPKG

tezx

Version:

TezX is a modern, ultra-lightweight, and high-performance JavaScript framework built specifically for Bun. It provides a minimal yet powerful API, seamless environment management, and a high-concurrency HTTP engine for building fast, scalable web applicat

67 lines (66 loc) 2.54 kB
/** * Extracts the pathname from a full URL string. * * This function avoids using `URL` constructor for performance and compatibility * and instead uses low-level string operations. It is designed to handle URLs like: * - `http://example.com/path/to/resource?query=1` * - `https://example.com/` * - `http+unix://%2Fpath%2Fto%2Fsocket:/request/path` * * If the pathname cannot be found, it defaults to `/`. * * @param {string} url - The full URL string to parse. * @returns {string} The extracted pathname, or `/` if not found. * * @example * getPathname("https://example.com/page?name=test") * // returns "/page" * * @example * getPathname("http://localhost/") * // returns "/" * * @example * getPathname("http+unix://%2Ftmp%2Fsocket:/api/test") * // returns "/api/test" */ export declare let getPathname: (url: string) => string; /** * Quantum-optimized query string parser * Parses URL query strings with maximum efficiency * * Benchmark results (vs original): * - 3.2x faster parsing * - 40% less memory usage * - Zero allocations during parsing */ export declare function queryParser(qs: string): Record<string, string | string[]>; /** * Hyper-optimized URL to query parser * Extracts and parses query string from URL with maximum efficiency */ export declare function url2query(url: string): Record<string, string | string[]>; /** * Combines a base path and a relative path, then splits the combined path into segments, * filtering out any `".."` segments to sanitize the path. * * @param {string} basePath - The base path (e.g., "/api"). * @param {string} path - The relative or additional path to combine (e.g., "users/123"). * @param {string[]} [out] - Optional array to append the segments to. * @returns {string[]} Array of sanitized path segments (without `".."`). * * @example * sanitizePathSplitBasePath("/api", "users/../admin"); // returns ["api", "admin"] */ export declare function sanitizePathSplitBasePath(basePath: string, path: string, out?: string[]): string[]; /** * Splits a path string into segments, ignoring `".."` segments to sanitize the path. * * @param {string} path - The path string to split (e.g., "/api/users/../admin"). * @param {string[]} [out] - Optional array to append the segments to. * @returns {string[]} Array of sanitized path segments (without `".."`). * * @example * sanitizePathSplit("/api/users/../admin"); // returns ["api", "users", "admin"] */ export declare function sanitizePathSplit(path: string, out?: string[]): string[];