# `TypeSafeSDK.Batch`
[🔗](https://github.com/nshkrdotcom/typesafe_sdk/blob/v0.4.0/lib/typesafe_sdk/batch.ex#L1)

Lazy, bounded evaluation using an owned supervisor and unlinked tasks.

The stream is cold and re-enumerable. Every enumeration owns its supervisor;
early halt and errors stop remaining tasks. This bounds tasks in this batch,
not queues in the shared HTTP transport. Ordered evaluation uses bounded
prefetch windows (`max_pending`, default four times concurrency); one window
completes before the next starts. Unordered results retain batch_index.

# `many`

```elixir
@spec many(TypeSafeSDK.Client.t(), Enumerable.t(), term(), keyword()) :: list()
```

# `stream`

```elixir
@spec stream(TypeSafeSDK.Client.t(), Enumerable.t(), term(), keyword()) ::
  Enumerable.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
