Rename asyncRefresh to asyncReactive

This commit is contained in:
Henrik Giesel 2021-03-21 21:38:23 +01:00
parent 75a8b7d318
commit e11b31c29d
2 changed files with 5 additions and 7 deletions

View file

@ -1,6 +1,6 @@
import { Readable, readable, derived } from "svelte/store"; import { Readable, readable, derived } from "svelte/store";
export interface AsyncData<T, E> { interface AsyncData<T, E> {
value: Readable<T | null>; value: Readable<T | null>;
error: Readable<E | null>; error: Readable<E | null>;
pending: Readable<boolean>; pending: Readable<boolean>;

View file

@ -1,6 +1,6 @@
import { Readable, readable, derived } from "svelte/store"; import { Readable, readable, derived } from "svelte/store";
interface AsyncRefreshData<T, E> { interface AsyncReativeData<T, E> {
value: Readable<T | null>; value: Readable<T | null>;
error: Readable<E | null>; error: Readable<E | null>;
pending: Readable<boolean>; pending: Readable<boolean>;
@ -8,10 +8,10 @@ interface AsyncRefreshData<T, E> {
loading: Readable<boolean>; loading: Readable<boolean>;
} }
function useAsyncRefresh<T, E>( function useAsyncReactive<T, E>(
asyncFunction: () => Promise<T>, asyncFunction: () => Promise<T>,
dependencies: [Readable<unknown>, ...Readable<unknown>[]] dependencies: [Readable<unknown>, ...Readable<unknown>[]]
): AsyncRefreshData<T, E> { ): AsyncReativeData<T, E> {
const initial = asyncFunction(); const initial = asyncFunction();
const promise = derived(dependencies, (_, set) => set(asyncFunction()), initial); const promise = derived(dependencies, (_, set) => set(asyncFunction()), initial);
@ -19,7 +19,6 @@ function useAsyncRefresh<T, E>(
promise, promise,
($promise, set: (value: T | null) => void) => { ($promise, set: (value: T | null) => void) => {
$promise.then((value: T) => set(value)); $promise.then((value: T) => set(value));
return () => set(null);
}, },
null null
); );
@ -28,7 +27,6 @@ function useAsyncRefresh<T, E>(
promise, promise,
($promise, set: (error: E | null) => void) => { ($promise, set: (error: E | null) => void) => {
$promise.catch((error: E) => set(error)); $promise.catch((error: E) => set(error));
return () => set(null);
}, },
null null
); );
@ -58,4 +56,4 @@ function useAsyncRefresh<T, E>(
return { value, error, pending, loading, success }; return { value, error, pending, loading, success };
} }
export default useAsyncRefresh; export default useAsyncReactive;