-
-
Notifications
You must be signed in to change notification settings - Fork 286
/
locals.ts
36 lines (35 loc) · 956 Bytes
/
locals.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import {ParamTypes} from "../interfaces/ParamTypes";
import {LocalsFilter} from "../components/LocalsFilter";
import {ParamRegistry} from "../registries/ParamRegistry";
/**
* Locals return the value from [response.locals](http://expressjs.com/en/4x/api.html#res.locals) object.
*
* #### Example
*
* ```typescript
* @Controller('/')
* class MyCtrl {
* @Get('/')
* get(@Locals() locals: any) {
* console.log('Entire locals', locals);
* }
*
* @Get('/')
* get(@Locals('user') user: any) {
* console.log('user', user);
* }
* }
* ```
* > For more information on deserialization see [converters](/docs/converters.md) page.
*
* @param expression The path of the property to get.
* @decorator
* @returns {Function}
*/
export function Locals(expression?: string | any): Function {
return ParamRegistry.decorate(LocalsFilter, {
expression,
useConverter: false,
paramType: ParamTypes.LOCALS
});
}