From eaab1def7af7d7e1ab32ff69d043b46e2815ca22 Mon Sep 17 00:00:00 2001 From: fat Date: Wed, 13 May 2015 14:46:50 -0700 Subject: add simple type checker implementation --- js/dist/carousel.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'js/dist/carousel.js') diff --git a/js/dist/carousel.js b/js/dist/carousel.js index 87b5cc086..d12b95331 100644 --- a/js/dist/carousel.js +++ b/js/dist/carousel.js @@ -35,6 +35,14 @@ var Carousel = (function ($) { wrap: true }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: 'string', + wrap: 'boolean' + }; + var Direction = { NEXT: 'next', PREVIOUS: 'prev' @@ -86,7 +94,7 @@ var Carousel = (function ($) { this._isPaused = false; this._isSliding = false; - this._config = config; + this._config = this._getConfig(config); this._element = $(element)[0]; this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]; @@ -187,10 +195,17 @@ var Carousel = (function ($) { this._indicatorsElement = null; } }, { - key: '_addEventListeners', + key: '_getConfig', // private + value: function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + } + }, { + key: '_addEventListeners', value: function _addEventListeners() { if (this._config.keyboard) { $(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this)); -- cgit v1.2.3