| import { Observable } from '../Observable'; |
| import { BehaviorSubject } from '../BehaviorSubject'; |
| import { multicast } from './multicast'; |
| import { ConnectableObservable } from '../observable/ConnectableObservable'; |
| import { UnaryFunction } from '../types'; |
| |
| /** |
| * @param value |
| * @return {ConnectableObservable<T>} |
| * @method publishBehavior |
| * @owner Observable |
| */ |
| export function publishBehavior<T>(value: T): UnaryFunction<Observable<T>, ConnectableObservable<T>> { |
| return (source: Observable<T>) => multicast(new BehaviorSubject<T>(value))(source) as ConnectableObservable<T>; |
| } |