@push.rocks/smartrequest
Version:
A module for modern HTTP/HTTPS requests with support for form data, file uploads, JSON, binary data, streams, and more.
56 lines (48 loc) • 1.28 kB
text/typescript
// Export the main client
export { SmartRequest } from './smartrequest.js';
// Export response type from core
export { CoreResponse } from '../core/index.js';
// Export types
export type {
HttpMethod,
ResponseType,
FormField,
RetryConfig,
TimeoutConfig,
RateLimitConfig,
} from './types/common.js';
export {
PaginationStrategy,
type TPaginationConfig as PaginationConfig,
type OffsetPaginationConfig,
type CursorPaginationConfig,
type LinkPaginationConfig,
type CustomPaginationConfig,
type TPaginatedResponse as PaginatedResponse,
} from './types/pagination.js';
// Convenience factory functions
import { SmartRequest } from './smartrequest.js';
/**
* Create a client pre-configured for JSON requests
*/
export function createJsonClient<T = any>() {
return SmartRequest.create<T>();
}
/**
* Create a client pre-configured for form data requests
*/
export function createFormClient<T = any>() {
return SmartRequest.create<T>();
}
/**
* Create a client pre-configured for binary data
*/
export function createBinaryClient<T = any>() {
return SmartRequest.create<T>().accept('binary');
}
/**
* Create a client pre-configured for streaming
*/
export function createStreamClient() {
return SmartRequest.create().accept('stream');
}