UNPKG

5 kBJavaScriptView Raw
1// @flow
2import './environment/validate';
3import './environment/logging';
4import './Location'; // polyfill navigator.geolocation
5
6import { NativeModules } from 'react-native';
7import Constants from './Constants';
8
9if (typeof Constants.manifest.env === 'object') {
10 Object.assign(process.env, Constants.manifest.env);
11}
12
13// NOTE(brentvatne): this is temporarily disabled until we can work out bugs with ref and context
14//
15// Re-define the React Native modal to use our version of it, which plays nicely with the Expo Menu
16// on iOS Object.defineProperty(ReactNative, 'Modal', { get() { return
17// require('./modal/Modal').default;
18// },
19// });
20
21module.exports = {
22 // constants
23 get Crypto() {
24 return NativeModules.ExponentCrypto;
25 },
26 get Fabric() {
27 return NativeModules.ExponentFabric;
28 },
29 get ImageCropper() {
30 return NativeModules.ExponentImageCropper;
31 },
32
33 // defaults
34 get apisAreAvailable() {
35 return require('./apisAreAvailable').default;
36 },
37 get registerRootComponent() {
38 return require('./launch/registerRootComponent').default;
39 },
40 get takeSnapshotAsync() {
41 return require('./takeSnapshotAsync').default;
42 },
43 get Accelerometer() {
44 return require('./sensor/Accelerometer').default;
45 },
46 get Asset() {
47 return require('./Asset').default;
48 },
49 get AuthSession() {
50 return require('./AuthSession').default;
51 },
52 get ErrorRecovery() {
53 return require('./ErrorRecovery').default;
54 },
55 get GLView() {
56 return require('./GLView').default;
57 },
58 get Gyroscope() {
59 return require('./sensor/Gyroscope').default;
60 },
61 get Magnetometer() {
62 return require('./sensor/Magnetometer').default;
63 },
64 get MagnetometerUncalibrated() {
65 return require('./sensor/MagnetometerUncalibrated').default;
66 },
67 get Notifications() {
68 return require('./Notifications').default;
69 },
70 get SQLite() {
71 return require('./SQLite').default;
72 },
73
74 // components
75 get AdMobBanner() {
76 return require('./admob/RNAdMobBanner').default;
77 },
78 get PublisherBanner() {
79 return require('./admob/RNPublisherBanner').default;
80 },
81 get AdMobInterstitial() {
82 return require('./admob/RNAdMobInterstitial');
83 },
84 get AdMobRewarded() {
85 return require('./admob/RNAdMobRewarded');
86 },
87 get AppLoading() {
88 return require('./launch/AppLoading').default;
89 },
90 get BarCodeScanner() {
91 return require('./BarCodeScanner').default;
92 },
93 get BlurView() {
94 return require('./effects/BlurView').default;
95 },
96 get Camera() {
97 return require('./Camera').default;
98 },
99 get FaceDetector() {
100 return require('./FaceDetector').default;
101 },
102 get KeepAwake() {
103 return require('./KeepAwake').default;
104 },
105 get LinearGradient() {
106 return require('./effects/LinearGradient').default;
107 },
108 get MapView() {
109 return require('react-native-maps');
110 },
111 get Modal() {
112 return require('./modal/Modal').default;
113 },
114 get Video() {
115 return require('./av/Video').default;
116 },
117 get WebBrowser() {
118 return require('./WebBrowser').default;
119 },
120 get Svg() {
121 return require('./Svg').default;
122 },
123 get Fingerprint() {
124 return require('./Fingerprint');
125 },
126
127 // globs
128 get Amplitude() {
129 return require('./Amplitude').default;
130 },
131 get Audio() {
132 return require('./av/Audio');
133 },
134 get Brightness() {
135 return require('./Brightness');
136 },
137 get Calendar() {
138 return require('./Calendar');
139 },
140 get Constants() {
141 return require('./Constants').default;
142 },
143 get Contacts() {
144 return require('./Contacts');
145 },
146 get DangerZone() {
147 return require('./DangerZone');
148 },
149 get DocumentPicker() {
150 return require('./DocumentPicker');
151 },
152 get FileSystem() {
153 return require('./FileSystem');
154 },
155 get Font() {
156 return require('./Font');
157 },
158 get Google() {
159 return require('./Google');
160 },
161 get Icon() {
162 return require('./Icon').default;
163 },
164 get ImageManipulator() {
165 return require('./ImageManipulator');
166 },
167 get ImagePicker() {
168 return require('./ImagePicker');
169 },
170 get Location() {
171 return require('./Location').default;
172 },
173 get Logs() {
174 return require('./logs/Logs').default;
175 },
176 get MailComposer() {
177 return require('./MailComposer');
178 },
179 get Pedometer() {
180 return require('./Pedometer');
181 },
182 get Permissions() {
183 return require('./Permissions');
184 },
185 get Facebook() {
186 return require('./Facebook').default;
187 },
188 get FacebookAds() {
189 return require('./facebook-ads');
190 },
191 get IntentLauncherAndroid() {
192 return require('./IntentLauncherAndroid');
193 },
194 get ScreenOrientation() {
195 return require('./ScreenOrientation');
196 },
197 get SecureStore() {
198 return require('./SecureStore');
199 },
200 get Segment() {
201 return require('./Segment').default;
202 },
203 get Speech() {
204 return require('./Speech');
205 },
206 get Util() {
207 return require('./Util');
208 },
209};
210
211if (global) {
212 global.__exponent = module.exports;
213 global.__expo = module.exports;
214 global.Expo = module.exports;
215}