Files
vscode/src/vs/platform/ipc/electron-main/sharedProcessMainService.ts
T
Matt Bierner cadabab73f Mark _serviceBrand properties using declare (#99312)
_serviceBrand is only used for typing and should not result in emit

Also adds readonly
2020-06-05 11:04:15 -07:00

37 lines
1.1 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
export const ISharedProcessMainService = createDecorator<ISharedProcessMainService>('sharedProcessMainService');
export interface ISharedProcessMainService {
readonly _serviceBrand: undefined;
whenSharedProcessReady(): Promise<void>;
toggleSharedProcessWindow(): Promise<void>;
}
export interface ISharedProcess {
whenReady(): Promise<void>;
toggle(): void;
}
export class SharedProcessMainService implements ISharedProcessMainService {
declare readonly _serviceBrand: undefined;
constructor(private sharedProcess: ISharedProcess) { }
whenSharedProcessReady(): Promise<void> {
return this.sharedProcess.whenReady();
}
async toggleSharedProcessWindow(): Promise<void> {
return this.sharedProcess.toggle();
}
}