@m3r/sdk 0.5.0
ctx.subscriptions
Tudo que on() devolve entra aqui. O runtime dispose depois do deactivate.
ctx.events.on e ctx.entryPoints.on devolvem um Disposable. Empilhe no store — não guarde numa variável para “lembrar de limpar”.
add devolve o mesmo objeto. dispose() e unsubscribe() (eventos) são equivalentes.
Ciclo
activate— só aqui você registra.- Extensão running — handlers vivos.
deactivate— você solta timer/socket seu.- Runtime chama
subscriptions.disposeAll()depois dodeactivate. - Um
disposeque joga não bloqueia os outros.
Pode / não pode
Pode
addde umDisposablepróprio, por exemplo{ dispose: () => clearInterval(id) }.- Chamar
addvárias vezes.
Não pode
- Registrar
on()nodeactivate. dispose()na mão o que já está no store (o runtime faz).- Esquecer o
add: o handler vaza até o processo morrer.
