diff --git a/Router.d.ts b/Router.d.ts index e64617b..c2a609c 100644 --- a/Router.d.ts +++ b/Router.d.ts @@ -1,6 +1,6 @@ /// -import {SvelteComponent} from 'svelte' +import {SvelteComponent, ComponentType} from 'svelte' import {Readable} from 'svelte/store' /** Dictionary with route details passed to the pre-conditions functions, as well as the `routeLoading` and `conditionsFailed` events */ @@ -24,7 +24,7 @@ export interface RouteDetail { /** Detail object for the `routeLoaded` event */ export interface RouteDetailLoaded extends RouteDetail { /** Svelte component */ - component: typeof SvelteComponent + component: ComponentType /** Name of the Svelte component that was loaded (note: might be minified in production) */ name: string @@ -34,7 +34,7 @@ export interface RouteDetailLoaded extends RouteDetail { * This is a Svelte component loaded asynchronously. * It's meant to be used with the `import()` function, such as `() => import('Foo.svelte')}` */ -export type AsyncSvelteComponent = () => Promise<{default: typeof SvelteComponent}> +export type AsyncSvelteComponent = () => Promise<{default: ComponentType}> /** * Route pre-condition function. This is a callback that receives a RouteDetail object as argument containing information on the route that we're trying to load. @@ -50,7 +50,7 @@ export type RoutePrecondition = (detail: RouteDetail) => (boolean | Promise | undefined> // Note: the above is implemented as writable but exported as readable because consumers should not modify the value /** List of routes */ -export type RouteDefinition = Record | - Map +export type RouteDefinition = Record | + Map /** Generic interface for events from the router */ interface RouterEvent { diff --git a/wrap.d.ts b/wrap.d.ts index 926fd02..e979dd7 100644 --- a/wrap.d.ts +++ b/wrap.d.ts @@ -1,16 +1,16 @@ -import {SvelteComponent} from 'svelte' +import {ComponentType} from 'svelte' import {AsyncSvelteComponent, RoutePrecondition, WrappedComponent} from './Router' /** Options object for the call to `wrap` */ export interface WrapOptions { - /** Svelte component to load (this is incompatible with `asyncComponent`) */ - component?: typeof SvelteComponent + /** Svelte component to load (this is incompatible with `asyncComponent`) */ + component?: ComponentType /** Function that returns a Promise that fulfills with a Svelte component (e.g. `{asyncComponent: () => import('Foo.svelte')}`) */ asyncComponent?: AsyncSvelteComponent /** Svelte component to be displayed while the async route is loading (as a placeholder); when unset or false-y, no component is shown while component */ - loadingComponent?: typeof SvelteComponent + loadingComponent?: ComponentType /** Optional dictionary passed to the `loadingComponent` component as params (for an exported prop called `params`) */ loadingParams?: object @@ -32,7 +32,7 @@ export interface WrapOptions { * 2. Adding route pre-conditions (e.g. `{conditions: [...]}`) * 3. Adding static props that are passed to the component * 4. Adding custom userData, which is passed to route events (e.g. route loaded events) or to route pre-conditions (e.g. `{userData: {foo: 'bar}}`) - * + * * @param args Arguments object * @returns Wrapped component */