@graphql-tools/delegate 12.0.5 → 12.0.6-alpha-1cce5edf33eefe10f69c3b55d80f1f6ceefe5aa3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @graphql-tools/delegate
2
2
 
3
+ ## 12.0.6-alpha-1cce5edf33eefe10f69c3b55d80f1f6ceefe5aa3
4
+ ### Patch Changes
5
+
6
+
7
+
8
+ - [#1916](https://github.com/graphql-hive/gateway/pull/1916) [`5aa2a8c`](https://github.com/graphql-hive/gateway/commit/5aa2a8cb6ef1d254393e7926d9b26759d3df4901) Thanks [@ardatan](https://github.com/ardatan)! - Handle the type merging order correctly with custom labels and percentage labels for progressive override
9
+
3
10
  ## 12.0.5
4
11
  ### Patch Changes
5
12
 
package/dist/index.cjs CHANGED
@@ -584,12 +584,6 @@ const getTypeInfoWithType = utils.memoize2(function getTypeInfoWithType2(schema,
584
584
  return graphql.versionInfo.major < 16 ? new graphql.TypeInfo(schema, void 0, type) : new graphql.TypeInfo(schema, type);
585
585
  });
586
586
 
587
- const handleOverrideByDelegation = utils.memoize3(
588
- function handleOverrideByDelegation2(info, context, overrideHandler) {
589
- return overrideHandler(context, info);
590
- }
591
- );
592
-
593
587
  function finalizeGatewayDocument(targetSchema, fragments, operations, onOverlappingAliases, delegationContext) {
594
588
  let usedVariables = [];
595
589
  let usedFragments = [];
@@ -896,10 +890,9 @@ function filterSelectionSet(schema, typeInfo, validFragments, selectionSet, onOv
896
890
  const parentTypeName = parentType.name;
897
891
  const overrideHandler = delegationContext.subschemaConfig?.merge?.[parentTypeName]?.fields?.[field.name]?.override;
898
892
  if (overrideHandler != null) {
899
- const overridden = handleOverrideByDelegation(
900
- delegationContext.info,
893
+ const overridden = overrideHandler(
901
894
  delegationContext.context,
902
- overrideHandler
895
+ delegationContext.info
903
896
  );
904
897
  if (!overridden) {
905
898
  return null;
@@ -2917,7 +2910,6 @@ exports.getSubschema = getSubschema;
2917
2910
  exports.getTypeInfo = getTypeInfo;
2918
2911
  exports.getTypeInfoWithType = getTypeInfoWithType;
2919
2912
  exports.getUnpathedErrors = getUnpathedErrors;
2920
- exports.handleOverrideByDelegation = handleOverrideByDelegation;
2921
2913
  exports.handleResolverResult = handleResolverResult;
2922
2914
  exports.isExternalObject = isExternalObject;
2923
2915
  exports.isPrototypePollutingKey = isPrototypePollutingKey;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { ExecutionRequest, ExecutionResult, Executor, Maybe, GraphQLResolveInfo as GraphQLResolveInfo$1 } from '@graphql-tools/utils';
1
+ import { ExecutionRequest, ExecutionResult, Executor, Maybe } from '@graphql-tools/utils';
2
2
  export { createDeferred } from '@graphql-tools/utils';
3
3
  import * as graphql from 'graphql';
4
4
  import { GraphQLSchema, OperationTypeNode, GraphQLResolveInfo, GraphQLOutputType, GraphQLError, SelectionSetNode, GraphQLFieldResolver, FragmentDefinitionNode, FieldNode, GraphQLNamedType, GraphQLObjectType, GraphQLField, GraphQLInterfaceType, SelectionNode, GraphQLNamedOutputType, TypeInfo, GraphQLType } from 'graphql';
@@ -235,6 +235,4 @@ declare const prototypePollutingKeys: readonly ["__proto__", "constructor", "pro
235
235
  type PrototypePollutingKey = (typeof prototypePollutingKeys)[number];
236
236
  declare function isPrototypePollutingKey(key: string): key is PrototypePollutingKey;
237
237
 
238
- declare const handleOverrideByDelegation: (info: GraphQLResolveInfo$1, context: any, overrideHandler: OverrideHandler) => boolean;
239
-
240
- export { type BatchingOptions, type CreateProxyingResolverFn, type Deferred, type DelegationContext, type DelegationPlanBuilder, type DelegationPlanLeftOver, EMPTY_ARRAY, EMPTY_OBJECT, type ExternalObject, FIELD_SUBSCHEMA_MAP_SYMBOL, type ICreateProxyingResolverOptions, type ICreateRequest, type IDelegateRequestOptions, type IDelegateToSchemaOptions, type MergedFieldConfig, type MergedTypeConfig, type MergedTypeEntryPoint, type MergedTypeInfo, type MergedTypeResolver, type MergedTypeResolverOptions, OBJECT_SUBSCHEMA_SYMBOL, type OverrideHandler, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getTypeInfo, getTypeInfoWithType, getUnpathedErrors, handleOverrideByDelegation, handleResolverResult, isExternalObject, isPrototypePollutingKey, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
238
+ export { type BatchingOptions, type CreateProxyingResolverFn, type Deferred, type DelegationContext, type DelegationPlanBuilder, type DelegationPlanLeftOver, EMPTY_ARRAY, EMPTY_OBJECT, type ExternalObject, FIELD_SUBSCHEMA_MAP_SYMBOL, type ICreateProxyingResolverOptions, type ICreateRequest, type IDelegateRequestOptions, type IDelegateToSchemaOptions, type MergedFieldConfig, type MergedTypeConfig, type MergedTypeEntryPoint, type MergedTypeInfo, type MergedTypeResolver, type MergedTypeResolverOptions, OBJECT_SUBSCHEMA_SYMBOL, type OverrideHandler, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getTypeInfo, getTypeInfoWithType, getUnpathedErrors, handleResolverResult, isExternalObject, isPrototypePollutingKey, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ExecutionRequest, ExecutionResult, Executor, Maybe, GraphQLResolveInfo as GraphQLResolveInfo$1 } from '@graphql-tools/utils';
1
+ import { ExecutionRequest, ExecutionResult, Executor, Maybe } from '@graphql-tools/utils';
2
2
  export { createDeferred } from '@graphql-tools/utils';
3
3
  import * as graphql from 'graphql';
4
4
  import { GraphQLSchema, OperationTypeNode, GraphQLResolveInfo, GraphQLOutputType, GraphQLError, SelectionSetNode, GraphQLFieldResolver, FragmentDefinitionNode, FieldNode, GraphQLNamedType, GraphQLObjectType, GraphQLField, GraphQLInterfaceType, SelectionNode, GraphQLNamedOutputType, TypeInfo, GraphQLType } from 'graphql';
@@ -235,6 +235,4 @@ declare const prototypePollutingKeys: readonly ["__proto__", "constructor", "pro
235
235
  type PrototypePollutingKey = (typeof prototypePollutingKeys)[number];
236
236
  declare function isPrototypePollutingKey(key: string): key is PrototypePollutingKey;
237
237
 
238
- declare const handleOverrideByDelegation: (info: GraphQLResolveInfo$1, context: any, overrideHandler: OverrideHandler) => boolean;
239
-
240
- export { type BatchingOptions, type CreateProxyingResolverFn, type Deferred, type DelegationContext, type DelegationPlanBuilder, type DelegationPlanLeftOver, EMPTY_ARRAY, EMPTY_OBJECT, type ExternalObject, FIELD_SUBSCHEMA_MAP_SYMBOL, type ICreateProxyingResolverOptions, type ICreateRequest, type IDelegateRequestOptions, type IDelegateToSchemaOptions, type MergedFieldConfig, type MergedTypeConfig, type MergedTypeEntryPoint, type MergedTypeInfo, type MergedTypeResolver, type MergedTypeResolverOptions, OBJECT_SUBSCHEMA_SYMBOL, type OverrideHandler, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getTypeInfo, getTypeInfoWithType, getUnpathedErrors, handleOverrideByDelegation, handleResolverResult, isExternalObject, isPrototypePollutingKey, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
238
+ export { type BatchingOptions, type CreateProxyingResolverFn, type Deferred, type DelegationContext, type DelegationPlanBuilder, type DelegationPlanLeftOver, EMPTY_ARRAY, EMPTY_OBJECT, type ExternalObject, FIELD_SUBSCHEMA_MAP_SYMBOL, type ICreateProxyingResolverOptions, type ICreateRequest, type IDelegateRequestOptions, type IDelegateToSchemaOptions, type MergedFieldConfig, type MergedTypeConfig, type MergedTypeEntryPoint, type MergedTypeInfo, type MergedTypeResolver, type MergedTypeResolverOptions, OBJECT_SUBSCHEMA_SYMBOL, type OverrideHandler, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getTypeInfo, getTypeInfoWithType, getUnpathedErrors, handleResolverResult, isExternalObject, isPrototypePollutingKey, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { memoize2, memoize1, collectFields, relocatedError, mergeDeep, promiseReduce, pathToArray, getResponseKeyFromInfo, memoize3, getDefinedRootType, createGraphQLError, implementsAbstractType, getRootTypeNames, astFromArg, astFromValueUntyped, asArray, isAsyncIterable, getOperationASTFromRequest } from '@graphql-tools/utils';
1
+ import { memoize2, memoize1, collectFields, relocatedError, mergeDeep, promiseReduce, pathToArray, getResponseKeyFromInfo, getDefinedRootType, createGraphQLError, implementsAbstractType, getRootTypeNames, astFromArg, astFromValueUntyped, asArray, isAsyncIterable, getOperationASTFromRequest } from '@graphql-tools/utils';
2
2
  export { createDeferred } from '@graphql-tools/utils';
3
3
  import { GraphQLError, locatedError, isAbstractType, getNullableType, isLeafType, isCompositeType, isListType, responsePathAsArray, Kind, TypeInfo, versionInfo, visit, visitWithTypeInfo, isNullableType, isUnionType, getNamedType, isObjectType, isInterfaceType, isNonNullType, isInputObjectType, defaultFieldResolver, isSchema, validate } from 'graphql';
4
4
  import { handleMaybePromise, isPromise, createDeferredPromise, mapAsyncIterator } from '@whatwg-node/promise-helpers';
@@ -584,12 +584,6 @@ const getTypeInfoWithType = memoize2(function getTypeInfoWithType2(schema, type)
584
584
  return versionInfo.major < 16 ? new TypeInfo(schema, void 0, type) : new TypeInfo(schema, type);
585
585
  });
586
586
 
587
- const handleOverrideByDelegation = memoize3(
588
- function handleOverrideByDelegation2(info, context, overrideHandler) {
589
- return overrideHandler(context, info);
590
- }
591
- );
592
-
593
587
  function finalizeGatewayDocument(targetSchema, fragments, operations, onOverlappingAliases, delegationContext) {
594
588
  let usedVariables = [];
595
589
  let usedFragments = [];
@@ -896,10 +890,9 @@ function filterSelectionSet(schema, typeInfo, validFragments, selectionSet, onOv
896
890
  const parentTypeName = parentType.name;
897
891
  const overrideHandler = delegationContext.subschemaConfig?.merge?.[parentTypeName]?.fields?.[field.name]?.override;
898
892
  if (overrideHandler != null) {
899
- const overridden = handleOverrideByDelegation(
900
- delegationContext.info,
893
+ const overridden = overrideHandler(
901
894
  delegationContext.context,
902
- overrideHandler
895
+ delegationContext.info
903
896
  );
904
897
  if (!overridden) {
905
898
  return null;
@@ -2885,4 +2878,4 @@ function subtractSelectionSets(selectionSetA, selectionSetB) {
2885
2878
  };
2886
2879
  }
2887
2880
 
2888
- export { EMPTY_ARRAY, EMPTY_OBJECT, FIELD_SUBSCHEMA_MAP_SYMBOL, OBJECT_SUBSCHEMA_SYMBOL, PLAN_LEFT_OVER, Subschema, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getTypeInfo, getTypeInfoWithType, getUnpathedErrors, handleOverrideByDelegation, handleResolverResult, isExternalObject, isPrototypePollutingKey, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
2881
+ export { EMPTY_ARRAY, EMPTY_OBJECT, FIELD_SUBSCHEMA_MAP_SYMBOL, OBJECT_SUBSCHEMA_SYMBOL, PLAN_LEFT_OVER, Subschema, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getTypeInfo, getTypeInfoWithType, getUnpathedErrors, handleResolverResult, isExternalObject, isPrototypePollutingKey, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-tools/delegate",
3
- "version": "12.0.5",
3
+ "version": "12.0.6-alpha-1cce5edf33eefe10f69c3b55d80f1f6ceefe5aa3",
4
4
  "type": "module",
5
5
  "description": "A set of utils for faster development of GraphQL tools",
6
6
  "repository": {