declare const _default: "\n(function () {\n  var $this = typeof window == 'undefined' ? self : window\n  $this.onmessage = function (e) {\n    console.log(e)\n    var data = e.data\n    if (!data) {\n      return\n    }\n    $this.shouldAbort = data.action==\"abort\"\n    if($this.shouldAbort){\n      return\n    }\n\n    console.time('computehash-worker')\n   \n    var file = data\n    var currentChunk = 0\n    var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice\n    var chunkSize = 4194304 // Read in chunks of 4MB\n    var isArrayBuffer = file instanceof ArrayBuffer\n    var fileSize = !isArrayBuffer ? file.size : file.byteLength\n    var chunks = Math.ceil(fileSize / chunkSize)\n    var fileReader\n    var spark = new $this.SparkMD5.ArrayBuffer()\n    var calc = function (data) {\n      console.log('read chunk nr', currentChunk + 1, 'of', chunks)\n      spark.append(data)\n      currentChunk++\n      if (currentChunk < chunks) {\n        loadNext()\n      } else {\n        console.log('finished loading')\n        var md5 = spark.end()\n        console.info('computed hash', md5)\n        $this.postMessage(md5)\n        console.timeEnd('computehash-worker')\n      }\n    }\n    if (!isArrayBuffer) {\n      fileReader = new FileReader()\n      fileReader.onload = function (e) {\n        calc(e.target.result)\n      }\n      fileReader.onerror = function (e) {\n        console.warn('oops, something went wrong.', e)\n      }\n    }\n    var checkAbort = function(){\n      if($this.shouldAbort){\n        fileReader.abort()\n        spark.destroy()\n        fileReader=spark=data=file=null\n        return true\n      }\n    }\n    var loadNext = function () {\n      if(checkAbort()){\n        return\n      }\n      var start = currentChunk * chunkSize\n      var end = start + chunkSize >= fileSize ? fileSize : start + chunkSize\n      if (isArrayBuffer) {\n        calc(file.slice(start, end))\n      } else {\n        fileReader.readAsArrayBuffer(blobSlice.call(file, start, end))\n      }\n    }\n    loadNext()\n  }\n})()\n";
export default _default;
