diff options
author | Minteck <contact@minteck.org> | 2023-02-23 19:34:56 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2023-02-23 19:34:56 +0100 |
commit | 3d1cd02f27518f1a04374c7c8320cd5d82ede6e9 (patch) | |
tree | 75be5fba4368472fb11c8015aee026b2b9a71888 /school/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs | |
parent | 8cc1f13c17fa2fb5a4410542d39e650e02945634 (diff) | |
download | pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.gz pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.bz2 pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.zip |
Updated 40 files, added 37 files, deleted 1103 files and renamed 3905 files (automated)
Diffstat (limited to 'school/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs')
-rw-r--r-- | school/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/school/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs b/school/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs deleted file mode 100644 index bdddb2f..0000000 --- a/school/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs +++ /dev/null @@ -1,72 +0,0 @@ -import inspect from "../../jsutils/inspect.mjs"; -import { GraphQLError } from "../../error/GraphQLError.mjs"; -import { Kind } from "../../language/kinds.mjs"; -import { isNonNullType } from "../../type/definition.mjs"; -import { typeFromAST } from "../../utilities/typeFromAST.mjs"; -import { isTypeSubTypeOf } from "../../utilities/typeComparators.mjs"; - -/** - * Variables passed to field arguments conform to type - */ -export function VariablesInAllowedPositionRule(context) { - var varDefMap = Object.create(null); - return { - OperationDefinition: { - enter: function enter() { - varDefMap = Object.create(null); - }, - leave: function leave(operation) { - var usages = context.getRecursiveVariableUsages(operation); - - for (var _i2 = 0; _i2 < usages.length; _i2++) { - var _ref2 = usages[_i2]; - var node = _ref2.node; - var type = _ref2.type; - var defaultValue = _ref2.defaultValue; - var varName = node.name.value; - var varDef = varDefMap[varName]; - - if (varDef && type) { - // A var type is allowed if it is the same or more strict (e.g. is - // a subtype of) than the expected type. It can be more strict if - // the variable type is non-null when the expected type is nullable. - // If both are list types, the variable item type can be more strict - // than the expected item type (contravariant). - var schema = context.getSchema(); - var varType = typeFromAST(schema, varDef.type); - - if (varType && !allowedVariableUsage(schema, varType, varDef.defaultValue, type, defaultValue)) { - var varTypeStr = inspect(varType); - var typeStr = inspect(type); - context.reportError(new GraphQLError("Variable \"$".concat(varName, "\" of type \"").concat(varTypeStr, "\" used in position expecting type \"").concat(typeStr, "\"."), [varDef, node])); - } - } - } - } - }, - VariableDefinition: function VariableDefinition(node) { - varDefMap[node.variable.name.value] = node; - } - }; -} -/** - * Returns true if the variable is allowed in the location it was found, - * which includes considering if default values exist for either the variable - * or the location at which it is located. - */ - -function allowedVariableUsage(schema, varType, varDefaultValue, locationType, locationDefaultValue) { - if (isNonNullType(locationType) && !isNonNullType(varType)) { - var hasNonNullVariableDefaultValue = varDefaultValue != null && varDefaultValue.kind !== Kind.NULL; - var hasLocationDefaultValue = locationDefaultValue !== undefined; - - if (!hasNonNullVariableDefaultValue && !hasLocationDefaultValue) { - return false; - } - - var nullableLocationType = locationType.ofType; - return isTypeSubTypeOf(schema, varType, nullableLocationType); - } - - return isTypeSubTypeOf(schema, varType, locationType); -} |