import { devAssert } from "/_nuxt/node_modules/graphql/jsutils/devAssert.mjs?v=e4f18c29"; import { GraphQLError } from "/_nuxt/node_modules/graphql/error/GraphQLError.mjs?v=e4f18c29"; import { visit, visitInParallel } from "/_nuxt/node_modules/graphql/language/visitor.mjs?v=e4f18c29"; import { assertValidSchema } from "/_nuxt/node_modules/graphql/type/validate.mjs?v=e4f18c29"; import { TypeInfo, visitWithTypeInfo } from "/_nuxt/node_modules/graphql/utilities/TypeInfo.mjs?v=e4f18c29"; import { specifiedRules, specifiedSDLRules } from "/_nuxt/node_modules/graphql/validation/specifiedRules.mjs?v=e4f18c29"; import { SDLValidationContext, ValidationContext, } from "/_nuxt/node_modules/graphql/validation/ValidationContext.mjs?v=e4f18c29"; /** * Implements the "Validation" section of the spec. * * Validation runs synchronously, returning an array of encountered errors, or * an empty array if no errors were encountered and the document is valid. * * A list of specific validation rules may be provided. If not provided, the * default list of rules defined by the GraphQL specification will be used. * * Each validation rules is a function which returns a visitor * (see the language/visitor API). Visitor methods are expected to return * GraphQLErrors, or Arrays of GraphQLErrors when invalid. * * Validate will stop validation after a `maxErrors` limit has been reached. * Attackers can send pathologically invalid queries to induce a DoS attack, * so by default `maxErrors` set to 100 errors. * * Optionally a custom TypeInfo instance may be provided. If not provided, one * will be created from the provided schema. */ export function validate( schema, documentAST, rules = specifiedRules, options, /** @deprecated will be removed in 17.0.0 */ typeInfo = new TypeInfo(schema), ) { var _options$maxErrors; const maxErrors = (_options$maxErrors = options === null || options === void 0 ? void 0 : options.maxErrors) !== null && _options$maxErrors !== void 0 ? _options$maxErrors : 100; documentAST || devAssert(false, 'Must provide document.'); // If the schema used for validation is invalid, throw an error. assertValidSchema(schema); const abortObj = Object.freeze({}); const errors = []; const context = new ValidationContext( schema, documentAST, typeInfo, (error) => { if (errors.length >= maxErrors) { errors.push( new GraphQLError( 'Too many validation errors, error limit reached. Validation aborted.', ), ); // eslint-disable-next-line @typescript-eslint/no-throw-literal throw abortObj; } errors.push(error); }, ); // This uses a specialized visitor which runs multiple visitors in parallel, // while maintaining the visitor skip and break API. const visitor = visitInParallel(rules.map((rule) => rule(context))); // Visit the whole document with each instance of all provided rules. try { visit(documentAST, visitWithTypeInfo(typeInfo, visitor)); } catch (e) { if (e !== abortObj) { throw e; } } return errors; } /** * @internal */ export function validateSDL( documentAST, schemaToExtend, rules = specifiedSDLRules, ) { const errors = []; const context = new SDLValidationContext( documentAST, schemaToExtend, (error) => { errors.push(error); }, ); const visitors = rules.map((rule) => rule(context)); visit(documentAST, visitInParallel(visitors)); return errors; } /** * Utility function which asserts a SDL document is valid by throwing an error * if it is invalid. * * @internal */ export function assertValidSDL(documentAST) { const errors = validateSDL(documentAST); if (errors.length !== 0) { throw new Error(errors.map((error) => error.message).join('\n\n')); } } /** * Utility function which asserts a SDL document is valid by throwing an error * if it is invalid. * * @internal */ export function assertValidSDLExtension(documentAST, schema) { const errors = validateSDL(documentAST, schema); if (errors.length !== 0) { throw new Error(errors.map((error) => error.message).join('\n\n')); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRlLm1qcz92PWU0ZjE4YzI5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRldkFzc2VydCB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvanN1dGlscy9kZXZBc3NlcnQubWpzP3Y9ZTRmMThjMjlcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvZXJyb3IvR3JhcGhRTEVycm9yLm1qcz92PWU0ZjE4YzI5XCI7XG5pbXBvcnQgeyB2aXNpdCwgdmlzaXRJblBhcmFsbGVsIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvZ3JhcGhxbC9sYW5ndWFnZS92aXNpdG9yLm1qcz92PWU0ZjE4YzI5XCI7XG5pbXBvcnQgeyBhc3NlcnRWYWxpZFNjaGVtYSB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvdHlwZS92YWxpZGF0ZS5tanM/dj1lNGYxOGMyOVwiO1xuaW1wb3J0IHsgVHlwZUluZm8sIHZpc2l0V2l0aFR5cGVJbmZvIH0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvZ3JhcGhxbC91dGlsaXRpZXMvVHlwZUluZm8ubWpzP3Y9ZTRmMThjMjlcIjtcbmltcG9ydCB7IHNwZWNpZmllZFJ1bGVzLCBzcGVjaWZpZWRTRExSdWxlcyB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvdmFsaWRhdGlvbi9zcGVjaWZpZWRSdWxlcy5tanM/dj1lNGYxOGMyOVwiO1xuaW1wb3J0IHtcbiAgU0RMVmFsaWRhdGlvbkNvbnRleHQsXG4gIFZhbGlkYXRpb25Db250ZXh0LFxufSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9ncmFwaHFsL3ZhbGlkYXRpb24vVmFsaWRhdGlvbkNvbnRleHQubWpzP3Y9ZTRmMThjMjlcIjtcbi8qKlxuICogSW1wbGVtZW50cyB0aGUgXCJWYWxpZGF0aW9uXCIgc2VjdGlvbiBvZiB0aGUgc3BlYy5cbiAqXG4gKiBWYWxpZGF0aW9uIHJ1bnMgc3luY2hyb25vdXNseSwgcmV0dXJuaW5nIGFuIGFycmF5IG9mIGVuY291bnRlcmVkIGVycm9ycywgb3JcbiAqIGFuIGVtcHR5IGFycmF5IGlmIG5vIGVycm9ycyB3ZXJlIGVuY291bnRlcmVkIGFuZCB0aGUgZG9jdW1lbnQgaXMgdmFsaWQuXG4gKlxuICogQSBsaXN0IG9mIHNwZWNpZmljIHZhbGlkYXRpb24gcnVsZXMgbWF5IGJlIHByb3ZpZGVkLiBJZiBub3QgcHJvdmlkZWQsIHRoZVxuICogZGVmYXVsdCBsaXN0IG9mIHJ1bGVzIGRlZmluZWQgYnkgdGhlIEdyYXBoUUwgc3BlY2lmaWNhdGlvbiB3aWxsIGJlIHVzZWQuXG4gKlxuICogRWFjaCB2YWxpZGF0aW9uIHJ1bGVzIGlzIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhIHZpc2l0b3JcbiAqIChzZWUgdGhlIGxhbmd1YWdlL3Zpc2l0b3IgQVBJKS4gVmlzaXRvciBtZXRob2RzIGFyZSBleHBlY3RlZCB0byByZXR1cm5cbiAqIEdyYXBoUUxFcnJvcnMsIG9yIEFycmF5cyBvZiBHcmFwaFFMRXJyb3JzIHdoZW4gaW52YWxpZC5cbiAqXG4gKiBWYWxpZGF0ZSB3aWxsIHN0b3AgdmFsaWRhdGlvbiBhZnRlciBhIGBtYXhFcnJvcnNgIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuXG4gKiBBdHRhY2tlcnMgY2FuIHNlbmQgcGF0aG9sb2dpY2FsbHkgaW52YWxpZCBxdWVyaWVzIHRvIGluZHVjZSBhIERvUyBhdHRhY2ssXG4gKiBzbyBieSBkZWZhdWx0IGBtYXhFcnJvcnNgIHNldCB0byAxMDAgZXJyb3JzLlxuICpcbiAqIE9wdGlvbmFsbHkgYSBjdXN0b20gVHlwZUluZm8gaW5zdGFuY2UgbWF5IGJlIHByb3ZpZGVkLiBJZiBub3QgcHJvdmlkZWQsIG9uZVxuICogd2lsbCBiZSBjcmVhdGVkIGZyb20gdGhlIHByb3ZpZGVkIHNjaGVtYS5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGUoXG4gIHNjaGVtYSxcbiAgZG9jdW1lbnRBU1QsXG4gIHJ1bGVzID0gc3BlY2lmaWVkUnVsZXMsXG4gIG9wdGlvbnMsXG4gIC8qKiBAZGVwcmVjYXRlZCB3aWxsIGJlIHJlbW92ZWQgaW4gMTcuMC4wICovXG4gIHR5cGVJbmZvID0gbmV3IFR5cGVJbmZvKHNjaGVtYSksXG4pIHtcbiAgdmFyIF9vcHRpb25zJG1heEVycm9ycztcblxuICBjb25zdCBtYXhFcnJvcnMgPVxuICAgIChfb3B0aW9ucyRtYXhFcnJvcnMgPVxuICAgICAgb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1heEVycm9ycykgIT09XG4gICAgICBudWxsICYmIF9vcHRpb25zJG1heEVycm9ycyAhPT0gdm9pZCAwXG4gICAgICA/IF9vcHRpb25zJG1heEVycm9yc1xuICAgICAgOiAxMDA7XG4gIGRvY3VtZW50QVNUIHx8IGRldkFzc2VydChmYWxzZSwgJ011c3QgcHJvdmlkZSBkb2N1bWVudC4nKTsgLy8gSWYgdGhlIHNjaGVtYSB1c2VkIGZvciB2YWxpZGF0aW9uIGlzIGludmFsaWQsIHRocm93IGFuIGVycm9yLlxuXG4gIGFzc2VydFZhbGlkU2NoZW1hKHNjaGVtYSk7XG4gIGNvbnN0IGFib3J0T2JqID0gT2JqZWN0LmZyZWV6ZSh7fSk7XG4gIGNvbnN0IGVycm9ycyA9IFtdO1xuICBjb25zdCBjb250ZXh0ID0gbmV3IFZhbGlkYXRpb25Db250ZXh0KFxuICAgIHNjaGVtYSxcbiAgICBkb2N1bWVudEFTVCxcbiAgICB0eXBlSW5mbyxcbiAgICAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvcnMubGVuZ3RoID49IG1heEVycm9ycykge1xuICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICBuZXcgR3JhcGhRTEVycm9yKFxuICAgICAgICAgICAgJ1RvbyBtYW55IHZhbGlkYXRpb24gZXJyb3JzLCBlcnJvciBsaW1pdCByZWFjaGVkLiBWYWxpZGF0aW9uIGFib3J0ZWQuJyxcbiAgICAgICAgICApLFxuICAgICAgICApOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRocm93LWxpdGVyYWxcblxuICAgICAgICB0aHJvdyBhYm9ydE9iajtcbiAgICAgIH1cblxuICAgICAgZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgIH0sXG4gICk7IC8vIFRoaXMgdXNlcyBhIHNwZWNpYWxpemVkIHZpc2l0b3Igd2hpY2ggcnVucyBtdWx0aXBsZSB2aXNpdG9ycyBpbiBwYXJhbGxlbCxcbiAgLy8gd2hpbGUgbWFpbnRhaW5pbmcgdGhlIHZpc2l0b3Igc2tpcCBhbmQgYnJlYWsgQVBJLlxuXG4gIGNvbnN0IHZpc2l0b3IgPSB2aXNpdEluUGFyYWxsZWwocnVsZXMubWFwKChydWxlKSA9PiBydWxlKGNvbnRleHQpKSk7IC8vIFZpc2l0IHRoZSB3aG9sZSBkb2N1bWVudCB3aXRoIGVhY2ggaW5zdGFuY2Ugb2YgYWxsIHByb3ZpZGVkIHJ1bGVzLlxuXG4gIHRyeSB7XG4gICAgdmlzaXQoZG9jdW1lbnRBU1QsIHZpc2l0V2l0aFR5cGVJbmZvKHR5cGVJbmZvLCB2aXNpdG9yKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZSAhPT0gYWJvcnRPYmopIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU0RMKFxuICBkb2N1bWVudEFTVCxcbiAgc2NoZW1hVG9FeHRlbmQsXG4gIHJ1bGVzID0gc3BlY2lmaWVkU0RMUnVsZXMsXG4pIHtcbiAgY29uc3QgZXJyb3JzID0gW107XG4gIGNvbnN0IGNvbnRleHQgPSBuZXcgU0RMVmFsaWRhdGlvbkNvbnRleHQoXG4gICAgZG9jdW1lbnRBU1QsXG4gICAgc2NoZW1hVG9FeHRlbmQsXG4gICAgKGVycm9yKSA9PiB7XG4gICAgICBlcnJvcnMucHVzaChlcnJvcik7XG4gICAgfSxcbiAgKTtcbiAgY29uc3QgdmlzaXRvcnMgPSBydWxlcy5tYXAoKHJ1bGUpID0+IHJ1bGUoY29udGV4dCkpO1xuICB2aXNpdChkb2N1bWVudEFTVCwgdmlzaXRJblBhcmFsbGVsKHZpc2l0b3JzKSk7XG4gIHJldHVybiBlcnJvcnM7XG59XG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gd2hpY2ggYXNzZXJ0cyBhIFNETCBkb2N1bWVudCBpcyB2YWxpZCBieSB0aHJvd2luZyBhbiBlcnJvclxuICogaWYgaXQgaXMgaW52YWxpZC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRTREwoZG9jdW1lbnRBU1QpIHtcbiAgY29uc3QgZXJyb3JzID0gdmFsaWRhdGVTREwoZG9jdW1lbnRBU1QpO1xuXG4gIGlmIChlcnJvcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9ycy5tYXAoKGVycm9yKSA9PiBlcnJvci5tZXNzYWdlKS5qb2luKCdcXG5cXG4nKSk7XG4gIH1cbn1cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbiB3aGljaCBhc3NlcnRzIGEgU0RMIGRvY3VtZW50IGlzIHZhbGlkIGJ5IHRocm93aW5nIGFuIGVycm9yXG4gKiBpZiBpdCBpcyBpbnZhbGlkLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRWYWxpZFNETEV4dGVuc2lvbihkb2N1bWVudEFTVCwgc2NoZW1hKSB7XG4gIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRlU0RMKGRvY3VtZW50QVNULCBzY2hlbWEpO1xuXG4gIGlmIChlcnJvcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9ycy5tYXAoKGVycm9yKSA9PiBlcnJvci5tZXNzYWdlKS5qb2luKCdcXG5cXG4nKSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENB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QUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0FBQ25FLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTztBQUN6RCxDQUFDO0FBQ0QsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPO0FBQzNFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNO0FBQzNFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTTtBQUM5QyxDQUFDO0FBQ0QsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFR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