Buckets:
ktongue/docker_container / CAD_kevin /frontend /node_modules /@mui /utils /useTimeout /useTimeout.js
| ; | |
| 'use client'; | |
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.Timeout = void 0; | |
| exports.default = useTimeout; | |
| var _useLazyRef = _interopRequireDefault(require("../useLazyRef/useLazyRef")); | |
| var _useOnMount = _interopRequireDefault(require("../useOnMount/useOnMount")); | |
| class Timeout { | |
| constructor() { | |
| this.currentId = null; | |
| this.clear = () => { | |
| if (this.currentId !== null) { | |
| clearTimeout(this.currentId); | |
| this.currentId = null; | |
| } | |
| }; | |
| this.disposeEffect = () => { | |
| return this.clear; | |
| }; | |
| } | |
| static create() { | |
| return new Timeout(); | |
| } | |
| /** | |
| * Executes `fn` after `delay`, clearing any previously scheduled call. | |
| */ | |
| start(delay, fn) { | |
| this.clear(); | |
| this.currentId = setTimeout(() => { | |
| this.currentId = null; | |
| fn(); | |
| }, delay); | |
| } | |
| } | |
| exports.Timeout = Timeout; | |
| function useTimeout() { | |
| const timeout = (0, _useLazyRef.default)(Timeout.create).current; | |
| (0, _useOnMount.default)(timeout.disposeEffect); | |
| return timeout; | |
| } |
Xet Storage Details
- Size:
- 1.14 kB
- Xet hash:
- 71a7cfd9f922dc42b7eaef5e4a2414e87b2f0befcc5e9b51b2e7a7a7f035e765
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.