Comparing version 3.1.5 to 3.2.0
@@ -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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1269582
4270
241
70
Updated@babel/runtime@^7.8.3