From 9e923dd0dc27eaad3d42c3b207f28ae66dc2fe93 Mon Sep 17 00:00:00 2001 From: Vladimir Guguiev Date: Sat, 11 Jun 2016 13:21:44 +0200 Subject: [PATCH] Use better names for components wrapped into HOC Currently the `displayName` of the component wrapped into HOC looks like `Constructor`, which isn't very descriptive. This PR introduces a better `displayName` for such components: `Formsy(ComponentName)` --- src/HOC.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/HOC.js b/src/HOC.js index df7f692..e8717a6 100644 --- a/src/HOC.js +++ b/src/HOC.js @@ -2,6 +2,7 @@ var React = global.React || require('react'); var Mixin = require('./Mixin.js'); module.exports = function (Component) { return React.createClass({ + displayName: 'Formsy(' + getDisplayName(Component) + ')', mixins: [Mixin], render: function () { return React.createElement(Component, { @@ -25,3 +26,11 @@ module.exports = function (Component) { } }); }; + +function getDisplayName(Component) { + return ( + Component.displayName || + Component.name || + (typeof Component === 'string' ? Component : 'Component') + ); +}