UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

27 lines (26 loc) 1.09 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const React = require("react"); const formatUtils = require("./formatUtils.cjs"); const useTimeout = require("./useTimeout.cjs"); const fmt = (timestamp, locale, showSeconds) => { const timestampMs = String(timestamp).length > 11 ? timestamp : timestamp * 1e3; return formatUtils.formatTimeAgo(timestampMs, locale, showSeconds); }; function useTimeAgo(timestamp = Date.now(), options) { const { locale, disableRefresh = false, showSeconds = false } = options || {}; const [timeAgo, setTimeAgo] = React.useState( () => fmt(timestamp, locale, showSeconds) ); const refreshTime = disableRefresh ? 0 : 1e4; React.useEffect(() => { const newTimeAgo = fmt(timestamp, locale, showSeconds); setTimeAgo(newTimeAgo); }, [timestamp, locale, showSeconds]); useTimeout.useTimeout(() => { const newTimeAgo = fmt(timestamp, locale, showSeconds); setTimeAgo(newTimeAgo); }, refreshTime); return timeAgo; } exports.default = useTimeAgo;