📄 index.ts
¶
📊 Analysis Summary¶
Metric | Count |
---|---|
🔧 Functions | 1 |
📦 Imports | 6 |
📑 Type Aliases | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/core/useDeviceOrientation/index.ts
📦 Imports¶
Name | Source |
---|---|
Ref |
vue |
ConfigurableWindow |
../_configurable |
shallowRef |
vue |
defaultWindow |
../_configurable |
useEventListener |
../useEventListener |
useSupported |
../useSupported |
Functions¶
useDeviceOrientation(options: ConfigurableWindow): { isSupported: any; isAbsolute: any; alpha: Ref<number>; beta: Ref<number>; gamma: Ref<number>; }
¶
Code
export function useDeviceOrientation(options: ConfigurableWindow = {}) {
const { window = defaultWindow } = options
const isSupported = useSupported(() => window && 'DeviceOrientationEvent' in window)
const isAbsolute = shallowRef(false)
const alpha: Ref<number | null> = shallowRef(null)
const beta: Ref<number | null> = shallowRef(null)
const gamma: Ref<number | null> = shallowRef(null)
if (window && isSupported.value) {
useEventListener(window, 'deviceorientation', (event) => {
isAbsolute.value = event.absolute
alpha.value = event.alpha
beta.value = event.beta
gamma.value = event.gamma
}, { passive: true })
}
return {
isSupported,
isAbsolute,
alpha,
beta,
gamma,
}
}
-
JSDoc:
-
Parameters:
options: ConfigurableWindow
- Return Type:
{ isSupported: any; isAbsolute: any; alpha: Ref<number>; beta: Ref<number>; gamma: Ref<number>; }
- Calls:
useSupported (from ../useSupported)
shallowRef (from vue)
useEventListener (from ../useEventListener)