Client-side API Client in TypeScript

Does this look like a valid approach to build a client-side API client that will be called from normal TS (non Effect) code?
const retryPolicy = Schedule.exponential(5000).pipe(
  Schedule.compose(Schedule.recurs(5)),
);

export const likePhotoRequest = (photo_id: string) =>
  HttpClient.request
    .post(`/api/photo/${photo_id}/like`)
    .pipe(
      HttpClient.client.fetchOk,
      HttpClient.response.void,
      Effect.retry(retryPolicy),
      Effect.withSpan("likePhotoRequest"),
    );

export const dislikePhotoRequest = (photo_id: string) =>
  HttpClient.request
    .del(`/api/photo/${photo_id}/like`)
    .pipe(
      HttpClient.client.fetchOk,
      HttpClient.response.void,
      Effect.retry(retryPolicy),
      Effect.withSpan("dislikePhotoRequest"),
    );
Was this page helpful?