reqres-api
Version:
A managed API client for ReqResIn.
58 lines (57 loc) • 2.21 kB
TypeScript
import { CreateUserRequest, CreateUserResponse, PaginatedUsersResponse, UpdateUserResponse } from "./ReqResType";
/**
* ReqResAPI provides a wrapper around the ReqRes API client to perform user operations.
* It includes methods for fetching, creating, updating, and deleting users.
*/
export declare class ReqResAPI {
private client;
/**
* Creates an instance of ReqResAPI.
* @param client - An instance of the ReqRes API client.
*/
constructor(client: any);
/**
* Handles the execution of an API request.
* @param request - A function that returns a `Response` object when invoked.
* @returns A promise resolving to an object containing the parsed data or an error message.
*/
private handleRequest;
/**
* Fetches a paginated list of users.
* @param pageNumber - The page number to fetch.
* @returns A promise that resolves to an object containing user data or an error message.
*/
getUsers(pageNumber: number): Promise<{
data?: PaginatedUsersResponse;
error?: string;
}>;
/**
* Creates a new user.
* @param data - The user details including name and job title.
* @returns A promise that resolves to the created user data or an error message.
*/
createUser(data: CreateUserRequest): Promise<{
data?: CreateUserResponse;
error?: string;
}>;
/**
* Updates an existing user.
* @param userId - The ID of the user to update.
* @param data - The new user details including name and job title.
* @param method - Define how update should happen, in fully (PUT) or partial (PATCH)
* @returns A promise that resolves to the updated user data or an error message.
*/
updateUser(userId: number, data: CreateUserRequest, method: 'PUT' | 'PATCH'): Promise<{
data?: UpdateUserResponse;
error?: string;
}>;
/**
* Deletes a user by ID.
* @param userId - The ID of the user to delete.
* @returns A promise that resolves to `true` if the user was deleted successfully or an error message.
*/
deleteUser(userId: number): Promise<{
data?: boolean;
error?: string;
}>;
}