UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

48 lines (47 loc) 1.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.functions = void 0; const keys_1 = __importDefault(require("./keys")); const arrayFilter_1 = __importDefault(require("./.internal/arrayFilter")); const isFunction_1 = __importDefault(require("./isFunction")); /** * @ignore * @private * @internal * @param object * @param props */ function baseFunctions(object, props) { return (0, arrayFilter_1.default)(props, (key) => (0, isFunction_1.default)(object[key])); } /** * Creates an array of function property names from own enumerable properties * of `object`. * * @since 5.12.0 * @category Object * @param object The object to inspect. * @returns Returns the function names. * @see [[functionsIn]] * @example * * ```js * function Foo() { * this.a = () => 'a' * this.b = () => 'b' * } * * Foo.prototype.c = () => 'c' * * functions(new Foo) * // => ['a', 'b'] * ``` */ function functions(object) { return object == null ? [] : baseFunctions(object, (0, keys_1.default)(object)); } exports.functions = functions; exports.default = functions;