mirror of https://github.com/sveltejs/svelte
44 lines
1.3 KiB
44 lines
1.3 KiB
import { createEventDispatcher } from '$runtime/internal/lifecycle';
|
|
|
|
const dispatch = createEventDispatcher<{
|
|
loaded: never
|
|
change: string
|
|
valid: boolean
|
|
optional: number | null
|
|
}>();
|
|
|
|
// @ts-expect-error: dispatch invalid event
|
|
dispatch('some-event');
|
|
|
|
dispatch('loaded');
|
|
dispatch('loaded', null);
|
|
dispatch('loaded', undefined);
|
|
dispatch('loaded', undefined, { cancelable: true });
|
|
// @ts-expect-error: no detail accepted
|
|
dispatch('loaded', 123);
|
|
|
|
// @ts-expect-error: detail not provided
|
|
dispatch('change');
|
|
dispatch('change', 'string');
|
|
dispatch('change', 'string', { cancelable: true });
|
|
// @ts-expect-error: wrong type of detail
|
|
dispatch('change', 123);
|
|
// @ts-expect-error: wrong type of detail
|
|
dispatch('change', undefined);
|
|
|
|
dispatch('valid', true);
|
|
dispatch('valid', true, { cancelable: true });
|
|
// @ts-expect-error: wrong type of detail
|
|
dispatch('valid', 'string');
|
|
|
|
dispatch('optional');
|
|
dispatch('optional', 123);
|
|
dispatch('optional', 123, { cancelable: true });
|
|
dispatch('optional', null);
|
|
dispatch('optional', undefined);
|
|
dispatch('optional', undefined, { cancelable: true });
|
|
// @ts-expect-error: wrong type of optional detail
|
|
dispatch('optional', 'string');
|
|
// @ts-expect-error: wrong type of option
|
|
dispatch('optional', undefined, { cancelabled: true });
|