1548c29de4789de33ca7352b4c67b07466a970692bca6b9a00be310e9c732ed5c84e80bdd1766f17d31683731820dae47cfbf87bf20c30bc59f9669189552a 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { Observable } from '../Observable';
  2. export interface NodeStyleEventEmitter {
  3. addListener(eventName: string | symbol, handler: NodeEventHandler): this;
  4. removeListener(eventName: string | symbol, handler: NodeEventHandler): this;
  5. }
  6. export declare type NodeEventHandler = (...args: any[]) => void;
  7. export interface NodeCompatibleEventEmitter {
  8. addListener(eventName: string, handler: NodeEventHandler): void | {};
  9. removeListener(eventName: string, handler: NodeEventHandler): void | {};
  10. }
  11. export 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. }
  15. export interface EventListenerObject<E> {
  16. handleEvent(evt: E): void;
  17. }
  18. export 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. }
  22. export interface EventListenerOptions {
  23. capture?: boolean;
  24. passive?: boolean;
  25. once?: boolean;
  26. }
  27. export interface AddEventListenerOptions extends EventListenerOptions {
  28. once?: boolean;
  29. passive?: boolean;
  30. }
  31. export declare function fromEvent<T>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string): Observable<T>;
  32. export declare function fromEvent<T, R>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string, resultSelector: (event: T) => R): Observable<R>;
  33. export declare function fromEvent<T>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string, options: EventListenerOptions): Observable<T>;
  34. export declare function fromEvent<T, R>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string, options: EventListenerOptions, resultSelector: (event: T) => R): Observable<R>;
  35. export 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. */
  37. export declare function fromEvent<T>(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<T>;
  38. export declare function fromEvent<R>(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string, resultSelector: (...args: any[]) => R): Observable<R>;
  39. export 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. */
  41. export declare function fromEvent<T>(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string): Observable<T>;
  42. export declare function fromEvent<R>(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string, resultSelector: (...args: any[]) => R): Observable<R>;
  43. export declare function fromEvent<T>(target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>, eventName: string): Observable<T>;
  44. export 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