UNPKG

rekwest

Version:

The robust request library that humanity deserves 🌐

55 lines (54 loc) 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.encodeCodecs = exports.encode = exports.decodeCodecs = exports.decode = void 0; var _nodeStream = require("node:stream"); var _nodeZlib = _interopRequireDefault(require("node:zlib")); var _config = require("./config.cjs"); var _utils = require("./utils.cjs"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const decodeCodecs = exports.decodeCodecs = { br: opts => _nodeZlib.default.createBrotliDecompress(opts?.brotli), deflate: opts => _nodeZlib.default.createInflate(opts?.zlib), 'deflate-raw': opts => _nodeZlib.default.createInflateRaw(opts?.zlib), gzip: opts => _nodeZlib.default.createGunzip(opts?.zlib), zstd: opts => _config.isZstdSupported && _nodeZlib.default.createZstdDecompress(opts?.zstd) }; const decode = (readable, encodings = '', { decodersOptions } = {}) => { const decoders = []; encodings = (0, _utils.unwind)(encodings).reverse(); for (const encoding of encodings) { const decoder = decodeCodecs[encoding]?.(decodersOptions); if (!decoder) { return readable; } decoders.push(decoder); } return (0, _nodeStream.pipeline)(readable, ...decoders, () => void 0); }; exports.decode = decode; const encodeCodecs = exports.encodeCodecs = { br: opts => _nodeZlib.default.createBrotliCompress(opts?.brotli), deflate: opts => _nodeZlib.default.createDeflate(opts?.zlib), 'deflate-raw': opts => _nodeZlib.default.createDeflateRaw(opts?.zlib), gzip: opts => _nodeZlib.default.createGzip(opts?.zlib), zstd: opts => _config.isZstdSupported && _nodeZlib.default.createZstdCompress(opts?.zstd) }; const encode = (readable, encodings = '', { encodersOptions } = {}) => { const encoders = []; encodings = (0, _utils.unwind)(encodings); for (const encoding of encodings) { const encoder = encodeCodecs[encoding]?.(encodersOptions); if (!encoder) { return readable; } encoders.push(encoder); } return (0, _nodeStream.pipeline)(readable, ...encoders, () => void 0); }; exports.encode = encode;