Skip to content

Commit 1c56991

Browse files
committed
fix(core/rxjs): fix observable input duplicate subscription
1 parent d668eec commit 1c56991

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

packages/core/rxjs/src/observable-signal.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,18 +68,16 @@ export function toObservableSignal<Value, InitialValue>(
6868
let observableFactory: () => Observable<Value>;
6969

7070
if (args.length === 1 && args[0] instanceof Observable) {
71-
const observable = args[0] as Observable<Value>;
71+
let observable = args[0] as Observable<Value>;
72+
observable = processSourceObservable(observable);
7273
signal = toSignal(observable, { requireSync: true });
73-
observableFactory = () => processSourceObservable(observable);
74+
observableFactory = () => observable;
7475
} else if (args.length === 2 && args[1] instanceof Observable) {
7576
const initialValue = args[0] as Value;
76-
const observable = args[1] as Observable<Value>;
77+
let observable = args[1] as Observable<Value>;
78+
observable = processSourceObservable(observable);
7779
signal = toSignal(observable, { initialValue });
78-
observableFactory = () =>
79-
processSourceObservable(observable).pipe(
80-
share({ resetOnRefCountZero: false }),
81-
takeUntilDestroyed(destroyRef),
82-
);
80+
observableFactory = () => observable;
8381
} else if (args.length === 1 && isSignal(args[0])) {
8482
signal = args[0];
8583
observableFactory = () => toObservable(signal, { injector });

0 commit comments

Comments
 (0)