31 lines
880 B
TypeScript
31 lines
880 B
TypeScript
// Metro module 6234 (f6235).
|
|
import { useCallback } from "react";
|
|
import { diffAsUnits } from "../utils/DateUtils";
|
|
import { useForceUpdate } from "../_bundle/Module6235";
|
|
import useInterval from "./useInterval";
|
|
export default function useCountdown(a0) {
|
|
let r7 = arguments[1];
|
|
if (r7 === void 0) {
|
|
r7 = 1000;
|
|
}
|
|
const r11 = arguments[2];
|
|
let c15602_1 = r11;
|
|
let r8 = arguments[3];
|
|
if (r8 === void 0) {
|
|
r8 = false;
|
|
}
|
|
let c15602_2 = r8;
|
|
const r18 = diffAsUnits(Date.now(), a0);
|
|
const forceUpdate = useForceUpdate();
|
|
useInterval(useCallback(() => {
|
|
const r15 = diffAsUnits(Date.now(), a0);
|
|
if (!(r15.days === 0 && r15.hours === 0 && r15.minutes === 0 && r15.seconds === 0 || c15602_2)) {
|
|
forceUpdate();
|
|
if (c15602_1 != null) {
|
|
c15602_1();
|
|
}
|
|
}
|
|
}, [a0, r8, forceUpdate, r11]), r8 ? null : r7);
|
|
return r18;
|
|
};
|