'use strict'; var ReactChildren = require('ReactChildren'); var ReactElement = require('ReactElement'); var emptyFunction = require('emptyFunction'); var invariant = require('invariant'); var warning = require('warning'); var numericPropertyRegex = /^\d+$/; var warnedAboutNumeric = false ; var ReactFragment = { create: function (object){ if (typeof object !== 'object' || !object || Array.isArray(object)) { warning(false , 'React.addons.createFragment only accepts a single object. Got: %s', object); return object; } if (ReactElement.isValidElement(object)) { warning(false , 'React.addons.createFragment does not accept a ReactElement ' + 'without a wrapper object.'); return object; } invariant(object.nodeType !== 1, 'React.addons.createFragment(...): Encountered an invalid child; DOM ' + 'elements are not valid children of React components.'); var result = [] ; for (var key in object){ if (__DEV__) { if (!warnedAboutNumeric && numericPropertyRegex.test(key)) { warning(false , 'React.addons.createFragment(...): Child objects should have ' + 'non-numeric keys so ordering is preserved.'); warnedAboutNumeric = true ; } } ReactChildren.mapIntoWithKeyPrefixInternal(object[key], result, key, emptyFunction.thatReturnsArgument); } return result; } } ; module.exports = ReactFragment;