1234567891011121314151617181920212223242526272829303132333435 |
- //
- // GroupedObservable.swift
- // RxSwift
- //
- // Created by Tomi Koskinen on 01/12/15.
- // Copyright © 2015 Krunoslav Zaher. All rights reserved.
- //
- /// Represents an observable sequence of elements that have a common key.
- public struct GroupedObservable<Key, Element> : ObservableType {
- /// Gets the common key.
- public let key: Key
- private let source: Observable<Element>
- /// Initializes grouped observable sequence with key and source observable sequence.
- ///
- /// - parameter key: Grouped observable sequence key
- /// - parameter source: Observable sequence that represents sequence of elements for the key
- /// - returns: Grouped observable sequence of elements for the specific key
- public init(key: Key, source: Observable<Element>) {
- self.key = key
- self.source = source
- }
- /// Subscribes `observer` to receive events for this sequence.
- public func subscribe<Observer: ObserverType>(_ observer: Observer) -> Disposable where Observer.Element == Element {
- return self.source.subscribe(observer)
- }
- /// Converts `self` to `Observable` sequence.
- public func asObservable() -> Observable<Element> {
- return self.source
- }
- }
|