UNPKG

es-toolkit

Version:

A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.

30 lines (29 loc) 749 B
const require_keys = require("./keys.js"); //#region src/compat/object/functions.ts /** * Creates an array of property names from an object where the property values are functions. * * Only checks for own properties with string keys. Inherited properties or * properties with Symbol keys are not included. * * @param object The object to inspect. * @returns An array of function property names. * * @example * * function Foo() { * this.a = () => 'a' * this.b = () => 'b' * } * * Foo.prototype.c = () => 'c' * * functions(new Foo) * // => ['a', 'b'] */ function functions(object) { if (object == null) return []; return require_keys.keys(object).filter((key) => typeof object[key] === "function"); } //#endregion exports.functions = functions;