1.2.2 • Published 4 years ago

use-shake-callback v1.2.2

Weekly downloads
5
License
MIT
Repository
github
Last release
4 years ago

use-shake-callback

preview-cover

🐍 useShakeCallback hook for listening shake events in React Native

npm version weekly downloads npm bundle size license

NPM

📦 Installation

  • Please note that this package uses rxjs and react-native-sensors as dependencies and have react and react-native as peer dependencies.
npm add use-shake-callback
# Or with yarn
yarn add use-shake-callback

🚀 Usage

  • The first argument of the hook is the callback function - It's only argument is speed, which is the speed of your shake at the time the callback is called.
  • Second argument is the configuration object - All fields optional.
  • It is strongly recommended that you adjust the threshold value with experiments to match your needs.
import useShakeCallback from 'use-shake-callback';

useShakeCallback(() => {
  console.log('🐍 Shook Shook');
}, {
  updateInterval: 100,
  threshold: 5,
  onError: (error) => console.log(error),
});
  • This hooks is optimized to unsubscribe the sensor event listener when the app status change to inactive(= when the app goes to background). The appState, which is required to handle such process, is exported so that you can use throughout your application.
const { appState } = useShakeCallback(
  () => console.log('🐍 Shook Shook');
  {
    onError: (error) => console.log(error),
    onUnsubscribe: () =>
      console.log('[*] Unsubscribing accelerometer sensor'),
  },
);

console.log(appState) // 'active' or 'inactive'

👻 Typings

  • All typings are exported. Yay! 🎉
import { ShakeCallback, ShakeConfig } from 'use-shake-callback';

type ShakeCallback

  • Type of the callback, which is called when the current device speed(calculated from acceleration) is greater then the provided threshold.
  • Return type is void.

Parameters

NameTypeDescription
speednumberSpeed of the current shake

interface ShakeConfig

  • Configuration object of the hook.

Fields

  • All fields are optional and have defaults.
NameTypeDefault valueDescription
updateIntervalnumber100Defines the update interval of the accelerometer sensor
thresholdnumber5Threshold for detecting shake events; If the current speed is greater than the provided value, the callback will be called.
onError(error: any) => void or undefinedundefinedCalled when error occurred in subscription for accelerometer
onUnsubscribe() => void or undefinedundefinedCalled when unsubscribed from the accelerometer sensor
1.2.2

4 years ago

1.1.1

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago