worker-timers-broker
Version:
The broker which is used by the worker-timers package.
11 lines (9 loc) • 430 B
text/typescript
export const createClearTimeoutFactory =
(scheduledTimeoutsState: Map<number, null | symbol>) => (clear: (timerId: number) => Promise<boolean>) => (timerId: number) => {
if (typeof scheduledTimeoutsState.get(timerId) === 'symbol') {
scheduledTimeoutsState.set(timerId, null);
clear(timerId).then(() => {
scheduledTimeoutsState.delete(timerId);
});
}
};