UNPKG

1.64 kBJavaScriptView Raw
1import { EventEmitter } from 'fbemitter';
2import { DeviceEventEmitter } from 'react-native';
3import * as Updates from './Updates';
4export function reload() {
5 console.warn('Util.reload is deprecated and will be removed in SDK 31, use Updates.reload instead');
6 return Updates.reload();
7}
8let _emitter;
9function _getEmitter() {
10 if (!_emitter) {
11 _emitter = new EventEmitter();
12 DeviceEventEmitter.addListener('Exponent.nativeUpdatesEvent', _emitNewVersionAvailable);
13 }
14 return _emitter;
15}
16function _emitNewVersionAvailable(newVersionEvent) {
17 if (typeof newVersionEvent === 'string') {
18 newVersionEvent = JSON.parse(newVersionEvent);
19 }
20 // events with type === 'downloadFinished' match the events that were previously emitted
21 if (newVersionEvent.type === 'downloadFinished') {
22 if (newVersionEvent.manifestString && typeof newVersionEvent.manifestString === 'string') {
23 newVersionEvent.manifest = JSON.parse(newVersionEvent.manifestString);
24 delete newVersionEvent.manifestString;
25 }
26 delete newVersionEvent.type;
27 if (!_emitter) {
28 throw new Error(`EventEmitter must be initialized to use from its listener`);
29 }
30 _emitter.emit('newVersionAvailable', newVersionEvent);
31 }
32}
33export function addNewVersionListenerExperimental(listener) {
34 console.warn('Util.addNewVersionListenerExperimental is deprecated and will be removed in SDK 31, use Updates.addListener instead');
35 let emitter = _getEmitter();
36 return emitter.addListener('newVersionAvailable', listener);
37}
38//# sourceMappingURL=Util.js.map
\No newline at end of file