Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
1.8 KiB
1.8 KiB
category
| category |
|---|
| Animation |
useTimestamp
Reactive current timestamp
Usage
import { useTimestamp } from '@vueuse/core'
const timestamp = useTimestamp({ offset: 0 })
import { useTimestamp } from '@vueuse/core'
// ---cut---
const { timestamp, pause, resume } = useTimestamp({ controls: true })
Component Usage
<template>
<UseTimestamp v-slot="{ timestamp, pause, resume }">
Current Time: {{ timestamp }}
<button @click="pause()">
Pause
</button>
<button @click="resume()">
Resume
</button>
</UseTimestamp>
</template>
Type Declarations
export interface UseTimestampOptions<
Controls extends boolean,
> extends ConfigurableScheduler {
/**
* Expose more controls
*
* @default false
*/
controls?: Controls
/**
* Offset value adding to the value
*
* @default 0
*/
offset?: number
/**
* Update the timestamp immediately
*
* @deprecated Please use `scheduler` option instead
* @default true
*/
immediate?: boolean
/**
* Update interval, or use requestAnimationFrame
*
* @deprecated Please use `scheduler` option instead
* @default requestAnimationFrame
*/
interval?: "requestAnimationFrame" | number
/**
* Callback on each update
*/
callback?: (timestamp: number) => void
}
export type UseTimestampReturn<Controls extends boolean> = Controls extends true
? {
timestamp: ShallowRef<number>
} & Pausable
: ShallowRef<number>
/**
* Reactive current timestamp.
*
* @see https://vueuse.org/useTimestamp
* @param options
*/
export declare function useTimestamp(
options?: UseTimestampOptions<false>,
): ShallowRef<number>
export declare function useTimestamp(options: UseTimestampOptions<true>): {
timestamp: ShallowRef<number>
} & Pausable