InternetProgramming/Lab3/node_modules/es-abstract/2016/IsDataDescriptor.js

24 lines
461 B
JavaScript
Raw Normal View History

2023-12-15 14:42:22 +04:00
'use strict';
var hasOwn = require('hasown');
var Type = require('./Type');
var assertRecord = require('../helpers/assertRecord');
// https://262.ecma-international.org/5.1/#sec-8.10.2
module.exports = function IsDataDescriptor(Desc) {
if (typeof Desc === 'undefined') {
return false;
}
assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
if (!hasOwn(Desc, '[[Value]]') && !hasOwn(Desc, '[[Writable]]')) {
return false;
}
return true;
};