mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-15 06:33:55 +01:00
Merge pull request #23284 from overleaf/ae-scope-event-types
Improve scope event types GitOrigin-RevId: 5327c56a14244a2513748d3bcbac04413d104e12
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
import { useCallback } from 'react'
|
||||
import { useIdeContext } from '../context/ide-context'
|
||||
import { ScopeEventName } from '../../../../types/ide/scope-event-emitter'
|
||||
import { IdeEvents } from '@/features/ide-react/create-ide-event-emitter'
|
||||
|
||||
export default function useScopeEventEmitter(
|
||||
eventName: ScopeEventName,
|
||||
export default function useScopeEventEmitter<T extends ScopeEventName>(
|
||||
eventName: T,
|
||||
broadcast = true
|
||||
) {
|
||||
const { scopeEventEmitter } = useIdeContext()
|
||||
|
||||
return useCallback(
|
||||
(...detail: unknown[]) => {
|
||||
(...detail: IdeEvents[T]) => {
|
||||
scopeEventEmitter.emit(eventName, broadcast, ...detail)
|
||||
},
|
||||
[scopeEventEmitter, eventName, broadcast]
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { useEffect } from 'react'
|
||||
import { useIdeContext } from '../context/ide-context'
|
||||
import { ScopeEventName } from '../../../../types/ide/scope-event-emitter'
|
||||
import { IdeEvents } from '@/features/ide-react/create-ide-event-emitter'
|
||||
|
||||
export default function useScopeEventListener(
|
||||
eventName: ScopeEventName,
|
||||
listener: (...args: unknown[]) => void
|
||||
export default function useScopeEventListener<T extends ScopeEventName>(
|
||||
eventName: T,
|
||||
listener: (event: Event, ...args: IdeEvents[T]) => void
|
||||
) {
|
||||
const { scopeEventEmitter } = useIdeContext()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user