ohctechv3/.svn/pristine/05/05da7a44308e24e766a63054ffe544df9da068d7.svn-base
2024-10-28 15:03:36 +05:30

19 lines
581 B
Plaintext

/**
* Removes event handlers from the given object.
* A field is considered an event handler if it is a function with a name beginning with `on`.
*
* @param object Object to remove event handlers from.
* @returns Object with event handlers removed.
*/
export function omitEventHandlers(object) {
if (object === undefined) {
return {};
}
var result = {};
Object.keys(object).filter(function (prop) {
return !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function');
}).forEach(function (prop) {
result[prop] = object[prop];
});
return result;
}