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 Parameter | Default type |
|---|---|
TOptions | void |
TDerive extends object | object |
Example
ts
// Parameterized macro
const throttle: MacroDef<{ limit: number }, {}> = (opts) => ({
preHandler: createThrottleMiddleware(opts),
});
// Boolean shorthand
const onlyAdmin: MacroDef<void, {}> = {
preHandler: checkAdminMiddleware,
};