Skip to content

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

Class: Composer<TIn, TOut, TExposed, TMacros> ​

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

Type Parameters ​

Type ParameterDefault type
TIn extends objectobject
TOut extends TInTIn
TExposed extends objectobject
TMacros extends MacroDefinitionsobject

Constructors ​

Constructor ​

new Composer<TIn, TOut, TExposed, TMacros>(options?): Composer<TIn, TOut, TExposed, TMacros>

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

Parameters ​

ParameterType
options?ComposerOptions

Returns ​

Composer<TIn, TOut, TExposed, TMacros>

Properties ​

PropertyTypeDescriptionDefined in
~object-composer/index.d.ts:144
~.commandsMetaMap<string, unknown>-composer/index.d.ts:157
~.compiledComposedMiddleware<any>-composer/index.d.ts:148
~.errorsDefinitionsRecord<string, {(...args): any; prototype: Error; }>-composer/index.d.ts:151
~.extendedSet<string>-composer/index.d.ts:147
~.macrosRecord<string, MacroDef<any, any>>-composer/index.d.ts:156
~.middlewaresScopedMiddleware<any>[]-composer/index.d.ts:145
~.namestring-composer/index.d.ts:149
~.onErrorsErrorHandler<any>[]-composer/index.d.ts:146
~.OutTOutPhantom type accessor — never set at runtime, used by ContextOf<T>composer/index.d.ts:159
~.seedunknown-composer/index.d.ts:150
~.tracerTraceHandler-composer/index.d.ts:155

Methods ​

as() ​

as(scope): Composer<TIn, TOut, TOut>

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

Parameters ​

ParameterType
scope"global" | "scoped"

Returns ​

Composer<TIn, TOut, TOut>


branch() ​

branch(predicate, onTrue, onFalse?): Composer<TIn, TOut, TExposed>

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

Parameters ​

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

Returns ​

Composer<TIn, TOut, TExposed>


compose() ​

compose(): ComposedMiddleware<TIn>

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

Returns ​

ComposedMiddleware<TIn>


decorate() ​

Call Signature ​

decorate<D>(values): Composer<TIn, TOut & D, TExposed>

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

Type Parameters ​
Type Parameter
D extends object
Parameters ​
ParameterType
valuesD
Returns ​

Composer<TIn, TOut & D, TExposed>

Call Signature ​

decorate<D>(values, options): Composer<TIn, TOut & D, TExposed & D>

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

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

Composer<TIn, TOut & D, TExposed & D>


derive() ​

Call Signature ​

derive<D>(handler): Composer<TIn, TOut & D, TExposed>

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

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

Composer<TIn, TOut & D, TExposed>

Call Signature ​

derive<D>(handler, options): Composer<TIn, TOut & D, TExposed & D>

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

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

Composer<TIn, TOut & D, TExposed & D>


error() ​

error(kind, errorClass): this

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

Parameters ​

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

Returns ​

this


extend() ​

extend<UIn, UOut, UExposed, UMacros>(other): Composer<TIn, TOut & UExposed, TExposed, TMacros & UMacros>

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

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 ​

Composer<TIn, TOut & UExposed, TExposed, TMacros & UMacros>


fork() ​

fork(...middleware): Composer<TIn, TOut, TExposed>

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

Parameters ​

ParameterType
...middlewareMiddleware<TOut>[]

Returns ​

Composer<TIn, TOut, TExposed>


group() ​

group(fn): Composer<TIn, TOut, TExposed>

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

Parameters ​

ParameterType
fn(composer) => void

Returns ​

Composer<TIn, TOut, TExposed>


guard() ​

Call Signature ​

guard<S>(predicate): Composer<TIn, S, TExposed>

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

Type Parameters ​
Type Parameter
S extends object
Parameters ​
ParameterType
predicate(context) => context is S
Returns ​

Composer<TIn, S, TExposed>

Call Signature ​

guard(predicate, ...middleware): Composer<TIn, TOut, TExposed>

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

Parameters ​
ParameterType
predicate(context) => boolean | Promise<boolean>
...middlewareMiddleware<TOut>[]
Returns ​

Composer<TIn, TOut, TExposed>


inspect() ​

inspect(): MiddlewareInfo[]

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

Returns ​

MiddlewareInfo[]


invalidate() ​

invalidate(): void

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

Returns ​

void


lazy() ​

lazy(factory): Composer<TIn, TOut, TExposed>

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

Parameters ​

ParameterType
factoryLazyFactory<TOut>

Returns ​

Composer<TIn, TOut, TExposed>


macro() ​

Call Signature ​

macro<Name, TDef>(name, definition): Composer<TIn, TOut, TExposed, TMacros & Record<Name, TDef>>

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

Register a single named macro

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

Composer<TIn, TOut, TExposed, TMacros & Record<Name, TDef>>

Call Signature ​

macro<TDefs>(definitions): Composer<TIn, TOut, TExposed, TMacros & TDefs>

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

Register multiple macros at once

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

Composer<TIn, TOut, TExposed, TMacros & TDefs>


onError() ​

onError(handler): Composer<TIn, TOut, TExposed>

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

Parameters ​

ParameterType
handlerErrorHandler<TOut>

Returns ​

Composer<TIn, TOut, TExposed>


registeredEvents() ​

registeredEvents(): Set<string>

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

Returns a Set of all event names registered via .on() and event-specific .derive().

Useful for introspecting which update types the middleware chain handles, e.g. to auto-derive allowed_updates for the Telegram Bot API.

Returns ​

Set<string>

Example ​

typescript
composer.on("message", handler);
composer.on(["callback_query", "inline_query"], handler);
composer.registeredEvents(); // Set {"message", "callback_query", "inline_query"}

route() ​

Call Signature ​

route<K>(router, builder): Composer<TIn, TOut, TExposed>

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

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

Composer<TIn, TOut, TExposed>

Call Signature ​

route<K>(router, cases, fallback?): Composer<TIn, TOut, TExposed>

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

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 ​

Composer<TIn, TOut, TExposed>


run() ​

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

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

Parameters ​

ParameterType
contextTIn
next?Next

Returns ​

Promise<void>


tap() ​

tap(...middleware): Composer<TIn, TOut, TExposed>

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

Parameters ​

ParameterType
...middlewareMiddleware<TOut>[]

Returns ​

Composer<TIn, TOut, TExposed>


trace() ​

trace(handler): this

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

Parameters ​

ParameterType
handlerTraceHandler

Returns ​

this


use() ​

Call Signature ​

use(handler): this

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

Parameters ​
ParameterType
handlerMiddleware<TOut>
Returns ​

this

Call Signature ​

use<Patch>(handler): this

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

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

this

Call Signature ​

use(...middleware): Composer<TIn, TOut, TExposed>

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

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

Composer<TIn, TOut, TExposed>


when() ​

when<UOut>(condition, fn): Composer<TIn, TOut & Partial<Omit<UOut, keyof TOut>>, TExposed>

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

Type Parameters ​

Type Parameter
UOut extends object

Parameters ​

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

Returns ​

Composer<TIn, TOut & Partial<Omit<UOut, keyof TOut>>, TExposed>