UNPKG

@ezs/basics

Version:
33 lines (32 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = TXTZip; var _zlib = _interopRequireDefault(require("zlib")); var _stream = require("stream"); var _streamWrite = _interopRequireDefault(require("stream-write")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** * Take a `String` and zip it. * * Uses [gzip](https://fr.wikipedia.org/wiki/Gzip) * algorithm to compress strings. * * @name TXTZip * @param {Boolean} [unzip=false] to Unzip input * @returns {Buffer} */ function TXTZip(data, feed) { const unzip = this.getParam('unzip', false); if (this.isFirst()) { this.input = new _stream.PassThrough(); const z = unzip ? _zlib.default.createGunzip() : _zlib.default.createGzip(); this.whenFinish = feed.flow(this.input.pipe(z)); } if (this.isLast()) { this.whenFinish.finally(() => feed.close()); return this.input.end(); } (0, _streamWrite.default)(this.input, data, () => feed.end()); }