Socket
Socket
Sign inDemoInstall

curtail

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

curtail - npm Package Compare versions

Comparing version 3.1.5 to 3.2.0

8

CHANGELOG.md

@@ -0,1 +1,9 @@

3.2.0 / 2019-11-14
==================
* [MISC] Moved logo to graphics repository.
* [MISC] Cleaned up old info in README.
* [MISC] Added more badges to README.
* [MISC] Updated dev dependencies to their latest version.
* [MISC] Updated license year to reflect year change.
3.1.5 / 2019-11-14

@@ -2,0 +10,0 @@ ==================

720

curtail.js

@@ -735,2 +735,40 @@ function createCommonjsModule(fn, module) {

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);
});
};
}
var asyncToGenerator = _asyncToGenerator;
function _classCallCheck(instance, Constructor) {

@@ -745,12 +783,10 @@ if (!(instance instanceof Constructor)) {

var _typeof_1 = createCommonjsModule(function (module) {
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
function _typeof(obj) {
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
module.exports = _typeof = function _typeof(obj) {
return _typeof2(obj);
return typeof obj;
};
} else {
module.exports = _typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};

@@ -909,26 +945,35 @@ }

function loadImage(path, crossOrigin) {
var image;
return regenerator.async(function loadImage$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
image = new Image();
return _context.abrupt("return", new Promise(function (resolve, reject) {
image.addEventListener('load', function () {
resolve(image);
});
image.addEventListener('error', function (error) {
reject(error);
});
image.src = path;
if (crossOrigin) image.crossOrigin = crossOrigin;
}));
function loadImage(_x, _x2) {
return _loadImage.apply(this, arguments);
}
case 2:
case "end":
return _context.stop();
function _loadImage() {
_loadImage = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, crossOrigin) {
var image;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
image = new Image();
return _context.abrupt("return", new Promise(function (resolve, reject) {
image.addEventListener('load', function () {
resolve(image);
});
image.addEventListener('error', function (error) {
reject(error);
});
image.src = path;
if (crossOrigin) image.crossOrigin = crossOrigin;
}));
case 2:
case "end":
return _context.stop();
}
}
}
});
}, _callee);
}));
return _loadImage.apply(this, arguments);
}

@@ -972,73 +1017,82 @@

function pad(path, padding) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
paddedImage,
imageLink,
_args = arguments;
function pad(_x, _x2) {
return _pad.apply(this, arguments);
}
return regenerator.async(function pad$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new PadOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _pad() {
_pad = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, padding) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
paddedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
canvas.width = image.width + padding * 2;
canvas.height = image.height + padding * 2;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new PadOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return loadImage(path, _options.crossOrigin);
if (_options.paddingColor !== 'transparent') {
ctx.fillStyle = _options.paddingColor;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 8:
image = _context.sent;
canvas.width = image.width + padding * 2;
canvas.height = image.height + padding * 2;
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2, image.width, image.height);
_context.prev = 13;
_context.next = 16;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(fileInfo.ext))));
if (_options.paddingColor !== 'transparent') {
ctx.fillStyle = _options.paddingColor;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 16:
paddedImage = _context.sent;
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2, image.width, image.height);
_context.prev = 13;
_context.next = 16;
return loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 16:
paddedImage = _context.sent;
return _context.abrupt("return", paddedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](13);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", paddedImage);
case 24:
_context.next = 29;
break;
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](13);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 26:
_context.prev = 26;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 24:
_context.next = 29;
break;
case 29:
case "end":
return _context.stop();
case 26:
_context.prev = 26;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 29:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 26], [13, 21]]);
}, _callee, null, [[5, 26], [13, 21]]);
}));
return _pad.apply(this, arguments);
}

@@ -1061,67 +1115,76 @@

function crop(path, x, y, width, height) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
croppedImage,
imageLink,
_args = arguments;
function crop(_x, _x2, _x3, _x4, _x5) {
return _crop.apply(this, arguments);
}
return regenerator.async(function crop$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 5 && _args[5] !== undefined ? _args[5] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _crop() {
_crop = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, x, y, width, height) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
croppedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
canvas.width = width;
canvas.height = height;
ctx.drawImage(image, x, y, width, height, 0, 0, width, height);
_context.prev = 12;
_context.next = 15;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream')));
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 5 && _args[5] !== undefined ? _args[5] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return loadImage(path, _options.crossOrigin);
case 15:
croppedImage = _context.sent;
case 8:
image = _context.sent;
canvas.width = width;
canvas.height = height;
ctx.drawImage(image, x, y, width, height, 0, 0, width, height);
_context.prev = 12;
_context.next = 15;
return loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream'));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = croppedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 15:
croppedImage = _context.sent;
return _context.abrupt("return", croppedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = croppedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 20:
_context.prev = 20;
_context.t0 = _context["catch"](12);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", croppedImage);
case 23:
_context.next = 28;
break;
case 20:
_context.prev = 20;
_context.t0 = _context["catch"](12);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 25:
_context.prev = 25;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 23:
_context.next = 28;
break;
case 28:
case "end":
return _context.stop();
case 25:
_context.prev = 25;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 28:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 25], [12, 20]]);
}, _callee, null, [[5, 25], [12, 20]]);
}));
return _crop.apply(this, arguments);
}

@@ -1214,60 +1277,69 @@

function resize(path, dimension, size) {
var options,
_options,
fileInfo,
image,
aspectRatio,
imageLink,
_args = arguments;
function resize(_x, _x2, _x3) {
return _resize.apply(this, arguments);
}
return regenerator.async(function resize$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
_options = new CropOptions(options);
fileInfo = extractFileInfo(path);
_context.prev = 3;
_context.next = 6;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _resize() {
_resize = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, dimension, size) {
var options,
_options,
fileInfo,
image,
aspectRatio,
imageLink,
_args = arguments;
case 6:
image = _context.sent;
aspectRatio = simplify(image.width, image.height);
_context.t0 = dimension;
_context.next = _context.t0 === 'width' ? 11 : _context.t0 === 'height' ? 14 : 17;
break;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
_options = new CropOptions(options);
fileInfo = extractFileInfo(path);
_context.prev = 3;
_context.next = 6;
return loadImage(path, _options.crossOrigin);
case 11:
image.width = size;
if (_options.preserveAspectRatio) image.height = Math.round(aspectRatio.denominator / aspectRatio.numerator * size);
return _context.abrupt("break", 17);
case 6:
image = _context.sent;
aspectRatio = simplify(image.width, image.height);
_context.t0 = dimension;
_context.next = _context.t0 === 'width' ? 11 : _context.t0 === 'height' ? 14 : 17;
break;
case 14:
image.height = size;
if (_options.preserveAspectRatio) image.width = Math.round(aspectRatio.numerator / aspectRatio.denominator * size);
return _context.abrupt("break", 17);
case 11:
image.width = size;
if (_options.preserveAspectRatio) image.height = Math.round(aspectRatio.denominator / aspectRatio.numerator * size);
return _context.abrupt("break", 17);
case 17:
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 14:
image.height = size;
if (_options.preserveAspectRatio) image.width = Math.round(aspectRatio.numerator / aspectRatio.denominator * size);
return _context.abrupt("break", 17);
return _context.abrupt("return", image);
case 17:
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
_context.prev = 21;
_context.t1 = _context["catch"](3);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", image);
case 24:
case "end":
return _context.stop();
case 21:
_context.prev = 21;
_context.t1 = _context["catch"](3);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 24:
case "end":
return _context.stop();
}
}
}
}, null, null, [[3, 21]]);
}, _callee, null, [[3, 21]]);
}));
return _resize.apply(this, arguments);
}

@@ -1285,74 +1357,83 @@

function rotate(path, angle) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
largestSide,
rotatedImage,
imageLink,
_args = arguments;
function rotate(_x, _x2) {
return _rotate.apply(this, arguments);
}
return regenerator.async(function rotate$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _rotate() {
_rotate = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, angle) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
largestSide,
rotatedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
largestSide = image.width;
if (image.height > image.width) largestSide = image.height;
canvas.width, canvas.height = largestSide;
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(angle * Math.PI / 180);
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2);
ctx.restore();
_context.prev = 18;
_context.next = 21;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream')));
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return loadImage(path, _options.crossOrigin);
case 21:
rotatedImage = _context.sent;
case 8:
image = _context.sent;
largestSide = image.width;
if (image.height > image.width) largestSide = image.height;
canvas.width, canvas.height = largestSide;
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(angle * Math.PI / 180);
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2);
ctx.restore();
_context.prev = 18;
_context.next = 21;
return loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream'));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = rotatedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
rotatedImage = _context.sent;
return _context.abrupt("return", rotatedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = rotatedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 26:
_context.prev = 26;
_context.t0 = _context["catch"](18);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", rotatedImage);
case 29:
_context.next = 34;
break;
case 26:
_context.prev = 26;
_context.t0 = _context["catch"](18);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 31:
_context.prev = 31;
_context.t1 = _context["catch"](5);
throw new Error('There was an error loading the image, please check to make sure the path is valid and try again.');
case 29:
_context.next = 34;
break;
case 34:
case "end":
return _context.stop();
case 31:
_context.prev = 31;
_context.t1 = _context["catch"](5);
throw new Error('There was an error loading the image, please check to make sure the path is valid and try again.');
case 34:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 31], [18, 26]]);
}, _callee, null, [[5, 31], [18, 26]]);
}));
return _rotate.apply(this, arguments);
}

@@ -1372,79 +1453,88 @@

function convert(path, format) {
var options,
fileInfo,
_options,
canvas,
ctx,
nonTransparentFormats,
image,
f,
convertedImage,
imageLink,
_args = arguments;
function convert(_x, _x2) {
return _convert.apply(this, arguments);
}
return regenerator.async(function convert$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
fileInfo = extractFileInfo(path);
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
nonTransparentFormats = ['jpg', 'jpeg', 'gif', 'bmp'];
_context.prev = 6;
_context.next = 9;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _convert() {
_convert = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, format) {
var options,
fileInfo,
_options,
canvas,
ctx,
nonTransparentFormats,
image,
f,
convertedImage,
imageLink,
_args = arguments;
case 9:
image = _context.sent;
canvas.width = image.width;
canvas.height = image.height;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
fileInfo = extractFileInfo(path);
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
nonTransparentFormats = ['jpg', 'jpeg', 'gif', 'bmp'];
_context.prev = 6;
_context.next = 9;
return loadImage(path, _options.crossOrigin);
if (nonTransparentFormats.includes(format)) {
ctx.fillStyle = '#FFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 9:
image = _context.sent;
canvas.width = image.width;
canvas.height = image.height;
ctx.drawImage(image, 0, 0);
_context.prev = 14;
f = format === 'png' ? 'png' : 'jpeg';
_context.next = 18;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(f))));
if (nonTransparentFormats.includes(format)) {
ctx.fillStyle = '#FFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 18:
convertedImage = _context.sent;
ctx.drawImage(image, 0, 0);
_context.prev = 14;
f = format === 'png' ? 'png' : 'jpeg';
_context.next = 18;
return loadImage(canvas.toDataURL("image/".concat(f)));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = convertedImage.src;
imageLink.download = fileInfo.name + '.' + format;
imageLink.click();
}
case 18:
convertedImage = _context.sent;
return _context.abrupt("return", convertedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = convertedImage.src;
imageLink.download = fileInfo.name + '.' + format;
imageLink.click();
}
case 23:
_context.prev = 23;
_context.t0 = _context["catch"](14);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", convertedImage);
case 26:
_context.next = 31;
break;
case 23:
_context.prev = 23;
_context.t0 = _context["catch"](14);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 28:
_context.prev = 28;
_context.t1 = _context["catch"](6);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 26:
_context.next = 31;
break;
case 31:
case "end":
return _context.stop();
case 28:
_context.prev = 28;
_context.t1 = _context["catch"](6);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 31:
case "end":
return _context.stop();
}
}
}
}, null, null, [[6, 28], [14, 23]]);
}, _callee, null, [[6, 28], [14, 23]]);
}));
return _convert.apply(this, arguments);
}
export { convert, crop, pad, resize, rotate };

@@ -12,2 +12,4 @@ 'use strict';

var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _PadOptions = _interopRequireDefault(require("../options/PadOptions"));

@@ -33,74 +35,83 @@

*/
function pad(path, padding) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
paddedImage,
imageLink,
_args = arguments;
function pad(_x, _x2) {
return _pad.apply(this, arguments);
}
return _regenerator["default"].async(function pad$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new _PadOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 5;
_context.next = 8;
return _regenerator["default"].awrap((0, _load.loadImage)(path, _options.crossOrigin));
function _pad() {
_pad = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee(path, padding) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
paddedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
canvas.width = image.width + padding * 2;
canvas.height = image.height + padding * 2;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new _PadOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 5;
_context.next = 8;
return (0, _load.loadImage)(path, _options.crossOrigin);
if (_options.paddingColor !== 'transparent') {
ctx.fillStyle = _options.paddingColor;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 8:
image = _context.sent;
canvas.width = image.width + padding * 2;
canvas.height = image.height + padding * 2;
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2, image.width, image.height);
_context.prev = 13;
_context.next = 16;
return _regenerator["default"].awrap((0, _load.loadImage)(canvas.toDataURL("image/".concat(fileInfo.ext))));
if (_options.paddingColor !== 'transparent') {
ctx.fillStyle = _options.paddingColor;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 16:
paddedImage = _context.sent;
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2, image.width, image.height);
_context.prev = 13;
_context.next = 16;
return (0, _load.loadImage)(canvas.toDataURL("image/".concat(fileInfo.ext)));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 16:
paddedImage = _context.sent;
return _context.abrupt("return", paddedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](13);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", paddedImage);
case 24:
_context.next = 29;
break;
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](13);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 26:
_context.prev = 26;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 24:
_context.next = 29;
break;
case 29:
case "end":
return _context.stop();
case 26:
_context.prev = 26;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 29:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 26], [13, 21]]);
}, _callee, null, [[5, 26], [13, 21]]);
}));
return _pad.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0ZS9wYWQudHMiXSwibmFtZXMiOlsicGFkIiwicGF0aCIsInBhZGRpbmciLCJvcHRpb25zIiwiX29wdGlvbnMiLCJQYWRPcHRpb25zIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3R4IiwiZ2V0Q29udGV4dCIsImZpbGVJbmZvIiwiY3Jvc3NPcmlnaW4iLCJpbWFnZSIsIndpZHRoIiwiaGVpZ2h0IiwicGFkZGluZ0NvbG9yIiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJkcmF3SW1hZ2UiLCJ0b0RhdGFVUkwiLCJleHQiLCJwYWRkZWRJbWFnZSIsImF1dG9kb3dubG9hZCIsImltYWdlTGluayIsImhyZWYiLCJzcmMiLCJkb3dubG9hZCIsIm5hbWUiLCJjbGljayIsIkVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7QUFHQTs7QUFFQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7QUFjTyxTQUFlQSxHQUFmLENBQW1CQyxJQUFuQixFQUFpQ0MsT0FBakM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0RDLFVBQUFBLE9BQWxELDJEQUFvRSxFQUFwRTtBQUVBQyxVQUFBQSxRQUZBLEdBRXVCLElBQUlDLHNCQUFKLENBQWVGLE9BQWYsQ0FGdkI7QUFJQUcsVUFBQUEsTUFKQSxHQUk0QkMsUUFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLENBSjVCO0FBS0FDLFVBQUFBLEdBTEEsR0FLZ0NILE1BQU0sQ0FBQ0ksVUFBUCxDQUFrQixJQUFsQixDQUxoQztBQU9BQyxVQUFBQSxRQVBBLEdBT3FCLDJCQUFnQlYsSUFBaEIsQ0FQckI7QUFBQTtBQUFBO0FBQUEsK0NBV2UscUJBQVVBLElBQVYsRUFBZ0JHLFFBQVEsQ0FBQ1EsV0FBekIsQ0FYZjs7QUFBQTtBQVdDQyxVQUFBQSxLQVhEO0FBYUxQLFVBQUFBLE1BQU0sQ0FBQ1EsS0FBUCxHQUFlRCxLQUFLLENBQUNDLEtBQU4sR0FBZVosT0FBTyxHQUFHLENBQXhDO0FBQ0FJLFVBQUFBLE1BQU0sQ0FBQ1MsTUFBUCxHQUFnQkYsS0FBSyxDQUFDRSxNQUFOLEdBQWdCYixPQUFPLEdBQUcsQ0FBMUM7O0FBRUEsY0FBSUUsUUFBUSxDQUFDWSxZQUFULEtBQTBCLGFBQTlCLEVBQTZDO0FBRTVDUCxZQUFBQSxHQUFHLENBQUNRLFNBQUosR0FBZ0JiLFFBQVEsQ0FBQ1ksWUFBekI7QUFDQVAsWUFBQUEsR0FBRyxDQUFDUyxRQUFKLENBQWEsQ0FBYixFQUFnQixDQUFoQixFQUFtQlosTUFBTSxDQUFDUSxLQUExQixFQUFpQ1IsTUFBTSxDQUFDUyxNQUF4QztBQUVBOztBQUVETixVQUFBQSxHQUFHLENBQUNVLFNBQUosQ0FBY04sS0FBZCxFQUFxQlAsTUFBTSxDQUFDUSxLQUFQLEdBQWUsQ0FBZixHQUFtQkQsS0FBSyxDQUFDQyxLQUFOLEdBQWMsQ0FBdEQsRUFBeURSLE1BQU0sQ0FBQ1MsTUFBUCxHQUFnQixDQUFoQixHQUFvQkYsS0FBSyxDQUFDRSxNQUFOLEdBQWUsQ0FBNUYsRUFBK0ZGLEtBQUssQ0FBQ0MsS0FBckcsRUFBNEdELEtBQUssQ0FBQ0UsTUFBbEg7QUF2Qks7QUFBQTtBQUFBLCtDQTJCc0IscUJBQVVULE1BQU0sQ0FBQ2MsU0FBUCxpQkFBMEJULFFBQVEsQ0FBQ1UsR0FBbkMsRUFBVixDQTNCdEI7O0FBQUE7QUEyQkVDLFVBQUFBLFdBM0JGOztBQTZCSixjQUFJbEIsUUFBUSxDQUFDbUIsWUFBYixFQUEyQjtBQUVwQkMsWUFBQUEsU0FGb0IsR0FFV2pCLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixHQUF2QixDQUZYO0FBSTFCZ0IsWUFBQUEsU0FBUyxDQUFDQyxJQUFWLEdBQWlCWixLQUFLLENBQUNhLEdBQXZCO0FBQ0FGLFlBQUFBLFNBQVMsQ0FBQ0csUUFBVixHQUFxQmhCLFFBQVEsQ0FBQ2lCLElBQVQsR0FBZ0IsR0FBaEIsR0FBc0JqQixRQUFRLENBQUNVLEdBQXBEO0FBRUFHLFlBQUFBLFNBQVMsQ0FBQ0ssS0FBVjtBQUVBOztBQXRDRywyQ0F3Q0dQLFdBeENIOztBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQTZDRyxJQUFJUSxLQUFKLENBQVUsb0ZBQVYsQ0E3Q0g7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQW9ERSxJQUFJQSxLQUFKLENBQVUsb0ZBQVYsQ0FwREY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcclxuXHJcbmltcG9ydCBGaWxlSW5mbyBmcm9tICcuLi9pbnRlcmZhY2VzL0ZpbGVJbmZvJztcclxuaW1wb3J0IFBhZE9wdGlvbnMgZnJvbSAnLi4vb3B0aW9ucy9QYWRPcHRpb25zJztcclxuXHJcbmltcG9ydCB7IGxvYWRJbWFnZSB9IGZyb20gJy4uL3V0aWxzL2xvYWQnO1xyXG5pbXBvcnQgeyBleHRyYWN0RmlsZUluZm8gfSBmcm9tICcuLi91dGlscy9maWxlJztcclxuXHJcbi8qKlxyXG4gKiBBZGRzIHRoZSBzcGVjaWZpZWQgYW1vdW50IG9mIHBhZGRpbmcgYXJvdW5kIGFuIGltYWdlLlxyXG4gKiBcclxuICogTm90ZSB0aGF0IHRoZSBwYWRkaW5nIHdpbGwgbm90IGJlIGV2ZW4gb24gaW1hZ2VzIHRoYXQgYXJlIG5vdCBzcXVhcmUuXHJcbiAqIFxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgaW1hZ2UgdG8gYWRkIHBhZGRpbmcgdG8uXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBwYWRkaW5nIFRoZSBhbW91bnQgb2YgcGFkZGluZyB0byBhZGQgdG8gdGhlIGltYWdlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5wYWRkaW5nQ29sb3I9JyNmZmYnXSBUaGUgY29sb3IgdGhhdCB0aGUgcGFkZGluZyB3aWxsIGJlLiBUaGlzIHZhbHVlIGNhbiBiZSBhbnkgdmFsaWQgQ1NTIGNvbG9yIHZhbHVlIHN1Y2ggYXMgd2hpdGUgb3IgI0ZGRkZGRi5cclxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5hdXRvRG93bmxvYWQ9ZmFsc2VdIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbWFnZSBzaG91bGQgZG93bmxvYWQgYWZ0ZXIgdGhlIGNyb3BwaW5nIGlzIGNvbXBsZXRlIG9yIG5vdC5cclxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmNyb3NzT3JpZ2luPW51bGxdIFNldHMgdGhlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSBvZiBpbWFnZXMgb3JpZ2luYXRpbmcgZnJvbSBleHRlcm5hbCBzb3VyY2VzLlxyXG4gKiBcclxuICogQHJldHVybnMge1Byb21pc2U8SFRNTEltYWdlRWxlbWVudD59IFJldHVybnMgdGhlIG5ld2x5IHBhZGRlZCBpbWFnZSBhcyBhbiBpbWFnZSBlbGVtZW50LlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhZChwYXRoOiBzdHJpbmcsIHBhZGRpbmc6IG51bWJlciwgb3B0aW9uczogT2JqZWN0ID0ge30pOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQgfCBFcnJvcj4ge1xyXG5cclxuXHRjb25zdCBfb3B0aW9uczogUGFkT3B0aW9ucyA9IG5ldyBQYWRPcHRpb25zKG9wdGlvbnMpO1xyXG5cclxuXHRjb25zdCBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcblx0Y29uc3QgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcblxyXG5cdGNvbnN0IGZpbGVJbmZvOiBGaWxlSW5mbyA9IGV4dHJhY3RGaWxlSW5mbyhwYXRoKTtcclxuXHJcblx0dHJ5IHtcclxuXHJcblx0XHRjb25zdCBpbWFnZSA9IGF3YWl0IGxvYWRJbWFnZShwYXRoLCBfb3B0aW9ucy5jcm9zc09yaWdpbik7XHJcblxyXG5cdFx0Y2FudmFzLndpZHRoID0gaW1hZ2Uud2lkdGggKyAocGFkZGluZyAqIDIpO1xyXG5cdFx0Y2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodCArIChwYWRkaW5nICogMik7XHJcblxyXG5cdFx0aWYgKF9vcHRpb25zLnBhZGRpbmdDb2xvciAhPT0gJ3RyYW5zcGFyZW50Jykge1xyXG5cclxuXHRcdFx0Y3R4LmZpbGxTdHlsZSA9IF9vcHRpb25zLnBhZGRpbmdDb2xvcjtcclxuXHRcdFx0Y3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIGNhbnZhcy53aWR0aCAvIDIgLSBpbWFnZS53aWR0aCAvIDIsIGNhbnZhcy5oZWlnaHQgLyAyIC0gaW1hZ2UuaGVpZ2h0IC8gMiwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCk7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHJcblx0XHRcdGNvbnN0IHBhZGRlZEltYWdlID0gYXdhaXQgbG9hZEltYWdlKGNhbnZhcy50b0RhdGFVUkwoYGltYWdlLyR7ZmlsZUluZm8uZXh0fWApKTtcclxuXHJcblx0XHRcdGlmIChfb3B0aW9ucy5hdXRvZG93bmxvYWQpIHtcclxuXHJcblx0XHRcdFx0Y29uc3QgaW1hZ2VMaW5rOiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHJcblx0XHRcdFx0aW1hZ2VMaW5rLmhyZWYgPSBpbWFnZS5zcmM7XHJcblx0XHRcdFx0aW1hZ2VMaW5rLmRvd25sb2FkID0gZmlsZUluZm8ubmFtZSArICcuJyArIGZpbGVJbmZvLmV4dDtcclxuXHJcblx0XHRcdFx0aW1hZ2VMaW5rLmNsaWNrKCk7XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gcGFkZGVkSW1hZ2U7XHJcblxyXG5cdFx0fVxyXG5cdFx0Y2F0Y2ggKGVycm9yKSB7XHJcblxyXG5cdFx0XHRyZXR1cm4gbmV3IEVycm9yKCdUaGVyZSB3YXMgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGltYWdlLCBwbGVhc2UgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBwYXRoIGlzIHZhbGlkJyk7XHJcblxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0Y2F0Y2ggKGVycm9yKSB7XHJcblxyXG5cdFx0cmV0dXJuIG5ldyBFcnJvcignVGhlcmUgd2FzIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCcpO1xyXG5cclxuXHR9XHJcblxyXG59Il19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0ZS9wYWQudHMiXSwibmFtZXMiOlsicGFkIiwicGF0aCIsInBhZGRpbmciLCJvcHRpb25zIiwiX29wdGlvbnMiLCJQYWRPcHRpb25zIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3R4IiwiZ2V0Q29udGV4dCIsImZpbGVJbmZvIiwiY3Jvc3NPcmlnaW4iLCJpbWFnZSIsIndpZHRoIiwiaGVpZ2h0IiwicGFkZGluZ0NvbG9yIiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJkcmF3SW1hZ2UiLCJ0b0RhdGFVUkwiLCJleHQiLCJwYWRkZWRJbWFnZSIsImF1dG9kb3dubG9hZCIsImltYWdlTGluayIsImhyZWYiLCJzcmMiLCJkb3dubG9hZCIsIm5hbWUiLCJjbGljayIsIkVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztBQUdBOztBQUVBOztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7OztTQWNzQkEsRzs7Ozs7OzsrQkFBZixpQkFBbUJDLElBQW5CLEVBQWlDQyxPQUFqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrREMsWUFBQUEsT0FBbEQsMkRBQW9FLEVBQXBFO0FBRUFDLFlBQUFBLFFBRkEsR0FFdUIsSUFBSUMsc0JBQUosQ0FBZUYsT0FBZixDQUZ2QjtBQUlBRyxZQUFBQSxNQUpBLEdBSTRCQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsUUFBdkIsQ0FKNUI7QUFLQUMsWUFBQUEsR0FMQSxHQUtnQ0gsTUFBTSxDQUFDSSxVQUFQLENBQWtCLElBQWxCLENBTGhDO0FBT0FDLFlBQUFBLFFBUEEsR0FPcUIsMkJBQWdCVixJQUFoQixDQVByQjtBQUFBO0FBQUE7QUFBQSxtQkFXZSxxQkFBVUEsSUFBVixFQUFnQkcsUUFBUSxDQUFDUSxXQUF6QixDQVhmOztBQUFBO0FBV0NDLFlBQUFBLEtBWEQ7QUFhTFAsWUFBQUEsTUFBTSxDQUFDUSxLQUFQLEdBQWVELEtBQUssQ0FBQ0MsS0FBTixHQUFlWixPQUFPLEdBQUcsQ0FBeEM7QUFDQUksWUFBQUEsTUFBTSxDQUFDUyxNQUFQLEdBQWdCRixLQUFLLENBQUNFLE1BQU4sR0FBZ0JiLE9BQU8sR0FBRyxDQUExQzs7QUFFQSxnQkFBSUUsUUFBUSxDQUFDWSxZQUFULEtBQTBCLGFBQTlCLEVBQTZDO0FBRTVDUCxjQUFBQSxHQUFHLENBQUNRLFNBQUosR0FBZ0JiLFFBQVEsQ0FBQ1ksWUFBekI7QUFDQVAsY0FBQUEsR0FBRyxDQUFDUyxRQUFKLENBQWEsQ0FBYixFQUFnQixDQUFoQixFQUFtQlosTUFBTSxDQUFDUSxLQUExQixFQUFpQ1IsTUFBTSxDQUFDUyxNQUF4QztBQUVBOztBQUVETixZQUFBQSxHQUFHLENBQUNVLFNBQUosQ0FBY04sS0FBZCxFQUFxQlAsTUFBTSxDQUFDUSxLQUFQLEdBQWUsQ0FBZixHQUFtQkQsS0FBSyxDQUFDQyxLQUFOLEdBQWMsQ0FBdEQsRUFBeURSLE1BQU0sQ0FBQ1MsTUFBUCxHQUFnQixDQUFoQixHQUFvQkYsS0FBSyxDQUFDRSxNQUFOLEdBQWUsQ0FBNUYsRUFBK0ZGLEtBQUssQ0FBQ0MsS0FBckcsRUFBNEdELEtBQUssQ0FBQ0UsTUFBbEg7QUF2Qks7QUFBQTtBQUFBLG1CQTJCc0IscUJBQVVULE1BQU0sQ0FBQ2MsU0FBUCxpQkFBMEJULFFBQVEsQ0FBQ1UsR0FBbkMsRUFBVixDQTNCdEI7O0FBQUE7QUEyQkVDLFlBQUFBLFdBM0JGOztBQTZCSixnQkFBSWxCLFFBQVEsQ0FBQ21CLFlBQWIsRUFBMkI7QUFFcEJDLGNBQUFBLFNBRm9CLEdBRVdqQixRQUFRLENBQUNDLGFBQVQsQ0FBdUIsR0FBdkIsQ0FGWDtBQUkxQmdCLGNBQUFBLFNBQVMsQ0FBQ0MsSUFBVixHQUFpQlosS0FBSyxDQUFDYSxHQUF2QjtBQUNBRixjQUFBQSxTQUFTLENBQUNHLFFBQVYsR0FBcUJoQixRQUFRLENBQUNpQixJQUFULEdBQWdCLEdBQWhCLEdBQXNCakIsUUFBUSxDQUFDVSxHQUFwRDtBQUVBRyxjQUFBQSxTQUFTLENBQUNLLEtBQVY7QUFFQTs7QUF0Q0csNkNBd0NHUCxXQXhDSDs7QUFBQTtBQUFBO0FBQUE7QUFBQSw2Q0E2Q0csSUFBSVEsS0FBSixDQUFVLG9GQUFWLENBN0NIOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQSw2Q0FvREUsSUFBSUEsS0FBSixDQUFVLG9GQUFWLENBcERGOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcclxuXHJcbmltcG9ydCBGaWxlSW5mbyBmcm9tICcuLi9pbnRlcmZhY2VzL0ZpbGVJbmZvJztcclxuaW1wb3J0IFBhZE9wdGlvbnMgZnJvbSAnLi4vb3B0aW9ucy9QYWRPcHRpb25zJztcclxuXHJcbmltcG9ydCB7IGxvYWRJbWFnZSB9IGZyb20gJy4uL3V0aWxzL2xvYWQnO1xyXG5pbXBvcnQgeyBleHRyYWN0RmlsZUluZm8gfSBmcm9tICcuLi91dGlscy9maWxlJztcclxuXHJcbi8qKlxyXG4gKiBBZGRzIHRoZSBzcGVjaWZpZWQgYW1vdW50IG9mIHBhZGRpbmcgYXJvdW5kIGFuIGltYWdlLlxyXG4gKiBcclxuICogTm90ZSB0aGF0IHRoZSBwYWRkaW5nIHdpbGwgbm90IGJlIGV2ZW4gb24gaW1hZ2VzIHRoYXQgYXJlIG5vdCBzcXVhcmUuXHJcbiAqIFxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgaW1hZ2UgdG8gYWRkIHBhZGRpbmcgdG8uXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBwYWRkaW5nIFRoZSBhbW91bnQgb2YgcGFkZGluZyB0byBhZGQgdG8gdGhlIGltYWdlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5wYWRkaW5nQ29sb3I9JyNmZmYnXSBUaGUgY29sb3IgdGhhdCB0aGUgcGFkZGluZyB3aWxsIGJlLiBUaGlzIHZhbHVlIGNhbiBiZSBhbnkgdmFsaWQgQ1NTIGNvbG9yIHZhbHVlIHN1Y2ggYXMgd2hpdGUgb3IgI0ZGRkZGRi5cclxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5hdXRvRG93bmxvYWQ9ZmFsc2VdIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbWFnZSBzaG91bGQgZG93bmxvYWQgYWZ0ZXIgdGhlIGNyb3BwaW5nIGlzIGNvbXBsZXRlIG9yIG5vdC5cclxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmNyb3NzT3JpZ2luPW51bGxdIFNldHMgdGhlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSBvZiBpbWFnZXMgb3JpZ2luYXRpbmcgZnJvbSBleHRlcm5hbCBzb3VyY2VzLlxyXG4gKiBcclxuICogQHJldHVybnMge1Byb21pc2U8SFRNTEltYWdlRWxlbWVudD59IFJldHVybnMgdGhlIG5ld2x5IHBhZGRlZCBpbWFnZSBhcyBhbiBpbWFnZSBlbGVtZW50LlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhZChwYXRoOiBzdHJpbmcsIHBhZGRpbmc6IG51bWJlciwgb3B0aW9uczogT2JqZWN0ID0ge30pOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQgfCBFcnJvcj4ge1xyXG5cclxuXHRjb25zdCBfb3B0aW9uczogUGFkT3B0aW9ucyA9IG5ldyBQYWRPcHRpb25zKG9wdGlvbnMpO1xyXG5cclxuXHRjb25zdCBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcblx0Y29uc3QgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcblxyXG5cdGNvbnN0IGZpbGVJbmZvOiBGaWxlSW5mbyA9IGV4dHJhY3RGaWxlSW5mbyhwYXRoKTtcclxuXHJcblx0dHJ5IHtcclxuXHJcblx0XHRjb25zdCBpbWFnZSA9IGF3YWl0IGxvYWRJbWFnZShwYXRoLCBfb3B0aW9ucy5jcm9zc09yaWdpbik7XHJcblxyXG5cdFx0Y2FudmFzLndpZHRoID0gaW1hZ2Uud2lkdGggKyAocGFkZGluZyAqIDIpO1xyXG5cdFx0Y2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodCArIChwYWRkaW5nICogMik7XHJcblxyXG5cdFx0aWYgKF9vcHRpb25zLnBhZGRpbmdDb2xvciAhPT0gJ3RyYW5zcGFyZW50Jykge1xyXG5cclxuXHRcdFx0Y3R4LmZpbGxTdHlsZSA9IF9vcHRpb25zLnBhZGRpbmdDb2xvcjtcclxuXHRcdFx0Y3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIGNhbnZhcy53aWR0aCAvIDIgLSBpbWFnZS53aWR0aCAvIDIsIGNhbnZhcy5oZWlnaHQgLyAyIC0gaW1hZ2UuaGVpZ2h0IC8gMiwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCk7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHJcblx0XHRcdGNvbnN0IHBhZGRlZEltYWdlID0gYXdhaXQgbG9hZEltYWdlKGNhbnZhcy50b0RhdGFVUkwoYGltYWdlLyR7ZmlsZUluZm8uZXh0fWApKTtcclxuXHJcblx0XHRcdGlmIChfb3B0aW9ucy5hdXRvZG93bmxvYWQpIHtcclxuXHJcblx0XHRcdFx0Y29uc3QgaW1hZ2VMaW5rOiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHJcblx0XHRcdFx0aW1hZ2VMaW5rLmhyZWYgPSBpbWFnZS5zcmM7XHJcblx0XHRcdFx0aW1hZ2VMaW5rLmRvd25sb2FkID0gZmlsZUluZm8ubmFtZSArICcuJyArIGZpbGVJbmZvLmV4dDtcclxuXHJcblx0XHRcdFx0aW1hZ2VMaW5rLmNsaWNrKCk7XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gcGFkZGVkSW1hZ2U7XHJcblxyXG5cdFx0fVxyXG5cdFx0Y2F0Y2ggKGVycm9yKSB7XHJcblxyXG5cdFx0XHRyZXR1cm4gbmV3IEVycm9yKCdUaGVyZSB3YXMgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGltYWdlLCBwbGVhc2UgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBwYXRoIGlzIHZhbGlkJyk7XHJcblxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0Y2F0Y2ggKGVycm9yKSB7XHJcblxyXG5cdFx0cmV0dXJuIG5ldyBFcnJvcignVGhlcmUgd2FzIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCcpO1xyXG5cclxuXHR9XHJcblxyXG59Il19

@@ -12,2 +12,4 @@ 'use strict';

var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _load = require("../utils/load");

@@ -30,78 +32,87 @@

*/
function convert(path, format) {
var options,
fileInfo,
_options,
canvas,
ctx,
nonTransparentFormats,
image,
f,
convertedImage,
imageLink,
_args = arguments;
function convert(_x, _x2) {
return _convert.apply(this, arguments);
}
return _regenerator["default"].async(function convert$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
fileInfo = (0, _file.extractFileInfo)(path);
_options = new _GeneralOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
nonTransparentFormats = ['jpg', 'jpeg', 'gif', 'bmp'];
_context.prev = 6;
_context.next = 9;
return _regenerator["default"].awrap((0, _load.loadImage)(path, _options.crossOrigin));
function _convert() {
_convert = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee(path, format) {
var options,
fileInfo,
_options,
canvas,
ctx,
nonTransparentFormats,
image,
f,
convertedImage,
imageLink,
_args = arguments;
case 9:
image = _context.sent;
canvas.width = image.width;
canvas.height = image.height;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
fileInfo = (0, _file.extractFileInfo)(path);
_options = new _GeneralOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
nonTransparentFormats = ['jpg', 'jpeg', 'gif', 'bmp'];
_context.prev = 6;
_context.next = 9;
return (0, _load.loadImage)(path, _options.crossOrigin);
if (nonTransparentFormats.includes(format)) {
ctx.fillStyle = '#FFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 9:
image = _context.sent;
canvas.width = image.width;
canvas.height = image.height;
ctx.drawImage(image, 0, 0);
_context.prev = 14;
f = format === 'png' ? 'png' : 'jpeg';
_context.next = 18;
return _regenerator["default"].awrap((0, _load.loadImage)(canvas.toDataURL("image/".concat(f))));
if (nonTransparentFormats.includes(format)) {
ctx.fillStyle = '#FFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 18:
convertedImage = _context.sent;
ctx.drawImage(image, 0, 0);
_context.prev = 14;
f = format === 'png' ? 'png' : 'jpeg';
_context.next = 18;
return (0, _load.loadImage)(canvas.toDataURL("image/".concat(f)));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = convertedImage.src;
imageLink.download = fileInfo.name + '.' + format;
imageLink.click();
}
case 18:
convertedImage = _context.sent;
return _context.abrupt("return", convertedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = convertedImage.src;
imageLink.download = fileInfo.name + '.' + format;
imageLink.click();
}
case 23:
_context.prev = 23;
_context.t0 = _context["catch"](14);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", convertedImage);
case 26:
_context.next = 31;
break;
case 23:
_context.prev = 23;
_context.t0 = _context["catch"](14);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 28:
_context.prev = 28;
_context.t1 = _context["catch"](6);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 26:
_context.next = 31;
break;
case 31:
case "end":
return _context.stop();
case 28:
_context.prev = 28;
_context.t1 = _context["catch"](6);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 31:
case "end":
return _context.stop();
}
}
}
}, null, null, [[6, 28], [14, 23]]);
}, _callee, null, [[6, 28], [14, 23]]);
}));
return _convert.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vY29udmVydC50cyJdLCJuYW1lcyI6WyJjb252ZXJ0IiwicGF0aCIsImZvcm1hdCIsIm9wdGlvbnMiLCJmaWxlSW5mbyIsIl9vcHRpb25zIiwiR2VuZXJhbE9wdGlvbnMiLCJjYW52YXMiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjdHgiLCJnZXRDb250ZXh0Iiwibm9uVHJhbnNwYXJlbnRGb3JtYXRzIiwiY3Jvc3NPcmlnaW4iLCJpbWFnZSIsIndpZHRoIiwiaGVpZ2h0IiwiaW5jbHVkZXMiLCJmaWxsU3R5bGUiLCJmaWxsUmVjdCIsImRyYXdJbWFnZSIsImYiLCJ0b0RhdGFVUkwiLCJjb252ZXJ0ZWRJbWFnZSIsImF1dG9kb3dubG9hZCIsImltYWdlTGluayIsImhyZWYiLCJzcmMiLCJkb3dubG9hZCIsIm5hbWUiLCJjbGljayIsIkVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFFQTs7QUFFQTs7Ozs7Ozs7Ozs7QUFXTyxTQUFlQSxPQUFmLENBQXVCQyxJQUF2QixFQUFxQ0MsTUFBckM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFEQyxVQUFBQSxPQUFyRCwyREFBdUUsRUFBdkU7QUFFQUMsVUFBQUEsUUFGQSxHQUVxQiwyQkFBZ0JILElBQWhCLENBRnJCO0FBSUFJLFVBQUFBLFFBSkEsR0FJMkIsSUFBSUMsMEJBQUosQ0FBbUJILE9BQW5CLENBSjNCO0FBTUFJLFVBQUFBLE1BTkEsR0FNNEJDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixRQUF2QixDQU41QjtBQU9BQyxVQUFBQSxHQVBBLEdBT2dDSCxNQUFNLENBQUNJLFVBQVAsQ0FBa0IsSUFBbEIsQ0FQaEM7QUFTQUMsVUFBQUEscUJBVEEsR0FTd0IsQ0FBQyxLQUFELEVBQVEsTUFBUixFQUFnQixLQUFoQixFQUF1QixLQUF2QixDQVR4QjtBQUFBO0FBQUE7QUFBQSwrQ0FhZSxxQkFBVVgsSUFBVixFQUFnQkksUUFBUSxDQUFDUSxXQUF6QixDQWJmOztBQUFBO0FBYUNDLFVBQUFBLEtBYkQ7QUFlTFAsVUFBQUEsTUFBTSxDQUFDUSxLQUFQLEdBQWVELEtBQUssQ0FBQ0MsS0FBckI7QUFDQVIsVUFBQUEsTUFBTSxDQUFDUyxNQUFQLEdBQWdCRixLQUFLLENBQUNFLE1BQXRCOztBQUVBLGNBQUlKLHFCQUFxQixDQUFDSyxRQUF0QixDQUErQmYsTUFBL0IsQ0FBSixFQUE0QztBQUUzQ1EsWUFBQUEsR0FBRyxDQUFDUSxTQUFKLEdBQWdCLE1BQWhCO0FBQ0FSLFlBQUFBLEdBQUcsQ0FBQ1MsUUFBSixDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsRUFBbUJaLE1BQU0sQ0FBQ1EsS0FBMUIsRUFBaUNSLE1BQU0sQ0FBQ1MsTUFBeEM7QUFFQTs7QUFFRE4sVUFBQUEsR0FBRyxDQUFDVSxTQUFKLENBQWNOLEtBQWQsRUFBcUIsQ0FBckIsRUFBd0IsQ0FBeEI7QUF6Qks7QUE2QkVPLFVBQUFBLENBN0JGLEdBNkJNbkIsTUFBTSxLQUFLLEtBQVgsR0FBbUIsS0FBbkIsR0FBMkIsTUE3QmpDO0FBQUE7QUFBQSwrQ0ErQnlCLHFCQUFVSyxNQUFNLENBQUNlLFNBQVAsaUJBQTBCRCxDQUExQixFQUFWLENBL0J6Qjs7QUFBQTtBQStCRUUsVUFBQUEsY0EvQkY7O0FBaUNKLGNBQUlsQixRQUFRLENBQUNtQixZQUFiLEVBQTJCO0FBRXBCQyxZQUFBQSxTQUZvQixHQUVXakIsUUFBUSxDQUFDQyxhQUFULENBQXVCLEdBQXZCLENBRlg7QUFJMUJnQixZQUFBQSxTQUFTLENBQUNDLElBQVYsR0FBaUJILGNBQWMsQ0FBQ0ksR0FBaEM7QUFDQUYsWUFBQUEsU0FBUyxDQUFDRyxRQUFWLEdBQXFCeEIsUUFBUSxDQUFDeUIsSUFBVCxHQUFnQixHQUFoQixHQUFzQjNCLE1BQTNDO0FBRUF1QixZQUFBQSxTQUFTLENBQUNLLEtBQVY7QUFFQTs7QUExQ0csMkNBNENHUCxjQTVDSDs7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0FpREcsSUFBSVEsS0FBSixDQUFVLG9GQUFWLENBakRIOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0F3REUsSUFBSUEsS0FBSixDQUFVLG9GQUFWLENBeERGOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXHJcblxyXG5pbXBvcnQgRmlsZUluZm8gZnJvbSAnLi4vaW50ZXJmYWNlcy9GaWxlSW5mbyc7XHJcblxyXG5pbXBvcnQgeyBsb2FkSW1hZ2UgfSBmcm9tICcuLi91dGlscy9sb2FkJztcclxuaW1wb3J0IHsgZXh0cmFjdEZpbGVJbmZvIH0gZnJvbSAnLi4vdXRpbHMvZmlsZSc7XHJcblxyXG5pbXBvcnQgR2VuZXJhbE9wdGlvbnMgZnJvbSAnLi4vb3B0aW9ucy9HZW5lcmFsT3B0aW9ucyc7XHJcblxyXG4vKipcclxuICogQ29udmVydCBhbiBpbWFnZSBmcm9tIG9uZSBmb3JtYXQgdG8gYW5vdGhlciBmb3JtYXQuXHJcbiAqIFxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgaW1hZ2UgdG8gY29udmVydCB0byBhbm90aGVyIGZvcm1hdC5cclxuICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCBUaGUgbmV3IGZvcm1hdCBmb3IgdGhlIGltYWdlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuYXV0b0Rvd25sb2FkPWZhbHNlXSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1hZ2Ugc2hvdWxkIGRvd25sb2FkIGFmdGVyIHRoZSBjcm9wcGluZyBpcyBjb21wbGV0ZSBvciBub3QuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jcm9zc09yaWdpbj1udWxsXSBTZXRzIHRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgb2YgaW1hZ2VzIG9yaWdpbmF0aW5nIGZyb20gZXh0ZXJuYWwgc291cmNlcy5cclxuICogXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+fSBSZXR1cm5zIHRoZSBuZXdseSBmb3JtYXR0ZWQgaW1hZ2UgYXMgYW4gaW1hZ2UgZWxlbWVudC5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb252ZXJ0KHBhdGg6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcsIG9wdGlvbnM6IE9iamVjdCA9IHt9KTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50IHwgRXJyb3I+IHtcclxuXHJcblx0Y29uc3QgZmlsZUluZm86IEZpbGVJbmZvID0gZXh0cmFjdEZpbGVJbmZvKHBhdGgpO1xyXG5cclxuXHRjb25zdCBfb3B0aW9uczogR2VuZXJhbE9wdGlvbnMgPSBuZXcgR2VuZXJhbE9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG5cdGNvbnN0IGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuXHRjb25zdCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuXHJcblx0Y29uc3Qgbm9uVHJhbnNwYXJlbnRGb3JtYXRzID0gWydqcGcnLCAnanBlZycsICdnaWYnLCAnYm1wJ107XHJcblxyXG5cdHRyeSB7XHJcblxyXG5cdFx0Y29uc3QgaW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UocGF0aCwgX29wdGlvbnMuY3Jvc3NPcmlnaW4pO1xyXG5cclxuXHRcdGNhbnZhcy53aWR0aCA9IGltYWdlLndpZHRoO1xyXG5cdFx0Y2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDtcclxuXHJcblx0XHRpZiAobm9uVHJhbnNwYXJlbnRGb3JtYXRzLmluY2x1ZGVzKGZvcm1hdCkpIHtcclxuXHJcblx0XHRcdGN0eC5maWxsU3R5bGUgPSAnI0ZGRic7XHJcblx0XHRcdGN0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xyXG5cclxuXHRcdH1cclxuXHJcblx0XHRjdHguZHJhd0ltYWdlKGltYWdlLCAwLCAwKTtcclxuXHJcblx0XHR0cnkge1xyXG5cclxuXHRcdFx0Y29uc3QgZiA9IGZvcm1hdCA9PT0gJ3BuZycgPyAncG5nJyA6ICdqcGVnJztcclxuXHJcblx0XHRcdGNvbnN0IGNvbnZlcnRlZEltYWdlID0gYXdhaXQgbG9hZEltYWdlKGNhbnZhcy50b0RhdGFVUkwoYGltYWdlLyR7Zn1gKSk7XHJcblxyXG5cdFx0XHRpZiAoX29wdGlvbnMuYXV0b2Rvd25sb2FkKSB7XHJcblxyXG5cdFx0XHRcdGNvbnN0IGltYWdlTGluazogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcblxyXG5cdFx0XHRcdGltYWdlTGluay5ocmVmID0gY29udmVydGVkSW1hZ2Uuc3JjO1xyXG5cdFx0XHRcdGltYWdlTGluay5kb3dubG9hZCA9IGZpbGVJbmZvLm5hbWUgKyAnLicgKyBmb3JtYXQ7XHJcblxyXG5cdFx0XHRcdGltYWdlTGluay5jbGljaygpO1xyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cmV0dXJuIGNvbnZlcnRlZEltYWdlO1xyXG5cclxuXHRcdH1cclxuXHRcdGNhdGNoIChlcnJvcikge1xyXG5cclxuXHRcdFx0cmV0dXJuIG5ldyBFcnJvcignVGhlcmUgd2FzIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCcpO1xyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cdGNhdGNoIChlcnJvcikge1xyXG5cclxuXHRcdHJldHVybiBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhIHByb2JsZW0gbG9hZGluZyB0aGUgaW1hZ2UsIHBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhdGggaXMgdmFsaWQnKTtcclxuXHJcblx0fVxyXG5cclxufSJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vY29udmVydC50cyJdLCJuYW1lcyI6WyJjb252ZXJ0IiwicGF0aCIsImZvcm1hdCIsIm9wdGlvbnMiLCJmaWxlSW5mbyIsIl9vcHRpb25zIiwiR2VuZXJhbE9wdGlvbnMiLCJjYW52YXMiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjdHgiLCJnZXRDb250ZXh0Iiwibm9uVHJhbnNwYXJlbnRGb3JtYXRzIiwiY3Jvc3NPcmlnaW4iLCJpbWFnZSIsIndpZHRoIiwiaGVpZ2h0IiwiaW5jbHVkZXMiLCJmaWxsU3R5bGUiLCJmaWxsUmVjdCIsImRyYXdJbWFnZSIsImYiLCJ0b0RhdGFVUkwiLCJjb252ZXJ0ZWRJbWFnZSIsImF1dG9kb3dubG9hZCIsImltYWdlTGluayIsImhyZWYiLCJzcmMiLCJkb3dubG9hZCIsIm5hbWUiLCJjbGljayIsIkVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztBQUlBOztBQUNBOztBQUVBOztBQUVBOzs7Ozs7Ozs7OztTQVdzQkEsTzs7Ozs7OzsrQkFBZixpQkFBdUJDLElBQXZCLEVBQXFDQyxNQUFyQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcURDLFlBQUFBLE9BQXJELDJEQUF1RSxFQUF2RTtBQUVBQyxZQUFBQSxRQUZBLEdBRXFCLDJCQUFnQkgsSUFBaEIsQ0FGckI7QUFJQUksWUFBQUEsUUFKQSxHQUkyQixJQUFJQywwQkFBSixDQUFtQkgsT0FBbkIsQ0FKM0I7QUFNQUksWUFBQUEsTUFOQSxHQU00QkMsUUFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLENBTjVCO0FBT0FDLFlBQUFBLEdBUEEsR0FPZ0NILE1BQU0sQ0FBQ0ksVUFBUCxDQUFrQixJQUFsQixDQVBoQztBQVNBQyxZQUFBQSxxQkFUQSxHQVN3QixDQUFDLEtBQUQsRUFBUSxNQUFSLEVBQWdCLEtBQWhCLEVBQXVCLEtBQXZCLENBVHhCO0FBQUE7QUFBQTtBQUFBLG1CQWFlLHFCQUFVWCxJQUFWLEVBQWdCSSxRQUFRLENBQUNRLFdBQXpCLENBYmY7O0FBQUE7QUFhQ0MsWUFBQUEsS0FiRDtBQWVMUCxZQUFBQSxNQUFNLENBQUNRLEtBQVAsR0FBZUQsS0FBSyxDQUFDQyxLQUFyQjtBQUNBUixZQUFBQSxNQUFNLENBQUNTLE1BQVAsR0FBZ0JGLEtBQUssQ0FBQ0UsTUFBdEI7O0FBRUEsZ0JBQUlKLHFCQUFxQixDQUFDSyxRQUF0QixDQUErQmYsTUFBL0IsQ0FBSixFQUE0QztBQUUzQ1EsY0FBQUEsR0FBRyxDQUFDUSxTQUFKLEdBQWdCLE1BQWhCO0FBQ0FSLGNBQUFBLEdBQUcsQ0FBQ1MsUUFBSixDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsRUFBbUJaLE1BQU0sQ0FBQ1EsS0FBMUIsRUFBaUNSLE1BQU0sQ0FBQ1MsTUFBeEM7QUFFQTs7QUFFRE4sWUFBQUEsR0FBRyxDQUFDVSxTQUFKLENBQWNOLEtBQWQsRUFBcUIsQ0FBckIsRUFBd0IsQ0FBeEI7QUF6Qks7QUE2QkVPLFlBQUFBLENBN0JGLEdBNkJNbkIsTUFBTSxLQUFLLEtBQVgsR0FBbUIsS0FBbkIsR0FBMkIsTUE3QmpDO0FBQUE7QUFBQSxtQkErQnlCLHFCQUFVSyxNQUFNLENBQUNlLFNBQVAsaUJBQTBCRCxDQUExQixFQUFWLENBL0J6Qjs7QUFBQTtBQStCRUUsWUFBQUEsY0EvQkY7O0FBaUNKLGdCQUFJbEIsUUFBUSxDQUFDbUIsWUFBYixFQUEyQjtBQUVwQkMsY0FBQUEsU0FGb0IsR0FFV2pCLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixHQUF2QixDQUZYO0FBSTFCZ0IsY0FBQUEsU0FBUyxDQUFDQyxJQUFWLEdBQWlCSCxjQUFjLENBQUNJLEdBQWhDO0FBQ0FGLGNBQUFBLFNBQVMsQ0FBQ0csUUFBVixHQUFxQnhCLFFBQVEsQ0FBQ3lCLElBQVQsR0FBZ0IsR0FBaEIsR0FBc0IzQixNQUEzQztBQUVBdUIsY0FBQUEsU0FBUyxDQUFDSyxLQUFWO0FBRUE7O0FBMUNHLDZDQTRDR1AsY0E1Q0g7O0FBQUE7QUFBQTtBQUFBO0FBQUEsNkNBaURHLElBQUlRLEtBQUosQ0FBVSxvRkFBVixDQWpESDs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUEsNkNBd0RFLElBQUlBLEtBQUosQ0FBVSxvRkFBVixDQXhERjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXHJcblxyXG5pbXBvcnQgRmlsZUluZm8gZnJvbSAnLi4vaW50ZXJmYWNlcy9GaWxlSW5mbyc7XHJcblxyXG5pbXBvcnQgeyBsb2FkSW1hZ2UgfSBmcm9tICcuLi91dGlscy9sb2FkJztcclxuaW1wb3J0IHsgZXh0cmFjdEZpbGVJbmZvIH0gZnJvbSAnLi4vdXRpbHMvZmlsZSc7XHJcblxyXG5pbXBvcnQgR2VuZXJhbE9wdGlvbnMgZnJvbSAnLi4vb3B0aW9ucy9HZW5lcmFsT3B0aW9ucyc7XHJcblxyXG4vKipcclxuICogQ29udmVydCBhbiBpbWFnZSBmcm9tIG9uZSBmb3JtYXQgdG8gYW5vdGhlciBmb3JtYXQuXHJcbiAqIFxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgaW1hZ2UgdG8gY29udmVydCB0byBhbm90aGVyIGZvcm1hdC5cclxuICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCBUaGUgbmV3IGZvcm1hdCBmb3IgdGhlIGltYWdlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuYXV0b0Rvd25sb2FkPWZhbHNlXSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1hZ2Ugc2hvdWxkIGRvd25sb2FkIGFmdGVyIHRoZSBjcm9wcGluZyBpcyBjb21wbGV0ZSBvciBub3QuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jcm9zc09yaWdpbj1udWxsXSBTZXRzIHRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgb2YgaW1hZ2VzIG9yaWdpbmF0aW5nIGZyb20gZXh0ZXJuYWwgc291cmNlcy5cclxuICogXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+fSBSZXR1cm5zIHRoZSBuZXdseSBmb3JtYXR0ZWQgaW1hZ2UgYXMgYW4gaW1hZ2UgZWxlbWVudC5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb252ZXJ0KHBhdGg6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcsIG9wdGlvbnM6IE9iamVjdCA9IHt9KTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50IHwgRXJyb3I+IHtcclxuXHJcblx0Y29uc3QgZmlsZUluZm86IEZpbGVJbmZvID0gZXh0cmFjdEZpbGVJbmZvKHBhdGgpO1xyXG5cclxuXHRjb25zdCBfb3B0aW9uczogR2VuZXJhbE9wdGlvbnMgPSBuZXcgR2VuZXJhbE9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG5cdGNvbnN0IGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuXHRjb25zdCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuXHJcblx0Y29uc3Qgbm9uVHJhbnNwYXJlbnRGb3JtYXRzID0gWydqcGcnLCAnanBlZycsICdnaWYnLCAnYm1wJ107XHJcblxyXG5cdHRyeSB7XHJcblxyXG5cdFx0Y29uc3QgaW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UocGF0aCwgX29wdGlvbnMuY3Jvc3NPcmlnaW4pO1xyXG5cclxuXHRcdGNhbnZhcy53aWR0aCA9IGltYWdlLndpZHRoO1xyXG5cdFx0Y2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDtcclxuXHJcblx0XHRpZiAobm9uVHJhbnNwYXJlbnRGb3JtYXRzLmluY2x1ZGVzKGZvcm1hdCkpIHtcclxuXHJcblx0XHRcdGN0eC5maWxsU3R5bGUgPSAnI0ZGRic7XHJcblx0XHRcdGN0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xyXG5cclxuXHRcdH1cclxuXHJcblx0XHRjdHguZHJhd0ltYWdlKGltYWdlLCAwLCAwKTtcclxuXHJcblx0XHR0cnkge1xyXG5cclxuXHRcdFx0Y29uc3QgZiA9IGZvcm1hdCA9PT0gJ3BuZycgPyAncG5nJyA6ICdqcGVnJztcclxuXHJcblx0XHRcdGNvbnN0IGNvbnZlcnRlZEltYWdlID0gYXdhaXQgbG9hZEltYWdlKGNhbnZhcy50b0RhdGFVUkwoYGltYWdlLyR7Zn1gKSk7XHJcblxyXG5cdFx0XHRpZiAoX29wdGlvbnMuYXV0b2Rvd25sb2FkKSB7XHJcblxyXG5cdFx0XHRcdGNvbnN0IGltYWdlTGluazogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcblxyXG5cdFx0XHRcdGltYWdlTGluay5ocmVmID0gY29udmVydGVkSW1hZ2Uuc3JjO1xyXG5cdFx0XHRcdGltYWdlTGluay5kb3dubG9hZCA9IGZpbGVJbmZvLm5hbWUgKyAnLicgKyBmb3JtYXQ7XHJcblxyXG5cdFx0XHRcdGltYWdlTGluay5jbGljaygpO1xyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cmV0dXJuIGNvbnZlcnRlZEltYWdlO1xyXG5cclxuXHRcdH1cclxuXHRcdGNhdGNoIChlcnJvcikge1xyXG5cclxuXHRcdFx0cmV0dXJuIG5ldyBFcnJvcignVGhlcmUgd2FzIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCcpO1xyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cdGNhdGNoIChlcnJvcikge1xyXG5cclxuXHRcdHJldHVybiBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhIHByb2JsZW0gbG9hZGluZyB0aGUgaW1hZ2UsIHBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhdGggaXMgdmFsaWQnKTtcclxuXHJcblx0fVxyXG5cclxufSJdfQ==

@@ -12,2 +12,4 @@ 'use strict';

var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _load = require("../utils/load");

@@ -33,68 +35,77 @@

*/
function crop(path, x, y, width, height) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
croppedImage,
imageLink,
_args = arguments;
function crop(_x, _x2, _x3, _x4, _x5) {
return _crop.apply(this, arguments);
}
return _regenerator["default"].async(function crop$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 5 && _args[5] !== undefined ? _args[5] : {};
_options = new _GeneralOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 5;
_context.next = 8;
return _regenerator["default"].awrap((0, _load.loadImage)(path, _options.crossOrigin));
function _crop() {
_crop = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee(path, x, y, width, height) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
croppedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
canvas.width = width;
canvas.height = height;
ctx.drawImage(image, x, y, width, height, 0, 0, width, height);
_context.prev = 12;
_context.next = 15;
return _regenerator["default"].awrap((0, _load.loadImage)(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream')));
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 5 && _args[5] !== undefined ? _args[5] : {};
_options = new _GeneralOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 5;
_context.next = 8;
return (0, _load.loadImage)(path, _options.crossOrigin);
case 15:
croppedImage = _context.sent;
case 8:
image = _context.sent;
canvas.width = width;
canvas.height = height;
ctx.drawImage(image, x, y, width, height, 0, 0, width, height);
_context.prev = 12;
_context.next = 15;
return (0, _load.loadImage)(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream'));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = croppedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 15:
croppedImage = _context.sent;
return _context.abrupt("return", croppedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = croppedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 20:
_context.prev = 20;
_context.t0 = _context["catch"](12);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", croppedImage);
case 23:
_context.next = 28;
break;
case 20:
_context.prev = 20;
_context.t0 = _context["catch"](12);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 25:
_context.prev = 25;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 23:
_context.next = 28;
break;
case 28:
case "end":
return _context.stop();
case 25:
_context.prev = 25;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 28:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 25], [12, 20]]);
}, _callee, null, [[5, 25], [12, 20]]);
}));
return _crop.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vY3JvcC50cyJdLCJuYW1lcyI6WyJjcm9wIiwicGF0aCIsIngiLCJ5Iiwid2lkdGgiLCJoZWlnaHQiLCJvcHRpb25zIiwiX29wdGlvbnMiLCJHZW5lcmFsT3B0aW9ucyIsImNhbnZhcyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImN0eCIsImdldENvbnRleHQiLCJmaWxlSW5mbyIsImNyb3NzT3JpZ2luIiwiaW1hZ2UiLCJkcmF3SW1hZ2UiLCJ0b0RhdGFVUkwiLCJleHQiLCJyZXBsYWNlIiwiY3JvcHBlZEltYWdlIiwiYXV0b2Rvd25sb2FkIiwiaW1hZ2VMaW5rIiwiaHJlZiIsInNyYyIsImRvd25sb2FkIiwibmFtZSIsImNsaWNrIiwiRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztBQUlBOztBQUNBOztBQUVBOztBQUVBOzs7Ozs7Ozs7Ozs7OztBQWNPLFNBQWVBLElBQWYsQ0FBb0JDLElBQXBCLEVBQWtDQyxDQUFsQyxFQUE2Q0MsQ0FBN0MsRUFBd0RDLEtBQXhELEVBQXVFQyxNQUF2RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1RkMsVUFBQUEsT0FBdkYsMkRBQXlHLEVBQXpHO0FBRUFDLFVBQUFBLFFBRkEsR0FFMkIsSUFBSUMsMEJBQUosQ0FBbUJGLE9BQW5CLENBRjNCO0FBSUFHLFVBQUFBLE1BSkEsR0FJNEJDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixRQUF2QixDQUo1QjtBQUtBQyxVQUFBQSxHQUxBLEdBS2dDSCxNQUFNLENBQUNJLFVBQVAsQ0FBa0IsSUFBbEIsQ0FMaEM7QUFPQUMsVUFBQUEsUUFQQSxHQU9xQiwyQkFBZ0JiLElBQWhCLENBUHJCO0FBQUE7QUFBQTtBQUFBLCtDQVdlLHFCQUFVQSxJQUFWLEVBQWdCTSxRQUFRLENBQUNRLFdBQXpCLENBWGY7O0FBQUE7QUFXQ0MsVUFBQUEsS0FYRDtBQWFMUCxVQUFBQSxNQUFNLENBQUNMLEtBQVAsR0FBZUEsS0FBZjtBQUNBSyxVQUFBQSxNQUFNLENBQUNKLE1BQVAsR0FBZ0JBLE1BQWhCO0FBRUFPLFVBQUFBLEdBQUcsQ0FBQ0ssU0FBSixDQUFjRCxLQUFkLEVBQXFCZCxDQUFyQixFQUF3QkMsQ0FBeEIsRUFBMkJDLEtBQTNCLEVBQWtDQyxNQUFsQyxFQUEwQyxDQUExQyxFQUE2QyxDQUE3QyxFQUFnREQsS0FBaEQsRUFBdURDLE1BQXZEO0FBaEJLO0FBQUE7QUFBQSwrQ0FvQnVCLHFCQUFVSSxNQUFNLENBQUNTLFNBQVAsaUJBQTBCSixRQUFRLENBQUNLLEdBQW5DLEdBQTBDQyxPQUExQyxpQkFBMkROLFFBQVEsQ0FBQ0ssR0FBcEUsR0FBMkUsb0JBQTNFLENBQVYsQ0FwQnZCOztBQUFBO0FBb0JFRSxVQUFBQSxZQXBCRjs7QUFzQkosY0FBSWQsUUFBUSxDQUFDZSxZQUFiLEVBQTJCO0FBRXBCQyxZQUFBQSxTQUZvQixHQUVXYixRQUFRLENBQUNDLGFBQVQsQ0FBdUIsR0FBdkIsQ0FGWDtBQUkxQlksWUFBQUEsU0FBUyxDQUFDQyxJQUFWLEdBQWlCSCxZQUFZLENBQUNJLEdBQTlCO0FBQ0FGLFlBQUFBLFNBQVMsQ0FBQ0csUUFBVixHQUFxQlosUUFBUSxDQUFDYSxJQUFULEdBQWdCLEdBQWhCLEdBQXNCYixRQUFRLENBQUNLLEdBQXBEO0FBRUFJLFlBQUFBLFNBQVMsQ0FBQ0ssS0FBVjtBQUVBOztBQS9CRywyQ0FpQ0dQLFlBakNIOztBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQXNDRyxJQUFJUSxLQUFKLENBQVUsb0ZBQVYsQ0F0Q0g7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBLDJDQTZDRSxJQUFJQSxLQUFKLENBQVUsb0ZBQVYsQ0E3Q0Y7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcclxuXHJcbmltcG9ydCBGaWxlSW5mbyBmcm9tICcuLi9pbnRlcmZhY2VzL0ZpbGVJbmZvJztcclxuXHJcbmltcG9ydCB7IGxvYWRJbWFnZSB9IGZyb20gJy4uL3V0aWxzL2xvYWQnO1xyXG5pbXBvcnQgeyBleHRyYWN0RmlsZUluZm8gfSBmcm9tICcuLi91dGlscy9maWxlJztcclxuXHJcbmltcG9ydCBHZW5lcmFsT3B0aW9ucyBmcm9tICcuLi9vcHRpb25zL0dlbmVyYWxPcHRpb25zJztcclxuXHJcbi8qKlxyXG4gKiBDcm9wIGFuIGltYWdlIHRvIGEgc3BlY2lmaWVkIHNpemUgYnkgcHJvdmlkaW5nIHRoZSBzdGFydCBsb2NhdGlvbiBvZiB0aGUgY3JvcCBhbmQgdGhlIGRpbWVuc2lvbnMgdGhhdCB0aGUgcHJvZHVjdCBzaG91bGQgaGF2ZS5cclxuICogXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIHRoZSBpbWFnZSB0byBjcm9wLlxyXG4gKiBAcGFyYW0ge251bWJlcn0geCBUaGUgaG9yaXpvbnRhbCBsb2NhdGlvbiBpbiB0aGUgb3JpZ2luYWwgaW1hZ2UgdG8gYmVnaW4gdGhlIGNyb3AuXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSB5IFRoZSB2ZXJ0aWNhbCBsb2NhdGlvbiBpbiB0aGUgb3JpZ2luYWwgaW1hZ2UgdG8gYmVpbmcgdGhlIGNyb3AuXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSB3aWR0aCBUaGUgd2lkdGggb2YgdGhlIGZpbmFsIGNyb3BwZWQgaW1hZ2UuXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHQgVGhlIGhlaWdodCBvZiBvZiB0aGUgZmluYWwgY3JvcHBlZCBpbWFnZS5cclxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXVxyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmF1dG9Eb3dubG9hZD1mYWxzZV0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGltYWdlIHNob3VsZCBkb3dubG9hZCBhZnRlciB0aGUgY3JvcHBpbmcgaXMgY29tcGxldGUgb3Igbm90LlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuY3Jvc3NPcmlnaW49bnVsbF0gU2V0cyB0aGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5IG9mIGltYWdlcyBvcmlnaW5hdGluZyBmcm9tIGV4dGVybmFsIHNvdXJjZXMuXHJcbiAqIFxyXG4gKiBAcmV0dXJucyB7UHJvbWl6ZTxIVE1MSW1hZ2VFbGVtZW50Pn0gUmV0dXJucyB0aGUgbmV3bHkgY3JvcHBlZCBpbWFnZSBhcyBhbiBpbWFnZSBlbGVtZW50LlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyb3AocGF0aDogc3RyaW5nLCB4OiBudW1iZXIsIHk6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIG9wdGlvbnM6IE9iamVjdCA9IHt9KTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50IHwgRXJyb3I+IHtcclxuXHJcblx0Y29uc3QgX29wdGlvbnM6IEdlbmVyYWxPcHRpb25zID0gbmV3IEdlbmVyYWxPcHRpb25zKG9wdGlvbnMpO1xyXG5cclxuXHRjb25zdCBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcblx0Y29uc3QgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcblxyXG5cdGNvbnN0IGZpbGVJbmZvOiBGaWxlSW5mbyA9IGV4dHJhY3RGaWxlSW5mbyhwYXRoKTtcclxuXHJcblx0dHJ5IHtcclxuXHJcblx0XHRjb25zdCBpbWFnZSA9IGF3YWl0IGxvYWRJbWFnZShwYXRoLCBfb3B0aW9ucy5jcm9zc09yaWdpbik7XHJcblxyXG5cdFx0Y2FudmFzLndpZHRoID0gd2lkdGg7XHJcblx0XHRjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG5cclxuXHRcdGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIHgsIHksIHdpZHRoLCBoZWlnaHQsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xyXG5cclxuXHRcdHRyeSB7XHJcblxyXG5cdFx0XHRjb25zdCBjcm9wcGVkSW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UoY2FudmFzLnRvRGF0YVVSTChgaW1hZ2UvJHtmaWxlSW5mby5leHR9YCkucmVwbGFjZShgaW1hZ2UvJHtmaWxlSW5mby5leHR9YCwgJ2ltYWdlL29jdGV0LXN0cmVhbScpKTtcclxuXHJcblx0XHRcdGlmIChfb3B0aW9ucy5hdXRvZG93bmxvYWQpIHtcclxuXHJcblx0XHRcdFx0Y29uc3QgaW1hZ2VMaW5rOiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHJcblx0XHRcdFx0aW1hZ2VMaW5rLmhyZWYgPSBjcm9wcGVkSW1hZ2Uuc3JjO1xyXG5cdFx0XHRcdGltYWdlTGluay5kb3dubG9hZCA9IGZpbGVJbmZvLm5hbWUgKyAnLicgKyBmaWxlSW5mby5leHQ7XHJcblxyXG5cdFx0XHRcdGltYWdlTGluay5jbGljaygpO1xyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cmV0dXJuIGNyb3BwZWRJbWFnZTtcclxuXHJcblx0XHR9XHJcblx0XHRjYXRjaCAoZXJyb3IpIHtcclxuXHJcblx0XHRcdHJldHVybiBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhIHByb2JsZW0gbG9hZGluZyB0aGUgaW1hZ2UsIHBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhdGggaXMgdmFsaWQnKTtcclxuXHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRjYXRjaCAoZXJyb3IpIHtcclxuXHJcblx0XHRyZXR1cm4gbmV3IEVycm9yKCdUaGVyZSB3YXMgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGltYWdlLCBwbGVhc2UgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBwYXRoIGlzIHZhbGlkJyk7XHJcblxyXG5cdH1cclxuXHJcbn0iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vY3JvcC50cyJdLCJuYW1lcyI6WyJjcm9wIiwicGF0aCIsIngiLCJ5Iiwid2lkdGgiLCJoZWlnaHQiLCJvcHRpb25zIiwiX29wdGlvbnMiLCJHZW5lcmFsT3B0aW9ucyIsImNhbnZhcyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImN0eCIsImdldENvbnRleHQiLCJmaWxlSW5mbyIsImNyb3NzT3JpZ2luIiwiaW1hZ2UiLCJkcmF3SW1hZ2UiLCJ0b0RhdGFVUkwiLCJleHQiLCJyZXBsYWNlIiwiY3JvcHBlZEltYWdlIiwiYXV0b2Rvd25sb2FkIiwiaW1hZ2VMaW5rIiwiaHJlZiIsInNyYyIsImRvd25sb2FkIiwibmFtZSIsImNsaWNrIiwiRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0FBSUE7O0FBQ0E7O0FBRUE7O0FBRUE7Ozs7Ozs7Ozs7Ozs7O1NBY3NCQSxJOzs7Ozs7OytCQUFmLGlCQUFvQkMsSUFBcEIsRUFBa0NDLENBQWxDLEVBQTZDQyxDQUE3QyxFQUF3REMsS0FBeEQsRUFBdUVDLE1BQXZFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVGQyxZQUFBQSxPQUF2RiwyREFBeUcsRUFBekc7QUFFQUMsWUFBQUEsUUFGQSxHQUUyQixJQUFJQywwQkFBSixDQUFtQkYsT0FBbkIsQ0FGM0I7QUFJQUcsWUFBQUEsTUFKQSxHQUk0QkMsUUFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLENBSjVCO0FBS0FDLFlBQUFBLEdBTEEsR0FLZ0NILE1BQU0sQ0FBQ0ksVUFBUCxDQUFrQixJQUFsQixDQUxoQztBQU9BQyxZQUFBQSxRQVBBLEdBT3FCLDJCQUFnQmIsSUFBaEIsQ0FQckI7QUFBQTtBQUFBO0FBQUEsbUJBV2UscUJBQVVBLElBQVYsRUFBZ0JNLFFBQVEsQ0FBQ1EsV0FBekIsQ0FYZjs7QUFBQTtBQVdDQyxZQUFBQSxLQVhEO0FBYUxQLFlBQUFBLE1BQU0sQ0FBQ0wsS0FBUCxHQUFlQSxLQUFmO0FBQ0FLLFlBQUFBLE1BQU0sQ0FBQ0osTUFBUCxHQUFnQkEsTUFBaEI7QUFFQU8sWUFBQUEsR0FBRyxDQUFDSyxTQUFKLENBQWNELEtBQWQsRUFBcUJkLENBQXJCLEVBQXdCQyxDQUF4QixFQUEyQkMsS0FBM0IsRUFBa0NDLE1BQWxDLEVBQTBDLENBQTFDLEVBQTZDLENBQTdDLEVBQWdERCxLQUFoRCxFQUF1REMsTUFBdkQ7QUFoQks7QUFBQTtBQUFBLG1CQW9CdUIscUJBQVVJLE1BQU0sQ0FBQ1MsU0FBUCxpQkFBMEJKLFFBQVEsQ0FBQ0ssR0FBbkMsR0FBMENDLE9BQTFDLGlCQUEyRE4sUUFBUSxDQUFDSyxHQUFwRSxHQUEyRSxvQkFBM0UsQ0FBVixDQXBCdkI7O0FBQUE7QUFvQkVFLFlBQUFBLFlBcEJGOztBQXNCSixnQkFBSWQsUUFBUSxDQUFDZSxZQUFiLEVBQTJCO0FBRXBCQyxjQUFBQSxTQUZvQixHQUVXYixRQUFRLENBQUNDLGFBQVQsQ0FBdUIsR0FBdkIsQ0FGWDtBQUkxQlksY0FBQUEsU0FBUyxDQUFDQyxJQUFWLEdBQWlCSCxZQUFZLENBQUNJLEdBQTlCO0FBQ0FGLGNBQUFBLFNBQVMsQ0FBQ0csUUFBVixHQUFxQlosUUFBUSxDQUFDYSxJQUFULEdBQWdCLEdBQWhCLEdBQXNCYixRQUFRLENBQUNLLEdBQXBEO0FBRUFJLGNBQUFBLFNBQVMsQ0FBQ0ssS0FBVjtBQUVBOztBQS9CRyw2Q0FpQ0dQLFlBakNIOztBQUFBO0FBQUE7QUFBQTtBQUFBLDZDQXNDRyxJQUFJUSxLQUFKLENBQVUsb0ZBQVYsQ0F0Q0g7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBLDZDQTZDRSxJQUFJQSxLQUFKLENBQVUsb0ZBQVYsQ0E3Q0Y7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuaW1wb3J0IEZpbGVJbmZvIGZyb20gJy4uL2ludGVyZmFjZXMvRmlsZUluZm8nO1xyXG5cclxuaW1wb3J0IHsgbG9hZEltYWdlIH0gZnJvbSAnLi4vdXRpbHMvbG9hZCc7XHJcbmltcG9ydCB7IGV4dHJhY3RGaWxlSW5mbyB9IGZyb20gJy4uL3V0aWxzL2ZpbGUnO1xyXG5cclxuaW1wb3J0IEdlbmVyYWxPcHRpb25zIGZyb20gJy4uL29wdGlvbnMvR2VuZXJhbE9wdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqIENyb3AgYW4gaW1hZ2UgdG8gYSBzcGVjaWZpZWQgc2l6ZSBieSBwcm92aWRpbmcgdGhlIHN0YXJ0IGxvY2F0aW9uIG9mIHRoZSBjcm9wIGFuZCB0aGUgZGltZW5zaW9ucyB0aGF0IHRoZSBwcm9kdWN0IHNob3VsZCBoYXZlLlxyXG4gKiBcclxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gdGhlIGltYWdlIHRvIGNyb3AuXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSB4IFRoZSBob3Jpem9udGFsIGxvY2F0aW9uIGluIHRoZSBvcmlnaW5hbCBpbWFnZSB0byBiZWdpbiB0aGUgY3JvcC5cclxuICogQHBhcmFtIHtudW1iZXJ9IHkgVGhlIHZlcnRpY2FsIGxvY2F0aW9uIGluIHRoZSBvcmlnaW5hbCBpbWFnZSB0byBiZWluZyB0aGUgY3JvcC5cclxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIFRoZSB3aWR0aCBvZiB0aGUgZmluYWwgY3JvcHBlZCBpbWFnZS5cclxuICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodCBUaGUgaGVpZ2h0IG9mIG9mIHRoZSBmaW5hbCBjcm9wcGVkIGltYWdlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuYXV0b0Rvd25sb2FkPWZhbHNlXSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1hZ2Ugc2hvdWxkIGRvd25sb2FkIGFmdGVyIHRoZSBjcm9wcGluZyBpcyBjb21wbGV0ZSBvciBub3QuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jcm9zc09yaWdpbj1udWxsXSBTZXRzIHRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgb2YgaW1hZ2VzIG9yaWdpbmF0aW5nIGZyb20gZXh0ZXJuYWwgc291cmNlcy5cclxuICogXHJcbiAqIEByZXR1cm5zIHtQcm9taXplPEhUTUxJbWFnZUVsZW1lbnQ+fSBSZXR1cm5zIHRoZSBuZXdseSBjcm9wcGVkIGltYWdlIGFzIGFuIGltYWdlIGVsZW1lbnQuXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JvcChwYXRoOiBzdHJpbmcsIHg6IG51bWJlciwgeTogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgb3B0aW9uczogT2JqZWN0ID0ge30pOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQgfCBFcnJvcj4ge1xyXG5cclxuXHRjb25zdCBfb3B0aW9uczogR2VuZXJhbE9wdGlvbnMgPSBuZXcgR2VuZXJhbE9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG5cdGNvbnN0IGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuXHRjb25zdCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuXHJcblx0Y29uc3QgZmlsZUluZm86IEZpbGVJbmZvID0gZXh0cmFjdEZpbGVJbmZvKHBhdGgpO1xyXG5cclxuXHR0cnkge1xyXG5cclxuXHRcdGNvbnN0IGltYWdlID0gYXdhaXQgbG9hZEltYWdlKHBhdGgsIF9vcHRpb25zLmNyb3NzT3JpZ2luKTtcclxuXHJcblx0XHRjYW52YXMud2lkdGggPSB3aWR0aDtcclxuXHRcdGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XHJcblxyXG5cdFx0Y3R4LmRyYXdJbWFnZShpbWFnZSwgeCwgeSwgd2lkdGgsIGhlaWdodCwgMCwgMCwgd2lkdGgsIGhlaWdodCk7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHJcblx0XHRcdGNvbnN0IGNyb3BwZWRJbWFnZSA9IGF3YWl0IGxvYWRJbWFnZShjYW52YXMudG9EYXRhVVJMKGBpbWFnZS8ke2ZpbGVJbmZvLmV4dH1gKS5yZXBsYWNlKGBpbWFnZS8ke2ZpbGVJbmZvLmV4dH1gLCAnaW1hZ2Uvb2N0ZXQtc3RyZWFtJykpO1xyXG5cclxuXHRcdFx0aWYgKF9vcHRpb25zLmF1dG9kb3dubG9hZCkge1xyXG5cclxuXHRcdFx0XHRjb25zdCBpbWFnZUxpbms6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG5cclxuXHRcdFx0XHRpbWFnZUxpbmsuaHJlZiA9IGNyb3BwZWRJbWFnZS5zcmM7XHJcblx0XHRcdFx0aW1hZ2VMaW5rLmRvd25sb2FkID0gZmlsZUluZm8ubmFtZSArICcuJyArIGZpbGVJbmZvLmV4dDtcclxuXHJcblx0XHRcdFx0aW1hZ2VMaW5rLmNsaWNrKCk7XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gY3JvcHBlZEltYWdlO1xyXG5cclxuXHRcdH1cclxuXHRcdGNhdGNoIChlcnJvcikge1xyXG5cclxuXHRcdFx0cmV0dXJuIG5ldyBFcnJvcignVGhlcmUgd2FzIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCcpO1xyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cdGNhdGNoIChlcnJvcikge1xyXG5cclxuXHRcdHJldHVybiBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhIHByb2JsZW0gbG9hZGluZyB0aGUgaW1hZ2UsIHBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhdGggaXMgdmFsaWQnKTtcclxuXHJcblx0fVxyXG5cclxufSJdfQ==

@@ -12,2 +12,4 @@ 'use strict';

var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _math = require("../utils/math");

@@ -34,61 +36,70 @@

*/
function resize(path, dimension, size) {
var options,
_options,
fileInfo,
image,
aspectRatio,
imageLink,
_args = arguments;
function resize(_x, _x2, _x3) {
return _resize.apply(this, arguments);
}
return _regenerator["default"].async(function resize$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
_options = new _CropOptions["default"](options);
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 3;
_context.next = 6;
return _regenerator["default"].awrap((0, _load.loadImage)(path, _options.crossOrigin));
function _resize() {
_resize = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee(path, dimension, size) {
var options,
_options,
fileInfo,
image,
aspectRatio,
imageLink,
_args = arguments;
case 6:
image = _context.sent;
aspectRatio = (0, _math.simplify)(image.width, image.height);
_context.t0 = dimension;
_context.next = _context.t0 === 'width' ? 11 : _context.t0 === 'height' ? 14 : 17;
break;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
_options = new _CropOptions["default"](options);
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 3;
_context.next = 6;
return (0, _load.loadImage)(path, _options.crossOrigin);
case 11:
image.width = size;
if (_options.preserveAspectRatio) image.height = Math.round(aspectRatio.denominator / aspectRatio.numerator * size);
return _context.abrupt("break", 17);
case 6:
image = _context.sent;
aspectRatio = (0, _math.simplify)(image.width, image.height);
_context.t0 = dimension;
_context.next = _context.t0 === 'width' ? 11 : _context.t0 === 'height' ? 14 : 17;
break;
case 14:
image.height = size;
if (_options.preserveAspectRatio) image.width = Math.round(aspectRatio.numerator / aspectRatio.denominator * size);
return _context.abrupt("break", 17);
case 11:
image.width = size;
if (_options.preserveAspectRatio) image.height = Math.round(aspectRatio.denominator / aspectRatio.numerator * size);
return _context.abrupt("break", 17);
case 17:
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 14:
image.height = size;
if (_options.preserveAspectRatio) image.width = Math.round(aspectRatio.numerator / aspectRatio.denominator * size);
return _context.abrupt("break", 17);
return _context.abrupt("return", image);
case 17:
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
_context.prev = 21;
_context.t1 = _context["catch"](3);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", image);
case 24:
case "end":
return _context.stop();
case 21:
_context.prev = 21;
_context.t1 = _context["catch"](3);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 24:
case "end":
return _context.stop();
}
}
}
}, null, null, [[3, 21]]);
}, _callee, null, [[3, 21]]);
}));
return _resize.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vcmVzaXplLnRzIl0sIm5hbWVzIjpbInJlc2l6ZSIsInBhdGgiLCJkaW1lbnNpb24iLCJzaXplIiwib3B0aW9ucyIsIl9vcHRpb25zIiwiQ3JvcE9wdGlvbnMiLCJmaWxlSW5mbyIsImNyb3NzT3JpZ2luIiwiaW1hZ2UiLCJhc3BlY3RSYXRpbyIsIndpZHRoIiwiaGVpZ2h0IiwicHJlc2VydmVBc3BlY3RSYXRpbyIsIk1hdGgiLCJyb3VuZCIsImRlbm9taW5hdG9yIiwibnVtZXJhdG9yIiwiYXV0b2Rvd25sb2FkIiwiaW1hZ2VMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaHJlZiIsInNyYyIsImRvd25sb2FkIiwibmFtZSIsImV4dCIsImNsaWNrIiwiRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztBQUlBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOzs7Ozs7Ozs7Ozs7O0FBYU8sU0FBZUEsTUFBZixDQUFzQkMsSUFBdEIsRUFBb0NDLFNBQXBDLEVBQXVEQyxJQUF2RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFFQyxVQUFBQSxPQUFyRSwyREFBdUYsRUFBdkY7QUFFQUMsVUFBQUEsUUFGQSxHQUV3QixJQUFJQyx1QkFBSixDQUFnQkYsT0FBaEIsQ0FGeEI7QUFJQUcsVUFBQUEsUUFKQSxHQUlxQiwyQkFBZ0JOLElBQWhCLENBSnJCO0FBQUE7QUFBQTtBQUFBLCtDQVFlLHFCQUFVQSxJQUFWLEVBQWdCSSxRQUFRLENBQUNHLFdBQXpCLENBUmY7O0FBQUE7QUFRQ0MsVUFBQUEsS0FSRDtBQVVDQyxVQUFBQSxXQVZELEdBVWUsb0JBQVNELEtBQUssQ0FBQ0UsS0FBZixFQUFzQkYsS0FBSyxDQUFDRyxNQUE1QixDQVZmO0FBQUEsd0JBWUdWLFNBWkg7QUFBQSwwQ0FjQyxPQWRELHdCQW9CQyxRQXBCRDtBQUFBOztBQUFBO0FBZUhPLFVBQUFBLEtBQUssQ0FBQ0UsS0FBTixHQUFjUixJQUFkO0FBRUEsY0FBSUUsUUFBUSxDQUFDUSxtQkFBYixFQUFrQ0osS0FBSyxDQUFDRyxNQUFOLEdBQWVFLElBQUksQ0FBQ0MsS0FBTCxDQUFZTCxXQUFXLENBQUNNLFdBQVosR0FBMEJOLFdBQVcsQ0FBQ08sU0FBdkMsR0FBb0RkLElBQS9ELENBQWY7QUFqQi9COztBQUFBO0FBcUJITSxVQUFBQSxLQUFLLENBQUNHLE1BQU4sR0FBZVQsSUFBZjtBQUVBLGNBQUlFLFFBQVEsQ0FBQ1EsbUJBQWIsRUFBa0NKLEtBQUssQ0FBQ0UsS0FBTixHQUFjRyxJQUFJLENBQUNDLEtBQUwsQ0FBWUwsV0FBVyxDQUFDTyxTQUFaLEdBQXdCUCxXQUFXLENBQUNNLFdBQXJDLEdBQW9EYixJQUEvRCxDQUFkO0FBdkIvQjs7QUFBQTtBQTRCTCxjQUFJRSxRQUFRLENBQUNhLFlBQWIsRUFBMkI7QUFFcEJDLFlBQUFBLFNBRm9CLEdBRVdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixHQUF2QixDQUZYO0FBSTFCRixZQUFBQSxTQUFTLENBQUNHLElBQVYsR0FBaUJiLEtBQUssQ0FBQ2MsR0FBdkI7QUFDQUosWUFBQUEsU0FBUyxDQUFDSyxRQUFWLEdBQXFCakIsUUFBUSxDQUFDa0IsSUFBVCxHQUFnQixHQUFoQixHQUFzQmxCLFFBQVEsQ0FBQ21CLEdBQXBEO0FBRUFQLFlBQUFBLFNBQVMsQ0FBQ1EsS0FBVjtBQUVBOztBQXJDSSwyQ0F1Q0VsQixLQXZDRjs7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQ0E0Q0UsSUFBSW1CLEtBQUosQ0FBVSxvRkFBVixDQTVDRjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuaW1wb3J0IEZpbGVJbmZvIGZyb20gJy4uL2ludGVyZmFjZXMvRmlsZUluZm8nO1xyXG5cclxuaW1wb3J0IHsgc2ltcGxpZnkgfSBmcm9tICcuLi91dGlscy9tYXRoJztcclxuaW1wb3J0IHsgbG9hZEltYWdlIH0gZnJvbSAnLi4vdXRpbHMvbG9hZCc7XHJcbmltcG9ydCB7IGV4dHJhY3RGaWxlSW5mbyB9IGZyb20gJy4uL3V0aWxzL2ZpbGUnO1xyXG5cclxuaW1wb3J0IENyb3BPcHRpb25zIGZyb20gJy4uL29wdGlvbnMvQ3JvcE9wdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqIFJlc2l6ZSBhbiBpbWFnZSB0byBhIG5ldyBkaW1lbnNpb24uXHJcbiAqIFxyXG4gKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgaW1hZ2UgdG8gcmVzaXplLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZGltZW5zaW9uIFdoaWNoIGRpbWVuc2lvbiB0byByZXNpemUsIGVpdGhlciB3aWR0aCBvciBoZWlnaHQuIEtlZXAgaW4gbWluZCB0aGF0IGlmIHlvdSdyZSBwcmVzZXJ2aW5nIHRoZSBhc3BlY3QgcmF0aW8sIHRoZSBvdGhlciB3aWxsIHJlc2l6ZSBhY2NvcmRpbmdseS5cclxuICogQHBhcmFtIHtudW1iZXJ9IHNpemUgVGhlIG5ldyBzaXplIHRvIG1ha2UgdGhlIHNwZWNpZmllZCBkaW1lbnNpb24uXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc11cclxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5wcmVzZXJ2ZUFzcGVjdFJhdGlvPXRydWVdIEluZGljYXRlcyB3aGV0aGVyIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHdpbGwgcmVzaXplIHRvZ2V0aGVyIHRvIHByZXNlcnZlIHRoZSBhc3BlY3QgcmF0aW8gb2YgdGhlIGltYWdlLlxyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmF1dG9Eb3dubG9hZD1mYWxzZV0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGltYWdlIHNob3VsZCBkb3dubG9hZCBhZnRlciB0aGUgY3JvcHBpbmcgaXMgY29tcGxldGUgb3Igbm90LlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuY3Jvc3NPcmlnaW49bnVsbF0gU2V0cyB0aGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5IG9mIGltYWdlcyBvcmlnaW5hdGluZyBmcm9tIGV4dGVybmFsIHNvdXJjZXMuXHJcbiAqIFxyXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50Pn0gUmV0dXJucyB0aGUgbmV3bHkgcmVzaXplZCBpbWFnZSBhcyBhbiBpbWFnZSBlbGVtZW50LlxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc2l6ZShwYXRoOiBzdHJpbmcsIGRpbWVuc2lvbjogc3RyaW5nLCBzaXplOiBudW1iZXIsIG9wdGlvbnM6IE9iamVjdCA9IHt9KTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50IHwgRXJyb3I+IHtcclxuXHJcblx0Y29uc3QgX29wdGlvbnM6IENyb3BPcHRpb25zID0gbmV3IENyb3BPcHRpb25zKG9wdGlvbnMpO1xyXG5cclxuXHRjb25zdCBmaWxlSW5mbzogRmlsZUluZm8gPSBleHRyYWN0RmlsZUluZm8ocGF0aCk7XHJcblxyXG5cdHRyeSB7XHJcblxyXG5cdFx0Y29uc3QgaW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UocGF0aCwgX29wdGlvbnMuY3Jvc3NPcmlnaW4pO1xyXG5cclxuXHRcdGNvbnN0IGFzcGVjdFJhdGlvID0gc2ltcGxpZnkoaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCk7XHJcblxyXG5cdFx0c3dpdGNoIChkaW1lbnNpb24pIHtcclxuXHJcblx0XHRcdGNhc2UgJ3dpZHRoJzpcclxuXHRcdFx0XHRpbWFnZS53aWR0aCA9IHNpemU7XHJcblxyXG5cdFx0XHRcdGlmIChfb3B0aW9ucy5wcmVzZXJ2ZUFzcGVjdFJhdGlvKSBpbWFnZS5oZWlnaHQgPSBNYXRoLnJvdW5kKChhc3BlY3RSYXRpby5kZW5vbWluYXRvciAvIGFzcGVjdFJhdGlvLm51bWVyYXRvcikgKiBzaXplKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHJcblx0XHRcdGNhc2UgJ2hlaWdodCc6XHJcblx0XHRcdFx0aW1hZ2UuaGVpZ2h0ID0gc2l6ZTtcclxuXHJcblx0XHRcdFx0aWYgKF9vcHRpb25zLnByZXNlcnZlQXNwZWN0UmF0aW8pIGltYWdlLndpZHRoID0gTWF0aC5yb3VuZCgoYXNwZWN0UmF0aW8ubnVtZXJhdG9yIC8gYXNwZWN0UmF0aW8uZGVub21pbmF0b3IpICogc2l6ZSk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChfb3B0aW9ucy5hdXRvZG93bmxvYWQpIHtcclxuXHJcblx0XHRcdGNvbnN0IGltYWdlTGluazogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcblxyXG5cdFx0XHRpbWFnZUxpbmsuaHJlZiA9IGltYWdlLnNyYztcclxuXHRcdFx0aW1hZ2VMaW5rLmRvd25sb2FkID0gZmlsZUluZm8ubmFtZSArICcuJyArIGZpbGVJbmZvLmV4dDtcclxuXHJcblx0XHRcdGltYWdlTGluay5jbGljaygpO1xyXG5cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gaW1hZ2U7XHJcblxyXG5cdH1cclxuXHRjYXRjaCAoZXJyb3IpIHtcclxuXHJcblx0XHRyZXR1cm4gbmV3IEVycm9yKCdUaGVyZSB3YXMgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGltYWdlLCBwbGVhc2UgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBwYXRoIGlzIHZhbGlkJyk7XHJcblxyXG5cdH1cclxuXHJcbn0iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vcmVzaXplLnRzIl0sIm5hbWVzIjpbInJlc2l6ZSIsInBhdGgiLCJkaW1lbnNpb24iLCJzaXplIiwib3B0aW9ucyIsIl9vcHRpb25zIiwiQ3JvcE9wdGlvbnMiLCJmaWxlSW5mbyIsImNyb3NzT3JpZ2luIiwiaW1hZ2UiLCJhc3BlY3RSYXRpbyIsIndpZHRoIiwiaGVpZ2h0IiwicHJlc2VydmVBc3BlY3RSYXRpbyIsIk1hdGgiLCJyb3VuZCIsImRlbm9taW5hdG9yIiwibnVtZXJhdG9yIiwiYXV0b2Rvd25sb2FkIiwiaW1hZ2VMaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaHJlZiIsInNyYyIsImRvd25sb2FkIiwibmFtZSIsImV4dCIsImNsaWNrIiwiRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7Ozs7Ozs7Ozs7Ozs7U0Fhc0JBLE07Ozs7Ozs7K0JBQWYsaUJBQXNCQyxJQUF0QixFQUFvQ0MsU0FBcEMsRUFBdURDLElBQXZEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUVDLFlBQUFBLE9BQXJFLDJEQUF1RixFQUF2RjtBQUVBQyxZQUFBQSxRQUZBLEdBRXdCLElBQUlDLHVCQUFKLENBQWdCRixPQUFoQixDQUZ4QjtBQUlBRyxZQUFBQSxRQUpBLEdBSXFCLDJCQUFnQk4sSUFBaEIsQ0FKckI7QUFBQTtBQUFBO0FBQUEsbUJBUWUscUJBQVVBLElBQVYsRUFBZ0JJLFFBQVEsQ0FBQ0csV0FBekIsQ0FSZjs7QUFBQTtBQVFDQyxZQUFBQSxLQVJEO0FBVUNDLFlBQUFBLFdBVkQsR0FVZSxvQkFBU0QsS0FBSyxDQUFDRSxLQUFmLEVBQXNCRixLQUFLLENBQUNHLE1BQTVCLENBVmY7QUFBQSwwQkFZR1YsU0FaSDtBQUFBLDRDQWNDLE9BZEQsd0JBb0JDLFFBcEJEO0FBQUE7O0FBQUE7QUFlSE8sWUFBQUEsS0FBSyxDQUFDRSxLQUFOLEdBQWNSLElBQWQ7QUFFQSxnQkFBSUUsUUFBUSxDQUFDUSxtQkFBYixFQUFrQ0osS0FBSyxDQUFDRyxNQUFOLEdBQWVFLElBQUksQ0FBQ0MsS0FBTCxDQUFZTCxXQUFXLENBQUNNLFdBQVosR0FBMEJOLFdBQVcsQ0FBQ08sU0FBdkMsR0FBb0RkLElBQS9ELENBQWY7QUFqQi9COztBQUFBO0FBcUJITSxZQUFBQSxLQUFLLENBQUNHLE1BQU4sR0FBZVQsSUFBZjtBQUVBLGdCQUFJRSxRQUFRLENBQUNRLG1CQUFiLEVBQWtDSixLQUFLLENBQUNFLEtBQU4sR0FBY0csSUFBSSxDQUFDQyxLQUFMLENBQVlMLFdBQVcsQ0FBQ08sU0FBWixHQUF3QlAsV0FBVyxDQUFDTSxXQUFyQyxHQUFvRGIsSUFBL0QsQ0FBZDtBQXZCL0I7O0FBQUE7QUE0QkwsZ0JBQUlFLFFBQVEsQ0FBQ2EsWUFBYixFQUEyQjtBQUVwQkMsY0FBQUEsU0FGb0IsR0FFV0MsUUFBUSxDQUFDQyxhQUFULENBQXVCLEdBQXZCLENBRlg7QUFJMUJGLGNBQUFBLFNBQVMsQ0FBQ0csSUFBVixHQUFpQmIsS0FBSyxDQUFDYyxHQUF2QjtBQUNBSixjQUFBQSxTQUFTLENBQUNLLFFBQVYsR0FBcUJqQixRQUFRLENBQUNrQixJQUFULEdBQWdCLEdBQWhCLEdBQXNCbEIsUUFBUSxDQUFDbUIsR0FBcEQ7QUFFQVAsY0FBQUEsU0FBUyxDQUFDUSxLQUFWO0FBRUE7O0FBckNJLDZDQXVDRWxCLEtBdkNGOztBQUFBO0FBQUE7QUFBQTtBQUFBLDZDQTRDRSxJQUFJbUIsS0FBSixDQUFVLG9GQUFWLENBNUNGOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcclxuXHJcbmltcG9ydCBGaWxlSW5mbyBmcm9tICcuLi9pbnRlcmZhY2VzL0ZpbGVJbmZvJztcclxuXHJcbmltcG9ydCB7IHNpbXBsaWZ5IH0gZnJvbSAnLi4vdXRpbHMvbWF0aCc7XHJcbmltcG9ydCB7IGxvYWRJbWFnZSB9IGZyb20gJy4uL3V0aWxzL2xvYWQnO1xyXG5pbXBvcnQgeyBleHRyYWN0RmlsZUluZm8gfSBmcm9tICcuLi91dGlscy9maWxlJztcclxuXHJcbmltcG9ydCBDcm9wT3B0aW9ucyBmcm9tICcuLi9vcHRpb25zL0Nyb3BPcHRpb25zJztcclxuXHJcbi8qKlxyXG4gKiBSZXNpemUgYW4gaW1hZ2UgdG8gYSBuZXcgZGltZW5zaW9uLlxyXG4gKiBcclxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gdGhlIGltYWdlIHRvIHJlc2l6ZS5cclxuICogQHBhcmFtIHtzdHJpbmd9IGRpbWVuc2lvbiBXaGljaCBkaW1lbnNpb24gdG8gcmVzaXplLCBlaXRoZXIgd2lkdGggb3IgaGVpZ2h0LiBLZWVwIGluIG1pbmQgdGhhdCBpZiB5b3UncmUgcHJlc2VydmluZyB0aGUgYXNwZWN0IHJhdGlvLCB0aGUgb3RoZXIgd2lsbCByZXNpemUgYWNjb3JkaW5nbHkuXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBzaXplIFRoZSBuZXcgc2l6ZSB0byBtYWtlIHRoZSBzcGVjaWZpZWQgZGltZW5zaW9uLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMucHJlc2VydmVBc3BlY3RSYXRpbz10cnVlXSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgd2lkdGggYW5kIGhlaWdodCB3aWxsIHJlc2l6ZSB0b2dldGhlciB0byBwcmVzZXJ2ZSB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBpbWFnZS5cclxuICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5hdXRvRG93bmxvYWQ9ZmFsc2VdIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbWFnZSBzaG91bGQgZG93bmxvYWQgYWZ0ZXIgdGhlIGNyb3BwaW5nIGlzIGNvbXBsZXRlIG9yIG5vdC5cclxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmNyb3NzT3JpZ2luPW51bGxdIFNldHMgdGhlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSBvZiBpbWFnZXMgb3JpZ2luYXRpbmcgZnJvbSBleHRlcm5hbCBzb3VyY2VzLlxyXG4gKiBcclxuICogQHJldHVybnMge1Byb21pc2U8SFRNTEltYWdlRWxlbWVudD59IFJldHVybnMgdGhlIG5ld2x5IHJlc2l6ZWQgaW1hZ2UgYXMgYW4gaW1hZ2UgZWxlbWVudC5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNpemUocGF0aDogc3RyaW5nLCBkaW1lbnNpb246IHN0cmluZywgc2l6ZTogbnVtYmVyLCBvcHRpb25zOiBPYmplY3QgPSB7fSk6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudCB8IEVycm9yPiB7XHJcblxyXG5cdGNvbnN0IF9vcHRpb25zOiBDcm9wT3B0aW9ucyA9IG5ldyBDcm9wT3B0aW9ucyhvcHRpb25zKTtcclxuXHJcblx0Y29uc3QgZmlsZUluZm86IEZpbGVJbmZvID0gZXh0cmFjdEZpbGVJbmZvKHBhdGgpO1xyXG5cclxuXHR0cnkge1xyXG5cclxuXHRcdGNvbnN0IGltYWdlID0gYXdhaXQgbG9hZEltYWdlKHBhdGgsIF9vcHRpb25zLmNyb3NzT3JpZ2luKTtcclxuXHJcblx0XHRjb25zdCBhc3BlY3RSYXRpbyA9IHNpbXBsaWZ5KGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQpO1xyXG5cclxuXHRcdHN3aXRjaCAoZGltZW5zaW9uKSB7XHJcblxyXG5cdFx0XHRjYXNlICd3aWR0aCc6XHJcblx0XHRcdFx0aW1hZ2Uud2lkdGggPSBzaXplO1xyXG5cclxuXHRcdFx0XHRpZiAoX29wdGlvbnMucHJlc2VydmVBc3BlY3RSYXRpbykgaW1hZ2UuaGVpZ2h0ID0gTWF0aC5yb3VuZCgoYXNwZWN0UmF0aW8uZGVub21pbmF0b3IgLyBhc3BlY3RSYXRpby5udW1lcmF0b3IpICogc2l6ZSk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblxyXG5cdFx0XHRjYXNlICdoZWlnaHQnOlxyXG5cdFx0XHRcdGltYWdlLmhlaWdodCA9IHNpemU7XHJcblxyXG5cdFx0XHRcdGlmIChfb3B0aW9ucy5wcmVzZXJ2ZUFzcGVjdFJhdGlvKSBpbWFnZS53aWR0aCA9IE1hdGgucm91bmQoKGFzcGVjdFJhdGlvLm51bWVyYXRvciAvIGFzcGVjdFJhdGlvLmRlbm9taW5hdG9yKSAqIHNpemUpO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdH1cclxuXHJcblx0XHRpZiAoX29wdGlvbnMuYXV0b2Rvd25sb2FkKSB7XHJcblxyXG5cdFx0XHRjb25zdCBpbWFnZUxpbms6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG5cclxuXHRcdFx0aW1hZ2VMaW5rLmhyZWYgPSBpbWFnZS5zcmM7XHJcblx0XHRcdGltYWdlTGluay5kb3dubG9hZCA9IGZpbGVJbmZvLm5hbWUgKyAnLicgKyBmaWxlSW5mby5leHQ7XHJcblxyXG5cdFx0XHRpbWFnZUxpbmsuY2xpY2soKTtcclxuXHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIGltYWdlO1xyXG5cclxuXHR9XHJcblx0Y2F0Y2ggKGVycm9yKSB7XHJcblxyXG5cdFx0cmV0dXJuIG5ldyBFcnJvcignVGhlcmUgd2FzIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCcpO1xyXG5cclxuXHR9XHJcblxyXG59Il19

@@ -12,2 +12,4 @@ 'use strict';

var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _load = require("../utils/load");

@@ -28,75 +30,84 @@

*/
function rotate(path, angle) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
largestSide,
rotatedImage,
imageLink,
_args = arguments;
function rotate(_x, _x2) {
return _rotate.apply(this, arguments);
}
return _regenerator["default"].async(function rotate$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new _GeneralOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 5;
_context.next = 8;
return _regenerator["default"].awrap((0, _load.loadImage)(path, _options.crossOrigin));
function _rotate() {
_rotate = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee(path, angle) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
largestSide,
rotatedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
largestSide = image.width;
if (image.height > image.width) largestSide = image.height;
canvas.width, canvas.height = largestSide;
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(angle * Math.PI / 180);
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2);
ctx.restore();
_context.prev = 18;
_context.next = 21;
return _regenerator["default"].awrap((0, _load.loadImage)(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream')));
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new _GeneralOptions["default"](options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = (0, _file.extractFileInfo)(path);
_context.prev = 5;
_context.next = 8;
return (0, _load.loadImage)(path, _options.crossOrigin);
case 21:
rotatedImage = _context.sent;
case 8:
image = _context.sent;
largestSide = image.width;
if (image.height > image.width) largestSide = image.height;
canvas.width, canvas.height = largestSide;
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(angle * Math.PI / 180);
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2);
ctx.restore();
_context.prev = 18;
_context.next = 21;
return (0, _load.loadImage)(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream'));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = rotatedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
rotatedImage = _context.sent;
return _context.abrupt("return", rotatedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = rotatedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 26:
_context.prev = 26;
_context.t0 = _context["catch"](18);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", rotatedImage);
case 29:
_context.next = 34;
break;
case 26:
_context.prev = 26;
_context.t0 = _context["catch"](18);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 31:
_context.prev = 31;
_context.t1 = _context["catch"](5);
throw new Error('There was an error loading the image, please check to make sure the path is valid and try again.');
case 29:
_context.next = 34;
break;
case 34:
case "end":
return _context.stop();
case 31:
_context.prev = 31;
_context.t1 = _context["catch"](5);
throw new Error('There was an error loading the image, please check to make sure the path is valid and try again.');
case 34:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 31], [18, 26]]);
}, _callee, null, [[5, 31], [18, 26]]);
}));
return _rotate.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vcm90YXRlLnRzIl0sIm5hbWVzIjpbInJvdGF0ZSIsInBhdGgiLCJhbmdsZSIsIm9wdGlvbnMiLCJfb3B0aW9ucyIsIkdlbmVyYWxPcHRpb25zIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3R4IiwiZ2V0Q29udGV4dCIsImZpbGVJbmZvIiwiY3Jvc3NPcmlnaW4iLCJpbWFnZSIsImxhcmdlc3RTaWRlIiwid2lkdGgiLCJoZWlnaHQiLCJzYXZlIiwidHJhbnNsYXRlIiwiTWF0aCIsIlBJIiwiZHJhd0ltYWdlIiwicmVzdG9yZSIsInRvRGF0YVVSTCIsImV4dCIsInJlcGxhY2UiLCJyb3RhdGVkSW1hZ2UiLCJhdXRvZG93bmxvYWQiLCJpbWFnZUxpbmsiLCJocmVmIiwic3JjIiwiZG93bmxvYWQiLCJuYW1lIiwiY2xpY2siLCJFcnJvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0FBSUE7O0FBQ0E7O0FBRUE7O0FBRUE7Ozs7Ozs7OztBQVNPLFNBQWVBLE1BQWYsQ0FBc0JDLElBQXRCLEVBQW9DQyxLQUFwQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW1EQyxVQUFBQSxPQUFuRCwyREFBcUUsRUFBckU7QUFFQ0MsVUFBQUEsUUFGRCxHQUU0QixJQUFJQywwQkFBSixDQUFtQkYsT0FBbkIsQ0FGNUI7QUFJQ0csVUFBQUEsTUFKRCxHQUk2QkMsUUFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLENBSjdCO0FBS0NDLFVBQUFBLEdBTEQsR0FLaUNILE1BQU0sQ0FBQ0ksVUFBUCxDQUFrQixJQUFsQixDQUxqQztBQU9DQyxVQUFBQSxRQVBELEdBT3NCLDJCQUFnQlYsSUFBaEIsQ0FQdEI7QUFBQTtBQUFBO0FBQUEsK0NBV21DLHFCQUFVQSxJQUFWLEVBQWdCRyxRQUFRLENBQUNRLFdBQXpCLENBWG5DOztBQUFBO0FBV0dDLFVBQUFBLEtBWEg7QUFhQ0MsVUFBQUEsV0FiRCxHQWF1QkQsS0FBSyxDQUFDRSxLQWI3QjtBQWVILGNBQUlGLEtBQUssQ0FBQ0csTUFBTixHQUFlSCxLQUFLLENBQUNFLEtBQXpCLEVBQWdDRCxXQUFXLEdBQUdELEtBQUssQ0FBQ0csTUFBcEI7QUFFaENWLFVBQUFBLE1BQU0sQ0FBQ1MsS0FBUCxFQUFjVCxNQUFNLENBQUNVLE1BQVAsR0FBZ0JGLFdBQTlCO0FBRUFMLFVBQUFBLEdBQUcsQ0FBQ1EsSUFBSjtBQUVBUixVQUFBQSxHQUFHLENBQUNTLFNBQUosQ0FBY1osTUFBTSxDQUFDUyxLQUFQLEdBQWUsQ0FBN0IsRUFBZ0NULE1BQU0sQ0FBQ1UsTUFBUCxHQUFnQixDQUFoRDtBQUVBUCxVQUFBQSxHQUFHLENBQUNULE1BQUosQ0FBV0UsS0FBSyxHQUFHaUIsSUFBSSxDQUFDQyxFQUFiLEdBQWtCLEdBQTdCO0FBRUFYLFVBQUFBLEdBQUcsQ0FBQ1MsU0FBSixDQUFjLEVBQUVaLE1BQU0sQ0FBQ1MsS0FBUCxHQUFlLENBQWpCLENBQWQsRUFBbUMsRUFBRVQsTUFBTSxDQUFDVSxNQUFQLEdBQWdCLENBQWxCLENBQW5DO0FBRUFQLFVBQUFBLEdBQUcsQ0FBQ1ksU0FBSixDQUFjUixLQUFkLEVBQXFCUCxNQUFNLENBQUNTLEtBQVAsR0FBZSxDQUFmLEdBQW1CRixLQUFLLENBQUNFLEtBQU4sR0FBYyxDQUF0RCxFQUF5RFQsTUFBTSxDQUFDVSxNQUFQLEdBQWdCLENBQWhCLEdBQW9CSCxLQUFLLENBQUNHLE1BQU4sR0FBZSxDQUE1RjtBQUVBUCxVQUFBQSxHQUFHLENBQUNhLE9BQUo7QUE3Qkc7QUFBQTtBQUFBLCtDQWlDNEMscUJBQVVoQixNQUFNLENBQUNpQixTQUFQLGlCQUEwQlosUUFBUSxDQUFDYSxHQUFuQyxHQUEwQ0MsT0FBMUMsaUJBQTJEZCxRQUFRLENBQUNhLEdBQXBFLEdBQTJFLG9CQUEzRSxDQUFWLENBakM1Qzs7QUFBQTtBQWlDS0UsVUFBQUEsWUFqQ0w7O0FBbUNELGNBQUl0QixRQUFRLENBQUN1QixZQUFiLEVBQTJCO0FBRW5CQyxZQUFBQSxTQUZtQixHQUVZckIsUUFBUSxDQUFDQyxhQUFULENBQXVCLEdBQXZCLENBRlo7QUFJekJvQixZQUFBQSxTQUFTLENBQUNDLElBQVYsR0FBaUJILFlBQVksQ0FBQ0ksR0FBOUI7QUFDQUYsWUFBQUEsU0FBUyxDQUFDRyxRQUFWLEdBQXFCcEIsUUFBUSxDQUFDcUIsSUFBVCxHQUFnQixHQUFoQixHQUFzQnJCLFFBQVEsQ0FBQ2EsR0FBcEQ7QUFFQUksWUFBQUEsU0FBUyxDQUFDSyxLQUFWO0FBRUQ7O0FBNUNBLDJDQThDTVAsWUE5Q047O0FBQUE7QUFBQTtBQUFBO0FBQUEsMkNBbURNLElBQUlRLEtBQUosQ0FBVSxvRkFBVixDQW5ETjs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUEsZ0JBMERHLElBQUlBLEtBQUosQ0FBVSxrR0FBVixDQTFESDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuaW1wb3J0IEZpbGVJbmZvIGZyb20gJy4uL2ludGVyZmFjZXMvRmlsZUluZm8nO1xyXG5cclxuaW1wb3J0IHsgbG9hZEltYWdlIH0gZnJvbSAnLi4vdXRpbHMvbG9hZCc7XHJcbmltcG9ydCB7IGV4dHJhY3RGaWxlSW5mbyB9IGZyb20gJy4uL3V0aWxzL2ZpbGUnO1xyXG5cclxuaW1wb3J0IEdlbmVyYWxPcHRpb25zIGZyb20gJy4uL29wdGlvbnMvR2VuZXJhbE9wdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqIFJvdGF0ZSBhbiBpbWFnZSB0byBhIHNwZWNpZmllZCBhbmdsZS5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gdGhlIGltYWdlIHRvIHJvdGF0ZS5cclxuICogQHBhcmFtIHtudW1iZXJ9IGFuZ2xlIFRoZSBkZWdyZWUgYW5nbGUgdG8gcm90YXRlIHRoZSBpbWFnZSB0bywgY2xvY2t3aXNlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuYXV0b2Rvd25sb2FkPWZhbHNlXSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1hZ2Ugc2hvdWxkIGRvd25sb2FkIGFmdGVyIHRoZSByb3RhdGlvbiBpcyBjb21wbGV0ZSBvciBub3QuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jcm9zc09yaWdpbj1udWxsXSBTZXRzIHRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgb2YgdGhlIGltYWdlIHdoaWNoIGlzIG5lZWRlZCBpZiB0aGUgaW1hZ2UgaXMgZnJvbSBhIGRpZmZlcmVudCBkb21haW4uXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcm90YXRlKHBhdGg6IHN0cmluZywgYW5nbGU6IG51bWJlciwgb3B0aW9uczogT2JqZWN0ID0ge30pOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQgfCBFcnJvcj4ge1xyXG5cclxuICBjb25zdCBfb3B0aW9uczogR2VuZXJhbE9wdGlvbnMgPSBuZXcgR2VuZXJhbE9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG4gIGNvbnN0IGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICBjb25zdCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuXHJcbiAgY29uc3QgZmlsZUluZm86IEZpbGVJbmZvID0gZXh0cmFjdEZpbGVJbmZvKHBhdGgpO1xyXG5cclxuICB0cnkge1xyXG5cclxuICAgIGNvbnN0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50ID0gYXdhaXQgbG9hZEltYWdlKHBhdGgsIF9vcHRpb25zLmNyb3NzT3JpZ2luKTtcclxuXHJcbiAgICBsZXQgbGFyZ2VzdFNpZGU6IG51bWJlciA9IGltYWdlLndpZHRoO1xyXG5cclxuICAgIGlmIChpbWFnZS5oZWlnaHQgPiBpbWFnZS53aWR0aCkgbGFyZ2VzdFNpZGUgPSBpbWFnZS5oZWlnaHQ7XHJcblxyXG4gICAgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0ID0gbGFyZ2VzdFNpZGU7XHJcblxyXG4gICAgY3R4LnNhdmUoKTtcclxuXHJcbiAgICBjdHgudHJhbnNsYXRlKGNhbnZhcy53aWR0aCAvIDIsIGNhbnZhcy5oZWlnaHQgLyAyKTtcclxuXHJcbiAgICBjdHgucm90YXRlKGFuZ2xlICogTWF0aC5QSSAvIDE4MCk7XHJcblxyXG4gICAgY3R4LnRyYW5zbGF0ZSgtKGNhbnZhcy53aWR0aCAvIDIpLCAtKGNhbnZhcy5oZWlnaHQgLyAyKSk7XHJcblxyXG4gICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgY2FudmFzLndpZHRoIC8gMiAtIGltYWdlLndpZHRoIC8gMiwgY2FudmFzLmhlaWdodCAvIDIgLSBpbWFnZS5oZWlnaHQgLyAyKTtcclxuXHJcbiAgICBjdHgucmVzdG9yZSgpO1xyXG5cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBjb25zdCByb3RhdGVkSW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgPSBhd2FpdCBsb2FkSW1hZ2UoY2FudmFzLnRvRGF0YVVSTChgaW1hZ2UvJHtmaWxlSW5mby5leHR9YCkucmVwbGFjZShgaW1hZ2UvJHtmaWxlSW5mby5leHR9YCwgJ2ltYWdlL29jdGV0LXN0cmVhbScpKTtcclxuXHJcbiAgICAgIGlmIChfb3B0aW9ucy5hdXRvZG93bmxvYWQpIHtcclxuXHJcbiAgICAgICAgY29uc3QgaW1hZ2VMaW5rOiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHJcbiAgICAgICAgaW1hZ2VMaW5rLmhyZWYgPSByb3RhdGVkSW1hZ2Uuc3JjO1xyXG4gICAgICAgIGltYWdlTGluay5kb3dubG9hZCA9IGZpbGVJbmZvLm5hbWUgKyAnLicgKyBmaWxlSW5mby5leHQ7XHJcblxyXG4gICAgICAgIGltYWdlTGluay5jbGljaygpO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHJvdGF0ZWRJbWFnZTtcclxuXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHtcclxuXHJcbiAgICAgIHJldHVybiBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhIHByb2JsZW0gbG9hZGluZyB0aGUgaW1hZ2UsIHBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhdGggaXMgdmFsaWQnKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBjYXRjaCAoZXJyb3IpIHtcclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhbiBlcnJvciBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCBhbmQgdHJ5IGFnYWluLicpO1xyXG5cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vcm90YXRlLnRzIl0sIm5hbWVzIjpbInJvdGF0ZSIsInBhdGgiLCJhbmdsZSIsIm9wdGlvbnMiLCJfb3B0aW9ucyIsIkdlbmVyYWxPcHRpb25zIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3R4IiwiZ2V0Q29udGV4dCIsImZpbGVJbmZvIiwiY3Jvc3NPcmlnaW4iLCJpbWFnZSIsImxhcmdlc3RTaWRlIiwid2lkdGgiLCJoZWlnaHQiLCJzYXZlIiwidHJhbnNsYXRlIiwiTWF0aCIsIlBJIiwiZHJhd0ltYWdlIiwicmVzdG9yZSIsInRvRGF0YVVSTCIsImV4dCIsInJlcGxhY2UiLCJyb3RhdGVkSW1hZ2UiLCJhdXRvZG93bmxvYWQiLCJpbWFnZUxpbmsiLCJocmVmIiwic3JjIiwiZG93bmxvYWQiLCJuYW1lIiwiY2xpY2siLCJFcnJvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFFQTs7QUFFQTs7Ozs7Ozs7O1NBU3NCQSxNOzs7Ozs7OytCQUFmLGlCQUFzQkMsSUFBdEIsRUFBb0NDLEtBQXBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbURDLFlBQUFBLE9BQW5ELDJEQUFxRSxFQUFyRTtBQUVDQyxZQUFBQSxRQUZELEdBRTRCLElBQUlDLDBCQUFKLENBQW1CRixPQUFuQixDQUY1QjtBQUlDRyxZQUFBQSxNQUpELEdBSTZCQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsUUFBdkIsQ0FKN0I7QUFLQ0MsWUFBQUEsR0FMRCxHQUtpQ0gsTUFBTSxDQUFDSSxVQUFQLENBQWtCLElBQWxCLENBTGpDO0FBT0NDLFlBQUFBLFFBUEQsR0FPc0IsMkJBQWdCVixJQUFoQixDQVB0QjtBQUFBO0FBQUE7QUFBQSxtQkFXbUMscUJBQVVBLElBQVYsRUFBZ0JHLFFBQVEsQ0FBQ1EsV0FBekIsQ0FYbkM7O0FBQUE7QUFXR0MsWUFBQUEsS0FYSDtBQWFDQyxZQUFBQSxXQWJELEdBYXVCRCxLQUFLLENBQUNFLEtBYjdCO0FBZUgsZ0JBQUlGLEtBQUssQ0FBQ0csTUFBTixHQUFlSCxLQUFLLENBQUNFLEtBQXpCLEVBQWdDRCxXQUFXLEdBQUdELEtBQUssQ0FBQ0csTUFBcEI7QUFFaENWLFlBQUFBLE1BQU0sQ0FBQ1MsS0FBUCxFQUFjVCxNQUFNLENBQUNVLE1BQVAsR0FBZ0JGLFdBQTlCO0FBRUFMLFlBQUFBLEdBQUcsQ0FBQ1EsSUFBSjtBQUVBUixZQUFBQSxHQUFHLENBQUNTLFNBQUosQ0FBY1osTUFBTSxDQUFDUyxLQUFQLEdBQWUsQ0FBN0IsRUFBZ0NULE1BQU0sQ0FBQ1UsTUFBUCxHQUFnQixDQUFoRDtBQUVBUCxZQUFBQSxHQUFHLENBQUNULE1BQUosQ0FBV0UsS0FBSyxHQUFHaUIsSUFBSSxDQUFDQyxFQUFiLEdBQWtCLEdBQTdCO0FBRUFYLFlBQUFBLEdBQUcsQ0FBQ1MsU0FBSixDQUFjLEVBQUVaLE1BQU0sQ0FBQ1MsS0FBUCxHQUFlLENBQWpCLENBQWQsRUFBbUMsRUFBRVQsTUFBTSxDQUFDVSxNQUFQLEdBQWdCLENBQWxCLENBQW5DO0FBRUFQLFlBQUFBLEdBQUcsQ0FBQ1ksU0FBSixDQUFjUixLQUFkLEVBQXFCUCxNQUFNLENBQUNTLEtBQVAsR0FBZSxDQUFmLEdBQW1CRixLQUFLLENBQUNFLEtBQU4sR0FBYyxDQUF0RCxFQUF5RFQsTUFBTSxDQUFDVSxNQUFQLEdBQWdCLENBQWhCLEdBQW9CSCxLQUFLLENBQUNHLE1BQU4sR0FBZSxDQUE1RjtBQUVBUCxZQUFBQSxHQUFHLENBQUNhLE9BQUo7QUE3Qkc7QUFBQTtBQUFBLG1CQWlDNEMscUJBQVVoQixNQUFNLENBQUNpQixTQUFQLGlCQUEwQlosUUFBUSxDQUFDYSxHQUFuQyxHQUEwQ0MsT0FBMUMsaUJBQTJEZCxRQUFRLENBQUNhLEdBQXBFLEdBQTJFLG9CQUEzRSxDQUFWLENBakM1Qzs7QUFBQTtBQWlDS0UsWUFBQUEsWUFqQ0w7O0FBbUNELGdCQUFJdEIsUUFBUSxDQUFDdUIsWUFBYixFQUEyQjtBQUVuQkMsY0FBQUEsU0FGbUIsR0FFWXJCLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixHQUF2QixDQUZaO0FBSXpCb0IsY0FBQUEsU0FBUyxDQUFDQyxJQUFWLEdBQWlCSCxZQUFZLENBQUNJLEdBQTlCO0FBQ0FGLGNBQUFBLFNBQVMsQ0FBQ0csUUFBVixHQUFxQnBCLFFBQVEsQ0FBQ3FCLElBQVQsR0FBZ0IsR0FBaEIsR0FBc0JyQixRQUFRLENBQUNhLEdBQXBEO0FBRUFJLGNBQUFBLFNBQVMsQ0FBQ0ssS0FBVjtBQUVEOztBQTVDQSw2Q0E4Q01QLFlBOUNOOztBQUFBO0FBQUE7QUFBQTtBQUFBLDZDQW1ETSxJQUFJUSxLQUFKLENBQVUsb0ZBQVYsQ0FuRE47O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBLGtCQTBERyxJQUFJQSxLQUFKLENBQVUsa0dBQVYsQ0ExREg7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuaW1wb3J0IEZpbGVJbmZvIGZyb20gJy4uL2ludGVyZmFjZXMvRmlsZUluZm8nO1xyXG5cclxuaW1wb3J0IHsgbG9hZEltYWdlIH0gZnJvbSAnLi4vdXRpbHMvbG9hZCc7XHJcbmltcG9ydCB7IGV4dHJhY3RGaWxlSW5mbyB9IGZyb20gJy4uL3V0aWxzL2ZpbGUnO1xyXG5cclxuaW1wb3J0IEdlbmVyYWxPcHRpb25zIGZyb20gJy4uL29wdGlvbnMvR2VuZXJhbE9wdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqIFJvdGF0ZSBhbiBpbWFnZSB0byBhIHNwZWNpZmllZCBhbmdsZS5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gdGhlIGltYWdlIHRvIHJvdGF0ZS5cclxuICogQHBhcmFtIHtudW1iZXJ9IGFuZ2xlIFRoZSBkZWdyZWUgYW5nbGUgdG8gcm90YXRlIHRoZSBpbWFnZSB0bywgY2xvY2t3aXNlLlxyXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuYXV0b2Rvd25sb2FkPWZhbHNlXSBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW1hZ2Ugc2hvdWxkIGRvd25sb2FkIGFmdGVyIHRoZSByb3RhdGlvbiBpcyBjb21wbGV0ZSBvciBub3QuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jcm9zc09yaWdpbj1udWxsXSBTZXRzIHRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgb2YgdGhlIGltYWdlIHdoaWNoIGlzIG5lZWRlZCBpZiB0aGUgaW1hZ2UgaXMgZnJvbSBhIGRpZmZlcmVudCBkb21haW4uXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcm90YXRlKHBhdGg6IHN0cmluZywgYW5nbGU6IG51bWJlciwgb3B0aW9uczogT2JqZWN0ID0ge30pOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQgfCBFcnJvcj4ge1xyXG5cclxuICBjb25zdCBfb3B0aW9uczogR2VuZXJhbE9wdGlvbnMgPSBuZXcgR2VuZXJhbE9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG4gIGNvbnN0IGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICBjb25zdCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuXHJcbiAgY29uc3QgZmlsZUluZm86IEZpbGVJbmZvID0gZXh0cmFjdEZpbGVJbmZvKHBhdGgpO1xyXG5cclxuICB0cnkge1xyXG5cclxuICAgIGNvbnN0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50ID0gYXdhaXQgbG9hZEltYWdlKHBhdGgsIF9vcHRpb25zLmNyb3NzT3JpZ2luKTtcclxuXHJcbiAgICBsZXQgbGFyZ2VzdFNpZGU6IG51bWJlciA9IGltYWdlLndpZHRoO1xyXG5cclxuICAgIGlmIChpbWFnZS5oZWlnaHQgPiBpbWFnZS53aWR0aCkgbGFyZ2VzdFNpZGUgPSBpbWFnZS5oZWlnaHQ7XHJcblxyXG4gICAgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0ID0gbGFyZ2VzdFNpZGU7XHJcblxyXG4gICAgY3R4LnNhdmUoKTtcclxuXHJcbiAgICBjdHgudHJhbnNsYXRlKGNhbnZhcy53aWR0aCAvIDIsIGNhbnZhcy5oZWlnaHQgLyAyKTtcclxuXHJcbiAgICBjdHgucm90YXRlKGFuZ2xlICogTWF0aC5QSSAvIDE4MCk7XHJcblxyXG4gICAgY3R4LnRyYW5zbGF0ZSgtKGNhbnZhcy53aWR0aCAvIDIpLCAtKGNhbnZhcy5oZWlnaHQgLyAyKSk7XHJcblxyXG4gICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgY2FudmFzLndpZHRoIC8gMiAtIGltYWdlLndpZHRoIC8gMiwgY2FudmFzLmhlaWdodCAvIDIgLSBpbWFnZS5oZWlnaHQgLyAyKTtcclxuXHJcbiAgICBjdHgucmVzdG9yZSgpO1xyXG5cclxuICAgIHRyeSB7XHJcblxyXG4gICAgICBjb25zdCByb3RhdGVkSW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgPSBhd2FpdCBsb2FkSW1hZ2UoY2FudmFzLnRvRGF0YVVSTChgaW1hZ2UvJHtmaWxlSW5mby5leHR9YCkucmVwbGFjZShgaW1hZ2UvJHtmaWxlSW5mby5leHR9YCwgJ2ltYWdlL29jdGV0LXN0cmVhbScpKTtcclxuXHJcbiAgICAgIGlmIChfb3B0aW9ucy5hdXRvZG93bmxvYWQpIHtcclxuXHJcbiAgICAgICAgY29uc3QgaW1hZ2VMaW5rOiBIVE1MQW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHJcbiAgICAgICAgaW1hZ2VMaW5rLmhyZWYgPSByb3RhdGVkSW1hZ2Uuc3JjO1xyXG4gICAgICAgIGltYWdlTGluay5kb3dubG9hZCA9IGZpbGVJbmZvLm5hbWUgKyAnLicgKyBmaWxlSW5mby5leHQ7XHJcblxyXG4gICAgICAgIGltYWdlTGluay5jbGljaygpO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHJvdGF0ZWRJbWFnZTtcclxuXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHtcclxuXHJcbiAgICAgIHJldHVybiBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhIHByb2JsZW0gbG9hZGluZyB0aGUgaW1hZ2UsIHBsZWFzZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIHBhdGggaXMgdmFsaWQnKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBjYXRjaCAoZXJyb3IpIHtcclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZXJlIHdhcyBhbiBlcnJvciBsb2FkaW5nIHRoZSBpbWFnZSwgcGxlYXNlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGF0aCBpcyB2YWxpZCBhbmQgdHJ5IGFnYWluLicpO1xyXG5cclxuICB9XHJcblxyXG59XHJcbiJdfQ==

@@ -20,27 +20,38 @@ 'use strict';

function loadImage(path, crossOrigin) {
var image;
return _regenerator["default"].async(function loadImage$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
image = new Image();
return _context.abrupt("return", new Promise(function (resolve, reject) {
image.addEventListener('load', function () {
resolve(image);
});
image.addEventListener('error', function (error) {
reject(error);
});
image.src = path;
if (crossOrigin) image.crossOrigin = crossOrigin;
}));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
case 2:
case "end":
return _context.stop();
function loadImage(_x, _x2) {
return _loadImage.apply(this, arguments);
}
function _loadImage() {
_loadImage = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee(path, crossOrigin) {
var image;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
image = new Image();
return _context.abrupt("return", new Promise(function (resolve, reject) {
image.addEventListener('load', function () {
resolve(image);
});
image.addEventListener('error', function (error) {
reject(error);
});
image.src = path;
if (crossOrigin) image.crossOrigin = crossOrigin;
}));
case 2:
case "end":
return _context.stop();
}
}
}
});
}, _callee);
}));
return _loadImage.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9sb2FkLnRzIl0sIm5hbWVzIjpbImxvYWRJbWFnZSIsInBhdGgiLCJjcm9zc09yaWdpbiIsImltYWdlIiwiSW1hZ2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlcnJvciIsInNyYyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUU8sU0FBZUEsU0FBZixDQUF5QkMsSUFBekIsRUFBdUNDLFdBQXZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBQyxVQUFBQSxLQUZBLEdBRTBCLElBQUlDLEtBQUosRUFGMUI7QUFBQSwyQ0FJQyxJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBRXZDSixZQUFBQSxLQUFLLENBQUNLLGdCQUFOLENBQXVCLE1BQXZCLEVBQStCLFlBQU07QUFFcENGLGNBQUFBLE9BQU8sQ0FBQ0gsS0FBRCxDQUFQO0FBRUEsYUFKRDtBQU1BQSxZQUFBQSxLQUFLLENBQUNLLGdCQUFOLENBQXVCLE9BQXZCLEVBQWdDLFVBQUNDLEtBQUQsRUFBVztBQUUxQ0YsY0FBQUEsTUFBTSxDQUFDRSxLQUFELENBQU47QUFFQSxhQUpEO0FBTUFOLFlBQUFBLEtBQUssQ0FBQ08sR0FBTixHQUFZVCxJQUFaO0FBRUEsZ0JBQUlDLFdBQUosRUFBaUJDLEtBQUssQ0FBQ0QsV0FBTixHQUFvQkEsV0FBcEI7QUFFakIsV0FsQk0sQ0FKRDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuLyoqXHJcbiAqIExvYWQgYW4gaW1hZ2UgYXN5bmNocm9ub3VzbHkgYW5kIHJldHVybiBhIHByb21pc2UgY29udGFpbmluZyB0aGUgbG9hZGVkIGltYWdlLlxyXG4gKiBcclxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gdGhlIGltYWdlIHRvIGxvYWQuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbY3Jvc3NPcmlnaW5dIFRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgdG8gc2V0IGZvciB0aGlzIGltYWdlIGlmIGxvYWRpbmcgZnJvbSBhbiBleHRlcm5hbCByZXNvdXJjZS5cclxuICogXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+fSBSZXR1cm5zIGEgcHJvbWlzZSBjb250YWluaW5nIHRoZSBpbWFnZS4gXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEltYWdlKHBhdGg6IHN0cmluZywgY3Jvc3NPcmlnaW4/OiBzdHJpbmcpOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IHtcclxuXHJcblx0Y29uc3QgaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgPSBuZXcgSW1hZ2UoKTtcclxuXHJcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHJcblx0XHRpbWFnZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xyXG5cdFxyXG5cdFx0XHRyZXNvbHZlKGltYWdlKTtcclxuXHRcclxuXHRcdH0pO1xyXG5cdFxyXG5cdFx0aW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZXJyb3IpID0+IHtcclxuXHJcblx0XHRcdHJlamVjdChlcnJvcik7XHJcblxyXG5cdFx0fSk7XHJcblx0XHRcclxuXHRcdGltYWdlLnNyYyA9IHBhdGg7XHJcblx0XHJcblx0XHRpZiAoY3Jvc3NPcmlnaW4pIGltYWdlLmNyb3NzT3JpZ2luID0gY3Jvc3NPcmlnaW47XHJcblxyXG5cdH0pO1xyXG5cclxufSJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9sb2FkLnRzIl0sIm5hbWVzIjpbImxvYWRJbWFnZSIsInBhdGgiLCJjcm9zc09yaWdpbiIsImltYWdlIiwiSW1hZ2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlcnJvciIsInNyYyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FRc0JBLFM7Ozs7Ozs7K0JBQWYsaUJBQXlCQyxJQUF6QixFQUF1Q0MsV0FBdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUFDLFlBQUFBLEtBRkEsR0FFMEIsSUFBSUMsS0FBSixFQUYxQjtBQUFBLDZDQUlDLElBQUlDLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFFdkNKLGNBQUFBLEtBQUssQ0FBQ0ssZ0JBQU4sQ0FBdUIsTUFBdkIsRUFBK0IsWUFBTTtBQUVwQ0YsZ0JBQUFBLE9BQU8sQ0FBQ0gsS0FBRCxDQUFQO0FBRUEsZUFKRDtBQU1BQSxjQUFBQSxLQUFLLENBQUNLLGdCQUFOLENBQXVCLE9BQXZCLEVBQWdDLFVBQUNDLEtBQUQsRUFBVztBQUUxQ0YsZ0JBQUFBLE1BQU0sQ0FBQ0UsS0FBRCxDQUFOO0FBRUEsZUFKRDtBQU1BTixjQUFBQSxLQUFLLENBQUNPLEdBQU4sR0FBWVQsSUFBWjtBQUVBLGtCQUFJQyxXQUFKLEVBQWlCQyxLQUFLLENBQUNELFdBQU4sR0FBb0JBLFdBQXBCO0FBRWpCLGFBbEJNLENBSkQ7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xyXG5cclxuLyoqXHJcbiAqIExvYWQgYW4gaW1hZ2UgYXN5bmNocm9ub3VzbHkgYW5kIHJldHVybiBhIHByb21pc2UgY29udGFpbmluZyB0aGUgbG9hZGVkIGltYWdlLlxyXG4gKiBcclxuICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gdGhlIGltYWdlIHRvIGxvYWQuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbY3Jvc3NPcmlnaW5dIFRoZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkgdG8gc2V0IGZvciB0aGlzIGltYWdlIGlmIGxvYWRpbmcgZnJvbSBhbiBleHRlcm5hbCByZXNvdXJjZS5cclxuICogXHJcbiAqIEByZXR1cm5zIHtQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+fSBSZXR1cm5zIGEgcHJvbWlzZSBjb250YWluaW5nIHRoZSBpbWFnZS4gXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEltYWdlKHBhdGg6IHN0cmluZywgY3Jvc3NPcmlnaW4/OiBzdHJpbmcpOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IHtcclxuXHJcblx0Y29uc3QgaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQgPSBuZXcgSW1hZ2UoKTtcclxuXHJcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHJcblx0XHRpbWFnZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xyXG5cdFxyXG5cdFx0XHRyZXNvbHZlKGltYWdlKTtcclxuXHRcclxuXHRcdH0pO1xyXG5cdFxyXG5cdFx0aW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZXJyb3IpID0+IHtcclxuXHJcblx0XHRcdHJlamVjdChlcnJvcik7XHJcblxyXG5cdFx0fSk7XHJcblx0XHRcclxuXHRcdGltYWdlLnNyYyA9IHBhdGg7XHJcblx0XHJcblx0XHRpZiAoY3Jvc3NPcmlnaW4pIGltYWdlLmNyb3NzT3JpZ2luID0gY3Jvc3NPcmlnaW47XHJcblxyXG5cdH0pO1xyXG5cclxufSJdfQ==
{
"name": "curtail",
"version": "3.1.5",
"version": "3.2.0",
"description": "Curtail is a pure JavaScript image manipulation tool.",

@@ -39,15 +39,15 @@ "module": "curtail.js",

"devDependencies": {
"@babel/cli": "^7.7.0",
"@babel/core": "^7.7.2",
"@babel/plugin-proposal-class-properties": "^7.7.0",
"@babel/plugin-proposal-object-rest-spread": "^7.6.2",
"@babel/plugin-transform-runtime": "^7.6.2",
"@babel/preset-env": "^7.7.1",
"@babel/preset-typescript": "^7.7.2",
"rollup": "^1.27.0",
"@babel/cli": "^7.8.3",
"@babel/core": "^7.8.3",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.8.3",
"@babel/preset-env": "^7.8.3",
"@babel/preset-typescript": "^7.8.3",
"rollup": "^1.29.0",
"rollup-plugin-babel": "^4.3.3",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-node-resolve": "^5.2.0",
"sinon": "^7.5.0",
"typescript": "^3.7.2"
"sinon": "^8.1.0",
"typescript": "^3.7.5"
},

@@ -58,4 +58,4 @@ "publishConfig": {

"dependencies": {
"@babel/runtime": "^7.7.2"
"@babel/runtime": "^7.8.3"
}
}
<p align="center">
<img width="250" height="250" src="./curtail.png">
<img width="250" height="250" src="https://github.com/robertcorponoi/graphics/blob/master/curtail/curtail-logo.png?raw=true">
</p>

@@ -10,13 +10,16 @@

<div align="center">
<a href="https://badge.fury.io/js/curtail"><img src="https://badge.fury.io/js/curtail.svg" alt="npm version" height="18"></a>
<a href="https://badge.fury.io/js/curtail"><img src="https://img.shields.io/badge/build-passing-brightgreen.svg" alt="build" height="18"></a>
[![NPM version](https://img.shields.io/npm/v/curtail.svg?style=flat)](https://www.npmjs.com/package/curtail)
[![Known Vulnerabilities](https://snyk.io/test/github/robertcorponoi/curtail/badge.svg)](https://snyk.io/test/github/robertcorponoi/curtail)
![npm](https://img.shields.io/npm/dt/curtail)
[![NPM downloads](https://img.shields.io/npm/dm/curtail.svg?style=flat)](https://www.npmjs.com/package/curtail)
<a href="https://badge.fury.io/js/curtail"><img src="https://img.shields.io/github/issues/robertcorponoi/curtail.svg" alt="issues" height="18"></a>
<a href="https://badge.fury.io/js/curtail"><img src="https://img.shields.io/github/license/robertcorponoi/curtail.svg" alt="license" height="18"></a>
[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/robertcorponoi)
</div>
**Note:** This documentation is for Curtail 3.0, the most recent version of Curtail which reflects some API changes.
## **Installation**
To download Curtail through npm, simply use the following command:
To download Curtail through npm, simply use:

@@ -23,0 +26,0 @@ ```

@@ -735,2 +735,40 @@ function createCommonjsModule(fn, module) {

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);
});
};
}
var asyncToGenerator = _asyncToGenerator;
function _classCallCheck(instance, Constructor) {

@@ -745,12 +783,10 @@ if (!(instance instanceof Constructor)) {

var _typeof_1 = createCommonjsModule(function (module) {
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
function _typeof(obj) {
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
module.exports = _typeof = function _typeof(obj) {
return _typeof2(obj);
return typeof obj;
};
} else {
module.exports = _typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};

@@ -909,26 +945,35 @@ }

function loadImage(path, crossOrigin) {
var image;
return regenerator.async(function loadImage$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
image = new Image();
return _context.abrupt("return", new Promise(function (resolve, reject) {
image.addEventListener('load', function () {
resolve(image);
});
image.addEventListener('error', function (error) {
reject(error);
});
image.src = path;
if (crossOrigin) image.crossOrigin = crossOrigin;
}));
function loadImage(_x, _x2) {
return _loadImage.apply(this, arguments);
}
case 2:
case "end":
return _context.stop();
function _loadImage() {
_loadImage = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, crossOrigin) {
var image;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
image = new Image();
return _context.abrupt("return", new Promise(function (resolve, reject) {
image.addEventListener('load', function () {
resolve(image);
});
image.addEventListener('error', function (error) {
reject(error);
});
image.src = path;
if (crossOrigin) image.crossOrigin = crossOrigin;
}));
case 2:
case "end":
return _context.stop();
}
}
}
});
}, _callee);
}));
return _loadImage.apply(this, arguments);
}

@@ -972,73 +1017,82 @@

function pad(path, padding) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
paddedImage,
imageLink,
_args = arguments;
function pad(_x, _x2) {
return _pad.apply(this, arguments);
}
return regenerator.async(function pad$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new PadOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _pad() {
_pad = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, padding) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
paddedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
canvas.width = image.width + padding * 2;
canvas.height = image.height + padding * 2;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new PadOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return loadImage(path, _options.crossOrigin);
if (_options.paddingColor !== 'transparent') {
ctx.fillStyle = _options.paddingColor;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 8:
image = _context.sent;
canvas.width = image.width + padding * 2;
canvas.height = image.height + padding * 2;
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2, image.width, image.height);
_context.prev = 13;
_context.next = 16;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(fileInfo.ext))));
if (_options.paddingColor !== 'transparent') {
ctx.fillStyle = _options.paddingColor;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 16:
paddedImage = _context.sent;
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2, image.width, image.height);
_context.prev = 13;
_context.next = 16;
return loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 16:
paddedImage = _context.sent;
return _context.abrupt("return", paddedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](13);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", paddedImage);
case 24:
_context.next = 29;
break;
case 21:
_context.prev = 21;
_context.t0 = _context["catch"](13);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 26:
_context.prev = 26;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 24:
_context.next = 29;
break;
case 29:
case "end":
return _context.stop();
case 26:
_context.prev = 26;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 29:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 26], [13, 21]]);
}, _callee, null, [[5, 26], [13, 21]]);
}));
return _pad.apply(this, arguments);
}

@@ -1061,67 +1115,76 @@

function crop(path, x, y, width, height) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
croppedImage,
imageLink,
_args = arguments;
function crop(_x, _x2, _x3, _x4, _x5) {
return _crop.apply(this, arguments);
}
return regenerator.async(function crop$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 5 && _args[5] !== undefined ? _args[5] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _crop() {
_crop = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, x, y, width, height) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
croppedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
canvas.width = width;
canvas.height = height;
ctx.drawImage(image, x, y, width, height, 0, 0, width, height);
_context.prev = 12;
_context.next = 15;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream')));
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 5 && _args[5] !== undefined ? _args[5] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return loadImage(path, _options.crossOrigin);
case 15:
croppedImage = _context.sent;
case 8:
image = _context.sent;
canvas.width = width;
canvas.height = height;
ctx.drawImage(image, x, y, width, height, 0, 0, width, height);
_context.prev = 12;
_context.next = 15;
return loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream'));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = croppedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 15:
croppedImage = _context.sent;
return _context.abrupt("return", croppedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = croppedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 20:
_context.prev = 20;
_context.t0 = _context["catch"](12);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", croppedImage);
case 23:
_context.next = 28;
break;
case 20:
_context.prev = 20;
_context.t0 = _context["catch"](12);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 25:
_context.prev = 25;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 23:
_context.next = 28;
break;
case 28:
case "end":
return _context.stop();
case 25:
_context.prev = 25;
_context.t1 = _context["catch"](5);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 28:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 25], [12, 20]]);
}, _callee, null, [[5, 25], [12, 20]]);
}));
return _crop.apply(this, arguments);
}

@@ -1214,60 +1277,69 @@

function resize(path, dimension, size) {
var options,
_options,
fileInfo,
image,
aspectRatio,
imageLink,
_args = arguments;
function resize(_x, _x2, _x3) {
return _resize.apply(this, arguments);
}
return regenerator.async(function resize$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
_options = new CropOptions(options);
fileInfo = extractFileInfo(path);
_context.prev = 3;
_context.next = 6;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _resize() {
_resize = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, dimension, size) {
var options,
_options,
fileInfo,
image,
aspectRatio,
imageLink,
_args = arguments;
case 6:
image = _context.sent;
aspectRatio = simplify(image.width, image.height);
_context.t0 = dimension;
_context.next = _context.t0 === 'width' ? 11 : _context.t0 === 'height' ? 14 : 17;
break;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
_options = new CropOptions(options);
fileInfo = extractFileInfo(path);
_context.prev = 3;
_context.next = 6;
return loadImage(path, _options.crossOrigin);
case 11:
image.width = size;
if (_options.preserveAspectRatio) image.height = Math.round(aspectRatio.denominator / aspectRatio.numerator * size);
return _context.abrupt("break", 17);
case 6:
image = _context.sent;
aspectRatio = simplify(image.width, image.height);
_context.t0 = dimension;
_context.next = _context.t0 === 'width' ? 11 : _context.t0 === 'height' ? 14 : 17;
break;
case 14:
image.height = size;
if (_options.preserveAspectRatio) image.width = Math.round(aspectRatio.numerator / aspectRatio.denominator * size);
return _context.abrupt("break", 17);
case 11:
image.width = size;
if (_options.preserveAspectRatio) image.height = Math.round(aspectRatio.denominator / aspectRatio.numerator * size);
return _context.abrupt("break", 17);
case 17:
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 14:
image.height = size;
if (_options.preserveAspectRatio) image.width = Math.round(aspectRatio.numerator / aspectRatio.denominator * size);
return _context.abrupt("break", 17);
return _context.abrupt("return", image);
case 17:
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = image.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
_context.prev = 21;
_context.t1 = _context["catch"](3);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", image);
case 24:
case "end":
return _context.stop();
case 21:
_context.prev = 21;
_context.t1 = _context["catch"](3);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 24:
case "end":
return _context.stop();
}
}
}
}, null, null, [[3, 21]]);
}, _callee, null, [[3, 21]]);
}));
return _resize.apply(this, arguments);
}

@@ -1285,74 +1357,83 @@

function rotate(path, angle) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
largestSide,
rotatedImage,
imageLink,
_args = arguments;
function rotate(_x, _x2) {
return _rotate.apply(this, arguments);
}
return regenerator.async(function rotate$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _rotate() {
_rotate = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, angle) {
var options,
_options,
canvas,
ctx,
fileInfo,
image,
largestSide,
rotatedImage,
imageLink,
_args = arguments;
case 8:
image = _context.sent;
largestSide = image.width;
if (image.height > image.width) largestSide = image.height;
canvas.width, canvas.height = largestSide;
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(angle * Math.PI / 180);
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2);
ctx.restore();
_context.prev = 18;
_context.next = 21;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream')));
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
fileInfo = extractFileInfo(path);
_context.prev = 5;
_context.next = 8;
return loadImage(path, _options.crossOrigin);
case 21:
rotatedImage = _context.sent;
case 8:
image = _context.sent;
largestSide = image.width;
if (image.height > image.width) largestSide = image.height;
canvas.width, canvas.height = largestSide;
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(angle * Math.PI / 180);
ctx.translate(-(canvas.width / 2), -(canvas.height / 2));
ctx.drawImage(image, canvas.width / 2 - image.width / 2, canvas.height / 2 - image.height / 2);
ctx.restore();
_context.prev = 18;
_context.next = 21;
return loadImage(canvas.toDataURL("image/".concat(fileInfo.ext)).replace("image/".concat(fileInfo.ext), 'image/octet-stream'));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = rotatedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 21:
rotatedImage = _context.sent;
return _context.abrupt("return", rotatedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = rotatedImage.src;
imageLink.download = fileInfo.name + '.' + fileInfo.ext;
imageLink.click();
}
case 26:
_context.prev = 26;
_context.t0 = _context["catch"](18);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", rotatedImage);
case 29:
_context.next = 34;
break;
case 26:
_context.prev = 26;
_context.t0 = _context["catch"](18);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 31:
_context.prev = 31;
_context.t1 = _context["catch"](5);
throw new Error('There was an error loading the image, please check to make sure the path is valid and try again.');
case 29:
_context.next = 34;
break;
case 34:
case "end":
return _context.stop();
case 31:
_context.prev = 31;
_context.t1 = _context["catch"](5);
throw new Error('There was an error loading the image, please check to make sure the path is valid and try again.');
case 34:
case "end":
return _context.stop();
}
}
}
}, null, null, [[5, 31], [18, 26]]);
}, _callee, null, [[5, 31], [18, 26]]);
}));
return _rotate.apply(this, arguments);
}

@@ -1372,79 +1453,88 @@

function convert(path, format) {
var options,
fileInfo,
_options,
canvas,
ctx,
nonTransparentFormats,
image,
f,
convertedImage,
imageLink,
_args = arguments;
function convert(_x, _x2) {
return _convert.apply(this, arguments);
}
return regenerator.async(function convert$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
fileInfo = extractFileInfo(path);
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
nonTransparentFormats = ['jpg', 'jpeg', 'gif', 'bmp'];
_context.prev = 6;
_context.next = 9;
return regenerator.awrap(loadImage(path, _options.crossOrigin));
function _convert() {
_convert = asyncToGenerator(
/*#__PURE__*/
regenerator.mark(function _callee(path, format) {
var options,
fileInfo,
_options,
canvas,
ctx,
nonTransparentFormats,
image,
f,
convertedImage,
imageLink,
_args = arguments;
case 9:
image = _context.sent;
canvas.width = image.width;
canvas.height = image.height;
return regenerator.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
fileInfo = extractFileInfo(path);
_options = new GeneralOptions(options);
canvas = document.createElement('canvas');
ctx = canvas.getContext('2d');
nonTransparentFormats = ['jpg', 'jpeg', 'gif', 'bmp'];
_context.prev = 6;
_context.next = 9;
return loadImage(path, _options.crossOrigin);
if (nonTransparentFormats.includes(format)) {
ctx.fillStyle = '#FFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 9:
image = _context.sent;
canvas.width = image.width;
canvas.height = image.height;
ctx.drawImage(image, 0, 0);
_context.prev = 14;
f = format === 'png' ? 'png' : 'jpeg';
_context.next = 18;
return regenerator.awrap(loadImage(canvas.toDataURL("image/".concat(f))));
if (nonTransparentFormats.includes(format)) {
ctx.fillStyle = '#FFF';
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
case 18:
convertedImage = _context.sent;
ctx.drawImage(image, 0, 0);
_context.prev = 14;
f = format === 'png' ? 'png' : 'jpeg';
_context.next = 18;
return loadImage(canvas.toDataURL("image/".concat(f)));
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = convertedImage.src;
imageLink.download = fileInfo.name + '.' + format;
imageLink.click();
}
case 18:
convertedImage = _context.sent;
return _context.abrupt("return", convertedImage);
if (_options.autodownload) {
imageLink = document.createElement('a');
imageLink.href = convertedImage.src;
imageLink.download = fileInfo.name + '.' + format;
imageLink.click();
}
case 23:
_context.prev = 23;
_context.t0 = _context["catch"](14);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
return _context.abrupt("return", convertedImage);
case 26:
_context.next = 31;
break;
case 23:
_context.prev = 23;
_context.t0 = _context["catch"](14);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 28:
_context.prev = 28;
_context.t1 = _context["catch"](6);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 26:
_context.next = 31;
break;
case 31:
case "end":
return _context.stop();
case 28:
_context.prev = 28;
_context.t1 = _context["catch"](6);
return _context.abrupt("return", new Error('There was a problem loading the image, please check to make sure the path is valid'));
case 31:
case "end":
return _context.stop();
}
}
}
}, null, null, [[6, 28], [14, 23]]);
}, _callee, null, [[6, 28], [14, 23]]);
}));
return _convert.apply(this, arguments);
}
export { convert, crop, pad, resize, rotate };

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc