@datastream/compress
Advanced tools
+4
-4
@@ -9,3 +9,3 @@ import { createTransformStream } from "@datastream/core"; | ||
| }; | ||
| streamOptions.flush = (enqueue) => { | ||
| const flush = (enqueue) => { | ||
| if (engine.result() === BrotliStreamResult.NeedsMoreInput) { | ||
@@ -15,3 +15,3 @@ enqueue(engine.compress(void 0, 100)); | ||
| }; | ||
| return createTransformStream(transform, streamOptions); | ||
| return createTransformStream(transform, flush, streamOptions); | ||
| }; | ||
@@ -23,3 +23,3 @@ const brotliDecompressStream = (options, streamOptions) => { | ||
| }; | ||
| streamOptions.flush = (enqueue) => { | ||
| const flush = (enqueue) => { | ||
| if (engine.result() === BrotliStreamResult.NeedsMoreInput) { | ||
@@ -29,3 +29,3 @@ enqueue(engine.decompress(void 0, 100)); | ||
| }; | ||
| return createTransformStream(transform, streamOptions); | ||
| return createTransformStream(transform, flush, streamOptions); | ||
| }; | ||
@@ -32,0 +32,0 @@ var brotli_web_default = { |
| { | ||
| "version": 3, | ||
| "sources": ["brotli.web.js"], | ||
| "sourcesContent": ["// CompressionStream\n// - https://caniuse.com/?search=CompressionStream\n// - doesn't support `br` - https://github.com/httptoolkit/brotli-wasm\n// - not supported on firefox - https://bugzilla.mozilla.org/show_bug.cgi?id=1586639\n// - not supported in safari\nimport { createTransformStream } from '@datastream/core'\nimport brotliPromise from 'brotli-wasm' // Import the default export\nconst { CompressStream, DecompressStream, BrotliStreamResult } =\n await brotliPromise // Import is async in browsers due to wasm requirements!\n\n// https://github.com/httptoolkit/brotli-wasm/issues/14\nexport const brotliCompressStream = ({ quality } = {}, streamOptions) => {\n const engine = new CompressStream(quality ?? 11)\n const transform = (chunk, enqueue) => {\n enqueue(engine.compress(chunk))\n }\n streamOptions.flush = (enqueue) => {\n if (engine.result() === BrotliStreamResult.NeedsMoreInput) {\n enqueue(engine.compress(undefined, 100))\n }\n }\n return createTransformStream(transform, streamOptions)\n}\nexport const brotliDecompressStream = (options, streamOptions) => {\n const engine = new DecompressStream()\n const transform = (chunk, enqueue) => {\n enqueue(engine.decompress(chunk))\n }\n streamOptions.flush = (enqueue) => {\n if (engine.result() === BrotliStreamResult.NeedsMoreInput) {\n enqueue(engine.decompress(undefined, 100))\n }\n }\n return createTransformStream(transform, streamOptions)\n}\n\nexport default {\n compressStream: brotliCompressStream,\n decompressStream: brotliDecompressStream\n}\n"], | ||
| "mappings": "AAKA,SAAS,6BAA6B;AACtC,OAAO,mBAAmB;AAC1B,MAAM,EAAE,gBAAgB,kBAAkB,mBAAmB,IAC3D,MAAM;AAGD,MAAM,uBAAuB,CAAC,EAAE,QAAQ,IAAI,CAAC,GAAG,kBAAkB;AACvE,QAAM,SAAS,IAAI,eAAe,WAAW,EAAE;AAC/C,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,YAAQ,OAAO,SAAS,KAAK,CAAC;AAAA,EAChC;AACA,gBAAc,QAAQ,CAAC,YAAY;AACjC,QAAI,OAAO,OAAO,MAAM,mBAAmB,gBAAgB;AACzD,cAAQ,OAAO,SAAS,QAAW,GAAG,CAAC;AAAA,IACzC;AAAA,EACF;AACA,SAAO,sBAAsB,WAAW,aAAa;AACvD;AACO,MAAM,yBAAyB,CAAC,SAAS,kBAAkB;AAChE,QAAM,SAAS,IAAI,iBAAiB;AACpC,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,YAAQ,OAAO,WAAW,KAAK,CAAC;AAAA,EAClC;AACA,gBAAc,QAAQ,CAAC,YAAY;AACjC,QAAI,OAAO,OAAO,MAAM,mBAAmB,gBAAgB;AACzD,cAAQ,OAAO,WAAW,QAAW,GAAG,CAAC;AAAA,IAC3C;AAAA,EACF;AACA,SAAO,sBAAsB,WAAW,aAAa;AACvD;AAEA,IAAO,qBAAQ;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;", | ||
| "sourcesContent": ["// CompressionStream\n// - https://caniuse.com/?search=CompressionStream\n// - doesn't support `br` - https://github.com/httptoolkit/brotli-wasm\n// - not supported on firefox - https://bugzilla.mozilla.org/show_bug.cgi?id=1586639\n// - not supported in safari\nimport { createTransformStream } from '@datastream/core'\nimport brotliPromise from 'brotli-wasm' // Import the default export\nconst { CompressStream, DecompressStream, BrotliStreamResult } =\n await brotliPromise // Import is async in browsers due to wasm requirements!\n\n// https://github.com/httptoolkit/brotli-wasm/issues/14\nexport const brotliCompressStream = ({ quality } = {}, streamOptions) => {\n const engine = new CompressStream(quality ?? 11)\n const transform = (chunk, enqueue) => {\n enqueue(engine.compress(chunk))\n }\n const flush = (enqueue) => {\n if (engine.result() === BrotliStreamResult.NeedsMoreInput) {\n enqueue(engine.compress(undefined, 100))\n }\n }\n return createTransformStream(transform, flush, streamOptions)\n}\nexport const brotliDecompressStream = (options, streamOptions) => {\n const engine = new DecompressStream()\n const transform = (chunk, enqueue) => {\n enqueue(engine.decompress(chunk))\n }\n const flush = (enqueue) => {\n if (engine.result() === BrotliStreamResult.NeedsMoreInput) {\n enqueue(engine.decompress(undefined, 100))\n }\n }\n return createTransformStream(transform, flush, streamOptions)\n}\n\nexport default {\n compressStream: brotliCompressStream,\n decompressStream: brotliDecompressStream\n}\n"], | ||
| "mappings": "AAKA,SAAS,6BAA6B;AACtC,OAAO,mBAAmB;AAC1B,MAAM,EAAE,gBAAgB,kBAAkB,mBAAmB,IAC3D,MAAM;AAGD,MAAM,uBAAuB,CAAC,EAAE,QAAQ,IAAI,CAAC,GAAG,kBAAkB;AACvE,QAAM,SAAS,IAAI,eAAe,WAAW,EAAE;AAC/C,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,YAAQ,OAAO,SAAS,KAAK,CAAC;AAAA,EAChC;AACA,QAAM,QAAQ,CAAC,YAAY;AACzB,QAAI,OAAO,OAAO,MAAM,mBAAmB,gBAAgB;AACzD,cAAQ,OAAO,SAAS,QAAW,GAAG,CAAC;AAAA,IACzC;AAAA,EACF;AACA,SAAO,sBAAsB,WAAW,OAAO,aAAa;AAC9D;AACO,MAAM,yBAAyB,CAAC,SAAS,kBAAkB;AAChE,QAAM,SAAS,IAAI,iBAAiB;AACpC,QAAM,YAAY,CAAC,OAAO,YAAY;AACpC,YAAQ,OAAO,WAAW,KAAK,CAAC;AAAA,EAClC;AACA,QAAM,QAAQ,CAAC,YAAY;AACzB,QAAI,OAAO,OAAO,MAAM,mBAAmB,gBAAgB;AACzD,cAAQ,OAAO,WAAW,QAAW,GAAG,CAAC;AAAA,IAC3C;AAAA,EACF;AACA,SAAO,sBAAsB,WAAW,OAAO,aAAa;AAC9D;AAEA,IAAO,qBAAQ;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;", | ||
| "names": [] | ||
| } |
+5
-5
| { | ||
| "name": "@datastream/compress", | ||
| "version": "0.0.12", | ||
| "version": "0.0.14", | ||
| "description": "", | ||
@@ -161,3 +161,3 @@ "type": "module", | ||
| "url": "github:willfarrell/datastream", | ||
| "directory": "packages/file-read" | ||
| "directory": "packages/compress" | ||
| }, | ||
@@ -169,7 +169,7 @@ "bugs": { | ||
| "dependencies": { | ||
| "@datastream/compression": "file:./", | ||
| "@datastream/core": "0.0.12", | ||
| "@datastream/compress": "0.0.14", | ||
| "@datastream/core": "0.0.14", | ||
| "brotli-wasm": "1.3.1" | ||
| }, | ||
| "gitHead": "e20a0a48431568bec2d53accc8e63e708527edc4" | ||
| "gitHead": "1727c02093df2870d40323f0c476e6bfdc383476" | ||
| } |
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| var brotli_node_exports = {}; | ||
| __export(brotli_node_exports, { | ||
| brotliCompressStream: () => brotliCompressStream, | ||
| brotliDecompressStream: () => brotliDecompressStream, | ||
| default: () => brotli_node_default | ||
| }); | ||
| module.exports = __toCommonJS(brotli_node_exports); | ||
| var import_node_zlib = require("node:zlib"); | ||
| const brotliCompressStream = ({ quality } = {}, streamOptions = {}) => { | ||
| const options = streamOptions; | ||
| options.params = { | ||
| [import_node_zlib.constants.BROTLI_PARAM_QUALITY]: quality ?? import_node_zlib.constants.BROTLI_DEFAULT_QUALITY | ||
| }; | ||
| return (0, import_node_zlib.createBrotliCompress)(options); | ||
| }; | ||
| const brotliDecompressStream = (params, streamOptions = {}) => { | ||
| const options = streamOptions; | ||
| options.params = params; | ||
| return (0, import_node_zlib.createBrotliDecompress)(streamOptions); | ||
| }; | ||
| var brotli_node_default = { | ||
| compressStream: brotliCompressStream, | ||
| decompressStream: brotliDecompressStream | ||
| }; | ||
| // Annotate the CommonJS export names for ESM import in node: | ||
| 0 && (module.exports = { | ||
| brotliCompressStream, | ||
| brotliDecompressStream | ||
| }); |
| { | ||
| "version": 3, | ||
| "sources": ["brotli.node.js"], | ||
| "sourcesContent": ["import {\n createBrotliCompress,\n createBrotliDecompress,\n constants\n} from 'node:zlib'\n\n// quality: 0 - 11\nexport const brotliCompressStream = ({ quality } = {}, streamOptions = {}) => {\n const options = streamOptions\n options.params = {\n [constants.BROTLI_PARAM_QUALITY]:\n quality ?? constants.BROTLI_DEFAULT_QUALITY\n }\n return createBrotliCompress(options)\n}\nexport const brotliDecompressStream = (params, streamOptions = {}) => {\n const options = streamOptions\n options.params = params\n return createBrotliDecompress(streamOptions)\n}\n\nexport default {\n compressStream: brotliCompressStream,\n decompressStream: brotliDecompressStream\n}\n"], | ||
| "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAIO;AAGA,MAAM,uBAAuB,CAAC,EAAE,QAAQ,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC5E,QAAM,UAAU;AAChB,UAAQ,SAAS;AAAA,IACf,CAAC,2BAAU,uBACT,WAAW,2BAAU;AAAA,EACzB;AACA,aAAO,uCAAqB,OAAO;AACrC;AACO,MAAM,yBAAyB,CAAC,QAAQ,gBAAgB,CAAC,MAAM;AACpE,QAAM,UAAU;AAChB,UAAQ,SAAS;AACjB,aAAO,yCAAuB,aAAa;AAC7C;AAEA,IAAO,sBAAQ;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;", | ||
| "names": [] | ||
| } |
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| var deflate_node_exports = {}; | ||
| __export(deflate_node_exports, { | ||
| default: () => deflate_node_default, | ||
| deflateCompressStream: () => deflateCompressStream, | ||
| deflateDecompressStream: () => deflateDecompressStream | ||
| }); | ||
| module.exports = __toCommonJS(deflate_node_exports); | ||
| var import_node_zlib = require("node:zlib"); | ||
| const deflateCompressStream = ({ quality } = {}, streamOptions = {}) => { | ||
| const options = streamOptions; | ||
| options.level = quality; | ||
| return (0, import_node_zlib.createDeflate)(options); | ||
| }; | ||
| const deflateDecompressStream = (options, streamOptions) => { | ||
| return (0, import_node_zlib.createInflate)(streamOptions); | ||
| }; | ||
| var deflate_node_default = { | ||
| compressStream: deflateCompressStream, | ||
| decompressStream: deflateDecompressStream | ||
| }; | ||
| // Annotate the CommonJS export names for ESM import in node: | ||
| 0 && (module.exports = { | ||
| deflateCompressStream, | ||
| deflateDecompressStream | ||
| }); |
| { | ||
| "version": 3, | ||
| "sources": ["deflate.node.js"], | ||
| "sourcesContent": ["import { createDeflate, createInflate } from 'node:zlib'\n\n// TODO benchmark against `fflate`\n// quality -1 - 9\nexport const deflateCompressStream = ({ quality } = {}, streamOptions = {}) => {\n const options = streamOptions\n options.level = quality\n return createDeflate(options)\n}\nexport const deflateDecompressStream = (options, streamOptions) => {\n return createInflate(streamOptions)\n}\n\nexport default {\n compressStream: deflateCompressStream,\n decompressStream: deflateDecompressStream\n}\n"], | ||
| "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6C;AAItC,MAAM,wBAAwB,CAAC,EAAE,QAAQ,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC7E,QAAM,UAAU;AAChB,UAAQ,QAAQ;AAChB,aAAO,gCAAc,OAAO;AAC9B;AACO,MAAM,0BAA0B,CAAC,SAAS,kBAAkB;AACjE,aAAO,gCAAc,aAAa;AACpC;AAEA,IAAO,uBAAQ;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;", | ||
| "names": [] | ||
| } |
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| var gzip_node_exports = {}; | ||
| __export(gzip_node_exports, { | ||
| default: () => gzip_node_default, | ||
| gzipCompressStream: () => gzipCompressStream, | ||
| gzipDecompressStream: () => gzipDecompressStream | ||
| }); | ||
| module.exports = __toCommonJS(gzip_node_exports); | ||
| var import_node_zlib = require("node:zlib"); | ||
| const gzipCompressStream = ({ quality } = {}, streamOptions = {}) => { | ||
| const options = streamOptions; | ||
| options.level = quality; | ||
| return (0, import_node_zlib.createGzip)(options); | ||
| }; | ||
| const gzipDecompressStream = (options, streamOptions) => { | ||
| return (0, import_node_zlib.createGunzip)(streamOptions); | ||
| }; | ||
| var gzip_node_default = { | ||
| compressStream: gzipCompressStream, | ||
| decompressStream: gzipDecompressStream | ||
| }; | ||
| // Annotate the CommonJS export names for ESM import in node: | ||
| 0 && (module.exports = { | ||
| gzipCompressStream, | ||
| gzipDecompressStream | ||
| }); |
| { | ||
| "version": 3, | ||
| "sources": ["gzip.node.js"], | ||
| "sourcesContent": ["import { createGzip, createGunzip } from 'node:zlib'\n\n// quality -1 - 9\nexport const gzipCompressStream = ({ quality } = {}, streamOptions = {}) => {\n const options = streamOptions\n options.level = quality\n return createGzip(options)\n}\nexport const gzipDecompressStream = (options, streamOptions) => {\n return createGunzip(streamOptions)\n}\n\nexport default {\n compressStream: gzipCompressStream,\n decompressStream: gzipDecompressStream\n}\n"], | ||
| "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyC;AAGlC,MAAM,qBAAqB,CAAC,EAAE,QAAQ,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC1E,QAAM,UAAU;AAChB,UAAQ,QAAQ;AAChB,aAAO,6BAAW,OAAO;AAC3B;AACO,MAAM,uBAAuB,CAAC,SAAS,kBAAkB;AAC9D,aAAO,+BAAa,aAAa;AACnC;AAEA,IAAO,oBAAQ;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;", | ||
| "names": [] | ||
| } |
| var __create = Object.create; | ||
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __getProtoOf = Object.getPrototypeOf; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| }; | ||
| var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
| isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
| mod | ||
| )); | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| var compress_exports = {}; | ||
| __export(compress_exports, { | ||
| brotliCompressStream: () => brotliCompressStream, | ||
| brotliDecompressStream: () => brotliDecompressStream, | ||
| default: () => compress_default, | ||
| deflateCompressStream: () => deflateCompressStream, | ||
| deflateDecompressStream: () => deflateDecompressStream, | ||
| gzipCompressStream: () => gzipCompressStream, | ||
| gzipDecompressStream: () => gzipDecompressStream | ||
| }); | ||
| module.exports = __toCommonJS(compress_exports); | ||
| var import_brotli = __toESM(require("@datastream/compress/brotli"), 1); | ||
| var import_gzip = __toESM(require("@datastream/compress/gzip"), 1); | ||
| var import_deflate = __toESM(require("@datastream/compress/deflate"), 1); | ||
| const brotliCompressStream = import_brotli.default.compressStream; | ||
| const brotliDecompressStream = import_brotli.default.decompressStream; | ||
| const gzipCompressStream = import_gzip.default.compressStream; | ||
| const gzipDecompressStream = import_gzip.default.decompressStream; | ||
| const deflateCompressStream = import_deflate.default.compressStream; | ||
| const deflateDecompressStream = import_deflate.default.decompressStream; | ||
| var compress_default = { | ||
| brotliCompressStream, | ||
| brotliDecompressStream, | ||
| gzipCompressStream, | ||
| gzipDecompressStream, | ||
| deflateCompressStream, | ||
| deflateDecompressStream | ||
| }; | ||
| // Annotate the CommonJS export names for ESM import in node: | ||
| 0 && (module.exports = { | ||
| brotliCompressStream, | ||
| brotliDecompressStream, | ||
| deflateCompressStream, | ||
| deflateDecompressStream, | ||
| gzipCompressStream, | ||
| gzipDecompressStream | ||
| }); |
| { | ||
| "version": 3, | ||
| "sources": ["index.js"], | ||
| "sourcesContent": ["import brotli from '@datastream/compress/brotli'\nimport gzip from '@datastream/compress/gzip'\nimport deflate from '@datastream/compress/deflate'\n\nexport const brotliCompressStream = brotli.compressStream\nexport const brotliDecompressStream = brotli.decompressStream\nexport const gzipCompressStream = gzip.compressStream\nexport const gzipDecompressStream = gzip.decompressStream\nexport const deflateCompressStream = deflate.compressStream\nexport const deflateDecompressStream = deflate.decompressStream\n\nexport default {\n brotliCompressStream,\n brotliDecompressStream,\n gzipCompressStream,\n gzipDecompressStream,\n deflateCompressStream,\n deflateDecompressStream\n}\n"], | ||
| "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,kBAAiB;AACjB,qBAAoB;AAEb,MAAM,uBAAuB,cAAAA,QAAO;AACpC,MAAM,yBAAyB,cAAAA,QAAO;AACtC,MAAM,qBAAqB,YAAAC,QAAK;AAChC,MAAM,uBAAuB,YAAAA,QAAK;AAClC,MAAM,wBAAwB,eAAAC,QAAQ;AACtC,MAAM,0BAA0B,eAAAA,QAAQ;AAE/C,IAAO,mBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;", | ||
| "names": ["brotli", "gzip", "deflate"] | ||
| } |
16807
-41.57%18
-30.77%134
-58.64%+ Added
+ Added
- Removed
- Removed
Updated