Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.
Install with npmarrow-up-right :
Copy $ npm install --save is-descriptor
Copy var isDescriptor = require ( ' is-descriptor ' ) ;
isDescriptor ( { value : ' foo ' } )
// => true
isDescriptor ( { get : function (){}, set : function (){}} )
// => true
isDescriptor ( { get : ' foo ' , set : function (){}} )
// => false You may also check for a descriptor by passing an object as the first argument and property name (string) as the second argument.
Copy var obj = {};
obj . foo = ' abc ' ;
Object . defineProperty (obj , ' bar ' , {
value : ' xyz '
} ) ;
isDescriptor (obj , ' foo ' ) ;
// => true
isDescriptor (obj , ' bar ' ) ;
// => true false when not an object
data descriptor
true when the object has valid properties with valid values.
false when the object has invalid properties
false when a value is not the correct type
accessor descriptor
true when the object has valid properties with valid values.
false when the object has invalid properties
false when an accessor is not a function
false when a value is not the correct type
Pull requests and stars are always welcome. For bugs and feature requests, please create an issuearrow-up-right .
(This project's readme.md is generated by verb arrow-up-right , please don't edit the readme directly. Any changes to the readme must be made in the .verb.md arrow-up-right readme template.)
To generate the readme, run the following command:
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
Jon Schlinkert
Copyright © 2017, Jon Schlinkertarrow-up-right . Released under the MIT Licensearrow-up-right .
This file was generated by verb-generate-readme arrow-up-right , v0.6.0, on July 22, 2017.