@airplane/views
Version:
A React library for building Airplane views. Views components are optimized in style and functionality to produce internal apps that are easy to build and maintain.
20 lines (19 loc) • 1.03 kB
TypeScript
import { DefaultOutput, ParamValues, DefaultParams } from "../../client/executeTask";
import { FullMutation, RunbookFullMutation } from "../../components/query";
import { RunbookMutationResult } from "./useRunbookMutation";
import { MutationResult } from "./useTaskMutation";
export type TaskOrRunbookMutationResult<TParams extends ParamValues | undefined = DefaultParams, TOutput = DefaultOutput> = {
type: "TASK";
result: MutationResult<TParams, TOutput>;
} | {
type: "RUNBOOK";
result: RunbookMutationResult<TParams>;
};
export type TaskOrRunbookFullMutation<TParams extends ParamValues | undefined = DefaultParams, TOutput = DefaultOutput> = {
mutation: FullMutation<TParams, TOutput>;
type: "TASK";
} | {
mutation: RunbookFullMutation<TParams>;
type: "RUNBOOK";
};
export declare const useTaskOrRunbookMutation: <TParams extends ParamValues | undefined = DefaultParams, TOutput = any>(mutation: TaskOrRunbookFullMutation<TParams, TOutput>) => TaskOrRunbookMutationResult<TParams, TOutput>;