12345678910111213141516171819202122232425262728293031 |
- var kindOf = require('./kindOf');
- var _win = this;
- /**
- * Convert array-like object into array
- */
- function toArray(val){
- var ret = [],
- kind = kindOf(val),
- n;
- if (val != null) {
- if ( val.length == null || kind === 'String' || kind === 'Function' || kind === 'RegExp' || val === _win ) {
- //string, regexp, function have .length but user probably just want
- //to wrap value into an array..
- ret[ret.length] = val;
- } else {
- //window returns true on isObject in IE7 and may have length
- //property. `typeof NodeList` returns `function` on Safari so
- //we can't use it (#58)
- n = val.length;
- while (n--) {
- ret[n] = val[n];
- }
- }
- }
- return ret;
- }
- module.exports = toArray;
|