UNPKG

@prass/botpress-native

Version:

A simple and powerful SDK for integrating Botpress Chat API with React Native,

50 lines (49 loc) 1.93 kB
/** * Utility class for constructing safe and consistent URLs. * Ensures correct handling of leading/trailing slashes and prevents duplicate base URLs. */ export declare class PrepareUrl { private baseUrl; /** * Constructs a PrepareUrl instance. * * @param initialParts - Array of URL segments to form the base URL. * @throws {Error} If initialParts is not an array. * @throws {Error} If initialParts contain invalid URL structure. */ constructor(initialParts?: string[]); /** * Cleans and joins URL parts by removing unnecessary slashes. * * @param parts - Array of URL segments. * @returns A properly formatted URL string. */ private cleanAndJoin; /** * Validates that the base URL has a proper protocol (http or https). * * @throws {Error} If the base URL is invalid. */ private validateBaseUrl; /** * Generates a complete and safe URL with optional query parameters. * * If the base URL is not set, it initializes dynamically from the first `getUrl()` call. * Prevents duplicate base URLs when segments include the base URL again. * * @param segments - Additional URL segments. * @param queryParams - Optional query parameters object. * @returns A well-formed URL string with query parameters (if provided). * @throws {Error} If no base URL is set and segments do not form a valid URL. */ getUrl(segments?: (string | number)[], queryParams?: Record<string, any>): string; /** * Appends query parameters to a URL if provided. * Supports array values by repeating keys in the query string. * * @param url - The base URL to append query parameters to. * @param queryParams - An object of key-value pairs to convert to query parameters. * @returns The URL with query parameters appended. */ private appendQueryParams; }