UNPKG

@modern-kit/react

Version:
27 lines (22 loc) 811 B
'use strict'; var React = require('react'); var hooksUseTimeout = require('../useTimeout/index.cjs'); var utils = require('@modern-kit/utils'); require('../usePreservedCallback/index.cjs'); const getTimeoutOptions = (options) => { return utils.isNumber(options) ? { delay: options, enabled: true } : { delay: options.delay, enabled: options?.enabled ?? true }; }; function useDependencyTimeout(callback, options, deps) { const { delay, enabled } = getTimeoutOptions(options); const { set, reset, clear } = hooksUseTimeout.useTimeout(callback, { delay, enabled: false }); React.useEffect(() => { if (!enabled) return; reset(); }, [enabled, reset, ...deps]); return { set, reset, clear }; } exports.useDependencyTimeout = useDependencyTimeout; //# sourceMappingURL=index.cjs.map