template-saas/apps/backend/node_modules/@smithy/chunked-blob-reader-native/dist-es/index.js
rckrdmrd 50a821a415
Some checks failed
CI / Backend CI (push) Has been cancelled
CI / Frontend CI (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / CI Summary (push) Has been cancelled
[SIMCO-V38] feat: Actualizar a SIMCO v3.8.0
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Actualizaciones de configuracion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:08 -06:00

28 lines
988 B
JavaScript

import { fromBase64 } from "@smithy/util-base64";
export function blobReader(blob, onChunk, chunkSize = 1024 * 1024) {
return new Promise((resolve, reject) => {
const fileReader = new FileReader();
fileReader.onerror = reject;
fileReader.onabort = reject;
const size = blob.size;
let totalBytesRead = 0;
const read = () => {
if (totalBytesRead >= size) {
resolve();
return;
}
fileReader.readAsDataURL(blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize)));
};
fileReader.onload = (event) => {
const result = event.target.result;
const dataOffset = result.indexOf(",") + 1;
const data = result.substring(dataOffset);
const decoded = fromBase64(data);
onChunk(decoded);
totalBytesRead += decoded.byteLength;
read();
};
read();
});
}