UNPKG

3.75 kBTypeScriptView Raw
1import { Observable } from '../Observable';
2export interface NodeStyleEventEmitter {
3 addListener(eventName: string | symbol, handler: NodeEventHandler): this;
4 removeListener(eventName: string | symbol, handler: NodeEventHandler): this;
5}
6export declare type NodeEventHandler = (...args: any[]) => void;
7export interface NodeCompatibleEventEmitter {
8 addListener(eventName: string, handler: NodeEventHandler): void | {};
9 removeListener(eventName: string, handler: NodeEventHandler): void | {};
10}
11export interface JQueryStyleEventEmitter<TContext, T> {
12 on(eventName: string, handler: (this: TContext, t: T, ...args: any[]) => any): void;
13 off(eventName: string, handler: (this: TContext, t: T, ...args: any[]) => any): void;
14}
15export interface EventListenerObject<E> {
16 handleEvent(evt: E): void;
17}
18export interface HasEventTargetAddRemove<E> {
19 addEventListener(type: string, listener: ((evt: E) => void) | EventListenerObject<E> | null, options?: boolean | AddEventListenerOptions): void;
20 removeEventListener(type: string, listener: ((evt: E) => void) | EventListenerObject<E> | null, options?: EventListenerOptions | boolean): void;
21}
22export interface EventListenerOptions {
23 capture?: boolean;
24 passive?: boolean;
25 once?: boolean;
26}
27export interface AddEventListenerOptions extends EventListenerOptions {
28 once?: boolean;
29 passive?: boolean;
30}
31export declare function fromEvent<T>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string): Observable<T>;
32export declare function fromEvent<T, R>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string, resultSelector: (event: T) => R): Observable<R>;
33export declare function fromEvent<T>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string, options: EventListenerOptions): Observable<T>;
34export declare function fromEvent<T, R>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string, options: EventListenerOptions, resultSelector: (event: T) => R): Observable<R>;
35export declare function fromEvent(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<unknown>;
36/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */
37export declare function fromEvent<T>(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<T>;
38export declare function fromEvent<R>(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string, resultSelector: (...args: any[]) => R): Observable<R>;
39export declare function fromEvent(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string): Observable<unknown>;
40/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */
41export declare function fromEvent<T>(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string): Observable<T>;
42export declare function fromEvent<R>(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string, resultSelector: (...args: any[]) => R): Observable<R>;
43export declare function fromEvent<T>(target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>, eventName: string): Observable<T>;
44export declare function fromEvent<T, R>(target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>, eventName: string, resultSelector: (value: T, ...args: any[]) => R): Observable<R>;
45//# sourceMappingURL=fromEvent.d.ts.map
\No newline at end of file