Commit Graph
17 Commits
Author SHA1 Message Date
Ramanpreet Nara 355bb05e4c Add NativeModule spec for ShareModule
Summary: This diff introduces NativeShareModule. It also replaces all usages of `NativeModules.ShareModule` with `NativeShareModule`.

Reviewed By: PeteTheHeat

Differential Revision: D16346415

fbshipit-source-id: 654692a82855d6fbd937aa7b9aee3d71a2df0c12
2019-07-19 12:12:14 -07:00
Ramanpreet Nara 452acf8818 Add NativeModule Spec for Vibration
Summary: This diff introduces NativeVibration

Reviewed By: TheSavior

Differential Revision: D16344820

fbshipit-source-id: fe5187a1a500308a41c41272968bea25a5b3ffde
2019-07-19 12:12:14 -07:00
Ramanpreet Nara 6e7b43806d Add NativeModule Spec for ImagePickerIOS
Summary: This diff introduces NativeImagePickerIOS.

Reviewed By: fkgozali

Differential Revision: D16287452

fbshipit-source-id: 80a334887c2155e76ab13e7adffefde258de7cdb
2019-07-19 12:12:13 -07:00
Ramanpreet Nara 9834d866df Add NativeModule Spec for Clipboard
Summary: This diff introduces NativeClipboard.

Reviewed By: PeteTheHeat

Differential Revision: D16283266

fbshipit-source-id: e16e44d0e6364a38f177cdadce71733a3cd001ad
2019-07-19 12:12:13 -07:00
Ramanpreet Nara 3e989b6519 Add NativeModule Spec for AsyncStorage
Summary: Two NativeModules (SQLiteDBStorage on Android and AsyncLocalStorage on iOS) implement the AsyncStorage interface. So, I created one spec file for both.

Reviewed By: fkgozali

Differential Revision: D15804415

fbshipit-source-id: 0c922352378fbdb460839527db3c21387ab16b87
2019-07-19 12:12:12 -07:00
Ramanpreet Nara 929a7cbfbd Add NativeModule Spec for ActionSheetManager
Summary: This diff introduces NativeActionSheetManager.

Reviewed By: fkgozali

Differential Revision: D15803420

fbshipit-source-id: 736e7fb59be7d2bd1db064c33be660c7ccd346f4
2019-07-19 12:12:12 -07:00
Moti Zilberman 3a825c0360 Introduce NativeExceptionsManager.reportException API
Summary:
@public

`reportException` is a new method on `NativeExceptionsManager` that is designed to allow more structured and flexible JS error reporting. `reportFatalException` and `reportSoftException` are now deprecated.

In addition to all the usual exception fields, `reportException` also accepts an `extraData` property which the JS exception handler can populate with arbitrary JSON-serialisable data (here: the raw stack trace, the current JS engine, and the number of frames popped off the call stack by the exception handler). The contents of `extraData` get attached as JSON to the `JavascriptException` instance (or just logged, in the case of `console.error`).

This change is backwards compatible in two senses:
1. We have a JS fallback that uses `reportFatalException` and `reportSoftException` if the new native method is unavailable.
2. We have a Java fallback that implements `reportFatalException` and `reportSoftException` in terms of `reportException`.

Naturally, both fallbacks mentioned above discard `extraData`.

NOTE: The current implementation is Android-only; for the time being, iOS will continue to use the JS fallback.

While we're in `ExceptionsManager.js`, this also changes `dismissRedbox()` to be optional (which it is, since it's Android-only); existing call sites already guard it with a null check so this requires no other changes.

Reviewed By: mmmulani

Differential Revision: D16133080

fbshipit-source-id: d0b209d58da40b736df63155bbea232e94ce635c
2019-07-16 09:38:03 -07:00
Kevin Gozali 3b6f6ca4d5 iOS: Added missing React-jsi dep for FBReactNativeSpec target
Summary: Added missing React-jsi dep for FBReactNativeSpec target.

Reviewed By: hramos

Differential Revision: D16231696

fbshipit-source-id: 66b051ab54f97da9b71f9479ccd5d59f757d524c
2019-07-12 22:44:21 -07:00
Kevin Gozali 6e7ce9c082 TM iOS: refactor header dir for TM
Summary:
For better cocoapods compatibility, refactored TM podspec to be a subspec of ReactCommon, then use `<ReactCommon/` header prefix for all TM files.

Relevant efforts:
https://github.com/facebook/react-native/pull/25619
https://github.com/facebook/react-native/pull/25393

Reviewed By: hramos

Differential Revision: D16231697

fbshipit-source-id: 38d3418b19978ff54aa0c61b064ac45ac0e1c36c
2019-07-12 22:44:20 -07:00
Kevin Gozali 0c8c95f4ae iOS: Use RCTTypeSafety header namespace instead of React
Summary: For better compatibility re: https://github.com/facebook/react-native/pull/25393, this target should just use `RCTTypeSafety`

Reviewed By: PeteTheHeat

Differential Revision: D16210888

fbshipit-source-id: 6a55d631453cc420909247a7d5a64379587225b7
2019-07-12 14:30:11 -07:00
Kevin Gozali 549c46975e iOS: suppress nullability completeness warning in TM generated spec file
Summary: For now, suppress this warning - they are harmless.

Reviewed By: mdvacca

Differential Revision: D16198994

fbshipit-source-id: b167d0e98bbc4abcd0461d50f01f364d8d560aec
2019-07-11 12:02:39 -07:00
David Vacca 0fb3fb1d8e Back out "[RN][JS] Remove definition of viewIsDescendantOf method in JS"
Summary:
Adding viewIsDescendantOf back again, more context https://github.com/facebook/react-native/commit/9ae7f0c7dac732c8c2f2253699f7bcf04943e98b
This method might no not be implemented in Fabric

Reviewed By: fkgozali

Differential Revision: D16186405

fbshipit-source-id: da91822845e3c7b1f48ebf8c4782f8a2ee593bfe
2019-07-10 20:56:39 -07:00
Kevin Gozali 5275f150b8 Use @generated in header comment so IDE can notify developers
Summary: These files are generated by tool, not for manual edit. So let this marker tell IDEs so.

Reviewed By: hramos, cpojer

Differential Revision: D16097171

fbshipit-source-id: 1f98a4d4e21acca0a7fbd386ff174dd9197c2129
2019-07-04 11:21:55 -07:00
Kevin Gozali fde8a4cf93 TM iOS: Set up CocoaPods specs for the TM specs
Summary: This defines various sub specs to support building TurboModules that implement the codegen'ed specs.

Reviewed By: PeteTheHeat

Differential Revision: D16043221

fbshipit-source-id: 27ed532be929c11c8fe648632da8a72061cbc8b0
2019-07-01 15:20:01 -07:00
David Vacca d75e0efd1e Remove definition of viewIsDescendantOf method in JS
Summary: The method 'viewIsDescendantOf' is not used in JS, to prevent future usages of this method we just remove it.

Reviewed By: JoshuaGross

Differential Revision: D16014666

fbshipit-source-id: da623a455df04851ce286427fb54849e4e9e720a
2019-06-26 18:47:12 -07:00
Kevin Gozali a2b4b3626f use the github checked-in version of the Spec codegen output
Summary: For consistency, we use the files checked in to github.

Reviewed By: JoshuaGross

Differential Revision: D15993128

fbshipit-source-id: 1e9fdd6b4111284c84cbd5a63d384ef481659b01
2019-06-26 11:19:34 -07:00
Kevin Gozali b1bf133d69 TM iOS: Move generated specs for OSS NativeModules to github
Summary:
Note: iOS only.

This spec file (.h/.mm) was generated via FB internal codegen tool for TurboModule. The tool itself is not yet ready to be opensourced, but at least the generated file is. The output is based on all the Flow types added via https://github.com/facebook/react-native/issues/24875.
This file can be used by each ObjC NativeModule to be TurboModule compliant.

Reviewed By: rickhanlonii

Differential Revision: D15978911

fbshipit-source-id: 9e97495287bc406e0ed0ccf89cf370753b538772
2019-06-26 10:05:32 -07:00