1
1
import Vue from 'vue'
2
2
import { WatchOptions } from 'vue'
3
- import { Observable } from 'rxjs'
3
+ import { Observable , PartialObserver } from 'rxjs'
4
4
5
5
export type Observables = Record < string , Observable < any > >
6
+
6
7
declare module 'vue/types/options' {
7
8
interface ComponentOptions < V extends Vue > {
8
9
subscriptions ?: Observables | ( ( this : V ) => Observables )
@@ -15,19 +16,27 @@ export interface WatchObservable<T> {
15
16
newValue : T
16
17
oldValue : T
17
18
}
19
+
18
20
declare module "vue/types/vue" {
19
21
interface Vue {
20
22
$observables : Observables ;
21
23
$watchAsObservable ( expr : string , options ?: WatchOptions ) : Observable < WatchObservable < any > >
22
24
$watchAsObservable < T > ( fn : ( this : this) => T , options ?: WatchOptions ) : Observable < WatchObservable < T > >
23
25
$eventToObservable ( event : string ) : Observable < { name : string , msg : any } >
24
- $subscribeTo < T > (
25
- observable : Observable < T > ,
26
- next : ( t : T ) => void ,
27
- error ?: ( e : any ) => void ,
28
- complete ?: ( ) => void ) : void
29
26
$fromDOMEvent ( selector : string | null , event : string ) : Observable < Event >
30
27
$createObservableMethod ( methodName : string ) : Observable < any >
28
+
29
+ $subscribeTo < T > (
30
+ observable : Observable < T > ,
31
+ observer ?: PartialObserver < T > ,
32
+ ) : void ;
33
+
34
+ $subscribeTo < T > (
35
+ observable : Observable < T > ,
36
+ next : ( value : T ) => void ,
37
+ error ?: ( error : any ) => void ,
38
+ complete ?: ( ) => void ,
39
+ ) : void ;
31
40
}
32
41
}
33
42
0 commit comments