UNPKG

@wordpress/components

Version:
47 lines (40 loc) 998 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeEventHandlers = mergeEventHandlers; /** * Merges event handlers together. * * @template TEvent * @param handler * @param otherHandler */ function mergeEvent(handler, otherHandler) { return event => { if (typeof handler === 'function') { handler(event); } if (typeof otherHandler === 'function') { otherHandler(event); } }; } /** * Merges two sets of event handlers together. * * @template TEvent * @param handlers * @param extraHandlers */ function mergeEventHandlers(handlers, extraHandlers) { // @ts-ignore We'll fill in all the properties below const mergedHandlers = { ...handlers }; for (const [key, handler] of Object.entries(extraHandlers)) { // @ts-ignore mergedHandlers[key] = key in mergedHandlers ? mergeEvent(mergedHandlers[key], handler) : handler; } return mergedHandlers; } //# sourceMappingURL=events.js.map