Skip to content

Commit eca531f

Browse files
Merge branch 'elliott/resources' of github.com:sveltejs/svelte into elliott/resources
2 parents 141fd1e + 1a6b53b commit eca531f

File tree

4 files changed

+27
-32
lines changed

4 files changed

+27
-32
lines changed

packages/svelte/scripts/generate-types.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ await createBundle({
4242
[`${pkg.name}/easing`]: `${dir}/src/easing/index.js`,
4343
[`${pkg.name}/legacy`]: `${dir}/src/legacy/legacy-client.js`,
4444
[`${pkg.name}/motion`]: `${dir}/src/motion/public.d.ts`,
45-
[`${pkg.name}/reactivity`]: `${dir}/src/reactivity/index-client.js`,
45+
[`${pkg.name}/reactivity`]: `${dir}/src/reactivity/public.d.ts`,
4646
[`${pkg.name}/reactivity/window`]: `${dir}/src/reactivity/window/index.js`,
4747
[`${pkg.name}/server`]: `${dir}/src/server/index.d.ts`,
4848
[`${pkg.name}/store`]: `${dir}/src/store/public.d.ts`,
Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/** @import { Resource as ResourceType } from '#shared' */
21
export { SvelteDate } from './date.js';
32
export { SvelteSet } from './set.js';
43
export { SvelteMap } from './map.js';
@@ -9,8 +8,3 @@ export { createSubscriber } from './create-subscriber.js';
98
export { resource } from '../internal/client/reactivity/resource.js';
109
export { ReactiveCache } from '../internal/client/reactivity/cache.js';
1110
export { fetcher } from '../internal/client/reactivity/fetcher.js';
12-
13-
/**
14-
* @template T
15-
* @typedef {ResourceType<T>} Resource
16-
*/
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { Resource } from '../internal/shared/types';
2+
export * from './index-client';

packages/svelte/types/index.d.ts

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2195,7 +2195,28 @@ declare module 'svelte/motion' {
21952195
}
21962196

21972197
declare module 'svelte/reactivity' {
2198-
export type Resource<T> = Resource_1<T>;
2198+
export type Resource<T> = {
2199+
then: Promise<Awaited<T>>['then'];
2200+
catch: Promise<Awaited<T>>['catch'];
2201+
finally: Promise<Awaited<T>>['finally'];
2202+
refresh: () => Promise<void>;
2203+
set: (value: Awaited<T>) => void;
2204+
loading: boolean;
2205+
error: any;
2206+
} & (
2207+
| {
2208+
ready: false;
2209+
current: undefined;
2210+
}
2211+
| {
2212+
ready: true;
2213+
current: Awaited<T>;
2214+
}
2215+
);
2216+
2217+
type GetRequestInit = Omit<RequestInit, 'method' | 'body'> & { method?: 'GET' };
2218+
2219+
type CacheEntry = { count: number; item: any };
21992220
/**
22002221
* A reactive version of the built-in [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) object.
22012222
* Reading the date (whether with methods like `date.getTime()` or `date.toString()`, or via things like [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat))
@@ -2459,30 +2480,8 @@ declare module 'svelte/reactivity' {
24592480
* @since 5.7.0
24602481
*/
24612482
export function createSubscriber(start: (update: () => void) => (() => void) | void): () => void;
2462-
export function resource<T>(fn: () => T): Resource_1<T>;
2463-
export function fetcher<TReturn>(url: string | URL, init?: GetRequestInit | undefined): Resource_1<TReturn>;
2464-
type Resource_1<T> = {
2465-
then: Promise<Awaited<T>>['then'];
2466-
catch: Promise<Awaited<T>>['catch'];
2467-
finally: Promise<Awaited<T>>['finally'];
2468-
refresh: () => Promise<void>;
2469-
set: (value: Awaited<T>) => void;
2470-
loading: boolean;
2471-
error: any;
2472-
} & (
2473-
| {
2474-
ready: false;
2475-
current: undefined;
2476-
}
2477-
| {
2478-
ready: true;
2479-
current: Awaited<T>;
2480-
}
2481-
);
2482-
2483-
type GetRequestInit = Omit<RequestInit, 'method' | 'body'> & { method?: 'GET' };
2484-
2485-
type CacheEntry = { count: number; item: any };
2483+
export function resource<T>(fn: () => T): Resource<T>;
2484+
export function fetcher<TReturn>(url: string | URL, init?: GetRequestInit | undefined): Resource<TReturn>;
24862485
export function cache<TFn extends (...args: any[]) => any>(key: string, fn: TFn): ReturnType<TFn>;
24872486

24882487
export class CacheObserver<T> extends BaseCacheObserver<T> {

0 commit comments

Comments
 (0)