infinity-forge
Version:
42 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = moduleExtendParams;
var utils_1 = require("../shared/utils.js");
function moduleExtendParams(params, allModulesParams) {
return function extendParams(obj) {
if (obj === void 0) { obj = {}; }
var moduleParamName = Object.keys(obj)[0];
var moduleParams = obj[moduleParamName];
if (typeof moduleParams !== 'object' || moduleParams === null) {
(0, utils_1.extend)(allModulesParams, obj);
return;
}
if (params[moduleParamName] === true) {
params[moduleParamName] = { enabled: true };
}
if (moduleParamName === 'navigation' &&
params[moduleParamName] &&
params[moduleParamName].enabled &&
!params[moduleParamName].prevEl &&
!params[moduleParamName].nextEl) {
params[moduleParamName].auto = true;
}
if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 &&
params[moduleParamName] &&
params[moduleParamName].enabled &&
!params[moduleParamName].el) {
params[moduleParamName].auto = true;
}
if (!(moduleParamName in params && 'enabled' in moduleParams)) {
(0, utils_1.extend)(allModulesParams, obj);
return;
}
if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
params[moduleParamName].enabled = true;
}
if (!params[moduleParamName])
params[moduleParamName] = { enabled: false };
(0, utils_1.extend)(allModulesParams, obj);
};
}
//# sourceMappingURL=moduleExtendParams.js.map