jest-expo 50.0.1 → 50.0.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jest-expo",
3
- "version": "50.0.1",
3
+ "version": "50.0.3",
4
4
  "description": "A Jest preset to painlessly test your Expo / React Native apps.",
5
5
  "license": "MIT",
6
6
  "main": "src",
@@ -48,5 +48,5 @@
48
48
  "url": "https://github.com/expo/expo/issues"
49
49
  },
50
50
  "homepage": "https://github.com/expo/expo/tree/main/packages/jest-expo",
51
- "gitHead": "1c97be7c8c3c8661698038bf7912fb7c64ba8c35"
51
+ "gitHead": "e5e3cc1bfcc9adce4755a0cdda0396077e8e047a"
52
52
  }
@@ -64,29 +64,16 @@ module.exports = {
64
64
  AIRMapPolylineManager: {},
65
65
  AIRMapUrlTileManager: {},
66
66
  AIRMapWMSTileManager: {},
67
- ExpoBridgeModule: {},
67
+ ExpoBridgeModule: {
68
+ getConstants: { type: 'function' },
69
+ installModules: { type: 'function', functionType: 'sync' },
70
+ },
68
71
  'ExpoModulesCore.ViewModuleWrapper': {},
69
72
  ExpoNativeModuleIntrospection: {
70
73
  getConstants: { type: 'function' },
71
74
  getNativeModuleNamesAsync: { type: 'function', functionType: 'promise' },
72
75
  introspectNativeModuleAsync: { type: 'function', functionType: 'promise' },
73
76
  },
74
- ExponentNotifications: {
75
- cancelAllScheduledNotificationsAsync: { type: 'function', functionType: 'promise' },
76
- cancelScheduledNotificationAsync: { type: 'function', functionType: 'promise' },
77
- createCategoryAsync: { type: 'function', functionType: 'promise' },
78
- deleteCategoryAsync: { type: 'function', functionType: 'promise' },
79
- getBadgeNumberAsync: { type: 'function', functionType: 'promise' },
80
- getConstants: { type: 'function' },
81
- getDevicePushTokenAsync: { type: 'function', functionType: 'promise' },
82
- getExponentPushTokenAsync: { type: 'function', functionType: 'promise' },
83
- legacyScheduleLocalRepeatingNotification: { type: 'function', functionType: 'promise' },
84
- presentLocalNotification: { type: 'function', functionType: 'promise' },
85
- scheduleLocalNotification: { type: 'function', functionType: 'promise' },
86
- scheduleNotificationWithCalendar: { type: 'function', functionType: 'promise' },
87
- scheduleNotificationWithTimer: { type: 'function', functionType: 'promise' },
88
- setBadgeNumberAsync: { type: 'function', functionType: 'promise' },
89
- },
90
77
  ExponentScopedModuleRegistry: {},
91
78
  ExponentTest: {
92
79
  action: { type: 'function', functionType: 'promise' },
@@ -120,16 +107,24 @@ module.exports = {
120
107
  { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
121
108
  ],
122
109
  ExpoApplication: [
123
- { name: 'getIosIdForVendorAsync', argumentsCount: 0, key: 0 },
124
- { name: 'getPushNotificationServiceEnvironmentAsync', argumentsCount: 0, key: 1 },
125
- { name: 'getApplicationReleaseTypeAsync', argumentsCount: 0, key: 2 },
126
- { name: 'getInstallationTimeAsync', argumentsCount: 0, key: 3 },
110
+ {
111
+ name: 'getApplicationReleaseTypeAsync',
112
+ argumentsCount: 0,
113
+ key: 'getApplicationReleaseTypeAsync',
114
+ },
115
+ { name: 'getInstallationTimeAsync', argumentsCount: 0, key: 'getInstallationTimeAsync' },
116
+ { name: 'getIosIdForVendorAsync', argumentsCount: 0, key: 'getIosIdForVendorAsync' },
117
+ {
118
+ name: 'getPushNotificationServiceEnvironmentAsync',
119
+ argumentsCount: 0,
120
+ key: 'getPushNotificationServiceEnvironmentAsync',
121
+ },
127
122
  ],
128
123
  ExpoBackgroundFetch: [
129
- { name: 'unregisterTaskAsync', argumentsCount: 1, key: 0 },
130
- { name: 'setMinimumIntervalAsync', argumentsCount: 1, key: 1 },
131
- { name: 'getStatusAsync', argumentsCount: 0, key: 2 },
132
- { name: 'registerTaskAsync', argumentsCount: 2, key: 3 },
124
+ { name: 'getStatusAsync', argumentsCount: 0, key: 'getStatusAsync' },
125
+ { name: 'registerTaskAsync', argumentsCount: 2, key: 'registerTaskAsync' },
126
+ { name: 'setMinimumIntervalAsync', argumentsCount: 1, key: 'setMinimumIntervalAsync' },
127
+ { name: 'unregisterTaskAsync', argumentsCount: 1, key: 'unregisterTaskAsync' },
133
128
  ],
134
129
  ExpoBackgroundNotificationTasksModule: [
135
130
  { name: 'unregisterTaskAsync', argumentsCount: 1, key: 0 },
@@ -145,8 +140,10 @@ module.exports = {
145
140
  { name: 'scanFromURLAsync', argumentsCount: 2, key: 'scanFromURLAsync' },
146
141
  ],
147
142
  ExpoBarometer: [
148
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
149
- { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
143
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
144
+ { name: 'setUpdateInterval', argumentsCount: 1, key: 'setUpdateInterval' },
145
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
146
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
150
147
  ],
151
148
  ExpoBattery: [
152
149
  { name: 'getBatteryLevelAsync', argumentsCount: 0, key: 'getBatteryLevelAsync' },
@@ -207,6 +204,70 @@ module.exports = {
207
204
  { name: 'saveReminderAsync', argumentsCount: 1, key: 17 },
208
205
  { name: 'getSourceByIdAsync', argumentsCount: 1, key: 18 },
209
206
  ],
207
+ ExpoCamera: [
208
+ { name: 'getAvailablePictureSizes', argumentsCount: 2, key: 'getAvailablePictureSizes' },
209
+ {
210
+ name: 'getAvailableVideoCodecsAsync',
211
+ argumentsCount: 0,
212
+ key: 'getAvailableVideoCodecsAsync',
213
+ },
214
+ {
215
+ name: 'getCameraPermissionsAsync',
216
+ argumentsCount: 0,
217
+ key: 'getCameraPermissionsAsync',
218
+ },
219
+ {
220
+ name: 'getMicrophonePermissionsAsync',
221
+ argumentsCount: 0,
222
+ key: 'getMicrophonePermissionsAsync',
223
+ },
224
+ { name: 'getPermissionsAsync', argumentsCount: 0, key: 'getPermissionsAsync' },
225
+ { name: 'pausePreview', argumentsCount: 1, key: 'pausePreview' },
226
+ { name: 'record', argumentsCount: 2, key: 'record' },
227
+ {
228
+ name: 'requestCameraPermissionsAsync',
229
+ argumentsCount: 0,
230
+ key: 'requestCameraPermissionsAsync',
231
+ },
232
+ {
233
+ name: 'requestMicrophonePermissionsAsync',
234
+ argumentsCount: 0,
235
+ key: 'requestMicrophonePermissionsAsync',
236
+ },
237
+ { name: 'requestPermissionsAsync', argumentsCount: 0, key: 'requestPermissionsAsync' },
238
+ { name: 'resumePreview', argumentsCount: 1, key: 'resumePreview' },
239
+ { name: 'stopRecording', argumentsCount: 1, key: 'stopRecording' },
240
+ { name: 'takePicture', argumentsCount: 2, key: 'takePicture' },
241
+ ],
242
+ ExpoCameraNext: [
243
+ { name: 'dismissScanner', argumentsCount: 0, key: 'dismissScanner' },
244
+ {
245
+ name: 'getAvailableVideoCodecsAsync',
246
+ argumentsCount: 0,
247
+ key: 'getAvailableVideoCodecsAsync',
248
+ },
249
+ {
250
+ name: 'getCameraPermissionsAsync',
251
+ argumentsCount: 0,
252
+ key: 'getCameraPermissionsAsync',
253
+ },
254
+ {
255
+ name: 'getMicrophonePermissionsAsync',
256
+ argumentsCount: 0,
257
+ key: 'getMicrophonePermissionsAsync',
258
+ },
259
+ { name: 'launchScanner', argumentsCount: 1, key: 'launchScanner' },
260
+ {
261
+ name: 'requestCameraPermissionsAsync',
262
+ argumentsCount: 0,
263
+ key: 'requestCameraPermissionsAsync',
264
+ },
265
+ {
266
+ name: 'requestMicrophonePermissionsAsync',
267
+ argumentsCount: 0,
268
+ key: 'requestMicrophonePermissionsAsync',
269
+ },
270
+ ],
210
271
  ExpoCellular: [
211
272
  { name: 'allowsVoipAsync', argumentsCount: 0, key: 'allowsVoipAsync' },
212
273
  { name: 'getCarrierNameAsync', argumentsCount: 0, key: 'getCarrierNameAsync' },
@@ -260,18 +321,24 @@ module.exports = {
260
321
  { name: 'getDocumentAsync', argumentsCount: 1, key: 'getDocumentAsync' },
261
322
  ],
262
323
  ExpoFontLoader: [{ name: 'loadAsync', argumentsCount: 2, key: 0 }],
324
+ ExpoGo: [],
263
325
  ExpoHaptics: [
264
326
  { name: 'impactAsync', argumentsCount: 1, key: 'impactAsync' },
265
327
  { name: 'notificationAsync', argumentsCount: 1, key: 'notificationAsync' },
266
328
  { name: 'selectionAsync', argumentsCount: 0, key: 'selectionAsync' },
267
329
  ],
330
+ ExpoHead: [
331
+ { name: 'clearActivitiesAsync', argumentsCount: 1, key: 'clearActivitiesAsync' },
332
+ { name: 'createActivity', argumentsCount: 1, key: 'createActivity' },
333
+ { name: 'getLaunchActivity', argumentsCount: 0, key: 'getLaunchActivity' },
334
+ { name: 'revokeActivity', argumentsCount: 1, key: 'revokeActivity' },
335
+ { name: 'suspendActivity', argumentsCount: 1, key: 'suspendActivity' },
336
+ ],
268
337
  ExpoImage: [
269
338
  { name: 'clearDiskCache', argumentsCount: 0, key: 'clearDiskCache' },
270
339
  { name: 'clearMemoryCache', argumentsCount: 0, key: 'clearMemoryCache' },
271
- { name: 'prefetch', argumentsCount: 1, key: 'prefetch' },
272
340
  { name: 'getCachePathAsync', argumentsCount: 1, key: 'getCachePathAsync' },
273
- { name: 'startAnimating', argumentsCount: 0, key: 'startAnimating' },
274
- { name: 'stopAnimating', argumentsCount: 0, key: 'stopAnimating' },
341
+ { name: 'prefetch', argumentsCount: 2, key: 'prefetch' },
275
342
  ],
276
343
  ExpoImageManipulator: [
277
344
  { name: 'manipulateAsync', argumentsCount: 3, key: 'manipulateAsync' },
@@ -345,8 +412,10 @@ module.exports = {
345
412
  { name: 'getAlbumAsync', argumentsCount: 1, key: 14 },
346
413
  ],
347
414
  ExponentAccelerometer: [
348
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
349
- { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
415
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
416
+ { name: 'setUpdateInterval', argumentsCount: 1, key: 'setUpdateInterval' },
417
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
418
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
350
419
  ],
351
420
  ExponentAV: [
352
421
  { name: 'getStatusForVideo', argumentsCount: 1, key: 0 },
@@ -373,65 +442,44 @@ module.exports = {
373
442
  { name: 'getCurrentInput', argumentsCount: 0, key: 21 },
374
443
  { name: 'startAudioRecording', argumentsCount: 0, key: 22 },
375
444
  ],
376
- ExpoCamera: [
377
- { name: 'getAvailablePictureSizes', argumentsCount: 2, key: 'getAvailablePictureSizes' },
378
- {
379
- name: 'getAvailableVideoCodecsAsync',
380
- argumentsCount: 0,
381
- key: 'getAvailableVideoCodecsAsync',
382
- },
445
+ ExponentConstants: [
446
+ { name: 'getWebViewUserAgentAsync', argumentsCount: 0, key: 'getWebViewUserAgentAsync' },
447
+ ],
448
+ ExponentDeviceMotion: [
449
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
450
+ { name: 'setUpdateInterval', argumentsCount: 1, key: 'setUpdateInterval' },
451
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
452
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
453
+ ],
454
+ ExponentFileSystem: [
455
+ { name: 'copyAsync', argumentsCount: 1, key: 'copyAsync' },
456
+ { name: 'deleteAsync', argumentsCount: 2, key: 'deleteAsync' },
457
+ { name: 'downloadAsync', argumentsCount: 3, key: 'downloadAsync' },
383
458
  {
384
- name: 'getCameraPermissionsAsync',
385
- argumentsCount: 0,
386
- key: 'getCameraPermissionsAsync',
459
+ name: 'downloadResumablePauseAsync',
460
+ argumentsCount: 1,
461
+ key: 'downloadResumablePauseAsync',
387
462
  },
388
463
  {
389
- name: 'getMicrophonePermissionsAsync',
390
- argumentsCount: 0,
391
- key: 'getMicrophonePermissionsAsync',
464
+ name: 'downloadResumableStartAsync',
465
+ argumentsCount: 5,
466
+ key: 'downloadResumableStartAsync',
392
467
  },
393
- { name: 'getPermissionsAsync', argumentsCount: 0, key: 'getPermissionsAsync' },
394
- { name: 'pausePreview', argumentsCount: 1, key: 'pausePreview' },
395
- { name: 'record', argumentsCount: 2, key: 'record' },
468
+ { name: 'getFreeDiskStorageAsync', argumentsCount: 0, key: 'getFreeDiskStorageAsync' },
469
+ { name: 'getInfoAsync', argumentsCount: 2, key: 'getInfoAsync' },
396
470
  {
397
- name: 'requestCameraPermissionsAsync',
471
+ name: 'getTotalDiskCapacityAsync',
398
472
  argumentsCount: 0,
399
- key: 'requestCameraPermissionsAsync',
473
+ key: 'getTotalDiskCapacityAsync',
400
474
  },
401
- {
402
- name: 'requestMicrophonePermissionsAsync',
403
- argumentsCount: 0,
404
- key: 'requestMicrophonePermissionsAsync',
405
- },
406
- { name: 'requestPermissionsAsync', argumentsCount: 0, key: 'requestPermissionsAsync' },
407
- { name: 'resumePreview', argumentsCount: 1, key: 'resumePreview' },
408
- { name: 'stopRecording', argumentsCount: 1, key: 'stopRecording' },
409
- { name: 'takePicture', argumentsCount: 2, key: 'takePicture' },
410
- ],
411
- ExponentConstants: [
412
- { name: 'getWebViewUserAgentAsync', argumentsCount: 0, key: 'getWebViewUserAgentAsync' },
413
- ],
414
- ExponentDeviceMotion: [
415
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
416
- { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
417
- ],
418
- ExponentFileSystem: [
419
- { name: 'uploadAsync', argumentsCount: 3, key: 0 },
420
- { name: 'readDirectoryAsync', argumentsCount: 1, key: 1 },
421
- { name: 'getTotalDiskCapacityAsync', argumentsCount: 0, key: 2 },
422
- { name: 'getInfoAsync', argumentsCount: 2, key: 3 },
423
- { name: 'downloadAsync', argumentsCount: 3, key: 4 },
424
- { name: 'writeAsStringAsync', argumentsCount: 3, key: 5 },
425
- { name: 'deleteAsync', argumentsCount: 2, key: 6 },
426
- { name: 'moveAsync', argumentsCount: 1, key: 7 },
427
- { name: 'getFreeDiskStorageAsync', argumentsCount: 0, key: 8 },
428
- { name: 'readAsStringAsync', argumentsCount: 2, key: 9 },
429
- { name: 'downloadResumableStartAsync', argumentsCount: 5, key: 10 },
430
- { name: 'makeDirectoryAsync', argumentsCount: 2, key: 11 },
431
- { name: 'uploadTaskStartAsync', argumentsCount: 4, key: 12 },
432
- { name: 'copyAsync', argumentsCount: 1, key: 13 },
433
- { name: 'networkTaskCancelAsync', argumentsCount: 1, key: 14 },
434
- { name: 'downloadResumablePauseAsync', argumentsCount: 1, key: 15 },
475
+ { name: 'makeDirectoryAsync', argumentsCount: 2, key: 'makeDirectoryAsync' },
476
+ { name: 'moveAsync', argumentsCount: 1, key: 'moveAsync' },
477
+ { name: 'networkTaskCancelAsync', argumentsCount: 1, key: 'networkTaskCancelAsync' },
478
+ { name: 'readAsStringAsync', argumentsCount: 2, key: 'readAsStringAsync' },
479
+ { name: 'readDirectoryAsync', argumentsCount: 1, key: 'readDirectoryAsync' },
480
+ { name: 'uploadAsync', argumentsCount: 3, key: 'uploadAsync' },
481
+ { name: 'uploadTaskStartAsync', argumentsCount: 4, key: 'uploadTaskStartAsync' },
482
+ { name: 'writeAsStringAsync', argumentsCount: 3, key: 'writeAsStringAsync' },
435
483
  ],
436
484
  ExponentGLObjectManager: [
437
485
  { name: 'createContextAsync', argumentsCount: 0, key: 0 },
@@ -442,8 +490,10 @@ module.exports = {
442
490
  ],
443
491
  ExponentGLView: [],
444
492
  ExponentGyroscope: [
445
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
446
- { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
493
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
494
+ { name: 'setUpdateInterval', argumentsCount: 1, key: 'setUpdateInterval' },
495
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
496
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
447
497
  ],
448
498
  ExponentImagePicker: [
449
499
  {
@@ -470,18 +520,24 @@ module.exports = {
470
520
  },
471
521
  ],
472
522
  ExponentMagnetometer: [
473
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
474
- { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
523
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
524
+ { name: 'setUpdateInterval', argumentsCount: 1, key: 'setUpdateInterval' },
525
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
526
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
475
527
  ],
476
528
  ExponentMagnetometerUncalibrated: [
477
- { name: 'isAvailableAsync', argumentsCount: 0, key: 0 },
478
- { name: 'setUpdateInterval', argumentsCount: 1, key: 1 },
529
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
530
+ { name: 'setUpdateInterval', argumentsCount: 1, key: 'setUpdateInterval' },
531
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
532
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
479
533
  ],
480
534
  ExponentPedometer: [
481
- { name: 'requestPermissionsAsync', argumentsCount: 0, key: 0 },
482
- { name: 'getPermissionsAsync', argumentsCount: 0, key: 1 },
483
- { name: 'isAvailableAsync', argumentsCount: 0, key: 2 },
484
- { name: 'getStepCountAsync', argumentsCount: 2, key: 3 },
535
+ { name: 'getPermissionsAsync', argumentsCount: 0, key: 'getPermissionsAsync' },
536
+ { name: 'getStepCountAsync', argumentsCount: 2, key: 'getStepCountAsync' },
537
+ { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
538
+ { name: 'requestPermissionsAsync', argumentsCount: 0, key: 'requestPermissionsAsync' },
539
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
540
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
485
541
  ],
486
542
  ExpoNetwork: [
487
543
  { name: 'getIpAddressAsync', argumentsCount: 0, key: 'getIpAddressAsync' },
@@ -515,10 +571,6 @@ module.exports = {
515
571
  ExpoNotificationsHandlerModule: [
516
572
  { name: 'handleNotificationAsync', argumentsCount: 2, key: 0 },
517
573
  ],
518
- ExpoPermissions: [
519
- { name: 'getAsync', argumentsCount: 1, key: 0 },
520
- { name: 'askAsync', argumentsCount: 1, key: 1 },
521
- ],
522
574
  ExpoPrint: [
523
575
  { name: 'print', argumentsCount: 1, key: 'print' },
524
576
  { name: 'printToFileAsync', argumentsCount: 1, key: 'printToFileAsync' },
@@ -582,9 +634,16 @@ module.exports = {
582
634
  ],
583
635
  ExpoSQLite: [
584
636
  { name: 'close', argumentsCount: 1, key: 'close' },
637
+ { name: 'closeSync', argumentsCount: 1, key: 'closeSync' },
585
638
  { name: 'deleteAsync', argumentsCount: 1, key: 'deleteAsync' },
586
639
  { name: 'exec', argumentsCount: 3, key: 'exec' },
587
640
  ],
641
+ ExpoSQLiteNext: [
642
+ { name: 'deleteDatabaseAsync', argumentsCount: 1, key: 'deleteDatabaseAsync' },
643
+ { name: 'deleteDatabaseSync', argumentsCount: 1, key: 'deleteDatabaseSync' },
644
+ { name: 'startObserving', argumentsCount: 0, key: 'startObserving' },
645
+ { name: 'stopObserving', argumentsCount: 0, key: 'stopObserving' },
646
+ ],
588
647
  ExpoStoreReview: [
589
648
  { name: 'isAvailableAsync', argumentsCount: 0, key: 'isAvailableAsync' },
590
649
  { name: 'requestReview', argumentsCount: 0, key: 'requestReview' },
@@ -603,6 +662,7 @@ module.exports = {
603
662
  { name: 'getRegisteredTasksAsync', argumentsCount: 0, key: 6 },
604
663
  ],
605
664
  ExpoTrackingTransparency: [
665
+ { name: 'getAdvertisingId', argumentsCount: 0, key: 'getAdvertisingId' },
606
666
  { name: 'getPermissionsAsync', argumentsCount: 0, key: 'getPermissionsAsync' },
607
667
  { name: 'requestPermissionsAsync', argumentsCount: 0, key: 'requestPermissionsAsync' },
608
668
  ],
@@ -611,10 +671,16 @@ module.exports = {
611
671
  { name: 'clearLogEntriesAsync', argumentsCount: 0, key: 'clearLogEntriesAsync' },
612
672
  { name: 'fetchUpdateAsync', argumentsCount: 0, key: 'fetchUpdateAsync' },
613
673
  { name: 'getExtraParamsAsync', argumentsCount: 0, key: 'getExtraParamsAsync' },
674
+ {
675
+ name: 'getNativeStateMachineContextAsync',
676
+ argumentsCount: 0,
677
+ key: 'getNativeStateMachineContextAsync',
678
+ },
614
679
  { name: 'readLogEntriesAsync', argumentsCount: 1, key: 'readLogEntriesAsync' },
615
680
  { name: 'reload', argumentsCount: 0, key: 'reload' },
616
681
  { name: 'setExtraParamAsync', argumentsCount: 2, key: 'setExtraParamAsync' },
617
682
  ],
683
+ ExpoVideo: [],
618
684
  ExpoVideoThumbnails: [{ name: 'getThumbnail', argumentsCount: 2, key: 'getThumbnail' }],
619
685
  ExpoVideoView: [{ name: 'setFullscreen', argumentsCount: 2, key: 'setFullscreen' }],
620
686
  ExpoWebBrowser: [
@@ -651,10 +717,22 @@ module.exports = {
651
717
  nativeApplicationVersion: { type: 'string' },
652
718
  nativeBuildVersion: { type: 'string' },
653
719
  },
720
+ ExpoBackgroundFetch: {},
654
721
  ExpoBarCodeScanner: { BarCodeType: { type: 'object' }, Type: { type: 'object' } },
722
+ ExpoBarometer: {},
655
723
  ExpoBattery: { isSupported: { type: 'boolean', mock: false } },
656
724
  ExpoBlurView: {},
657
725
  ExpoBrightness: {},
726
+ ExpoCamera: {
727
+ AutoFocus: { type: 'object' },
728
+ FlashMode: { type: 'object' },
729
+ Type: { type: 'object' },
730
+ VideoCodec: { type: 'object' },
731
+ VideoQuality: { type: 'object' },
732
+ VideoStabilization: { type: 'object' },
733
+ WhiteBalance: { type: 'object' },
734
+ },
735
+ ExpoCameraNext: {},
658
736
  ExpoCellular: {
659
737
  allowsVoip: { type: 'object', mock: null },
660
738
  carrier: { type: 'object', mock: null },
@@ -667,7 +745,7 @@ module.exports = {
667
745
  brand: { type: 'string' },
668
746
  deviceName: { type: 'string' },
669
747
  deviceType: { type: 'number', mock: 1 },
670
- deviceYearClass: { type: 'number', mock: 2023 },
748
+ deviceYearClass: { type: 'number', mock: 2024 },
671
749
  isDevice: { type: 'boolean', mock: false },
672
750
  manufacturer: { type: 'string' },
673
751
  modelId: { type: 'string' },
@@ -677,13 +755,15 @@ module.exports = {
677
755
  osName: { type: 'string' },
678
756
  osVersion: { type: 'string' },
679
757
  supportedCpuArchitectures: { type: 'array' },
680
- totalMemory: { type: 'number', mock: 17179869184 },
758
+ totalMemory: { type: 'number', mock: 34359738368 },
681
759
  },
682
760
  ExpoDocumentPicker: {},
761
+ ExpoGo: { expoVersion: { type: 'string' }, projectConfig: { type: 'object' } },
683
762
  ExpoFontLoader: {
684
763
  customNativeFonts: { type: 'array' },
685
764
  },
686
765
  ExpoHaptics: {},
766
+ ExpoHead: { activities: { type: 'object' } },
687
767
  ExpoImage: {},
688
768
  ExpoImageManipulator: {},
689
769
  ExpoKeepAwake: {},
@@ -707,19 +787,11 @@ module.exports = {
707
787
  MediaType: { type: 'object' },
708
788
  SortBy: { type: 'object' },
709
789
  },
790
+ ExponentAccelerometer: {},
710
791
  ExponentAV: { Qualities: { type: 'object' } },
711
- ExpoCamera: {
712
- AutoFocus: { type: 'object' },
713
- FlashMode: { type: 'object' },
714
- Type: { type: 'object' },
715
- VideoCodec: { type: 'object' },
716
- VideoQuality: { type: 'object' },
717
- VideoStabilization: { type: 'object' },
718
- WhiteBalance: { type: 'object' },
719
- },
720
792
  ExponentConstants: {
721
793
  appOwnership: { type: 'string' },
722
- debugMode: { type: 'boolean', mock: false },
794
+ debugMode: { type: 'boolean', mock: true },
723
795
  deviceName: { type: 'string' },
724
796
  executionEnvironment: { type: 'string' },
725
797
  experienceUrl: { type: 'string' },
@@ -739,14 +811,18 @@ module.exports = {
739
811
  supportedExpoSdks: { type: 'array' },
740
812
  systemFonts: { type: 'array' },
741
813
  },
742
- ExponentDeviceMotion: { Gravity: { type: 'number', mock: 9.8100004196167 } },
814
+ ExponentDeviceMotion: { Gravity: { type: 'number', mock: 9.80665 } },
743
815
  ExponentFileSystem: {
744
- bundleDirectory: { type: 'object', mock: null },
816
+ bundleDirectory: { type: 'string' },
745
817
  cacheDirectory: { type: 'string' },
746
818
  documentDirectory: { type: 'string' },
747
819
  },
748
820
  ExponentGLView: {},
821
+ ExponentGyroscope: {},
749
822
  ExponentImagePicker: {},
823
+ ExponentMagnetometer: {},
824
+ ExponentMagnetometerUncalibrated: {},
825
+ ExponentPedometer: {},
750
826
  ExpoNetwork: {},
751
827
  ExpoPrint: { Orientation: { type: 'object' } },
752
828
  ExpoRandom: {},
@@ -758,12 +834,13 @@ module.exports = {
758
834
  ALWAYS_THIS_DEVICE_ONLY: { type: 'number', mock: 4 },
759
835
  WHEN_PASSCODE_SET_THIS_DEVICE_ONLY: { type: 'number', mock: 3 },
760
836
  WHEN_UNLOCKED: { type: 'number', mock: 5 },
761
- WHEN_UNLOCKED_THIS_DEVICE_ONLY: { type: 'number', mock: 3 },
837
+ WHEN_UNLOCKED_THIS_DEVICE_ONLY: { type: 'number', mock: 6 },
762
838
  },
763
839
  ExpoSharing: {},
764
840
  ExpoSMS: {},
765
841
  ExpoSpeech: {},
766
842
  ExpoSQLite: {},
843
+ ExpoSQLiteNext: {},
767
844
  ExpoStoreReview: {},
768
845
  ExpoSystemUI: {},
769
846
  ExpoTaskManager: { EVENT_NAME: { type: 'string' } },
@@ -777,6 +854,7 @@ module.exports = {
777
854
  releaseChannel: { type: 'string' },
778
855
  runtimeVersion: { type: 'string' },
779
856
  },
857
+ ExpoVideo: {},
780
858
  ExpoVideoThumbnails: {},
781
859
  ExpoVideoView: {
782
860
  ScaleAspectFill: { type: 'string' },
@@ -793,10 +871,52 @@ module.exports = {
793
871
  ExpoAppleAuthentication: { propsNames: ['buttonStyle', 'buttonType', 'cornerRadius'] },
794
872
  ExpoBarCodeScanner: { propsNames: ['barCodeTypes', 'type'] },
795
873
  ExpoBlurView: { propsNames: ['intensity', 'tint'] },
874
+ ExpoCamera: {
875
+ propsNames: [
876
+ 'autoFocus',
877
+ 'barCodeScannerEnabled',
878
+ 'barCodeScannerSettings',
879
+ 'faceDetectorEnabled',
880
+ 'faceDetectorSettings',
881
+ 'flashMode',
882
+ 'focusDepth',
883
+ 'pictureSize',
884
+ 'responsiveOrientationWhenOrientationLocked',
885
+ 'type',
886
+ 'whiteBalance',
887
+ 'zoom',
888
+ ],
889
+ },
890
+ ExpoCameraNext: {
891
+ propsNames: [
892
+ 'barcodeScannerEnabled',
893
+ 'barcodeScannerSettings',
894
+ 'enableTorch',
895
+ 'flashMode',
896
+ 'mode',
897
+ 'mute',
898
+ 'responsiveOrientationWhenOrientationLocked',
899
+ 'type',
900
+ 'videoQuality',
901
+ 'zoom',
902
+ ],
903
+ },
904
+ ExpoClipboard: {
905
+ propsNames: [
906
+ 'acceptedContentTypes',
907
+ 'backgroundColor',
908
+ 'cornerStyle',
909
+ 'displayMode',
910
+ 'foregroundColor',
911
+ 'imageOptions',
912
+ ],
913
+ },
796
914
  ExpoImage: {
797
915
  propsNames: [
798
916
  'accessibilityLabel',
799
917
  'accessible',
918
+ 'allowDownscaling',
919
+ 'autoplay',
800
920
  'blurRadius',
801
921
  'cachePolicy',
802
922
  'contentFit',
@@ -812,23 +932,18 @@ module.exports = {
812
932
  ],
813
933
  },
814
934
  ExpoLinearGradient: { propsNames: ['colors', 'endPoint', 'locations', 'startPoint'] },
815
- ExpoCamera: {
935
+ ExponentGLView: { propsNames: ['enableExperimentalWorkletSupport', 'msaaSamples'] },
936
+ ExpoVideo: {
816
937
  propsNames: [
817
- 'autoFocus',
818
- 'barCodeScannerEnabled',
819
- 'barCodeScannerSettings',
820
- 'faceDetectorEnabled',
821
- 'faceDetectorSettings',
822
- 'flashMode',
823
- 'focusDepth',
824
- 'pictureSize',
825
- 'responsiveOrientationWhenOrientationLocked',
826
- 'type',
827
- 'whiteBalance',
828
- 'zoom',
938
+ 'allowsFullscreen',
939
+ 'contentFit',
940
+ 'contentPosition',
941
+ 'nativeControls',
942
+ 'player',
943
+ 'requiresLinearPlayback',
944
+ 'showsTimecodes',
829
945
  ],
830
946
  },
831
- ExponentGLView: { propsNames: ['enableExperimentalWorkletSupport', 'msaaSamples'] },
832
947
  ExpoVideoView: { propsNames: ['resizeMode', 'source', 'status', 'useNativeControls'] },
833
948
  },
834
949
  },
@@ -845,64 +960,6 @@ module.exports = {
845
960
  getConstants: { type: 'function' },
846
961
  getRandomBase64: { type: 'function', functionType: 'sync' },
847
962
  },
848
- RNBranch: {
849
- createUniversalObject: { type: 'function', functionType: 'promise' },
850
- disableTracking: { type: 'function', functionType: 'async' },
851
- generateShortUrl: { type: 'function', functionType: 'promise' },
852
- getConstants: { type: 'function' },
853
- getCreditHistory: { type: 'function', functionType: 'promise' },
854
- getFirstReferringParams: { type: 'function', functionType: 'promise' },
855
- getLatestReferringParams: { type: 'function', functionType: 'promise' },
856
- getShortUrl: { type: 'function', functionType: 'promise' },
857
- INIT_SESSION_ERROR: { type: 'string' },
858
- INIT_SESSION_START: { type: 'string' },
859
- INIT_SESSION_SUCCESS: { type: 'string' },
860
- initializeBranch: { type: 'function', functionType: 'promise' },
861
- isTrackingDisabled: { type: 'function', functionType: 'promise' },
862
- listOnSpotlight: { type: 'function', functionType: 'promise' },
863
- loadRewards: { type: 'function', functionType: 'promise' },
864
- logEvent: { type: 'function', functionType: 'promise' },
865
- logout: { type: 'function', functionType: 'async' },
866
- openURL: { type: 'function', functionType: 'async' },
867
- redeemInitSessionResult: { type: 'function', functionType: 'promise' },
868
- redeemRewards: { type: 'function', functionType: 'promise' },
869
- registerView: { type: 'function', functionType: 'promise' },
870
- releaseUniversalObject: { type: 'function', functionType: 'async' },
871
- sendCommerceEvent: { type: 'function', functionType: 'promise' },
872
- setIdentity: { type: 'function', functionType: 'async' },
873
- setRequestMetadataKey: { type: 'function', functionType: 'async' },
874
- showShareSheet: { type: 'function', functionType: 'promise' },
875
- STANDARD_EVENT_ACHIEVE_LEVEL: { type: 'string' },
876
- STANDARD_EVENT_ADD_PAYMENT_INFO: { type: 'string' },
877
- STANDARD_EVENT_ADD_TO_CART: { type: 'string' },
878
- STANDARD_EVENT_ADD_TO_WISHLIST: { type: 'string' },
879
- STANDARD_EVENT_CLICK_AD: { type: 'string' },
880
- STANDARD_EVENT_COMPLETE_REGISTRATION: { type: 'string' },
881
- STANDARD_EVENT_COMPLETE_TUTORIAL: { type: 'string' },
882
- STANDARD_EVENT_INITIATE_PURCHASE: { type: 'string' },
883
- STANDARD_EVENT_INVITE: { type: 'string' },
884
- STANDARD_EVENT_LOGIN: { type: 'string' },
885
- STANDARD_EVENT_PURCHASE: { type: 'string' },
886
- STANDARD_EVENT_RATE: { type: 'string' },
887
- STANDARD_EVENT_RESERVE: { type: 'string' },
888
- STANDARD_EVENT_SEARCH: { type: 'string' },
889
- STANDARD_EVENT_SHARE: { type: 'string' },
890
- STANDARD_EVENT_SPEND_CREDITS: { type: 'string' },
891
- STANDARD_EVENT_START_TRIAL: { type: 'string' },
892
- STANDARD_EVENT_SUBSCRIBE: { type: 'string' },
893
- STANDARD_EVENT_UNLOCK_ACHIEVEMENT: { type: 'string' },
894
- STANDARD_EVENT_VIEW_AD: { type: 'string' },
895
- STANDARD_EVENT_VIEW_CART: { type: 'string' },
896
- STANDARD_EVENT_VIEW_ITEM: { type: 'string' },
897
- STANDARD_EVENT_VIEW_ITEMS: { type: 'string' },
898
- userCompletedAction: { type: 'function', functionType: 'async' },
899
- userCompletedActionOnUniversalObject: { type: 'function', functionType: 'promise' },
900
- },
901
- RNBranchEventEmitter: {
902
- addListener: { type: 'function', functionType: 'async' },
903
- getConstants: { type: 'function' },
904
- removeListeners: { type: 'function', functionType: 'async' },
905
- },
906
963
  RNCMaskedViewManager: {},
907
964
  RNCNetInfo: {
908
965
  addListener: { type: 'function', functionType: 'async' },
@@ -911,6 +968,7 @@ module.exports = {
911
968
  getCurrentState: { type: 'function', functionType: 'promise' },
912
969
  removeListeners: { type: 'function', functionType: 'async' },
913
970
  },
971
+ RNCPickerManager: {},
914
972
  RNCSafeAreaContext: {
915
973
  getConstants: { type: 'function' },
916
974
  initialWindowMetrics: { type: 'object' },
@@ -923,9 +981,10 @@ module.exports = {
923
981
  getConstants: { type: 'function' },
924
982
  setPage: { type: 'function', functionType: 'async' },
925
983
  setPageWithoutAnimation: { type: 'function', functionType: 'async' },
926
- setScrollEnabled: { type: 'function', functionType: 'async' },
984
+ setScrollEnabledImperatively: { type: 'function', functionType: 'async' },
927
985
  },
928
986
  RNCWebView: {
987
+ clearCache: { type: 'function', functionType: 'async' },
929
988
  getConstants: { type: 'function' },
930
989
  goBack: { type: 'function', functionType: 'async' },
931
990
  goForward: { type: 'function', functionType: 'async' },
@@ -953,7 +1012,7 @@ module.exports = {
953
1012
  updateGestureHandler: { type: 'function', functionType: 'async' },
954
1013
  },
955
1014
  RNSFullWindowOverlayManager: {},
956
- RNSkia: {
1015
+ RNSkiaModule: {
957
1016
  getConstants: { type: 'function' },
958
1017
  install: { type: 'function', functionType: 'sync' },
959
1018
  },
@@ -18,6 +18,21 @@ if (typeof window !== 'object') {
18
18
  globalThis.window.navigator = {};
19
19
  }
20
20
 
21
+ if (typeof globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
22
+ // RN 0.74 checks for the __REACT_DEVTOOLS_GLOBAL_HOOK__ on startup if getInspectorDataForViewAtPoint is used
23
+ // React Navigation uses getInspectorDataForViewAtPoint() for improved log box integration in non-production builds
24
+ globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = {
25
+ isDisabled: true, // Used by `react-test-renderer` https://github.com/facebook/react/blob/113ab9af08c46e8a548a397154f5c9dfeb96ab6a/packages/react-reconciler/src/ReactFiberDevToolsHook.js#L60
26
+ renderers: {
27
+ // https://github.com/facebook/react-native/blob/fbbb4246707d85b692c006e0cb3b186a7c9068bc/packages/react-native/Libraries/Inspector/getInspectorDataForViewAtPoint.js#L40
28
+ values: () => [],
29
+ },
30
+ on() {}, // https://github.com/facebook/react-native/blob/fbbb4246707d85b692c006e0cb3b186a7c9068bc/packages/react-native/Libraries/Inspector/getInspectorDataForViewAtPoint.js#L45
31
+ };
32
+ // React is inconsistent with how it checks for the global hook
33
+ globalThis.window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
34
+ }
35
+
21
36
  const mockImageLoader = {
22
37
  configurable: true,
23
38
  enumerable: true,