@graphql-tools/delegate 7.0.11-alpha-3e5e5d87.0 → 7.1.2
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/Subschema.d.ts +9 -8
- package/delegateToSchema.d.ts +2 -2
- package/es5/Subschema.d.ts +9 -8
- package/es5/delegateToSchema.d.ts +2 -2
- package/es5/getFieldsNotInSubschema.d.ts +1 -1
- package/es5/index.cjs.js +12 -9
- package/es5/index.cjs.js.map +1 -1
- package/es5/index.d.ts +1 -0
- package/es5/index.esm.js +13 -10
- package/es5/index.esm.js.map +1 -1
- package/es5/package.json +5 -5
- package/es5/types.d.ts +28 -36
- package/getFieldsNotInSubschema.d.ts +1 -1
- package/index.cjs.js +6 -3
- package/index.cjs.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.esm.js +6 -3
- package/index.esm.js.map +1 -1
- package/package.json +5 -5
- package/types.d.ts +28 -36
package/es5/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-tools/delegate/es5",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.2",
|
|
4
4
|
"description": "A set of utils for faster development of GraphQL tools",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@ardatan/aggregate-error": "0.0.6",
|
|
11
|
-
"@graphql-tools/batch-execute": "7.
|
|
12
|
-
"@graphql-tools/schema": "7.
|
|
13
|
-
"@graphql-tools/utils": "7.
|
|
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
|
-
"tslib": "~2.
|
|
16
|
+
"tslib": "~2.2.0"
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
package/es5/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { GraphQLSchema, GraphQLOutputType, SelectionSetNode, FieldNode,
|
|
1
|
+
import { GraphQLSchema, GraphQLOutputType, SelectionSetNode, FieldNode, GraphQLResolveInfo, GraphQLFieldResolver, FragmentDefinitionNode, GraphQLObjectType, VariableDefinitionNode, OperationTypeNode, GraphQLError } from 'graphql';
|
|
2
2
|
import DataLoader from 'dataloader';
|
|
3
|
-
import { Request,
|
|
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,50 +79,42 @@ 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
|
|
85
|
-
|
|
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,
|
|
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
|
|
118
|
-
|
|
106
|
+
export interface MergedTypeConfig<K = any, V = any, TContext = Record<string, any>> extends MergedTypeEntryPoint<K, V, TContext> {
|
|
107
|
+
entryPoints?: Array<MergedTypeEntryPoint>;
|
|
119
108
|
fields?: Record<string, MergedFieldConfig>;
|
|
120
109
|
computedFields?: Record<string, {
|
|
121
110
|
selectionSet?: string;
|
|
122
111
|
}>;
|
|
123
|
-
key?: (originalResult: any) => K;
|
|
124
112
|
canonical?: boolean;
|
|
125
|
-
|
|
113
|
+
}
|
|
114
|
+
export interface MergedTypeEntryPoint<K = any, V = any, TContext = Record<string, any>> extends MergedTypeResolverOptions<K, V> {
|
|
115
|
+
selectionSet?: string;
|
|
116
|
+
key?: (originalResult: any) => K;
|
|
117
|
+
resolve?: MergedTypeResolver<TContext>;
|
|
126
118
|
}
|
|
127
119
|
export interface MergedTypeResolverOptions<K = any, V = any> {
|
|
128
120
|
fieldName?: string;
|
|
@@ -135,17 +127,17 @@ export interface MergedFieldConfig {
|
|
|
135
127
|
computed?: boolean;
|
|
136
128
|
canonical?: boolean;
|
|
137
129
|
}
|
|
138
|
-
export declare type MergedTypeResolver = (originalResult: any, context:
|
|
139
|
-
export interface StitchingInfo {
|
|
140
|
-
subschemaMap: Map<GraphQLSchema | SubschemaConfig, Subschema
|
|
130
|
+
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;
|
|
131
|
+
export interface StitchingInfo<TContext = Record<string, any>> {
|
|
132
|
+
subschemaMap: Map<GraphQLSchema | SubschemaConfig<any, any, any, TContext>, Subschema<any, any, any, TContext>>;
|
|
141
133
|
selectionSetsByType: Record<string, SelectionSetNode>;
|
|
142
134
|
selectionSetsByField: Record<string, Record<string, SelectionSetNode>>;
|
|
143
135
|
dynamicSelectionSetsByField: Record<string, Record<string, Array<(node: FieldNode) => SelectionSetNode>>>;
|
|
144
|
-
mergedTypes: Record<string, MergedTypeInfo
|
|
136
|
+
mergedTypes: Record<string, MergedTypeInfo<TContext>>;
|
|
145
137
|
}
|
|
146
|
-
export interface ExternalObject {
|
|
138
|
+
export interface ExternalObject<TContext = Record<string, any>> {
|
|
147
139
|
key: any;
|
|
148
|
-
[OBJECT_SUBSCHEMA_SYMBOL]: GraphQLSchema | SubschemaConfig
|
|
149
|
-
[FIELD_SUBSCHEMA_MAP_SYMBOL]: Record<string, GraphQLSchema | SubschemaConfig
|
|
140
|
+
[OBJECT_SUBSCHEMA_SYMBOL]: GraphQLSchema | SubschemaConfig<any, any, any, TContext>;
|
|
141
|
+
[FIELD_SUBSCHEMA_MAP_SYMBOL]: Record<string, GraphQLSchema | SubschemaConfig<any, any, any, TContext>>;
|
|
150
142
|
[UNPATHED_ERRORS_SYMBOL]: Array<GraphQLError>;
|
|
151
143
|
}
|
|
@@ -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
|
|
3
|
+
export declare const getFieldsNotInSubschema: (A1: GraphQLResolveInfo, A2: GraphQLSchema | SubschemaConfig<any, any, any, Record<string, any>>, A3: MergedTypeInfo<Record<string, any>>) => FieldNode[];
|
package/index.cjs.js
CHANGED
|
@@ -236,9 +236,12 @@ function cloneSubschemaConfig(subschemaConfig) {
|
|
|
236
236
|
if (newSubschemaConfig.merge != null) {
|
|
237
237
|
newSubschemaConfig.merge = { ...subschemaConfig.merge };
|
|
238
238
|
Object.keys(newSubschemaConfig.merge).forEach(typeName => {
|
|
239
|
-
newSubschemaConfig.merge[typeName] = { ...subschemaConfig.merge[typeName] };
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
const mergedTypeConfig = (newSubschemaConfig.merge[typeName] = { ...subschemaConfig.merge[typeName] });
|
|
240
|
+
if (mergedTypeConfig.entryPoints != null) {
|
|
241
|
+
mergedTypeConfig.entryPoints = mergedTypeConfig.entryPoints.map(entryPoint => ({ ...entryPoint }));
|
|
242
|
+
}
|
|
243
|
+
if (mergedTypeConfig.fields != null) {
|
|
244
|
+
const fields = (mergedTypeConfig.fields = { ...mergedTypeConfig.fields });
|
|
242
245
|
Object.keys(fields).forEach(fieldName => {
|
|
243
246
|
fields[fieldName] = { ...fields[fieldName] };
|
|
244
247
|
});
|