Skip to content

GramIO API Reference / @gramio/composer/dist / EventComposer

Interface: EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives, TMethods, TMacros>

Defined in: composer/index.d.ts:277

EventComposer interface — Composer + .on() + per-event derive tracking + custom methods

Type Parameters

Type ParameterDefault type
TBase extends object-
TEventMap extends Record<string, TBase>-
TIn extends TBaseTBase
TOut extends TInTIn
TExposed extends objectobject
TDerives extends Record<string, object>object
TMethods extends Record<string, (...args) => any>object
TMacros extends MacroDefinitionsobject

Properties

PropertyTypeDescriptionDefined in
~object-composer/index.d.ts:324
~.commandsMetaMap<string, unknown>-composer/index.d.ts:337
~.compiledComposedMiddleware<any>-composer/index.d.ts:328
~.DerivesTDerives-composer/index.d.ts:338
~.errorsDefinitionsRecord<string, {(...args): any; prototype: Error; }>-composer/index.d.ts:331
~.extendedSet<string>-composer/index.d.ts:327
~.macrosRecord<string, MacroDef<any, any>>-composer/index.d.ts:336
~.middlewaresScopedMiddleware<any>[]-composer/index.d.ts:325
~.namestring-composer/index.d.ts:329
~.onErrorsErrorHandler<any>[]-composer/index.d.ts:326
~.OutTOutPhantom type accessor — never set at runtime, used by ContextOf<T>composer/index.d.ts:340
~.seedunknown-composer/index.d.ts:330
~.tracerTraceHandler-composer/index.d.ts:335
callbackQuery<TThis, Trigger>(this, trigger, handler, macroOptions?) => TThis-gramio/index.d.ts:214
chosenInlineResult<TThis>(this, trigger, handler, macroOptions?) => TThis-gramio/index.d.ts:219
command<TThis>(this, command, handlerOrMeta, handlerOrOptions?, macroOptions?) => TThis-gramio/index.d.ts:215
hears<TThis>(this, trigger, handler, macroOptions?) => TThis-gramio/index.d.ts:216
inlineQuery<TThis>(this, trigger, handler, options?) => TThis-gramio/index.d.ts:218
reaction<TThis>(this, trigger, handler, macroOptions?) => TThis-gramio/index.d.ts:217
startParameter<TThis>(this, parameter, handler, macroOptions?) => TThis-gramio/index.d.ts:220

Methods

as()

as(scope): EventComposer<TBase, TEventMap, TIn, TOut, TOut, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:312

Parameters

ParameterType
scope"global" | "scoped"

Returns

EventComposer<TBase, TEventMap, TIn, TOut, TOut, TDerives, TMethods, TMacros> & TMethods


branch()

branch(predicate, onTrue, onFalse?): this

Defined in: composer/index.d.ts:287

Parameters

ParameterType
predicateboolean | ((context) => boolean | Promise<boolean>)
onTrueMiddleware<TOut>
onFalse?Middleware<TOut>

Returns

this


compose()

compose(): ComposedMiddleware<TIn>

Defined in: composer/index.d.ts:322

Returns

ComposedMiddleware<TIn>


decorate()

Call Signature

decorate<D>(values): EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:300

Type Parameters
Type Parameter
D extends object
Parameters
ParameterType
valuesD
Returns

EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed, TDerives, TMethods, TMacros> & TMethods

Call Signature

decorate<D>(values, options): EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed & D, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:301

Type Parameters
Type Parameter
D extends object
Parameters
ParameterType
valuesD
options{ as: "global" | "scoped"; }
options.as"global" | "scoped"
Returns

EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed & D, TDerives, TMethods, TMacros> & TMethods


derive()

Call Signature

derive<D>(handler): EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:304

Type Parameters
Type Parameter
D extends object
Parameters
ParameterType
handlerDeriveHandler<TOut, D>
Returns

EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed, TDerives, TMethods, TMacros> & TMethods

Call Signature

derive<D>(handler, options): EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed & D, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:305

Type Parameters
Type Parameter
D extends object
Parameters
ParameterType
handlerDeriveHandler<TOut, D>
options{ as: "global" | "scoped"; }
options.as"global" | "scoped"
Returns

EventComposer<TBase, TEventMap, TIn, TOut & D, TExposed & D, TDerives, TMethods, TMacros> & TMethods

Call Signature

derive<E, D>(event, handler): EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives & { [K in string]: D }, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:308

Type Parameters
Type Parameter
E extends string
D extends object
Parameters
ParameterType
eventMaybeArray<E>
handlerDeriveHandler<ResolveEventCtx<TOut, TEventMap, TDerives, E>, D>
Returns

EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives & { [K in string]: D }, TMethods, TMacros> & TMethods


error()

error(kind, errorClass): this

Defined in: composer/index.d.ts:295

Parameters

ParameterType
kindstring
errorClass{(...args): any; prototype: Error; }
errorClass.prototypeError

Returns

this


extend()

Call Signature

extend<UIn, UOut, UExposed, UDerives, UMacros>(other): EventComposer<TBase, TEventMap, TIn, TOut & UExposed, TExposed, TDerives & UDerives, TMethods, TMacros & UMacros> & TMethods

Defined in: composer/index.d.ts:313

Type Parameters
Type ParameterDefault type
UIn extends object-
UOut extends object-
UExposed extends object-
UDerives extends Record<string, object>-
UMacros extends MacroDefinitionsobject
Parameters
ParameterType
otherEventComposer<TBase, TEventMap, UIn, UOut, UExposed, UDerives, any, UMacros>
Returns

EventComposer<TBase, TEventMap, TIn, TOut & UExposed, TExposed, TDerives & UDerives, TMethods, TMacros & UMacros> & TMethods

Call Signature

extend<UIn, UOut, UExposed, UMacros>(other): EventComposer<TBase, TEventMap, TIn, TOut & UExposed, TExposed, TDerives, TMethods, TMacros & UMacros> & TMethods

Defined in: composer/index.d.ts:314

Type Parameters
Type ParameterDefault type
UIn extends object-
UOut extends object-
UExposed extends object-
UMacros extends MacroDefinitionsobject
Parameters
ParameterType
otherComposer<UIn, UOut, UExposed, UMacros>
Returns

EventComposer<TBase, TEventMap, TIn, TOut & UExposed, TExposed, TDerives, TMethods, TMacros & UMacros> & TMethods

Call Signature

extend<P>(plugin): EventComposer<TBase, TEventMap, TIn, TOut & P["_"]["Derives"]["global"], TExposed, TDerives & Omit<P["_"]["Derives"], "global">, TMethods, TMacros & P["_"]["Macros"]>

Defined in: gramio/index.d.ts:212

Type Parameters
Type Parameter
P extends AnyPlugin
Parameters
ParameterType
pluginP
Returns

EventComposer<TBase, TEventMap, TIn, TOut & P["_"]["Derives"]["global"], TExposed, TDerives & Omit<P["_"]["Derives"], "global">, TMethods, TMacros & P["_"]["Macros"]>


fork()

fork(...middleware): this

Defined in: composer/index.d.ts:291

Parameters

ParameterType
...middlewareMiddleware<TOut>[]

Returns

this


group()

group(fn): this

Defined in: composer/index.d.ts:299

Parameters

ParameterType
fn(composer) => void

Returns

this


guard()

Call Signature

guard<Narrowing>(predicate): EventComposer<TBase, TEventMap, TIn, TOut & Narrowing, TExposed, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:285

Type Parameters
Type Parameter
Narrowing
Parameters
ParameterType
predicate(context) => context is Narrowing
Returns

EventComposer<TBase, TEventMap, TIn, TOut & Narrowing, TExposed, TDerives, TMethods, TMacros> & TMethods

Call Signature

guard<S>(predicate, ...middleware): this

Defined in: composer/index.d.ts:286

Type Parameters
Type Parameter
S extends object
Parameters
ParameterType
predicate((context) => context is S) | ((context) => boolean | Promise<boolean>)
...middlewareMiddleware<any>[]
Returns

this


inspect()

inspect(): MiddlewareInfo[]

Defined in: composer/index.d.ts:319

Returns

MiddlewareInfo[]


invalidate()

invalidate(): void

Defined in: composer/index.d.ts:342

Returns

void


lazy()

lazy(factory): this

Defined in: composer/index.d.ts:293

Parameters

ParameterType
factoryLazyFactory<TOut>

Returns

this


macro()

Call Signature

macro<Name, TDef>(name, definition): EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives, TMethods, TMacros & Record<Name, TDef>> & TMethods

Defined in: composer/index.d.ts:316

Register a single named macro

Type Parameters
Type Parameter
Name extends string
TDef extends MacroDef<any, any>
Parameters
ParameterType
nameName
definitionTDef
Returns

EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives, TMethods, TMacros & Record<Name, TDef>> & TMethods

Call Signature

macro<TDefs>(definitions): EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives, TMethods, TMacros & TDefs> & TMethods

Defined in: composer/index.d.ts:318

Register multiple macros at once

Type Parameters
Type Parameter
TDefs extends Record<string, MacroDef<any, any>>
Parameters
ParameterType
definitionsTDefs
Returns

EventComposer<TBase, TEventMap, TIn, TOut, TExposed, TDerives, TMethods, TMacros & TDefs> & TMethods


on()

Call Signature

on<Narrowing>(filter, handler): this

Defined in: composer/index.d.ts:278

Type Parameters
Type Parameter
Narrowing
Parameters
ParameterType
filter(ctx) => ctx is Narrowing
handlerMiddleware<ResolveEventCtx<TOut, TEventMap, TDerives, CompatibleEvents<TEventMap, Narrowing>> & Narrowing>
Returns

this

Call Signature

on(filter, handler): this

Defined in: composer/index.d.ts:279

Parameters
ParameterType
filter(ctx) => boolean
handlerMiddleware<TOut>
Returns

this

Call Signature

on<E, Narrowing>(event, filter, handler): this

Defined in: composer/index.d.ts:280

Type Parameters
Type Parameter
E extends string
Narrowing
Parameters
ParameterType
eventMaybeArray<E>
filter(ctx) => ctx is Narrowing
handlerMiddleware<ResolveEventCtx<TOut, TEventMap, TDerives, E> & Narrowing>
Returns

this

Call Signature

on<E>(event, filter, handler): this

Defined in: composer/index.d.ts:281

Type Parameters
Type Parameter
E extends string
Parameters
ParameterType
eventMaybeArray<E>
filter(ctx) => boolean
handlerMiddleware<ResolveEventCtx<TOut, TEventMap, TDerives, E>>
Returns

this

Call Signature

on<E, Patch>(event, handler): this

Defined in: composer/index.d.ts:282

Type Parameters
Type ParameterDefault type
E extends string-
Patch extends objectobject
Parameters
ParameterType
eventMaybeArray<E>
handlerMiddleware<ResolveEventCtx<TOut, TEventMap, TDerives, E> & Patch>
Returns

this


onError()

onError(handler): this

Defined in: composer/index.d.ts:294

Parameters

ParameterType
handlerErrorHandler<TOut>

Returns

this


registeredEvents()

Call Signature

registeredEvents(): Set<string>

Defined in: composer/index.d.ts:320

Returns

Set<string>

Call Signature

registeredEvents(): Set<string>

Defined in: gramio/index.d.ts:213

Returns

Set<string>


route()

Call Signature

route<K>(router, cases, fallback?): this

Defined in: composer/index.d.ts:288

Type Parameters
Type Parameter
K extends string
Parameters
ParameterType
router(context) => K | Promise<K>
casesPartial<Record<K, (composer) => Composer<any, any, any>>>
fallback?(composer) => Composer<any, any, any>
Returns

this

Call Signature

route<K>(router, builder): this

Defined in: composer/index.d.ts:289

Type Parameters
Type Parameter
K extends string
Parameters
ParameterType
router(context) => K | Promise<K>
builder(route) => void
Returns

this

Call Signature

route<K>(router, cases, fallback?): this

Defined in: composer/index.d.ts:290

Type Parameters
Type Parameter
K extends string
Parameters
ParameterType
router(context) => K | Promise<K>
casesPartial<Record<K, Middleware<TOut> | Middleware<TOut>[] | Composer<any, any, any>>>
fallback?Middleware<TOut> | Middleware<TOut>[] | Composer<any, any, any, { }>
Returns

this


run()

run(context, next?): Promise<void>

Defined in: composer/index.d.ts:323

Parameters

ParameterType
contextTIn
next?Next

Returns

Promise<void>


tap()

tap(...middleware): this

Defined in: composer/index.d.ts:292

Parameters

ParameterType
...middlewareMiddleware<TOut>[]

Returns

this


trace()

trace(handler): this

Defined in: composer/index.d.ts:321

Parameters

ParameterType
handlerTraceHandler

Returns

this


use()

Call Signature

use<Patch>(handler): this

Defined in: composer/index.d.ts:283

Type Parameters
Type Parameter
Patch extends object
Parameters
ParameterType
handlerMiddleware<TOut & Patch>
Returns

this

Call Signature

use(...middleware): this

Defined in: composer/index.d.ts:284

Parameters
ParameterType
...middlewareMiddleware<TOut>[]
Returns

this


when()

when<UOut>(condition, fn): EventComposer<TBase, TEventMap, TIn, TOut & Partial<Omit<UOut, keyof TOut>>, TExposed, TDerives, TMethods, TMacros> & TMethods

Defined in: composer/index.d.ts:311

Type Parameters

Type Parameter
UOut extends object

Parameters

ParameterType
conditionboolean
fn(composer) => Composer<TOut, UOut, any>

Returns

EventComposer<TBase, TEventMap, TIn, TOut & Partial<Omit<UOut, keyof TOut>>, TExposed, TDerives, TMethods, TMacros> & TMethods