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.
		
		
		
		
		
			|  | 5 months ago | |
|---|---|---|
| .. | ||
| .github | 5 months ago | |
| test | 5 months ago | |
| .eslintrc | 5 months ago | |
| .nycrc | 5 months ago | |
| CHANGELOG.md | 5 months ago | |
| LICENSE | 5 months ago | |
| README.md | 5 months ago | |
| index.d.ts | 5 months ago | |
| index.js | 5 months ago | |
| package.json | 5 months ago | |
| tsconfig.json | 5 months ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	define-data-property 
Define a data property on an object. Will fall back to assignment in an engine without descriptors.
The three non* argument can also be passed null, which will use the existing state if available.
The loose argument will mean that if you attempt to set a non-normal data property, in an environment without descriptor support, it will fall back to normal assignment.
Usage
var defineDataProperty = require('define-data-property');
var assert = require('assert');
var obj = {};
defineDataProperty(obj, 'key', 'value');
defineDataProperty(
	obj,
	'key2',
	'value',
	true, // nonEnumerable, optional
	false, // nonWritable, optional
	true, // nonConfigurable, optional
	false // loose, optional
);
assert.deepEqual(
	Object.getOwnPropertyDescriptors(obj),
	{
		key: {
			configurable: true,
			enumerable: true,
			value: 'value',
			writable: true,
		},
		key2: {
			configurable: false,
			enumerable: false,
			value: 'value',
			writable: true,
		},
	}
);
