File size: 665 Bytes
94193b5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | /**
* Sync Utilities
*
* Server-side helpers for file serialization during sync operations.
*/
import { VirtualFile } from './types';
/**
* Serialize files for JSON response (ArrayBuffer -> base64)
* Used by sync API routes to properly serialize binary file content.
*/
export function serializeFilesForResponse(files: VirtualFile[]): (VirtualFile & { _isBinaryBase64?: boolean })[] {
return files.map(file => {
if (file.content instanceof ArrayBuffer) {
const buffer = Buffer.from(file.content);
return {
...file,
content: buffer.toString('base64'),
_isBinaryBase64: true,
};
}
return file;
});
}
|