# Hooks Class
Module | import { Hooks } from "@tsed/core" |
---|---|
Source | /packages/core/src/class/Hooks.ts |
# Overview
class Hooks {
/**
* Listen a hook event
* @param event
* @param cb
*/
<span class="token function">on</span><span class="token punctuation">(</span>event<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> cb<span class="token punctuation">:</span> Function<span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>
/**
* Remove a listener attached to an event
* @param event
* @param cb
*/
<span class="token function">off</span><span class="token punctuation">(</span>event<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> cb<span class="token punctuation">:</span> Function<span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>
/**
* Trigger an event and call listener.
* @param event
* @param args
* @param callThis
*/
<span class="token function">emit</span><span class="token punctuation">(</span>event<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> args?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> callThis?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
/**
* Trigger an event<span class="token punctuation">,</span> listener alter given value and return it.
* @param event
* @param value
* @param args
* @param callThis
*/
<span class="token function">alter</span><span class="token punctuation">(</span>event<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> value<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> args?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> callThis?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
/**
* Trigger an event and call async listener.
* @param event
* @param args
* @param callThis
*/
<span class="token function">asyncEmit</span><span class="token punctuation">(</span>event<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> args?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> callThis?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
/**
* Trigger an event<span class="token punctuation">,</span> async listener alter given value and return it.
* @param event
* @param value
* @param args
* @param callThis
*/
<span class="token function">asyncAlter</span><span class="token punctuation">(</span>event<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> value<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> args?<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> callThis?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">any</span>><span class="token punctuation">;</span>
}
# Members
on(event: string, cb: Function): this;
Listen a hook event
off(event: string, cb: Function): this;
Remove a listener attached to an event
emit(event: string, args?: any[], callThis?: any): void;
Trigger an event and call listener.
alter(event: string, value: any, args?: any[], callThis?: any): any;
Trigger an event, listener alter given value and return it.
asyncEmit(event: string, args?: any[], callThis?: any): Promise<void>;
Trigger an event and call async listener.
asyncAlter(event: string, value: any, args?: string[], callThis?: any): Promise<any>;
Trigger an event, async listener alter given value and return it.
- Session & cookies
- Passport.js
- TypeORM
- Mongoose
- GraphQL
- Socket.io
- Swagger
- AJV
- Multer
- Serve static files
- Templating
- Throw HTTP Exceptions
- Customize 404
- AWS
- Jest
- Seq
- Controllers
- Providers
- Model
- Converters
- Middlewares
- Pipes
- Interceptors
- Authentication
- Hooks
- Injection scopes
- Custom providers
- Custom endpoint decorator
- Testing