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

Parameters

ParameterType
options?ComposerOptions

Returns

Composer<TIn, TOut, TExposed, TMacros>

Properties

PropertyTypeDescriptionDefined in
~object-composer/index.d.ts:144
~.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:158
~.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:190

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

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

Returns

ComposedMiddleware<TIn>


decorate()

Call Signature

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

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

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

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

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

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

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

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

Parameters

ParameterType
...middlewareMiddleware<TOut>[]

Returns

Composer<TIn, TOut, TExposed>


group()

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

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

Parameters

ParameterType
fn(composer) => void

Returns

Composer<TIn, TOut, TExposed>


guard()

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

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

Type Parameters

Type Parameter
S extends object

Parameters

ParameterType
predicate(context) => context is S | (context) => boolean | Promise<boolean>
...middlewareMiddleware<any>[]

Returns

Composer<TIn, TOut, TExposed>


inspect()

inspect(): MiddlewareInfo[]

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

Returns

MiddlewareInfo[]


invalidate()

invalidate(): void

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

Returns

void


lazy()

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

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

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

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

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

Parameters

ParameterType
handlerErrorHandler<TOut>

Returns

Composer<TIn, TOut, TExposed>


route()

Call Signature

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

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

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

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

Parameters

ParameterType
contextTIn
next?Next

Returns

Promise<void>


tap()

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

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

Parameters

ParameterType
...middlewareMiddleware<TOut>[]

Returns

Composer<TIn, TOut, TExposed>


trace()

trace(handler): this

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

Parameters

ParameterType
handlerTraceHandler

Returns

this


use()

Call Signature

use(handler): this

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

Parameters
ParameterType
handlerMiddleware<TOut>
Returns

this

Call Signature

use<Patch>(handler): this

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

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

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

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>