( group: ToolkitConnectionGroup, integrations: readonly Integration[], integrationPlugins: readonly IntegrationPlugin[], )
| 318 | }; |
| 319 | |
| 320 | const integrationMetaFor = ( |
| 321 | group: ToolkitConnectionGroup, |
| 322 | integrations: readonly Integration[], |
| 323 | integrationPlugins: readonly IntegrationPlugin[], |
| 324 | ): IntegrationMeta => { |
| 325 | const integration = integrations.find((row) => String(row.slug) === group.integration); |
| 326 | const fallbackName = group.integration |
| 327 | .replace(/[_-]/g, " ") |
| 328 | .replace(/\b\w/g, (character) => character.toUpperCase()); |
| 329 | const integrationSummary = { |
| 330 | id: group.integration, |
| 331 | kind: integration?.kind ?? group.integration, |
| 332 | name: integration?.name ?? fallbackName, |
| 333 | url: integration?.displayUrl, |
| 334 | }; |
| 335 | return { |
| 336 | name: integrationSummary.name, |
| 337 | integrationId: group.integration, |
| 338 | icon: integrationPresetIconUrl(integrationSummary, integrationPlugins), |
| 339 | ...(integrationSummary.url ? { url: integrationSummary.url } : {}), |
| 340 | }; |
| 341 | }; |
| 342 | |
| 343 | type ConfiguredConnectionView = { |
| 344 | readonly id: string; |
no test coverage detected