graphql-paper
Version:
A flexible in-memory store based on a GraphQL Schema
43 lines (42 loc) • 1.18 kB
JavaScript
import { getConnections } from '../document/get-connections.mjs';
var validateField = fieldValidators => {
return {
validate(_ref) {
var {
graphqlSchema,
type,
document,
store
} = _ref;
var graphqlTypeFields = type.getFields();
var _loop = function _loop() {
var field = graphqlTypeFields[fieldName];
var fieldValue = document[fieldName];
var connectionValue = getConnections(document)[fieldName];
fieldValidators.forEach(fieldValidator => {
if (fieldValidator.skipConnectionValue && connectionValue) {
return;
}
if (fieldValidator.skipNullValue && fieldValue == null) {
return;
}
fieldValidator.validate({
type,
field,
document,
fieldName: field.name,
fieldValue,
fieldConnections: connectionValue,
graphqlSchema,
store
});
});
};
for (var fieldName in graphqlTypeFields) {
_loop();
}
}
};
};
export { validateField };
//# sourceMappingURL=validate-field.mjs.map