{"size": 529, "ext": "js", "max_stars_repo_path": "src/utils/compose.js", "max_stars_repo_name": "jas-chen/rx-redux", "max_stars_repo_stars_event_min_datetime": "2015-07-27T13:21:08.000Z", "max_stars_repo_stars_event_max_datetime": "2021-12-20T00:09:39.000Z", "max_issues_repo_path": "src/utils/compose.js", "max_issues_repo_name": "joshburgess/rx-redux", "max_issues_repo_issues_event_min_datetime": "2015-07-27T16:53:48.000Z", "max_issues_repo_issues_event_max_datetime": "2015-11-14T00:43:03.000Z", "max_forks_repo_path": "src/utils/compose.js", "max_forks_repo_name": "joshburgess/rx-redux", "max_forks_repo_forks_event_min_datetime": "2015-07-27T15:11:32.000Z", "max_forks_repo_forks_event_max_datetime": "2021-04-29T10:14:21.000Z"}
{"max_stars_count": 475, "max_issues_count": 7, "max_forks_count": 29, "avg_line_length": 35.2666666667, "max_line_length": 80, "alphanum_fraction": 0.7051039698}
/*
 https://github.com/gaearon/redux/blob/breaking-changes-1.0/src/utils/compose.js
 */
/**
 * Composes functions from left to right.
 *
 * @param {...Function} funcs - The functions to compose.
 * @returns {Function} A function that passes its only argument to the first of
 * the `funcs`, then pipes its return value to the second one, and so on, until
 * the last of the `funcs` is called, and its result is returned.
 */
export default function compose(...funcs) {
  return funcs.reduceRight((composed, f) => f(composed));
}
