From d58a470916b213230f495e896fe99ec0baa225e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20S=C3=A1ez?= Date: Mon, 31 Oct 2022 01:32:31 -0700 Subject: [PATCH] Fix createServicesFetcher handle null service url (#563) --- .changeset/famous-readers-cheat.md | 5 +++++ packages/libraries/client/src/gateways.ts | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 .changeset/famous-readers-cheat.md diff --git a/.changeset/famous-readers-cheat.md b/.changeset/famous-readers-cheat.md new file mode 100644 index 000000000..8e527790f --- /dev/null +++ b/.changeset/famous-readers-cheat.md @@ -0,0 +1,5 @@ +--- +'@graphql-hive/client': minor +--- + +Fix createServicesFetcher handling null service url diff --git a/packages/libraries/client/src/gateways.ts b/packages/libraries/client/src/gateways.ts index 60f25f3ec..6d927b5c3 100644 --- a/packages/libraries/client/src/gateways.ts +++ b/packages/libraries/client/src/gateways.ts @@ -4,7 +4,7 @@ import type { SchemaFetcherOptions, ServicesFetcherOptions } from './internal/ty interface Schema { sdl: string; - url: string; + url: string | null; name: string; } @@ -62,7 +62,11 @@ export function createSchemaFetcher({ endpoint, key }: SchemaFetcherOptions) { return function schemaFetcher() { return fetcher().then(schema => ({ - id: createHash('sha256').update(schema.sdl).update(schema.url).update(schema.name).digest('base64'), + id: createHash('sha256') + .update(schema.sdl) + .update(schema.url || '') + .update(schema.name) + .digest('base64'), ...schema, })); }; @@ -74,7 +78,11 @@ export function createServicesFetcher({ endpoint, key }: ServicesFetcherOptions) return function schemaFetcher() { return fetcher().then(services => services.map(service => ({ - id: createHash('sha256').update(service.sdl).update(service.url).update(service.name).digest('base64'), + id: createHash('sha256') + .update(service.sdl) + .update(service.url || '') + .update(service.name) + .digest('base64'), ...service, })) );