moduleExtendParams.js 1.0 KB

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