UNPKG

whale-plus

Version:

A Component Library for Vue 3

55 lines (48 loc) 1.59 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var SparkMD5 = require('spark-md5'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var SparkMD5__default = /*#__PURE__*/_interopDefaultLegacy(SparkMD5); function createChunk(file, index, chunkSize) { const start = index * chunkSize; const end = Math.min(start + chunkSize, file.size); const blob = file.slice(start, end); return { blob, start, end, hash: "", index }; } function calcChunkHash(chunk) { return new Promise((resolve) => { const spark = new SparkMD5__default["default"].ArrayBuffer(); const fileReader = new FileReader(); fileReader.onload = (e) => { var _a; spark.append((_a = e.target) == null ? void 0 : _a.result); resolve(spark.end()); }; fileReader.readAsArrayBuffer(chunk.blob); }); } function calcChunkHashAndSparkResult(chunk) { return new Promise((resolve) => { const spark = new SparkMD5__default["default"].ArrayBuffer(); const fileReader = new FileReader(); fileReader.onload = (e) => { var _a, _b; spark.append((_a = e.target) == null ? void 0 : _a.result); resolve({ sparkResult: (_b = e.target) == null ? void 0 : _b.result, hash: spark.end() }); }; fileReader.readAsArrayBuffer(chunk.blob); }); } exports.calcChunkHash = calcChunkHash; exports.calcChunkHashAndSparkResult = calcChunkHashAndSparkResult; exports.createChunk = createChunk; //# sourceMappingURL=FileChunk.js.map