Socket
Socket
Sign inDemoInstall

graphile-build

Package Overview
Dependencies
Maintainers
1
Versions
167
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphile-build - npm Package Compare versions

Comparing version 0.1.0-alpha.15 to 0.1.0-alpha.17

234

node7minus/makeNewBuild.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc