{"version":3,"file":"v0alpha1PanelMapper.cjs","sources":["../../../../../src/services/pluginMeta/mappers/v0alpha1PanelMapper.ts"],"sourcesContent":["import { type PanelPluginMeta, PluginType } from '@grafana/data';\n\nimport { logPluginMetaWarning } from '../logging';\nimport type { PanelPluginMetas, PanelPluginMetasMapper, PluginMetasResponse } from '../types';\nimport type { Spec as v0alpha1Spec } from '../types/meta/types.spec.gen';\n\nimport {\n  angularMapper,\n  isCorePlugin,\n  loadingStrategyMapper,\n  stateMapper,\n  infoMapper,\n  signatureStatusMapper,\n  prependPublicPathToCorePlugins,\n} from './shared';\n\nconst idToSortMap: Record<string, number> = {\n  timeseries: 1,\n  barchart: 2,\n  stat: 3,\n  gauge: 4,\n  bargauge: 5,\n  table: 6,\n  singlestat: 7,\n  piechart: 8,\n  'state-timeline': 9,\n  heatmap: 10,\n  'status-history': 11,\n  histogram: 12,\n  graph: 13,\n  text: 14,\n  alertlist: 15,\n  dashlist: 16,\n  news: 17,\n};\n\nfunction sortMapper(spec: v0alpha1Spec): number {\n  return idToSortMap[spec.pluginJson.id] ?? 100;\n}\n\nfunction specMapper(spec: v0alpha1Spec): PanelPluginMeta {\n  const { id, name, hideFromList = false, skipDataQuery = false, suggestions } = spec.pluginJson;\n  const state = stateMapper(spec, logPluginMetaWarning);\n  const info = infoMapper(spec);\n  const loadingStrategy = loadingStrategyMapper(spec);\n  const sort = sortMapper(spec);\n  const type = PluginType.panel;\n  const module = spec.module.path;\n  const baseUrl = spec.baseURL;\n  const signature = signatureStatusMapper(spec, logPluginMetaWarning);\n  const angular = angularMapper(spec);\n  const translations = spec.translations;\n  const moduleHash = spec.module.hash;\n  const aliasIDs = spec.aliasIds;\n\n  return {\n    id,\n    name,\n    info,\n    hideFromList,\n    sort,\n    skipDataQuery,\n    suggestions,\n    state,\n    baseUrl,\n    signature,\n    module,\n    angular,\n    loadingStrategy,\n    type,\n    translations,\n    moduleHash,\n    aliasIDs,\n  };\n}\n\nexport function coreSpecMapper(spec: v0alpha1Spec): PanelPluginMeta {\n  const mapped = specMapper(spec);\n  return prependPublicPathToCorePlugins(mapped, spec);\n}\n\nexport const v0alpha1PanelMapper: PanelPluginMetasMapper<PluginMetasResponse> = (response) => {\n  const result: PanelPluginMetas = {};\n\n  return response.items.reduce((acc, curr) => {\n    if (curr.spec.pluginJson.type !== 'panel') {\n      return acc;\n    }\n\n    const mapper = isCorePlugin(curr.spec) ? coreSpecMapper : specMapper;\n\n    const config = mapper(curr.spec);\n    acc[config.id] = config;\n    return acc;\n  }, result);\n};\n"],"names":["stateMapper","logPluginMetaWarning","infoMapper","loadingStrategyMapper","PluginType","signatureStatusMapper","angularMapper","prependPublicPathToCorePlugins","isCorePlugin"],"mappings":"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"}