[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Schedule](https://evolu.dev/docs/api-reference/common/Schedule) › collectScheduleInputs

```ts
function collectScheduleInputs<Output, Input>(
  schedule: Schedule<Output, Input>,
): Schedule<readonly Input[], Input>;
```

Defined in: [packages/common/src/Schedule.ts:1683](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Schedule.ts#L1683)

Collects all inputs into an array.

Each step outputs an array containing all inputs received so far. Mirror of
[collectAllScheduleOutputs](https://evolu.dev/docs/api-reference/common/Schedule/functions/collectAllScheduleOutputs) but for inputs.

### Collecting inputs

```ts
import {
  assertOk,
  collectScheduleInputs,
  exponential,
  take,
  testCreateDeps,
  type Millis,
  type Schedule,
} from "@evolu/common";

const retries: Schedule<Millis, string> = take(3)(exponential("100ms"));
// Keep every error received during retry.
const errorHistory = collectScheduleInputs(retries);
const step = errorHistory(testCreateDeps());
step("network");
assertOk(step("timeout"), [["network", "timeout"], 200]);
```