إنّ compression Streams API مخصّصة لضغط مصادر البيانات وفك ضغطها باستخدام التنسيقَين gzip أو deflate (أو deflate-raw).
باستخدام الضغط المدمج في واجهة برمجة تطبيقات ضغط ضغط واجهة برمجة التطبيقات، لا تحتاج تطبيقات JavaScript إلى تضمين مكتبة ضغط، مما يجعل حجم تنزيل التطبيق أصغر. تتوفر الآن واجهة برمجة التطبيقات المفيدة هذه على جميع المتصفحات.
ضغط البيانات
يوضح المقتطف التالي كيفية ضغط البيانات:
const readableStream = await fetch('lorem.txt').then(
(response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
new CompressionStream('gzip')
);
فك ضغط البيانات
لفك الضغط، أرسِل تدفقًا مضغوطًا من خلال تدفّق إلغاء الضغط.
const decompressedReadableStream = compressedReadableStream.pipeThrough(
new DecompressionStream('gzip')
);