UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

69 lines (60 loc) 1.34 kB
/** * Standard API response structure for Follow Server * All API responses follow this consistent format */ export interface ResponseStruct<T = any> { /** * Response code * 0 = success * Non-zero = error code (matches ExceptionCodes) */ code: number /** * Response message * Usually contains error message when code !== 0 */ message?: string /** * Response data payload * Contains actual response data when code === 0 */ data?: T } /** * Successful API response with data */ export interface StructuredSuccessResponse<T = any> extends ResponseStruct<T> { code: 0 data: T } export type PlainSuccessResponse<T = any> = { code: 0 } & T export type ExtractResponseData<T> = T extends ResponseStruct<infer U> ? U : never /** * Error API response */ export interface ErrorResponse extends ResponseStruct<never> { code: number message: string data?: any } /** * Paginated response structure */ export interface PaginatedData<T = any> { items: T[] total: number page?: number limit?: number hasMore?: boolean } /** * Paginated API response */ export type PaginatedResponse<T = any> = StructuredSuccessResponse< PaginatedData<T> > /** * Empty success response (for operations that don't return data) */ export type EmptyResponse = StructuredSuccessResponse<null>