graphql-tools 2.22.0-alpha.0 → 2.24.0

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
@@ -2,6 +2,26 @@
2
2
 
3
3
  ### vNEXT
4
4
 
5
+ ### v2.24.0
6
+
7
+ * Allow `extend interface` definitions in merged schemas [PR #703](https://github.com/apollographql/graphql-tools/pull/703)
8
+ * Fix typo in `@deprecated` example in `schema-directives.md` [PR #706](https://github.com/apollographql/graphql-tools/pull/706)
9
+ * Fix timezone bug in test for `@date` directive [PR #686](https://github.com/apollographql/graphql-tools/pull/686)
10
+ * Expose `defaultMergedResolver` for schema stitching [PR #685](https://github.com/apollographql/graphql-tools/pull/685)
11
+ * Add `requireResolversForResolveType` to resolver validation options [PR #698](https://github.com/apollographql/graphql-tools/pull/698)
12
+ * Add `inheritResolversFromInterfaces` option to `makeExecutableSchema` and `addResolveFunctionsToSchema` [PR #720](https://github.com/apollographql/graphql-tools/pull/720)
13
+
14
+ ### v2.23.0
15
+
16
+ * The `SchemaDirectiveVisitor` abstraction for implementing reusable schema `@directive`s has landed. Read our [blog post](https://dev-blog.apollodata.com/reusable-graphql-schema-directives-131fb3a177d1) about this new functionality, and/or check out the [documentation](https://www.apollographql.com/docs/graphql-tools/schema-directives.html) for even more examples. [PR #640](https://github.com/apollographql/graphql-tools/pull/640)
17
+
18
+ ### v2.22.0
19
+
20
+ * When concatenating errors maintain a reference to the original for use downstream [Issue #480](https://github.com/apollographql/graphql-tools/issues/480) [PR #637](https://github.com/apollographql/graphql-tools/pull/637)
21
+ * Improve generic typings for several resolver-related interfaces [PR #662](https://github.com/apollographql/graphql-tools/pull/662)
22
+ * Remove copied apollo-link code [PR #670](https://github.com/apollographql/graphql-tools/pull/670)
23
+ * Handle undefined path in `getErrorsFromParent` [PR #667](https://github.com/apollographql/graphql-tools/pull/667)
24
+
5
25
  ### v2.21.0
6
26
 
7
27
  * Make iterall a runtime dependency [PR #627](https://github.com/apollographql/graphql-tools/pull/627)
@@ -56,12 +76,12 @@
56
76
 
57
77
  Update to add support for `graphql@0.12`, and drop versions before `0.11` from the peer dependencies list. The `graphql` package has some breaking changes you might need to be aware of, but there aren't any breaking changes in `graphql-tools` itself, or common usage patterns, so we are shipping this as a minor version. We're also running tests on this package with _both_ `graphql@0.11` and `graphql@0.12` until we confirm most users have updated.
58
78
 
59
- - Visit the [`graphql` releases page](https://github.com/graphql/graphql-js/releases) to keep track of for breaking changes to the underlying package.
60
- - [PR #541](https://github.com/apollographql/graphql-tools/pull/541)
79
+ * Visit the [`graphql` releases page](https://github.com/graphql/graphql-js/releases) to keep track of for breaking changes to the underlying package.
80
+ * [PR #541](https://github.com/apollographql/graphql-tools/pull/541)
61
81
 
62
82
  ### v2.13.0
63
83
 
64
- * (Experimental) Added support for custom directives on FIELD_DEFINITION that wrap resolvers with custom reusable logic. [Issue #212](https://github.com/apollographql/graphql-tools/issues/212) [PR #518](https://github.com/apollographql/graphql-tools/pull/518) and [PR #529](https://github.com/apollographql/graphql-tools/pull/529)
84
+ * (Experimental) Added support for custom directives on FIELD_DEFINITION that wrap resolvers with custom reusable logic. [Issue #212](https://github.com/apollographql/graphql-tools/issues/212) [PR #518](https://github.com/apollographql/graphql-tools/pull/518) and [PR #529](https://github.com/apollographql/graphql-tools/pull/529)
65
85
 
66
86
  ### v2.12.0
67
87
 
@@ -133,43 +153,55 @@ Update to add support for `graphql@0.12`, and drop versions before `0.11` from t
133
153
  * Fix alias problems in schema merging [PR #411](https://github.com/apollographql/graphql-tools/pull/411)
134
154
 
135
155
  ### v2.1.0
156
+
136
157
  * Added support for passing an Apollo Link instead of a fetcher
137
158
 
138
159
  ### v2.0.0
160
+
139
161
  * Add schema merging utilities [PR #382](https://github.com/apollographql/graphql-tools/pull/382)
140
162
 
141
163
  ### v1.2.3
164
+
142
165
  * Update package.json to allow GraphQL.js 0.11 [Issue #394](https://github.com/apollographql/graphql-tools/issues/394) [PR #395](https://github.com/apollographql/graphql-tools/pull/395)
143
166
 
144
167
  ### v1.2.1
168
+
145
169
  * Fix typings for resolver options: [Issue #372](https://github.com/apollographql/graphql-tools/issues/372) [PR #374](https://github.com/apollographql/graphql-tools/pull/374)
146
170
 
147
171
  ### v.1.2.0
172
+
148
173
  * Use defaultFieldResolver from graphql-js package instead of own one [PR #373](https://github.com/apollographql/graphql-tools/pull/373)
149
174
  * Remove `lodash` dependency [PR #356](https://github.com/apollographql/graphql-tools/pull/356)
150
175
 
151
176
  ### v.1.1.0
177
+
152
178
  * Improve mocking of union and interface types [PR #332](https://github.com/apollographql/graphql-tools/pull/332)
153
179
 
154
180
  ### v1.0.0
181
+
155
182
  * Add argument validation in `addMockFunctionsToSchema` for 'schema' property in parameter object [PR #321](https://github.com/apollographql/graphql-tools/pull/321)
156
183
 
157
184
  ### v0.11.0
185
+
158
186
  * Remove dependency on `graphql-subscription` and use an interface for PubSub [PR #295](https://github.com/apollographql/graphql-tools/pull/295)
159
187
  * Support schema AST as a type definition input [PR #300](https://github.com/apollographql/graphql-tools/pull/300)
160
188
  * Update graphql typings to 0.9.0 [PR #298](https://github.com/apollographql/graphql-tools/pull/298)
161
189
 
162
190
  ### v0.10.1
191
+
163
192
  * Update dependencies [PR #287](https://github.com/apollographql/graphql-tools/pull/287)
164
193
 
165
194
  ### v0.10.0
195
+
166
196
  * Restrict version range of graphql-js peer dependency to ^0.8.0 || ^0.9.0 [PR #266](https://github.com/apollographql/graphql-tools/pull/266)
167
197
 
168
198
  ### v0.9.2
199
+
169
200
  * Update graphql-js dependency to include 0.9.0 [PR #264](https://github.com/apollostack/graphql-tools/pull/264)
170
201
  * Fix logErrors option so it logs errors if resolve function returns a promise [PR #262](https://github.com/apollostack/graphql-tools/pull/262)
171
202
 
172
203
  ### v0.9.1
204
+
173
205
  * use function reference instead of string for concatenateTypeDefs. [PR #252](https://github.com/apollostack/graphql-tools/pull/252)
174
206
 
175
207
  ### v0.9.0
@@ -200,8 +232,7 @@ Update to add support for `graphql@0.12`, and drop versions before `0.11` from t
200
232
  * Update default resolve function to match the one from GraphQL.js ([@stubailo](https://github.com/stubailo) in [#183](https://github.com/apollostack/graphql-tools/pull/183))
201
233
  * Move `typed-graphql` to `optionalDependencies` ([@stubailo](https://github.com/stubailo) in [#183](https://github.com/apollostack/graphql-tools/pull/183))
202
234
  * Set new defaults for resolver validation to match GraphQL.js so that developers need to opt-in to advanced validation ([@stubailo](https://github.com/stubailo) in [#183](https://github.com/apollostack/graphql-tools/pull/183)):
203
- * `requireResolversForArgs = false`
204
- * `requireResolversForNonScalar = false`
235
+ * `requireResolversForArgs = false` \* `requireResolversForNonScalar = false`
205
236
 
206
237
  ### v0.7.2
207
238
 
@@ -212,10 +243,8 @@ Update to add support for `graphql@0.12`, and drop versions before `0.11` from t
212
243
  * Fix dependency on lodash
213
244
 
214
245
  ### v0.7.0
215
- * Various Bugfixes ([@DxCx](https://github.com/DxCx) in [#129](https://github.com/apollostack/graphql-tools/pull/129))
216
- - Istanbul coverage was not working well due to Istanbul bug [#549](https://github.com/gotwarlost/istanbul/issues/549)
217
- - Bluebird promise was not converted well on tests
218
- - "console.warn" got overwritten on tests
246
+
247
+ * Various Bugfixes ([@DxCx](https://github.com/DxCx) in [#129](https://github.com/apollostack/graphql-tools/pull/129)) - Istanbul coverage was not working well due to Istanbul bug [#549](https://github.com/gotwarlost/istanbul/issues/549) - Bluebird promise was not converted well on tests - "console.warn" got overwritten on tests
219
248
 
220
249
  * Migrated code from Javascript to Typescript ([@DxCx](https://github.com/DxCx) in [#129](https://github.com/apollostack/graphql-tools/pull/129))
221
250
 
@@ -232,6 +261,7 @@ Update to add support for `graphql@0.12`, and drop versions before `0.11` from t
232
261
  * Add missing type annotations to avoid typescript compiler errors when 'noImplicitAny' is enabled ([@almilo](https://github.com/almilo) in [#133](https://github.com/apollostack/graphql-tools/pull/133))
233
262
 
234
263
  ### v0.6.6
264
+
235
265
  * Added embedded Typescript definitions ([@DxCx](https://github.com/DxCx) in [#120](https://github.com/apollostack/graphql-tools/pull/120))
236
266
 
237
267
  * Fix issue in addMockFunctionsToSchema when preserveResolvers is true and connector/logger is used. ([@DxCx](https://github.com/DxCx) in [#121](https://github.com/apollostack/graphql-tools/pull/121))
@@ -243,6 +273,7 @@ Update to add support for `graphql@0.12`, and drop versions before `0.11` from t
243
273
  * Add `requireResolversForAllFields` resolver validation option ([@nevir](https://github.com/nevir) in [#107](https://github.com/apollostack/graphql-tools/pull/107))
244
274
 
245
275
  ### v0.6.4
276
+
246
277
  * Make mocking partial objects match expected behavior ([@sebastienbarre](https://github.com/sebastienbarre) in [#96](https://github.com/apollostack/graphql-tools/pull/96))
247
278
  * Improved behavior when mocking interfaces & unions ([@itajaja](https://github.com/itajaja) in [#102](https://github.com/apollostack/graphql-tools/pull/102))
248
279
 
@@ -5,13 +5,20 @@ export interface IResolverValidationOptions {
5
5
  requireResolversForArgs?: boolean;
6
6
  requireResolversForNonScalar?: boolean;
7
7
  requireResolversForAllFields?: boolean;
8
+ requireResolversForResolveType?: boolean;
8
9
  allowResolversNotInSchema?: boolean;
9
10
  }
10
- export interface IResolverOptions {
11
- resolve?: IFieldResolver<any, any>;
12
- subscribe?: IFieldResolver<any, any>;
13
- __resolveType?: GraphQLTypeResolver<any, any>;
14
- __isTypeOf?: GraphQLIsTypeOfFn<any, any>;
11
+ export interface IAddResolveFunctionsToSchemaOptions {
12
+ schema: GraphQLSchema;
13
+ resolvers: IResolvers;
14
+ resolverValidationOptions?: IResolverValidationOptions;
15
+ inheritResolversFromInterfaces?: boolean;
16
+ }
17
+ export interface IResolverOptions<TSource = any, TContext = any> {
18
+ resolve?: IFieldResolver<TSource, TContext>;
19
+ subscribe?: IFieldResolver<TSource, TContext>;
20
+ __resolveType?: GraphQLTypeResolver<TSource, TContext>;
21
+ __isTypeOf?: GraphQLIsTypeOfFn<TSource, TContext>;
15
22
  }
16
23
  export declare type MergeInfo = {
17
24
  delegate: (type: 'query' | 'mutation' | 'subscription', fieldName: string, args: {
@@ -27,45 +34,46 @@ export declare type IFieldResolver<TSource, TContext> = (source: TSource, args:
27
34
  }) => any;
28
35
  export declare type ITypedef = (() => ITypedef[]) | string | DocumentNode;
29
36
  export declare type ITypeDefinitions = ITypedef | ITypedef[];
30
- export declare type IResolverObject = {
31
- [key: string]: IFieldResolver<any, any> | IResolverOptions;
37
+ export declare type IResolverObject<TSource = any, TContext = any> = {
38
+ [key: string]: IFieldResolver<TSource, TContext> | IResolverOptions;
32
39
  };
33
40
  export declare type IEnumResolver = {
34
41
  [key: string]: string | number;
35
42
  };
36
- export interface IResolvers {
37
- [key: string]: (() => any) | IResolverObject | GraphQLScalarType | IEnumResolver;
43
+ export interface IResolvers<TSource = any, TContext = any> {
44
+ [key: string]: (() => any) | IResolverObject<TSource, TContext> | GraphQLScalarType | IEnumResolver;
38
45
  }
39
46
  export interface ILogger {
40
47
  log: (message: string | Error) => void;
41
48
  }
42
- export interface IConnectorCls {
43
- new (context?: any): any;
49
+ export interface IConnectorCls<TContext = any> {
50
+ new (context?: TContext): any;
44
51
  }
45
- export declare type IConnectorFn = (context?: any) => any;
46
- export declare type IConnector = IConnectorCls | IConnectorFn;
47
- export declare type IConnectors = {
48
- [key: string]: IConnector;
52
+ export declare type IConnectorFn<TContext = any> = (context?: TContext) => any;
53
+ export declare type IConnector<TContext = any> = IConnectorCls<TContext> | IConnectorFn<TContext>;
54
+ export declare type IConnectors<TContext = any> = {
55
+ [key: string]: IConnector<TContext>;
49
56
  };
50
- export interface IExecutableSchemaDefinition {
57
+ export interface IExecutableSchemaDefinition<TContext = any> {
51
58
  typeDefs: ITypeDefinitions;
52
- resolvers?: IResolvers | Array<IResolvers>;
53
- connectors?: IConnectors;
59
+ resolvers?: IResolvers<any, TContext> | Array<IResolvers<any, TContext>>;
60
+ connectors?: IConnectors<TContext>;
54
61
  logger?: ILogger;
55
62
  allowUndefinedInResolve?: boolean;
56
63
  resolverValidationOptions?: IResolverValidationOptions;
57
- directiveResolvers?: IDirectiveResolvers<any, any>;
58
- directives?: {
64
+ directiveResolvers?: IDirectiveResolvers<any, TContext>;
65
+ schemaDirectives?: {
59
66
  [name: string]: typeof SchemaDirectiveVisitor;
60
67
  };
61
68
  parseOptions?: GraphQLParseOptions;
69
+ inheritResolversFromInterfaces?: boolean;
62
70
  }
63
71
  export declare type IFieldIteratorFn = (fieldDef: GraphQLField<any, any>, typeName: string, fieldName: string) => void;
64
72
  export declare type NextResolverFn = () => Promise<any>;
65
- export declare type DirectiveResolverFn<TSource, TContext> = (next: NextResolverFn, source: TSource, args: {
73
+ export declare type DirectiveResolverFn<TSource = any, TContext = any> = (next: NextResolverFn, source: TSource, args: {
66
74
  [argName: string]: any;
67
75
  }, context: TContext, info: GraphQLResolveInfo) => any;
68
- export interface IDirectiveResolvers<TSource, TContext> {
76
+ export interface IDirectiveResolvers<TSource = any, TContext = any> {
69
77
  [directiveName: string]: DirectiveResolverFn<TSource, TContext>;
70
78
  }
71
79
  export declare type IMockFn = GraphQLFieldResolver<any, any>;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './Interfaces';
1
2
  export * from './schemaGenerator';
2
3
  export * from './mock';
3
4
  export * from './stitching';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,uCAAkC;AAClC,4BAAuB;AACvB,iCAA4B;AAC5B,qCAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AACA,uCAAkC;AAClC,4BAAuB;AACvB,iCAA4B;AAC5B,qCAAgC"}
@@ -1,10 +1,10 @@
1
1
  import { DocumentNode, DefinitionNode, GraphQLSchema, GraphQLResolveInfo, GraphQLFieldResolver } from 'graphql';
2
- import { IExecutableSchemaDefinition, ILogger, IResolvers, ITypeDefinitions, ITypedef, IFieldIteratorFn, IResolverValidationOptions, IDirectiveResolvers, GraphQLParseOptions } from './Interfaces';
2
+ import { IExecutableSchemaDefinition, ILogger, IResolvers, ITypeDefinitions, ITypedef, IFieldIteratorFn, IResolverValidationOptions, IDirectiveResolvers, GraphQLParseOptions, IAddResolveFunctionsToSchemaOptions } from './Interfaces';
3
3
  declare class SchemaError extends Error {
4
4
  message: string;
5
5
  constructor(message: string);
6
6
  }
7
- declare function makeExecutableSchema({typeDefs, resolvers, connectors, logger, allowUndefinedInResolve, resolverValidationOptions, directiveResolvers, directives, parseOptions}: IExecutableSchemaDefinition): GraphQLSchema;
7
+ declare function makeExecutableSchema<TContext = any>({typeDefs, resolvers, connectors, logger, allowUndefinedInResolve, resolverValidationOptions, directiveResolvers, schemaDirectives, parseOptions, inheritResolversFromInterfaces}: IExecutableSchemaDefinition<TContext>): GraphQLSchema;
8
8
  declare function concatenateTypeDefs(typeDefinitionsAry: ITypedef[], calledFunctionRefs?: any): string;
9
9
  declare function buildSchemaFromTypeDefinitions(typeDefinitions: ITypeDefinitions, parseOptions?: GraphQLParseOptions): GraphQLSchema;
10
10
  export declare function extractExtensionDefinitions(ast: DocumentNode): DocumentNode & {
@@ -13,7 +13,7 @@ export declare function extractExtensionDefinitions(ast: DocumentNode): Document
13
13
  declare function forEachField(schema: GraphQLSchema, fn: IFieldIteratorFn): void;
14
14
  declare const attachConnectorsToContext: Function;
15
15
  declare function addSchemaLevelResolveFunction(schema: GraphQLSchema, fn: GraphQLFieldResolver<any, any>): void;
16
- declare function addResolveFunctionsToSchema(schema: GraphQLSchema, resolveFunctions: IResolvers, resolverValidationOptions?: IResolverValidationOptions): void;
16
+ declare function addResolveFunctionsToSchema(options: IAddResolveFunctionsToSchemaOptions | GraphQLSchema, legacyInputResolvers?: IResolvers, legacyInputValidationOptions?: IResolverValidationOptions): void;
17
17
  declare function assertResolveFunctionsPresent(schema: GraphQLSchema, resolverValidationOptions?: IResolverValidationOptions): void;
18
18
  declare function addErrorLoggingToSchema(schema: GraphQLSchema, logger: ILogger): void;
19
19
  declare function chainResolvers(resolvers: GraphQLFieldResolver<any, any>[]): (root: any, args: {
@@ -10,6 +10,14 @@ var __extends = (this && this.__extends) || (function () {
10
10
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
11
11
  };
12
12
  })();
13
+ var __assign = (this && this.__assign) || Object.assign || function(t) {
14
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
15
+ s = arguments[i];
16
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
17
+ t[p] = s[p];
18
+ }
19
+ return t;
20
+ };
13
21
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
22
  return new (P || (P = Promise))(function (resolve, reject) {
15
23
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -70,7 +78,7 @@ exports.SchemaError = SchemaError;
70
78
  // type definitions can be a string or an array of strings.
71
79
  function _generateSchema(typeDefinitions, resolveFunctions, logger,
72
80
  // TODO: rename to allowUndefinedInResolve to be consistent
73
- allowUndefinedInResolve, resolverValidationOptions, parseOptions) {
81
+ allowUndefinedInResolve, resolverValidationOptions, parseOptions, inheritResolversFromInterfaces) {
74
82
  if (typeof resolverValidationOptions !== 'object') {
75
83
  throw new SchemaError('Expected `resolverValidationOptions` to be an object');
76
84
  }
@@ -87,7 +95,7 @@ function _generateSchema(typeDefinitions, resolveFunctions, logger,
87
95
  : resolveFunctions;
88
96
  // TODO: check that typeDefinitions is either string or array of strings
89
97
  var schema = buildSchemaFromTypeDefinitions(typeDefinitions, parseOptions);
90
- addResolveFunctionsToSchema(schema, resolvers, resolverValidationOptions);
98
+ addResolveFunctionsToSchema({ schema: schema, resolvers: resolvers, resolverValidationOptions: resolverValidationOptions, inheritResolversFromInterfaces: inheritResolversFromInterfaces });
91
99
  assertResolveFunctionsPresent(schema, resolverValidationOptions);
92
100
  if (!allowUndefinedInResolve) {
93
101
  addCatchUndefinedToSchema(schema);
@@ -98,8 +106,8 @@ function _generateSchema(typeDefinitions, resolveFunctions, logger,
98
106
  return schema;
99
107
  }
100
108
  function makeExecutableSchema(_a) {
101
- var typeDefs = _a.typeDefs, _b = _a.resolvers, resolvers = _b === void 0 ? {} : _b, connectors = _a.connectors, logger = _a.logger, _c = _a.allowUndefinedInResolve, allowUndefinedInResolve = _c === void 0 ? true : _c, _d = _a.resolverValidationOptions, resolverValidationOptions = _d === void 0 ? {} : _d, _e = _a.directiveResolvers, directiveResolvers = _e === void 0 ? null : _e, _f = _a.directives, directives = _f === void 0 ? null : _f, _g = _a.parseOptions, parseOptions = _g === void 0 ? {} : _g;
102
- var jsSchema = _generateSchema(typeDefs, resolvers, logger, allowUndefinedInResolve, resolverValidationOptions, parseOptions);
109
+ var typeDefs = _a.typeDefs, _b = _a.resolvers, resolvers = _b === void 0 ? {} : _b, connectors = _a.connectors, logger = _a.logger, _c = _a.allowUndefinedInResolve, allowUndefinedInResolve = _c === void 0 ? true : _c, _d = _a.resolverValidationOptions, resolverValidationOptions = _d === void 0 ? {} : _d, _e = _a.directiveResolvers, directiveResolvers = _e === void 0 ? null : _e, _f = _a.schemaDirectives, schemaDirectives = _f === void 0 ? null : _f, _g = _a.parseOptions, parseOptions = _g === void 0 ? {} : _g, _h = _a.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _h === void 0 ? false : _h;
110
+ var jsSchema = _generateSchema(typeDefs, resolvers, logger, allowUndefinedInResolve, resolverValidationOptions, parseOptions, inheritResolversFromInterfaces);
103
111
  if (typeof resolvers['__schema'] === 'function') {
104
112
  // TODO a bit of a hack now, better rewrite generateSchema to attach it there.
105
113
  // not doing that now, because I'd have to rewrite a lot of tests.
@@ -113,8 +121,8 @@ function makeExecutableSchema(_a) {
113
121
  if (directiveResolvers) {
114
122
  attachDirectiveResolvers(jsSchema, directiveResolvers);
115
123
  }
116
- if (directives) {
117
- schemaVisitor_1.SchemaDirectiveVisitor.visitSchemaDirectives(jsSchema, directives);
124
+ if (schemaDirectives) {
125
+ schemaVisitor_1.SchemaDirectiveVisitor.visitSchemaDirectives(jsSchema, schemaDirectives);
118
126
  }
119
127
  return jsSchema;
120
128
  }
@@ -185,10 +193,12 @@ exports.buildSchemaFromTypeDefinitions = buildSchemaFromTypeDefinitions;
185
193
  // TODO fix types https://github.com/apollographql/graphql-tools/issues/542
186
194
  var oldTypeExtensionDefinitionKind = 'TypeExtensionDefinition';
187
195
  var newExtensionDefinitionKind = 'ObjectTypeExtension';
196
+ var interfaceExtensionDefinitionKind = 'InterfaceTypeExtension';
188
197
  function extractExtensionDefinitions(ast) {
189
198
  var extensionDefs = ast.definitions.filter(function (def) {
190
199
  return def.kind === oldTypeExtensionDefinitionKind ||
191
- def.kind === newExtensionDefinitionKind;
200
+ def.kind === newExtensionDefinitionKind ||
201
+ def.kind === interfaceExtensionDefinitionKind;
192
202
  });
193
203
  return Object.assign({}, ast, {
194
204
  definitions: extensionDefs,
@@ -297,10 +307,21 @@ function getFieldsForType(type) {
297
307
  return undefined;
298
308
  }
299
309
  }
300
- function addResolveFunctionsToSchema(schema, resolveFunctions, resolverValidationOptions) {
301
- if (resolverValidationOptions === void 0) { resolverValidationOptions = {}; }
302
- var _a = resolverValidationOptions.allowResolversNotInSchema, allowResolversNotInSchema = _a === void 0 ? false : _a;
303
- Object.keys(resolveFunctions).forEach(function (typeName) {
310
+ function addResolveFunctionsToSchema(options, legacyInputResolvers, legacyInputValidationOptions) {
311
+ if (options instanceof graphql_1.GraphQLSchema) {
312
+ console.warn('The addResolveFunctionsToSchema function takes named options now; see IAddResolveFunctionsToSchemaOptions');
313
+ options = {
314
+ schema: options,
315
+ resolvers: legacyInputResolvers,
316
+ resolverValidationOptions: legacyInputValidationOptions
317
+ };
318
+ }
319
+ var schema = options.schema, inputResolvers = options.resolvers, _a = options.resolverValidationOptions, resolverValidationOptions = _a === void 0 ? {} : _a, _b = options.inheritResolversFromInterfaces, inheritResolversFromInterfaces = _b === void 0 ? false : _b;
320
+ var _c = resolverValidationOptions.allowResolversNotInSchema, allowResolversNotInSchema = _c === void 0 ? false : _c, requireResolversForResolveType = resolverValidationOptions.requireResolversForResolveType;
321
+ var resolvers = inheritResolversFromInterfaces
322
+ ? extendResolversFromInterfaces(schema, inputResolvers)
323
+ : inputResolvers;
324
+ Object.keys(resolvers).forEach(function (typeName) {
304
325
  var type = schema.getType(typeName);
305
326
  if (!type && typeName !== '__schema') {
306
327
  if (allowResolversNotInSchema) {
@@ -308,15 +329,14 @@ function addResolveFunctionsToSchema(schema, resolveFunctions, resolverValidatio
308
329
  }
309
330
  throw new SchemaError("\"" + typeName + "\" defined in resolvers, but not in schema");
310
331
  }
311
- Object.keys(resolveFunctions[typeName]).forEach(function (fieldName) {
332
+ Object.keys(resolvers[typeName]).forEach(function (fieldName) {
312
333
  if (fieldName.startsWith('__')) {
313
334
  // this is for isTypeOf and resolveType and all the other stuff.
314
- // TODO require resolveType for unions and interfaces.
315
- type[fieldName.substring(2)] = resolveFunctions[typeName][fieldName];
335
+ type[fieldName.substring(2)] = resolvers[typeName][fieldName];
316
336
  return;
317
337
  }
318
338
  if (type instanceof graphql_1.GraphQLScalarType) {
319
- type[fieldName] = resolveFunctions[typeName][fieldName];
339
+ type[fieldName] = resolvers[typeName][fieldName];
320
340
  return;
321
341
  }
322
342
  if (type instanceof graphql_1.GraphQLEnumType) {
@@ -324,9 +344,10 @@ function addResolveFunctionsToSchema(schema, resolveFunctions, resolverValidatio
324
344
  throw new SchemaError(typeName + "." + fieldName + " was defined in resolvers, but enum is not in schema");
325
345
  }
326
346
  type.getValue(fieldName)['value'] =
327
- resolveFunctions[typeName][fieldName];
347
+ resolvers[typeName][fieldName];
328
348
  return;
329
349
  }
350
+ // object type
330
351
  var fields = getFieldsForType(type);
331
352
  if (!fields) {
332
353
  if (allowResolversNotInSchema) {
@@ -341,7 +362,7 @@ function addResolveFunctionsToSchema(schema, resolveFunctions, resolverValidatio
341
362
  throw new SchemaError(typeName + "." + fieldName + " defined in resolvers, but not in schema");
342
363
  }
343
364
  var field = fields[fieldName];
344
- var fieldResolve = resolveFunctions[typeName][fieldName];
365
+ var fieldResolve = resolvers[typeName][fieldName];
345
366
  if (typeof fieldResolve === 'function') {
346
367
  // for convenience. Allows shorter syntax in resolver definition file
347
368
  setFieldProperties(field, { resolve: fieldResolve });
@@ -354,8 +375,47 @@ function addResolveFunctionsToSchema(schema, resolveFunctions, resolverValidatio
354
375
  }
355
376
  });
356
377
  });
378
+ checkForResolveTypeResolver(schema, requireResolversForResolveType);
357
379
  }
358
380
  exports.addResolveFunctionsToSchema = addResolveFunctionsToSchema;
381
+ function extendResolversFromInterfaces(schema, resolvers) {
382
+ var typeNames = Object.keys(__assign({}, schema.getTypeMap(), resolvers));
383
+ var extendedResolvers = {};
384
+ typeNames.forEach(function (typeName) {
385
+ var typeResolvers = resolvers[typeName];
386
+ var type = schema.getType(typeName);
387
+ if (type instanceof graphql_1.GraphQLObjectType) {
388
+ var interfaceResolvers = type.getInterfaces().map(function (iFace) { return resolvers[iFace.name]; });
389
+ extendedResolvers[typeName] = Object.assign.apply(Object, [{}].concat(interfaceResolvers, [typeResolvers]));
390
+ }
391
+ else {
392
+ if (typeResolvers) {
393
+ extendedResolvers[typeName] = typeResolvers;
394
+ }
395
+ }
396
+ });
397
+ return extendedResolvers;
398
+ }
399
+ // If we have any union or interface types throw if no there is no resolveType or isTypeOf resolvers
400
+ function checkForResolveTypeResolver(schema, requireResolversForResolveType) {
401
+ Object.keys(schema.getTypeMap())
402
+ .map(function (typeName) { return schema.getType(typeName); })
403
+ .forEach(function (type) {
404
+ if (!(type instanceof graphql_1.GraphQLUnionType || type instanceof graphql_1.GraphQLInterfaceType)) {
405
+ return;
406
+ }
407
+ if (!type.resolveType) {
408
+ if (requireResolversForResolveType === false) {
409
+ return;
410
+ }
411
+ if (requireResolversForResolveType === true) {
412
+ throw new SchemaError("Type \"" + type.name + "\" is missing a \"resolveType\" resolver");
413
+ }
414
+ // tslint:disable-next-line:max-line-length
415
+ console.warn("Type \"" + type.name + "\" is missing a \"resolveType\" resolver. Pass false into \"resolverValidationOptions.requireResolversForResolveType\" to disable this warning.");
416
+ }
417
+ });
418
+ }
359
419
  function setFieldProperties(field, propertiesObj) {
360
420
  Object.keys(propertiesObj).forEach(function (propertyName) {
361
421
  field[propertyName] = propertiesObj[propertyName];
@@ -523,9 +583,9 @@ function attachDirectiveResolvers(schema, directiveResolvers) {
523
583
  if (Array.isArray(directiveResolvers)) {
524
584
  throw new Error('Expected directiveResolvers to be of type object, got Array');
525
585
  }
526
- var directives = Object.create(null);
586
+ var schemaDirectives = Object.create(null);
527
587
  Object.keys(directiveResolvers).forEach(function (directiveName) {
528
- directives[directiveName] = /** @class */ (function (_super) {
588
+ schemaDirectives[directiveName] = /** @class */ (function (_super) {
529
589
  __extends(class_1, _super);
530
590
  function class_1() {
531
591
  return _super !== null && _super.apply(this, arguments) || this;
@@ -549,7 +609,7 @@ function attachDirectiveResolvers(schema, directiveResolvers) {
549
609
  return class_1;
550
610
  }(schemaVisitor_1.SchemaDirectiveVisitor));
551
611
  });
552
- schemaVisitor_1.SchemaDirectiveVisitor.visitSchemaDirectives(schema, directives);
612
+ schemaVisitor_1.SchemaDirectiveVisitor.visitSchemaDirectives(schema, schemaDirectives);
553
613
  }
554
614
  exports.attachDirectiveResolvers = attachDirectiveResolvers;
555
615
  //# sourceMappingURL=schemaGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaGenerator.js","sourceRoot":"","sources":["../src/schemaGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaGenerator.js","sourceRoot":"","sources":["../src/schemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,31 @@
1
1
  import { GraphQLArgument, GraphQLDirective, GraphQLEnumType, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType, GraphQLScalarType, GraphQLSchema, GraphQLUnionType } from 'graphql';
2
- export declare type VisitableSchemaType = GraphQLSchema | GraphQLObjectType | GraphQLInterfaceType | GraphQLNamedType | GraphQLScalarType | GraphQLField<any, any> | GraphQLArgument | GraphQLUnionType | GraphQLEnumType | GraphQLEnumValue;
2
+ export declare type VisitableSchemaType = GraphQLSchema | GraphQLObjectType | GraphQLInterfaceType | GraphQLInputObjectType | GraphQLNamedType | GraphQLScalarType | GraphQLField<any, any> | GraphQLArgument | GraphQLUnionType | GraphQLEnumType | GraphQLEnumValue;
3
3
  export declare abstract class SchemaVisitor {
4
4
  schema: GraphQLSchema;
5
5
  static implementsVisitorMethod(methodName: string): boolean;
6
6
  visitSchema(schema: GraphQLSchema): void;
7
- visitScalar(scalar: GraphQLScalarType): void;
8
- visitObject(object: GraphQLObjectType): void;
7
+ visitScalar(scalar: GraphQLScalarType): GraphQLScalarType | void;
8
+ visitObject(object: GraphQLObjectType): GraphQLObjectType | void;
9
9
  visitFieldDefinition(field: GraphQLField<any, any>, details: {
10
10
  objectType: GraphQLObjectType | GraphQLInterfaceType;
11
- }): void;
11
+ }): GraphQLField<any, any> | void;
12
12
  visitArgumentDefinition(argument: GraphQLArgument, details: {
13
13
  field: GraphQLField<any, any>;
14
14
  objectType: GraphQLObjectType | GraphQLInterfaceType;
15
- }): void;
16
- visitInterface(iface: GraphQLInterfaceType): void;
17
- visitUnion(union: GraphQLUnionType): void;
18
- visitEnum(type: GraphQLEnumType): void;
15
+ }): GraphQLArgument | void;
16
+ visitInterface(iface: GraphQLInterfaceType): GraphQLInterfaceType | void;
17
+ visitUnion(union: GraphQLUnionType): GraphQLUnionType | void;
18
+ visitEnum(type: GraphQLEnumType): GraphQLEnumType | void;
19
19
  visitEnumValue(value: GraphQLEnumValue, details: {
20
20
  enumType: GraphQLEnumType;
21
- }): void;
22
- visitInputObject(object: GraphQLInputObjectType): void;
21
+ }): GraphQLEnumValue | void;
22
+ visitInputObject(object: GraphQLInputObjectType): GraphQLInputObjectType | void;
23
23
  visitInputFieldDefinition(field: GraphQLInputField, details: {
24
24
  objectType: GraphQLInputObjectType;
25
- }): void;
25
+ }): GraphQLInputField | void;
26
26
  }
27
- export declare function visitSchema(schema: GraphQLSchema, visitorSelector: (type: VisitableSchemaType, methodName: string) => SchemaVisitor[]): void;
27
+ export declare function visitSchema(schema: GraphQLSchema, visitorSelector: (type: VisitableSchemaType, methodName: string) => SchemaVisitor[]): GraphQLSchema;
28
+ export declare function healSchema(schema: GraphQLSchema): GraphQLSchema;
28
29
  export declare class SchemaDirectiveVisitor extends SchemaVisitor {
29
30
  name: string;
30
31
  args: {