// @ts-nocheck
// import { isBrowser } from '../isBrowser'
type Callback = () => void//Function
// 是否支持被動事件監聽
export const supportsPassive = true;

// 請求動畫幀
export function raf(fn : Callback) : number {
	// #ifndef WEB
	return setTimeout(fn, 1000 / 30); // 請求動畫幀
	// #endif
	// #ifdef WEB
	return requestAnimationFrame(fn); // 請求動畫幀
	// #endif
}

// 取消動畫幀
export function cancelRaf(id : number) {
	// 如果是在瀏覽器環境下，使用 cancelAnimationFrame 方法
	// #ifdef WEB
	cancelAnimationFrame(id); // 取消動畫幀
	// #endif
	// #ifndef WEB
	clearTimeout(id); // 取消動畫幀
	// #endif
}

// 雙倍動畫幀
export function doubleRaf(fn : Callback) : void {
	raf(() => {
		raf(fn)
	}); // 在下壹幀回調中再次請求動畫幀，實現雙倍動畫幀效果
}