UNPKG

@dbs-portal/core-api

Version:

HTTP client and API utilities for DBS Portal

108 lines 3.23 kB
/** * Response utility functions */ import type { ApiResponse, ApiError } from '../types'; /** * Checks if response is successful */ export declare function isSuccessResponse(response: ApiResponse): boolean; /** * Checks if response is a client error */ export declare function isClientError(response: ApiResponse): boolean; /** * Checks if response is a server error */ export declare function isServerError(response: ApiResponse): boolean; /** * Checks if response is a redirect */ export declare function isRedirect(response: ApiResponse): boolean; /** * Extracts error message from response */ export declare function extractErrorMessage(response: ApiResponse): string; /** * Creates standardized error from response */ export declare function createErrorFromResponse(response: ApiResponse): ApiError; /** * Parses response headers into object */ export declare function parseResponseHeaders(headers: Headers): Record<string, string>; /** * Gets content type from response */ export declare function getResponseContentType(response: ApiResponse): string; /** * Checks if response is JSON */ export declare function isJsonResponse(response: ApiResponse): boolean; /** * Checks if response is HTML */ export declare function isHtmlResponse(response: ApiResponse): boolean; /** * Checks if response is XML */ export declare function isXmlResponse(response: ApiResponse): boolean; /** * Gets response size from headers */ export declare function getResponseSize(response: ApiResponse): number; /** * Checks if response is compressed */ export declare function isCompressedResponse(response: ApiResponse): boolean; /** * Gets cache control directives from response */ export declare function getCacheControl(response: ApiResponse): Record<string, string | boolean>; /** * Checks if response can be cached */ export declare function isCacheableResponse(response: ApiResponse): boolean; /** * Gets response TTL from cache headers */ export declare function getResponseTTL(response: ApiResponse): number; /** * Validates response data against schema */ export declare function validateResponseData<T>(response: ApiResponse<T>, validator: (data: any) => boolean): boolean; /** * Transforms response data */ export declare function transformResponseData<T, U>(response: ApiResponse<T>, transformer: (data: T) => U): ApiResponse<U>; /** * Creates response metadata for logging/monitoring */ export declare function createResponseMetadata(response: ApiResponse): { status: number; statusText: string; contentType: string; size: number; compressed: boolean; cacheable: boolean; timestamp: number; }; /** * Extracts pagination info from response headers */ export declare function extractPaginationInfo(response: ApiResponse): { page?: number; limit?: number; total?: number; totalPages?: number; hasNext?: boolean; hasPrevious?: boolean; } | null; /** * Checks if response indicates rate limiting */ export declare function isRateLimited(response: ApiResponse): boolean; /** * Gets retry-after value from response */ export declare function getRetryAfter(response: ApiResponse): number | null; //# sourceMappingURL=response-utils.d.ts.map