Skip to content

GramIO API Reference / gramio/dist / WithEventDerive

Type Alias: WithEventDerive<TThis, E, D>

WithEventDerive<TThis, E, D> = TThis extends EventComposer<infer TBase, infer TEventMap, infer TIn, infer TOut, infer TExposed, infer TDerives, infer TMethods, infer TMacros> ? EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives & { [K in E]: D }, TMethods, TMacros> & TMethods : never

Defined in: gramio/node_modules/composer/index.d.ts:440

Re-type a composer-like that has just added an event-specific derive of shape D keyed on event E. Updates TDerives[E], leaves global TOut unchanged.

Type Parameters

Type Parameter
TThis
E extends string
D extends object

Example

ts
class Scene extends SceneComposerBase {
  override derive<E extends MessageEventName, D extends object>(
    event: MaybeArray<E>,
    handler: DeriveHandler<EventContextOf<this, E>, D>,
  ): WithEventDerive<this, E, D> {
    super.derive(event as any, handler as any);
    return this as unknown as WithEventDerive<this, E, D>;
  }
}