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

Version Path
immosquare-cleaner-0.1.32 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.30 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.29 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.28 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.27 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.26 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.25 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.24 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.23 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.22 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.21 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.20 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.19 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.18 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.17 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.16 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.14 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.13 node_modules/es-abstract/helpers/isPropertyDescriptor.js
immosquare-cleaner-0.1.12 node_modules/es-abstract/helpers/isPropertyDescriptor.js