It doesn’t have a `@flow` annotation. We should start Flow-ifying it to avoid bugs like https://github.com/facebook/react/pull/11173.

@iamdustan Wanna take it?
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
'use strict';
var React = require('react');
var emptyFunction = require('fbjs/lib/emptyFunction');
var emptyObject = require('fbjs/lib/emptyObject');
var hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');
var invariant = require('fbjs/lib/invariant');
var memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');
var DOMMarkupOperations = require('./DOMMarkupOperations');
var {
  Namespaces,
  getIntrinsicNamespace,
  getChildNamespace,
} = require('../shared/DOMNamespaces');
var ReactControlledValuePropTypes = require('../shared/ReactControlledValuePropTypes');
var assertValidProps = require('../shared/assertValidProps');
var dangerousStyleValue = require('../shared/dangerousStyleValue');
var escapeTextContentForBrowser = require('../shared/escapeTextContentForBrowser');
var isCustomComponent = require('../shared/isCustomComponent');
var omittedCloseTags = require('../shared/omittedCloseTags');
var toArray = React.Children.toArray;