moduleExtendParams.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { extend } from '../shared/utils.js';
  2. export default function moduleExtendParams(params, allModulesParams) {
  3. return function extendParams(obj) {
  4. if (obj === void 0) {
  5. obj = {};
  6. }
  7. const moduleParamName = Object.keys(obj)[0];
  8. const moduleParams = obj[moduleParamName];
  9. if (typeof moduleParams !== 'object' || moduleParams === null) {
  10. extend(allModulesParams, obj);
  11. return;
  12. }
  13. if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === 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. }