@@ -16,6 +16,20 @@ const EventSubscriptionVendor = require('EventSubscriptionVendor');
1616
1717import type EmitterSubscription from 'EmitterSubscription' ;
1818
19+ function checkNativeEventModule ( eventType : ?string ) {
20+ if ( eventType ) {
21+ if ( eventType . lastIndexOf ( 'statusBar' , 0 ) === 0 ) {
22+ throw new Error ( '`' + eventType + '` event should be registered via the StatusBarIOS module' ) ;
23+ }
24+ if ( eventType . lastIndexOf ( 'keyboard' , 0 ) === 0 ) {
25+ throw new Error ( '`' + eventType + '` event should be registered via the Keyboard module' ) ;
26+ }
27+ if ( eventType === 'appStateDidChange' || eventType === 'memoryWarning' ) {
28+ throw new Error ( '`' + eventType + '` event should be registered via the AppState module' ) ;
29+ }
30+ }
31+ }
32+
1933/**
2034 * Deprecated - subclass NativeEventEmitter to create granular event modules instead of
2135 * adding all event listeners directly to RCTDeviceEventEmitter.
@@ -30,34 +44,19 @@ class RCTDeviceEventEmitter extends EventEmitter {
3044 this . sharedSubscriber = sharedSubscriber ;
3145 }
3246
33- _nativeEventModule ( eventType : ?string ) {
34- if ( eventType ) {
35- if ( eventType . lastIndexOf ( 'statusBar' , 0 ) === 0 ) {
36- console . warn ( '`%s` event should be registered via the StatusBarIOS module' , eventType ) ;
37- return require ( 'StatusBarIOS' ) ;
38- }
39- if ( eventType . lastIndexOf ( 'keyboard' , 0 ) === 0 ) {
40- console . warn ( '`%s` event should be registered via the Keyboard module' , eventType ) ;
41- return require ( 'Keyboard' ) ;
42- }
43- if ( eventType === 'appStateDidChange' || eventType === 'memoryWarning' ) {
44- console . warn ( '`%s` event should be registered via the AppState module' , eventType ) ;
45- return require ( 'AppState' ) ;
46- }
47- }
48- return null ;
49- }
5047
5148 addListener ( eventType : string , listener : Function , context : ?Object ) : EmitterSubscription {
52- const eventModule = this . _nativeEventModule ( eventType ) ;
53- return eventModule ? eventModule . addListener ( eventType , listener , context )
54- : super . addListener ( eventType , listener , context ) ;
49+ if ( __DEV__ ) {
50+ checkNativeEventModule ( eventType ) ;
51+ }
52+ return super . addListener ( eventType , listener , context ) ;
5553 }
5654
5755 removeAllListeners ( eventType : ?string ) {
58- const eventModule = this . _nativeEventModule ( eventType ) ;
59- ( eventModule && eventType ) ? eventModule . removeAllListeners ( eventType )
60- : super . removeAllListeners ( eventType ) ;
56+ if ( __DEV__ ) {
57+ checkNativeEventModule ( eventType ) ;
58+ }
59+ super . removeAllListeners ( eventType ) ;
6160 }
6261
6362 removeSubscription ( subscription : EmitterSubscription ) {
0 commit comments