is-plain-object.js
 1  'use strict';
 2  
 3  var getPrototypeOf = Object.getPrototypeOf
 4    , prototype      = Object.prototype
 5    , toString       = prototype.toString
 6  
 7    , id = {}.toString();
 8  
 9  module.exports = function (value) {
10  	return (value && (typeof value === 'object') &&
11  		(getPrototypeOf(value) === prototype) && (toString.call(value) === id)) ||
12  		false;
13  };