UNPKG

@mui/utils

Version:
24 lines (23 loc) 780 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** * Extracts event handlers from a given object. * A prop is considered an event handler if it is a function and its name starts with `on`. * * @param object An object to extract event handlers from. * @param excludeKeys An array of keys to exclude from the returned object. */ function extractEventHandlers(object, excludeKeys = []) { if (object === undefined) { return {}; } const result = {}; Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => { result[prop] = object[prop]; }); return result; } var _default = exports.default = extractEventHandlers;