react-compose-components
Version:
A utility to flatten component pyramids in React.
27 lines • 1.05 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var Compose = function (_a) {
var components = _a.components, children = _a.children;
return (components.reduceRight(function (prev, curr) {
if (Array.isArray(curr)) {
var Comp_1 = curr[0], props = curr[1];
return (react_1.default.createElement(Comp_1, __assign({}, props), prev));
}
var Comp = curr;
return (react_1.default.createElement(Comp, null, prev));
}, children));
};
exports.default = Compose;
//# sourceMappingURL=index.js.map