@ganuz/to-property-descriptor
To Property Descriptor is package from Ganuz library
Install
$ yarn add @ganuz/to-property-descriptor
Or
$ npm install --save @ganuz/to-property-descriptor
Use
Module
import {
IPropertyDescriptorOptions,
default as toPropertyDescriptor
} from '@ganuz/to-property-descriptor';
Browser
<script src="https://unpkg.com/@ganuz/to-property-descriptor/bundle.umd.min.js"></script>
let {
toPropertyDescriptor
} = G;
Examples
toPropertyDescriptor(); // => {configurable: false, enumerable: false, writable: false, value: undefined}
toPropertyDescriptor({}, 1); // => {configurable: true, enumerable: true, writable: true, value: undefined}
toPropertyDescriptor({}, {}); // => {configurable: false, enumerable: false, writable: false, value: undefined}
toPropertyDescriptor({set(){}, enumerable: true}, false); // => {configurable: false, enumerable: true, get: undefined, set(){}}
toPropertyDescriptor({get: undefined}, 'ewc'); // => {configurable: true, enumerable: true, get: undefined, set: undefined}
toPropertyDescriptor({configurable: true, enumerable: true, writable: true, set(){}}, get: null); // => {configurable: false, enumerable: false, get: undefined, set(){}}
toPropertyDescriptor({get: undefined, configurable: 0}, {enumerable: true, configurable: true}); // => {configurable: false, enumerable: true, get: undefined, set: undefined}
toPropertyDescriptor({set: 55, get: Object, writable: true}, 'cw'); // => {configurable: true, enumerable: false, get: Object, set: undefined}
toPropertyDescriptor({get(){}, set(){}, value: 'foo'}, true); // => {configurable: true, enumerable: true, get(){}, set(){}}
toPropertyDescriptor({get(){}, value: undefined, writable: true}, 'c'); // => {configurable: true, enumerable: false, get(){}, set: undefined}
toPropertyDescriptor({enumerable: 0, writable: false}, {configurable: [], writable: true}, true); // => {configurable: true, enumerable: false, writable: true, value: undefined}
toPropertyDescriptor({configurable: false, enumerable: false, writable: false}, 'ec', true); // => {configurable: true, enumerable: true, writable: false, value: undefined}
License
Copyright © Yisrael Eliev, Licensed under the MIT license.