UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

109 lines (107 loc) 4.31 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 '@sussudio/base/common/cancellation.mjs'; import { URI } from '@sussudio/base/common/uri.mjs'; import { IConfigurationService } from '../../configuration/common/configuration.mjs'; import { IEnvironmentService } from '../../environment/common/environment.mjs'; import { IFileService } from '../../files/common/files.mjs'; import { ILogService } from '../../log/common/log.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, } from './userDataSync.mjs'; interface IKeybindingsResourcePreview extends IFileResourcePreview { previewResult: IMergeResult; } interface ILastSyncUserData extends IRemoteUserData { platformSpecific?: boolean; } export declare function getKeybindingsContentFromSyncContent( syncContent: string, platformSpecific: boolean, logService: ILogService, ): string | null; export declare class KeybindingsSynchroniser extends AbstractJsonFileSynchroniser implements IUserDataSynchroniser { protected readonly version: number; private readonly previewResource; private readonly baseResource; private readonly localResource; private readonly remoteResource; private readonly acceptedResource; constructor( profile: IUserDataProfile, collection: string | undefined, userDataSyncStoreService: IUserDataSyncStoreService, userDataSyncBackupStoreService: IUserDataSyncBackupStoreService, logService: IUserDataSyncLogService, configurationService: IConfigurationService, userDataSyncEnablementService: IUserDataSyncEnablementService, fileService: IFileService, environmentService: IEnvironmentService, storageService: IStorageService, userDataSyncUtilService: IUserDataSyncUtilService, telemetryService: ITelemetryService, uriIdentityService: IUriIdentityService, ); protected generateSyncPreview( remoteUserData: IRemoteUserData, lastSyncUserData: ILastSyncUserData | null, isRemoteDataFromCurrentMachine: boolean, userDataSyncConfiguration: IUserDataSyncConfiguration, ): Promise<IKeybindingsResourcePreview[]>; protected hasRemoteChanged(lastSyncUserData: IRemoteUserData): Promise<boolean>; protected getMergeResult( resourcePreview: IKeybindingsResourcePreview, token: CancellationToken, ): Promise<IMergeResult>; protected getAcceptResult( resourcePreview: IKeybindingsResourcePreview, resource: URI, content: string | null | undefined, token: CancellationToken, ): Promise<IAcceptResult>; protected applyResult( remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, resourcePreviews: [IKeybindingsResourcePreview, IAcceptResult][], force: boolean, ): Promise<void>; hasLocalData(): Promise<boolean>; resolveContent(uri: URI): Promise<string | null>; private getKeybindingsContentFromLastSyncUserData; private toSyncContent; private syncKeybindingsPerPlatform; } export declare class KeybindingsInitializer extends AbstractInitializer { constructor( fileService: IFileService, userDataProfilesService: IUserDataProfilesService, environmentService: IEnvironmentService, logService: IUserDataSyncLogService, storageService: IStorageService, uriIdentityService: IUriIdentityService, ); doInitialize(remoteUserData: IRemoteUserData): Promise<void>; private isEmpty; private getKeybindingsContentFromSyncContent; } export {};