@graphql-tools/delegate 7.0.11-alpha-2575037f.0 → 7.1.1

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/es5/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-tools/delegate/es5",
3
- "version": "7.0.11-alpha-2575037f.0",
3
+ "version": "7.1.1",
4
4
  "description": "A set of utils for faster development of GraphQL tools",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
@@ -8,9 +8,9 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@ardatan/aggregate-error": "0.0.6",
11
- "@graphql-tools/batch-execute": "7.0.1-alpha-2575037f.0",
12
- "@graphql-tools/schema": "7.1.4-alpha-2575037f.0",
13
- "@graphql-tools/utils": "7.4.0-alpha-2575037f.0",
11
+ "@graphql-tools/batch-execute": "^7.1.0",
12
+ "@graphql-tools/schema": "^7.0.0",
13
+ "@graphql-tools/utils": "^7.7.1",
14
14
  "dataloader": "2.0.0",
15
15
  "is-promise": "4.0.0",
16
16
  "tslib": "~2.1.0"
package/es5/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { GraphQLSchema, GraphQLOutputType, SelectionSetNode, FieldNode, DocumentNode, GraphQLResolveInfo, GraphQLFieldResolver, FragmentDefinitionNode, GraphQLObjectType, VariableDefinitionNode, OperationTypeNode, GraphQLError } from 'graphql';
1
+ import { GraphQLSchema, GraphQLOutputType, SelectionSetNode, FieldNode, GraphQLResolveInfo, GraphQLFieldResolver, FragmentDefinitionNode, GraphQLObjectType, VariableDefinitionNode, OperationTypeNode, GraphQLError } from 'graphql';
2
2
  import DataLoader from 'dataloader';
3
- import { Request, TypeMap, ExecutionResult } from '@graphql-tools/utils';
3
+ import { ExecutionParams, ExecutionResult, Executor, Request, Subscriber, TypeMap } from '@graphql-tools/utils';
4
4
  import { Subschema } from './Subschema';
5
5
  import { OBJECT_SUBSCHEMA_SYMBOL, FIELD_SUBSCHEMA_MAP_SYMBOL, UNPATHED_ERRORS_SYMBOL } from './symbols';
6
6
  export declare type SchemaTransform = (originalWrappingSchema: GraphQLSchema, subschemaConfig: SubschemaConfig, transformedSchema?: GraphQLSchema) => GraphQLSchema;
@@ -27,7 +27,7 @@ export interface DelegationContext {
27
27
  }
28
28
  export declare type DelegationBinding = (delegationContext: DelegationContext) => Array<Transform>;
29
29
  export interface IDelegateToSchemaOptions<TContext = Record<string, any>, TArgs = Record<string, any>> {
30
- schema: GraphQLSchema | SubschemaConfig;
30
+ schema: GraphQLSchema | SubschemaConfig<any, any, any, TContext>;
31
31
  operationName?: string;
32
32
  operation?: OperationTypeNode;
33
33
  fieldName?: string;
@@ -45,7 +45,7 @@ export interface IDelegateToSchemaOptions<TContext = Record<string, any>, TArgs
45
45
  skipTypeMerging?: boolean;
46
46
  binding?: DelegationBinding;
47
47
  }
48
- export interface IDelegateRequestOptions extends Omit<IDelegateToSchemaOptions, 'info'> {
48
+ export interface IDelegateRequestOptions<TContext = Record<string, any>, TArgs = Record<string, any>> extends Omit<IDelegateToSchemaOptions<TContext, TArgs>, 'info'> {
49
49
  request: Request;
50
50
  info?: GraphQLResolveInfo;
51
51
  }
@@ -70,7 +70,7 @@ export interface ICreateRequest {
70
70
  selectionSet?: SelectionSetNode;
71
71
  fieldNodes?: ReadonlyArray<FieldNode>;
72
72
  }
73
- export interface MergedTypeInfo {
73
+ export interface MergedTypeInfo<TContext = Record<string, any>> {
74
74
  typeName: string;
75
75
  selectionSet?: SelectionSetNode;
76
76
  targetSubschemas: Map<Subschema, Array<Subschema>>;
@@ -79,42 +79,31 @@ export interface MergedTypeInfo {
79
79
  typeMaps: Map<GraphQLSchema | SubschemaConfig, TypeMap>;
80
80
  selectionSets: Map<Subschema, SelectionSetNode>;
81
81
  fieldSelectionSets: Map<Subschema, Record<string, SelectionSetNode>>;
82
- resolvers: Map<Subschema, MergedTypeResolver>;
82
+ resolvers: Map<Subschema, MergedTypeResolver<TContext>>;
83
83
  }
84
- export interface ExecutionParams<TArgs = Record<string, any>, TContext = any> {
85
- document: DocumentNode;
86
- variables?: TArgs;
87
- extensions?: Record<string, any>;
88
- context?: TContext;
89
- info?: GraphQLResolveInfo;
90
- }
91
- export declare type AsyncExecutor = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => Promise<ExecutionResult<TReturn>>;
92
- export declare type SyncExecutor = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => ExecutionResult<TReturn>;
93
- export declare type Executor = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => ExecutionResult<TReturn> | Promise<ExecutionResult<TReturn>>;
94
- export declare type Subscriber = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => Promise<AsyncIterator<ExecutionResult<TReturn>> | ExecutionResult<TReturn>>;
95
- export interface ICreateProxyingResolverOptions {
96
- subschemaConfig: SubschemaConfig;
84
+ export interface ICreateProxyingResolverOptions<TContext = Record<string, any>> {
85
+ subschemaConfig: SubschemaConfig<any, any, any, TContext>;
97
86
  transformedSchema?: GraphQLSchema;
98
87
  operation?: OperationTypeNode;
99
88
  fieldName?: string;
100
89
  }
101
- export declare type CreateProxyingResolverFn = (options: ICreateProxyingResolverOptions) => GraphQLFieldResolver<any, any>;
90
+ export declare type CreateProxyingResolverFn<TContext = Record<string, any>> = (options: ICreateProxyingResolverOptions<TContext>) => GraphQLFieldResolver<any, TContext>;
102
91
  export interface BatchingOptions<K = any, V = any, C = K> {
103
92
  extensionsReducer?: (mergedExtensions: Record<string, any>, executionParams: ExecutionParams) => Record<string, any>;
104
93
  dataLoaderOptions?: DataLoader.Options<K, V, C>;
105
94
  }
106
- export interface SubschemaConfig<K = any, V = any, C = K> {
95
+ export interface SubschemaConfig<K = any, V = any, C = K, TContext = Record<string, any>> {
107
96
  schema: GraphQLSchema;
108
- createProxyingResolver?: CreateProxyingResolverFn;
97
+ createProxyingResolver?: CreateProxyingResolverFn<TContext>;
109
98
  transforms?: Array<Transform>;
110
- merge?: Record<string, MergedTypeConfig>;
99
+ merge?: Record<string, MergedTypeConfig<any, any, TContext>>;
111
100
  rootValue?: Record<string, any>;
112
- executor?: Executor;
113
- subscriber?: Subscriber;
101
+ executor?: Executor<TContext>;
102
+ subscriber?: Subscriber<TContext>;
114
103
  batch?: boolean;
115
104
  batchingOptions?: BatchingOptions<K, V, C>;
116
105
  }
117
- export interface MergedTypeConfig<K = any, V = any> extends MergedTypeResolverOptions<K, V> {
106
+ export interface MergedTypeConfig<K = any, V = any, TContext = Record<string, any>> extends MergedTypeResolverOptions<K, V> {
118
107
  selectionSet?: string;
119
108
  fields?: Record<string, MergedFieldConfig>;
120
109
  computedFields?: Record<string, {
@@ -122,7 +111,7 @@ export interface MergedTypeConfig<K = any, V = any> extends MergedTypeResolverOp
122
111
  }>;
123
112
  key?: (originalResult: any) => K;
124
113
  canonical?: boolean;
125
- resolve?: MergedTypeResolver;
114
+ resolve?: MergedTypeResolver<TContext>;
126
115
  }
127
116
  export interface MergedTypeResolverOptions<K = any, V = any> {
128
117
  fieldName?: string;
@@ -135,17 +124,17 @@ export interface MergedFieldConfig {
135
124
  computed?: boolean;
136
125
  canonical?: boolean;
137
126
  }
138
- export declare type MergedTypeResolver = (originalResult: any, context: Record<string, any>, info: GraphQLResolveInfo, subschema: GraphQLSchema | SubschemaConfig, selectionSet: SelectionSetNode, key?: any) => any;
139
- export interface StitchingInfo {
140
- subschemaMap: Map<GraphQLSchema | SubschemaConfig, Subschema>;
127
+ export declare type MergedTypeResolver<TContext = Record<string, any>> = (originalResult: any, context: TContext, info: GraphQLResolveInfo, subschema: GraphQLSchema | SubschemaConfig<any, any, any, TContext>, selectionSet: SelectionSetNode, key?: any) => any;
128
+ export interface StitchingInfo<TContext = Record<string, any>> {
129
+ subschemaMap: Map<GraphQLSchema | SubschemaConfig<any, any, any, TContext>, Subschema<any, any, any, TContext>>;
141
130
  selectionSetsByType: Record<string, SelectionSetNode>;
142
131
  selectionSetsByField: Record<string, Record<string, SelectionSetNode>>;
143
132
  dynamicSelectionSetsByField: Record<string, Record<string, Array<(node: FieldNode) => SelectionSetNode>>>;
144
- mergedTypes: Record<string, MergedTypeInfo>;
133
+ mergedTypes: Record<string, MergedTypeInfo<TContext>>;
145
134
  }
146
- export interface ExternalObject {
135
+ export interface ExternalObject<TContext = Record<string, any>> {
147
136
  key: any;
148
- [OBJECT_SUBSCHEMA_SYMBOL]: GraphQLSchema | SubschemaConfig;
149
- [FIELD_SUBSCHEMA_MAP_SYMBOL]: Record<string, GraphQLSchema | SubschemaConfig>;
137
+ [OBJECT_SUBSCHEMA_SYMBOL]: GraphQLSchema | SubschemaConfig<any, any, any, TContext>;
138
+ [FIELD_SUBSCHEMA_MAP_SYMBOL]: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, TContext>>;
150
139
  [UNPATHED_ERRORS_SYMBOL]: Array<GraphQLError>;
151
140
  }
@@ -1,3 +1,3 @@
1
1
  import { GraphQLSchema, FieldNode, GraphQLResolveInfo } from 'graphql';
2
2
  import { MergedTypeInfo, SubschemaConfig } from './types';
3
- export declare const getFieldsNotInSubschema: (A1: GraphQLResolveInfo, A2: GraphQLSchema | SubschemaConfig<any, any, any>, A3: MergedTypeInfo) => FieldNode[];
3
+ export declare const getFieldsNotInSubschema: (A1: GraphQLResolveInfo, A2: GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>, A3: MergedTypeInfo<Record<string, any>>) => FieldNode[];
package/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from './resolveExternalValue';
9
9
  export * from './subschemaConfig';
10
10
  export * from './transforms';
11
11
  export * from './types';
12
+ export { Executor, Subscriber, AsyncExecutor, SyncExecutor, ExecutionParams } from '@graphql-tools/utils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-tools/delegate",
3
- "version": "7.0.11-alpha-2575037f.0",
3
+ "version": "7.1.1",
4
4
  "description": "A set of utils for faster development of GraphQL tools",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
@@ -8,9 +8,9 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@ardatan/aggregate-error": "0.0.6",
11
- "@graphql-tools/batch-execute": "7.0.1-alpha-2575037f.0",
12
- "@graphql-tools/schema": "7.1.4-alpha-2575037f.0",
13
- "@graphql-tools/utils": "7.4.0-alpha-2575037f.0",
11
+ "@graphql-tools/batch-execute": "^7.1.0",
12
+ "@graphql-tools/schema": "^7.0.0",
13
+ "@graphql-tools/utils": "^7.7.1",
14
14
  "dataloader": "2.0.0",
15
15
  "is-promise": "4.0.0",
16
16
  "tslib": "~2.1.0"
package/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { GraphQLSchema, GraphQLOutputType, SelectionSetNode, FieldNode, DocumentNode, GraphQLResolveInfo, GraphQLFieldResolver, FragmentDefinitionNode, GraphQLObjectType, VariableDefinitionNode, OperationTypeNode, GraphQLError } from 'graphql';
1
+ import { GraphQLSchema, GraphQLOutputType, SelectionSetNode, FieldNode, GraphQLResolveInfo, GraphQLFieldResolver, FragmentDefinitionNode, GraphQLObjectType, VariableDefinitionNode, OperationTypeNode, GraphQLError } from 'graphql';
2
2
  import DataLoader from 'dataloader';
3
- import { Request, TypeMap, ExecutionResult } from '@graphql-tools/utils';
3
+ import { ExecutionParams, ExecutionResult, Executor, Request, Subscriber, TypeMap } from '@graphql-tools/utils';
4
4
  import { Subschema } from './Subschema';
5
5
  import { OBJECT_SUBSCHEMA_SYMBOL, FIELD_SUBSCHEMA_MAP_SYMBOL, UNPATHED_ERRORS_SYMBOL } from './symbols';
6
6
  export declare type SchemaTransform = (originalWrappingSchema: GraphQLSchema, subschemaConfig: SubschemaConfig, transformedSchema?: GraphQLSchema) => GraphQLSchema;
@@ -27,7 +27,7 @@ export interface DelegationContext {
27
27
  }
28
28
  export declare type DelegationBinding = (delegationContext: DelegationContext) => Array<Transform>;
29
29
  export interface IDelegateToSchemaOptions<TContext = Record<string, any>, TArgs = Record<string, any>> {
30
- schema: GraphQLSchema | SubschemaConfig;
30
+ schema: GraphQLSchema | SubschemaConfig<any, any, any, TContext>;
31
31
  operationName?: string;
32
32
  operation?: OperationTypeNode;
33
33
  fieldName?: string;
@@ -45,7 +45,7 @@ export interface IDelegateToSchemaOptions<TContext = Record<string, any>, TArgs
45
45
  skipTypeMerging?: boolean;
46
46
  binding?: DelegationBinding;
47
47
  }
48
- export interface IDelegateRequestOptions extends Omit<IDelegateToSchemaOptions, 'info'> {
48
+ export interface IDelegateRequestOptions<TContext = Record<string, any>, TArgs = Record<string, any>> extends Omit<IDelegateToSchemaOptions<TContext, TArgs>, 'info'> {
49
49
  request: Request;
50
50
  info?: GraphQLResolveInfo;
51
51
  }
@@ -70,7 +70,7 @@ export interface ICreateRequest {
70
70
  selectionSet?: SelectionSetNode;
71
71
  fieldNodes?: ReadonlyArray<FieldNode>;
72
72
  }
73
- export interface MergedTypeInfo {
73
+ export interface MergedTypeInfo<TContext = Record<string, any>> {
74
74
  typeName: string;
75
75
  selectionSet?: SelectionSetNode;
76
76
  targetSubschemas: Map<Subschema, Array<Subschema>>;
@@ -79,42 +79,31 @@ export interface MergedTypeInfo {
79
79
  typeMaps: Map<GraphQLSchema | SubschemaConfig, TypeMap>;
80
80
  selectionSets: Map<Subschema, SelectionSetNode>;
81
81
  fieldSelectionSets: Map<Subschema, Record<string, SelectionSetNode>>;
82
- resolvers: Map<Subschema, MergedTypeResolver>;
82
+ resolvers: Map<Subschema, MergedTypeResolver<TContext>>;
83
83
  }
84
- export interface ExecutionParams<TArgs = Record<string, any>, TContext = any> {
85
- document: DocumentNode;
86
- variables?: TArgs;
87
- extensions?: Record<string, any>;
88
- context?: TContext;
89
- info?: GraphQLResolveInfo;
90
- }
91
- export declare type AsyncExecutor = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => Promise<ExecutionResult<TReturn>>;
92
- export declare type SyncExecutor = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => ExecutionResult<TReturn>;
93
- export declare type Executor = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => ExecutionResult<TReturn> | Promise<ExecutionResult<TReturn>>;
94
- export declare type Subscriber = <TReturn = Record<string, any>, TArgs = Record<string, any>, TContext = Record<string, any>>(params: ExecutionParams<TArgs, TContext>) => Promise<AsyncIterator<ExecutionResult<TReturn>> | ExecutionResult<TReturn>>;
95
- export interface ICreateProxyingResolverOptions {
96
- subschemaConfig: SubschemaConfig;
84
+ export interface ICreateProxyingResolverOptions<TContext = Record<string, any>> {
85
+ subschemaConfig: SubschemaConfig<any, any, any, TContext>;
97
86
  transformedSchema?: GraphQLSchema;
98
87
  operation?: OperationTypeNode;
99
88
  fieldName?: string;
100
89
  }
101
- export declare type CreateProxyingResolverFn = (options: ICreateProxyingResolverOptions) => GraphQLFieldResolver<any, any>;
90
+ export declare type CreateProxyingResolverFn<TContext = Record<string, any>> = (options: ICreateProxyingResolverOptions<TContext>) => GraphQLFieldResolver<any, TContext>;
102
91
  export interface BatchingOptions<K = any, V = any, C = K> {
103
92
  extensionsReducer?: (mergedExtensions: Record<string, any>, executionParams: ExecutionParams) => Record<string, any>;
104
93
  dataLoaderOptions?: DataLoader.Options<K, V, C>;
105
94
  }
106
- export interface SubschemaConfig<K = any, V = any, C = K> {
95
+ export interface SubschemaConfig<K = any, V = any, C = K, TContext = Record<string, any>> {
107
96
  schema: GraphQLSchema;
108
- createProxyingResolver?: CreateProxyingResolverFn;
97
+ createProxyingResolver?: CreateProxyingResolverFn<TContext>;
109
98
  transforms?: Array<Transform>;
110
- merge?: Record<string, MergedTypeConfig>;
99
+ merge?: Record<string, MergedTypeConfig<any, any, TContext>>;
111
100
  rootValue?: Record<string, any>;
112
- executor?: Executor;
113
- subscriber?: Subscriber;
101
+ executor?: Executor<TContext>;
102
+ subscriber?: Subscriber<TContext>;
114
103
  batch?: boolean;
115
104
  batchingOptions?: BatchingOptions<K, V, C>;
116
105
  }
117
- export interface MergedTypeConfig<K = any, V = any> extends MergedTypeResolverOptions<K, V> {
106
+ export interface MergedTypeConfig<K = any, V = any, TContext = Record<string, any>> extends MergedTypeResolverOptions<K, V> {
118
107
  selectionSet?: string;
119
108
  fields?: Record<string, MergedFieldConfig>;
120
109
  computedFields?: Record<string, {
@@ -122,7 +111,7 @@ export interface MergedTypeConfig<K = any, V = any> extends MergedTypeResolverOp
122
111
  }>;
123
112
  key?: (originalResult: any) => K;
124
113
  canonical?: boolean;
125
- resolve?: MergedTypeResolver;
114
+ resolve?: MergedTypeResolver<TContext>;
126
115
  }
127
116
  export interface MergedTypeResolverOptions<K = any, V = any> {
128
117
  fieldName?: string;
@@ -135,17 +124,17 @@ export interface MergedFieldConfig {
135
124
  computed?: boolean;
136
125
  canonical?: boolean;
137
126
  }
138
- export declare type MergedTypeResolver = (originalResult: any, context: Record<string, any>, info: GraphQLResolveInfo, subschema: GraphQLSchema | SubschemaConfig, selectionSet: SelectionSetNode, key?: any) => any;
139
- export interface StitchingInfo {
140
- subschemaMap: Map<GraphQLSchema | SubschemaConfig, Subschema>;
127
+ export declare type MergedTypeResolver<TContext = Record<string, any>> = (originalResult: any, context: TContext, info: GraphQLResolveInfo, subschema: GraphQLSchema | SubschemaConfig<any, any, any, TContext>, selectionSet: SelectionSetNode, key?: any) => any;
128
+ export interface StitchingInfo<TContext = Record<string, any>> {
129
+ subschemaMap: Map<GraphQLSchema | SubschemaConfig<any, any, any, TContext>, Subschema<any, any, any, TContext>>;
141
130
  selectionSetsByType: Record<string, SelectionSetNode>;
142
131
  selectionSetsByField: Record<string, Record<string, SelectionSetNode>>;
143
132
  dynamicSelectionSetsByField: Record<string, Record<string, Array<(node: FieldNode) => SelectionSetNode>>>;
144
- mergedTypes: Record<string, MergedTypeInfo>;
133
+ mergedTypes: Record<string, MergedTypeInfo<TContext>>;
145
134
  }
146
- export interface ExternalObject {
135
+ export interface ExternalObject<TContext = Record<string, any>> {
147
136
  key: any;
148
- [OBJECT_SUBSCHEMA_SYMBOL]: GraphQLSchema | SubschemaConfig;
149
- [FIELD_SUBSCHEMA_MAP_SYMBOL]: Record<string, GraphQLSchema | SubschemaConfig>;
137
+ [OBJECT_SUBSCHEMA_SYMBOL]: GraphQLSchema | SubschemaConfig<any, any, any, TContext>;
138
+ [FIELD_SUBSCHEMA_MAP_SYMBOL]: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, TContext>>;
150
139
  [UNPATHED_ERRORS_SYMBOL]: Array<GraphQLError>;
151
140
  }