mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
react app
This commit is contained in:
68
react-app/node_modules/react/lib/toArray.js
generated
vendored
Normal file
68
react-app/node_modules/react/lib/toArray.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Copyright 2014-2015, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule toArray
|
||||
* @typechecks
|
||||
*/
|
||||
|
||||
var invariant = require("./invariant");
|
||||
|
||||
/**
|
||||
* Convert array-like objects to arrays.
|
||||
*
|
||||
* This API assumes the caller knows the contents of the data type. For less
|
||||
* well defined inputs use createArrayFromMixed.
|
||||
*
|
||||
* @param {object|function|filelist} obj
|
||||
* @return {array}
|
||||
*/
|
||||
function toArray(obj) {
|
||||
var length = obj.length;
|
||||
|
||||
// Some browse builtin objects can report typeof 'function' (e.g. NodeList in
|
||||
// old versions of Safari).
|
||||
("production" !== process.env.NODE_ENV ? invariant(
|
||||
!Array.isArray(obj) &&
|
||||
(typeof obj === 'object' || typeof obj === 'function'),
|
||||
'toArray: Array-like object expected'
|
||||
) : invariant(!Array.isArray(obj) &&
|
||||
(typeof obj === 'object' || typeof obj === 'function')));
|
||||
|
||||
("production" !== process.env.NODE_ENV ? invariant(
|
||||
typeof length === 'number',
|
||||
'toArray: Object needs a length property'
|
||||
) : invariant(typeof length === 'number'));
|
||||
|
||||
("production" !== process.env.NODE_ENV ? invariant(
|
||||
length === 0 ||
|
||||
(length - 1) in obj,
|
||||
'toArray: Object should have keys for indices'
|
||||
) : invariant(length === 0 ||
|
||||
(length - 1) in obj));
|
||||
|
||||
// Old IE doesn't give collections access to hasOwnProperty. Assume inputs
|
||||
// without method will throw during the slice call and skip straight to the
|
||||
// fallback.
|
||||
if (obj.hasOwnProperty) {
|
||||
try {
|
||||
return Array.prototype.slice.call(obj);
|
||||
} catch (e) {
|
||||
// IE < 9 does not support Array#slice on collections objects
|
||||
}
|
||||
}
|
||||
|
||||
// Fall back to copying key by key. This assumes all keys have a value,
|
||||
// so will not preserve sparsely populated inputs.
|
||||
var ret = Array(length);
|
||||
for (var ii = 0; ii < length; ii++) {
|
||||
ret[ii] = obj[ii];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
module.exports = toArray;
|
Reference in New Issue
Block a user