UNPKG

@material-ui/core

Version:

React components that implement Google's Material Design.

35 lines (31 loc) 983 B
/** * Safe chained function * * Will only create a new function if needed, * otherwise will pass back existing functions or null. * * @param {function} functions to chain * @returns {function|null} */ export default function createChainedFunction() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } return funcs.reduce(function (acc, func) { if (func == null) { return acc; } if (process.env.NODE_ENV !== 'production') { if (typeof func !== 'function') { console.error('Material-UI: Invalid Argument Type, must only provide functions, undefined, or null.'); } } return function chainedFunction() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } acc.apply(this, args); func.apply(this, args); }; }, function () {}); }