inlinable-runtime
Version:
JavaScript code inlining runtime utilities
12 lines (11 loc) • 406 B
JavaScript
/**
* Gzip-powered compression codec. We use `fflate` instead of the native `zlib`
* to simplify browser compatibility.
*/
import { gunzipSync } from 'fflate';
import { codecs } from '../common.js';
codecs['fflate-gzip'] = (s) => {
const arr = Uint8Array.from(atob(s), (m) => m.codePointAt(0));
const decoder = new TextDecoder('utf8');
return JSON.parse(decoder.decode(gunzipSync(arr)));
};