All files / lib/utils network_optimizer.ts

0% Statements 0/10
0% Branches 0/1
0% Functions 0/1
0% Lines 0/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17                                 
/**
 * @file network_optimizer.ts
 * Phase 8.6 — Network-Aware AI Sync
 * ---------------------------------
 * يقلل مكالمات الـ API ويستخدم cache في وضع الشبكة الضعيفة.
 */
 
export async function smartFetch(
  url: string,
  options: RequestInit,
  network: 'fast' | 'slow' | 'offline'
) {
  if (network === 'offline') throw new Error('Offline mode: no network available');
  if (network === 'slow') await new Promise((r) => setTimeout(r, 800)); // simulate throttling
  return fetch(url, options);
}