remove `ComponentEvent`

pull/7702/head
Ivan Hofer 4 years ago
parent 554dfbe134
commit 2bb594857a

@ -308,25 +308,7 @@ export type ComponentProps<Component extends SvelteComponent> = Component extend
* import type { ComponentEvents } from 'svelte'; * import type { ComponentEvents } from 'svelte';
* import Component from './Component.svelte'; * import Component from './Component.svelte';
* *
* type $$Events = ComponentEvents<Component>; * function handleCloseEvent(event: ComponentEvents<Component>['close']) {
* </script>
*
* <div class="wrapper">
* <Component on:close />
* </div>
* ```
*/
export type ComponentEvents<Component extends SvelteComponent> =
Component extends SvelteComponentTyped<any, infer Events> ? Events : never;
/**
* Convenience type to get an event the given component expects. Example:
* ```html
* <script lang="ts">
* import type { ComponentEvent } from 'svelte';
* import Component from './Component.svelte';
*
* function handleCloseEvent(event: ComponentEvent<Component, 'close'>) {
* console.log(event.detail); * console.log(event.detail);
* }; * };
* </script> * </script>
@ -334,9 +316,8 @@ export type ComponentEvents<Component extends SvelteComponent> =
* <Component on:close={handleCloseEvent} /> * <Component on:close={handleCloseEvent} />
* ``` * ```
*/ */
export type ComponentEvent<Component extends SvelteComponent, Name extends string> = Component extends SvelteComponentTyped<any, infer Events> export type ComponentEvents<Component extends SvelteComponent> =
? never extends Events[Name] ? CustomEvent<unknown> : Events[Name] Component extends SvelteComponentTyped<any, infer Events> ? Events : never;
: never;
export function loop_guard(timeout) { export function loop_guard(timeout) {
const start = Date.now(); const start = Date.now();

Loading…
Cancel
Save