Skip to content

Commit

Permalink
feat: use async
Browse files Browse the repository at this point in the history
  • Loading branch information
xicond committed Oct 6, 2022
1 parent 19812b4 commit 9e1cc53
Show file tree
Hide file tree
Showing 8 changed files with 761 additions and 503 deletions.
113 changes: 100 additions & 13 deletions dist/lazyload.amd.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
define(function () { 'use strict';

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}

if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}

function _asyncToGenerator(fn) {
return function () {
var self = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self, args);

function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}

function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}

_next(undefined);
});
};
}

function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
Expand Down Expand Up @@ -85,7 +121,7 @@ define(function () { 'use strict';

window.dispatchEvent(event);
};
/* Auto initialization of one or more instances of lazyload, depending on the
/* Auto initialization of one or more instances of LazyLoad, depending on the
options passed in (plain object or an array) */


Expand Down Expand Up @@ -423,7 +459,7 @@ define(function () { 'use strict';
});
element.style.backgroundImage = bgImageValues.join(); // Temporary fix for Chromeium with the -webkit- prefix

if (element.style.backgroundImage === '') {
if (element.style.backgroundImage === "") {
bgImageValues = imgSetValues.map(function (value) {
return "-webkit-image-set(".concat(value, ")");
});
Expand Down Expand Up @@ -659,7 +695,7 @@ define(function () { 'use strict';

var onEnter = function onEnter(element, entry, settings, instance) {
var dontLoad = hadStartedLoading(element);
/* Save status
/* Save status
before setting it, to prevent loading it again. Fixes #526. */

setStatus(element, statusEntered);
Expand Down Expand Up @@ -705,15 +741,49 @@ define(function () { 'use strict';
};

var intersectionHandler = function intersectionHandler(entries, settings, instance) {
entries.forEach(function (entry) {
return isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance);
});
entries.forEach( /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(entry) {
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", isIntersecting(entry) ? onEnter(entry.target, entry, settings, instance) : onExit(entry.target, entry, settings, instance));

case 1:
case "end":
return _context.stop();
}
}
}, _callee);
}));

return function (_x) {
return _ref.apply(this, arguments);
};
}());
};

var observeElements = function observeElements(observer, elements) {
elements.forEach(function (element) {
observer.observe(element);
});
elements.forEach( /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(element) {
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
observer.observe(element);

case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));

return function (_x2) {
return _ref2.apply(this, arguments);
};
}());
};
var updateObserver = function updateObserver(observer, elementsToObserve) {
resetObserver(observer);
Expand Down Expand Up @@ -750,10 +820,27 @@ define(function () { 'use strict';

var retryLazyLoad = function retryLazyLoad(settings, instance) {
var errorElements = filterErrorElements(queryElements(settings));
errorElements.forEach(function (element) {
removeClass(element, settings.class_error);
resetStatus(element);
});
errorElements.forEach( /*#__PURE__*/function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(element) {
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
removeClass(element, settings.class_error);
resetStatus(element);

case 2:
case "end":
return _context.stop();
}
}
}, _callee);
}));

return function (_x) {
return _ref.apply(this, arguments);
};
}());
instance.update();
};
var setOnlineCheck = function setOnlineCheck(settings, instance) {
Expand Down
2 changes: 1 addition & 1 deletion dist/lazyload.amd.min.js

Large diffs are not rendered by default.

Loading

0 comments on commit 9e1cc53

Please sign in to comment.