Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
How can I do generic function with return TypedEmitter<T>

I want to make a tiny system that hold emitter for specific interface like this.

I am using https://github.com/binier/tiny-typed-emitter

Please help me what I am do wrong. Thanks you alot.

interface IEvenListener
{
}

interface IPlayerJoinedListener extends IEvenListener
{
    onPlayerJoined: (playerId: string) => void;
}

let emitter: TypedEmitter = ...;

function getEmitter<T extends IEvenListener>(): TypedEmitter<T> // error here
{
    return emitter as TypedEmitter<T>;
}

const messageEmitter = getEmitter<IPlayerJoinedListener>();

But it print out error

Type 'T' does not satisfy the constraint 'ListenerSignature<T>'.
Type 'IEvenListener' is not assignable to type 'ListenerSignature<T>'.ts(2344)
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

It should be

getEmitter<T extends ListenerSignature<T>>
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda