UNPKG

3.65 kBJavaScriptView Raw
1/**
2 * @providesModule Exponent
3 * @flow
4 */
5
6import { NativeModules } from 'react-native';
7
8// this is done for the side effects
9import './Logs';
10
11module.exports = {
12 // constants
13 get Amplitude() {
14 return NativeModules.ExponentAmplitude;
15 },
16 get Crypto() {
17 return NativeModules.ExponentCrypto;
18 },
19 get Fabric() {
20 return NativeModules.ExponentFabric;
21 },
22 get Facebook() {
23 return NativeModules.ExponentFacebook;
24 },
25 get FileSystem() {
26 return NativeModules.ExponentFileSystem;
27 },
28 get ImageCropper() {
29 return NativeModules.ExponentImageCropper;
30 },
31 get WebBrowser() {
32 return NativeModules.ExponentWebBrowser;
33 },
34 get Segment() {
35 return NativeModules.ExponentSegment;
36 },
37 get Util() {
38 return NativeModules.ExponentUtil;
39 },
40
41 // defaults
42 get apisAreAvailable() {
43 return require('./apisAreAvailable').default;
44 },
45 get createTHREEViewClass() {
46 return require('./createTHREEViewClass').default;
47 },
48 get registerRootComponent() {
49 return require('./registerRootComponent').default;
50 },
51 get takeSnapshotAsync() {
52 return require('./takeSnapshotAsync').default;
53 },
54 get Asset() {
55 return require('./Asset').default;
56 },
57 get Accelerometer() {
58 return require('./Accelerometer').default;
59 },
60 get GLView() {
61 return require('./GLView').default;
62 },
63 get Gyroscope() {
64 return require('./Gyroscope').default;
65 },
66 get Notifications() {
67 return require('./Notifications').default;
68 },
69
70 get AppLoading() {
71 return require('./AppLoading').default;
72 },
73 get BarCodeScanner() {
74 return require('./BarCodeScanner').default;
75 },
76 get BlurView() {
77 return require('./BlurView').default;
78 },
79 get KeepAwake() {
80 return require('./KeepAwake').default;
81 },
82 get LinearGradient() {
83 return require('./LinearGradient').default;
84 },
85 get MapView() {
86 return require('react-native-maps');
87 },
88 get Video() {
89 return require('./Video').default;
90 },
91 get Svg() {
92 return require('./Svg').default;
93 },
94
95 // globs
96 get Audio() {
97 return require('./Audio');
98 },
99 get Constants() {
100 return require('./Constants');
101 },
102 get Contacts() {
103 return require('./Contacts');
104 },
105 get DangerZone() {
106 return require('./DangerZone');
107 },
108 get Font() {
109 return require('./Font');
110 },
111 get Google() {
112 return require('./Google');
113 },
114 get Icon() {
115 return require('./Icon').default;
116 },
117 get ImagePicker() {
118 return require('./ImagePicker');
119 },
120 get Location() {
121 return require('./Location');
122 },
123 get Logs() {
124 return require('./Logs');
125 },
126 get Permissions() {
127 return require('./Permissions');
128 },
129 get FacebookAds() {
130 return require('./FacebookAds');
131 },
132};
133
134// add deprecated `Components` module
135let Components;
136Object.defineProperty(module.exports, 'Components', {
137 get() {
138 if (!Components) {
139 console.warn(
140 "Components under `Expo.Components` have been moved to the root `Expo` namespace. " +
141 "For example, `Expo.Components.Video` is now `Expo.Video`. The `Expo.Components` " +
142 "namespace is now deprecated and will be removed in version 17.0.0 of 'expo'.");
143 Components = {
144 AppLoading: module.exports.AppLoading,
145 BarCodeScanner: module.exports.BarCodeScanner,
146 BlurView: module.exports.BlurView,
147 KeepAwake: module.exports.KeepAwake,
148 LinearGradient: module.exports.LinearGradient,
149 MapView: module.exports.MapView,
150 Video: module.exports.Video,
151 Svg: module.exports.Svg,
152 };
153 }
154 return Components;
155 }
156})
157
158if (global) {
159 global.__exponent = module.exports;
160}