UNPKG

lazy-js-utils

Version:

A collection of lazy-loaded JavaScript utilities for efficient development

34 lines (30 loc) 1.07 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/perf/createChunk.ts var _sparkmd5 = require('spark-md5'); var _sparkmd52 = _interopRequireDefault(_sparkmd5); 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 _sparkmd52.default.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)); }); } exports.createChunk = createChunk;