test
This commit is contained in:
43
node_modules/is-data-descriptor/index.js
generated
vendored
Normal file
43
node_modules/is-data-descriptor/index.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
'use strict';
|
||||
|
||||
var hasOwn = require('hasown');
|
||||
|
||||
// data descriptor properties
|
||||
var data = {
|
||||
__proto__: null,
|
||||
configurable: 'boolean',
|
||||
enumerable: 'boolean',
|
||||
writable: 'boolean',
|
||||
};
|
||||
|
||||
module.exports = function isDataDescriptor(obj, prop) {
|
||||
if (!obj || 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))
|
||||
|| 'get' in obj
|
||||
|| 'set' in obj
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (var key in obj) { // eslint-disable-line no-restricted-syntax
|
||||
if (
|
||||
key !== 'value'
|
||||
&& hasOwn(obj, key)
|
||||
&& hasOwn(data, key)
|
||||
&& typeof obj[key] !== data[key]
|
||||
&& typeof obj[key] !== 'undefined'
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
Reference in New Issue
Block a user