jest-expo 47.0.0 → 48.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
- const { getManagedExtensions } = require('@expo/config/paths');
2
+ const { getBareExtensions } = require('@expo/config/paths');
3
3
 
4
4
  const expoPreset = require('../jest-preset');
5
5
  const { withWatchPlugins } = require('./withWatchPlugins');
6
6
 
7
7
  function getPlatformPreset(displayOptions, extensions) {
8
- const moduleFileExtensions = getManagedExtensions(extensions, {
8
+ const moduleFileExtensions = getBareExtensions(extensions, {
9
9
  isTS: true,
10
10
  isReact: true,
11
11
  isModern: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jest-expo",
3
- "version": "47.0.0",
3
+ "version": "48.0.0",
4
4
  "description": "A Jest preset to painlessly test your Expo / React Native apps.",
5
5
  "license": "MIT",
6
6
  "main": "src",
@@ -31,19 +31,20 @@
31
31
  "preset": "jest-expo/universal"
32
32
  },
33
33
  "dependencies": {
34
- "@expo/config": "~7.0.0",
35
- "@jest/create-cache-key-function": "^27.0.1",
36
- "babel-jest": "^26.6.3",
34
+ "@expo/config": "~8.0.0",
35
+ "@jest/create-cache-key-function": "^29.2.1",
36
+ "babel-jest": "^29.2.1",
37
37
  "find-up": "^5.0.0",
38
38
  "jest-watch-select-projects": "^2.0.0",
39
- "jest-watch-typeahead": "0.6.4",
39
+ "jest-watch-typeahead": "2.2.1",
40
+ "jest-environment-jsdom": "^29.2.1",
40
41
  "json5": "^2.1.0",
41
42
  "lodash": "^4.17.19",
42
- "react-test-renderer": "~18.1.0"
43
+ "react-test-renderer": "18.2.0"
43
44
  },
44
45
  "bugs": {
45
46
  "url": "https://github.com/expo/expo/issues"
46
47
  },
47
48
  "homepage": "https://github.com/expo/expo/tree/main/packages/jest-expo",
48
- "gitHead": "5ff3a7e56ae21f002da3d699cc95bc98d784cd77"
49
+ "gitHead": "1815e2eaad8c753588c7b1eb74420174a28e01f4"
49
50
  }
@@ -146,39 +146,52 @@ module.exports = {
146
146
  { name: 'setBadgeCountAsync', argumentsCount: 1, key: 0 },
147
147
  { name: 'getBadgeCountAsync', argumentsCount: 0, key: 1 },
148
148
  ],
149
- ExpoBarCodeScannerModule: [
150
- { name: 'getPermissionsAsync', argumentsCount: 0, key: 0 },
151
- { name: 'scanFromURLAsync', argumentsCount: 2, key: 1 },
152
- { name: 'requestPermissionsAsync', argumentsCount: 0, key: 2 },
149
+ ExpoBarCodeScanner: [
150
+ { key: 'requestPermissionsAsync', name: 'requestPermissionsAsync', argumentsCount: 0 },
151
+ { argumentsCount: 0, key: 'getPermissionsAsync', name: 'getPermissionsAsync' },
152
+ { name: 'scanFromURLAsync', argumentsCount: 2, key: 'scanFromURLAsync' },
153
153
  ],
154
- ExpoBarCodeScannerView: [],
155
154
  ExpoBarometer: [
156
155
  { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
157
156
  { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
158
157
  ],
159
158
  ExpoBattery: [
160
- { key: 'getBatteryLevelAsync', argumentsCount: 0, name: 'getBatteryLevelAsync' },
159
+ { key: 'stopObserving', name: 'stopObserving', argumentsCount: 0 },
161
160
  {
161
+ key: 'isLowPowerModeEnabledAsync',
162
162
  argumentsCount: 0,
163
163
  name: 'isLowPowerModeEnabledAsync',
164
- key: 'isLowPowerModeEnabledAsync',
165
164
  },
166
- { key: 'startObserving', name: 'startObserving', argumentsCount: 0 },
167
- { argumentsCount: 0, key: 'stopObserving', name: 'stopObserving' },
168
- { name: 'getBatteryStateAsync', key: 'getBatteryStateAsync', argumentsCount: 0 },
165
+ { argumentsCount: 0, key: 'startObserving', name: 'startObserving' },
166
+ { argumentsCount: 0, key: 'getBatteryLevelAsync', name: 'getBatteryLevelAsync' },
167
+ { argumentsCount: 0, name: 'getBatteryStateAsync', key: 'getBatteryStateAsync' },
169
168
  ],
170
- ExpoBlurViewManager: [{ name: 'setNativeProps', argumentsCount: 2, key: 0 }],
169
+ ExpoBlurView: [{ argumentsCount: 2, key: 'setNativeProps', name: 'setNativeProps' }],
171
170
  ExpoBrightness: [
172
- { name: 'getPermissionsAsync', argumentsCount: 0, key: 0 },
173
- { name: 'getSystemBrightnessAsync', argumentsCount: 0, key: 1 },
174
- { name: 'setSystemBrightnessAsync', argumentsCount: 0, key: 2 },
175
- { name: 'useSystemBrightnessAsync', argumentsCount: 0, key: 3 },
176
- { name: 'isUsingSystemBrightnessAsync', argumentsCount: 0, key: 4 },
177
- { name: 'getSystemBrightnessModeAsync', argumentsCount: 0, key: 5 },
178
- { name: 'requestPermissionsAsync', argumentsCount: 0, key: 6 },
179
- { name: 'setBrightnessAsync', argumentsCount: 1, key: 7 },
180
- { name: 'getBrightnessAsync', argumentsCount: 0, key: 8 },
181
- { name: 'setSystemBrightnessModeAsync', argumentsCount: 0, key: 9 },
171
+ {
172
+ key: 'isUsingSystemBrightnessAsync',
173
+ name: 'isUsingSystemBrightnessAsync',
174
+ argumentsCount: 0,
175
+ },
176
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
177
+ { key: 'useSystemBrightnessAsync', argumentsCount: 0, name: 'useSystemBrightnessAsync' },
178
+ {
179
+ argumentsCount: 0,
180
+ key: 'getSystemBrightnessModeAsync',
181
+ name: 'getSystemBrightnessModeAsync',
182
+ },
183
+ {
184
+ key: 'setSystemBrightnessModeAsync',
185
+ name: 'setSystemBrightnessModeAsync',
186
+ argumentsCount: 0,
187
+ },
188
+ { argumentsCount: 0, key: 'setSystemBrightnessAsync', name: 'setSystemBrightnessAsync' },
189
+ { name: 'getSystemBrightnessAsync', key: 'getSystemBrightnessAsync', argumentsCount: 0 },
190
+ { name: 'setBrightnessAsync', argumentsCount: 1, key: 'setBrightnessAsync' },
191
+ { name: 'getPermissionsAsync', argumentsCount: 0, key: 'getPermissionsAsync' },
192
+ { name: 'requestPermissionsAsync', key: 'requestPermissionsAsync', argumentsCount: 0 },
193
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
194
+ { key: 'getBrightnessAsync', argumentsCount: 0, name: 'getBrightnessAsync' },
182
195
  ],
183
196
  ExpoCalendar: [
184
197
  { name: 'deleteCalendarAsync', argumentsCount: 1, key: 0 },
@@ -203,36 +216,36 @@ module.exports = {
203
216
  ],
204
217
  ExpoCellular: [
205
218
  {
219
+ key: 'getCellularGenerationAsync',
206
220
  name: 'getCellularGenerationAsync',
207
221
  argumentsCount: 0,
208
- key: 'getCellularGenerationAsync',
209
222
  },
210
- { key: 'getIsoCountryCodeAsync', name: 'getIsoCountryCodeAsync', argumentsCount: 0 },
211
223
  {
212
224
  name: 'getMobileCountryCodeAsync',
213
225
  argumentsCount: 0,
214
226
  key: 'getMobileCountryCodeAsync',
215
227
  },
216
228
  {
217
- key: 'getMobileNetworkCodeAsync',
218
229
  name: 'getMobileNetworkCodeAsync',
230
+ key: 'getMobileNetworkCodeAsync',
219
231
  argumentsCount: 0,
220
232
  },
233
+ { argumentsCount: 0, key: 'getCarrierNameAsync', name: 'getCarrierNameAsync' },
234
+ { key: 'getIsoCountryCodeAsync', argumentsCount: 0, name: 'getIsoCountryCodeAsync' },
221
235
  { name: 'allowsVoipAsync', argumentsCount: 0, key: 'allowsVoipAsync' },
222
- { name: 'getCarrierNameAsync', key: 'getCarrierNameAsync', argumentsCount: 0 },
223
236
  ],
224
237
  ExpoClipboard: [
225
- { argumentsCount: 0, key: 'hasImageAsync', name: 'hasImageAsync' },
226
- { name: 'hasUrlAsync', argumentsCount: 0, key: 'hasUrlAsync' },
227
- { name: 'startObserving', key: 'startObserving', argumentsCount: 0 },
228
- { name: 'setStringAsync', argumentsCount: 2, key: 'setStringAsync' },
229
- { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
230
- { key: 'getUrlAsync', name: 'getUrlAsync', argumentsCount: 0 },
231
- { argumentsCount: 1, name: 'getStringAsync', key: 'getStringAsync' },
232
- { argumentsCount: 1, key: 'setImageAsync', name: 'setImageAsync' },
233
- { name: 'getImageAsync', key: 'getImageAsync', argumentsCount: 1 },
234
- { argumentsCount: 0, name: 'hasStringAsync', key: 'hasStringAsync' },
235
- { argumentsCount: 1, key: 'setUrlAsync', name: 'setUrlAsync' },
238
+ { name: 'setStringAsync', key: 'setStringAsync', argumentsCount: 2 },
239
+ { argumentsCount: 1, name: 'getImageAsync', key: 'getImageAsync' },
240
+ { name: 'getUrlAsync', key: 'getUrlAsync', argumentsCount: 0 },
241
+ { argumentsCount: 0, name: 'hasUrlAsync', key: 'hasUrlAsync' },
242
+ { name: 'setImageAsync', argumentsCount: 1, key: 'setImageAsync' },
243
+ { key: 'hasStringAsync', argumentsCount: 0, name: 'hasStringAsync' },
244
+ { name: 'getStringAsync', argumentsCount: 1, key: 'getStringAsync' },
245
+ { argumentsCount: 0, name: 'hasImageAsync', key: 'hasImageAsync' },
246
+ { key: 'setUrlAsync', name: 'setUrlAsync', argumentsCount: 1 },
247
+ { name: 'stopObserving', key: 'stopObserving', argumentsCount: 0 },
248
+ { key: 'startObserving', argumentsCount: 0, name: 'startObserving' },
236
249
  ],
237
250
  ExpoContacts: [
238
251
  { name: 'getDefaultContainerIdentifierAsync', argumentsCount: 0, key: 0 },
@@ -255,13 +268,25 @@ module.exports = {
255
268
  { name: 'dismissFormAsync', argumentsCount: 0, key: 17 },
256
269
  ],
257
270
  ExpoCrypto: [
258
- { name: 'digestString', argumentsCount: 3, key: 'digestString' },
259
- { name: 'digestStringAsync', key: 'digestStringAsync', argumentsCount: 3 },
271
+ {
272
+ name: 'getRandomBase64StringAsync',
273
+ argumentsCount: 1,
274
+ key: 'getRandomBase64StringAsync',
275
+ },
276
+ { argumentsCount: 3, key: 'digestString', name: 'digestString' },
277
+ { argumentsCount: 1, key: 'getRandomBase64String', name: 'getRandomBase64String' },
278
+ { argumentsCount: 1, key: 'getRandomValues', name: 'getRandomValues' },
279
+ { name: 'randomUUID', argumentsCount: 0, key: 'randomUUID' },
280
+ { key: 'digestStringAsync', name: 'digestStringAsync', argumentsCount: 3 },
260
281
  ],
261
282
  ExpoDevice: [
262
- { name: 'getDeviceTypeAsync', argumentsCount: 0, key: 0 },
263
- { name: 'isRootedExperimentalAsync', argumentsCount: 0, key: 1 },
264
- { name: 'getUptimeAsync', argumentsCount: 0, key: 2 },
283
+ {
284
+ key: 'isRootedExperimentalAsync',
285
+ argumentsCount: 0,
286
+ name: 'isRootedExperimentalAsync',
287
+ },
288
+ { key: 'getDeviceTypeAsync', name: 'getDeviceTypeAsync', argumentsCount: 0 },
289
+ { argumentsCount: 0, key: 'getUptimeAsync', name: 'getUptimeAsync' },
265
290
  ],
266
291
  ExpoDocumentPicker: [{ name: 'getDocumentAsync', argumentsCount: 1, key: 0 }],
267
292
  ExpoErrorRecovery: [{ name: 'saveRecoveryProps', argumentsCount: 1, key: 0 }],
@@ -277,30 +302,34 @@ module.exports = {
277
302
  ExpoFirebaseCore: [],
278
303
  ExpoFontLoader: [{ name: 'loadAsync', argumentsCount: 2, key: 0 }],
279
304
  ExpoHaptics: [
280
- { name: 'selectionAsync', key: 'selectionAsync', argumentsCount: 0 },
281
- { key: 'notificationAsync', name: 'notificationAsync', argumentsCount: 1 },
305
+ { name: 'selectionAsync', argumentsCount: 0, key: 'selectionAsync' },
306
+ { argumentsCount: 1, key: 'notificationAsync', name: 'notificationAsync' },
282
307
  { name: 'impactAsync', argumentsCount: 1, key: 'impactAsync' },
283
308
  ],
284
309
  ExpoImageManipulator: [
285
- { key: 'manipulateAsync', name: 'manipulateAsync', argumentsCount: 3 },
310
+ { name: 'manipulateAsync', argumentsCount: 3, key: 'manipulateAsync' },
286
311
  ],
287
312
  ExpoKeepAwake: [
288
- { argumentsCount: 1, name: 'deactivate', key: 'deactivate' },
289
- { argumentsCount: 0, name: 'isActivated', key: 'isActivated' },
290
- { argumentsCount: 1, name: 'activate', key: 'activate' },
313
+ { name: 'activate', argumentsCount: 1, key: 'activate' },
314
+ { name: 'deactivate', argumentsCount: 1, key: 'deactivate' },
315
+ { name: 'isActivated', argumentsCount: 0, key: 'isActivated' },
291
316
  ],
292
317
  ExpoLinearGradient: [],
293
318
  ExpoLocalAuthentication: [
294
- { name: 'supportedAuthenticationTypesAsync', argumentsCount: 0, key: 0 },
295
- { name: 'isEnrolledAsync', argumentsCount: 0, key: 1 },
296
- { name: 'getEnrolledLevelAsync', argumentsCount: 0, key: 2 },
297
- { name: 'hasHardwareAsync', argumentsCount: 0, key: 3 },
298
- { name: 'authenticateAsync', argumentsCount: 1, key: 4 },
319
+ {
320
+ argumentsCount: 0,
321
+ key: 'supportedAuthenticationTypesAsync',
322
+ name: 'supportedAuthenticationTypesAsync',
323
+ },
324
+ { argumentsCount: 0, key: 'getEnrolledLevelAsync', name: 'getEnrolledLevelAsync' },
325
+ { key: 'isEnrolledAsync', name: 'isEnrolledAsync', argumentsCount: 0 },
326
+ { name: 'hasHardwareAsync', key: 'hasHardwareAsync', argumentsCount: 0 },
327
+ { key: 'authenticateAsync', argumentsCount: 1, name: 'authenticateAsync' },
299
328
  ],
300
329
  ExpoLocalization: [
301
- { name: 'getLocalizationAsync', argumentsCount: 0, key: 'getLocalizationAsync' },
330
+ { name: 'getCalendars', argumentsCount: 0, key: 'getCalendars' },
302
331
  { name: 'getLocales', argumentsCount: 0, key: 'getLocales' },
303
- { key: 'getCalendars', name: 'getCalendars', argumentsCount: 0 },
332
+ { key: 'getLocalizationAsync', argumentsCount: 0, name: 'getLocalizationAsync' },
304
333
  ],
305
334
  ExpoLocation: [
306
335
  { name: 'watchPositionImplAsync', argumentsCount: 2, key: 0 },
@@ -326,12 +355,29 @@ module.exports = {
326
355
  { name: 'requestBackgroundPermissionsAsync', argumentsCount: 0, key: 20 },
327
356
  ],
328
357
  ExpoMailComposer: [
329
- { argumentsCount: 1, key: 'composeAsync', name: 'composeAsync' },
330
- { key: 'isAvailableAsync', argumentsCount: 0, name: 'isAvailableAsync' },
358
+ { argumentsCount: 0, name: 'isAvailableAsync', key: 'isAvailableAsync' },
359
+ { argumentsCount: 1, name: 'composeAsync', key: 'composeAsync' },
360
+ ],
361
+ ExpoMediaLibrary: [
362
+ { name: 'createAssetAsync', argumentsCount: 1, key: 0 },
363
+ { name: 'deleteAssetsAsync', argumentsCount: 1, key: 1 },
364
+ { name: 'getPermissionsAsync', argumentsCount: 1, key: 2 },
365
+ { name: 'removeAssetsFromAlbumAsync', argumentsCount: 2, key: 3 },
366
+ { name: 'saveToLibraryAsync', argumentsCount: 1, key: 4 },
367
+ { name: 'requestPermissionsAsync', argumentsCount: 1, key: 5 },
368
+ { name: 'getAlbumsAsync', argumentsCount: 1, key: 6 },
369
+ { name: 'getAssetsAsync', argumentsCount: 1, key: 7 },
370
+ { name: 'createAlbumAsync', argumentsCount: 2, key: 8 },
371
+ { name: 'deleteAlbumsAsync', argumentsCount: 2, key: 9 },
372
+ { name: 'getMomentsAsync', argumentsCount: 0, key: 10 },
373
+ { name: 'presentPermissionsPickerAsync', argumentsCount: 0, key: 11 },
374
+ { name: 'addAssetsToAlbumAsync', argumentsCount: 2, key: 12 },
375
+ { name: 'getAssetInfoAsync', argumentsCount: 2, key: 13 },
376
+ { name: 'getAlbumAsync', argumentsCount: 1, key: 14 },
331
377
  ],
332
378
  ExpoNetwork: [
333
- { name: 'getIpAddressAsync', argumentsCount: 0, key: 0 },
334
- { name: 'getNetworkStateAsync', argumentsCount: 0, key: 1 },
379
+ { argumentsCount: 0, name: 'getNetworkStateAsync', key: 'getNetworkStateAsync' },
380
+ { key: 'getIpAddressAsync', name: 'getIpAddressAsync', argumentsCount: 0 },
335
381
  ],
336
382
  ExpoNotificationCategoriesModule: [
337
383
  { name: 'deleteNotificationCategoryAsync', argumentsCount: 1, key: 0 },
@@ -370,7 +416,7 @@ module.exports = {
370
416
  { name: 'unregisterForNotificationsAsync', argumentsCount: 0, key: 1 },
371
417
  ],
372
418
  ExpoRandom: [
373
- { name: 'getRandomBase64String', argumentsCount: 1, key: 'getRandomBase64String' },
419
+ { argumentsCount: 1, name: 'getRandomBase64String', key: 'getRandomBase64String' },
374
420
  {
375
421
  name: 'getRandomBase64StringAsync',
376
422
  key: 'getRandomBase64StringAsync',
@@ -378,8 +424,8 @@ module.exports = {
378
424
  },
379
425
  ],
380
426
  ExpoSMS: [
381
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
382
- { name: 'sendSMSAsync', argumentsCount: 3, key: 1 },
427
+ { name: 'sendSMSAsync', key: 'sendSMSAsync', argumentsCount: 3 },
428
+ { argumentsCount: 0, name: 'isAvailableAsync', key: 'isAvailableAsync' },
383
429
  ],
384
430
  ExpoScreenCapture: [
385
431
  { name: 'preventScreenCapture', argumentsCount: 0, key: 0 },
@@ -404,12 +450,12 @@ module.exports = {
404
450
  { name: 'preventAutoHideAsync', argumentsCount: 0, key: 1 },
405
451
  ],
406
452
  ExpoStoreReview: [
407
- { name: 'requestReview', key: 'requestReview', argumentsCount: 0 },
408
- { name: 'isAvailableAsync', key: 'isAvailableAsync', argumentsCount: 0 },
453
+ { argumentsCount: 0, name: 'requestReview', key: 'requestReview' },
454
+ { key: 'isAvailableAsync', name: 'isAvailableAsync', argumentsCount: 0 },
409
455
  ],
410
456
  ExpoSystemUI: [
411
- { argumentsCount: 0, key: 'getBackgroundColorAsync', name: 'getBackgroundColorAsync' },
412
- { argumentsCount: 1, name: 'setBackgroundColorAsync', key: 'setBackgroundColorAsync' },
457
+ { name: 'setBackgroundColorAsync', key: 'setBackgroundColorAsync', argumentsCount: 1 },
458
+ { name: 'getBackgroundColorAsync', key: 'getBackgroundColorAsync', argumentsCount: 0 },
413
459
  ],
414
460
  ExpoTaskManager: [
415
461
  { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
@@ -421,8 +467,8 @@ module.exports = {
421
467
  { name: 'getRegisteredTasksAsync', argumentsCount: 0, key: 6 },
422
468
  ],
423
469
  ExpoTrackingTransparency: [
424
- { argumentsCount: 0, key: 'getPermissionsAsync', name: 'getPermissionsAsync' },
425
- { argumentsCount: 0, key: 'requestPermissionsAsync', name: 'requestPermissionsAsync' },
470
+ { name: 'requestPermissionsAsync', key: 'requestPermissionsAsync', argumentsCount: 0 },
471
+ { name: 'getPermissionsAsync', key: 'getPermissionsAsync', argumentsCount: 0 },
426
472
  ],
427
473
  ExpoUpdates: [
428
474
  { name: 'readLogEntriesAsync', argumentsCount: 1, key: 0 },
@@ -431,21 +477,21 @@ module.exports = {
431
477
  { name: 'clearLogEntriesAsync', argumentsCount: 0, key: 3 },
432
478
  { name: 'reload', argumentsCount: 0, key: 4 },
433
479
  ],
434
- ExpoVideoThumbnails: [{ name: 'getThumbnail', argumentsCount: 2, key: 0 }],
480
+ ExpoVideoThumbnails: [{ key: 'getThumbnail', name: 'getThumbnail', argumentsCount: 2 }],
435
481
  ExpoVideoView: [{ name: 'setFullscreen', key: 'setFullscreen', argumentsCount: 2 }],
436
482
  ExpoWebBrowser: [
483
+ { name: 'openAuthSessionAsync', key: 'openAuthSessionAsync', argumentsCount: 3 },
484
+ { key: 'warmUpAsync', name: 'warmUpAsync', argumentsCount: 0 },
485
+ { argumentsCount: 0, name: 'dismissBrowser', key: 'dismissBrowser' },
437
486
  { argumentsCount: 0, key: 'mayInitWithUrlAsync', name: 'mayInitWithUrlAsync' },
438
487
  {
439
- argumentsCount: 0,
440
488
  name: 'getCustomTabsSupportingBrowsers',
489
+ argumentsCount: 0,
441
490
  key: 'getCustomTabsSupportingBrowsers',
442
491
  },
443
492
  { name: 'openBrowserAsync', argumentsCount: 2, key: 'openBrowserAsync' },
444
- { key: 'dismissBrowser', name: 'dismissBrowser', argumentsCount: 0 },
445
- { key: 'warmUpAsync', argumentsCount: 0, name: 'warmUpAsync' },
446
- { argumentsCount: 3, name: 'openAuthSessionAsync', key: 'openAuthSessionAsync' },
447
- { key: 'coolDownAsync', argumentsCount: 0, name: 'coolDownAsync' },
448
- { argumentsCount: 0, key: 'dismissAuthSession', name: 'dismissAuthSession' },
493
+ { name: 'dismissAuthSession', argumentsCount: 0, key: 'dismissAuthSession' },
494
+ { name: 'coolDownAsync', key: 'coolDownAsync', argumentsCount: 0 },
449
495
  ],
450
496
  ExponentAV: [
451
497
  { name: 'getStatusForVideo', argumentsCount: 1, key: 0 },
@@ -477,41 +523,43 @@ module.exports = {
477
523
  { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
478
524
  ],
479
525
  ExponentCamera: [
480
- { argumentsCount: 1, name: 'stopRecording', key: 'stopRecording' },
526
+ { name: 'requestPermissionsAsync', argumentsCount: 0, key: 'requestPermissionsAsync' },
481
527
  {
482
- name: 'getCameraPermissionsAsync',
528
+ name: 'requestCameraPermissionsAsync',
483
529
  argumentsCount: 0,
484
- key: 'getCameraPermissionsAsync',
530
+ key: 'requestCameraPermissionsAsync',
485
531
  },
532
+ { key: 'getPermissionsAsync', argumentsCount: 0, name: 'getPermissionsAsync' },
486
533
  {
487
- name: 'getAvailableVideoCodecsAsync',
534
+ key: 'requestMicrophonePermissionsAsync',
488
535
  argumentsCount: 0,
489
- key: 'getAvailableVideoCodecsAsync',
536
+ name: 'requestMicrophonePermissionsAsync',
490
537
  },
538
+ { argumentsCount: 1, name: 'stopRecording', key: 'stopRecording' },
491
539
  {
492
- name: 'getMicrophonePermissionsAsync',
540
+ key: 'getAvailableVideoCodecsAsync',
493
541
  argumentsCount: 0,
494
- key: 'getMicrophonePermissionsAsync',
542
+ name: 'getAvailableVideoCodecsAsync',
495
543
  },
496
- { argumentsCount: 1, key: 'pausePreview', name: 'pausePreview' },
497
- { name: 'requestPermissionsAsync', argumentsCount: 0, key: 'requestPermissionsAsync' },
498
- { key: 'resumePreview', name: 'resumePreview', argumentsCount: 1 },
544
+ { key: 'resumePreview', argumentsCount: 1, name: 'resumePreview' },
545
+ { argumentsCount: 2, key: 'takePicture', name: 'takePicture' },
546
+ { key: 'getAvailablePictureSizes', name: 'getAvailablePictureSizes', argumentsCount: 2 },
547
+ { name: 'pausePreview', key: 'pausePreview', argumentsCount: 1 },
499
548
  {
500
- key: 'requestMicrophonePermissionsAsync',
501
- name: 'requestMicrophonePermissionsAsync',
549
+ name: 'getCameraPermissionsAsync',
502
550
  argumentsCount: 0,
551
+ key: 'getCameraPermissionsAsync',
503
552
  },
504
- { key: 'getAvailablePictureSizes', name: 'getAvailablePictureSizes', argumentsCount: 2 },
505
- { key: 'getPermissionsAsync', name: 'getPermissionsAsync', argumentsCount: 0 },
506
- { name: 'takePicture', key: 'takePicture', argumentsCount: 2 },
507
- { name: 'record', argumentsCount: 2, key: 'record' },
508
553
  {
509
- name: 'requestCameraPermissionsAsync',
554
+ key: 'getMicrophonePermissionsAsync',
555
+ name: 'getMicrophonePermissionsAsync',
510
556
  argumentsCount: 0,
511
- key: 'requestCameraPermissionsAsync',
512
557
  },
558
+ { argumentsCount: 2, key: 'record', name: 'record' },
559
+ ],
560
+ ExponentConstants: [
561
+ { name: 'getWebViewUserAgentAsync', key: 'getWebViewUserAgentAsync', argumentsCount: 0 },
513
562
  ],
514
- ExponentConstants: [{ name: 'getWebViewUserAgentAsync', argumentsCount: 0, key: 0 }],
515
563
  ExponentDeviceMotion: [
516
564
  { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
517
565
  { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
@@ -541,33 +589,33 @@ module.exports = {
541
589
  { name: 'createCameraTextureAsync', argumentsCount: 2, key: 3 },
542
590
  { name: 'takeSnapshotAsync', argumentsCount: 2, key: 4 },
543
591
  ],
544
- ExponentGLViewManager: [],
592
+ ExponentGLView: [],
545
593
  ExponentGyroscope: [
546
594
  { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
547
595
  { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
548
596
  ],
549
597
  ExponentImagePicker: [
550
598
  {
551
- key: 'getCameraPermissionsAsync',
552
- name: 'getCameraPermissionsAsync',
553
- argumentsCount: 0,
599
+ argumentsCount: 1,
600
+ key: 'requestMediaLibraryPermissionsAsync',
601
+ name: 'requestMediaLibraryPermissionsAsync',
554
602
  },
555
- { name: 'launchImageLibraryAsync', argumentsCount: 1, key: 'launchImageLibraryAsync' },
556
603
  {
557
- name: 'getMediaLibraryPermissionsAsync',
558
- argumentsCount: 1,
559
- key: 'getMediaLibraryPermissionsAsync',
604
+ argumentsCount: 0,
605
+ key: 'getCameraPermissionsAsync',
606
+ name: 'getCameraPermissionsAsync',
560
607
  },
561
608
  {
562
- name: 'requestCameraPermissionsAsync',
563
609
  argumentsCount: 0,
610
+ name: 'requestCameraPermissionsAsync',
564
611
  key: 'requestCameraPermissionsAsync',
565
612
  },
566
- { argumentsCount: 1, name: 'launchCameraAsync', key: 'launchCameraAsync' },
613
+ { name: 'launchCameraAsync', argumentsCount: 1, key: 'launchCameraAsync' },
614
+ { name: 'launchImageLibraryAsync', argumentsCount: 1, key: 'launchImageLibraryAsync' },
567
615
  {
568
- name: 'requestMediaLibraryPermissionsAsync',
569
- key: 'requestMediaLibraryPermissionsAsync',
616
+ name: 'getMediaLibraryPermissionsAsync',
570
617
  argumentsCount: 1,
618
+ key: 'getMediaLibraryPermissionsAsync',
571
619
  },
572
620
  ],
573
621
  ExponentMagnetometer: [
@@ -578,23 +626,6 @@ module.exports = {
578
626
  { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
579
627
  { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
580
628
  ],
581
- ExponentMediaLibrary: [
582
- { name: 'createAssetAsync', argumentsCount: 1, key: 0 },
583
- { name: 'deleteAssetsAsync', argumentsCount: 1, key: 1 },
584
- { name: 'getPermissionsAsync', argumentsCount: 1, key: 2 },
585
- { name: 'removeAssetsFromAlbumAsync', argumentsCount: 2, key: 3 },
586
- { name: 'saveToLibraryAsync', argumentsCount: 1, key: 4 },
587
- { name: 'requestPermissionsAsync', argumentsCount: 1, key: 5 },
588
- { name: 'getAlbumsAsync', argumentsCount: 1, key: 6 },
589
- { name: 'getAssetsAsync', argumentsCount: 1, key: 7 },
590
- { name: 'createAlbumAsync', argumentsCount: 2, key: 8 },
591
- { name: 'deleteAlbumsAsync', argumentsCount: 2, key: 9 },
592
- { name: 'getMomentsAsync', argumentsCount: 0, key: 10 },
593
- { name: 'presentPermissionsPickerAsync', argumentsCount: 0, key: 11 },
594
- { name: 'addAssetsToAlbumAsync', argumentsCount: 2, key: 12 },
595
- { name: 'getAssetInfoAsync', argumentsCount: 2, key: 13 },
596
- { name: 'getAlbumAsync', argumentsCount: 1, key: 14 },
597
- ],
598
629
  ExponentPedometer: [
599
630
  { name: 'requestPermissionsAsync', argumentsCount: 0, key: 0 },
600
631
  { name: 'getPermissionsAsync', argumentsCount: 0, key: 1 },
@@ -619,7 +650,7 @@ module.exports = {
619
650
  { name: 'isSpeaking', argumentsCount: 0, key: 4 },
620
651
  { name: 'getVoices', argumentsCount: 0, key: 5 },
621
652
  ],
622
- NativeModulesProxy: [{ key: 'callMethod', name: 'callMethod', argumentsCount: 3 }],
653
+ NativeModulesProxy: [{ name: 'callMethod', argumentsCount: 3, key: 'callMethod' }],
623
654
  NotificationsServerRegistrationModule: [
624
655
  { name: 'getRegistrationInfoAsync', argumentsCount: 0, key: 0 },
625
656
  { name: 'setRegistrationInfoAsync', argumentsCount: 1, key: 1 },
@@ -631,30 +662,113 @@ module.exports = {
631
662
  modulesConstants: {
632
663
  type: 'mock',
633
664
  mockDefinition: {
634
- EASClient: { clientID: { type: 'string' } },
665
+ EASClient: {
666
+ addListener: { type: 'function' },
667
+ clientID: { type: 'string' },
668
+ removeListeners: { type: 'function' },
669
+ },
635
670
  ExpoApplication: {
671
+ addListener: { type: 'function' },
636
672
  applicationId: { type: 'string' },
637
673
  applicationName: { type: 'string' },
674
+ getApplicationReleaseTypeAsync: { type: 'function' },
675
+ getInstallationTimeAsync: { type: 'function' },
676
+ getIosIdForVendorAsync: { type: 'function' },
677
+ getPushNotificationServiceEnvironmentAsync: { type: 'function' },
638
678
  nativeApplicationVersion: { type: 'string' },
639
679
  nativeBuildVersion: { type: 'string' },
680
+ removeListeners: { type: 'function' },
681
+ },
682
+ ExpoBarCodeScanner: {
683
+ BarCodeType: { type: 'object' },
684
+ Type: { type: 'object' },
685
+ addListener: { type: 'function' },
686
+ getPermissionsAsync: { type: 'function' },
687
+ removeListeners: { type: 'function' },
688
+ requestPermissionsAsync: { type: 'function' },
689
+ scanFromURLAsync: { type: 'function' },
690
+ },
691
+ ExpoBattery: {
692
+ addListener: { type: 'function' },
693
+ getBatteryLevelAsync: { type: 'function' },
694
+ getBatteryStateAsync: { type: 'function' },
695
+ isLowPowerModeEnabledAsync: { type: 'function' },
696
+ isSupported: { type: 'boolean', mock: false },
697
+ removeListeners: { type: 'function' },
698
+ startObserving: { type: 'function' },
699
+ stopObserving: { type: 'function' },
700
+ },
701
+ ExpoBlurView: {
702
+ addListener: { type: 'function' },
703
+ removeListeners: { type: 'function' },
704
+ setNativeProps: { type: 'function' },
705
+ },
706
+ ExpoBrightness: {
707
+ addListener: { type: 'function' },
708
+ getBrightnessAsync: { type: 'function' },
709
+ getPermissionsAsync: { type: 'function' },
710
+ getSystemBrightnessAsync: { type: 'function' },
711
+ getSystemBrightnessModeAsync: { type: 'function' },
712
+ isUsingSystemBrightnessAsync: { type: 'function' },
713
+ removeListeners: { type: 'function' },
714
+ requestPermissionsAsync: { type: 'function' },
715
+ setBrightnessAsync: { type: 'function' },
716
+ setSystemBrightnessAsync: { type: 'function' },
717
+ setSystemBrightnessModeAsync: { type: 'function' },
718
+ startObserving: { type: 'function' },
719
+ stopObserving: { type: 'function' },
720
+ useSystemBrightnessAsync: { type: 'function' },
640
721
  },
641
- ExpoBarCodeScannerModule: { BarCodeType: { type: 'object' }, Type: { type: 'object' } },
642
- ExpoBattery: { isSupported: { type: 'boolean', mock: true } },
643
722
  ExpoCellular: {
644
- allowsVoip: { type: 'boolean', mock: true },
645
- carrier: { type: 'string' },
723
+ addListener: { type: 'function' },
724
+ allowsVoip: { type: 'object', mock: null },
725
+ allowsVoipAsync: { type: 'function' },
726
+ carrier: { type: 'object', mock: null },
646
727
  generation: { type: 'number', mock: 0 },
728
+ getCarrierNameAsync: { type: 'function' },
729
+ getCellularGenerationAsync: { type: 'function' },
730
+ getIsoCountryCodeAsync: { type: 'function' },
731
+ getMobileCountryCodeAsync: { type: 'function' },
732
+ getMobileNetworkCodeAsync: { type: 'function' },
647
733
  isoCountryCode: { type: 'object', mock: null },
648
734
  mobileCountryCode: { type: 'object', mock: null },
649
735
  mobileNetworkCode: { type: 'object', mock: null },
736
+ removeListeners: { type: 'function' },
737
+ },
738
+ ExpoClipboard: {
739
+ addListener: { type: 'function' },
740
+ getImageAsync: { type: 'function' },
741
+ getStringAsync: { type: 'function' },
742
+ getUrlAsync: { type: 'function' },
743
+ hasImageAsync: { type: 'function' },
744
+ hasStringAsync: { type: 'function' },
745
+ hasUrlAsync: { type: 'function' },
746
+ removeListeners: { type: 'function' },
747
+ setImageAsync: { type: 'function' },
748
+ setStringAsync: { type: 'function' },
749
+ setUrlAsync: { type: 'function' },
750
+ startObserving: { type: 'function' },
751
+ stopObserving: { type: 'function' },
752
+ },
753
+ ExpoCrypto: {
754
+ addListener: { type: 'function' },
755
+ digestString: { type: 'function' },
756
+ digestStringAsync: { type: 'function' },
757
+ getRandomBase64String: { type: 'function' },
758
+ getRandomBase64StringAsync: { type: 'function' },
759
+ getRandomValues: { type: 'function' },
760
+ randomUUID: { type: 'function' },
761
+ removeListeners: { type: 'function' },
650
762
  },
651
- ExpoClipboard: {},
652
- ExpoCrypto: {},
653
763
  ExpoDevice: {
764
+ addListener: { type: 'function' },
654
765
  brand: { type: 'string' },
655
766
  deviceName: { type: 'string' },
656
- deviceYearClass: { type: 'number', mock: 2021 },
657
- isDevice: { type: 'boolean', mock: true },
767
+ deviceYearClass: { type: 'number', mock: 2022 },
768
+ getDeviceTypeAsync: { type: 'function' },
769
+ getUptimeAsync: { type: 'function' },
770
+ isDevice: { type: 'boolean', mock: false },
771
+ isRootedExperimentalAsync: { type: 'function' },
658
772
  manufacturer: { type: 'string' },
659
773
  modelId: { type: 'string' },
660
774
  modelName: { type: 'string' },
@@ -662,34 +776,124 @@ module.exports = {
662
776
  osInternalBuildId: { type: 'string' },
663
777
  osName: { type: 'string' },
664
778
  osVersion: { type: 'string' },
779
+ removeListeners: { type: 'function' },
665
780
  supportedCpuArchitectures: { type: 'array' },
666
- totalMemory: { type: 'number', mock: 3824369664 },
781
+ totalMemory: { type: 'number', mock: 8589934592 },
782
+ },
783
+ ExpoErrorRecovery: {
784
+ addListener: { type: 'function' },
785
+ recoveredProps: { type: 'object', mock: null },
786
+ removeListeners: { type: 'function' },
787
+ saveRecoveryProps: { type: 'function' },
667
788
  },
668
- ExpoErrorRecovery: { recoveredProps: { type: 'object', mock: null } },
669
789
  ExpoFaceDetector: {
670
790
  Classifications: { type: 'object' },
671
791
  Landmarks: { type: 'object' },
672
792
  Mode: { type: 'object' },
793
+ addListener: { type: 'function' },
794
+ detectFaces: { type: 'function' },
795
+ removeListeners: { type: 'function' },
796
+ },
797
+ ExpoFirebaseCore: {
798
+ DEFAULT_APP_NAME: { type: 'string' },
799
+ addListener: { type: 'function' },
800
+ removeListeners: { type: 'function' },
801
+ },
802
+ ExpoHaptics: {
803
+ addListener: { type: 'function' },
804
+ impactAsync: { type: 'function' },
805
+ notificationAsync: { type: 'function' },
806
+ removeListeners: { type: 'function' },
807
+ selectionAsync: { type: 'function' },
808
+ },
809
+ ExpoImageManipulator: {
810
+ addListener: { type: 'function' },
811
+ manipulateAsync: { type: 'function' },
812
+ removeListeners: { type: 'function' },
813
+ },
814
+ ExpoKeepAwake: {
815
+ activate: { type: 'function' },
816
+ addListener: { type: 'function' },
817
+ deactivate: { type: 'function' },
818
+ isActivated: { type: 'function' },
819
+ removeListeners: { type: 'function' },
820
+ },
821
+ ExpoLinearGradient: {
822
+ addListener: { type: 'function' },
823
+ removeListeners: { type: 'function' },
824
+ },
825
+ ExpoLocalAuthentication: {
826
+ addListener: { type: 'function' },
827
+ authenticateAsync: { type: 'function' },
828
+ getEnrolledLevelAsync: { type: 'function' },
829
+ hasHardwareAsync: { type: 'function' },
830
+ isEnrolledAsync: { type: 'function' },
831
+ removeListeners: { type: 'function' },
832
+ supportedAuthenticationTypesAsync: { type: 'function' },
673
833
  },
674
- ExpoFirebaseCore: { DEFAULT_APP_NAME: { type: 'string' } },
675
- ExpoHaptics: {},
676
- ExpoImageManipulator: {},
677
- ExpoKeepAwake: {},
678
- ExpoLinearGradient: {},
679
834
  ExpoLocalization: {
835
+ addListener: { type: 'function' },
680
836
  currency: { type: 'string' },
681
837
  decimalSeparator: { type: 'string' },
682
838
  digitGroupingSeparator: { type: 'string' },
683
- isMetric: { type: 'boolean', mock: true },
839
+ getCalendars: { type: 'function' },
840
+ getLocales: { type: 'function' },
841
+ getLocalizationAsync: { type: 'function' },
842
+ isMetric: { type: 'boolean', mock: false },
684
843
  isRTL: { type: 'boolean', mock: false },
685
844
  isoCurrencyCodes: { type: 'array' },
686
845
  locale: { type: 'string' },
687
846
  locales: { type: 'array' },
688
847
  region: { type: 'string' },
848
+ removeListeners: { type: 'function' },
689
849
  timezone: { type: 'string' },
690
850
  },
691
- ExpoMailComposer: {},
692
- ExpoRandom: {},
851
+ ExpoMailComposer: {
852
+ addListener: { type: 'function' },
853
+ composeAsync: { type: 'function' },
854
+ isAvailableAsync: { type: 'function' },
855
+ removeListeners: { type: 'function' },
856
+ },
857
+ ExpoMediaLibrary: {
858
+ CHANGE_LISTENER_NAME: { type: 'string' },
859
+ MediaType: { type: 'object' },
860
+ SortBy: { type: 'object' },
861
+ addAssetsToAlbumAsync: { type: 'function' },
862
+ addListener: { type: 'function' },
863
+ createAlbumAsync: { type: 'function' },
864
+ createAssetAsync: { type: 'function' },
865
+ deleteAlbumsAsync: { type: 'function' },
866
+ deleteAssetsAsync: { type: 'function' },
867
+ getAlbumAsync: { type: 'function' },
868
+ getAlbumsAsync: { type: 'function' },
869
+ getAssetInfoAsync: { type: 'function' },
870
+ getAssetsAsync: { type: 'function' },
871
+ getMomentsAsync: { type: 'function' },
872
+ getPermissionsAsync: { type: 'function' },
873
+ presentPermissionsPickerAsync: { type: 'function' },
874
+ removeAssetsFromAlbumAsync: { type: 'function' },
875
+ removeListeners: { type: 'function' },
876
+ requestPermissionsAsync: { type: 'function' },
877
+ saveToLibraryAsync: { type: 'function' },
878
+ },
879
+ ExpoNetwork: {
880
+ addListener: { type: 'function' },
881
+ getIpAddressAsync: { type: 'function' },
882
+ getNetworkStateAsync: { type: 'function' },
883
+ removeListeners: { type: 'function' },
884
+ },
885
+ ExpoRandom: {
886
+ addListener: { type: 'function' },
887
+ getRandomBase64String: { type: 'function' },
888
+ getRandomBase64StringAsync: { type: 'function' },
889
+ removeListeners: { type: 'function' },
890
+ },
891
+ ExpoSMS: {
892
+ addListener: { type: 'function' },
893
+ isAvailableAsync: { type: 'function' },
894
+ removeListeners: { type: 'function' },
895
+ sendSMSAsync: { type: 'function' },
896
+ },
693
897
  ExpoSecureStore: {
694
898
  AFTER_FIRST_UNLOCK: { type: 'number', mock: 0 },
695
899
  AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY: { type: 'number', mock: 1 },
@@ -698,26 +902,111 @@ module.exports = {
698
902
  WHEN_PASSCODE_SET_THIS_DEVICE_ONLY: { type: 'number', mock: 3 },
699
903
  WHEN_UNLOCKED: { type: 'number', mock: 5 },
700
904
  WHEN_UNLOCKED_THIS_DEVICE_ONLY: { type: 'number', mock: 6 },
905
+ addListener: { type: 'function' },
906
+ deleteValueWithKeyAsync: { type: 'function' },
907
+ getValueWithKeyAsync: { type: 'function' },
908
+ removeListeners: { type: 'function' },
909
+ setValueWithKeyAsync: { type: 'function' },
910
+ },
911
+ ExpoStoreReview: {
912
+ addListener: { type: 'function' },
913
+ isAvailableAsync: { type: 'function' },
914
+ removeListeners: { type: 'function' },
915
+ requestReview: { type: 'function' },
916
+ },
917
+ ExpoSystemUI: {
918
+ addListener: { type: 'function' },
919
+ getBackgroundColorAsync: { type: 'function' },
920
+ removeListeners: { type: 'function' },
921
+ setBackgroundColorAsync: { type: 'function' },
922
+ },
923
+ ExpoTaskManager: {
924
+ EVENT_NAME: { type: 'string' },
925
+ addListener: { type: 'function' },
926
+ getRegisteredTasksAsync: { type: 'function' },
927
+ getTaskOptionsAsync: { type: 'function' },
928
+ isAvailableAsync: { type: 'function' },
929
+ isTaskRegisteredAsync: { type: 'function' },
930
+ notifyTaskFinishedAsync: { type: 'function' },
931
+ removeListeners: { type: 'function' },
932
+ unregisterAllTasksAsync: { type: 'function' },
933
+ unregisterTaskAsync: { type: 'function' },
934
+ },
935
+ ExpoTrackingTransparency: {
936
+ addListener: { type: 'function' },
937
+ getPermissionsAsync: { type: 'function' },
938
+ removeListeners: { type: 'function' },
939
+ requestPermissionsAsync: { type: 'function' },
701
940
  },
702
- ExpoStoreReview: {},
703
- ExpoSystemUI: {},
704
- ExpoTaskManager: { EVENT_NAME: { type: 'string' } },
705
- ExpoTrackingTransparency: {},
706
941
  ExpoUpdates: {
942
+ addListener: { type: 'function' },
707
943
  channel: { type: 'string' },
944
+ checkForUpdateAsync: { type: 'function' },
945
+ clearLogEntriesAsync: { type: 'function' },
946
+ fetchUpdateAsync: { type: 'function' },
947
+ isEmbeddedLaunch: { type: 'boolean', mock: false },
708
948
  isEnabled: { type: 'boolean', mock: false },
709
949
  isMissingRuntimeVersion: { type: 'boolean', mock: false },
950
+ readLogEntriesAsync: { type: 'function' },
710
951
  releaseChannel: { type: 'string' },
952
+ reload: { type: 'function' },
953
+ removeListeners: { type: 'function' },
711
954
  runtimeVersion: { type: 'string' },
712
955
  },
956
+ ExpoVideoThumbnails: {
957
+ addListener: { type: 'function' },
958
+ getThumbnail: { type: 'function' },
959
+ removeListeners: { type: 'function' },
960
+ },
713
961
  ExpoVideoView: {
714
962
  ScaleAspectFill: { type: 'string' },
715
963
  ScaleAspectFit: { type: 'string' },
716
964
  ScaleNone: { type: 'string' },
717
965
  ScaleToFill: { type: 'string' },
966
+ addListener: { type: 'function' },
967
+ removeListeners: { type: 'function' },
968
+ setFullscreen: { type: 'function' },
969
+ },
970
+ ExpoWebBrowser: {
971
+ addListener: { type: 'function' },
972
+ coolDownAsync: { type: 'function' },
973
+ dismissAuthSession: { type: 'function' },
974
+ dismissBrowser: { type: 'function' },
975
+ getCustomTabsSupportingBrowsers: { type: 'function' },
976
+ mayInitWithUrlAsync: { type: 'function' },
977
+ openAuthSessionAsync: { type: 'function' },
978
+ openBrowserAsync: { type: 'function' },
979
+ removeListeners: { type: 'function' },
980
+ warmUpAsync: { type: 'function' },
981
+ },
982
+ ExponentAV: {
983
+ Qualities: { type: 'object' },
984
+ addListener: { type: 'function' },
985
+ getAudioRecordingStatus: { type: 'function' },
986
+ getAvailableInputs: { type: 'function' },
987
+ getCurrentInput: { type: 'function' },
988
+ getPermissionsAsync: { type: 'function' },
989
+ getStatusForSound: { type: 'function' },
990
+ getStatusForVideo: { type: 'function' },
991
+ loadForSound: { type: 'function' },
992
+ loadForVideo: { type: 'function' },
993
+ pauseAudioRecording: { type: 'function' },
994
+ prepareAudioRecorder: { type: 'function' },
995
+ removeListeners: { type: 'function' },
996
+ replaySound: { type: 'function' },
997
+ replayVideo: { type: 'function' },
998
+ requestPermissionsAsync: { type: 'function' },
999
+ setAudioIsEnabled: { type: 'function' },
1000
+ setAudioMode: { type: 'function' },
1001
+ setInput: { type: 'function' },
1002
+ setStatusForSound: { type: 'function' },
1003
+ setStatusForVideo: { type: 'function' },
1004
+ startAudioRecording: { type: 'function' },
1005
+ stopAudioRecording: { type: 'function' },
1006
+ unloadAudioRecorder: { type: 'function' },
1007
+ unloadForSound: { type: 'function' },
1008
+ unloadForVideo: { type: 'function' },
718
1009
  },
719
- ExpoWebBrowser: {},
720
- ExponentAV: { Qualities: { type: 'object' } },
721
1010
  ExponentCamera: {
722
1011
  AutoFocus: { type: 'object' },
723
1012
  FlashMode: { type: 'object' },
@@ -726,8 +1015,24 @@ module.exports = {
726
1015
  VideoQuality: { type: 'object' },
727
1016
  VideoStabilization: { type: 'object' },
728
1017
  WhiteBalance: { type: 'object' },
1018
+ addListener: { type: 'function' },
1019
+ getAvailablePictureSizes: { type: 'function' },
1020
+ getAvailableVideoCodecsAsync: { type: 'function' },
1021
+ getCameraPermissionsAsync: { type: 'function' },
1022
+ getMicrophonePermissionsAsync: { type: 'function' },
1023
+ getPermissionsAsync: { type: 'function' },
1024
+ pausePreview: { type: 'function' },
1025
+ record: { type: 'function' },
1026
+ removeListeners: { type: 'function' },
1027
+ requestCameraPermissionsAsync: { type: 'function' },
1028
+ requestMicrophonePermissionsAsync: { type: 'function' },
1029
+ requestPermissionsAsync: { type: 'function' },
1030
+ resumePreview: { type: 'function' },
1031
+ stopRecording: { type: 'function' },
1032
+ takePicture: { type: 'function' },
729
1033
  },
730
1034
  ExponentConstants: {
1035
+ addListener: { type: 'function' },
731
1036
  appOwnership: { type: 'string' },
732
1037
  debugMode: { type: 'boolean', mock: true },
733
1038
  deviceName: { type: 'string' },
@@ -736,50 +1041,91 @@ module.exports = {
736
1041
  experienceUrl: { type: 'string' },
737
1042
  expoRuntimeVersion: { type: 'string' },
738
1043
  expoVersion: { type: 'string' },
1044
+ getWebViewUserAgentAsync: { type: 'function' },
739
1045
  installationId: { type: 'string' },
740
1046
  isDetached: { type: 'boolean', mock: false },
741
- isDevice: { type: 'boolean', mock: true },
1047
+ isDevice: { type: 'boolean', mock: false },
742
1048
  isHeadless: { type: 'boolean', mock: false },
743
1049
  linkingUri: { type: 'string' },
744
1050
  manifest: { type: 'object' },
745
1051
  nativeAppVersion: { type: 'string' },
746
1052
  nativeBuildVersion: { type: 'string' },
747
1053
  platform: { type: 'object' },
1054
+ removeListeners: { type: 'function' },
748
1055
  sessionId: { type: 'string' },
749
- statusBarHeight: { type: 'number', mock: 20 },
1056
+ statusBarHeight: { type: 'number', mock: 54 },
750
1057
  supportedExpoSdks: { type: 'array' },
751
1058
  systemFonts: { type: 'array' },
752
1059
  },
753
- ExponentDeviceMotion: { Gravity: { type: 'number', mock: 9.8100004196167 } },
1060
+ ExponentDeviceMotion: {
1061
+ Gravity: { type: 'number', mock: 9.8100004196167 },
1062
+ addListener: { type: 'function' },
1063
+ isAvailableAsync: { type: 'function' },
1064
+ removeListeners: { type: 'function' },
1065
+ setUpdateInterval: { type: 'function' },
1066
+ },
754
1067
  ExponentFileSystem: {
1068
+ addListener: { type: 'function' },
755
1069
  bundleDirectory: { type: 'object', mock: null },
756
1070
  bundledAssets: { type: 'object', mock: null },
757
1071
  cacheDirectory: { type: 'string' },
1072
+ copyAsync: { type: 'function' },
1073
+ deleteAsync: { type: 'function' },
758
1074
  documentDirectory: { type: 'string' },
1075
+ downloadAsync: { type: 'function' },
1076
+ downloadResumablePauseAsync: { type: 'function' },
1077
+ downloadResumableStartAsync: { type: 'function' },
1078
+ getFreeDiskStorageAsync: { type: 'function' },
1079
+ getInfoAsync: { type: 'function' },
1080
+ getTotalDiskCapacityAsync: { type: 'function' },
1081
+ makeDirectoryAsync: { type: 'function' },
1082
+ moveAsync: { type: 'function' },
1083
+ networkTaskCancelAsync: { type: 'function' },
1084
+ readAsStringAsync: { type: 'function' },
1085
+ readDirectoryAsync: { type: 'function' },
1086
+ removeListeners: { type: 'function' },
1087
+ uploadAsync: { type: 'function' },
1088
+ uploadTaskStartAsync: { type: 'function' },
1089
+ writeAsStringAsync: { type: 'function' },
759
1090
  },
760
- ExponentImagePicker: {},
761
- ExponentMediaLibrary: {
762
- CHANGE_LISTENER_NAME: { type: 'string' },
763
- MediaType: { type: 'object' },
764
- SortBy: { type: 'object' },
1091
+ ExponentGLView: {
1092
+ addListener: { type: 'function' },
1093
+ removeListeners: { type: 'function' },
1094
+ },
1095
+ ExponentImagePicker: {
1096
+ addListener: { type: 'function' },
1097
+ getCameraPermissionsAsync: { type: 'function' },
1098
+ getMediaLibraryPermissionsAsync: { type: 'function' },
1099
+ launchCameraAsync: { type: 'function' },
1100
+ launchImageLibraryAsync: { type: 'function' },
1101
+ removeListeners: { type: 'function' },
1102
+ requestCameraPermissionsAsync: { type: 'function' },
1103
+ requestMediaLibraryPermissionsAsync: { type: 'function' },
1104
+ },
1105
+ ExponentPrint: {
1106
+ Orientation: { type: 'object' },
1107
+ addListener: { type: 'function' },
1108
+ print: { type: 'function' },
1109
+ printToFileAsync: { type: 'function' },
1110
+ removeListeners: { type: 'function' },
1111
+ selectPrinter: { type: 'function' },
765
1112
  },
766
- ExponentPrint: { Orientation: { type: 'object' } },
767
1113
  },
768
1114
  },
769
1115
  viewManagersMetadata: {
770
1116
  type: 'object',
771
1117
  mock: {
772
- ExpoBarCodeScannerView: { propsNames: ['type', 'barCodeTypes'] },
1118
+ ExpoBlurView: { propsNames: ['tint', 'intensity'] },
1119
+ ExpoBarCodeScanner: { propsNames: ['type', 'barCodeTypes'] },
773
1120
  ExpoAppleAuthenticationButtonContinueWhite: { propsNames: ['cornerRadius'] },
774
- ExpoBlurView: { propsNames: ['intensity', 'tint'] },
775
1121
  ExpoLinearGradient: { propsNames: ['colors', 'startPoint', 'endPoint', 'locations'] },
776
1122
  ExpoAppleAuthenticationButtonContinueWhiteOutline: { propsNames: ['cornerRadius'] },
777
- ExpoAppleAuthenticationButtonSignInWhiteOutline: { propsNames: ['cornerRadius'] },
778
- ExponentGLView: { propsNames: ['msaaSamples'] },
779
1123
  ExpoAppleAuthenticationButtonContinueBlack: { propsNames: ['cornerRadius'] },
780
1124
  ExpoAppleAuthenticationButtonSignUpWhiteOutline: { propsNames: ['cornerRadius'] },
781
1125
  ExpoAppleAuthenticationButtonSignUpBlack: { propsNames: ['cornerRadius'] },
782
1126
  ExpoVideoView: { propsNames: ['status', 'useNativeControls', 'source', 'resizeMode'] },
1127
+ ExponentGLView: { propsNames: ['msaaSamples'] },
1128
+ ExpoAppleAuthenticationButtonSignInWhiteOutline: { propsNames: ['cornerRadius'] },
783
1129
  ExpoAppleAuthenticationButtonSignInWhite: { propsNames: ['cornerRadius'] },
784
1130
  ExpoAppleAuthenticationButtonSignUpWhite: { propsNames: ['cornerRadius'] },
785
1131
  ExpoAppleAuthenticationButtonSignInBlack: { propsNames: ['cornerRadius'] },
@@ -873,6 +1219,7 @@ module.exports = {
873
1219
  getCurrentState: { type: 'function', functionType: 'promise' },
874
1220
  removeListeners: { type: 'function', functionType: 'async' },
875
1221
  },
1222
+ RNCPickerManager: {},
876
1223
  RNCSafeAreaContext: {
877
1224
  getConstants: { type: 'function' },
878
1225
  initialWindowMetrics: { type: 'object' },