blips
Version:
State management for the GraphQL heads
36 lines (25 loc) • 998 B
JavaScript
;
exports.__esModule = true;
exports.validateWithoutSchema = validateWithoutSchema;
var _getOperationASTs = require('./getOperationASTs');
var _rules = require('./rules');
function validateWithoutSchema(document) {
var operationCount = (0, _getOperationASTs.getOperationASTs)(document).length;
var knownFragmentNames = Object.create(null);
var errors = [];
for (var _iterator = document.definitions, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var node = _ref;
var err = (0, _rules.loneAnonymousOperation)(node, operationCount) || (0, _rules.uniqueFragmentNames)(node, knownFragmentNames) || (0, _rules.singleFieldSubscriptions)(node);
err && errors.push(err);
}
return errors;
}