react-use-clock
Version:
React clock hook.
31 lines (30 loc) • 915 B
TypeScript
export type ClockGranularity = 'second' | 'minute' | 'hour' | 'day';
export interface ClockSnapshot {
hours: number;
minutes: number;
seconds: number;
year: number;
month: number;
day: number;
}
export interface UseClockOptions {
/**
* How often the clock ticks. Lower fields are zeroed (e.g. `'minute'`
* reports `seconds: 0`) so the component only re-renders once per unit.
* @default 'second'
*/
granularity?: ClockGranularity;
/** Value used for the server snapshot / first render. */
initialValue?: ClockSnapshot;
/** Source of the current time. Override for testing or custom clocks. */
getDate?: () => Date;
}
export declare const useClock: ({ granularity, initialValue, getDate, }?: UseClockOptions) => {
date: Date;
hours: number;
minutes: number;
seconds: number;
year: number;
month: number;
day: number;
};