react-native/Libraries
James Isaac 820cfa1f3b Refine StyleSheet Flow types
Summary:
Nice addition of the recent Flow types for style props in 9c29ee1504, however I think there are some slight issues in the definition.

`type Styles = {[key: string]: Object}` makes sense, as it's referring to the set of named style groups a user creates a `StyleSheet` from, e.g.

```javascript
const styles: StyleSheet = StyleSheet.create({
  container: {
    height: 20
  },
  text: {
    color: '#999',
    fontSize: 12,
  },
}: Styles)
```

However `type StyleValue = {[key: string]: Object}` doesn't make sense.  You actually want only the `Object` portion of that definition, presuming it's meant to be used like below:

```javascript
type MyTextProps = {
  style: StyleProp,
}

<MyText style={{ color: '#999', fontSize: 12 }}>Hello</Text>
```

 ---

I've also added `void` to the `StyleValue`, as undefined seems to be handled fine, and can be a useful shorthand in JSX.

 ---

And finally, I've allowed nesting of style prop arrays, by making StyleProp self-referencing, as RN seems to flatten those without issue.  This can be important if you're passing in a style prop quite high up the component tree, and sticking it in an array with other styles at several points while it's passed down.

N/A (These types aren't referenced anywhere else)

[INTERNAL] [MINOR] [StyleSheet] - Refine Flow types
Closes https://github.com/facebook/react-native/pull/16741

Reviewed By: frantic

Differential Revision: D6278010

Pulled By: TheSavior

fbshipit-source-id: 0170a233ab71d29f445786f5e695463f9730db3a
2017-11-09 11:58:15 -08:00
..
ART Fix format warnings for clang 5.0 2017-09-25 10:30:53 -07:00
ActionSheetIOS Add tintColor to ActionSheetIOS documentation 2017-11-06 10:39:55 -08:00
Alert Add ?Fbt to flow type for the title & message props 2017-11-06 16:24:22 -08:00
Animated Fix encoding of various files 2017-11-02 08:00:56 -07:00
AppState Avoid race condition for AppState.currentState 2017-08-18 13:14:59 -07:00
BatchedBridge Adding @email tags to most of the tests 2017-11-02 06:25:03 -07:00
Blob @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
BugReporting Patch up for future React Sync 2017-02-08 14:50:43 -08:00
CameraRoll Fix crash when trying to load photo library assets with nil image url 2017-09-14 12:02:27 -07:00
Components improve docs for KeyboardAvoidingView 2017-11-07 11:57:22 -08:00
Core Rename BundleFetcher to SegmentFetcher 2017-11-08 07:46:26 -08:00
EventEmitter RN: Improve NativeEventEmitter Flow Types 2017-10-13 08:04:17 -07:00
Experimental @allow-large-files Flow 0.58 upgrade for xplat/js 2017-11-02 10:51:14 -07:00
Geolocation @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
Image Rename scaledAssetURLScript function to scaledAssetURLNearBundle 2017-11-08 12:17:44 -08:00
Inspector @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
Interaction Adding @email tags to most of the tests 2017-11-02 06:25:03 -07:00
JSInspector Add Network agent 2016-11-02 12:29:15 -07:00
LayoutAnimation @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
Linking fix flow warning and typo 2017-09-08 14:46:14 -07:00
LinkingIOS Standardize project indentation settings on 2 spaces 2017-07-31 05:20:03 -07:00
Lists Update Jest to 21.3.0-beta.8 2017-11-08 07:03:30 -08:00
Modal Add onDismiss to Modal.js 2017-09-21 15:01:52 -07:00
NativeAnimation Fix potential retain cycles in Animated iOS 2017-10-23 13:20:59 -07:00
Network Check against integer overflow in RCTNetworking decodeTextData 2017-11-07 08:08:41 -08:00
Performance Gate more code with if (__DEV__) { } 2017-08-14 07:19:00 -07:00
PermissionsAndroid Update documentation for PermissionsAndroid 2017-08-16 15:01:51 -07:00
PushNotificationIOS Fix flowtype errors for PushNotificationIOS 2017-08-14 12:03:18 -07:00
RCTTest Improve DX for FBReactKitIntegrationTests 2017-09-21 18:30:38 -07:00
ReactNative Make RN Events registered disregarding ViewManager use pattern. 2017-11-07 11:32:34 -08:00
Renderer Moved `PooledClass` and improved `js1 upgrade react` 2017-10-24 12:30:27 -07:00
Sample Standardize project indentation settings on 2 spaces 2017-07-31 05:20:03 -07:00
Settings Fix infinite recursion in RCTSettingsManager init 2017-08-09 09:39:40 -07:00
Share "subject" field for Share 2017-10-23 11:32:44 -07:00
Storage correctly order ASyncStorage 2017-02-21 15:18:40 -08:00
StyleSheet Refine StyleSheet Flow types 2017-11-09 11:58:15 -08:00
Text Fix missing return in example 2017-11-08 12:17:44 -08:00
Utilities Rename BundleFetcher to SegmentFetcher 2017-11-08 07:46:26 -08:00
Vibration Run eslint --fix 2017-10-09 17:46:44 -07:00
WebSocket Adding @email tags to most of the tests 2017-11-02 06:25:03 -07:00
Wrapper Opensourcing RCTWrapper 2017-10-09 17:22:35 -07:00
fishhook Merge fishhook.xcodeproj in RCTWebSocket 2017-08-09 07:48:09 -07:00
polyfills Use proper script way to clone Emoji files from www 2017-08-21 16:29:39 -07:00
react-native Export YellowBox API 2017-11-06 17:44:37 -08:00
vendor @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
.eslintrc Disallow trailing commas in react-native-github 2017-08-17 16:20:04 -07:00
Promise.js @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
promiseRejectionIsError.js @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00