Files
Vlad Durnea cffdf8af86
Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
wip:milestone 0 fixes
2026-03-15 12:35:42 +02:00

34 lines
773 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTimeout = useTimeout;
var _useLazyRef = require("./useLazyRef");
var _useOnMount = require("./useOnMount");
class Timeout {
constructor() {
this.currentId = 0;
this.clear = () => {
if (this.currentId !== 0) {
clearTimeout(this.currentId);
this.currentId = 0;
}
};
this.disposeEffect = () => {
return this.clear;
};
}
static create() {
return new Timeout();
}
start(delay, fn) {
this.clear();
this.currentId = setTimeout(fn, delay);
}
}
function useTimeout() {
const timeout = (0, _useLazyRef.useLazyRef)(Timeout.create).current;
(0, _useOnMount.useOnMount)(timeout.disposeEffect);
return timeout;
}