@lonelyplanet/dotcom-core
Version:
This package is meant to house some of our more common UI and shared libs across dotcom applications.
52 lines (39 loc) • 1.06 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;
};
Object.defineProperty(exports, "__esModule", {
value: true
});
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;
};
exports.default = templateAreas;