---
title: SourceNextResult
description: "What the `next` of a Source resolves to: an item, to claim it; `null`, when no item is ready now; or `{ item, open }`, where `open` is the number of items that exist but are not ready."
---

# `SourceNextResult`

Type, in `@jr2/orchestrator/src/pool.ts`. The signature of an export, or a type that it names, names this type. The [Authoring surface](../authoring-surface.md) page lists each export. This type is not an export of `@jr2/orchestrator`, so a workflow module does not import it by name.

```ts
type SourceNextResult<T> = T | null | { item: T | null; open: number };
```

What the `next` of a Source resolves to: an item, to claim it; `null`, when no item is ready
now; or `{ item, open }`, where `open` is the number of items that exist but are not ready.
When no worker runs and `next` gives no item, the Pool ends: `drained` when `open` is 0 or
absent, `deadlocked` when `open` is more than 0.
