From 3abdd5c25dda8e01ad2d87da42790dd7367f64bc Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Wed, 12 Jun 2019 14:47:07 +0300 Subject: [PATCH] inspect: Handle 'null' explicitly --- src/jsutils/inspect.js | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/jsutils/inspect.js b/src/jsutils/inspect.js index ac279d1681..0e444898a9 100644 --- a/src/jsutils/inspect.js +++ b/src/jsutils/inspect.js @@ -19,6 +19,9 @@ function formatValue(value, seenValues) { case 'function': return value.name ? `[function ${value.name}]` : '[function]'; case 'object': + if (value === null) { + return 'null'; + } return formatObjectValue(value, seenValues); default: return String(value); @@ -29,29 +32,25 @@ function formatObjectValue(value, previouslySeenValues) { if (previouslySeenValues.indexOf(value) !== -1) { return '[Circular]'; } - const seenValues = [...previouslySeenValues, value]; - if (value) { - const customInspectFn = getCustomFn(value); + const seenValues = [...previouslySeenValues, value]; + const customInspectFn = getCustomFn(value); - if (customInspectFn !== undefined) { - // $FlowFixMe(>=0.90.0) - const customValue = customInspectFn.call(value); + if (customInspectFn !== undefined) { + // $FlowFixMe(>=0.90.0) + const customValue = customInspectFn.call(value); - // check for infinite recursion - if (customValue !== value) { - return typeof customValue === 'string' - ? customValue - : formatValue(customValue, seenValues); - } - } else if (Array.isArray(value)) { - return formatArray(value, seenValues); + // check for infinite recursion + if (customValue !== value) { + return typeof customValue === 'string' + ? customValue + : formatValue(customValue, seenValues); } - - return formatObject(value, seenValues); + } else if (Array.isArray(value)) { + return formatArray(value, seenValues); } - return String(value); + return formatObject(value, seenValues); } function formatObject(object, seenValues) {