mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-09-28 13:13:37 +08:00
Fixed: 365626812 Change-Id: I1e4711a43fa31bff35b45ac6e6dd518391db562e Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5939693 Reviewed-by: Danil Somsikov <dsv@chromium.org> Auto-Submit: Alex Rudenko <alexrudenko@chromium.org> Commit-Queue: Danil Somsikov <dsv@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
2.4 KiB
2.4 KiB
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,
},
}
);
