Files
lodash/functions.js
John-David Dalton 7cc1328bf1 Simplify functions.
2017-02-24 23:52:03 -08:00

32 lines
673 B
JavaScript

import arrayFilter from './arrayFilter.js'
import keys from './keys.js'
/**
* Creates an array of function property names from own enumerable properties
* of `object`.
*
* @since 0.1.0
* @category Object
* @param {Object} object The object to inspect.
* @returns {Array} Returns the function names.
* @see functionsIn
* @example
*
* function Foo() {
* this.a = constant('a')
* this.b = constant('b')
* }
*
* Foo.prototype.c = constant('c')
*
* functions(new Foo)
* // => ['a', 'b']
*/
function functions(object) {
return object == null
? []
: arrayFilter(keys(object), key => typeof object[key] == 'function')
}
export default functions