Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/@nestjs/core/hooks/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.callBeforeAppShutdownHook = void 0; const shared_utils_1 = require("@nestjs/common/utils/shared.utils"); const iterare_1 = require("iterare"); const transient_instances_1 = require("../injector/helpers/transient-instances"); /** * Checks if the given instance has the `beforeApplicationShutdown` function * * @param instance The instance which should be checked */ function hasBeforeApplicationShutdownHook(instance) { return (0, shared_utils_1.isFunction)(instance.beforeApplicationShutdown); } /** * Calls the given instances */ function callOperator(instances, signal) { return (0, iterare_1.iterate)(instances) .filter(instance => !(0, shared_utils_1.isNil)(instance)) .filter(hasBeforeApplicationShutdownHook) .map(async (instance) => instance.beforeApplicationShutdown(signal)) .toArray(); } /** * Calls the `beforeApplicationShutdown` function on the module and its children * (providers / controllers). * * @param module The module which will be initialized * @param signal The signal which caused the shutdown */ async function callBeforeAppShutdownHook(module, signal) { const providers = module.getNonAliasProviders(); const [_, moduleClassHost] = providers.shift(); const instances = [ ...module.controllers, ...providers, ...module.injectables, ...module.middlewares, ]; const nonTransientInstances = (0, transient_instances_1.getNonTransientInstances)(instances); await Promise.all(callOperator(nonTransientInstances, signal)); const transientInstances = (0, transient_instances_1.getTransientInstances)(instances); await Promise.all(callOperator(transientInstances, signal)); const moduleClassInstance = moduleClassHost.instance; if (moduleClassInstance && hasBeforeApplicationShutdownHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) { await moduleClassInstance.beforeApplicationShutdown(signal); } } exports.callBeforeAppShutdownHook = callBeforeAppShutdownHook;