Some checks failed
My Build All / build_windows (push) Has been cancelled
My Build All / build_linux_portable (push) Has been cancelled
My Build All / build_linux_appimage (push) Has been cancelled
My Build All / build_macos (push) Has been cancelled
My Build All / Publish release assets (push) Has been cancelled
Shellcheck / Shellcheck (push) Has been cancelled
38 lines
No EOL
1.1 KiB
JavaScript
38 lines
No EOL
1.1 KiB
JavaScript
import { extend } from '../shared/utils.js';
|
|
export default function moduleExtendParams(params, allModulesParams) {
|
|
return function extendParams(obj = {}) {
|
|
const moduleParamName = Object.keys(obj)[0];
|
|
const moduleParams = obj[moduleParamName];
|
|
|
|
if (typeof moduleParams !== 'object' || moduleParams === null) {
|
|
extend(allModulesParams, obj);
|
|
return;
|
|
}
|
|
|
|
if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {
|
|
params[moduleParamName] = {
|
|
auto: true
|
|
};
|
|
}
|
|
|
|
if (!(moduleParamName in params && 'enabled' in moduleParams)) {
|
|
extend(allModulesParams, obj);
|
|
return;
|
|
}
|
|
|
|
if (params[moduleParamName] === true) {
|
|
params[moduleParamName] = {
|
|
enabled: true
|
|
};
|
|
}
|
|
|
|
if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
|
|
params[moduleParamName].enabled = true;
|
|
}
|
|
|
|
if (!params[moduleParamName]) params[moduleParamName] = {
|
|
enabled: false
|
|
};
|
|
extend(allModulesParams, obj);
|
|
};
|
|
} |