@nestjs/common
Version:
Decorators, pipes, exceptions and utilities for NestJS applications: @Controller(), @Injectable(), @Body(), ValidationPipe, HttpException and more.
19 lines (18 loc) • 525 B
JavaScript
import { PARAMTYPES_METADATA } from '../../constants.js';
export function flatten(arr) {
const flat = [].concat(...arr);
return flat.some(Array.isArray)
? flatten(flat)
: flat;
}
/**
* Decorator that sets required dependencies (required with a vanilla JavaScript objects)
*
* @publicApi
*/
export const Dependencies = (...dependencies) => {
const flattenDeps = flatten(dependencies);
return (target) => {
Reflect.defineMetadata(PARAMTYPES_METADATA, flattenDeps, target);
};
};