@lonelyplanet/dotcom-core
Version:
This package is meant to house some of our more common UI and shared libs across dotcom applications.
40 lines (39 loc) • 1.17 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 templateAreas = function (areasArray, children) {
var _a;
var areas = {};
areasArray.forEach(function (area) {
areas[area] = null;
});
if (children) {
var theChildren = {};
if (Array.isArray(children)) {
theChildren = children.reduce(function (acc, child) {
var area = child ? child.props.area : null;
if (area) {
acc[area] = child;
}
return acc;
}, areas);
}
else {
if (children.props.area) {
var child = children;
var area = child.props.area;
theChildren = (_a = {},
_a[area] = child,
_a);
}
}
areas = __assign({}, areas, theChildren);
}
return areas;
};
export default templateAreas;