"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.divWrapper = void 0; var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var addClassDecoratorSupport_1 = tslib_1.__importDefault(require("./addClassDecoratorSupport")); var h = React.createElement; var noWrap = function (Comp, propName, props, state) { var _a; return h(Comp, propName ? tslib_1.__assign((_a = {}, _a[propName] = state, _a), props) : tslib_1.__assign(tslib_1.__assign({}, state), props)); }; exports.divWrapper = function (Comp, propName, props, state) { return h('div', null, noWrap(Comp, propName, props, state)); }; var createEnhancer = function (Facc, prop, wrapper) { if (wrapper === void 0) { wrapper = noWrap; } var enhancer = function (Comp, propName, faccProps) { if (propName === void 0) { propName = prop; } if (faccProps === void 0) { faccProps = null; } var isClassDecoratorMethodCall = typeof Comp === 'string'; if (isClassDecoratorMethodCall) { return function (Klass) { return enhancer(Klass, Comp || prop, propName); }; } var Enhanced = function (props) { return h(Facc, faccProps, function (state) { return wrapper(Comp, propName, props, state); }); }; if (process.env.NODE_ENV !== 'production') { Enhanced.displayName = (Facc.displayName || Facc.name) + "(" + (Comp.displayName || Comp.name) + ")"; } return isClassDecoratorMethodCall ? addClassDecoratorSupport_1.default(Enhanced) : Enhanced; }; return enhancer; }; exports.default = createEnhancer; //# sourceMappingURL=createEnhancer.js.map