You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*! * is-data-descriptor <https://github.com/jonschlinkert/is-data-descriptor>
* * Copyright (c) 2015-2017, Jon Schlinkert. * Released under the MIT License. */
'use strict';
var typeOf = require('kind-of');
module.exports = function isDataDescriptor(obj, prop) { // data descriptor properties
var data = { configurable: 'boolean', enumerable: 'boolean', writable: 'boolean' };
if (typeOf(obj) !== 'object') { return false; }
if (typeof prop === 'string') { var val = Object.getOwnPropertyDescriptor(obj, prop); return typeof val !== 'undefined'; }
if (!('value' in obj) && !('writable' in obj)) { return false; }
for (var key in obj) { if (key === 'value') continue;
if (!data.hasOwnProperty(key)) { continue; }
if (typeOf(obj[key]) === data[key]) { continue; }
if (typeof obj[key] !== 'undefined') { return false; } } return true; };
|