Sha256: 3dce31d3559e8220acbb24b605a879c53c99f508f7b1e33f5bc17a241ad92949
Contents?: true
Size: 721 Bytes
Versions: 31
Compression:
Stored size: 721 Bytes
Contents
'use strict'; var GetIntrinsic = require('get-intrinsic'); var has = require('has'); var $TypeError = GetIntrinsic('%TypeError%'); module.exports = function IsPropertyDescriptor(ES, Desc) { if (ES.Type(Desc) !== 'Object') { return false; } var allowed = { '[[Configurable]]': true, '[[Enumerable]]': true, '[[Get]]': true, '[[Set]]': true, '[[Value]]': true, '[[Writable]]': true }; for (var key in Desc) { // eslint-disable-line no-restricted-syntax if (has(Desc, key) && !allowed[key]) { return false; } } if (ES.IsDataDescriptor(Desc) && ES.IsAccessorDescriptor(Desc)) { throw new $TypeError('Property Descriptors may not be both accessor and data descriptors'); } return true; };
Version data entries
31 entries across 30 versions & 4 rubygems