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>