From 6df957c8e752161fada5f2a5452ecaed1d688897 Mon Sep 17 00:00:00 2001 From: Jason Kuhrt Date: Wed, 30 Oct 2024 21:47:58 -0400 Subject: [PATCH] refactor: rename ext typehook --- src/extensions/Introspection/Introspection.ts | 2 +- src/extensions/Throws/Throws.ts | 2 +- src/layers/6_client/extension/extension.ts | 48 +++++++++---------- src/layers/6_client/extension/use.ts | 4 +- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/extensions/Introspection/Introspection.ts b/src/extensions/Introspection/Introspection.ts index 0b87ddfdf..81e1fb3d7 100644 --- a/src/extensions/Introspection/Introspection.ts +++ b/src/extensions/Introspection/Introspection.ts @@ -65,7 +65,7 @@ export const Introspection = (input?: Input) => { } type IntrospectionExtension = Extension<{ - property: Introspect_ + chainExtension: Introspect_ }> interface Introspect_ extends Chain.Extension { diff --git a/src/extensions/Throws/Throws.ts b/src/extensions/Throws/Throws.ts index 700fa5f43..dd9d2a73f 100644 --- a/src/extensions/Throws/Throws.ts +++ b/src/extensions/Throws/Throws.ts @@ -35,7 +35,7 @@ export const Throws = () => { } type ThrowsExtension = Extension<{ - property: Throws_ + chainExtension: Throws_ }> interface Throws_ extends Chain.Extension { diff --git a/src/layers/6_client/extension/extension.ts b/src/layers/6_client/extension/extension.ts index 8b8280eb8..daa5060a6 100644 --- a/src/layers/6_client/extension/extension.ts +++ b/src/layers/6_client/extension/extension.ts @@ -14,7 +14,7 @@ export interface TypeHooks { /** * Extend chaining interface with new methods. */ - property?: Chain.Extension + chainExtension?: Chain.Extension /** * Manipulate the execution result of a request. * @@ -47,29 +47,7 @@ export interface EmptyTypeHooks { onRequestDocumentRootType: undefined } -export interface Extension<$TypeHooks extends TypeHooks = TypeHooks> extends Base, Fn { - typeHooks: $TypeHooks -} - -export namespace Extension { - export namespace Hooks { - export interface OnRequestDocumentRootType extends Fn {} - export namespace OnRequestDocumentRootType { - export interface Params { - selectionRootType: Select.SelectionSet.RootType - } - } - export interface OnRequestResult extends Fn {} - export namespace OnRequestResult { - export interface Params<$Extensions extends GlobalRegistry.Extensions = GlobalRegistry.Extensions> { - result: GraffleExecutionResultEnvelope - registeredSchema: GlobalRegistry.Client<$Extensions> - } - } - } -} - -interface Base { +export interface Extension<$TypeHooks extends TypeHooks = TypeHooks> extends Fn { /** * The name of the extension */ @@ -100,6 +78,28 @@ interface Base { client: Client }, ) => unknown + /** + * TODO + */ + typeHooks: $TypeHooks +} + +export namespace Extension { + export namespace Hooks { + export interface OnRequestDocumentRootType extends Fn {} + export namespace OnRequestDocumentRootType { + export interface Params { + selectionRootType: Select.SelectionSet.RootType + } + } + export interface OnRequestResult extends Fn {} + export namespace OnRequestResult { + export interface Params<$Extensions extends GlobalRegistry.Extensions = GlobalRegistry.Extensions> { + result: GraffleExecutionResultEnvelope + registeredSchema: GlobalRegistry.Client<$Extensions> + } + } + } } export const createExtension = <$Extension extends Extension = Extension>( diff --git a/src/layers/6_client/extension/use.ts b/src/layers/6_client/extension/use.ts index 51be2b1ba..243149c63 100644 --- a/src/layers/6_client/extension/use.ts +++ b/src/layers/6_client/extension/use.ts @@ -15,8 +15,8 @@ export interface Use<$Args extends Chain.Extension.Parameters> { */ use: <$Extension extends Extension>(extension: $Extension) => Chain.Definition.MaterializeWithNewContext< ( - $Extension['typeHooks']['property'] extends Chain.Extension - ? Chain.Definition.Extend<$Args['chain'], $Extension['typeHooks']['property']> + $Extension['typeHooks']['chainExtension'] extends Chain.Extension + ? Chain.Definition.Extend<$Args['chain'], $Extension['typeHooks']['chainExtension']> : $Args['chain'] ), // If the extension adds type hooks, merge them into the config.