GamePortrait/node_modules/vant/es/utils/interceptor.mjs

30 lines
573 B
JavaScript

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
};