@graphql-mesh/cli
Version:
21 lines (20 loc) • 649 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerTerminateHandler = void 0;
const terminateEvents = ['SIGINT', 'SIGTERM'];
const terminateHandlers = new Set();
for (const eventName of terminateEvents) {
process.once(eventName, () => {
for (const handler of terminateHandlers) {
handler(eventName);
terminateHandlers.delete(handler);
}
});
}
function registerTerminateHandler(callback) {
terminateHandlers.add(callback);
return () => {
terminateHandlers.delete(callback);
};
}
exports.registerTerminateHandler = registerTerminateHandler;