@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
79 lines (77 loc) • 4.02 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Event } from '@sussudio/base/common/event.mjs';
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { URI } from '@sussudio/base/common/uri.mjs';
import { IURITransformer } from '@sussudio/base/common/uriIpc.mjs';
import { IChannel, IServerChannel } from '@sussudio/base/parts/ipc/common/ipc.mjs';
import {
IExtensionIdentifier,
IExtensionTipsService,
IGalleryExtension,
IGalleryMetadata,
ILocalExtension,
IExtensionsControlManifest,
InstallOptions,
InstallVSIXOptions,
UninstallOptions,
Metadata,
IExtensionManagementService,
DidUninstallExtensionEvent,
InstallExtensionEvent,
InstallExtensionResult,
UninstallExtensionEvent,
InstallOperation,
} from './extensionManagement.mjs';
import { ExtensionType, IExtensionManifest, TargetPlatform } from '../../extensions/common/extensions.mjs';
export declare class ExtensionManagementChannel implements IServerChannel {
private service;
private getUriTransformer;
onInstallExtension: Event<InstallExtensionEvent>;
onDidInstallExtensions: Event<readonly InstallExtensionResult[]>;
onUninstallExtension: Event<UninstallExtensionEvent>;
onDidUninstallExtension: Event<DidUninstallExtensionEvent>;
constructor(service: IExtensionManagementService, getUriTransformer: (requestContext: any) => IURITransformer | null);
listen(context: any, event: string): Event<any>;
call(context: any, command: string, args?: any): Promise<any>;
}
export declare class ExtensionManagementChannelClient extends Disposable implements IExtensionManagementService {
private readonly channel;
readonly _serviceBrand: undefined;
private readonly _onInstallExtension;
get onInstallExtension(): Event<InstallExtensionEvent>;
private readonly _onDidInstallExtensions;
get onDidInstallExtensions(): Event<readonly InstallExtensionResult[]>;
private readonly _onUninstallExtension;
get onUninstallExtension(): Event<UninstallExtensionEvent>;
private readonly _onDidUninstallExtension;
get onDidUninstallExtension(): Event<DidUninstallExtensionEvent>;
constructor(channel: IChannel);
private isUriComponents;
protected _targetPlatformPromise: Promise<TargetPlatform> | undefined;
getTargetPlatform(): Promise<TargetPlatform>;
canInstall(extension: IGalleryExtension): Promise<boolean>;
zip(extension: ILocalExtension): Promise<URI>;
unzip(zipLocation: URI): Promise<IExtensionIdentifier>;
install(vsix: URI, options?: InstallVSIXOptions): Promise<ILocalExtension>;
installFromLocation(location: URI, profileLocation: URI): Promise<ILocalExtension>;
getManifest(vsix: URI): Promise<IExtensionManifest>;
installFromGallery(extension: IGalleryExtension, installOptions?: InstallOptions): Promise<ILocalExtension>;
uninstall(extension: ILocalExtension, options?: UninstallOptions): Promise<void>;
reinstallFromGallery(extension: ILocalExtension): Promise<ILocalExtension>;
getInstalled(type?: ExtensionType | null, extensionsProfileResource?: URI): Promise<ILocalExtension[]>;
getMetadata(local: ILocalExtension): Promise<Metadata | undefined>;
updateMetadata(local: ILocalExtension, metadata: IGalleryMetadata): Promise<ILocalExtension>;
updateExtensionScope(local: ILocalExtension, isMachineScoped: boolean): Promise<ILocalExtension>;
getExtensionsControlManifest(): Promise<IExtensionsControlManifest>;
download(extension: IGalleryExtension, operation: InstallOperation): Promise<URI>;
registerParticipant(): void;
}
export declare class ExtensionTipsChannel implements IServerChannel {
private service;
constructor(service: IExtensionTipsService);
listen(context: any, event: string): Event<any>;
call(context: any, command: string, args?: any): Promise<any>;
}