---
title: Publishers.PrefixWhile
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/prefixwhile
---

# Publishers.PrefixWhile

A publisher that republishes elements while a predicate closure indicates publishing should continue.

## Declaration

```swift
struct PrefixWhile<Upstream> where Upstream : Publisher
```

## Topics

### Creating a prefix while publisher

- [init(upstream:predicate:)](combine/publishers/prefixwhile/init(upstream:predicate:).md)

### Declaring supporting types

- [Publishers.PrefixWhile.Output](combine/publishers/prefixwhile/output.md)
- [Publishers.PrefixWhile.Failure](combine/publishers/prefixwhile/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/prefixwhile/upstream.md)
- [predicate](combine/publishers/prefixwhile/predicate.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Applying sequence operations to elements

- [Publishers.DropUntilOutput](combine/publishers/dropuntiloutput.md)
- [Publishers.Drop](combine/publishers/drop.md)
- [Publishers.DropWhile](combine/publishers/dropwhile.md)
- [Publishers.TryDropWhile](combine/publishers/trydropwhile.md)
- [Publishers.Concatenate](combine/publishers/concatenate.md)
- [Publishers.TryPrefixWhile](combine/publishers/tryprefixwhile.md)
- [Publishers.PrefixUntilOutput](combine/publishers/prefixuntiloutput.md)
