diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/src/internal/operators/publishBehavior.ts | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/operators/publishBehavior.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/operators/publishBehavior.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/operators/publishBehavior.ts b/node_modules/rxjs/src/internal/operators/publishBehavior.ts new file mode 100644 index 0000000..d94589c --- /dev/null +++ b/node_modules/rxjs/src/internal/operators/publishBehavior.ts @@ -0,0 +1,26 @@ +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); + }; +} |
