()
| 11 | var hasOwn = {}.hasOwnProperty; |
| 12 | |
| 13 | function classNames () { |
| 14 | var classes = []; |
| 15 | |
| 16 | for (var i = 0; i < arguments.length; i++) { |
| 17 | var arg = arguments[i]; |
| 18 | if (!arg) continue; |
| 19 | |
| 20 | var argType = typeof arg; |
| 21 | |
| 22 | if (argType === 'string' || argType === 'number') { |
| 23 | classes.push(arg); |
| 24 | } else if (Array.isArray(arg)) { |
| 25 | classes.push(classNames.apply(null, arg)); |
| 26 | } else if (argType === 'object') { |
| 27 | for (var key in arg) { |
| 28 | if (hasOwn.call(arg, key) && arg[key]) { |
| 29 | classes.push(key); |
| 30 | } |
| 31 | } |
| 32 | } |
| 33 | } |
| 34 | |
| 35 | return classes.join(' '); |
| 36 | } |
| 37 | |
| 38 | if (typeof module !== 'undefined' && module.exports) { |
| 39 | module.exports = classNames; |
no outgoing calls
no test coverage detected