UNPKG

graphql-mocks

Version:
46 lines (36 loc) 1.58 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var isTypeReference = require('./is-type-reference.js'); var getTypeForReference = require('./get-type-for-reference.js'); var isFieldReference = require('./is-field-reference.js'); var getFieldForReference = require('./get-field-for-reference.js'); function buildReferenceMap(schema, references) { const map = {}; references.filter(isTypeReference.isTypeReference).map(typeReference => getTypeForReference.getTypeForReference(schema, typeReference)).forEach(type => { if (type) { map[type.name] = { type: type }; } }); references.filter(isFieldReference.isFieldReference).map(([typeName, fieldName]) => { return [typeName, getFieldForReference.getFieldForReference(schema, [typeName, fieldName])]; }).forEach(([typeName, field]) => { if (field) { var _map$typeName, _map$typeName$fields; const type = getTypeForReference.getTypeForReference(schema, typeName); if (!type) return; map[typeName] = (_map$typeName = map[typeName]) !== null && _map$typeName !== void 0 ? _map$typeName : { type }; if (!field) return; map[typeName].fields = (_map$typeName$fields = map[typeName].fields) !== null && _map$typeName$fields !== void 0 ? _map$typeName$fields : {}; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion map[typeName].fields[field.name] = field; } }); return map; } exports.buildReferenceMap = buildReferenceMap; //# sourceMappingURL=build-reference-map.js.map