From e77ae50311366b07225d15b19e330a3871123437 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Wed, 2 Mar 2022 00:57:28 +0200 Subject: [PATCH] Carousel: cleanup jQueryInterface Drop chained else ifs and unused variable. Since we were checking for `typeof config === 'string'` in both places, action was never `_config.slide`. --- js/src/carousel.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/js/src/carousel.js b/js/src/carousel.js index ea258527da..afe02f5b7b 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -442,17 +442,21 @@ class Carousel extends BaseComponent { } } - const action = typeof config === 'string' ? config : _config.slide - if (typeof config === 'number') { data.to(config) - } else if (typeof action === 'string') { - if (typeof data[action] === 'undefined') { - throw new TypeError(`No method named "${action}"`) + return + } + + if (typeof config === 'string') { + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`) } - data[action]() - } else if (_config.interval && _config.ride) { + data[config]() + return + } + + if (_config.interval && _config.ride) { data.pause() data.cycle() }