react-native-shake-event-by-littlekey
Version:
[fork] Add shake event to your React Native app
40 lines (36 loc) • 838 B
JavaScript
/**
* @providesModule RNShakeEvent
* @flow
*/
;
import React, {DeviceEventEmitter, NativeModules} from 'react-native';
import invariant from 'invariant';
var listener;
class RNShakeEventIOS {
static addEventListener(type: string, handler: Function) {
invariant(
type === 'shake',
'RNShakeEventIOS only supports `shake` event'
);
listener = DeviceEventEmitter.addListener('ShakeEvent', () => {
if (handler) {
handler();
}
});
}
static removeEventListener(type: string, handler: Function) {
invariant(
type === 'shake',
'RNShakeEventIOS only supports `shake` event'
);
if (!listener) {
return;
}
if (handler) {
handler();
}
listener.remove();
}
};
module.exports = RNShakeEventIOS;
export default RNShakeEventIOS;