(options: UseNowOptions<boolean> = {})
| 67 | * @__NO_SIDE_EFFECTS__ |
| 68 | */ |
| 69 | export function useNow(options: UseNowOptions<boolean> = {}): UseNowReturn<boolean> { |
| 70 | const { |
| 71 | controls: exposeControls = false, |
| 72 | scheduler = getDefaultScheduler(options), |
| 73 | } = options |
| 74 | |
| 75 | const now = shallowRef(new Date()) |
| 76 | |
| 77 | const update = () => now.value = new Date() |
| 78 | |
| 79 | const controls = scheduler(update) |
| 80 | |
| 81 | if (exposeControls) { |
| 82 | return { |
| 83 | now, |
| 84 | ...controls, |
| 85 | } |
| 86 | } |
| 87 | else { |
| 88 | return now |
| 89 | } |
| 90 | } |