UNPKG

sussudio

Version:

An unofficial VS Code Internal API

56 lines (55 loc) 4.54 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { CancellationToken } from "../../../base/common/cancellation.mjs"; import { URI } from "../../../base/common/uri.mjs"; import { IConfigurationService } from "../../configuration/common/configuration.mjs"; import { IEnvironmentService } from "../../environment/common/environment.mjs"; import { IExtensionManagementService } from "../../extensionManagement/common/extensionManagement.mjs"; import { IFileService } from "../../files/common/files.mjs"; import { IStorageService } from "../../storage/common/storage.mjs"; import { ITelemetryService } from "../../telemetry/common/telemetry.mjs"; import { IUriIdentityService } from "../../uriIdentity/common/uriIdentity.mjs"; import { IUserDataProfile, IUserDataProfilesService } from "../../userDataProfile/common/userDataProfile.mjs"; import { AbstractInitializer, AbstractJsonFileSynchroniser, IAcceptResult, IFileResourcePreview, IMergeResult } from "./abstractSynchronizer.mjs"; import { IRemoteUserData, IUserDataSyncBackupStoreService, IUserDataSyncConfiguration, IUserDataSynchroniser, IUserDataSyncLogService, IUserDataSyncEnablementService, IUserDataSyncStoreService, IUserDataSyncUtilService, IUserDataResourceManifest } from "./userDataSync.mjs"; interface ISettingsResourcePreview extends IFileResourcePreview { previewResult: IMergeResult; } export interface ISettingsSyncContent { settings: string; } export declare function parseSettingsSyncContent(syncContent: string): ISettingsSyncContent; export declare class SettingsSynchroniser extends AbstractJsonFileSynchroniser implements IUserDataSynchroniser { private readonly extensionManagementService; protected readonly version: number; readonly previewResource: URI; readonly baseResource: URI; readonly localResource: URI; readonly remoteResource: URI; readonly acceptedResource: URI; constructor(profile: IUserDataProfile, collection: string | undefined, fileService: IFileService, environmentService: IEnvironmentService, storageService: IStorageService, userDataSyncStoreService: IUserDataSyncStoreService, userDataSyncBackupStoreService: IUserDataSyncBackupStoreService, logService: IUserDataSyncLogService, userDataSyncUtilService: IUserDataSyncUtilService, configurationService: IConfigurationService, userDataSyncEnablementService: IUserDataSyncEnablementService, telemetryService: ITelemetryService, extensionManagementService: IExtensionManagementService, uriIdentityService: IUriIdentityService); getRemoteUserDataSyncConfiguration(manifest: IUserDataResourceManifest | null): Promise<IUserDataSyncConfiguration>; protected generateSyncPreview(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, isRemoteDataFromCurrentMachine: boolean): Promise<ISettingsResourcePreview[]>; protected hasRemoteChanged(lastSyncUserData: IRemoteUserData): Promise<boolean>; protected getMergeResult(resourcePreview: ISettingsResourcePreview, token: CancellationToken): Promise<IMergeResult>; protected getAcceptResult(resourcePreview: ISettingsResourcePreview, resource: URI, content: string | null | undefined, token: CancellationToken): Promise<IAcceptResult>; protected applyResult(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, resourcePreviews: [ISettingsResourcePreview, IAcceptResult][], force: boolean): Promise<void>; hasLocalData(): Promise<boolean>; resolveContent(uri: URI): Promise<string | null>; protected resolvePreviewContent(resource: URI): Promise<string | null>; private getSettingsSyncContent; private parseSettingsSyncContent; private toSettingsSyncContent; private _defaultIgnoredSettings; private getIgnoredSettings; private validateContent; } export declare class SettingsInitializer extends AbstractInitializer { constructor(fileService: IFileService, userDataProfilesService: IUserDataProfilesService, environmentService: IEnvironmentService, logService: IUserDataSyncLogService, storageService: IStorageService, uriIdentityService: IUriIdentityService); doInitialize(remoteUserData: IRemoteUserData): Promise<void>; private isEmpty; private parseSettingsSyncContent; } export {};