moduleExtendParams.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { extend } from '../shared/utils.js';
  2. export default function moduleExtendParams(params, allModulesParams) {
  3. return function extendParams(obj = {}) {
  4. const moduleParamName = Object.keys(obj)[0];
  5. const moduleParams = obj[moduleParamName];
  6. if (typeof moduleParams !== 'object' || moduleParams === null) {
  7. extend(allModulesParams, obj);
  8. return;
  9. }
  10. if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {
  11. params[moduleParamName] = {
  12. auto: true
  13. };
  14. }
  15. if (!(moduleParamName in params && 'enabled' in moduleParams)) {
  16. extend(allModulesParams, obj);
  17. return;
  18. }
  19. if (params[moduleParamName] === true) {
  20. params[moduleParamName] = {
  21. enabled: true
  22. };
  23. }
  24. if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
  25. params[moduleParamName].enabled = true;
  26. }
  27. if (!params[moduleParamName]) params[moduleParamName] = {
  28. enabled: false
  29. };
  30. extend(allModulesParams, obj);
  31. };
  32. }