(endpoint: string)
| 348 | |
| 349 | /** Derive an integration slug from an endpoint URL. */ |
| 350 | const slugFromEndpoint = (endpoint: string): string => { |
| 351 | // oxlint-disable-next-line executor/no-try-catch-or-throw -- boundary: URL construction throws; this helper intentionally falls back to the stable default slug |
| 352 | try { |
| 353 | const url = new URL(endpoint); |
| 354 | return url.hostname.replace(/[^a-z0-9]+/gi, "_").toLowerCase(); |
| 355 | } catch { |
| 356 | return "graphql"; |
| 357 | } |
| 358 | }; |
| 359 | |
| 360 | const formatTypeRef = (ref: IntrospectionTypeRef): string => |
| 361 | Match.value(ref.kind).pipe( |
no test coverage detected