UNPKG

@tempfix/watcher

Version:

The file system watcher that strives for perfection, with no native dependencies and optional rename detection support.

44 lines (22 loc) 695 B
/* IMPORT */ import makeNakedPromise from '../promise-make-naked/index.js'; import type {Callback} from './types.js'; /* MAIN */ const isFunction = ( value: unknown ): value is Function => { return ( typeof value === 'function' ); }; const makeCounterPromise = (): { promise: Promise<void>, increment: Callback, decrement: Callback } => { const {promise, resolve} = makeNakedPromise<void> (); let counter = 0; const increment = (): void => { counter += 1; }; const decrement = (): void => { counter -= 1; if ( counter ) return; resolve (); }; return { promise, increment, decrement }; }; /* EXPORT */ export {isFunction, makeCounterPromise};