15 lines
486 B
TypeScript
15 lines
486 B
TypeScript
import { CharactersResponse } from "@/data/schemas/character";
|
|
|
|
import { ApiPath } from "./api_path";
|
|
import { httpClient } from "./http_client";
|
|
import { type ApiEnvelope, unwrap } from "./response_helper";
|
|
|
|
export class CharacterApi {
|
|
async getCharacters(): Promise<CharactersResponse> {
|
|
const envelope = await httpClient<ApiEnvelope<unknown>>(ApiPath.characters);
|
|
return CharactersResponse.fromJson(unwrap(envelope));
|
|
}
|
|
}
|
|
|
|
export const characterApi = new CharacterApi();
|