register<T> method
void
register<T>(
- Listenable constructor()
Implementation
void register<T>(Listenable Function() constructor) {
final instance = constructor();
return switch (instance) {
final CommandContract command => _commands.addCommand(command.build()),
final GlobalState state => _kernel.globalState.register<T>(state as T),
final Provider provider => _kernel.providerManager.register(provider),
final ListenableEvent event => _kernel.eventListener.listen(
event: event.event,
handle: (instance as dynamic).handle as Function,
customId: event.customId),
final InteractiveComponent component =>
_kernel.interactiveComponent.register(component),
_ => throw UnimplementedError(),
};
}