From 99960137c5c0bbf088807e208e110e0a0bf2f42c Mon Sep 17 00:00:00 2001 From: Roc Wong Date: Thu, 3 Jun 2021 21:46:27 +1200 Subject: [PATCH 1/4] fix: fromEvent() type with resultSelector --- src/internal/observable/fromEvent.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/observable/fromEvent.ts b/src/internal/observable/fromEvent.ts index a027664e06..59dae2a2c5 100644 --- a/src/internal/observable/fromEvent.ts +++ b/src/internal/observable/fromEvent.ts @@ -76,7 +76,7 @@ export function fromEvent( eventName: string, options: EventListenerOptions, resultSelector: (event: T) => R -): Observable; +): Observable; export function fromEvent(target: NodeStyleEventEmitter | ArrayLike, eventName: string): Observable; /** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */ From 0b9003e532962c6689ad21b48882a24a5cc301d7 Mon Sep 17 00:00:00 2001 From: Roc Wong Date: Fri, 4 Jun 2021 09:26:59 +1200 Subject: [PATCH 2/4] chore: api_guardian update --- api_guard/dist/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api_guard/dist/types/index.d.ts b/api_guard/dist/types/index.d.ts index 4c34cc78a3..0bd40f38b6 100644 --- a/api_guard/dist/types/index.d.ts +++ b/api_guard/dist/types/index.d.ts @@ -138,7 +138,7 @@ export declare function from>(input: O, scheduler export declare function fromEvent(target: HasEventTargetAddRemove | ArrayLike>, eventName: string): Observable; export declare function fromEvent(target: HasEventTargetAddRemove | ArrayLike>, eventName: string, resultSelector: (event: T) => R): Observable; export declare function fromEvent(target: HasEventTargetAddRemove | ArrayLike>, eventName: string, options: EventListenerOptions): Observable; -export declare function fromEvent(target: HasEventTargetAddRemove | ArrayLike>, eventName: string, options: EventListenerOptions, resultSelector: (event: T) => R): Observable; +export declare function fromEvent(target: HasEventTargetAddRemove | ArrayLike>, eventName: string, options: EventListenerOptions, resultSelector: (event: T) => R): Observable; export declare function fromEvent(target: NodeStyleEventEmitter | ArrayLike, eventName: string): Observable; export declare function fromEvent(target: NodeStyleEventEmitter | ArrayLike, eventName: string): Observable; export declare function fromEvent(target: NodeStyleEventEmitter | ArrayLike, eventName: string, resultSelector: (...args: any[]) => R): Observable; From 2e1ff7a6572f995d6022e877c76c85bfd74366f6 Mon Sep 17 00:00:00 2001 From: Roc Wong Date: Fri, 4 Jun 2021 19:22:53 +1200 Subject: [PATCH 3/4] test: improve the dtslint test on fromEvent() --- spec-dtslint/observables/fromEvent-spec.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec-dtslint/observables/fromEvent-spec.ts b/spec-dtslint/observables/fromEvent-spec.ts index 705c55a9bb..abac36d446 100644 --- a/spec-dtslint/observables/fromEvent-spec.ts +++ b/spec-dtslint/observables/fromEvent-spec.ts @@ -18,6 +18,14 @@ it('should support an event target source result selector', () => { const a = fromEvent(eventTargetSource, "click", () => "clunk"); // $ExpectType Observable }); +it('should support an event target source with options', () => { + const a = fromEvent(eventTargetSource, "click", { once: true }); // $ExpectType Observable +}); + +it('should support an event target source with options and result selector', () => { + const a = fromEvent(eventTargetSource, "click", { once: true }, () => "clunk"); // $ExpectType Observable +}); + declare const documentSource: HTMLDocument; it('should support a document source', () => { @@ -29,6 +37,14 @@ it('should support a document source result selector', () => { const a = fromEvent(documentSource, "click", () => "clunk"); // $ExpectType Observable }); +it('should support an document source with options', () => { + const a = fromEvent(documentSource, "click", { once: true }); // $ExpectType Observable +}); + +it('should support an document source with options and result selector', () => { + const a = fromEvent(documentSource, "click", { once: true }, () => "clunk"); // $ExpectType Observable +}); + // Pick the parts that will match NodeStyleEventEmitter. If this isn't done, it // will match JQueryStyleEventEmitter - because of the `on` and `off` methods - // despite the latter being declared last in the EventTargetLike union. From 0455cc5e6a0b23ef397e4cfa49d81db2213cf379 Mon Sep 17 00:00:00 2001 From: Roc Wong Date: Fri, 4 Jun 2021 22:31:38 +1200 Subject: [PATCH 4/4] test: fix a typo in the dtslint test for fromEvent --- spec-dtslint/observables/fromEvent-spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec-dtslint/observables/fromEvent-spec.ts b/spec-dtslint/observables/fromEvent-spec.ts index abac36d446..8ef58e387c 100644 --- a/spec-dtslint/observables/fromEvent-spec.ts +++ b/spec-dtslint/observables/fromEvent-spec.ts @@ -37,11 +37,11 @@ it('should support a document source result selector', () => { const a = fromEvent(documentSource, "click", () => "clunk"); // $ExpectType Observable }); -it('should support an document source with options', () => { +it('should support a document source with options', () => { const a = fromEvent(documentSource, "click", { once: true }); // $ExpectType Observable }); -it('should support an document source with options and result selector', () => { +it('should support a document source with options and result selector', () => { const a = fromEvent(documentSource, "click", { once: true }, () => "clunk"); // $ExpectType Observable });