UNPKG

sussudio

Version:

An unofficial VS Code Internal API

61 lines (60 loc) 3.42 kB
/*--------------------------------------------------------------------------------------------- * 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 "../../../base/common/event.mjs"; import { IConfigurationService } from "../../configuration/common/configuration.mjs"; import { IEnvironmentMainService } from "../../environment/electron-main/environmentMainService.mjs"; import { ILifecycleMainService } from "../../lifecycle/electron-main/lifecycleMainService.mjs"; import { ILogService } from "../../log/common/log.mjs"; import { IProductService } from "../../product/common/productService.mjs"; import { IRequestService } from "../../request/common/request.mjs"; import { AvailableForDownload, IUpdateService, State, UpdateType } from "../common/update.mjs"; export declare function createUpdateURL(platform: string, quality: string, productService: IProductService): string; export type UpdateNotAvailableClassification = { owner: 'joaomoreno'; explicit: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; isMeasurement: true; comment: 'Whether the user has manually checked for updates, or this was an automatic check.'; }; comment: 'This is used to understand how often VS Code pings the update server for an update and there\'s none available.'; }; export declare abstract class AbstractUpdateService implements IUpdateService { private readonly lifecycleMainService; protected configurationService: IConfigurationService; private readonly environmentMainService; protected requestService: IRequestService; protected logService: ILogService; protected readonly productService: IProductService; readonly _serviceBrand: undefined; protected url: string | undefined; private _state; private readonly _onStateChange; readonly onStateChange: Event<State>; get state(): State; protected setState(state: State): void; constructor(lifecycleMainService: ILifecycleMainService, configurationService: IConfigurationService, environmentMainService: IEnvironmentMainService, requestService: IRequestService, logService: ILogService, productService: IProductService); /** * This must be called before any other call. This is a performance * optimization, to avoid using extra CPU cycles before first window open. * https://github.com/microsoft/vscode/issues/89784 */ initialize(): Promise<void>; protected getUpdateMode(): 'none' | 'manual' | 'start' | 'default'; private getProductQuality; private scheduleCheckForUpdates; checkForUpdates(explicit: boolean): Promise<void>; downloadUpdate(): Promise<void>; protected doDownloadUpdate(state: AvailableForDownload): Promise<void>; applyUpdate(): Promise<void>; protected doApplyUpdate(): Promise<void>; quitAndInstall(): Promise<void>; isLatestVersion(): Promise<boolean | undefined>; _applySpecificUpdate(packagePath: string): Promise<void>; protected getUpdateType(): UpdateType; protected doQuitAndInstall(): void; protected abstract buildUpdateFeedUrl(quality: string): string | undefined; protected abstract doCheckForUpdates(context: any): void; }