UNPKG

@sussudio/platform

Version:

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

41 lines (40 loc) 1.46 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { URI } from '@sussudio/base/common/uri.mjs'; export function isEmptyWindowBackupInfo(obj) { const candidate = obj; return typeof candidate?.backupFolder === 'string'; } export function deserializeWorkspaceInfos(serializedBackupWorkspaces) { let workspaceBackupInfos = []; try { if (Array.isArray(serializedBackupWorkspaces.workspaces)) { workspaceBackupInfos = serializedBackupWorkspaces.workspaces.map((workspace) => ({ workspace: { id: workspace.id, configPath: URI.parse(workspace.configURIPath), }, remoteAuthority: workspace.remoteAuthority, })); } } catch (e) { // ignore URI parsing exceptions } return workspaceBackupInfos; } export function deserializeFolderInfos(serializedBackupWorkspaces) { let folderBackupInfos = []; try { if (Array.isArray(serializedBackupWorkspaces.folders)) { folderBackupInfos = serializedBackupWorkspaces.folders.map((folder) => ({ folderUri: URI.parse(folder.folderUri), remoteAuthority: folder.remoteAuthority, })); } } catch (e) { // ignore URI parsing exceptions } return folderBackupInfos; }