File tree Expand file tree Collapse file tree 5 files changed +32
-1
lines changed
Expand file tree Collapse file tree 5 files changed +32
-1
lines changed Original file line number Diff line number Diff line change 1+ import { AppEventEmitter } from './events' ;
2+
3+ export interface App {
4+ createEventEmitter < T > ( ) : AppEventEmitter < T > ;
5+ }
Original file line number Diff line number Diff line change 1+ import { Disposable } from '../pure/disposable-object' ;
2+
3+ export interface AppEvent < T > {
4+ ( listener : ( event : T ) => void ) : Disposable ;
5+ }
6+
7+ export interface AppEventEmitter < T > {
8+ event : AppEvent < T > ;
9+ fire ( data : T ) : void ;
10+ }
Original file line number Diff line number Diff line change 1+ import * as vscode from 'vscode' ;
2+ import { AppEventEmitter } from '../events' ;
3+
4+ export class VSCodeAppEventEmitter < T >
5+ extends vscode . EventEmitter < T >
6+ implements AppEventEmitter < T > {
7+ }
Original file line number Diff line number Diff line change 1+ import { App } from '../app' ;
2+ import { AppEventEmitter } from '../events' ;
3+ import { VSCodeAppEventEmitter } from './events' ;
4+
5+ export class ExtensionApp implements App {
6+ public createEventEmitter < T > ( ) : AppEventEmitter < T > {
7+ return new VSCodeAppEventEmitter < T > ( ) ;
8+ }
9+ }
Original file line number Diff line number Diff line change 11
22// Avoid explicitly referencing Disposable type in vscode.
33// This file cannot have dependencies on the vscode API.
4- interface Disposable {
4+ export interface Disposable {
55 dispose ( ) : any ;
66}
77
You can’t perform that action at this time.
0 commit comments