import { noop } from "./basic.mjs"; import { isPromise } from "./validate.mjs"; function callInterceptor(interceptor, { args = [], done, canceled }) { if (interceptor) { const returnVal = interceptor.apply(null, args); if (isPromise(returnVal)) { returnVal.then((value) => { if (value) { done(); } else if (canceled) { canceled(); } }).catch(noop); } else if (returnVal) { done(); } else if (canceled) { canceled(); } } else { done(); } } export { callInterceptor };