omnipay-savings-sdk
Version:
Omnipay Savings SDK
24 lines (23 loc) • 747 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
function useDebounce(value, delay, includeEmpty = false) {
const [debouncedValue, setDebouncedValue] = (0, react_1.useState)(value);
(0, react_1.useEffect)(() => {
// Set a timeout to update debounced value after delay
const handler = setTimeout(() => {
setDebouncedValue(value);
}, delay);
// Clean up the timeout on unmount or value change
return () => {
clearTimeout(handler);
};
}, [value, delay]);
if (includeEmpty || value !== '') {
return debouncedValue;
}
else {
return value;
}
}
exports.default = useDebounce;