self.js 412 Bytes
Newer Older
1 2 3 4 5
import {
  NativeModules,
  DeviceEventEmitter,
} from 'react-native';

Travis Nuttall's avatar
Travis Nuttall committed
6
const { ThreadSelfManager } = NativeModules;
7 8 9 10 11 12

const self = {
  onmessage: null,

  postMessage: (message) => {
    if (!message) { return; }
Travis Nuttall's avatar
Travis Nuttall committed
13
    ThreadSelfManager.postMessage(message);
14 15 16
  }
};

Travis Nuttall's avatar
Travis Nuttall committed
17
DeviceEventEmitter.addListener("ThreadMessage", (message) => {
18 19 20 21
  !!message && self.onmessage && self.onmessage(message);
});

export default self;