@mopinion/survey
Version:
Collect customer feedback with the Mopinion survey library
27 lines (26 loc) • 832 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useTimeout;
var _hooks = require("preact/hooks");
function useTimeout() {
var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var savedCallback = (0, _hooks.useRef)(callback);
(0, _hooks.useLayoutEffect)(function () {
savedCallback.current = callback;
}, [callback]);
(0, _hooks.useEffect)(function () {
if (delay === null || delay === undefined) {
return;
}
var id = setTimeout(function () {
return savedCallback.current();
}, delay);
return function () {
return clearTimeout(id);
};
}, [delay]);
}
//# sourceMappingURL=useTimeout.js.map