"use strict"; exports.__esModule = true; exports.toArray = toArray; exports.readFile = readFile; exports.isOversize = isOversize; exports.isImageUrl = isImageUrl; exports.isImageFile = isImageFile; var _utils = require("../utils"); function toArray(item) { if (Array.isArray(item)) { return item; } return [item]; } function readFile(file, resultType) { return new Promise(function (resolve) { if (resultType === 'file') { resolve(null); return; } var reader = new FileReader(); reader.onload = function (event) { resolve(event.target.result); }; if (resultType === 'dataUrl') { reader.readAsDataURL(file); } else if (resultType === 'text') { reader.readAsText(file); } }); } function isOversize(files, maxSize) { return toArray(files).some(function (file) { if (file) { if ((0, _utils.isFunction)(maxSize)) { return maxSize(file); } return file.size > maxSize; } return false; }); } var IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i; function isImageUrl(url) { return IMAGE_REGEXP.test(url); } function isImageFile(item) { // some special urls cannot be recognized // user can add `isImage` flag to mark it as an image url if (item.isImage) { return true; } if (item.file && item.file.type) { return item.file.type.indexOf('image') === 0; } if (item.url) { return isImageUrl(item.url); } if (item.content) { return item.content.indexOf('data:image') === 0; } return false; }