@dbs-portal/core-api
Version:
HTTP client and API utilities for DBS Portal
80 lines • 2.18 kB
TypeScript
/**
* URL and path utilities for MSW handlers
*/
/**
* Parse query parameters from URL
*/
export declare function parseQueryParams(url: string | URL): Record<string, string>;
/**
* Parse path parameters from URL pattern
*/
export declare function parsePathParams(url: string, pattern: string): Record<string, string>;
/**
* Build URL with query parameters
*/
export declare function buildUrl(baseUrl: string, params?: Record<string, any>): string;
/**
* Extract base path from URL
*/
export declare function extractBasePath(url: string): string;
/**
* Check if URL matches pattern
*/
export declare function matchesPattern(url: string, pattern: string): boolean;
/**
* Normalize URL path
*/
export declare function normalizePath(path: string): string;
/**
* Join URL paths
*/
export declare function joinPaths(...paths: string[]): string;
/**
* Parse pagination parameters from query
*/
export declare function parsePaginationParams(query: Record<string, string>): {
page: number;
pageSize: number;
skip: number;
take: number;
};
/**
* Parse sorting parameters from query
*/
export declare function parseSortingParams(query: Record<string, string>): {
sortBy?: string;
sortOrder: 'asc' | 'desc';
};
/**
* Parse filtering parameters from query
*/
export declare function parseFilterParams(query: Record<string, string>): {
search?: string;
filter?: string;
filters: Record<string, string>;
};
/**
* Create URL matcher function
*/
export declare function createUrlMatcher(patterns: string[]): (url: string) => boolean;
/**
* Extract file extension from URL
*/
export declare function getFileExtension(url: string): string | null;
/**
* Check if URL is for a file download
*/
export declare function isFileDownloadUrl(url: string): boolean;
/**
* Generate mock URL for uploaded file
*/
export declare function generateFileUrl(filename: string, baseUrl?: string): string;
/**
* Validate URL format
*/
export declare function isValidUrl(url: string): boolean;
/**
* Convert relative URL to absolute
*/
export declare function toAbsoluteUrl(url: string, baseUrl?: string): string;
//# sourceMappingURL=url-utils.d.ts.map