mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-04 09:35:38 -05:00
* Merge from vscode 64980ea1f3f532c82bb6c28d27bba9ef2c5b4463 * fix config changes * fix strictnull checks
42 lines
1.6 KiB
TypeScript
42 lines
1.6 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { IChannel, IServerChannel } from 'vs/base/parts/ipc/common/ipc';
|
|
import { IDialogService, IConfirmation, IConfirmationResult, IShowResult } from 'vs/platform/dialogs/common/dialogs';
|
|
import Severity from 'vs/base/common/severity';
|
|
import { Event } from 'vs/base/common/event';
|
|
|
|
export class DialogChannel implements IServerChannel {
|
|
|
|
constructor(@IDialogService private readonly dialogService: IDialogService) { }
|
|
|
|
listen<T>(_: unknown, event: string): Event<T> {
|
|
throw new Error(`Event not found: ${event}`);
|
|
}
|
|
|
|
call(_: unknown, command: string, args?: any[]): Promise<any> {
|
|
switch (command) {
|
|
case 'show': return this.dialogService.show(args![0], args![1], args![2]);
|
|
case 'confirm': return this.dialogService.confirm(args![0]);
|
|
}
|
|
return Promise.reject(new Error('invalid command'));
|
|
}
|
|
}
|
|
|
|
export class DialogChannelClient implements IDialogService {
|
|
|
|
_serviceBrand: undefined;
|
|
|
|
constructor(private channel: IChannel) { }
|
|
|
|
show(severity: Severity, message: string, options: string[]): Promise<IShowResult> {
|
|
return this.channel.call('show', [severity, message, options]);
|
|
}
|
|
|
|
confirm(confirmation: IConfirmation): Promise<IConfirmationResult> {
|
|
return this.channel.call('confirm', [confirmation]);
|
|
}
|
|
}
|