الضغط وفك الضغط في المتصفّح الذي يستخدم Integration Streams API

كتابة تطبيقات ويب أصغر لا تحتاج إلى شحن مكتبة الضغط أو فك الضغط الخاصة بها

واجهة برمجة تطبيقات pression Streams API مخصصة لضغط وفك ضغط مجموعات البيانات باستخدام تنسيق gzip أو deflate (أو deflate-raw).

مع تطبيقات JavaScript المدمجة للضغط، لا تحتاج إلى تضمين مكتبة ضغط، ما يجعل حجم تنزيل التطبيق أصغر. تتوافق معاينة تكنولوجيا Chrome وSafari الثابتة الآن مع واجهة برمجة التطبيقات المفيدة هذه. في ما يلي عرض طريقة ضغط البيانات.

const readableStream = await fetch('lorem.txt').then(
  (response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
  new CompressionStream('gzip')
);

لفك ضغط، ممر تدفقًا مضغوطًا في تدفق فك الضغط.

const decompressedReadableStream = compressedReadableStream.pipeThrough(
  new DecompressionStream('gzip')
);

عرض توضيحي

المتصفحات المتوافقة

تتوفّر واجهة برمجة تطبيقات pression Streams API في الإصدار 80 من Chromium ومعاينة التكنولوجيا في Safari الإصدار 152. بالنسبة إلى المتصفّحات الأخرى، ضَع علامة في المربّع CanIUse.

شكر وتقدير

صورة رئيسية من إعداد مات آرتز على قناة Unsplash