From 0995ea3ca395d2643291ba79245385233fc8dc54 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Sun, 19 Jul 2015 14:47:25 +0200 Subject: [PATCH] make sure that the requested page has been loaded before drawing it --- app/comic-book.js | 17 +++++++++++++++-- app/index.js | 1 - dist/comicbook.js | 18 +++++++++++++++--- dist/comicbook.js.map | 6 +++--- dist/comicbook.min.js | 4 ++-- dist/comicbook.min.js.map | 2 +- test/comic-book.test.js | 34 ++++++++++++++++++++++++---------- 7 files changed, 60 insertions(+), 22 deletions(-) diff --git a/app/comic-book.js b/app/comic-book.js index f4a0b46..c29e9c2 100644 --- a/app/comic-book.js +++ b/app/comic-book.js @@ -42,10 +42,12 @@ class ComicBook extends EventEmitter { } render () { + this.pageRendered = false this.el = document.createElement('div') this.el.appendChild(this.canvas.canvas) this.el.appendChild(this.progressBar.el) this.el.appendChild(this.loadIndicator.el) + this.drawPage() return this } @@ -53,6 +55,10 @@ class ComicBook extends EventEmitter { this.emit('preload:start') this.srcs.forEach((src, pageIndex) => { + + // allow preload to be run multiple times without duplicating requests + if (this.pages.has(pageIndex)) return + let image = new window.Image() image.src = src @@ -62,7 +68,7 @@ class ComicBook extends EventEmitter { this.pages.set(index, image) this.emit('preload:image', image) - if (this.pages.size === this.preloadBuffer) { + if (this.pages.size >= this.preloadBuffer && !this.pageRendered) { this.emit('preload:ready') } @@ -80,7 +86,13 @@ class ComicBook extends EventEmitter { drawPage (pageIndex) { if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex - let args = [ this.pages.get(pageIndex) ] + + let page = this.pages.get(pageIndex) + + // if the requested image hasn't been loaded yet, force another preload run + if (!page) return this.preload() + + let args = [ page ] if (this.options.doublePage) { args.push(this.pages.get(pageIndex + 1)) @@ -95,6 +107,7 @@ class ComicBook extends EventEmitter { try { this.canvas.drawImage.apply(this.canvas, args) this.currentPageIndex = pageIndex + this.pageRendered = true } catch (e) { if (e.message !== 'Invalid image') throw e } diff --git a/app/index.js b/app/index.js index d0ecae8..618e06f 100644 --- a/app/index.js +++ b/app/index.js @@ -14,7 +14,6 @@ let srcs = [ ] let comic = window.comic = new ComicBook(srcs, { doublePage: true }) -comic.preload() comic.render() document.addEventListener('DOMContentLoaded', () => { diff --git a/dist/comicbook.js b/dist/comicbook.js index 5652968..b1f9651 100644 --- a/dist/comicbook.js +++ b/dist/comicbook.js @@ -65,10 +65,12 @@ var ComicBook = (function (_EventEmitter) { }, { key: 'render', value: function render() { + this.pageRendered = false; this.el = document.createElement('div'); this.el.appendChild(this.canvas.canvas); this.el.appendChild(this.progressBar.el); this.el.appendChild(this.loadIndicator.el); + this.drawPage(); return this; } }, { @@ -79,6 +81,10 @@ var ComicBook = (function (_EventEmitter) { this.emit('preload:start'); this.srcs.forEach(function (src, pageIndex) { + + // allow preload to be run multiple times without duplicating requests + if (_this.pages.has(pageIndex)) return; + var image = new window.Image(); image.src = src; @@ -88,7 +94,7 @@ var ComicBook = (function (_EventEmitter) { this.pages.set(index, image); this.emit('preload:image', image); - if (this.pages.size === this.preloadBuffer) { + if (this.pages.size >= this.preloadBuffer && !this.pageRendered) { this.emit('preload:ready'); } @@ -108,7 +114,13 @@ var ComicBook = (function (_EventEmitter) { key: 'drawPage', value: function drawPage(pageIndex) { if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex; - var args = [this.pages.get(pageIndex)]; + + var page = this.pages.get(pageIndex); + + // if the requested image hasn't been loaded yet, force another preload run + if (!page) return this.preload(); + + var args = [page]; if (this.options.doublePage) { args.push(this.pages.get(pageIndex + 1)); @@ -123,6 +135,7 @@ var ComicBook = (function (_EventEmitter) { try { this.canvas.drawImage.apply(this.canvas, args); this.currentPageIndex = pageIndex; + this.pageRendered = true; } catch (e) { if (e.message !== 'Invalid image') throw e; } @@ -159,7 +172,6 @@ var ComicBook = window.ComicBook = require('./comic-book'); var srcs = ['https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg']; var comic = window.comic = new ComicBook(srcs, { doublePage: true }); -comic.preload(); comic.render(); document.addEventListener('DOMContentLoaded', function () { diff --git a/dist/comicbook.js.map b/dist/comicbook.js.map index 07b2041..240fc26 100644 --- a/dist/comicbook.js.map +++ b/dist/comicbook.js.map @@ -65,13 +65,13 @@ "node_modules/handlebars/runtime.js" ], "names": [], - "mappings": "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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", + "mappings": "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AAC,OAAO,GAAG,MAAM,CAAA;KAC/B;;;SAvBG,WAAW;;;AA0BjB,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA;;;AC5B5B;AACA;AACA;;ACFA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size === this.preloadBuffer) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage (pageIndex) {\n if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex\n let args = [ this.pages.get(pageIndex) ]\n\n if (this.options.doublePage) {\n args.push(this.pages.get(pageIndex + 1))\n\n if (this.options.rtl) {\n args.reverse()\n }\n }\n\n args.push(this.options)\n\n try {\n this.canvas.drawImage.apply(this.canvas, args)\n this.currentPageIndex = pageIndex\n } catch (e) {\n if (e.message !== 'Invalid image') throw e\n }\n }\n\n drawNextPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex + increment\n if (index >= this.pages.size) {\n index = this.pages.size - 1\n }\n this.drawPage(index)\n }\n\n drawPreviousPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex - increment\n if (index < 0) index = 0\n this.drawPage(index)\n }\n}\n\nmodule.exports = ComicBook\n\n", - "let ComicBook = window.ComicBook = require('./comic-book')\nlet srcs = [\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n]\nlet comic = window.comic = new ComicBook(srcs, { doublePage: true })\n\ncomic.preload()\ncomic.render()\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.el)\n}, false)\n\n", + "let EventEmitter = require('events').EventEmitter\nlet Canvas = require('./view/canvas')\nlet LoadIndicator = require('./view/load-indicator')\nlet ProgressBar = require('./view/progress-bar')\n\nclass ComicBook extends EventEmitter {\n\n constructor (srcs = [], options) {\n super()\n\n this.options = Object.assign({\n // manga mode\n rtl: false,\n doublePage: false\n }, options)\n\n // requested image srcs\n this.srcs = srcs\n\n // loaded image objects\n this.pages = new Map()\n\n this.preloadBuffer = 4\n\n // TODO move this logic into the router\n this.currentPageIndex = 0\n\n this.canvas = new Canvas()\n this.loadIndicator = new LoadIndicator()\n this.progressBar = new ProgressBar()\n\n this.addEventListeners()\n }\n\n addEventListeners () {\n this.on('preload:start', this.loadIndicator.show.bind(this.loadIndicator))\n this.on('preload:start', this.progressBar.show.bind(this.progressBar))\n this.on('preload:image', this.updateProgressBar.bind(this))\n this.on('preload:ready', this.loadIndicator.hide.bind(this.loadIndicator))\n this.on('preload:ready', this.drawPage.bind(this))\n this.on('preload:finish', this.progressBar.hide.bind(this.progressBar))\n }\n\n render () {\n this.pageRendered = false\n this.el = document.createElement('div')\n this.el.appendChild(this.canvas.canvas)\n this.el.appendChild(this.progressBar.el)\n this.el.appendChild(this.loadIndicator.el)\n this.drawPage()\n return this\n }\n\n preload () {\n this.emit('preload:start')\n\n this.srcs.forEach((src, pageIndex) => {\n\n // allow preload to be run multiple times without duplicating requests\n if (this.pages.has(pageIndex)) return\n\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size >= this.preloadBuffer && !this.pageRendered) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage (pageIndex) {\n if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex\n\n let page = this.pages.get(pageIndex)\n\n // if the requested image hasn't been loaded yet, force another preload run\n if (!page) return this.preload()\n\n let args = [ page ]\n\n if (this.options.doublePage) {\n args.push(this.pages.get(pageIndex + 1))\n\n if (this.options.rtl) {\n args.reverse()\n }\n }\n\n args.push(this.options)\n\n try {\n this.canvas.drawImage.apply(this.canvas, args)\n this.currentPageIndex = pageIndex\n this.pageRendered = true\n } catch (e) {\n if (e.message !== 'Invalid image') throw e\n }\n }\n\n drawNextPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex + increment\n if (index >= this.pages.size) {\n index = this.pages.size - 1\n }\n this.drawPage(index)\n }\n\n drawPreviousPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex - increment\n if (index < 0) index = 0\n this.drawPage(index)\n }\n}\n\nmodule.exports = ComicBook\n\n", + "let ComicBook = window.ComicBook = require('./comic-book')\nlet srcs = [\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n]\nlet comic = window.comic = new ComicBook(srcs, { doublePage: true })\n\ncomic.render()\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.el)\n}, false)\n\n", "let EventEmitter = require('events').EventEmitter\n\n// TODO replace\nfunction windowWidth () {\n return window.innerWidth\n}\n\nclass Canvas extends EventEmitter {\n\n constructor (options) {\n super()\n this.canvas = document.createElement('canvas')\n this.context = this.canvas.getContext('2d')\n }\n\n drawImage (page, page2, opts = {}) {\n this.emit('draw:start')\n\n if (!(page2 instanceof window.Image)) {\n opts = page2\n }\n\n let options = Object.assign({\n doublePage: false,\n zoomMode: 'fitWidth'\n }, opts)\n\n if (!(page instanceof window.Image) || (options.doublePage && !(page2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n let zoomScale\n let offsetW = 0\n let offsetH = 0\n let width = page.width\n let height = page.height\n let doublePageMode = options.doublePage\n let canvasWidth\n let canvasHeight\n let pageWidth\n let pageHeight\n\n // reset the canvas to stop duplicate pages showing\n this.canvas.width = 0\n this.canvas.height = 0\n\n // show double page spreads on a single page\n let isDoublePageSpread = (\n page2 &&\n (page.width > page.height || page2.width > page2.height) &&\n doublePageMode\n )\n\n if (isDoublePageSpread) doublePageMode = false\n\n if (doublePageMode) {\n\n // for double page spreads, factor in the width of both pages\n if (typeof page2 === 'object') {\n width += page2.width\n // if this is the last page and there is no page2, still keep the canvas wide\n } else {\n width += width\n }\n }\n\n // update the page this.scale if a non manual mode has been chosen\n switch (options.zoomMode) {\n\n case 'manual':\n document.body.style.overflowX = 'auto'\n zoomScale = (doublePageMode) ? this.scale * 2 : this.scale\n break\n\n case 'fitWidth':\n document.body.style.overflowX = 'hidden'\n\n // this.scale up if the window is wider than the page, scale down if the window\n // is narrower than the page\n zoomScale = (windowWidth() > width) ? ((windowWidth() - width) / windowWidth()) + 1 : windowWidth() / width\n this.scale = zoomScale\n break\n\n case 'fitWindow':\n document.body.style.overflowX = 'hidden'\n\n let widthScale = (windowWidth() > width)\n ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page\n : windowWidth() / width // scale down if the window is narrower than the page\n let windowHeight = window.innerHeight\n let heightScale = (windowHeight > height)\n ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page\n : windowHeight / height // scale down if the window is narrower than the page\n\n zoomScale = (widthScale > heightScale) ? heightScale : widthScale\n this.scale = zoomScale\n break\n }\n\n canvasWidth = page.width * zoomScale\n canvasHeight = page.height * zoomScale\n\n pageWidth = (options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth\n pageHeight = (options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight\n\n canvasHeight = pageHeight\n\n // make sure the canvas is always at least full screen, even if the page is narrower than the screen\n this.canvas.width = (canvasWidth < windowWidth()) ? windowWidth() : canvasWidth\n this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight\n\n // always keep pages centered\n if (options.zoomMode === 'manual' || options.zoomMode === 'fitWindow') {\n\n // work out a horizontal position\n if (canvasWidth < windowWidth()) {\n offsetW = (windowWidth() - pageWidth) / 2\n if (options.doublePage) { offsetW = offsetW - pageWidth / 2 }\n }\n\n // work out a vertical position\n if (canvasHeight < window.innerHeight) {\n offsetH = (window.innerHeight - pageHeight) / 2\n }\n }\n\n // draw the page(s)\n this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight)\n if (options.doublePage && typeof page2 === 'object') {\n this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\n", "let EventEmitter = require('events').EventEmitter\n\nclass LoadIndicator extends EventEmitter {\n constructor () {\n super()\n this.render().hide()\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.id = 'cb-loading-overlay'\n return this\n }\n\n show () {\n this.el.style.display = 'block'\n this.emit('show', this)\n }\n\n hide () {\n this.el.style.display = 'none'\n this.emit('hide', this)\n }\n}\n\nmodule.exports = LoadIndicator\n\n", "let template = require('./template/progress-bar.handlebars')\n\nclass ProgressBar {\n constructor () {\n this.createElements()\n this.hide()\n }\n\n createElements () {\n let el = document.createElement('div')\n el.innerHTML = template()\n this.el = el.firstChild\n this.progressEl = this.el.querySelector('.progressbar-value')\n }\n\n update (percentage) {\n this.progressEl.style.width = `${percentage}%`\n }\n\n show () {\n this.el.style.display = 'block'\n }\n\n hide () {\n this.el.style.display = 'none'\n }\n}\n\nmodule.exports = ProgressBar\n", diff --git a/dist/comicbook.min.js b/dist/comicbook.min.js index ed50d64..efda44c 100644 --- a/dist/comicbook.min.js +++ b/dist/comicbook.min.js @@ -1,3 +1,3 @@ -!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s=this.pages.size&&(t=this.pages.size-1),this.drawPage(t)}},{key:"drawPreviousPage",value:function(){var e=this.options.doublePage?2:1,t=this.currentPageIndex-e;0>t&&(t=0),this.drawPage(t)}}]),t}(c);t.exports=h},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,events:53}],2:[function(e,t,r){"use strict";var n=window.ComicBook=e("./comic-book"),i=["https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg"],o=window.comic=new n(i,{doublePage:!0});o.preload(),o.render(),document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(o.el)},!1)},{"./comic-book":1}],3:[function(e,t,r){"use strict";function n(){return window.innerWidth}var i=e("babel-runtime/helpers/get").default,o=e("babel-runtime/helpers/inherits").default,s=e("babel-runtime/helpers/create-class").default,a=e("babel-runtime/helpers/class-call-check").default,u=e("babel-runtime/core-js/object/assign").default,c=e("events").EventEmitter,l=function(e){function t(e){a(this,t),i(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d")}return o(t,e),s(t,[{key:"drawImage",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.emit("draw:start"),t instanceof window.Image||(r=t);var i=u({doublePage:!1,zoomMode:"fitWidth"},r);if(!(e instanceof window.Image)||i.doublePage&&!(t instanceof window.Image))throw new Error("Invalid image");var o=void 0,s=0,a=0,c=e.width,l=e.height,f=i.doublePage,d=void 0,h=void 0,p=void 0,m=void 0;this.canvas.width=0,this.canvas.height=0;var v=t&&(e.width>e.height||t.width>t.height)&&f;switch(v&&(f=!1),f&&(c+="object"==typeof t?t.width:c),i.zoomMode){case"manual":document.body.style.overflowX="auto",o=f?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",o=n()>c?(n()-c)/n()+1:n()/c,this.scale=o;break;case"fitWindow":document.body.style.overflowX="hidden";var g=n()>c?(n()-c)/n()+1:n()/c,b=window.innerHeight,y=b>l?(b-l)/b+1:b/l;o=g>y?y:g,this.scale=o}d=e.width*o,h=e.height*o,p="manual"===i.zoomMode?e.width*this.scale:d,m="manual"===i.zoomMode?e.height*this.scale:h,h=m,this.canvas.width=d= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,v)){if(!m(e))return"F";if(!t)return"E";p(e,v,++x)}return"O"+e[v]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,m=Object.isExtensible||h,v=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",x=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,m=f?"set":"add",v=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&v.forEach&&v.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[m],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in v&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in v&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,m),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,m=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in m||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,m[o]=f,h&&((m.prototype||(m.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,m,v){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,x=$[u]||$[c]||p&&$[p],_=x||g(p);if(x){var j=o.getProto(_.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||v)&&a.set($,_),d[t]=_,d[w]=o.that,p)if(b={keys:m?_:g(l),values:p==f?_:g(f),entries:p!=f?_:g("entries")},v)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?m:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,m=Math.floor,v=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),m=e("./handlebars/no-conflict"),v=i(m),g=n();g.create=n,v.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var v in e)e.hasOwnProperty(v)&&(h&&r(h,s-1),h=v,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,m=u.isFunction,v=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(v.call(e)===g){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t}, -unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b;var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],i=m.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),m=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=m},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); +!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s=this.preloadBuffer&&!this.pageRendered&&this.emit("preload:ready"),this.pages.size===this.srcs.length&&this.emit("preload:finish")}if(!e.pages.has(r)){var i=new window.Image;i.src=t,i.onload=n.bind(e,i,r)}})}},{key:"updateProgressBar",value:function(){var e=Math.floor(this.pages.size/this.srcs.length*100);this.progressBar.update(e)}},{key:"drawPage",value:function(e){"number"!=typeof e&&(e=this.currentPageIndex);var t=this.pages.get(e);if(!t)return this.preload();var r=[t];this.options.doublePage&&(r.push(this.pages.get(e+1)),this.options.rtl&&r.reverse()),r.push(this.options);try{this.canvas.drawImage.apply(this.canvas,r),this.currentPageIndex=e,this.pageRendered=!0}catch(e){if("Invalid image"!==e.message)throw e}}},{key:"drawNextPage",value:function(){var e=this.options.doublePage?2:1,t=this.currentPageIndex+e;t>=this.pages.size&&(t=this.pages.size-1),this.drawPage(t)}},{key:"drawPreviousPage",value:function(){var e=this.options.doublePage?2:1,t=this.currentPageIndex-e;0>t&&(t=0),this.drawPage(t)}}]),t}(c);t.exports=h},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,events:53}],2:[function(e,t,r){"use strict";var n=window.ComicBook=e("./comic-book"),i=["https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg"],o=window.comic=new n(i,{doublePage:!0});o.render(),document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(o.el)},!1)},{"./comic-book":1}],3:[function(e,t,r){"use strict";function n(){return window.innerWidth}var i=e("babel-runtime/helpers/get").default,o=e("babel-runtime/helpers/inherits").default,s=e("babel-runtime/helpers/create-class").default,a=e("babel-runtime/helpers/class-call-check").default,u=e("babel-runtime/core-js/object/assign").default,c=e("events").EventEmitter,l=function(e){function t(e){a(this,t),i(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d")}return o(t,e),s(t,[{key:"drawImage",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.emit("draw:start"),t instanceof window.Image||(r=t);var i=u({doublePage:!1,zoomMode:"fitWidth"},r);if(!(e instanceof window.Image)||i.doublePage&&!(t instanceof window.Image))throw new Error("Invalid image");var o=void 0,s=0,a=0,c=e.width,l=e.height,f=i.doublePage,d=void 0,h=void 0,p=void 0,v=void 0;this.canvas.width=0,this.canvas.height=0;var m=t&&(e.width>e.height||t.width>t.height)&&f;switch(m&&(f=!1),f&&(c+="object"==typeof t?t.width:c),i.zoomMode){case"manual":document.body.style.overflowX="auto",o=f?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",o=n()>c?(n()-c)/n()+1:n()/c,this.scale=o;break;case"fitWindow":document.body.style.overflowX="hidden";var g=n()>c?(n()-c)/n()+1:n()/c,b=window.innerHeight,y=b>l?(b-l)/b+1:b/l;o=g>y?y:g,this.scale=o}d=e.width*o,h=e.height*o,p="manual"===i.zoomMode?e.width*this.scale:d,v="manual"===i.zoomMode?e.height*this.scale:h,h=v,this.canvas.width=d= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,m)){if(!v(e))return"F";if(!t)return"E";p(e,m,++x)}return"O"+e[m]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,v=Object.isExtensible||h,m=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",x=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,v=f?"set":"add",m=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&m.forEach&&m.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[v],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in m&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in m&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,v),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,v=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in v||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,v[o]=f,h&&((v.prototype||(v.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,v,m){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,x=$[u]||$[c]||p&&$[p],_=x||g(p);if(x){var j=o.getProto(_.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||m)&&a.set($,_),d[t]=_,d[w]=o.that,p)if(b={keys:v?_:g(l),values:p==f?_:g(f),entries:p!=f?_:g("entries")},m)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?v:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,v=Math.floor,m=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?m(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),v=e("./handlebars/no-conflict"),m=i(v),g=n();g.create=n,m.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),v(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var m in e)e.hasOwnProperty(m)&&(h&&r(h,s-1),h=m,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return v(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){v(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,v=u.isFunction,m=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(m.call(e)===g){ +if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(m.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b;var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=v.REVISION_CHANGES[r],i=v.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?v.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),v=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?v(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var v=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=v},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); //# sourceMappingURL=dist/comicbook.min.js.map \ No newline at end of file diff --git a/dist/comicbook.min.js.map b/dist/comicbook.min.js.map index d626ac2..1cd7c4b 100644 --- a/dist/comicbook.min.js.map +++ b/dist/comicbook.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Object$assign","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","options","undefined","this","Object","getPrototypeOf","prototype","rtl","doublePage","pages","preloadBuffer","currentPageIndex","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","window","Image","onload","percentage","Math","floor","update","args","get","push","reverse","drawImage","apply","message","increment","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","preload","render","addEventListener","body","./comic-book",3,"windowWidth","innerWidth","context","getContext","page","page2","opts","arguments","zoomMode","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","has","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file +{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Object$assign","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","options","undefined","this","Object","getPrototypeOf","prototype","rtl","doublePage","pages","preloadBuffer","currentPageIndex","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","pageRendered","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","has","window","Image","onload","percentage","Math","floor","update","page","get","preload","args","push","reverse","drawImage","apply","message","increment","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","render","addEventListener","body","./comic-book",3,"windowWidth","innerWidth","context","getContext","page2","opts","arguments","zoomMode","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file diff --git a/test/comic-book.test.js b/test/comic-book.test.js index 052e4ce..e8483e2 100644 --- a/test/comic-book.test.js +++ b/test/comic-book.test.js @@ -96,6 +96,22 @@ describe('ComicBook', () => { }) }) + // FIXME + it.skip('should be able to run without reloading already loaded images', done => { + let comic = new ComicBook(srcs) + let loaded = 0 + + comic.on('preload:image', (image) => loaded++) + comic.on('preload:finish', () => { + assert.equal(loaded, srcs.length) + done() + }) + + comic.preload() + comic.preload() + comic.preload() + }) + it('should restart the preload from whatever page is requested') }) @@ -103,9 +119,15 @@ describe('ComicBook', () => { describe('drawPage()', () => { - it('should draw a given page', () => { - let comic = new ComicBook(srcs) + let comic + beforeEach(done => { + comic = new ComicBook(srcs) + comic.on('preload:finish', done) + comic.preload() + }) + + it('should draw a given page', () => { comic.canvas.drawImage = sinon.spy() comic.drawPage(1) @@ -115,8 +137,6 @@ describe('ComicBook', () => { }) it('should default to drawing the current page', () => { - let comic = new ComicBook(srcs) - comic.canvas.drawImage = sinon.spy() comic.currentPageIndex = 2 @@ -127,8 +147,6 @@ describe('ComicBook', () => { }) it('should update the current page index after drawing', () => { - let comic = new ComicBook(srcs) - comic.canvas.drawImage = () => {} comic.currentPageIndex = 1 @@ -138,8 +156,6 @@ describe('ComicBook', () => { }) it('should ignore "Invalid image" exceptions and not draw the page when they occur', () => { - let comic = new ComicBook(srcs) - comic.currentPageIndex = 1 assert.doesNotThrow(comic.drawPage.bind(comic, 666)) @@ -147,8 +163,6 @@ describe('ComicBook', () => { }) it('should throw all other exceptions and not draw the page when they occur', () => { - let comic = new ComicBook(srcs) - comic.canvas.drawImage = () => { throw new Error('Some other exception') } assert.throws(comic.drawPage.bind(comic))