#### [CallbagKit][Callbag] › [Documentation][Documentation] # Operators > Most operators operate on a source and return a source. This allows you to > apply these operators one after the other, in a chain. Each operator in the > chain modifies the source that results from the operation of the previous operator. > > There are other patterns, like the Builder Pattern, in which a variety of > methods of a particular class operate on an item of that same class by > modifying that object through the operation of the method. These patterns > also allow you to chain the methods in a similar way. But while in the Builder > Pattern, the order in which the methods appear in the chain does not usually > matter, with the source operators order matters. > > A chain of source operators do not operate independently on the original source > that originates the chain, but they operate in turn, each one operating on the > source generated by the operator immediately previous in the chain. 1. [**Combining**](./Combining/README.md) 1. [Combine](./Combining/Combine.md) 2. [Concat](./Combining/Concat.md) 3. [Merge](./Combining/Merge.md) 4. [Race](./Combining/Race.md) 5. [SwitchLatest](./Combining/SwitchLatest.md) 6. [Zip](./Combining/Zip.md) 2. [**Debugging**](./Debugging/README.md) 1. [Breakpoint](./Debugging/Breakpoint.md) 2. [Debug](./Debugging/Debug.md) 3. [Print](./Debugging/Print.md) 4. [Tap](./Debugging/Tap.md) 3. [**ErrorHandling**](./ErrorHandling/README.md) 1. [Assert](./ErrorHandling/Assert.md) 2. [CatchError](./ErrorHandling/CatchError.md) 3. [MapError](./ErrorHandling/MapError.md) 4. [Retry](./ErrorHandling/Retry.md) 4. [**Filtering**](./Filtering/README.md) 1. [Distinct](./Filtering/Distinct.md) 2. [Filter](./Filtering/Filter.md) 3. [Reject](./Filtering/Reject.md) 4. [IgnoreElements](./Filtering/IgnoreElements.md) 5. [First](./Filtering/First.md) 6. [Last](./Filtering/Last.md) 7. [Drop](./Filtering/Drop.md) 8. [Skip](./Filtering/Skip.md) 9. [Take](./Filtering/Take.md) 5. [**Matching**](./Matching/README.md) 1. [AllSatisfy](./Matching/AllSatisfy.md) 2. [Contains](./Matching/Contains.md) 6. [**Mathematical**](./Mathematical/README.md) 1. [Average](./Mathematical/Average.md) 2. [Count](./Mathematical/Count.md) 3. [Max](./Mathematical/Max.md) 4. [Min](./Mathematical/Min.md) 5. [Sum](./Mathematical/Sum.md) 7. [**Threading**](./Threading/README.md) 1. [Async](./Threading/Async.md) 2. [Sync](./Threading/Sync.md) 3. [Blocking](./Threading/Blocking.md) 8. [**Timing**](./Timing/README.md) 1. [Debounce](./Timing/Debounce.md) 2. [Throttle](./Timing/Throttle.md) 3. [Durations](./Timing/Durations.md) 4. [Timestamps](./Timing/Timestamps.md) 5. [Timeout](./Timing/Timeout.md) 6. [Delay](./Timing/Delay.md) 7. [Wait](./Timing/Wait.md) 9. [**Transforming**](./Transforming/README.md) 1. [Indices](./Transforming/Indices.md) 2. [Buffer](./Transforming/Buffer.md) 3. [Collect](./Transforming/Collect.md) 4. [Codable](./Transforming/Codable.md) 5. [Components](./Transforming/Components.md) 6. [Split](./Transforming/Split.md) 7. [Joined](./Transforming/Joined.md) 8. [De-Materialize](./Transforming/De-Materialize.md) 9. [Map](./Transforming/Map.md) 10. [Compact](./Transforming/Compact.md) 11. [FlatMap](./Transforming/FlatMap.md) 12. [Pluck](./Transforming/Pluck.md) 13. [Group](./Transforming/Group.md) 14. [Partition](./Transforming/Partition.md) 15. [Reduce](./Transforming/Reduce.md) 16. [Loop](./Transforming/Loop.md) 17. [Scan](./Transforming/Scan.md) 18. [Repeats](./Transforming/Repeats.md) 19. [Replace](./Transforming/Replace.md) [Callbag]: <../../README.md> (Callbag) [Documentation]: <../README.md> (Documentation)