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:261

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:307
~.compiledComposedMiddleware<any>-composer/index.d.ts:311
~.DerivesTDerives-composer/index.d.ts:320
~.errorsDefinitionsRecord<string, {(...args): any; prototype: Error; }>-composer/index.d.ts:314
~.extendedSet<string>-composer/index.d.ts:310
~.macrosRecord<string, MacroDef<any, any>>-composer/index.d.ts:319
~.middlewaresScopedMiddleware<any>[]-composer/index.d.ts:308
~.namestring-composer/index.d.ts:312
~.onErrorsErrorHandler<any>[]-composer/index.d.ts:309
~.OutTOutPhantom type accessor — never set at runtime, used by ContextOf<T>composer/index.d.ts:322
~.seedunknown-composer/index.d.ts:313
~.tracerTraceHandler-composer/index.d.ts:318

Methods

as()

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

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

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:271

Parameters

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

Returns

this


compose()

compose(): ComposedMiddleware<TIn>

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

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:284

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:285

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:288

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:289

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:292

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:279

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:297

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:298

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:54

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:275

Parameters

ParameterType
...middlewareMiddleware<TOut>[]

Returns

this


group()

group(fn): this

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

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:269

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:270

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:303

Returns

MiddlewareInfo[]


invalidate()

invalidate(): void

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

Returns

void


lazy()

lazy(factory): this

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

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:300

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:302

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:262

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:263

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

this

Call Signature

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

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

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:265

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:266

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:278

Parameters

ParameterType
handlerErrorHandler<TOut>

Returns

this


route()

Call Signature

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

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

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:273

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:274

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:306

Parameters

ParameterType
contextTIn
next?Next

Returns

Promise<void>


tap()

tap(...middleware): this

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

Parameters

ParameterType
...middlewareMiddleware<TOut>[]

Returns

this


trace()

trace(handler): this

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

Parameters

ParameterType
handlerTraceHandler

Returns

this


use()

Call Signature

use<Patch>(handler): this

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

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:268

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:295

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