Files
madbase/control-plane-ui/node_modules/@mui/utils/legacy/extractEventHandlers/extractEventHandlers.js
Vlad Durnea cffdf8af86
Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
wip:milestone 0 fixes
2026-03-15 12:35:42 +02:00

21 lines
762 B
JavaScript

/**
* 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) {
var excludeKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (object === undefined) {
return {};
}
var result = {};
Object.keys(object).filter(function (prop) {
return prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop);
}).forEach(function (prop) {
result[prop] = object[prop];
});
return result;
}
export default extractEventHandlers;