Skip to content

Commit 228b727

Browse files
committed
Add regression test
1 parent 1a28fd0 commit 228b727

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// @strict: true
2+
3+
// Repro from #33131
4+
5+
declare function of<T>(a: T): Observable<T>;
6+
declare function from<O extends ObservableInput<any>>(input: O): Observable<ObservedValueOf<O>>;
7+
8+
type ObservedValueOf<O> = O extends ObservableInput<infer T> ? T : never;
9+
10+
interface Subscribable<T> {
11+
subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): void;
12+
}
13+
type ObservableInput<T> = Subscribable<T> | Subscribable<never>;
14+
15+
16+
declare class Observable<T> implements Subscribable<T> {
17+
subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): void;
18+
}
19+
20+
function asObservable(input: string | ObservableInput<string>): Observable<string> {
21+
return typeof input === 'string' ? of(input) : from(input)
22+
}

0 commit comments

Comments
 (0)