Blame view

node_modules/es5-ext/object/is-plain-object.js 574 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  'use strict';
  
  var getPrototypeOf = Object.getPrototypeOf, prototype = Object.prototype
    , toString = prototype.toString
  
    , id = Object().toString();
  
  module.exports = function (value) {
  	var proto, constructor;
  	if (!value || (typeof value !== 'object') || (toString.call(value) !== id)) {
  		return false;
  	}
  	proto = getPrototypeOf(value);
  	if (proto === null) {
  		constructor = value.constructor;
  		if (typeof constructor !== 'function') return true;
  		return (constructor.prototype !== value);
  	}
  	return (proto === prototype) || (getPrototypeOf(proto) === null);
  };