fix(core): fix lifecycle hooks for middleware, injectables

This commit is contained in:
Kamil Myśliwiec
2020-01-23 15:32:35 +01:00
parent d3db1140ff
commit 10046479ed
10 changed files with 87 additions and 38 deletions

View File

@@ -43,7 +43,12 @@ export async function callModuleDestroyHook(module: Module): Promise<any> {
// Module (class) instance is the first element of the providers array
// Lifecycle hook has to be called once all classes are properly destroyed
const [_, { instance: moduleClassInstance }] = providers.shift();
const instances = [...module.controllers, ...providers];
const instances = [
...module.controllers,
...providers,
...module.injectables,
...module.middlewares,
];
const nonTransientInstances = getNonTransientInstances(instances);
await Promise.all(callOperator(nonTransientInstances));