Code Monkey home page Code Monkey logo

Comments (2)

laat avatar laat commented on August 16, 2024 1

Not sure if this is correct, but I've had success with this patch on this package.

diff --git a/Router.d.ts b/Router.d.ts
index e64617ba7997d48654331f3f44791e1d8230e8d0..773c82317d253c103896b83c06446c9c855fc5ce 100644
--- a/Router.d.ts
+++ b/Router.d.ts
@@ -1,6 +1,6 @@
 ///<reference types="svelte" />

-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<bool
 /** Object returned by the `wrap` method */
 export interface WrappedComponent {
     /** Component to load (this is always asynchronous) */
-    component: typeof SvelteComponent
+    component: ComponentType

     /** Route pre-conditions to validate */
     conditions?: RoutePrecondition[]
@@ -152,8 +152,8 @@ export const params: Readable<Record<string, string> | 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<string, typeof SvelteComponent | WrappedComponent> |
-    Map<string | RegExp, typeof SvelteComponent | WrappedComponent>
+export type RouteDefinition = Record<string, ComponentType | WrappedComponent> |
+    Map<string | RegExp, ComponentType | WrappedComponent>

 /** Generic interface for events from the router */
 interface RouterEvent<T> {

from svelte-spa-router.

lukyncze avatar lukyncze commented on August 16, 2024 1

@laat Nice, I haven't tried it yet, but I think it looks great! Can you maybe create a PR with these changes please? Thx :)

from svelte-spa-router.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.