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;
  });
}