@qite/tide-client
Version:
Frontend client for Tide
70 lines (63 loc) • 1.49 kB
text/typescript
import { post as apiPost, get as apiGet, patch as apiPatch } from "./api";
import { reviver } from "./json";
export const post = async <T>(
url: string,
apiKey: string,
body?: string | null,
token?: string,
signal?: AbortSignal,
skipReviver?: boolean,
languageCode?: string
): Promise<T> => {
const response = await apiPost(
url,
apiKey,
body,
token,
signal,
languageCode
);
const responseBody = await response.text();
const result: T = skipReviver
? JSON.parse(responseBody)
: JSON.parse(responseBody, reviver);
return result;
};
export const patch = async <T>(
url: string,
apiKey: string,
body?: string | null,
token?: string,
signal?: AbortSignal,
skipReviver?: boolean,
languageCode?: string
): Promise<T> => {
const response = await apiPatch(
url,
apiKey,
body,
token,
signal,
languageCode
);
const responseBody = await response.text();
const result: T = skipReviver
? JSON.parse(responseBody)
: JSON.parse(responseBody, reviver);
return result;
};
export const get = async <T>(
url: string,
apiKey: string,
token?: string,
signal?: AbortSignal,
skipReviver?: boolean,
languageCode?: string
): Promise<T> => {
const response = await apiGet(url, apiKey, token, signal, languageCode);
const responseBody = await response.text();
const result: T = skipReviver
? JSON.parse(responseBody)
: JSON.parse(responseBody, reviver);
return result;
};