18 lines
		
	
	
		
			528 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			528 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
var isFunction = require("../function/is-function")
 | 
						|
  , isObject   = require("./is-object")
 | 
						|
  , isValue    = require("./is-value");
 | 
						|
 | 
						|
module.exports = function (value) {
 | 
						|
	return (
 | 
						|
		(isValue(value) &&
 | 
						|
			typeof value.length === "number" &&
 | 
						|
			// Just checking ((typeof x === 'object') && (typeof x !== 'function'))
 | 
						|
			// won't work right for some cases, e.g.:
 | 
						|
			// type of instance of NodeList in Safari is a 'function'
 | 
						|
			((isObject(value) && !isFunction(value)) || typeof value === "string")) ||
 | 
						|
		false
 | 
						|
	);
 | 
						|
};
 |