@zodash/load-image
Version:
Dynamic Load Image with Image
31 lines (30 loc) • 744 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadImage = void 0;
function _loadImage(url) {
return new Promise((resolve, reject) => {
const image = new Image();
image.onload = () => resolve({
url,
image,
});
image.onerror = reject;
image.src = url;
});
}
function _silent(fn, ...args) {
try {
return fn.call(null, ...args);
}
catch (error) {
return null;
}
}
async function loadImage(url) {
if (Array.isArray(url)) {
return await Promise.all(url.map((u) => _silent(_loadImage, u)));
}
return _silent(_loadImage, url);
}
exports.loadImage = loadImage;
exports.default = loadImage;