All files / owid-grapher/db cleanup.ts

70.97% Statements 22/31
100% Branches 0/0
0% Functions 0/2
70.97% Lines 22/31

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 211x 1x 1x 1x   1x 1x                 1x 1x 1x 1x 1x 1x
type Handler = () => any
const handlers: Handler[] = []
 
export const cleanup = async (): Promise<Handler[]> =>
    await Promise.all(handlers)
 
export const exit = async (): Promise<never> => {
    try {
        await cleanup()
        process.exit(0)
    } catch (err) {
        console.error(err)
        process.exit(1)
    }
}
 
export const registerExitHandler = (fn: Handler): number => handlers.push(fn)
 
process.on("SIGINT", exit)
process.on("SIGTERM", exit)