Raiondesu / eventhoven

Event manager that composes events effortlessly 🎵
https://www.npmjs.com/package/eventhoven
MIT License
5 stars 1 forks source link

Incorrect context type in handlers #49

Open Raiondesu opened 4 years ago

Raiondesu commented 4 years ago

Describe the bug The type of the event context (TEventContext) is not inferred correctly in event handlers passed to subscribe function.


To Reproduce

import { eventMap, on } from 'eventhoven';

const map = eventMap({
  event(_): 42 { return 42; }
});

on(map)('event')(ctx => {
  ctx.event; // string | number | symbol
  ctx.unsubscribe // TUnsubscribe
});

Expected behavior

import { eventMap, on } from 'eventhoven';

const map = eventMap({
  event(_): 42 { return 42; }
});

on(map)('event')(ctx => {
  ctx.event; // 'event'
  ctx.unsubscribe // TUnsubscribe<'event'>
});

Environment (please complete the following information):