@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
96 lines (95 loc) • 3.46 kB
JavaScript
var __decorate =
(this && this.__decorate) ||
function (decorators, target, key, desc) {
var c = arguments.length,
r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
d;
if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __param =
(this && this.__param) ||
function (paramIndex, decorator) {
return function (target, key) {
decorator(target, key, paramIndex);
};
};
/*---------------------------------------------------------------------------------------------
* 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 { INativeHostService } from '../../native/electron-sandbox/native.mjs';
import { IProductService } from '../../product/common/productService.mjs';
import { IStorageService } from '../../storage/common/storage.mjs';
import { ITelemetryService } from '../../telemetry/common/telemetry.mjs';
import { UserDataAutoSyncService as BaseUserDataAutoSyncService } from '../common/userDataAutoSyncService.mjs';
import {
IUserDataSyncEnablementService,
IUserDataSyncLogService,
IUserDataSyncService,
IUserDataSyncStoreManagementService,
IUserDataSyncStoreService,
} from '../common/userDataSync.mjs';
import { IUserDataSyncAccountService } from '../common/userDataSyncAccount.mjs';
import { IUserDataSyncMachinesService } from '../common/userDataSyncMachines.mjs';
let UserDataAutoSyncService = class UserDataAutoSyncService extends BaseUserDataAutoSyncService {
constructor(
productService,
userDataSyncStoreManagementService,
userDataSyncStoreService,
userDataSyncEnablementService,
userDataSyncService,
nativeHostService,
logService,
authTokenService,
telemetryService,
userDataSyncMachinesService,
storageService,
) {
super(
productService,
userDataSyncStoreManagementService,
userDataSyncStoreService,
userDataSyncEnablementService,
userDataSyncService,
logService,
authTokenService,
telemetryService,
userDataSyncMachinesService,
storageService,
);
this._register(
Event.debounce(
Event.any(
Event.map(nativeHostService.onDidFocusWindow, () => 'windowFocus'),
Event.map(nativeHostService.onDidOpenWindow, () => 'windowOpen'),
),
(last, source) => (last ? [...last, source] : [source]),
1000,
)((sources) => this.triggerSync(sources, true, false)),
);
}
};
UserDataAutoSyncService = __decorate(
[
__param(0, IProductService),
__param(1, IUserDataSyncStoreManagementService),
__param(2, IUserDataSyncStoreService),
__param(3, IUserDataSyncEnablementService),
__param(4, IUserDataSyncService),
__param(5, INativeHostService),
__param(6, IUserDataSyncLogService),
__param(7, IUserDataSyncAccountService),
__param(8, ITelemetryService),
__param(9, IUserDataSyncMachinesService),
__param(10, IStorageService),
],
UserDataAutoSyncService,
);
export { UserDataAutoSyncService };