@graphql-tools/delegate 10.2.1 → 10.2.2-alpha-9a7e474e0889bfa3b027934ebd5fb1c2454da1ff

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,11 @@
1
1
  # @graphql-tools/delegate
2
2
 
3
+ ## 10.2.2-alpha-9a7e474e0889bfa3b027934ebd5fb1c2454da1ff
4
+
5
+ ### Patch Changes
6
+
7
+ - [#205](https://github.com/graphql-hive/gateway/pull/205) [`d60c21b`](https://github.com/graphql-hive/gateway/commit/d60c21bf0d211be52d4d740fedd18fca8a492edd) Thanks [@ardatan](https://github.com/ardatan)! - Fix missing key fields in the nested queries
8
+
3
9
  ## 10.2.1
4
10
 
5
11
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -1962,11 +1962,13 @@ function handleFlattenedParent(flattenedParent, leftOverParent, possibleSubschem
1962
1962
  const delegationPlan = stitchingInfo.mergedTypes[nestedTypeName]?.delegationPlanBuilder(
1963
1963
  info.schema,
1964
1964
  sourceSubschema,
1965
- info.variableValues,
1966
- info.fragments,
1967
- [fieldNode]
1965
+ info.variableValues != null && Object.keys(info.variableValues).length > 0 ? info.variableValues : EMPTY_OBJECT,
1966
+ info.fragments != null && Object.keys(info.fragments).length > 0 ? info.fragments : EMPTY_OBJECT,
1967
+ memoizedAsArray(fieldNode),
1968
+ context,
1969
+ info
1968
1970
  );
1969
- if (delegationPlan) {
1971
+ if (delegationPlan?.length) {
1970
1972
  for (const delegationMap of delegationPlan) {
1971
1973
  for (const [subschema, selectionSet2] of delegationMap) {
1972
1974
  const resolver = stitchingInfo.mergedTypes[nestedTypeName]?.resolvers.get(subschema);
@@ -2157,6 +2159,7 @@ function flattenPromise(data) {
2157
2159
  }
2158
2160
  return data;
2159
2161
  }
2162
+ const memoizedAsArray = utils.memoize1(utils.asArray);
2160
2163
 
2161
2164
  function isSubschemaConfig(value) {
2162
2165
  return Boolean(value?.schema);
@@ -2585,6 +2588,8 @@ Object.defineProperty(exports, "createDeferred", {
2585
2588
  enumerable: true,
2586
2589
  get: function () { return utils.createDeferred; }
2587
2590
  });
2591
+ exports.EMPTY_ARRAY = EMPTY_ARRAY;
2592
+ exports.EMPTY_OBJECT = EMPTY_OBJECT;
2588
2593
  exports.FIELD_SUBSCHEMA_MAP_SYMBOL = FIELD_SUBSCHEMA_MAP_SYMBOL;
2589
2594
  exports.OBJECT_SUBSCHEMA_SYMBOL = OBJECT_SUBSCHEMA_SYMBOL;
2590
2595
  exports.PLAN_LEFT_OVER = PLAN_LEFT_OVER;
package/dist/index.d.cts CHANGED
@@ -193,6 +193,8 @@ declare function isExternalObject(data: any): data is ExternalObject;
193
193
  declare function annotateExternalObject<TContext>(object: any, errors: Array<GraphQLError>, subschema: GraphQLSchema | SubschemaConfig<any, any, any, TContext> | undefined, subschemaMap: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>>): ExternalObject;
194
194
  declare function getSubschema(object: ExternalObject, responseKey: string): GraphQLSchema | SubschemaConfig;
195
195
  declare function getUnpathedErrors(object: ExternalObject): Array<GraphQLError>;
196
+ declare const EMPTY_ARRAY: any[];
197
+ declare const EMPTY_OBJECT: any;
196
198
  declare const getActualFieldNodes: (fieldNode: FieldNode) => FieldNode[];
197
199
  declare function mergeFields<TContext>(mergedTypeInfo: MergedTypeInfo, object: any, sourceSubschema: Subschema<any, any, any, TContext>, context: any, info: GraphQLResolveInfo): MaybePromise<any>;
198
200
  declare function handleResolverResult(resolverResult: any, subschema: Subschema, selectionSet: SelectionSetNode, object: ExternalObject, combinedFieldSubschemaMap: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>>, info: GraphQLResolveInfo, path: Array<string | number>, combinedErrors: Array<GraphQLError>): void;
@@ -218,4 +220,4 @@ declare const leftOverByDelegationPlan: WeakMap<Map<Subschema<any, any, any, Rec
218
220
  declare const PLAN_LEFT_OVER: unique symbol;
219
221
  declare function getPlanLeftOverFromParent(parent: any): DelegationPlanLeftOver | undefined;
220
222
 
221
- export { type BatchingOptions, type CreateProxyingResolverFn, type Deferred, type DelegationContext, type DelegationPlanBuilder, type DelegationPlanLeftOver, 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, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createDefaultExecutor, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getUnpathedErrors, handleResolverResult, isExternalObject, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
223
+ 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, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createDefaultExecutor, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getUnpathedErrors, handleResolverResult, isExternalObject, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
package/dist/index.d.ts CHANGED
@@ -193,6 +193,8 @@ declare function isExternalObject(data: any): data is ExternalObject;
193
193
  declare function annotateExternalObject<TContext>(object: any, errors: Array<GraphQLError>, subschema: GraphQLSchema | SubschemaConfig<any, any, any, TContext> | undefined, subschemaMap: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>>): ExternalObject;
194
194
  declare function getSubschema(object: ExternalObject, responseKey: string): GraphQLSchema | SubschemaConfig;
195
195
  declare function getUnpathedErrors(object: ExternalObject): Array<GraphQLError>;
196
+ declare const EMPTY_ARRAY: any[];
197
+ declare const EMPTY_OBJECT: any;
196
198
  declare const getActualFieldNodes: (fieldNode: FieldNode) => FieldNode[];
197
199
  declare function mergeFields<TContext>(mergedTypeInfo: MergedTypeInfo, object: any, sourceSubschema: Subschema<any, any, any, TContext>, context: any, info: GraphQLResolveInfo): MaybePromise<any>;
198
200
  declare function handleResolverResult(resolverResult: any, subschema: Subschema, selectionSet: SelectionSetNode, object: ExternalObject, combinedFieldSubschemaMap: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>>, info: GraphQLResolveInfo, path: Array<string | number>, combinedErrors: Array<GraphQLError>): void;
@@ -218,4 +220,4 @@ declare const leftOverByDelegationPlan: WeakMap<Map<Subschema<any, any, any, Rec
218
220
  declare const PLAN_LEFT_OVER: unique symbol;
219
221
  declare function getPlanLeftOverFromParent(parent: any): DelegationPlanLeftOver | undefined;
220
222
 
221
- export { type BatchingOptions, type CreateProxyingResolverFn, type Deferred, type DelegationContext, type DelegationPlanBuilder, type DelegationPlanLeftOver, 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, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createDefaultExecutor, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getUnpathedErrors, handleResolverResult, isExternalObject, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
223
+ 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, PLAN_LEFT_OVER, type RequestTransform, type ResultTransform, type SchemaTransform, type StitchingInfo, Subschema, type SubschemaConfig, type Transform, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createDefaultExecutor, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getUnpathedErrors, handleResolverResult, isExternalObject, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { memoize2, memoize1, mapMaybePromise, collectFields, relocatedError, mergeDeep, pathToArray, isPromise, getResponseKeyFromInfo, getDefinedRootType, createVariableNameGenerator, updateArgument, serializeInputValue, createGraphQLError, implementsAbstractType, getRootTypeNames, createDeferred, isAsyncIterable, mapAsyncIterator, getOperationASTFromRequest, memoize4 } from '@graphql-tools/utils';
1
+ import { memoize2, memoize1, mapMaybePromise, collectFields, relocatedError, mergeDeep, pathToArray, isPromise, getResponseKeyFromInfo, getDefinedRootType, createVariableNameGenerator, updateArgument, serializeInputValue, createGraphQLError, implementsAbstractType, getRootTypeNames, createDeferred, asArray, isAsyncIterable, mapAsyncIterator, getOperationASTFromRequest, memoize4 } from '@graphql-tools/utils';
2
2
  export { createDeferred } from '@graphql-tools/utils';
3
3
  import { GraphQLError, locatedError, isAbstractType, getNullableType, isLeafType, isCompositeType, isListType, responsePathAsArray, Kind, versionInfo, TypeInfo, visit, visitWithTypeInfo, isObjectType, isInterfaceType, TypeNameMetaFieldDef, isUnionType, getNamedType, isNullableType, typeFromAST, defaultFieldResolver, validate } from 'graphql';
4
4
  import { CRITICAL_ERROR, normalizedExecutor } from '@graphql-tools/executor';
@@ -1961,11 +1961,13 @@ function handleFlattenedParent(flattenedParent, leftOverParent, possibleSubschem
1961
1961
  const delegationPlan = stitchingInfo.mergedTypes[nestedTypeName]?.delegationPlanBuilder(
1962
1962
  info.schema,
1963
1963
  sourceSubschema,
1964
- info.variableValues,
1965
- info.fragments,
1966
- [fieldNode]
1964
+ info.variableValues != null && Object.keys(info.variableValues).length > 0 ? info.variableValues : EMPTY_OBJECT,
1965
+ info.fragments != null && Object.keys(info.fragments).length > 0 ? info.fragments : EMPTY_OBJECT,
1966
+ memoizedAsArray(fieldNode),
1967
+ context,
1968
+ info
1967
1969
  );
1968
- if (delegationPlan) {
1970
+ if (delegationPlan?.length) {
1969
1971
  for (const delegationMap of delegationPlan) {
1970
1972
  for (const [subschema, selectionSet2] of delegationMap) {
1971
1973
  const resolver = stitchingInfo.mergedTypes[nestedTypeName]?.resolvers.get(subschema);
@@ -2156,6 +2158,7 @@ function flattenPromise(data) {
2156
2158
  }
2157
2159
  return data;
2158
2160
  }
2161
+ const memoizedAsArray = memoize1(asArray);
2159
2162
 
2160
2163
  function isSubschemaConfig(value) {
2161
2164
  return Boolean(value?.schema);
@@ -2580,4 +2583,4 @@ function subtractSelectionSets(selectionSetA, selectionSetB) {
2580
2583
  });
2581
2584
  }
2582
2585
 
2583
- export { FIELD_SUBSCHEMA_MAP_SYMBOL, OBJECT_SUBSCHEMA_SYMBOL, PLAN_LEFT_OVER, Subschema, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createDefaultExecutor, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getUnpathedErrors, handleResolverResult, isExternalObject, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
2586
+ export { EMPTY_ARRAY, EMPTY_OBJECT, FIELD_SUBSCHEMA_MAP_SYMBOL, OBJECT_SUBSCHEMA_SYMBOL, PLAN_LEFT_OVER, Subschema, Transformer, UNPATHED_ERRORS_SYMBOL, annotateExternalObject, applySchemaTransforms, cloneSubschemaConfig, createDefaultExecutor, createRequest, defaultMergedResolver, delegateRequest, delegateToSchema, extractUnavailableFields, extractUnavailableFieldsFromSelectionSet, getActualFieldNodes, getDelegatingOperation, getPlanLeftOverFromParent, getSubschema, getUnpathedErrors, handleResolverResult, isExternalObject, isSubschema, isSubschemaConfig, leftOverByDelegationPlan, mergeFields, resolveExternalValue, subtractSelectionSets };
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@graphql-tools/delegate",
3
- "version": "10.2.1",
3
+ "version": "10.2.2-alpha-9a7e474e0889bfa3b027934ebd5fb1c2454da1ff",
4
4
  "type": "module",
5
5
  "description": "A set of utils for faster development of GraphQL tools",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "graphql-hive/gateway",
8
+ "url": "git+https://github.com/graphql-hive/gateway.git",
9
9
  "directory": "packages/delegate"
10
10
  },
11
11
  "license": "MIT",