@vnmfify/core
Version:
```shell npm i @vnmfify/core -S ```
33 lines (30 loc) • 881 B
JavaScript
import * as FakePromise from "promise";
import { isPromise } from "../utils/promisify";
export default function useFunctionInterceptor(interceptor) {
return function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return new FakePromise((resolve, reject) => {
if (interceptor) {
var result = interceptor.apply(null, args);
if (isPromise(result)) {
result.then(value => {
if (value) {
resolve();
} else {
reject();
}
}).catch(reject);
} else if (result) {
resolve();
} else {
reject();
}
} else {
resolve();
}
});
};
}
//# sourceMappingURL=use-function-interceptor.js.map