graphile-build
Advanced tools
Comparing version 0.1.0-alpha.15 to 0.1.0-alpha.17
@@ -93,3 +93,4 @@ "use strict"; | ||
data[k] = data[k] || []; | ||
var newData = ensureArray(result[k]); | ||
var value = result[k]; | ||
var newData = ensureArray(value); | ||
if (newData) { | ||
@@ -137,5 +138,11 @@ var _data$k; | ||
var ensureArray = function ensureArray(val) { | ||
return val == null ? val : Array.isArray(val) ? val : [val]; | ||
}; | ||
function ensureArray(val) { | ||
if (val == null) { | ||
return; | ||
} else if (Array.isArray(val)) { | ||
return val; | ||
} else { | ||
return [val]; | ||
} | ||
} | ||
@@ -175,69 +182,2 @@ // eslint-disable-next-line no-unused-vars | ||
getAliasFromResolveInfo: _graphqlParseResolveInfo.getAliasFromResolveInfo, | ||
generateDataForType(Type, parsedResolveInfoFragment) { | ||
var StrippedType = getNamedType(Type); | ||
if (!StrippedType) { | ||
throw new Error(`Invalid type`); | ||
} | ||
var _simplifyParsedResolv = this.simplifyParsedResolveInfoFragmentWithType(parsedResolveInfoFragment, StrippedType), | ||
fields = _simplifyParsedResolv.fields; | ||
var fieldDataGenerators = fieldDataGeneratorsByType.get(StrippedType) || {}; | ||
var data = {}; | ||
if (fieldDataGenerators) { | ||
var _iteratorNormalCompletion3 = true; | ||
var _didIteratorError3 = false; | ||
var _iteratorError3 = undefined; | ||
try { | ||
for (var _iterator3 = (0, _getIterator3.default)((0, _keys2.default)(fields)), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { | ||
var alias = _step3.value; | ||
var field = fields[alias]; | ||
var gens = fieldDataGenerators[field.name]; | ||
if (gens) { | ||
var _iteratorNormalCompletion4 = true; | ||
var _didIteratorError4 = false; | ||
var _iteratorError4 = undefined; | ||
try { | ||
for (var _iterator4 = (0, _getIterator3.default)(gens), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { | ||
var gen = _step4.value; | ||
mergeData(data, gen, StrippedType, field); | ||
} | ||
} catch (err) { | ||
_didIteratorError4 = true; | ||
_iteratorError4 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion4 && _iterator4.return) { | ||
_iterator4.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError4) { | ||
throw _iteratorError4; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} catch (err) { | ||
_didIteratorError3 = true; | ||
_iteratorError3 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion3 && _iterator3.return) { | ||
_iterator3.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError3) { | ||
throw _iteratorError3; | ||
} | ||
} | ||
} | ||
} | ||
return data; | ||
}, | ||
resolveAlias(data, _args, _context, resolveInfo) { | ||
@@ -256,9 +196,9 @@ var alias = (0, _graphqlParseResolveInfo.getAliasFromResolveInfo)(resolveInfo); | ||
var keysB = (0, _keys2.default)(extra); | ||
var _iteratorNormalCompletion5 = true; | ||
var _didIteratorError5 = false; | ||
var _iteratorError5 = undefined; | ||
var _iteratorNormalCompletion3 = true; | ||
var _didIteratorError3 = false; | ||
var _iteratorError3 = undefined; | ||
try { | ||
for (var _iterator5 = (0, _getIterator3.default)(keysB), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { | ||
var key = _step5.value; | ||
for (var _iterator3 = (0, _getIterator3.default)(keysB), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { | ||
var key = _step3.value; | ||
@@ -270,12 +210,12 @@ if (keysA.indexOf(key) >= 0) { | ||
} catch (err) { | ||
_didIteratorError5 = true; | ||
_iteratorError5 = err; | ||
_didIteratorError3 = true; | ||
_iteratorError3 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion5 && _iterator5.return) { | ||
_iterator5.return(); | ||
if (!_iteratorNormalCompletion3 && _iterator3.return) { | ||
_iterator3.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError5) { | ||
throw _iteratorError5; | ||
if (_didIteratorError3) { | ||
throw _iteratorError3; | ||
} | ||
@@ -324,4 +264,4 @@ } | ||
var _simplifyParsedResolv2 = _this.simplifyParsedResolveInfoFragmentWithType(parsedResolveInfoFragment, ReturnType), | ||
fields = _simplifyParsedResolv2.fields; | ||
var _simplifyParsedResolv = _this.simplifyParsedResolveInfoFragmentWithType(parsedResolveInfoFragment, ReturnType), | ||
fields = _simplifyParsedResolv.fields; | ||
@@ -331,11 +271,11 @@ var results = []; | ||
var fieldDataGenerators = fieldDataGeneratorsByType.get(StrippedType); | ||
if (fieldDataGenerators && StrippedType.getFields) { | ||
if (fieldDataGenerators && isCompositeType(StrippedType) && !isAbstractType(StrippedType)) { | ||
var typeFields = StrippedType.getFields(); | ||
var _iteratorNormalCompletion6 = true; | ||
var _didIteratorError6 = false; | ||
var _iteratorError6 = undefined; | ||
var _iteratorNormalCompletion4 = true; | ||
var _didIteratorError4 = false; | ||
var _iteratorError4 = undefined; | ||
try { | ||
for (var _iterator6 = (0, _getIterator3.default)((0, _keys2.default)(fields)), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { | ||
var alias = _step6.value; | ||
for (var _iterator4 = (0, _getIterator3.default)((0, _keys2.default)(fields)), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { | ||
var alias = _step4.value; | ||
@@ -346,24 +286,26 @@ var field = fields[alias]; | ||
if (gens) { | ||
var _iteratorNormalCompletion7 = true; | ||
var _didIteratorError7 = false; | ||
var _iteratorError7 = undefined; | ||
var _iteratorNormalCompletion5 = true; | ||
var _didIteratorError5 = false; | ||
var _iteratorError5 = undefined; | ||
try { | ||
for (var _iterator7 = (0, _getIterator3.default)(gens), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { | ||
var gen = _step7.value; | ||
for (var _iterator5 = (0, _getIterator3.default)(gens), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { | ||
var gen = _step5.value; | ||
var local = ensureArray(gen.apply(undefined, [field, typeFields[field.name].type].concat(rest))); | ||
results.push.apply(results, (0, _toConsumableArray3.default)(local)); | ||
if (local) { | ||
results.push.apply(results, (0, _toConsumableArray3.default)(local)); | ||
} | ||
} | ||
} catch (err) { | ||
_didIteratorError7 = true; | ||
_iteratorError7 = err; | ||
_didIteratorError5 = true; | ||
_iteratorError5 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion7 && _iterator7.return) { | ||
_iterator7.return(); | ||
if (!_iteratorNormalCompletion5 && _iterator5.return) { | ||
_iterator5.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError7) { | ||
throw _iteratorError7; | ||
if (_didIteratorError5) { | ||
throw _iteratorError5; | ||
} | ||
@@ -375,12 +317,12 @@ } | ||
} catch (err) { | ||
_didIteratorError6 = true; | ||
_iteratorError6 = err; | ||
_didIteratorError4 = true; | ||
_iteratorError4 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion6 && _iterator6.return) { | ||
_iterator6.return(); | ||
if (!_iteratorNormalCompletion4 && _iterator4.return) { | ||
_iterator4.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError6) { | ||
throw _iteratorError6; | ||
if (_didIteratorError4) { | ||
throw _iteratorError4; | ||
} | ||
@@ -443,7 +385,8 @@ } | ||
getDataFromParsedResolveInfoFragment: function getDataFromParsedResolveInfoFragment(parsedResolveInfoFragment, ReturnType) { | ||
var Type = getNamedType(ReturnType); | ||
var data = {}; | ||
var _simplifyParsedResolv3 = _this.simplifyParsedResolveInfoFragmentWithType(parsedResolveInfoFragment, ReturnType), | ||
fields = _simplifyParsedResolv3.fields, | ||
args = _simplifyParsedResolv3.args; | ||
var _simplifyParsedResolv2 = _this.simplifyParsedResolveInfoFragmentWithType(parsedResolveInfoFragment, ReturnType), | ||
fields = _simplifyParsedResolv2.fields, | ||
args = _simplifyParsedResolv2.args; | ||
@@ -453,9 +396,9 @@ // Args -> argDataGenerators | ||
var _iteratorNormalCompletion8 = true; | ||
var _didIteratorError8 = false; | ||
var _iteratorError8 = undefined; | ||
var _iteratorNormalCompletion6 = true; | ||
var _didIteratorError6 = false; | ||
var _iteratorError6 = undefined; | ||
try { | ||
for (var _iterator8 = (0, _getIterator3.default)(argDataGenerators), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { | ||
var gen = _step8.value; | ||
for (var _iterator6 = (0, _getIterator3.default)(argDataGenerators), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { | ||
var gen = _step6.value; | ||
@@ -472,12 +415,12 @@ try { | ||
} catch (err) { | ||
_didIteratorError8 = true; | ||
_iteratorError8 = err; | ||
_didIteratorError6 = true; | ||
_iteratorError6 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion8 && _iterator8.return) { | ||
_iterator8.return(); | ||
if (!_iteratorNormalCompletion6 && _iterator6.return) { | ||
_iterator6.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError8) { | ||
throw _iteratorError8; | ||
if (_didIteratorError6) { | ||
throw _iteratorError6; | ||
} | ||
@@ -490,13 +433,12 @@ } | ||
} | ||
var Type = getNamedType(finalSpec.type); | ||
var fieldDataGenerators = fieldDataGeneratorsByType.get(Type); | ||
if (fieldDataGenerators && isCompositeType(Type) && !isAbstractType(Type)) { | ||
var typeFields = Type.getFields(); | ||
var _iteratorNormalCompletion9 = true; | ||
var _didIteratorError9 = false; | ||
var _iteratorError9 = undefined; | ||
var _iteratorNormalCompletion7 = true; | ||
var _didIteratorError7 = false; | ||
var _iteratorError7 = undefined; | ||
try { | ||
for (var _iterator9 = (0, _getIterator3.default)((0, _keys2.default)(fields)), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { | ||
var alias = _step9.value; | ||
for (var _iterator7 = (0, _getIterator3.default)((0, _keys2.default)(fields)), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { | ||
var alias = _step7.value; | ||
@@ -507,9 +449,9 @@ var field = fields[alias]; | ||
var FieldReturnType = typeFields[field.name].type; | ||
var _iteratorNormalCompletion10 = true; | ||
var _didIteratorError10 = false; | ||
var _iteratorError10 = undefined; | ||
var _iteratorNormalCompletion8 = true; | ||
var _didIteratorError8 = false; | ||
var _iteratorError8 = undefined; | ||
try { | ||
for (var _iterator10 = (0, _getIterator3.default)(gens), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { | ||
var _gen = _step10.value; | ||
for (var _iterator8 = (0, _getIterator3.default)(gens), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { | ||
var _gen = _step8.value; | ||
@@ -519,12 +461,12 @@ mergeData(data, _gen, FieldReturnType, field); | ||
} catch (err) { | ||
_didIteratorError10 = true; | ||
_iteratorError10 = err; | ||
_didIteratorError8 = true; | ||
_iteratorError8 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion10 && _iterator10.return) { | ||
_iterator10.return(); | ||
if (!_iteratorNormalCompletion8 && _iterator8.return) { | ||
_iterator8.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError10) { | ||
throw _iteratorError10; | ||
if (_didIteratorError8) { | ||
throw _iteratorError8; | ||
} | ||
@@ -536,12 +478,12 @@ } | ||
} catch (err) { | ||
_didIteratorError9 = true; | ||
_iteratorError9 = err; | ||
_didIteratorError7 = true; | ||
_iteratorError7 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion9 && _iterator9.return) { | ||
_iterator9.return(); | ||
if (!_iteratorNormalCompletion7 && _iterator7.return) { | ||
_iterator7.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError9) { | ||
throw _iteratorError9; | ||
if (_didIteratorError7) { | ||
throw _iteratorError7; | ||
} | ||
@@ -602,3 +544,3 @@ } | ||
Self, | ||
GraphQLObjectType: _rawSpec, | ||
GraphQLInputObjectType: _rawSpec, | ||
fieldWithHooks: function (fieldName, spec) { | ||
@@ -605,0 +547,0 @@ var fieldScope = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; |
@@ -143,3 +143,4 @@ "use strict"; | ||
getNamedType = _ref5$graphql.getNamedType; | ||
var isRootQuery = _ref6.scope.isRootQuery; | ||
var isRootQuery = _ref6.scope.isRootQuery, | ||
fieldWithHooks = _ref6.fieldWithHooks; | ||
@@ -157,72 +158,76 @@ if (!isRootQuery) { | ||
}, | ||
node: { | ||
description: "Fetches an object given its globally unique `ID`.", | ||
type: getTypeByName("Node"), | ||
args: { | ||
[nodeIdFieldName]: { | ||
description: "The globally unique `ID`.", | ||
type: new GraphQLNonNull(GraphQLID) | ||
} | ||
}, | ||
resolve(data, args, context, resolveInfo) { | ||
var _this = this; | ||
node: fieldWithHooks("node", function (_ref7) { | ||
var getDataFromParsedResolveInfoFragment = _ref7.getDataFromParsedResolveInfoFragment; | ||
return { | ||
description: "Fetches an object given its globally unique `ID`.", | ||
type: getTypeByName("Node"), | ||
args: { | ||
[nodeIdFieldName]: { | ||
description: "The globally unique `ID`.", | ||
type: new GraphQLNonNull(GraphQLID) | ||
} | ||
}, | ||
resolve(data, args, context, resolveInfo) { | ||
var _this = this; | ||
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { | ||
var nodeId, _JSON$parse, _JSON$parse2, _alias, _identifiers, _Type, resolver, _parsedResolveInfoFragment, node; | ||
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { | ||
var nodeId, _JSON$parse, _JSON$parse2, _alias, _identifiers, _Type, resolver, _parsedResolveInfoFragment, _resolveData, node; | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
nodeId = args[nodeIdFieldName]; | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
nodeId = args[nodeIdFieldName]; | ||
if (!(nodeId === "query")) { | ||
_context.next = 3; | ||
break; | ||
} | ||
if (!(nodeId === "query")) { | ||
_context.next = 3; | ||
break; | ||
} | ||
return _context.abrupt("return", $$isQuery); | ||
return _context.abrupt("return", $$isQuery); | ||
case 3: | ||
_context.prev = 3; | ||
_JSON$parse = JSON.parse(base64Decode(nodeId)), _JSON$parse2 = (0, _toArray3.default)(_JSON$parse), _alias = _JSON$parse2[0], _identifiers = _JSON$parse2.slice(1); | ||
_Type = getNodeType(_alias); | ||
case 3: | ||
_context.prev = 3; | ||
_JSON$parse = JSON.parse(base64Decode(nodeId)), _JSON$parse2 = (0, _toArray3.default)(_JSON$parse), _alias = _JSON$parse2[0], _identifiers = _JSON$parse2.slice(1); | ||
_Type = getNodeType(_alias); | ||
if (_Type) { | ||
_context.next = 8; | ||
break; | ||
} | ||
if (_Type) { | ||
_context.next = 8; | ||
break; | ||
} | ||
throw new Error("Type not found"); | ||
throw new Error("Type not found"); | ||
case 8: | ||
resolver = nodeFetcherByTypeName[getNamedType(_Type).name]; | ||
_parsedResolveInfoFragment = parseResolveInfo(resolveInfo, {}, _Type); | ||
_context.next = 12; | ||
return resolver(data, _identifiers, context, _parsedResolveInfoFragment, resolveInfo.returnType); | ||
case 8: | ||
resolver = nodeFetcherByTypeName[getNamedType(_Type).name]; | ||
_parsedResolveInfoFragment = parseResolveInfo(resolveInfo, {}, _Type); | ||
_resolveData = getDataFromParsedResolveInfoFragment(_parsedResolveInfoFragment, getNamedType(_Type)); | ||
_context.next = 13; | ||
return resolver(data, _identifiers, context, _parsedResolveInfoFragment, resolveInfo.returnType, _resolveData); | ||
case 12: | ||
node = _context.sent; | ||
case 13: | ||
node = _context.sent; | ||
(0, _defineProperty2.default)(node, $$nodeType, { | ||
enumerable: false, | ||
configurable: false, | ||
value: _Type | ||
}); | ||
return _context.abrupt("return", node); | ||
(0, _defineProperty2.default)(node, $$nodeType, { | ||
enumerable: false, | ||
configurable: false, | ||
value: _Type | ||
}); | ||
return _context.abrupt("return", node); | ||
case 17: | ||
_context.prev = 17; | ||
_context.t0 = _context["catch"](3); | ||
return _context.abrupt("return", null); | ||
case 18: | ||
_context.prev = 18; | ||
_context.t0 = _context["catch"](3); | ||
return _context.abrupt("return", null); | ||
case 20: | ||
case "end": | ||
return _context.stop(); | ||
case 21: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
} | ||
}, _callee, _this, [[3, 17]]); | ||
}))(); | ||
} | ||
} | ||
}, _callee, _this, [[3, 18]]); | ||
}))(); | ||
} | ||
}; | ||
}) | ||
}); | ||
@@ -229,0 +234,0 @@ }); |
@@ -273,3 +273,3 @@ "use strict"; | ||
var _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, fn; | ||
var _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _fn; | ||
@@ -313,5 +313,5 @@ return _regenerator2.default.wrap(function _callee$(_context2) { | ||
fn = _step2.value; | ||
_fn = _step2.value; | ||
_context2.next = 17; | ||
return fn(this.triggerChange); | ||
return _fn(this.triggerChange); | ||
@@ -384,3 +384,3 @@ case 17: | ||
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() { | ||
var listener, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _iterator3, _step3, fn; | ||
var listener, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _iterator3, _step3, _fn2; | ||
@@ -425,5 +425,5 @@ return _regenerator2.default.wrap(function _callee2$(_context3) { | ||
fn = _step3.value; | ||
_fn2 = _step3.value; | ||
_context3.next = 17; | ||
return fn(this.triggerChange); | ||
return _fn2(this.triggerChange); | ||
@@ -430,0 +430,0 @@ case 17: |
@@ -71,3 +71,4 @@ "use strict"; | ||
data[k] = data[k] || []; | ||
const newData = ensureArray(result[k]); | ||
const value = result[k]; | ||
const newData = ensureArray(value); | ||
if (newData) { | ||
@@ -83,3 +84,11 @@ data[k].push(...newData); | ||
const ensureArray = val => val == null ? val : Array.isArray(val) ? val : [val]; | ||
function ensureArray(val) { | ||
if (val == null) { | ||
return; | ||
} else if (Array.isArray(val)) { | ||
return val; | ||
} else { | ||
return [val]; | ||
} | ||
} | ||
@@ -119,24 +128,2 @@ // eslint-disable-next-line no-unused-vars | ||
getAliasFromResolveInfo: _graphqlParseResolveInfo.getAliasFromResolveInfo, | ||
generateDataForType(Type, parsedResolveInfoFragment) { | ||
const StrippedType = getNamedType(Type); | ||
if (!StrippedType) { | ||
throw new Error(`Invalid type`); | ||
} | ||
const { fields } = this.simplifyParsedResolveInfoFragmentWithType(parsedResolveInfoFragment, StrippedType); | ||
const fieldDataGenerators = fieldDataGeneratorsByType.get(StrippedType) || {}; | ||
const data = {}; | ||
if (fieldDataGenerators) { | ||
for (const alias of (0, _keys2.default)(fields)) { | ||
const field = fields[alias]; | ||
const gens = fieldDataGenerators[field.name]; | ||
if (gens) { | ||
for (const gen of gens) { | ||
mergeData(data, gen, StrippedType, field); | ||
} | ||
} | ||
} | ||
} | ||
return data; | ||
}, | ||
resolveAlias(data, _args, _context, resolveInfo) { | ||
@@ -195,3 +182,3 @@ const alias = (0, _graphqlParseResolveInfo.getAliasFromResolveInfo)(resolveInfo); | ||
const fieldDataGenerators = fieldDataGeneratorsByType.get(StrippedType); | ||
if (fieldDataGenerators && StrippedType.getFields) { | ||
if (fieldDataGenerators && isCompositeType(StrippedType) && !isAbstractType(StrippedType)) { | ||
const typeFields = StrippedType.getFields(); | ||
@@ -205,3 +192,5 @@ for (const alias of (0, _keys2.default)(fields)) { | ||
const local = ensureArray(gen(field, typeFields[field.name].type, ...rest)); | ||
results.push(...local); | ||
if (local) { | ||
results.push(...local); | ||
} | ||
} | ||
@@ -262,2 +251,3 @@ } | ||
getDataFromParsedResolveInfoFragment: (parsedResolveInfoFragment, ReturnType) => { | ||
const Type = getNamedType(ReturnType); | ||
const data = {}; | ||
@@ -284,3 +274,2 @@ | ||
} | ||
const Type = getNamedType(finalSpec.type); | ||
const fieldDataGenerators = fieldDataGeneratorsByType.get(Type); | ||
@@ -351,3 +340,3 @@ if (fieldDataGenerators && isCompositeType(Type) && !isAbstractType(Type)) { | ||
Self, | ||
GraphQLObjectType: rawSpec, | ||
GraphQLInputObjectType: rawSpec, | ||
fieldWithHooks: (fieldName, spec, fieldScope = {}) => { | ||
@@ -354,0 +343,0 @@ if (!isString(fieldName)) { |
@@ -112,3 +112,6 @@ "use strict"; | ||
graphql: { GraphQLNonNull, GraphQLID, getNamedType } | ||
}, { scope: { isRootQuery } }) => { | ||
}, { | ||
scope: { isRootQuery }, | ||
fieldWithHooks | ||
}) => { | ||
if (!isRootQuery) { | ||
@@ -125,3 +128,3 @@ return fields; | ||
}, | ||
node: { | ||
node: fieldWithHooks("node", ({ getDataFromParsedResolveInfoFragment }) => ({ | ||
description: "Fetches an object given its globally unique `ID`.", | ||
@@ -148,3 +151,4 @@ type: getTypeByName("Node"), | ||
const parsedResolveInfoFragment = parseResolveInfo(resolveInfo, {}, Type); | ||
const node = await resolver(data, identifiers, context, parsedResolveInfoFragment, resolveInfo.returnType); | ||
const resolveData = getDataFromParsedResolveInfoFragment(parsedResolveInfoFragment, getNamedType(Type)); | ||
const node = await resolver(data, identifiers, context, parsedResolveInfoFragment, resolveInfo.returnType, resolveData); | ||
(0, _defineProperty2.default)(node, $$nodeType, { | ||
@@ -160,3 +164,3 @@ enumerable: false, | ||
} | ||
} | ||
})) | ||
}); | ||
@@ -163,0 +167,0 @@ }); |
{ | ||
"name": "graphile-build", | ||
"version": "0.1.0-alpha.15", | ||
"version": "0.1.0-alpha.17", | ||
"description": "Build a GraphQL schema from plugins", | ||
@@ -32,3 +32,3 @@ "main": "index.js", | ||
"debug": ">=2 <3", | ||
"graphql-parse-resolve-info": "^0.1.0-alpha.15", | ||
"graphql-parse-resolve-info": "^0.1.0-alpha.17", | ||
"graphql-type-json": "^0.1.4" | ||
@@ -35,0 +35,0 @@ }, |
graphile-build | ||
============= | ||
============== | ||
graphile-build provides you with a framework to build high-performance | ||
extensible GraphQL APIs by combining plugins and using advanced look-ahead | ||
features. Plugins may implement best practices (such as the Node interface) or | ||
might build parts of your schema automatically (e.g. `graphile-build-pg` which | ||
will automatically generate types and fields based on your PostgreSQL database | ||
schema). | ||
An example of an application built on `graphile-build` is [PostGraphQL | ||
v4+](https://github.com/postgraphql/postgraphql) which allows you to run just | ||
one command to instantly get a fully working and secure GraphQL API up and | ||
running based on your PostgreSQL database schema. | ||
**For in-depth documentation about `graphile-build`, please see [the graphile | ||
documentation website](https://www.graphile.org/).** | ||
The below just serves as a limited quick-reference for people already familiar | ||
with the library. | ||
Usage | ||
@@ -8,4 +26,4 @@ ----- | ||
The following [runnable example][] creates a plugin that hooks the | ||
'GraphQLObjectType:fields' event in the system and adds a 'random' field to every | ||
object everywhere (including the root Query). | ||
'GraphQLObjectType:fields' event in the system and adds a 'random' field to | ||
every object everywhere (including the root Query). | ||
@@ -103,54 +121,2 @@ ```js | ||
Hooks | ||
----- | ||
[(See hooks in the source)](https://github.com/graphile/graphile-build/blob/996e28f0af68f53e264170bd4528b6500ff3ef25/packages/graphile-build/SchemaBuilder.js#L11-L59) | ||
- `build`: The build object represents the current schema build and is passed | ||
to all hooks, hook the 'build' event to extend this object. | ||
- `init`: The init event is triggered after `build` (which should not generate | ||
any GraphQL objects) and can be used to build common object types that may be | ||
useful later. The argument to this is an empty object and should be passed | ||
through unmodified (it is ignored currently). | ||
- `GraphQLSchema`: This event defines the root-level schema; hook it to add `query`, | ||
`mutation`, `subscription` or similar GraphQL fields. | ||
- `GraphQLObjectType*`: When creating a GraphQLObjectType via | ||
`newWithHooks`, we'll execute, the following hooks: | ||
- `GraphQLObjectType` to add any root-level attributes, e.g. add a description | ||
- `GraphQLObjectType:interfaces` to add additional interfaces to this object type | ||
- `GraphQLObjectType:fields` to add additional fields to this object type (is | ||
ran asynchronously and gets a reference to the final GraphQL Object as | ||
`Self` in the context) | ||
- `GraphQLObjectType:fields:field`: to add any root-level attributes to an | ||
individual field, e.g. add a description | ||
- `GraphQLObjectType:fields:field:args` to add arguments to an individual field | ||
- `GraphQLInputObjectType*`: When creating a GraphQLInputObjectType via | ||
`newWithHooks`, we'll execute, the following hooks: | ||
- `GraphQLInputObjectType` to add any root-level attributes, e.g. add a description | ||
- `GraphQLInputObjectType:fields` to add additional fields to this object type (is | ||
ran asynchronously and gets a reference to the final GraphQL Object as | ||
`Self` in the context) | ||
- `GraphQLInputObjectType:fields:field`: to customize an individual field from above | ||
- `GraphQLEnumType*`: When creating a GraphQLEnumType via `newWithHooks`, | ||
we'll execute, the following hooks: | ||
- `GraphQLEnumType` to add any root-level attributes, e.g. add a description | ||
- `GraphQLEnumType:values` to add additional values | ||
Conventions | ||
----------- | ||
If you extend the build object (in the `build` event) or add details to the | ||
scope of a `newWithHooks` or `fieldWithHooks`, please prefix all | ||
keys with a namespace; for example `graphile-build-pg` uses the `pg` namespace | ||
prefix. Do not pollute other namespaces (unless you have their permission). | ||
[runnable example]: examples/README-1.js |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
327526
2534
121