Spaces:
Configuration error
Configuration error
Download node_modules/exit-hook/index.js from W404NET/Telegram-Chat-Bot: direct link, hf CLI and curl.
- Browser
- Download file 1.01 kB
-
https://huggingface.co/spaces/W404NET/Telegram-Chat-Bot/resolve/main/node_modules/exit-hook/index.js
- Command line
-
hf download hf://spaces/W404NET/Telegram-Chat-Bot/node_modules/exit-hook/index.js
-
curl -L -o index.js https://huggingface.co/spaces/W404NET/Telegram-Chat-Bot/resolve/main/node_modules/exit-hook/index.js
1.01 kB
| ; | |
| const callbacks = new Set(); | |
| let isCalled = false; | |
| let isRegistered = false; | |
| function exit(exit, signal) { | |
| if (isCalled) { | |
| return; | |
| } | |
| isCalled = true; | |
| for (const callback of callbacks) { | |
| callback(); | |
| } | |
| if (exit === true) { | |
| process.exit(128 + signal); // eslint-disable-line unicorn/no-process-exit | |
| } | |
| } | |
| module.exports = callback => { | |
| callbacks.add(callback); | |
| if (!isRegistered) { | |
| isRegistered = true; | |
| process.once('exit', exit); | |
| process.once('SIGINT', exit.bind(null, true, 2)); | |
| process.once('SIGTERM', exit.bind(null, true, 15)); | |
| // PM2 Cluster shutdown message. Caught to support async handlers with pm2, needed because | |
| // explicitly calling process.exit() doesn't trigger the beforeExit event, and the exit | |
| // event cannot support async handlers, since the event loop is never called after it. | |
| process.on('message', message => { | |
| if (message === 'shutdown') { | |
| exit(true, -128); | |
| } | |
| }); | |
| } | |
| return () => { | |
| callbacks.delete(callback); | |
| }; | |
| }; | |