From eb28c9020584aff82714e2116216c5373a13fb47 Mon Sep 17 00:00:00 2001 From: Jan Kassens Date: Fri, 1 Jul 2016 15:38:11 -0700 Subject: [PATCH] Sort keys in createStrictShapeTypeChecker message Summary: The keys were in random order which made this warning less useful when there are many keys. Reviewed By: spicyj Differential Revision: D3504322 fbshipit-source-id: c184aa447c985a0149cbfa8c90c6daf9632b6226 --- .../Utilities/createStrictShapeTypeChecker.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Libraries/Utilities/createStrictShapeTypeChecker.js b/Libraries/Utilities/createStrictShapeTypeChecker.js index b5fe14a1b..fcf909bef 100644 --- a/Libraries/Utilities/createStrictShapeTypeChecker.js +++ b/Libraries/Utilities/createStrictShapeTypeChecker.js @@ -46,14 +46,15 @@ function createStrictShapeTypeChecker( var allKeys = merge(props[propName], shapeTypes); for (var key in allKeys) { var checker = shapeTypes[key]; - if (!checker) { - invariant( - false, - `Invalid props.${propName} key \`${key}\` supplied to \`${componentName}\`.` + - `\nBad object: ` + JSON.stringify(props[propName], null, ' ') + - `\nValid keys: ` + JSON.stringify(Object.keys(shapeTypes), null, ' ') - ); - } + invariant( + checker, + 'Invalid props.%s key `%s` supplied to `%s`.\nBad object: %s\nValid keys: %s', + propName, + key, + componentName, + JSON.stringify(props[propName], null, ' '), + JSON.stringify(Object.keys(shapeTypes).sort(), null, ' '), + ); var error = checker(propValue, key, componentName, location); if (error) { invariant(