diff options
Diffstat (limited to 'signaling-server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/index.js')
-rw-r--r-- | signaling-server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/index.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/signaling-server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/index.js b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/index.js new file mode 100644 index 0000000..cc495d6 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/components/timoxley-to-array/index.js @@ -0,0 +1,27 @@ +/** + * Convert an array-like object into an `Array`. + * If `collection` is already an `Array`, then will return a clone of `collection`. + * + * @param {Array | Mixed} collection An `Array` or array-like object to convert e.g. `arguments` or `NodeList` + * @return {Array} Naive conversion of `collection` to a new `Array`. + * @api private + */ + +module.exports = function toArray(collection) { + if (typeof collection === 'undefined') return [] + if (collection === null) return [null] + if (collection === window) return [window] + if (typeof collection === 'string') return [collection] + if (Array.isArray(collection)) return collection.slice() + if (typeof collection.length != 'number') return [collection] + if (typeof collection === 'function') return [collection] + + var arr = [] + for (var i = 0; i < collection.length; i++) { + if (collection.hasOwnProperty(i) || i in collection) { + arr.push(collection[i]) + } + } + if (!arr.length) return [] + return arr +} |