Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.
(TOC generated by verb using markdown-toc)
Install with npm:
$ npm i is-accessor-descriptor --save
var isAccessor = require('is-accessor-descriptor');
isAccessor({get: function() {}});
//=> true
You may also pass an object and property name to check if the property is an accessor:
isAccessor(foo, 'bar');
false
when not an object
isAccessor('a')
isAccessor(null)
isAccessor([])
//=> false
true
when the object has valid properties
and the properties all have the correct JavaScript types:
isAccessor({get: noop, set: noop})
isAccessor({get: noop})
isAccessor({set: noop})
//=> true
false
when the object has invalid properties
isAccessor({get: noop, set: noop, bar: 'baz'})
isAccessor({get: noop, writable: true})
isAccessor({get: noop, value: true})
//=> false
false
when an accessor is not a function
isAccessor({get: noop, set: 'baz'})
isAccessor({get: 'foo', set: noop})
isAccessor({get: 'foo', bar: 'baz'})
isAccessor({get: 'foo', set: 'baz'})
//=> false
false
when a value is not the correct type
isAccessor({get: noop, set: noop, enumerable: 'foo'})
isAccessor({set: noop, configurable: 'foo'})
isAccessor({get: noop, configurable: 'foo'})
//=> false
Install dev dependencies:
$ npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Jon Schlinkert
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb on December 28, 2015.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.