re-draw comic when page is resized
This commit is contained in:
parent
0995ea3ca3
commit
b2c5349113
7 changed files with 402 additions and 10 deletions
|
@ -1,4 +1,5 @@
|
||||||
let ComicBook = window.ComicBook = require('./comic-book')
|
let ComicBook = window.ComicBook = require('./comic-book')
|
||||||
|
let debounce = require('lodash.debounce')
|
||||||
let srcs = [
|
let 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_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_01.jpg',
|
||||||
|
@ -16,6 +17,8 @@ let comic = window.comic = new ComicBook(srcs, { doublePage: true })
|
||||||
|
|
||||||
comic.render()
|
comic.render()
|
||||||
|
|
||||||
|
window.addEventListener('resize', debounce(comic.drawPage.bind(comic), 100))
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
document.body.appendChild(comic.el)
|
document.body.appendChild(comic.el)
|
||||||
}, false)
|
}, false)
|
||||||
|
|
382
dist/comicbook.js
vendored
382
dist/comicbook.js
vendored
|
@ -169,16 +169,19 @@ module.exports = ComicBook;
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var ComicBook = window.ComicBook = require('./comic-book');
|
var ComicBook = window.ComicBook = require('./comic-book');
|
||||||
|
var debounce = require('lodash.debounce');
|
||||||
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 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 });
|
var comic = window.comic = new ComicBook(srcs, { doublePage: true });
|
||||||
|
|
||||||
comic.render();
|
comic.render();
|
||||||
|
|
||||||
|
window.addEventListener('resize', debounce(comic.drawPage.bind(comic), 100));
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
document.body.appendChild(comic.el);
|
document.body.appendChild(comic.el);
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
},{"./comic-book":1}],3:[function(require,module,exports){
|
},{"./comic-book":1,"lodash.debounce":63}],3:[function(require,module,exports){
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _get = require('babel-runtime/helpers/get')['default'];
|
var _get = require('babel-runtime/helpers/get')['default'];
|
||||||
|
@ -2452,5 +2455,380 @@ function appendContextPath(contextPath, id) {
|
||||||
// the runtime on a supported path.
|
// the runtime on a supported path.
|
||||||
module.exports = require('./dist/cjs/handlebars.runtime')['default'];
|
module.exports = require('./dist/cjs/handlebars.runtime')['default'];
|
||||||
|
|
||||||
},{"./dist/cjs/handlebars.runtime":54}]},{},[2])
|
},{"./dist/cjs/handlebars.runtime":54}],62:[function(require,module,exports){
|
||||||
|
/**
|
||||||
|
* lodash 3.9.1 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var funcTag = '[object Function]';
|
||||||
|
|
||||||
|
/** Used to detect host constructors (Safari > 5). */
|
||||||
|
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is object-like.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
||||||
|
*/
|
||||||
|
function isObjectLike(value) {
|
||||||
|
return !!value && typeof value == 'object';
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Used for native method references. */
|
||||||
|
var objectProto = Object.prototype;
|
||||||
|
|
||||||
|
/** Used to resolve the decompiled source of functions. */
|
||||||
|
var fnToString = Function.prototype.toString;
|
||||||
|
|
||||||
|
/** Used to check objects for own properties. */
|
||||||
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
|
||||||
|
* of values.
|
||||||
|
*/
|
||||||
|
var objToString = objectProto.toString;
|
||||||
|
|
||||||
|
/** Used to detect if a method is native. */
|
||||||
|
var reIsNative = RegExp('^' +
|
||||||
|
fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
|
||||||
|
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the native function at `key` of `object`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {Object} object The object to query.
|
||||||
|
* @param {string} key The key of the method to get.
|
||||||
|
* @returns {*} Returns the function if it's native, else `undefined`.
|
||||||
|
*/
|
||||||
|
function getNative(object, key) {
|
||||||
|
var value = object == null ? undefined : object[key];
|
||||||
|
return isNative(value) ? value : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Function` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isFunction(_);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isFunction(/abc/);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isFunction(value) {
|
||||||
|
// The use of `Object#toString` avoids issues with the `typeof` operator
|
||||||
|
// in older versions of Chrome and Safari which return 'function' for regexes
|
||||||
|
// and Safari 8 equivalents which return 'object' for typed array constructors.
|
||||||
|
return isObject(value) && objToString.call(value) == funcTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
|
||||||
|
* (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isObject({});
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject(1);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isObject(value) {
|
||||||
|
// Avoid a V8 JIT bug in Chrome 19-20.
|
||||||
|
// See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
|
||||||
|
var type = typeof value;
|
||||||
|
return !!value && (type == 'object' || type == 'function');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a native function.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a native function, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isNative(Array.prototype.push);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isNative(_);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isNative(value) {
|
||||||
|
if (value == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (isFunction(value)) {
|
||||||
|
return reIsNative.test(fnToString.call(value));
|
||||||
|
}
|
||||||
|
return isObjectLike(value) && reIsHostCtor.test(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = getNative;
|
||||||
|
|
||||||
|
},{}],63:[function(require,module,exports){
|
||||||
|
/**
|
||||||
|
* lodash 3.1.1 (Custom Build) <https://lodash.com/>
|
||||||
|
* Build: `lodash modern modularize exports="npm" -o ./`
|
||||||
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
|
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
|
* Available under MIT license <https://lodash.com/license>
|
||||||
|
*/
|
||||||
|
var getNative = require('lodash._getnative');
|
||||||
|
|
||||||
|
/** Used as the `TypeError` message for "Functions" methods. */
|
||||||
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
||||||
|
|
||||||
|
/* Native method references for those with the same name as other `lodash` methods. */
|
||||||
|
var nativeMax = Math.max,
|
||||||
|
nativeNow = getNative(Date, 'now');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the number of milliseconds that have elapsed since the Unix epoch
|
||||||
|
* (1 January 1970 00:00:00 UTC).
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Date
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.defer(function(stamp) {
|
||||||
|
* console.log(_.now() - stamp);
|
||||||
|
* }, _.now());
|
||||||
|
* // => logs the number of milliseconds it took for the deferred function to be invoked
|
||||||
|
*/
|
||||||
|
var now = nativeNow || function() {
|
||||||
|
return new Date().getTime();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a debounced function that delays invoking `func` until after `wait`
|
||||||
|
* milliseconds have elapsed since the last time the debounced function was
|
||||||
|
* invoked. The debounced function comes with a `cancel` method to cancel
|
||||||
|
* delayed invocations. Provide an options object to indicate that `func`
|
||||||
|
* should be invoked on the leading and/or trailing edge of the `wait` timeout.
|
||||||
|
* Subsequent calls to the debounced function return the result of the last
|
||||||
|
* `func` invocation.
|
||||||
|
*
|
||||||
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
||||||
|
* on the trailing edge of the timeout only if the the debounced function is
|
||||||
|
* invoked more than once during the `wait` timeout.
|
||||||
|
*
|
||||||
|
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
||||||
|
* for details over the differences between `_.debounce` and `_.throttle`.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Function
|
||||||
|
* @param {Function} func The function to debounce.
|
||||||
|
* @param {number} [wait=0] The number of milliseconds to delay.
|
||||||
|
* @param {Object} [options] The options object.
|
||||||
|
* @param {boolean} [options.leading=false] Specify invoking on the leading
|
||||||
|
* edge of the timeout.
|
||||||
|
* @param {number} [options.maxWait] The maximum time `func` is allowed to be
|
||||||
|
* delayed before it is invoked.
|
||||||
|
* @param {boolean} [options.trailing=true] Specify invoking on the trailing
|
||||||
|
* edge of the timeout.
|
||||||
|
* @returns {Function} Returns the new debounced function.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* // avoid costly calculations while the window size is in flux
|
||||||
|
* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
|
||||||
|
*
|
||||||
|
* // invoke `sendMail` when the click event is fired, debouncing subsequent calls
|
||||||
|
* jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
|
||||||
|
* 'leading': true,
|
||||||
|
* 'trailing': false
|
||||||
|
* }));
|
||||||
|
*
|
||||||
|
* // ensure `batchLog` is invoked once after 1 second of debounced calls
|
||||||
|
* var source = new EventSource('/stream');
|
||||||
|
* jQuery(source).on('message', _.debounce(batchLog, 250, {
|
||||||
|
* 'maxWait': 1000
|
||||||
|
* }));
|
||||||
|
*
|
||||||
|
* // cancel a debounced call
|
||||||
|
* var todoChanges = _.debounce(batchLog, 1000);
|
||||||
|
* Object.observe(models.todo, todoChanges);
|
||||||
|
*
|
||||||
|
* Object.observe(models, function(changes) {
|
||||||
|
* if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
|
||||||
|
* todoChanges.cancel();
|
||||||
|
* }
|
||||||
|
* }, ['delete']);
|
||||||
|
*
|
||||||
|
* // ...at some point `models.todo` is changed
|
||||||
|
* models.todo.completed = true;
|
||||||
|
*
|
||||||
|
* // ...before 1 second has passed `models.todo` is deleted
|
||||||
|
* // which cancels the debounced `todoChanges` call
|
||||||
|
* delete models.todo;
|
||||||
|
*/
|
||||||
|
function debounce(func, wait, options) {
|
||||||
|
var args,
|
||||||
|
maxTimeoutId,
|
||||||
|
result,
|
||||||
|
stamp,
|
||||||
|
thisArg,
|
||||||
|
timeoutId,
|
||||||
|
trailingCall,
|
||||||
|
lastCalled = 0,
|
||||||
|
maxWait = false,
|
||||||
|
trailing = true;
|
||||||
|
|
||||||
|
if (typeof func != 'function') {
|
||||||
|
throw new TypeError(FUNC_ERROR_TEXT);
|
||||||
|
}
|
||||||
|
wait = wait < 0 ? 0 : (+wait || 0);
|
||||||
|
if (options === true) {
|
||||||
|
var leading = true;
|
||||||
|
trailing = false;
|
||||||
|
} else if (isObject(options)) {
|
||||||
|
leading = !!options.leading;
|
||||||
|
maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
|
||||||
|
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
||||||
|
}
|
||||||
|
|
||||||
|
function cancel() {
|
||||||
|
if (timeoutId) {
|
||||||
|
clearTimeout(timeoutId);
|
||||||
|
}
|
||||||
|
if (maxTimeoutId) {
|
||||||
|
clearTimeout(maxTimeoutId);
|
||||||
|
}
|
||||||
|
lastCalled = 0;
|
||||||
|
maxTimeoutId = timeoutId = trailingCall = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
function complete(isCalled, id) {
|
||||||
|
if (id) {
|
||||||
|
clearTimeout(id);
|
||||||
|
}
|
||||||
|
maxTimeoutId = timeoutId = trailingCall = undefined;
|
||||||
|
if (isCalled) {
|
||||||
|
lastCalled = now();
|
||||||
|
result = func.apply(thisArg, args);
|
||||||
|
if (!timeoutId && !maxTimeoutId) {
|
||||||
|
args = thisArg = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function delayed() {
|
||||||
|
var remaining = wait - (now() - stamp);
|
||||||
|
if (remaining <= 0 || remaining > wait) {
|
||||||
|
complete(trailingCall, maxTimeoutId);
|
||||||
|
} else {
|
||||||
|
timeoutId = setTimeout(delayed, remaining);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function maxDelayed() {
|
||||||
|
complete(trailing, timeoutId);
|
||||||
|
}
|
||||||
|
|
||||||
|
function debounced() {
|
||||||
|
args = arguments;
|
||||||
|
stamp = now();
|
||||||
|
thisArg = this;
|
||||||
|
trailingCall = trailing && (timeoutId || !leading);
|
||||||
|
|
||||||
|
if (maxWait === false) {
|
||||||
|
var leadingCall = leading && !timeoutId;
|
||||||
|
} else {
|
||||||
|
if (!maxTimeoutId && !leading) {
|
||||||
|
lastCalled = stamp;
|
||||||
|
}
|
||||||
|
var remaining = maxWait - (stamp - lastCalled),
|
||||||
|
isCalled = remaining <= 0 || remaining > maxWait;
|
||||||
|
|
||||||
|
if (isCalled) {
|
||||||
|
if (maxTimeoutId) {
|
||||||
|
maxTimeoutId = clearTimeout(maxTimeoutId);
|
||||||
|
}
|
||||||
|
lastCalled = stamp;
|
||||||
|
result = func.apply(thisArg, args);
|
||||||
|
}
|
||||||
|
else if (!maxTimeoutId) {
|
||||||
|
maxTimeoutId = setTimeout(maxDelayed, remaining);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isCalled && timeoutId) {
|
||||||
|
timeoutId = clearTimeout(timeoutId);
|
||||||
|
}
|
||||||
|
else if (!timeoutId && wait !== maxWait) {
|
||||||
|
timeoutId = setTimeout(delayed, wait);
|
||||||
|
}
|
||||||
|
if (leadingCall) {
|
||||||
|
isCalled = true;
|
||||||
|
result = func.apply(thisArg, args);
|
||||||
|
}
|
||||||
|
if (isCalled && !timeoutId && !maxTimeoutId) {
|
||||||
|
args = thisArg = undefined;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
debounced.cancel = cancel;
|
||||||
|
return debounced;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
|
||||||
|
* (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isObject({});
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject([1, 2, 3]);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isObject(1);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isObject(value) {
|
||||||
|
// Avoid a V8 JIT bug in Chrome 19-20.
|
||||||
|
// See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
|
||||||
|
var type = typeof value;
|
||||||
|
return !!value && (type == 'object' || type == 'function');
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = debounce;
|
||||||
|
|
||||||
|
},{"lodash._getnative":62}]},{},[2])
|
||||||
//# sourceMappingURL=comicbook.js.map
|
//# sourceMappingURL=comicbook.js.map
|
||||||
|
|
12
dist/comicbook.js.map
vendored
12
dist/comicbook.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/comicbook.min.js
vendored
4
dist/comicbook.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/comicbook.min.js.map
vendored
2
dist/comicbook.min.js.map
vendored
File diff suppressed because one or more lines are too long
5
npm-shrinkwrap.json
generated
5
npm-shrinkwrap.json
generated
|
@ -1484,6 +1484,11 @@
|
||||||
"from": "lodash.assign@>=3.0.0 <4.0.0",
|
"from": "lodash.assign@>=3.0.0 <4.0.0",
|
||||||
"resolved": "http://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz"
|
"resolved": "http://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz"
|
||||||
},
|
},
|
||||||
|
"lodash.debounce": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"from": "lodash.debounce@*",
|
||||||
|
"resolved": "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz"
|
||||||
|
},
|
||||||
"lodash.isarguments": {
|
"lodash.isarguments": {
|
||||||
"version": "3.0.4",
|
"version": "3.0.4",
|
||||||
"from": "lodash.isarguments@>=3.0.0 <4.0.0",
|
"from": "lodash.isarguments@>=3.0.0 <4.0.0",
|
||||||
|
|
|
@ -61,5 +61,7 @@
|
||||||
"uglify-js": "^2.4.23",
|
"uglify-js": "^2.4.23",
|
||||||
"watchify": "http://registry.npmjs.org/watchify/-/watchify-3.2.3.tgz"
|
"watchify": "http://registry.npmjs.org/watchify/-/watchify-3.2.3.tgz"
|
||||||
},
|
},
|
||||||
"dependencies": {}
|
"dependencies": {
|
||||||
|
"lodash.debounce": "^3.1.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue