Class SvelteComponent<Props, Events, Slots>

Base class for Svelte components with some minor dev-enhancements. Used when dev=true.

Can be used to create strongly typed Svelte components.

You have component library on npm called component-library, from which you export a component called MyComponent. For Svelte+TypeScript users, you want to provide typings. Therefore you create a index.d.ts:

import { SvelteComponent } from "svelte";
export class MyComponent extends SvelteComponent<{foo: string}> {}

Typing this makes it possible for IDEs like VS Code with the Svelte extension to provide intellisense and to use the component like this in a Svelte file with TypeScript:

<script lang="ts">
import { MyComponent } from "component-library";
</script>
<MyComponent foo={'bar'} />

Type Parameters

  • Props extends Record<string, any> = any
  • Events extends Record<string, any> = any
  • Slots extends Record<string, any> = any
Hierarchy

Indexable

  • [prop: string]: any

Constructors

Methods

Constructors

Methods

  • Type Parameters

    • K extends string

    Parameters

    • type: K
    • callback: ((e: Events[K]) => void)
        • (e): void
        • Parameters

          Returns void

    Returns (() => void)

      • (): void
      • Returns void