* Test
* Fix react typings
* Revert "Use []-syntax for some cases."
This reverts commit 5f6e55843980b2cff9ace4174f72b4f8aa7ad278.
* Modify another render function's return type
* Use Array<T> instead in react.d.ts & Fix issues with the typescript linter & Adapt changes in react-router
* Convert Array<T> to T[]
* Add support for string and number return types.
* Add hydrate method
* Add hydrate to react-dom-tests.ts
* Fix whitespace
* Create shared interface for `render` and `hydrate`
* Add renderToNodeStream and renderToStaticNodeStream methods in ReactDomServer
* Add proper nodejs.readablestream
* Add react-dom v15 for backwards compatibility
* Add proper baseUrl for react-dom/v15
* Change react test _interval type to NodeJS.Timer
* Export the renderer interface
* Change react/v15 to use NodeJS.Timer
DOMAttributes, HTMLAttributes and SVGAttributes are all weak types.
In React.DOMElement, people always pass either HTMLAttributes or
SVGAttributes, so the type parameter is just constrained to
DOMAttributes. This is not as good as a union of (HTML | SVGAttrs) for 2
reasons:
1. Valid HTMLAttributes objects that don't include some DOMAttributes
properties fail TS 2.4's weak type check.
2. Invalid HTMLAttributes objects don't get type checking for
HTMLAttributes properties.
For example:
```ts
var e: React.DOMElement<{
style: {
checked: "no"
}
}, Element>;
```
But `checked` is actually a boolean. Previously, this was not an error.
These weak type errors were not caught in TS 2.4 RC. The final TS 2.4
will catch weak type errors with primitives, so this PR fixes those
now-caught errors.