UNPKG

@wroud/navigation

Version:

A flexible, pattern-matching navigation system for JavaScript applications with built-in routing, browser integration, and navigation state management

55 lines 1.78 kB
/** * Path utilities for URL pattern matching */ /** * Splits a string (URL or pattern) into its path part and query part. */ export declare function splitPathAndQuery(value: string): { path: string; query: string; }; /** * Parsed query parameter definition from a pattern. */ export interface QueryParamDef { /** The URL query key (e.g. "tab") */ key: string; /** The parameter name (e.g. "tab") */ paramName: string; /** The declared type (e.g. "number") */ paramType: string; /** Whether this query parameter is required (marked with !) */ required: boolean; } /** * Parse query parameter definitions from a pattern's query string. * Format: "key=:param<type>&key2=:param2" */ export declare function parseQueryPatternDefs(queryPattern: string): QueryParamDef[]; /** * Parse a URL query string into a key-value map. * Handles repeated keys by keeping the last value. */ export declare function parseQueryString(query: string): Record<string, string>; /** * Splits a URL or pattern string into segments */ export declare function splitPath(path: string): string[]; /** * Checks if a segment is a parameter (starts with ":") */ export declare function isParameterSegment(segment: string): boolean; /** * Checks if a segment is a wildcard parameter (starts with ":" and ends with "*") */ export declare function isWildcardSegment(segment: string): boolean; /** * Extracts parameter name from a parameter segment */ export declare function extractParamName(segment: string): string; export declare function extractParamType(segment: string): string; /** * Joins segments into a URL path with caching for common paths */ export declare function joinPath(segments: string[]): string; //# sourceMappingURL=path-utils.d.ts.map