Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: smallify all the things #5729

Merged
merged 140 commits into from Sep 23, 2020
Merged
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
f93fb9c
fix(scan): proper indexes when seed is not supplied
benlesh Sep 11, 2020
da73377
refactor(groupBy): reduce the size of the implementation
benlesh Sep 13, 2020
dc79c3a
refactor: fix up the name, remove the 2
benlesh Sep 13, 2020
ed841b4
refactor: smaller still
benlesh Sep 13, 2020
32f9619
refactor: Add OperatorSubscriber, update map
benlesh Sep 13, 2020
5a49c1d
refactor(filter): smaller
benlesh Sep 13, 2020
df84881
refactor(skip): Make implementation smaller
benlesh Sep 13, 2020
38739ea
refactor(take): smaller implementation
benlesh Sep 13, 2020
f3e422e
refactor(takeUntil): smaller implementation
benlesh Sep 13, 2020
c9f7517
refactor(takeWhile): smaller implementation
benlesh Sep 13, 2020
49bcdd3
refactor(count): smaller implementation
benlesh Sep 13, 2020
e94f2cc
refactor(bufferTime): Use OperatorSubscriber instead
benlesh Sep 13, 2020
c9ea983
refactor(dematerialize): smaller impl
benlesh Sep 13, 2020
b33923e
refactor(distinct): smaller impl
benlesh Sep 13, 2020
eaa7dc1
refactor(distinctUntilChanged): smaller implementation
benlesh Sep 13, 2020
05ac435
refactor(every): smaller impl
benlesh Sep 13, 2020
c894dd8
refactor(exhaust): smaller impl
benlesh Sep 13, 2020
990bec5
refactor(exhaustMap): smaller impl
benlesh Sep 13, 2020
a18d33e
refactor(expand): smaller impl
benlesh Sep 13, 2020
723b5c1
refactor(finalize): smaller impl
benlesh Sep 13, 2020
adceb42
refactor(find): smaller impl
benlesh Sep 13, 2020
59cb30a
refactor(ignoreElements): smaller impl
benlesh Sep 13, 2020
65f0e69
refactor(isEmpty): smaller impl
benlesh Sep 13, 2020
bf86f68
refactor(map): a little smaller still
benlesh Sep 13, 2020
03d3c65
refactor(mapTo): smaller impl
benlesh Sep 13, 2020
2023129
refactor(materialize): smaller impl
benlesh Sep 13, 2020
22b40ed
refactor(pairwise): smaller impl
benlesh Sep 13, 2020
cbc341f
chore: golden file update for takeUntil actually accepting Observable…
benlesh Sep 13, 2020
2dbc7ec
refactor(mergeMap): Use OperatorSubscriber instead
benlesh Sep 13, 2020
cbd0ac0
fix(windowTime): Passing no creation interval will now properly open …
benlesh Sep 13, 2020
0656c5d
refactor(buffer): smaller impl
benlesh Sep 13, 2020
4e1e525
refactor(delayWhen): smaller impl
benlesh Sep 13, 2020
bbe90ab
refactor(throttle): smaller impl
benlesh Sep 14, 2020
2baf5bf
refactor(bufferToggle): smaller impl
benlesh Sep 14, 2020
5cad812
refactor(windowToggle): smaller impl
benlesh Sep 14, 2020
143ee68
refactor(bufferCount): Smaller impl
benlesh Sep 14, 2020
8ae89b1
fix(delay): proper handling of absolute time passed as delay
benlesh Sep 14, 2020
bf51b9d
refactor(sample): smaller impl
benlesh Sep 14, 2020
1efcf14
refactor(sampleTime): derive from sample and interval
benlesh Sep 14, 2020
7c3f4e1
refactor(observeOn): smaller impl
benlesh Sep 14, 2020
defc580
refactor(subscribeOn): much smaller (facepalm edition)
benlesh Sep 14, 2020
a8b0496
refactor(defaultIfEmpty): smaller impl
benlesh Sep 14, 2020
70d0424
refactor(skipLast): smaller impl
benlesh Sep 14, 2020
cd32519
chore: update golden files
benlesh Sep 15, 2020
3b1286c
Merge branch 'refactor/groupBy-make-smaller' into refactor/smallify-a…
benlesh Sep 15, 2020
12f9ff6
refactor(groupBy): A little smaller still, add comments
benlesh Sep 15, 2020
4f7ea8f
refactor(mergeScan): smaller impl
benlesh Sep 15, 2020
0c2805d
chore: update golden files
benlesh Sep 15, 2020
0146716
refactor(debounce): smaller impl
benlesh Sep 15, 2020
bda9555
refactor(withLatestFrom): smaller impl
benlesh Sep 15, 2020
64b7b58
refactor(debounceTime): smaller impl
benlesh Sep 15, 2020
ee64a89
refactor(windowWhen): smaller impl
benlesh Sep 15, 2020
5621095
refactor(windowCount): smaller impl
benlesh Sep 15, 2020
c914c53
refactor(bufferWhen): smaller impl
benlesh Sep 15, 2020
9f63426
refactor(single): smaller impl
benlesh Sep 15, 2020
7523e77
refactor(window): smaller impl
benlesh Sep 15, 2020
8a2a08c
refactor(audit): smaller impl
benlesh Sep 15, 2020
b32d04c
refactor(throttleTime): using OperatorSubscriber
benlesh Sep 15, 2020
02d32a8
refactor(switchMap): smaller impl
benlesh Sep 15, 2020
bd1ecb9
refactor: remove unused imports
benlesh Sep 15, 2020
9c592f7
Merge branch 'fix/scan-proper-indexing' into refactor/smallify-all-th…
benlesh Sep 15, 2020
c3f92a5
refactor(scan): even smaller
benlesh Sep 15, 2020
c092714
refactor: remove unused imports
benlesh Sep 15, 2020
9b9d4fd
refactor(skipUntil): smaller impl
benlesh Sep 15, 2020
7a207c5
chore: Remove unused types
benlesh Sep 15, 2020
9559dce
refactor(repeatWhen): smaller impl
benlesh Sep 15, 2020
f278105
refactor(catchError): smaller impl
benlesh Sep 15, 2020
78207a6
refactor(sequenceEqual): smaller impl
benlesh Sep 15, 2020
473c9c3
refactor(retryWhen): smaller impl
benlesh Sep 15, 2020
b612901
refactor(catchError): even smaller
benlesh Sep 15, 2020
f81e274
refactor: add wrappedLift (should have been a few commits ago, oops)
benlesh Sep 15, 2020
cf5c3ef
refactor(throttle): a bit smaller
benlesh Sep 15, 2020
e539538
refactor(skipUntil): even smaller
benlesh Sep 15, 2020
f812780
refactor(expand): even smaller
benlesh Sep 15, 2020
4081eae
refactor(bufferToggle): even smaller
benlesh Sep 15, 2020
d51cc37
refactor(skipWhile): smaller impl
benlesh Sep 15, 2020
26b5462
refactor(throwIfEmpty): smaller impl
benlesh Sep 15, 2020
f5c3f69
refactor(takeLast): smaller impl
benlesh Sep 15, 2020
e125569
refactor(mergeMap): smaller still
benlesh Sep 15, 2020
b00427d
refactor(refCount): smaller impl
benlesh Sep 15, 2020
51d6e21
refactor(ConnectableObservable/multicast): get rid of Object.create, …
benlesh Sep 15, 2020
5491310
refactor(windowWhen): remove unused types
benlesh Sep 15, 2020
ef16d8d
refactor(race/raceWith): smaller impl, remove stankyLift
benlesh Sep 15, 2020
45452ca
refactor: remove unused inner and outer subscribers
benlesh Sep 15, 2020
2880b5b
refactor: move subscribeTo, remove cruft
benlesh Sep 15, 2020
6ed55b1
refactor: Remove stankyLift, delete cruft
benlesh Sep 15, 2020
b0c2b4a
refactor(generate): smaller impl
benlesh Sep 15, 2020
066de74
fix(fromEvent): properly teardown for arraylike targets
benlesh Sep 15, 2020
7fd28f3
refactor(Subject): smaller impl
benlesh Sep 15, 2020
7b2e9b3
refactor(Notification): smaller impl
benlesh Sep 16, 2020
9d4294c
refactor(Observable): more code golf
benlesh Sep 16, 2020
a2ad641
refactor(not): smaller impl
benlesh Sep 16, 2020
a01f107
refactor: add array item removal utility
benlesh Sep 16, 2020
a0a5a5d
refactor: Remove SubjectSubscriber entirely
benlesh Sep 16, 2020
675ffe3
refactor: Fix broken while loop in canReportError
benlesh Sep 16, 2020
3a0e650
refactor: remove unused import
benlesh Sep 17, 2020
f1dcada
refactor(subjects): Smaller subjects
benlesh Sep 17, 2020
e9f2701
refactor(bufferTime): smaller still
benlesh Sep 17, 2020
580d9b8
refactor(windowTime): smaller still
benlesh Sep 17, 2020
d5cd238
chore: update golden files
benlesh Sep 17, 2020
75b0a34
refactor(windowTime): a little smaller
benlesh Sep 17, 2020
8635dc6
refactor(groupBy): A little more
benlesh Sep 17, 2020
ddc7db4
refactor(timeout): reduce the size of the argument parsing
benlesh Sep 17, 2020
834353e
refactor: remove unnecessary optional chaining
benlesh Sep 20, 2020
21f7fc3
refactor(materialize): use a semicolon, not comma.
benlesh Sep 20, 2020
4448443
refactor(bufferWhen): remove unnecessary isComplete boolean
benlesh Sep 20, 2020
3009efd
refactor(window): ensure teardown isn't called twice, add comments
benlesh Sep 21, 2020
31d297a
refactor(withLatestFrom): remove unnecessary/incorrect typing, use in…
benlesh Sep 21, 2020
30d429c
docs(OperatorSubscriber): add comments
benlesh Sep 21, 2020
9e00f11
fix(AsyncSubject): fix reentrancy issue in complete
benlesh Sep 21, 2020
29dd6ec
refactor: Add underscore to name of internal API checkFinalizedStatuses
benlesh Sep 21, 2020
02e113b
feat(skipLast): counts zero or less will mirror the source
benlesh Sep 21, 2020
fb92045
refactor(Notification): improve readability of large ternary.
benlesh Sep 21, 2020
f5b29bf
chore: update golden files
benlesh Sep 21, 2020
ce8804e
chore: update comment on thrown error
benlesh Sep 21, 2020
c21b62c
refactor(timeout): remove unnecessary falsy check
benlesh Sep 22, 2020
ed8c597
refactor(windowCount): remove unnecessary assignment
benlesh Sep 22, 2020
f9550f3
refactor(windowToggle): remove unnecessary assignment
benlesh Sep 22, 2020
b9938e2
refactor(windowWhen): fix types, ensure window subject is released
benlesh Sep 22, 2020
0733183
refactor(mergeMap): ensure buffered values are released.
benlesh Sep 22, 2020
006c118
refactor(debounceTime): unify emit approach. Add comments.
benlesh Sep 22, 2020
732802c
refactor(delay): Ensure buffer is released.
benlesh Sep 22, 2020
aae8d8e
refactor(mergeScan): Ensure buffered values are released.
benlesh Sep 22, 2020
f73a80b
refactor(mergeMap): Ensure buffer is released on all teardown, not ju…
benlesh Sep 22, 2020
cc8cf6f
refactor(expand): release buffer. Improved efficiency. Add comments.
benlesh Sep 22, 2020
34ebee2
refactor(mergeMap): slight efficiency improvement. Adds comments
benlesh Sep 22, 2020
b567397
refactor(delayWhen): Clean up, add comments.
benlesh Sep 22, 2020
efabb33
refactor(mergeScan): unify approach with mergeMap
benlesh Sep 22, 2020
d2853b1
refactor(windowTime): ensure buffer is released. Clean up code.
benlesh Sep 22, 2020
2474dea
refactor(buffer): Ensure buffered values are released on teardown.
benlesh Sep 22, 2020
891d6da
refactor(delayWhen): remove unnecessary unsubscribe
benlesh Sep 22, 2020
affa716
docs(scan): add comments
benlesh Sep 22, 2020
58c8923
docs(map): add comments
benlesh Sep 22, 2020
415dd2b
docs(filter): add comments
benlesh Sep 22, 2020
61ef56d
docs(mapTo): add comments
benlesh Sep 22, 2020
e9bff8e
refactor(repeatWhen): remove unnecessary Subscription allocation
benlesh Sep 23, 2020
529ad62
refactor(retryWhen): remove unnecessary Subscription allocation
benlesh Sep 23, 2020
cee182e
refactor: add underscore to protected method _throwIfClosed
benlesh Sep 23, 2020
6241024
chore: update golden files
benlesh Sep 23, 2020
33ec81c
refactor(groupBy): remove unnecessary return
benlesh Sep 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 12 additions & 14 deletions api_guard/dist/types/index.d.ts
Expand Up @@ -197,14 +197,14 @@ export declare const config: {
};

export declare class ConnectableObservable<T> extends Observable<T> {
protected _connection: Subscription | null | undefined;
_isComplete: boolean;
protected _connection: Subscription | null;
protected _refCount: number;
protected _subject: Subject<T> | undefined;
protected _subject: Subject<T> | null;
source: Observable<T>;
protected subjectFactory: () => Subject<T>;
constructor(source: Observable<T>, subjectFactory: () => Subject<T>);
_subscribe(subscriber: Subscriber<T>): Subscription;
protected _subscribe(subscriber: Subscriber<T>): Subscription;
protected _teardown(): void;
connect(): Subscription;
protected getSubject(): Subject<T>;
refCount(): Observable<T>;
Expand Down Expand Up @@ -275,10 +275,8 @@ export declare function generate<S>(initialState: S, condition: ConditionFunc<S>
export declare function generate<S>(options: GenerateBaseOptions<S>): Observable<S>;
export declare function generate<T, S>(options: GenerateOptions<T, S>): Observable<T>;

export declare class GroupedObservable<K, T> extends Observable<T> {
key: K;
constructor(key: K, groupSubject: Subject<T>, refCountSubscription?: RefCountSubscription | undefined);
_subscribe(subscriber: Subscriber<T>): Subscription;
export interface GroupedObservable<K, T> extends Observable<T> {
readonly key: K;
}

export declare type Head<X extends any[]> = ((...args: X) => any) extends ((arg: infer U, ...rest: any[]) => any) ? U : never;
Expand Down Expand Up @@ -310,17 +308,17 @@ export declare function merge<T, T2, T3, T4, T5>(v1: ObservableInput<T>, v2: Obs
export declare function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5 | T6>;
export declare function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, concurrent: number, scheduler: SchedulerLike): Observable<T | T2 | T3 | T4 | T5 | T6>;
export declare function merge<T>(v1: ObservableInput<T>): Observable<T>;
export declare function merge<T>(v1: ObservableInput<T>, concurrent?: number): Observable<T>;
export declare function merge<T>(v1: ObservableInput<T>, concurrent: number): Observable<T>;
benlesh marked this conversation as resolved.
Show resolved Hide resolved
export declare function merge<T, T2>(v1: ObservableInput<T>, v2: ObservableInput<T2>): Observable<T | T2>;
export declare function merge<T, T2>(v1: ObservableInput<T>, v2: ObservableInput<T2>, concurrent?: number): Observable<T | T2>;
export declare function merge<T, T2>(v1: ObservableInput<T>, v2: ObservableInput<T2>, concurrent: number): Observable<T | T2>;
export declare function merge<T, T2, T3>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>): Observable<T | T2 | T3>;
export declare function merge<T, T2, T3>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, concurrent?: number): Observable<T | T2 | T3>;
export declare function merge<T, T2, T3>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, concurrent: number): Observable<T | T2 | T3>;
export declare function merge<T, T2, T3, T4>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>): Observable<T | T2 | T3 | T4>;
export declare function merge<T, T2, T3, T4>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, concurrent?: number): Observable<T | T2 | T3 | T4>;
export declare function merge<T, T2, T3, T4>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, concurrent: number): Observable<T | T2 | T3 | T4>;
export declare function merge<T, T2, T3, T4, T5>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>): Observable<T | T2 | T3 | T4 | T5>;
export declare function merge<T, T2, T3, T4, T5>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, concurrent?: number): Observable<T | T2 | T3 | T4 | T5>;
export declare function merge<T, T2, T3, T4, T5>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, concurrent: number): Observable<T | T2 | T3 | T4 | T5>;
export declare function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>): Observable<T | T2 | T3 | T4 | T5 | T6>;
export declare function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, concurrent?: number): Observable<T | T2 | T3 | T4 | T5 | T6>;
export declare function merge<T, T2, T3, T4, T5, T6>(v1: ObservableInput<T>, v2: ObservableInput<T2>, v3: ObservableInput<T3>, v4: ObservableInput<T4>, v5: ObservableInput<T5>, v6: ObservableInput<T6>, concurrent: number): Observable<T | T2 | T3 | T4 | T5 | T6>;
benlesh marked this conversation as resolved.
Show resolved Hide resolved
export declare function merge<T>(...observables: (ObservableInput<T> | number)[]): Observable<T>;
export declare function merge<T>(...observables: (ObservableInput<T> | SchedulerLike | number)[]): Observable<T>;
export declare function merge<T, R>(...observables: (ObservableInput<any> | number)[]): Observable<R>;
Expand Down
20 changes: 10 additions & 10 deletions api_guard/dist/types/operators/index.d.ts
Expand Up @@ -12,7 +12,7 @@ export declare function bufferTime<T>(bufferTimeSpan: number, bufferCreationInte

export declare function bufferToggle<T, O>(openings: SubscribableOrPromise<O>, closingSelector: (value: O) => SubscribableOrPromise<any>): OperatorFunction<T, T[]>;

export declare function bufferWhen<T>(closingSelector: () => Observable<any>): OperatorFunction<T, T[]>;
export declare function bufferWhen<T>(closingSelector: () => ObservableInput<any>): OperatorFunction<T, T[]>;

export declare function catchError<T, O extends ObservableInput<any>>(selector: (err: any, caught: Observable<T>) => O): OperatorFunction<T, T | ObservedValueOf<O>>;

Expand Down Expand Up @@ -180,7 +180,7 @@ export declare function mergeMapTo<T, R, O extends ObservableInput<any>>(innerOb
export declare function mergeScan<T, R>(accumulator: (acc: R, value: T, index: number) => ObservableInput<R>, seed: R, concurrent?: number): OperatorFunction<T, R>;

export declare function mergeWith<T>(): OperatorFunction<T, T>;
export declare function mergeWith<T, A extends ObservableInput<any>[]>(...otherSources: A): OperatorFunction<T, (T | ObservedValueUnionFromArray<A>)>;
export declare function mergeWith<T, A extends ObservableInput<any>[]>(...otherSources: A): OperatorFunction<T, T | ObservedValueUnionFromArray<A>>;

export declare function min<T>(comparer?: (x: T, y: T) => number): MonoTypeOperatorFunction<T>;

Expand Down Expand Up @@ -260,7 +260,7 @@ export declare function single<T>(predicate?: (value: T, index: number, source:

export declare function skip<T>(count: number): MonoTypeOperatorFunction<T>;

export declare function skipLast<T>(count: number): MonoTypeOperatorFunction<T>;
export declare function skipLast<T>(skipCount: number): MonoTypeOperatorFunction<T>;

export declare function skipUntil<T>(notifier: Observable<any>): MonoTypeOperatorFunction<T>;

Expand Down Expand Up @@ -292,7 +292,7 @@ export declare function take<T>(count: number): MonoTypeOperatorFunction<T>;

export declare function takeLast<T>(count: number): MonoTypeOperatorFunction<T>;

export declare function takeUntil<T>(notifier: Observable<any>): MonoTypeOperatorFunction<T>;
export declare function takeUntil<T>(notifier: ObservableInput<any>): MonoTypeOperatorFunction<T>;

export declare function takeWhile<T, S extends T>(predicate: (value: T, index: number) => value is S): OperatorFunction<T, S>;
export declare function takeWhile<T, S extends T>(predicate: (value: T, index: number) => value is S, inclusive: false): OperatorFunction<T, S>;
Expand All @@ -304,11 +304,11 @@ export declare function tap<T>(next: (value: T) => void, error: null | undefined
export declare function tap<T>(next?: (x: T) => void, error?: (e: any) => void, complete?: () => void): MonoTypeOperatorFunction<T>;
export declare function tap<T>(observer: PartialObserver<T>): MonoTypeOperatorFunction<T>;

export declare function throttle<T>(durationSelector: (value: T) => SubscribableOrPromise<any>, config?: ThrottleConfig): MonoTypeOperatorFunction<T>;
export declare function throttle<T>(durationSelector: (value: T) => SubscribableOrPromise<any>, { leading, trailing }?: ThrottleConfig): MonoTypeOperatorFunction<T>;

export declare function throttleTime<T>(duration: number, scheduler?: SchedulerLike, config?: ThrottleConfig): MonoTypeOperatorFunction<T>;
export declare function throttleTime<T>(duration: number, scheduler?: SchedulerLike, { leading, trailing }?: ThrottleConfig): MonoTypeOperatorFunction<T>;

export declare function throwIfEmpty<T>(errorFactory?: (() => any)): MonoTypeOperatorFunction<T>;
export declare function throwIfEmpty<T>(errorFactory?: () => any): MonoTypeOperatorFunction<T>;

export declare function timeInterval<T>(scheduler?: SchedulerLike): OperatorFunction<T, TimeInterval<T>>;

Expand All @@ -332,11 +332,11 @@ export declare function windowCount<T>(windowSize: number, startWindowEvery?: nu

export declare function windowTime<T>(windowTimeSpan: number, scheduler?: SchedulerLike): OperatorFunction<T, Observable<T>>;
export declare function windowTime<T>(windowTimeSpan: number, windowCreationInterval: number, scheduler?: SchedulerLike): OperatorFunction<T, Observable<T>>;
export declare function windowTime<T>(windowTimeSpan: number, windowCreationInterval: number, maxWindowSize: number, scheduler?: SchedulerLike): OperatorFunction<T, Observable<T>>;
export declare function windowTime<T>(windowTimeSpan: number, windowCreationInterval: number | null | void, maxWindowSize: number, scheduler?: SchedulerLike): OperatorFunction<T, Observable<T>>;

export declare function windowToggle<T, O>(openings: Observable<O>, closingSelector: (openValue: O) => Observable<any>): OperatorFunction<T, Observable<T>>;
export declare function windowToggle<T, O>(openings: ObservableInput<O>, closingSelector: (openValue: O) => ObservableInput<any>): OperatorFunction<T, Observable<T>>;

export declare function windowWhen<T>(closingSelector: () => Observable<any>): OperatorFunction<T, Observable<T>>;
export declare function windowWhen<T>(closingSelector: () => ObservableInput<any>): OperatorFunction<T, Observable<T>>;

export declare function withLatestFrom<T, R>(project: (v1: T) => R): OperatorFunction<T, R>;
export declare function withLatestFrom<T, O2 extends ObservableInput<any>, R>(source2: O2, project: (v1: T, v2: ObservedValueOf<O2>) => R): OperatorFunction<T, R>;
Expand Down
184 changes: 0 additions & 184 deletions spec/observables/IteratorObservable-spec.ts

This file was deleted.

46 changes: 46 additions & 0 deletions spec/observables/fromEvent-spec.ts
Expand Up @@ -3,6 +3,7 @@ import { expectObservable } from '../helpers/marble-testing';
import { fromEvent, NEVER, timer } from 'rxjs';
import { mapTo, take, concat } from 'rxjs/operators';
import { TestScheduler } from 'rxjs/testing';
import sinon = require('sinon');
benlesh marked this conversation as resolved.
Show resolved Hide resolved

declare const rxTestScheduler: TestScheduler;

Expand Down Expand Up @@ -392,4 +393,49 @@ describe('fromEvent', () => {
}).to.not.throw(TypeError);
});

it('should handle adding events to an arraylike of targets', () => {
const nodeList = {
[0]: {
addEventListener(...args: any[]) {
this._addEventListenerArgs = args;
},
removeEventListener(...args: any[]) {
this._removeEventListenerArgs = args;
},
_addEventListenerArgs: null as any,
_removeEventListenerArgs: null as any,
},
[1]: {
addEventListener(...args: any[]) {
this._addEventListenerArgs = args;
},
removeEventListener(...args: any[]) {
this._removeEventListenerArgs = args;
},
_addEventListenerArgs: null as any,
_removeEventListenerArgs: null as any,
},
length: 2
};

const options = {};

const subscription = fromEvent(nodeList, 'click', options).subscribe();

expect(nodeList[0]._addEventListenerArgs[0]).to.equal('click');
expect(nodeList[0]._addEventListenerArgs[1]).to.be.a('function');
expect(nodeList[0]._addEventListenerArgs[2]).to.equal(options);

expect(nodeList[1]._addEventListenerArgs[0]).to.equal('click');
expect(nodeList[1]._addEventListenerArgs[1]).to.be.a('function');
expect(nodeList[1]._addEventListenerArgs[2]).to.equal(options);

expect(nodeList[0]._removeEventListenerArgs).to.be.null;
expect(nodeList[1]._removeEventListenerArgs).to.be.null;

subscription.unsubscribe();

expect(nodeList[0]._removeEventListenerArgs).to.deep.equal(nodeList[0]._addEventListenerArgs);
expect(nodeList[1]._removeEventListenerArgs).to.deep.equal(nodeList[1]._addEventListenerArgs);
});
});
6 changes: 3 additions & 3 deletions spec/operators/debounce-spec.ts
Expand Up @@ -258,9 +258,9 @@ describe('debounce operator', () => {
const e1subs = '^ !';
const expected = '---------a---------b---------c-------#';
const selector = [cold( '-x-y-'),
cold( '--x-y-'),
cold( '---x-y-'),
cold( '----x-y-')];
cold( '--x-y-'),
cold( '---x-y-'),
cold( '----x-y-')];
const selectorSubs =
[' ^! ',
' ^ ! ',
Expand Down