Rocky_Mountain_Vending/.pnpm-store/v10/files/51/a42f61ff042acc7b662c5f78c9bdae1582a73ea2ee8a2a4bb0a075224fde52ba138523b9cfe025fafefc9dc0e1a6d5162ed9d394d7dfba87c5608477f95d92
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

32 lines
1 KiB
Text

'use strict';
var utilBase64 = require('@smithy/util-base64');
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 = utilBase64.fromBase64(data);
onChunk(decoded);
totalBytesRead += decoded.byteLength;
read();
};
read();
});
}
exports.blobReader = blobReader;