Skip to main content

Setup


Initialize Builder

The first step is to initialize the Builder. It manage the basic configuration for connection to the server and all the elements that make up Hyper Fetch, which are instances of - dispatchers, cache and app managers. We start by determining the baseUrl of our server.

/src/server/builder.ts
import { Builder } from "@hyper-fetch/core";

export const builder = new Builder({ baseUrl: "http://localhost:3000" });

Create Command

Then, having already prepared connection setup for the server, we use the builder method to create commands and assign types to them.

caution

We are using currying to achieve auto generated types for the endpoint string.
This solution will be removed once https://github.com/microsoft/TypeScript/issues/10571 get resolved.

/src/server/auth/auth.ts
import { builder } from "../builder.ts";

type ResponseType = { token: string; refreshToken: string };
type RequestType = { email: string; password: string };

const postLogin = builder.createCommand<ResponseType, RequestType>()({ method: "POST", endpoint: "/auth/login" });