UNPKG

@waline/client

Version:

client for waline comment system

42 lines (36 loc) 970 B
import { errorCheck, ErrorStatusResponse } from './utils'; import type { BaseAPIOptions } from './utils'; import type { WalineComment } from '../typings'; export interface GetUserListOptions extends BaseAPIOptions { /** * 每页个数 * * Number per page */ pageSize: number; /** * 取消请求的信号 * * AbortSignal to cancel request */ signal?: AbortSignal; } export interface WalineUser extends Pick<WalineComment, 'nick' | 'link' | 'avatar' | 'label' | 'level'> { count: number; } export interface GetUserListResponse extends ErrorStatusResponse { data: WalineUser[]; } export const getUserList = ({ serverURL, signal, pageSize, lang, }: GetUserListOptions): Promise<WalineUser[]> => fetch(`${serverURL}/user?pageSize=${pageSize}&lang=${lang}`, { signal, }) .then((resp) => <Promise<GetUserListResponse>>resp.json()) .then((resp) => errorCheck(resp, 'user list')) .then((resp) => resp.data);