15 lines
400 B
TypeScript
15 lines
400 B
TypeScript
import { ApiError, handleResponse } from "./responses";
|
|
import { type ApiResponse } from "./types";
|
|
|
|
export function parseApiData<T>(payload: unknown): T {
|
|
if (Array.isArray(payload)) {
|
|
return payload as T;
|
|
}
|
|
|
|
if (payload && typeof payload === "object" && "success" in payload) {
|
|
return handleResponse(payload as ApiResponse<T>);
|
|
}
|
|
|
|
throw new ApiError("Invalid response format");
|
|
}
|