UNPKG

lazy-js-utils

Version:

A collection of lazy-loaded JavaScript utilities for efficient development

34 lines (32 loc) 823 B
// src/perf/createChunk.ts import SparkMD5 from "spark-md5"; var hashMap = /* @__PURE__ */ new Map(); function createChunk(file, index, chunkSize) { return new Promise((resolve) => { const start = index * chunkSize; const end = start + chunkSize; const spark = new SparkMD5.ArrayBuffer(); const fileReader = new FileReader(); fileReader.onload = (e) => { var _a; const fileBuffer = (_a = e.target) == null ? void 0 : _a.result; let hash; if (!hashMap.has(fileBuffer)) { spark.append(fileBuffer); hash = spark.end(); } else { hash = hashMap.get(fileBuffer); } resolve({ start, end, index, hash }); }; fileReader.readAsArrayBuffer(file.slice(start, end)); }); } export { createChunk };