ivue-material-plus
Version:
A high quality UI components Library with Vue.js
29 lines (26 loc) • 626 B
JavaScript
import { isPromise } from './validate.mjs';
function noop() {
}
function callInterceptor(options) {
const { interceptor, args, done, canceled } = options;
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, noop };
//# sourceMappingURL=interceptor.mjs.map