@sheepdog/svelte
Advanced tools
Comparing version 0.6.1 to 0.7.0
@@ -0,3 +1,4 @@ | ||
import { didCancel, timeout } from './utils'; | ||
import { task, CancelationError } from './task.js'; | ||
export type { Task, SheepdogUtils, TaskDerivedState } from './task.js'; | ||
export { task, CancelationError }; | ||
export type { Task, SheepdogUtils, TaskInstance } from './task.js'; | ||
export { task, CancelationError, didCancel, timeout }; |
// Reexport your entry components here | ||
import { didCancel, timeout } from './utils'; | ||
import { task, CancelationError } from './task.js'; | ||
export { task, CancelationError }; | ||
export { task, CancelationError, didCancel, timeout }; |
@@ -6,3 +6,3 @@ import { CancelationError } from './core'; | ||
export type Task<TArgs = unknown, TReturn = unknown> = ReturnType<typeof task<TArgs, TReturn>>; | ||
export type TaskDerivedState<TReturn = undefined> = { | ||
export type TaskInstance<TReturn = undefined> = { | ||
error?: undefined | unknown; | ||
@@ -15,3 +15,3 @@ isCanceled: boolean; | ||
}; | ||
export declare function _task<TArgs = unknown, TReturn = undefined>(gen_or_fun: (args: TArgs, utils: SheepdogUtils) => Promise<TReturn> | AsyncGenerator<unknown, TReturn, unknown>, options?: TaskOptions): { | ||
declare function _task<TArgs = unknown, TReturn = undefined>(gen_or_fun: (args: TArgs, utils: SheepdogUtils) => Promise<TReturn> | AsyncGenerator<unknown, TReturn, unknown>, options?: TaskOptions): { | ||
cancelAll(): void; | ||
@@ -24,17 +24,15 @@ perform(...args: undefined extends TArgs ? [] : [TArgs]): Promise<TReturn> & { | ||
isRunning: boolean; | ||
last: undefined | TaskDerivedState<TReturn>; | ||
lastCanceled: undefined | TaskDerivedState<TReturn>; | ||
lastErrored: undefined | TaskDerivedState<TReturn>; | ||
lastRunning: undefined | TaskDerivedState<TReturn>; | ||
lastSuccessful: undefined | TaskDerivedState<TReturn>; | ||
results: TReturn[]; | ||
last: undefined | TaskInstance<TReturn>; | ||
lastCanceled: undefined | TaskInstance<TReturn>; | ||
lastErrored: undefined | TaskInstance<TReturn>; | ||
lastRunning: undefined | TaskInstance<TReturn>; | ||
lastSuccessful: undefined | TaskInstance<TReturn>; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: undefined | TaskDerivedState<TReturn>; | ||
lastCanceled: undefined | TaskDerivedState<TReturn>; | ||
lastErrored: undefined | TaskDerivedState<TReturn>; | ||
lastRunning: undefined | TaskDerivedState<TReturn>; | ||
lastSuccessful: undefined | TaskDerivedState<TReturn>; | ||
results: TReturn[]; | ||
last: undefined | TaskInstance<TReturn>; | ||
lastCanceled: undefined | TaskInstance<TReturn>; | ||
lastErrored: undefined | TaskInstance<TReturn>; | ||
lastRunning: undefined | TaskInstance<TReturn>; | ||
lastSuccessful: undefined | TaskInstance<TReturn>; | ||
performCount: number; | ||
@@ -41,0 +39,0 @@ }> | undefined) => import("svelte/store").Unsubscriber; |
@@ -5,4 +5,3 @@ import { onDestroy } from 'svelte'; | ||
export { CancelationError }; | ||
export function _task(gen_or_fun, options) { | ||
const results = []; | ||
function _task(gen_or_fun, options) { | ||
const { subscribe, ...result } = writable({ | ||
@@ -15,3 +14,2 @@ isRunning: false, | ||
lastSuccessful: undefined, | ||
results, | ||
performCount: 0, | ||
@@ -81,3 +79,2 @@ }); | ||
onInstanceComplete(instance_id, last_result) { | ||
results.push(last_result); | ||
const instance = instances.get(instance_id); | ||
@@ -84,0 +81,0 @@ if (instance) { |
@@ -16,17 +16,15 @@ import { SvelteComponent } from "svelte"; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -43,17 +41,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -82,17 +78,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -109,17 +103,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -126,0 +118,0 @@ }> | undefined) => import("svelte/store").Unsubscriber; |
@@ -17,17 +17,15 @@ import { SvelteComponent } from "svelte"; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -44,17 +42,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -83,17 +79,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -110,17 +104,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -127,0 +119,0 @@ }> | undefined) => import("svelte/store").Unsubscriber; |
@@ -17,17 +17,15 @@ import { SvelteComponent } from "svelte"; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -44,17 +42,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -83,17 +79,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -110,17 +104,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -127,0 +119,0 @@ }> | undefined) => import("svelte/store").Unsubscriber; |
@@ -17,17 +17,15 @@ import { SvelteComponent } from "svelte"; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -44,17 +42,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -83,17 +79,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -110,17 +104,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -127,0 +119,0 @@ }> | undefined) => import("svelte/store").Unsubscriber; |
@@ -17,17 +17,15 @@ import { SvelteComponent } from "svelte"; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -44,17 +42,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -83,17 +79,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -110,17 +104,15 @@ }> | undefined) => import("svelte/store").Unsubscriber; | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
}>, invalidate?: import("svelte/store").Invalidator<{ | ||
isRunning: boolean; | ||
last: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastErrored: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastRunning: import("../../task").TaskDerivedState<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskDerivedState<unknown> | undefined; | ||
results: unknown[]; | ||
last: import("../../task").TaskInstance<unknown> | undefined; | ||
lastCanceled: import("../../task").TaskInstance<unknown> | undefined; | ||
lastErrored: import("../../task").TaskInstance<unknown> | undefined; | ||
lastRunning: import("../../task").TaskInstance<unknown> | undefined; | ||
lastSuccessful: import("../../task").TaskInstance<unknown> | undefined; | ||
performCount: number; | ||
@@ -127,0 +119,0 @@ }> | undefined) => import("svelte/store").Unsubscriber; |
{ | ||
"name": "@sheepdog/svelte", | ||
"version": "0.6.1", | ||
"version": "0.7.0", | ||
"repository": { | ||
@@ -55,3 +55,3 @@ "type": "git", | ||
"eslint-plugin-playwright": "^1.6.1", | ||
"eslint-plugin-svelte": "2.39.0", | ||
"eslint-plugin-svelte": "2.41.0", | ||
"globals": "^15.2.0", | ||
@@ -58,0 +58,0 @@ "happy-dom": "^14.11.0", |
108
README.md
@@ -27,8 +27,21 @@ # @sheepdog/svelte | ||
- `error`: Error - if an error occurred, it will be returned here, | ||
- `isRunning`: Boolean - whether the task is currently running or not | ||
- `lastSuccessful`: Any - the return value from the last successful run of the task | ||
- `last`: TaskInstance | undefined - the last task instance, regardless of whether it errored, was canceled, or was successful | ||
- `lastCanceled`: TaskInstance | undefined - the last canceled task instance | ||
- `lastErrored`: TaskInstance | undefined - the last errored task instance | ||
- `lastRunning`: TaskInstance | undefined - the last running task instance, as soon as the task stops running, this will be undefined | ||
- `lastSuccessful`: TaskInstance | undefined - the last successful task instance | ||
- `performCount`: Number - the number of times the task has been run, | ||
- `results`: Array - all of the results from previous invocations of this task, | ||
## Task Instance | ||
All TaskInstances will have the same structure: | ||
- `error`: undefined | unknown - if an error is thrown inside the task instance, it will be found here | ||
- `isCanceled`: boolean - whether the task instance was canceled | ||
- `isError`: boolean - whether the task instance throw an error before completing | ||
- `isRunning`: boolean - whether the task instance is currently running | ||
- `isSuccessful`: boolean - whether the task instance completed successfully | ||
- `value`: undefined | TReturn - if the task instance completed successfully, this will be the return value | ||
## Task types | ||
@@ -50,6 +63,6 @@ | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task(async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -64,7 +77,7 @@ }); | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -83,7 +96,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task.restart( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -100,7 +113,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -121,7 +134,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task.drop( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -138,7 +151,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -159,7 +172,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task.enqueue( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -176,7 +189,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -197,7 +210,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task.keepLatest( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -214,7 +227,7 @@ }, | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task( | ||
async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -231,10 +244,10 @@ }, | ||
As the return value from the task wrapper is a store, you can access it just like you would with any other store: | ||
As the return value from the task wrapper is a store, you can access it just like you would with any other store (check the [Task Instance](#task-instance) section for more detail about what to expect): | ||
```svelte | ||
<script> | ||
import { task } from '@sheepdog/svelte'; | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task(async (param: number) => { | ||
await new Promise((r) => setTimeout(r, 2000)); | ||
await timeout(2000); | ||
return param * 2; | ||
@@ -244,7 +257,5 @@ }); | ||
{$myTask.error} | ||
{$myTask.isRunning} | ||
{$myTask.lastSuccessful} | ||
{$myTask.last.value} | ||
{$myTask.performCount} | ||
{$myTask.results} | ||
``` | ||
@@ -331,2 +342,41 @@ | ||
## Utility functions | ||
### didCancel | ||
When a task is canceled, it will throw a `CancelationError` when it aborts the current controller. Though this can be useful, it's not something we ever want to show to the end user. | ||
For this reason we expose `didCancel` which allows us to distinguish an actual error from one thrown internally by `sheepdog`. | ||
```ts | ||
import { didCancel } from '@sheepdog/svelte'; | ||
const parent_task = task(async () => { | ||
const res = await fetch('...'); | ||
return res; | ||
}); | ||
parent_task.perform().catch((e) => { | ||
// return early if it's sheepdog cancelation error | ||
if (didCancel(e)) return; | ||
// do something with the actual error from our task | ||
}); | ||
``` | ||
In this example, our `fetch` call might throw an error or our task might be canceled. With `didCancel` we can check the error and ignore any cancelation errors, while doing something meaningful with any real errors that come from our task. | ||
### timeout | ||
The `timeout` function provides a convenient way to wait for a certain amount of milliseconds. Its implementation comes down to a promisified `setTimeout` call. | ||
```ts | ||
import { task, timeout } from '@sheepdog/svelte'; | ||
const myTask = task(async () => { | ||
await timeout(500); | ||
const res = await fetch('...'); | ||
return res; | ||
}); | ||
``` | ||
## Contributing | ||
@@ -333,0 +383,0 @@ |
97091
84
375
1690