Commit Graph
4 Commits
Author SHA1 Message Date
Alexander Kawrykow 15434c7c43 Guard against null values in object parameters for bridged methods
Summary:
Handles the case when a value in an object parameter of a turbo module spec is null (even if the type is nullable).

For example, given:
```
export interface Spec extends TurboModule {
  +myFunc: ({|
    foo: ?string,
  |}) => void;
}
```
and calling `NativeModule.myFunc({foo: null})`, we see an error like:
```
JSON value '<null>' of type NSNull cannot be converted to NSString
```
Guarding against this by converting NSNull's to nils

## Changelog:

[iOS] [Fixed] - Fix crash when passing null value in object parameter of bridged method

Reviewed By: fkgozali

Differential Revision: D20591590

fbshipit-source-id: fdb90f34131427a235f2e3c99147bf1e6a9c6732
2020-03-23 17:21:00 -07:00
Moti Zilberman ca3c8b7a7d Treat NSNull like nil in RCTBridgingToOptional{Bool,Double}
Summary:
Currently `RCTBridgingToOptionalBool` and `RCTBridgingToOptionalDouble` will crash if passed an `NSNull` value. This diff changes these functions to instead treat it as equivalent to a missing value.

Changelog: [Internal]

Reviewed By: sammy-SC

Differential Revision: D18532044

fbshipit-source-id: fa822dcacb49697dd8a4f7b579bcfc029e0cdf41
2019-11-18 07:04:46 -08:00
Andres Suarez 3b31e69e28 Tidy up license headers [2/n]
Summary: Changelog: [General] [Fixed] - License header cleanup

Reviewed By: yungsters

Differential Revision: D17952694

fbshipit-source-id: 17c87de7ebb271fa2ac8d00af72a4d1addef8bd0
2019-10-16 10:06:34 -07:00
Kevin Gozali 7143d89d81 Move TypeSafety conversion utils to github
Summary: This is utility for TurboModule codegen for the purpose of typesafety. It is not used anywhere else at the moment.

Reviewed By: cpojer

Differential Revision: D15929957

fbshipit-source-id: ecf68cc98b78bc5b9c2078492b853a677b625eea
2019-06-21 11:42:18 -07:00