From ce7c30175d58770d499af7064f51367700bc87c3 Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 6 May 2026 10:58:26 +0100 Subject: [PATCH 1/6] Fix bug in loadManyLoader types --- grafast/grafast/src/steps/loadMany.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/grafast/grafast/src/steps/loadMany.ts b/grafast/grafast/src/steps/loadMany.ts index bd8746c846..3b839e76f5 100644 --- a/grafast/grafast/src/steps/loadMany.ts +++ b/grafast/grafast/src/steps/loadMany.ts @@ -77,7 +77,7 @@ export function loadManyCallback< * LoadManyLoader. */ export function loadManyLoader< - const TLookup extends Multistep, + const TSpec, TItem, TData extends Maybe>> = Maybe< ReadonlyArrayOrAsyncIterable> @@ -85,8 +85,8 @@ export function loadManyLoader< TParams extends Record = Record, const TShared extends Multistep = never, >( - load: LoadManyLoader, -): LoadManyLoader { + load: LoadManyLoader, +): LoadManyLoader { return load; } From 58f51b264d149a4a6d69b7383220f491029fb562 Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 13 May 2026 10:08:55 +0100 Subject: [PATCH 2/6] Fix error message --- graphile-build/graphile-build/src/makeNewBuild.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphile-build/graphile-build/src/makeNewBuild.ts b/graphile-build/graphile-build/src/makeNewBuild.ts index d5f0e028a2..bd166baff4 100644 --- a/graphile-build/graphile-build/src/makeNewBuild.ts +++ b/graphile-build/graphile-build/src/makeNewBuild.ts @@ -96,7 +96,7 @@ export default function makeNewBuild( ); } const newTypeSource = - origin || `'addType' call during hook '${build.status.currentHookName}'`; + origin || `'register' call during hook '${build.status.currentHookName}'`; if (allTypesSources[typeName]) { const oldTypeSource = allTypesSources[typeName]; const firstEntityDetails = !oldTypeSource From 56b1985401cd9d33da9c387bc9852c753cb19f68 Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 13 May 2026 10:09:13 +0100 Subject: [PATCH 3/6] setParams convenience method --- grafast/grafast/src/steps/loadMany.ts | 9 +++++++++ grafast/grafast/src/steps/loadOne.ts | 9 +++++++++ grafast/grafast/src/steps/loadedRecord.ts | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/grafast/grafast/src/steps/loadMany.ts b/grafast/grafast/src/steps/loadMany.ts index 3b839e76f5..421119a71b 100644 --- a/grafast/grafast/src/steps/loadMany.ts +++ b/grafast/grafast/src/steps/loadMany.ts @@ -203,6 +203,15 @@ export class LoadManyStep< value instanceof Step ? value : constant(value), ); } + setParams< + TParams extends { + [key in keyof TParams]?: TParams[key] | Step>; + }, + >(params: TParams): void { + for (const [key, val] of Object.entries(params)) { + this.setParam(key, val as any); + } + } addAttributes(attributes: Set): void { for (const attribute of attributes) { this.attributes.add(attribute); diff --git a/grafast/grafast/src/steps/loadOne.ts b/grafast/grafast/src/steps/loadOne.ts index a0db61bb8d..8d1afde987 100644 --- a/grafast/grafast/src/steps/loadOne.ts +++ b/grafast/grafast/src/steps/loadOne.ts @@ -162,6 +162,15 @@ export class LoadOneStep< value instanceof Step ? value : constant(value), ); } + setParams< + TParams extends { + [key in keyof TParams]?: TParams[key] | Step; + }, + >(params: TParams): void { + for (const [key, val] of Object.entries(params)) { + this.setParam(key, val as any); + } + } addAttributes(attributes: Set): void { for (const attribute of attributes) { this.attributes.add(attribute); diff --git a/grafast/grafast/src/steps/loadedRecord.ts b/grafast/grafast/src/steps/loadedRecord.ts index 533c7a134a..b0763274fc 100644 --- a/grafast/grafast/src/steps/loadedRecord.ts +++ b/grafast/grafast/src/steps/loadedRecord.ts @@ -74,6 +74,15 @@ export class LoadedRecordStep< value instanceof Step ? value : constant(value), ); } + setParams< + TParams extends { + [key in keyof TParams]?: TParams[key] | Step; + }, + >(params: TParams): void { + for (const [key, val] of Object.entries(params)) { + this.setParam(key, val as any); + } + } deduplicate(peers: LoadedRecordStep[]) { return peers.filter( (p) => From ac376ca8d5fa76c0654b9256e049519bfd34172d Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 13 May 2026 11:28:32 +0100 Subject: [PATCH 4/6] docs(changeset): Fix type mistake in loadManyLoader --- .changeset/big-crews-sniff.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/big-crews-sniff.md diff --git a/.changeset/big-crews-sniff.md b/.changeset/big-crews-sniff.md new file mode 100644 index 0000000000..ced8a3083c --- /dev/null +++ b/.changeset/big-crews-sniff.md @@ -0,0 +1,5 @@ +--- +"grafast": patch +--- + +Fix type mistake in loadManyLoader From 0c7ec9d512c847b96952fd6864babbe8be2f1d3b Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 13 May 2026 11:29:05 +0100 Subject: [PATCH 5/6] docs(changeset): Add `setParams` helper to loadOne/loadMany to save having to call `setParam` multiple times. --- .changeset/beige-days-grin.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/beige-days-grin.md diff --git a/.changeset/beige-days-grin.md b/.changeset/beige-days-grin.md new file mode 100644 index 0000000000..20df82e5bb --- /dev/null +++ b/.changeset/beige-days-grin.md @@ -0,0 +1,6 @@ +--- +"grafast": patch +--- + +Add `setParams` helper to loadOne/loadMany to save having to call `setParam` +multiple times. From 2d92a4bc456cd087721e418ea3ac97e3af68ac38 Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 13 May 2026 11:29:19 +0100 Subject: [PATCH 6/6] docs(changeset): Minor error message fix. --- .changeset/red-maps-fall.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/red-maps-fall.md diff --git a/.changeset/red-maps-fall.md b/.changeset/red-maps-fall.md new file mode 100644 index 0000000000..152e2043f4 --- /dev/null +++ b/.changeset/red-maps-fall.md @@ -0,0 +1,5 @@ +--- +"graphile-build": patch +--- + +Minor error message fix.