@shopify/cli-kit
Version:
A set of utilities, interfaces, and models that are common across all the platform features
20 lines (19 loc) • 702 B
TypeScript
import { AbortSignal } from '../../../../public/node/abort.js';
import React from 'react';
export interface Task<TContext = unknown> {
title: string;
task: (ctx: TContext, task: Task<TContext>) => Promise<void | Task<TContext>[]>;
retry?: number;
retryCount?: number;
errors?: Error[];
skip?: (ctx: TContext) => boolean;
}
interface TasksProps<TContext> {
tasks: Task<TContext>[];
silent?: boolean;
onComplete?: (ctx: TContext) => void;
abortSignal?: AbortSignal;
noColor?: boolean;
}
declare function Tasks<TContext>({ tasks, silent, onComplete, abortSignal, noColor, }: React.PropsWithChildren<TasksProps<TContext>>): JSX.Element | null;
export { Tasks };