perf(mileage): stream workbook export rows

This commit is contained in:
lingniu
2026-07-16 09:08:04 +08:00
parent b78cf1696f
commit 61c1bbc365
8 changed files with 191 additions and 62 deletions

View File

@@ -0,0 +1,16 @@
import { expect, test } from 'vitest';
import { transferableWorkbookBuffer } from './transferableBuffer';
test('reuses complete workbook buffers and only copies partial views', () => {
const direct = new ArrayBuffer(8);
expect(transferableWorkbookBuffer(direct)).toBe(direct);
const completeView = new Uint8Array(new ArrayBuffer(8));
expect(transferableWorkbookBuffer(completeView)).toBe(completeView.buffer);
const source = new Uint8Array([1, 2, 3, 4]);
const partial = source.subarray(1, 3);
const transferred = transferableWorkbookBuffer(partial);
expect(transferred).not.toBe(source.buffer);
expect([...new Uint8Array(transferred)]).toEqual([2, 3]);
});