Skip to content

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

Type Alias: MacroDef<TOptions, TDerive>

MacroDef<TOptions, TDerive> = (opts) => MacroHooks<TDerive> | MacroHooks<TDerive>

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

A macro definition: either a function accepting options, or a plain hooks object (boolean shorthand).

Type Parameters

Type ParameterDefault type
TOptionsvoid
TDerive extends objectobject

Example

ts
// Parameterized macro
const throttle: MacroDef<{ limit: number }, {}> = (opts) => ({
  preHandler: createThrottleMiddleware(opts),
});

// Boolean shorthand
const onlyAdmin: MacroDef<void, {}> = {
  preHandler: checkAdminMiddleware,
};