UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

30 lines (26 loc) 775 B
import type { ErrorResponse, ResponseStruct, StructuredSuccessResponse } from "@/types" /** * Type guard to check if response is successful */ export function isSuccessResponse<T>( response: ResponseStruct<T>, ): response is StructuredSuccessResponse<T> { return response.code === 0 } /** * Type guard to check if response is an error */ export function isErrorResponse( response: ResponseStruct<any>, ): response is ErrorResponse { return response.code !== 0 } /** * Extract data from successful response, throw error if unsuccessful */ export function extractResponseData<T>(response: ResponseStruct<T>): T { if (isSuccessResponse(response)) { return response.data } throw new Error(response.message || `API error with code: ${response.code}`) }