88
99import { IDisposable , DisposableStore , toDisposable } from 'common/Lifecycle' ;
1010
11- export interface Event < T > {
11+ export interface IEvent < T > {
1212 ( listener : ( e : T ) => any , thisArgs ?: any , disposables ?: IDisposable [ ] | DisposableStore ) : IDisposable ;
1313}
1414
1515export class Emitter < T > {
16- private _listeners : Array < { fn : ( e : T ) => any ; thisArgs : any } > = [ ] ;
16+ private _listeners : { fn : ( e : T ) => any , thisArgs : any } [ ] = [ ] ;
1717 private _disposed = false ;
18- private _event : Event < T > | undefined ;
18+ private _event : IEvent < T > | undefined ;
1919
20- public get event ( ) : Event < T > {
20+ public get event ( ) : IEvent < T > {
2121 if ( ! this . _event ) {
2222 this . _event = ( listener : ( e : T ) => any , thisArgs ?: any , disposables ?: IDisposable [ ] | DisposableStore ) => {
2323 if ( this . _disposed ) {
@@ -69,19 +69,19 @@ export class Emitter<T> {
6969}
7070
7171export namespace Event {
72- export function forward < T > ( from : Event < T > , to : Emitter < T > ) : IDisposable {
72+ export function forward < T > ( from : IEvent < T > , to : Emitter < T > ) : IDisposable {
7373 return from ( e => to . fire ( e ) ) ;
7474 }
7575
76- export function map < I , O > ( event : Event < I > , map : ( i : I ) => O ) : Event < O > {
76+ export function map < I , O > ( event : IEvent < I > , map : ( i : I ) => O ) : IEvent < O > {
7777 return ( listener : ( e : O ) => any , thisArgs ?: any , disposables ?: IDisposable [ ] | DisposableStore ) => {
7878 return event ( i => listener . call ( thisArgs , map ( i ) ) , undefined , disposables ) ;
7979 } ;
8080 }
8181
82- export function any < T > ( ...events : Event < T > [ ] ) : Event < T > ;
83- export function any ( ...events : Event < any > [ ] ) : Event < void > ;
84- export function any < T > ( ...events : Event < T > [ ] ) : Event < T > {
82+ export function any < T > ( ...events : IEvent < T > [ ] ) : IEvent < T > ;
83+ export function any ( ...events : IEvent < any > [ ] ) : IEvent < void > ;
84+ export function any < T > ( ...events : IEvent < T > [ ] ) : IEvent < T > {
8585 return ( listener : ( e : T ) => any , thisArgs ?: any , disposables ?: IDisposable [ ] | DisposableStore ) => {
8686 const store = new DisposableStore ( ) ;
8787 for ( const event of events ) {
@@ -98,7 +98,7 @@ export namespace Event {
9898 } ;
9999 }
100100
101- export function runAndSubscribe < T > ( event : Event < T > , handler : ( e : T | undefined ) => void ) : IDisposable {
101+ export function runAndSubscribe < T > ( event : IEvent < T > , handler : ( e : T | undefined ) => void ) : IDisposable {
102102 handler ( undefined ) ;
103103 return event ( e => handler ( e ) ) ;
104104 }
0 commit comments