Releases: arielf-camacho/data-stream
Releases · arielf-camacho/data-stream
Release list
Add Flatten, ToArray and RoundRobin flows
What's Changed
- Add Flatten, ToArray and RoundRobin flows by @arielf-camacho in #7
Full Changelog: v1.5.0...v1.6.0
Data stream core components
Added
- Initial core components:
- Sources:
SingleSource: Emits a single value from a functionSliceSource: Emits all values from a slice
- Flows:
FilterFlow: Filters values based on a predicate functionMapFlow: Transforms values using a function with optional parallelismMergeFlow: Merges multiple streams into a single output streamSplitFlow: Splits a stream into two based on a predicateSpreadFlow: Duplicates a stream to multiple outputsPassThroughFlow: Passes values through with optional type conversion
- Sinks:
ChannelSink: Writes values to a Go channelWriterSink: Writes byte data to an io.Writer
- Sources:
- Core primitives:
Source[T]: Interface for data sourcesFlow[IN, OUT]: Interface for data transformationsSink[T]: Interface for data consumersInlet[T]andOutlet[T]: Base interfaces for channel communication
- Builder pattern: Fluent API for configuring all components
- Context support: All components respect Go's context for cancellation
- Error handling: Customizable error handlers for robust applications
- Type safety: Full generic support with compile-time type checking
- Concurrency: Built-in support for parallel processing where appropriate
- Resource management: Automatic channel lifecycle management
- Examples: Complete working examples for all components
- Documentation: Comprehensive documentation with usage examples
- Testing: Full test coverage for all components
- Makefile: Development tools and commands for contributors