From 1adf648b33e11d0b2524af310bf6c9adc7a7a18b Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Sun, 21 Feb 2021 17:45:18 +0200 Subject: [PATCH] inspect: improve typings for `toJSON` call --- src/jsutils/inspect.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/jsutils/inspect.js b/src/jsutils/inspect.js index d36a535741..03cc2d7b5f 100644 --- a/src/jsutils/inspect.js +++ b/src/jsutils/inspect.js @@ -17,9 +17,6 @@ function formatValue(value: mixed, seenValues: Array): string { case 'function': return value.name ? `[function ${value.name}]` : '[function]'; case 'object': - if (value === null) { - return 'null'; - } return formatObjectValue(value, seenValues); default: return String(value); @@ -30,6 +27,10 @@ function formatObjectValue( value: Object, previouslySeenValues: Array, ): string { + if (value === null) { + return 'null'; + } + if (previouslySeenValues.indexOf(value) !== -1) { return '[Circular]'; } @@ -37,7 +38,7 @@ function formatObjectValue( const seenValues = [...previouslySeenValues, value]; if (typeof value.toJSON === 'function') { - const jsonValue = value.toJSON(value); + const jsonValue = (value.toJSON: () => mixed)(); // check for infinite recursion if (jsonValue !== value) {