From a80dae30d7fb1c0f51acc00170648792f740b54b Mon Sep 17 00:00:00 2001 From: Blaine Bublitz Date: Sun, 11 Jun 2023 23:16:08 +0100 Subject: [PATCH] feat: Replace lazystream with streamx Composer (#344) --- lib/src/read-contents/read-stream.js | 35 +++++++++++++++------------- package.json | 1 - 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lib/src/read-contents/read-stream.js b/lib/src/read-contents/read-stream.js index b0d0d781..7a354924 100644 --- a/lib/src/read-contents/read-stream.js +++ b/lib/src/read-contents/read-stream.js @@ -1,8 +1,7 @@ 'use strict'; var fs = require('graceful-fs'); -var composer = require('stream-composer'); -var lazystream = require('lazystream'); +var Composer = require('stream-composer'); var getCodec = require('../../codecs'); var DEFAULT_ENCODING = require('../../constants').DEFAULT_ENCODING; @@ -16,25 +15,29 @@ function streamFile(file, optResolver, onRead) { var filePath = file.path; - file.contents = new lazystream.Readable(function () { - var contents = fs.createReadStream(filePath); + file.contents = new Composer({ + open: function (cb) { + var contents = fs.createReadStream(filePath); + var streams = [contents]; - var streams = [contents]; + if (encoding) { + var removeBOM = + codec.bomAware && optResolver.resolve('removeBOM', file); - if (encoding) { - var removeBOM = codec.bomAware && optResolver.resolve('removeBOM', file); + if (removeBOM || codec.enc !== DEFAULT_ENCODING) { + streams.push(codec.decodeStream({ removeBOM: removeBOM })); + streams.push(getCodec(DEFAULT_ENCODING).encodeStream()); + } + } - if (removeBOM || codec.enc !== DEFAULT_ENCODING) { - streams.push(codec.decodeStream({ removeBOM: removeBOM })); - streams.push(getCodec(DEFAULT_ENCODING).encodeStream()); + if (streams.length > 1) { + this.setPipeline(streams); + } else { + this.setReadable(contents); } - } - if (streams.length > 1) { - return composer.pipeline(streams); - } else { - return contents; - } + cb(); + }, }); onRead(); diff --git a/package.json b/package.json index ea9dada4..773062eb 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,6 @@ "graceful-fs": "^4.2.11", "iconv-lite": "^0.6.3", "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.1", "lead": "^4.0.0", "normalize-path": "3.0.0", "resolve-options": "^2.0.0",