import { CacheTypenames } from '../constants'; import { resourcePath } from '../utils'; // ID Generation for Storing in the ApolloCache export const dataIdFromObject = { [CacheTypenames.Context]: (result) => CacheTypenames.Context, [CacheTypenames.Configuration]: (result) => CacheTypenames.Configuration, [CacheTypenames.EditorPart]: (result) => `${CacheTypenames.EditorPart}:${result.id}`, [CacheTypenames.EditorGroup]: (result) => `${CacheTypenames.EditorGroup}:${result.id}`, // EditorInput [CacheTypenames.DiffEditorInput]: (result) => `${result.editorId}/${result.resource}`, [CacheTypenames.ResourceEditorInput]: (result) => `${result.editorId}/${result.resource}`, [CacheTypenames.SideBySideEditorInput]: (result) => `${result.editorId}/${result.resource}`, [CacheTypenames.UntitledEditorInput]: (result) => `${result.editorId}/${result.resource}`, [CacheTypenames.DataUriEditorInput]: (result) => `${result.editorId}/${result.resource}`, // Workspace and Configuration [CacheTypenames.WorkspaceData]: (result) => `${CacheTypenames.WorkspaceData}:${result.id}`, [CacheTypenames.WorkspaceFolderData]: (result) => `${CacheTypenames.WorkspaceFolderData}:${resourcePath(result.uri)}`, [CacheTypenames.ConfigurationData]: () => CacheTypenames.ConfigurationData, };