1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { inBrowser } from './env'
- const DEFAULT_INTERVAL = 100 / 60
- function noop() {
- }
- export const requestAnimationFrame = (() => {
- /* istanbul ignore next */
- if (!inBrowser) {
- return noop
- }
- return window.requestAnimationFrame ||
- /* istanbul ignore next */
- window.webkitRequestAnimationFrame ||
- /* istanbul ignore next */
- window.mozRequestAnimationFrame ||
- /* istanbul ignore next */
- window.oRequestAnimationFrame ||
- // if all else fails, use setTimeout
- /* istanbul ignore next */
- function (callback) {
- return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2) // make interval as precise as possible.
- }
- })()
- export const cancelAnimationFrame = (() => {
- /* istanbul ignore next */
- if (!inBrowser) {
- return noop
- }
- return window.cancelAnimationFrame ||
- /* istanbul ignore next */
- window.webkitCancelAnimationFrame ||
- /* istanbul ignore next */
- window.mozCancelAnimationFrame ||
- /* istanbul ignore next */
- window.oCancelAnimationFrame ||
- /* istanbul ignore next */
- function (id) {
- window.clearTimeout(id)
- }
- })()
|