Buckets:
| import { Observable } from '../Observable'; | |
| import { BehaviorSubject } from '../BehaviorSubject'; | |
| import { ConnectableObservable } from '../observable/ConnectableObservable'; | |
| import { UnaryFunction } from '../types'; | |
| /** | |
| * Creates a {@link ConnectableObservable} that utilizes a {@link BehaviorSubject}. | |
| * | |
| * @param initialValue The initial value passed to the {@link BehaviorSubject}. | |
| * @return A function that returns a {@link ConnectableObservable} | |
| * @deprecated Will be removed in v8. To create a connectable observable that uses a | |
| * {@link BehaviorSubject} under the hood, use {@link connectable}. | |
| * `source.pipe(publishBehavior(initValue))` is equivalent to | |
| * `connectable(source, { connector: () => new BehaviorSubject(initValue), resetOnDisconnect: false })`. | |
| * If you're using {@link refCount} after `publishBehavior`, use the {@link share} operator instead. | |
| * `source.pipe(publishBehavior(initValue), refCount())` is equivalent to | |
| * `source.pipe(share({ connector: () => new BehaviorSubject(initValue), resetOnError: false, resetOnComplete: false, resetOnRefCountZero: false }))`. | |
| * Details: https://rxjs.dev/deprecations/multicasting | |
| */ | |
| export function publishBehavior<T>(initialValue: T): UnaryFunction<Observable<T>, ConnectableObservable<T>> { | |
| // Note that this has *never* supported the selector function. | |
| return (source) => { | |
| const subject = new BehaviorSubject<T>(initialValue); | |
| return new ConnectableObservable(source, () => subject); | |
| }; | |
| } | |
Xet Storage Details
- Size:
- 1.49 kB
- Xet hash:
- 68e669756bd8b966c7fee946a803068c89a5385b1566f42a1f53cd8bbe4bdef0
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.