# compose

```javascript
(...functions) => () => {}
```

从右到左合成多个参数的函数，基于 [redux compose](https://github.com/dog-days/redux-mutation/tree/551cb3e3a22417949a5ff59df531161a3aaad5f3/docs/api/%E4%BB%8E%E5%8F%B3%E5%88%B0%E5%B7%A6%E5%90%88%E6%88%90%E5%A4%9A%E4%B8%AA%E5%8F%82%E6%95%B0%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E5%9F%BA%E4%BA%8Eredux%20compose%E6%94%B9%E9%80%A0%E8%80%8C%E6%9D%A5/README.md) 改造而来。跟 `redux` 的 `compose` 区别在于，这里合并的函数是可以多个参数的，除了第一个参数一定是函数外，其他参数无限制。

多参数 `compose` 可以兼容 `redux` 的单个参数 `compose`。

## 参数

1.  (_arguments_): 需要被合成的函数， 例如 `compose(f, g, h)` 合成如下面的:

    `(firstArg,...otherArgs) => f(g(h(firstArg,...otherArgs),...otherArgs),...otherArgs)`

## 返回值

(_function_): 从右到左把接收到的函数合成后的最终函数。
