diff --git a/src/execution/values.ts b/src/execution/values.ts index 5b2a1ceee2..06937b080d 100644 --- a/src/execution/values.ts +++ b/src/execution/values.ts @@ -206,7 +206,7 @@ export function getArgumentValues( fragmentVariableValues?: Maybe, hideSuggestions?: Maybe, ): { [argument: string]: unknown } { - const coercedValues: { [argument: string]: unknown } = {}; + const coercedValues: { [argument: string]: unknown } = Object.create(null); const argumentNodes = node.arguments ?? []; const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg])); @@ -224,7 +224,7 @@ export function getArgumentValues( hideSuggestions, ); } - return coercedValues; + return { ...coercedValues }; } // eslint-disable-next-line max-params diff --git a/src/utilities/coerceInputValue.ts b/src/utilities/coerceInputValue.ts index 87895c2262..aa2df09e57 100644 --- a/src/utilities/coerceInputValue.ts +++ b/src/utilities/coerceInputValue.ts @@ -69,7 +69,7 @@ export function coerceInputValue( return; // Invalid: intentionally return no value. } - const coercedValue: any = {}; + const coercedValue: any = Object.create(null); const fieldDefs = type.getFields(); const hasUndefinedField = Object.keys(inputValue).some( (name) => !Object.hasOwn(fieldDefs, name), @@ -109,7 +109,7 @@ export function coerceInputValue( } } - return coercedValue; + return { ...coercedValue }; } const leafType = assertLeafType(type);