Skip to content

Commit 472b9a2

Browse files
style(typings): Added tool to generate operator typings from source
1 parent eddfa18 commit 472b9a2

File tree

4 files changed

+305
-246
lines changed

4 files changed

+305
-246
lines changed

src/CoreOperators.ts

Lines changed: 76 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,78 @@
1-
import {Observable, ObservableOrIterable} from './Observable';
2-
import {Scheduler} from './Scheduler';
3-
import {ConnectableObservable} from './observables/ConnectableObservable';
4-
import {Subject} from './Subject';
5-
import {GroupedObservable} from './operators/groupBy-support';
6-
import {Notification} from './Notification';
7-
1+
/// <reference path="../typings/operators.d.ts" />
82
export interface CoreOperators<T> {
9-
buffer?: (closingNotifier: Observable<any>) => Observable<T[]>;
10-
bufferCount?: (bufferSize: number, startBufferEvery: number) => Observable<T[]>;
11-
bufferTime?: (bufferTimeSpan: number, bufferCreationInterval?: number, scheduler?: Scheduler) => Observable<T[]>;
12-
bufferToggle?: <O>(openings: Observable<O>, closingSelector?: (openValue: O) => Observable<any>) => Observable<T[]>;
13-
bufferWhen?: (closingSelector: () => Observable<any>) => Observable<T[]>;
14-
catch?: (selector: (err: any, source: Observable<T>, caught: Observable<any>) => Observable<any>) => Observable<T>;
15-
combineAll: {
16-
(project?: (...values: Array<any>) => T): Observable<T>;
17-
<R>(project?: (...values: Array<any>) => R): Observable<R>;
18-
};
19-
combineLatest: {
20-
(first: ObservableOrIterable<T>): Observable<[T]>;
21-
<TResult>(first: ObservableOrIterable<T>, project: (v1: T) => TResult): Observable<TResult>;
22-
<T2>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>): Observable<[T, T2]>;
23-
<T2, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, project: (v1: T, v2: T2) => TResult): Observable<TResult>;
24-
<T2, T3>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>): Observable<[T, T2, T3]>;
25-
<T2, T3, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, project: (v1: T, v2: T2, v3: T3) => TResult): Observable<TResult>;
26-
<T2, T3, T4>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>): Observable<[T, T2, T3, T4]>;
27-
<T2, T3, T4, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, project: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable<TResult>;
28-
<T2, T3, T4, T5>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>): Observable<[T, T2, T3, T4, T5]>;
29-
<T2, T3, T4, T5, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): Observable<TResult>;
30-
<T2, T3, T4, T5, T6>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>): Observable<[T, T2, T3, T4, T5, T6]>;
31-
<T2, T3, T4, T5, T6, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => TResult): Observable<TResult>;
32-
<T2, T3, T4, T5, T6, T7>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, eventh: ObservableOrIterable<T7>): Observable<[T, T2, T3, T4, T5, T6, T7]>;
33-
<T2, T3, T4, T5, T6, T7, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, eventh: ObservableOrIterable<T7>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7) => TResult): Observable<TResult>;
34-
<T2, T3, T4, T5, T6, T7, T8>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, seventh: ObservableOrIterable<T7>, eighth: ObservableOrIterable<T8>): Observable<[T, T2, T3, T4, T5, T6, T7, T8]>;
35-
<T2, T3, T4, T5, T6, T7, T8, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, seventh: ObservableOrIterable<T7>, eighth: ObservableOrIterable<T8>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8) => TResult): Observable<TResult>;
36-
<T2, T3, T4, T5, T6, T7, T8, T9>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, seventh: ObservableOrIterable<T7>, eighth: ObservableOrIterable<T8>, ninth: ObservableOrIterable<T9>): Observable<[T, T2, T3, T4, T5, T6, T7, T8, T9]>;
37-
<T2, T3, T4, T5, T6, T7, T8, T9, TResult>(first: ObservableOrIterable<T>, second: ObservableOrIterable<T2>, third: ObservableOrIterable<T3>, fourth: ObservableOrIterable<T4>, fifth: ObservableOrIterable<T5>, sixth: ObservableOrIterable<T6>, seventh: ObservableOrIterable<T7>, eighth: ObservableOrIterable<T8>, ninth: ObservableOrIterable<T9>, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, v7: T7, v8: T8, v9: T9) => TResult): Observable<TResult>;
38-
(...observables: Array<ObservableOrIterable<T> | ((...values: Array<T>) => T)>): Observable<T>;
39-
<R>(...observables: Array<ObservableOrIterable<T> | ((...values: Array<T>) => R)>): Observable<R>;
40-
(...observables: Array<T>): Observable<T[]>;
41-
};
42-
concat?: <R>(...observables: (Observable<any> | Scheduler)[]) => Observable<R>;
43-
concatAll?: () => Observable<T>;
44-
concatMap?: <R>(project: ((x: T, ix: number) => Observable<any>), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
45-
concatMapTo?: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
46-
count?: (predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any) => Observable<number>;
47-
dematerialize?: () => Observable<any>;
48-
debounce?: (durationSelector: (value: T) => Observable<any> | Promise<any>) => Observable<T>;
49-
debounceTime?: <R>(dueTime: number, scheduler?: Scheduler) => Observable<R>;
50-
defaultIfEmpty?: <R>(defaultValue?: T | R) => Observable<T> | Observable<R>;
51-
delay?: (delay: number, scheduler?: Scheduler) => Observable<T>;
52-
distinctUntilChanged?: (compare?: (x: T, y: T) => boolean, thisArg?: any) => Observable<T>;
53-
do?: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable<T>;
54-
expand?: <R>(project: (x: T, ix: number) => Observable<R>) => Observable<R>;
55-
filter?: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable<T>;
56-
finally?: (ensure: () => void, thisArg?: any) => Observable<T>;
57-
first?: <R>(predicate?: (value: T, index: number, source: Observable<T>) => boolean,
58-
resultSelector?: (value: T, index: number) => R, thisArg?: any, defaultValue?: any) => Observable<T> | Observable<R>;
59-
flatMap?: <R>(project: ((x: T, ix: number) => Observable<any>),
60-
projectResult?: (x: T, y: any, ix: number, iy: number) => R,
61-
concurrent?: number) => Observable<R>;
62-
flatMapTo?: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
63-
groupBy?: <R>(keySelector: (value: T) => string,
64-
elementSelector?: (value: T) => R,
65-
durationSelector?: (group: GroupedObservable<R>) => Observable<any>) => Observable<GroupedObservable<R>>;
66-
ignoreElements?: () => Observable<T>;
67-
last?: <R>(predicate?: (value: T, index: number) => boolean,
68-
resultSelector?: (value: T, index: number) => R,
69-
thisArg?: any, defaultValue?: any) => Observable<T> | Observable<R>;
70-
every?: (predicate: (value: T, index: number) => boolean, thisArg?: any) => Observable<T>;
71-
map?: <R>(project: (x: T, ix?: number) => R, thisArg?: any) => Observable<R>;
72-
mapTo?: <R>(value: R) => Observable<R>;
73-
materialize?: () => Observable<Notification<T>>;
74-
merge?: (...observables: any[]) => Observable<any>;
75-
mergeAll?: (concurrent?: number) => Observable<T>;
76-
mergeMap?: <R>(project: ((x: T, ix: number) => Observable<any>),
77-
projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
78-
mergeMapTo?: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable<R>;
79-
multicast?: (subjectFactory: () => Subject<T>) => ConnectableObservable<T>;
80-
observeOn?: (scheduler: Scheduler, delay?: number) => Observable<T>;
81-
partition?: (predicate: (x: T) => boolean) => Observable<T>[];
82-
publish?: () => ConnectableObservable<T>;
83-
publishBehavior?: (value: any) => ConnectableObservable<T>;
84-
publishReplay?: (bufferSize: number, windowTime: number, scheduler?: Scheduler) => ConnectableObservable<T>;
85-
reduce?: <R>(project: (acc: R, x: T) => R, seed?: R) => Observable<R>;
86-
repeat?: (count?: number) => Observable<T>;
87-
retry?: (count?: number) => Observable<T>;
88-
retryWhen?: (notifier: (errors: Observable<any>) => Observable<any>) => Observable<T>;
89-
sample?: (notifier: Observable<any>) => Observable<T>;
90-
sampleTime?: (delay: number, scheduler?: Scheduler) => Observable<T>;
91-
scan?: <R>(project: (acc: R, x: T) => R, acc?: R) => Observable<R>;
92-
share?: () => Observable<T>;
93-
single?: (predicate?: (value: T, index: number) => boolean, thisArg?: any) => Observable<T>;
94-
skip?: (count: number) => Observable<T>;
95-
skipUntil?: (notifier: Observable<any>) => Observable<T>;
96-
skipWhile?: (predicate: (x: T, index: number) => boolean, thisArg?: any) => Observable<T>;
97-
startWith?: (x: T) => Observable<T>;
98-
subscribeOn?: (scheduler: Scheduler, delay?: number) => Observable<T>;
99-
switch?: () => Observable<T>;
100-
switchMap?: <R>(project: ((x: T, ix: number) => Observable<any>), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
101-
switchMapTo?: <R>(observable: Observable<any>, projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
102-
take?: (count: number) => Observable<T>;
103-
takeUntil?: (notifier: Observable<any>) => Observable<T>;
104-
takeWhile?: (predicate: (value: T, index: number) => boolean, thisArg?: any) => Observable<T>;
105-
throttle?: (durationSelector: (value: T) => Observable<any> | Promise<any>) => Observable<T>;
106-
throttleTime?: (delay: number, scheduler?: Scheduler) => Observable<T>;
107-
timeout?: (due: number | Date, errorToSend?: any, scheduler?: Scheduler) => Observable<T>;
108-
timeoutWith?: <R>(due: number | Date, withObservable: Observable<R>, scheduler?: Scheduler) => Observable<T> | Observable<R>;
109-
toArray?: () => Observable<T[]>;
110-
toPromise?: (PromiseCtor: PromiseConstructor) => Promise<T>;
111-
window?: (closingNotifier: Observable<any>) => Observable<Observable<T>>;
112-
windowCount?: (windowSize: number, startWindowEvery: number) => Observable<Observable<T>>;
113-
windowTime?: (windowTimeSpan: number, windowCreationInterval?: number, scheduler?: Scheduler) => Observable<Observable<T>>;
114-
windowToggle?: <O>(openings: Observable<O>, closingSelector?: (openValue: O) => Observable<any>) => Observable<Observable<T>>;
115-
windowWhen?: (closingSelector: () => Observable<any>) => Observable<Observable<T>>;
116-
withLatestFrom?: <R>(...observables: Array<Observable<any> | ((...values: Array<any>) => R)>) => Observable<R>;
117-
zip?: <R>(...observables: Array<Observable<any> | ((...values: Array<any>) => R)>) => Observable<R>;
118-
zipAll?: <R>(project?: (...values: Array<any>) => R) => Observable<R>;
3+
buffer: operator_proto_buffer;
4+
bufferCount: operator_proto_bufferCount;
5+
bufferTime: operator_proto_bufferTime;
6+
bufferToggle: operator_proto_bufferToggle;
7+
bufferWhen: operator_proto_bufferWhen;
8+
catch: operator_proto_catch;
9+
combineAll: operator_proto_combineAll;
10+
combineLatest: operator_proto_combineLatest;
11+
concat: operator_proto_concat;
12+
concatAll: operator_proto_concatAll;
13+
concatMap: operator_proto_concatMap;
14+
concatMapTo: operator_proto_concatMapTo;
15+
count: operator_proto_count;
16+
dematerialize: operator_proto_dematerialize;
17+
debounce: operator_proto_debounce;
18+
debounceTime: operator_proto_debounceTime;
19+
defaultIfEmpty: operator_proto_defaultIfEmpty;
20+
delay: operator_proto_delay;
21+
distinctUntilChanged: operator_proto_distinctUntilChanged;
22+
do: operator_proto_do;
23+
expand: operator_proto_expand;
24+
filter: operator_proto_filter;
25+
finally: operator_proto_finally;
26+
first: operator_proto_first;
27+
flatMap: operator_proto_mergeMap;
28+
flatMapTo: operator_proto_mergeMapTo;
29+
groupBy: operator_proto_groupBy;
30+
ignoreElements: operator_proto_ignoreElements;
31+
last: operator_proto_last;
32+
every: operator_proto_every;
33+
map: operator_proto_map;
34+
mapTo: operator_proto_mapTo;
35+
materialize: operator_proto_materialize;
36+
merge: operator_proto_merge;
37+
mergeAll: operator_proto_mergeAll;
38+
mergeMap: operator_proto_mergeMap;
39+
mergeMapTo: operator_proto_mergeMapTo;
40+
multicast: operator_proto_multicast;
41+
observeOn: operator_proto_observeOn;
42+
partition: operator_proto_partition;
43+
publish: operator_proto_publish;
44+
publishBehavior: operator_proto_publishBehavior;
45+
publishReplay: operator_proto_publishReplay;
46+
reduce: operator_proto_reduce;
47+
repeat: operator_proto_repeat;
48+
retry: operator_proto_retry;
49+
retryWhen: operator_proto_retryWhen;
50+
sample: operator_proto_sample;
51+
sampleTime: operator_proto_sampleTime;
52+
scan: operator_proto_scan;
53+
share: operator_proto_share;
54+
single: operator_proto_single;
55+
skip: operator_proto_skip;
56+
skipUntil: operator_proto_skipUntil;
57+
startWith: operator_proto_startWith;
58+
subscribeOn: operator_proto_subscribeOn;
59+
switch: operator_proto_switch;
60+
switchMap: operator_proto_switchMap;
61+
switchMapTo: operator_proto_switchMapTo;
62+
take: operator_proto_take;
63+
takeUntil: operator_proto_takeUntil;
64+
throttle: operator_proto_throttle;
65+
throttleTime: operator_proto_throttleTime;
66+
timeout: operator_proto_timeout;
67+
timeoutWith: operator_proto_timeoutWith;
68+
toArray: operator_proto_toArray;
69+
toPromise: operator_proto_toPromise;
70+
window: operator_proto_window;
71+
windowCount: operator_proto_windowCount;
72+
windowTime: operator_proto_windowTime;
73+
windowToggle: operator_proto_windowToggle;
74+
windowWhen: operator_proto_windowWhen;
75+
withLatestFrom: operator_proto_withLatestFrom;
76+
zip: operator_proto_zip;
77+
zipAll: operator_proto_zipAll;
11978
}

0 commit comments

Comments
 (0)