(endpoint: string)
| 317 | |
| 318 | /** Derive an integration slug from an endpoint URL. */ |
| 319 | const slugFromEndpoint = (endpoint: string): string => { |
| 320 | // oxlint-disable-next-line executor/no-try-catch-or-throw -- boundary: URL construction throws; this helper intentionally falls back to the stable default slug |
| 321 | try { |
| 322 | const url = new URL(endpoint); |
| 323 | return url.hostname.replace(/[^a-z0-9]+/gi, "_").toLowerCase(); |
| 324 | } catch { |
| 325 | return "graphql"; |
| 326 | } |
| 327 | }; |
| 328 | |
| 329 | const formatTypeRef = (ref: IntrospectionTypeRef): string => |
| 330 | Match.value(ref.kind).pipe( |
no test coverage detected