UNPKG

@gechiui/compose

Version:
34 lines (29 loc) 991 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); /** * External dependencies */ /** * Given a function mapping a component to an enhanced component and modifier * name, returns the enhanced component augmented with a generated displayName. * * @param mapComponent Function mapping component to enhanced component. * @param modifierName Seed name from which to generated display name. * * @return Component class with generated display name assigned. */ function createHigherOrderComponent(mapComponent, modifierName) { return Inner => { const Outer = mapComponent(Inner); const displayName = Inner.displayName || Inner.name || 'Component'; Outer.displayName = `${(0, _lodash.upperFirst)((0, _lodash.camelCase)(modifierName))}(${displayName})`; return Outer; }; } var _default = createHigherOrderComponent; exports.default = _default; //# sourceMappingURL=index.js.map