const presentationFactory = (setup) => { return { setup : {}, presentation: { html: '', css: '', swiper: {} }, init: function (s) { this.setup = s; }, prepare: function() { let html = []; let css = []; this.setup.forEach( (slide, i) => { slideHtml = `
'; html.push(slideHtml); }); this.presentation.html = html.join('\n'); this.css = css.join('\n'); return this; }, apply: function() { document.querySelector(setup.selector).innerHTML = this.presentation.html; let swiper = new Swiper(this.presentation.swiper); console.info('presentation is ready!'); return this; } } }