Add types for TaskType to TaskHook

Pre-commit

Apply better naming to task api hooks

Lint
This commit is contained in:
rjmacarthy
2023-01-27 19:09:28 +00:00
parent e6009933db
commit bf77d4dc60
3 changed files with 31 additions and 4 deletions
+26
View File
@@ -0,0 +1,26 @@
import { MutatorCallback, MutatorOptions } from "swr";
import { BaseTask, TaskResponse, TaskType } from "./Task";
type ConcreteTaskResponse = TaskResponse<BaseTask>;
type TaskError = { errorCode: number; message: string };
type Trigger = (
extraArgument?: unknown,
options?: MutatorOptions<ConcreteTaskResponse>
) => Promise<ConcreteTaskResponse>;
type Reset = (
data?: ConcreteTaskResponse | Promise<ConcreteTaskResponse> | MutatorCallback<ConcreteTaskResponse>,
opts?: boolean | MutatorOptions<ConcreteTaskResponse>
) => Promise<ConcreteTaskResponse>;
type TaskAPIHook = {
tasks: TaskResponse<BaseTask>[];
isLoading: boolean;
error: TaskError;
trigger: Trigger;
reset: Reset;
};
export type TaskApiHooks = Record<TaskType, (args: TaskType) => TaskAPIHook>;