/ student-intifada / node_modules / define-data-property /

[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]test/a year ago -  
[TXT]CHANGELOG.mda year ago5.3K 
[   ]LICENSEa year ago1.0K 
[TXT]README.mda year ago2.4K595aea1 more query options + view options [كارل مبارك]
[TXT]index.d.tsa year ago315  
[   ]index.jsa year ago2.3K 
[   ]package.jsona year ago2.8Kafd0ccc remove unused [كارل مبارك]
[   ]tsconfig.jsona year ago4.8K595aea1 more query options + view options [كارل مبارك]
README.md

define-data-property Version Badge

github actions coverage License Downloads

npm badge

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,
        },
    }
);
Apache/2.4.38 (Debian) Server at www.karls.computer Port 80