diff options
Diffstat (limited to 'node_modules/is-plain-object/index.js')
| -rw-r--r-- | node_modules/is-plain-object/index.js | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/node_modules/is-plain-object/index.js b/node_modules/is-plain-object/index.js new file mode 100644 index 0000000..c328484 --- /dev/null +++ b/node_modules/is-plain-object/index.js @@ -0,0 +1,37 @@ +/*! + * is-plain-object <https://github.com/jonschlinkert/is-plain-object> + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +'use strict'; + +var isObject = require('isobject'); + +function isObjectObject(o) { +  return isObject(o) === true +    && Object.prototype.toString.call(o) === '[object Object]'; +} + +module.exports = function isPlainObject(o) { +  var ctor,prot; + +  if (isObjectObject(o) === false) return false; + +  // If has modified constructor +  ctor = o.constructor; +  if (typeof ctor !== 'function') return false; + +  // If has modified prototype +  prot = ctor.prototype; +  if (isObjectObject(prot) === false) return false; + +  // If constructor does not have an Object-specific method +  if (prot.hasOwnProperty('isPrototypeOf') === false) { +    return false; +  } + +  // Most likely a plain Object +  return true; +}; | 
