RxGo

Reactive Extensions for the Go language.

MIT License

Stars
4.9K
Committers
39

Bot releases are hidden (Show)

RxGo - v2.5.0 Latest Release

Published by teivah over 3 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Added

Changed

Fixed

RxGo - v1.0.1

Published by teivah over 3 years ago

  • Deprecated version note
RxGo - v2.4.0

Published by teivah almost 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Changed

Fixed

RxGo - v2.3.0

Published by teivah almost 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Added

  • Find operator

Changed

  • Serialize operator implementation (simplification)
  • Documentation improvement

Fixed

RxGo - v2.2.0

Published by teivah about 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Added

  • GroupByDynamic operator
RxGo - v2.1.1

Published by teivah about 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Fixed

  • Fixing leaks in very specific cases
RxGo - v2.1.0

Published by teivah over 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Changed

  • Connect returns now the context used for the subscription. It allows getting notified once the subscription has been cancelled.
RxGo - v2.0.1

Published by teivah over 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Changed

RxGo - v2.0.0

Published by teivah over 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Release

General

  • Hot vs cold observable
  • Backpressure management
  • Lazy vs eager observation
  • Sequential vs parallel operators
  • Connectable Observable
  • Observable options

New Operators

  • All
  • Amb
  • Average
  • BackOffRetry
  • Buffer
  • Catch
  • CombineLatest
  • Concat
  • Contains
  • Count
  • Debounce
  • DefaultIfEmpty
  • Defer
  • ElementAt
  • Error
  • FirstOrDefault
  • FromEventSource
  • GroupBy
  • IgnoreElements
  • Interval
  • Join
  • LastOrDefault
  • Marshal
  • Max
  • Merge
  • Min
  • Never
  • Range
  • Reduce
  • Retry
  • Run
  • Sample
  • Scan
  • SequenceEqual
  • Send
  • Serialize
  • SkipWhile
  • StartWith
  • Sum
  • TakeUntil
  • TakeWhile
  • TimeInterval
  • Timestamp
  • Thrown
  • Timer
  • ToMap
  • ToMapWithValueSelector
  • ToSlice
  • Unmarshal
  • Window
  • ZipFromIterable
RxGo - v2.0.0-beta.3

Published by teivah over 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Release

  • Fixing time-based observable (Buffer & Window)
RxGo - v2.0.0-beta.2

Published by teivah over 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Release

  • Emphasis on the documentation (update of the README, /doc folder containing the documentation for each operator)
  • Connectable Observable (see README documentation)
  • Serialize option. To be used in coordination with rxgo.WithPool(n) option.
    Basically, if we want for example to spin up n goroutines to handle a map operation but guarantee that the items will still be emitted sequentially, we can do this:
Map(func(_ context.Context, item interface{}) (interface{}, error) {
    // Map implementation
},
    // Create multiple instances of the map operator
    rxgo.WithPool(pool),
    // Serialize the items emitted by their Customer.ID
    rxgo.Serialize(func(item interface{}) int {
        customer := item.(Customer)
        return customer.ID
    }), rxgo.WithBufferedChannel(1))
  • New Join operator (thanks to @v-zubko)
  • Update of the Just operator for more syntactic sugar (allows to pass variadic arguments for the items and the options)

Example:

rxgo.Just(1, 2, 3)(rxgo.WithContext(ctx), rxgo.WithBufferedChannel(5))
RxGo - v2.0.0-beta.1

Published by teivah over 4 years ago

Installation

go get -u github.com/reactivex/rxgo/[email protected]

Release

General

  • Hot vs cold observable (see readme)
  • Backpressure management (see readme)
  • Lazy vs eager observation (see readme)
  • Sequential vs parallel operators (see readme)

New Operators

  • All
  • Amb
  • Average
  • BackOffRetry
  • Buffer
  • Catch
  • CombineLatest
  • Concat
  • Contains
  • Count
  • Debounce
  • DefaultIfEmpty
  • Defer
  • ElementAt
  • Error
  • FirstOrDefault
  • FromEventSource
  • GroupBy
  • IgnoreElements
  • Interval
  • LastOrDefault
  • Marshal
  • Max
  • Merge
  • Min
  • Never
  • Range
  • Reduce
  • Retry
  • Run
  • Sample
  • Scan
  • SequenceEqual
  • Send
  • Serialize
  • SkipWhile
  • StartWith
  • Sum
  • TakeUntil
  • TakeWhile
  • TimeInterval
  • Timestamp
  • Thrown
  • Timer
  • ToMap
  • ToMapWithValueSelector
  • ToSlice
  • Unmarshal
  • Window
  • ZipFromIterable

In total, the v2 contains 87 different operators.
Make sure to check the documentation (develop branch) and to raise any issues you'd find out!

RxGo - v1.0.0

Published by teivah over 5 years ago

v1 implementation.