1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var transform_fields_1 = require("./transform-fields");
|
4 | var debugging_1 = require("../debugging");
|
5 | var get_directives_1 = require("../utils/get-directives");
|
6 | var implementing_types_1 = require("./implementing-types");
|
7 | function transformInterface(schema, gqlInterface) {
|
8 | debugging_1.debugLog("[transformInterface] transformed interface " + gqlInterface.name);
|
9 | var resolvedFields = transform_fields_1.resolveFields(schema, gqlInterface.getFields(), gqlInterface);
|
10 | var directives = get_directives_1.getDirectives(schema, gqlInterface);
|
11 | var implementingTypes = implementing_types_1.getImplementingTypes(gqlInterface.name, schema);
|
12 | return {
|
13 | name: gqlInterface.name,
|
14 | description: gqlInterface.description || '',
|
15 | fields: resolvedFields,
|
16 | hasFields: resolvedFields.length > 0,
|
17 | directives: directives,
|
18 | usesDirectives: Object.keys(directives).length > 0,
|
19 | implementingTypes: implementingTypes,
|
20 | hasImplementingTypes: implementingTypes.length > 0
|
21 | };
|
22 | }
|
23 | exports.transformInterface = transformInterface;
|
24 |
|
\ | No newline at end of file |