Spaces:
Sleeping
Sleeping
pythonic-rag-FastAPIReact
/
frontend
/node_modules
/@mui
/utils
/modern
/extractEventHandlers
/extractEventHandlers.js
| /** | |
| * 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; | |
| } | |
| export default extractEventHandlers; |