pull/17124/head
Elliott Johnson 3 weeks ago
parent 598dc30297
commit 2c08d4f0bc

@ -6,10 +6,10 @@ import { deferred } from '../../shared/utils.js';
/** /**
* @template T * @template T
* @param {() => T} fn * @param {() => T} fn
* @returns {ResourceType<Awaited<T>>} * @returns {ResourceType<T>}
*/ */
export function resource(fn) { export function resource(fn) {
return /** @type {ResourceType<Awaited<T>>} */ (new Resource(fn)); return /** @type {ResourceType<T>} */ (new Resource(fn));
} }
/** /**

@ -3,10 +3,10 @@
/** /**
* @template T * @template T
* @param {() => T} fn * @param {() => T} fn
* @returns {ResourceType<Awaited<T>>} * @returns {ResourceType<T>}
*/ */
export function resource(fn) { export function resource(fn) {
return /** @type {ResourceType<Awaited<T>>} */ (new Resource(fn)); return /** @type {ResourceType<T>} */ (new Resource(fn));
} }
/** /**

@ -26,11 +26,11 @@ export type Transport<T> =
}; };
export type Resource<T> = { export type Resource<T> = {
then: Promise<T>['then']; then: Promise<Awaited<T>>['then'];
catch: Promise<T>['catch']; catch: Promise<Awaited<T>>['catch'];
finally: Promise<T>['finally']; finally: Promise<Awaited<T>>['finally'];
refresh: () => Promise<void>; refresh: () => Promise<void>;
set: (value: T) => void; set: (value: Awaited<T>) => void;
loading: boolean; loading: boolean;
error: any; error: any;
} & ( } & (
@ -40,7 +40,7 @@ export type Resource<T> = {
} }
| { | {
ready: true; ready: true;
current: T; current: Awaited<T>;
} }
); );

Loading…
Cancel
Save