Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

How to declare type of event parameter when listen for event

Abierto
#188 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
nuxtjs, typescript

Línea de trabajo

Empieza por plugins/event-bus.ts y la llamada al listener de mitt mostrada en el issue; después, lee las declaraciones de TypeScript de mitt y la documentación pertinente. Determina si la tipificación del parámetro del evento indicada puede admitirse o documentarse para este uso. Se considera terminado cuando el enfoque compatible o la limitación estén registrados claramente y el error de tipos del ejemplo se haya corregido o explicado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hello,

I am using mitt 3.0.1 for my Nuxt app (nuxt 3.6.5). I use event-bus to emit/listen for the whole app:

File plugins/event-bus.ts

import mitt from 'mitt';

export default defineNuxtPlugin(() => {
  const emitter = mitt();

  return {
    provide: {
      event: emitter.emit, // Will emit an event
      listen: emitter.on, // Will register a listener for an event
    },
  };
});

I am currently not able to declare event when I listen for event in my components. I have to use type "any" but this break out type safety rules.

$listen('component:display', (event: any) => {
  // here the param I want to declare a specific type rather than type "any"
  // like event: {id?: string; value?: string}
});

I already tried assigned a sepecific type but it throw error:

$listen('component:display', (event:{id?: string; value?: string}) => {
  //
});

ERROR: No overload matches this call.
  Overload 1 of 2, '(type: "*", handler: WildcardHandler<Record<EventType, unknown>>): void', gave the following error.
  Overload 2 of 2, '(type: "component:display", handler: Handler<unknown>): void', gave the following error.ts(2769)

It's now allowed to use flag @ts-ignore in my app so I don't know how to solve this now.
I search on document but it seems no mention about this so I hope to receive any advice on this.
Thank you so much.

Lenguaje dominante
TypeScript
Estrellas
11.9k
Forks
490
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de developit/mitt

Todos los issues de developit/mitt

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.