@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
32 lines (30 loc) • 1.15 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 { IStringDictionary } from '@sussudio/base/common/collections.mjs';
import { ILogService } from '../../log/common/log.mjs';
import { IStorageValue } from './userDataSync.mjs';
export interface IMergeResult {
local: {
added: IStringDictionary<IStorageValue>;
removed: string[];
updated: IStringDictionary<IStorageValue>;
};
remote: {
added: string[];
removed: string[];
updated: string[];
all: IStringDictionary<IStorageValue> | null;
};
}
export declare function merge(
localStorage: IStringDictionary<IStorageValue>,
remoteStorage: IStringDictionary<IStorageValue> | null,
baseStorage: IStringDictionary<IStorageValue> | null,
storageKeys: {
machine: ReadonlyArray<string>;
unregistered: ReadonlyArray<string>;
},
logService: ILogService,
): IMergeResult;