@graphql-mesh/cli
Version:
17 lines (16 loc) • 475 B
JavaScript
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);
}
});
}
export function registerTerminateHandler(callback) {
terminateHandlers.add(callback);
return () => {
terminateHandlers.delete(callback);
};
}