packages/fbjs/src/core/createArrayFromMixed.js
function createArrayFromMixed(obj) {
  if (!hasArrayNature(obj)) {
    return [obj];
  } else if (Array.isArray(obj)) {
    return obj.slice();
  } else {
    return toArray(obj);
  }
}
function createArrayFromMixed(obj) {
  if (!hasArrayNature(obj)) {
    return [obj];
  } else if (Array.isArray(obj)) {
    return obj.slice();
  } else {
    return toArray(obj);
  }
}
function createArrayFromMixed ( obj ) { if ( ! hasArrayNature ( obj ) ) { return [ obj ] ; } else if ( Array . isArray ( obj ) ) { return obj . slice ( ) ; } else { return toArray ( obj ) ; } }
Ensure that the argument is an array by wrapping it in an array if it is not.
Creates a copy of the argument if it is already an array.

This is mostly useful idiomatically:

var createArrayFromMixed = require('createArrayFromMixed');

function takesOneOrMoreThings(things) {
things = createArrayFromMixed(things);
...
}

This allows you to treat `things' as an array, but accept scalars in the API.

If you need to convert an array-like object, like `arguments`, into an array
use toArray instead.

@param {*} obj
@return {array}
Ensure that the argument is an array by wrapping it in an array if it is not . Creates a copy of the argument if it is already an array .