Merge pull request #16678 from Snuffleupagus/writeStream-tweaks

Tweak the `writeStream` implementation slightly
This commit is contained in:
Jonas Jenwald 2023-07-12 21:43:01 +02:00 committed by GitHub
commit b449da31ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -51,16 +51,10 @@ async function writeStream(stream, buffer, transform) {
} }
const { dict } = stream; const { dict } = stream;
// eslint-disable-next-line no-undef const [filter, params] = await Promise.all([
if (typeof CompressionStream === "undefined") { dict.getAsync("Filter"),
dict.set("Length", string.length); dict.getAsync("DecodeParms"),
await writeDict(dict, buffer, transform); ]);
buffer.push(" stream\n", string, "\nendstream");
return;
}
const filter = await dict.getAsync("Filter");
const params = await dict.getAsync("DecodeParms");
const filterZero = Array.isArray(filter) const filterZero = Array.isArray(filter)
? await dict.xref.fetchIfRefAsync(filter[0]) ? await dict.xref.fetchIfRefAsync(filter[0])
@ -71,7 +65,11 @@ async function writeStream(stream, buffer, transform) {
// The number 256 is arbitrary, but it should be reasonable. // The number 256 is arbitrary, but it should be reasonable.
const MIN_LENGTH_FOR_COMPRESSING = 256; const MIN_LENGTH_FOR_COMPRESSING = 256;
if (string.length >= MIN_LENGTH_FOR_COMPRESSING || isFilterZeroFlateDecode) { if (
// eslint-disable-next-line no-undef
typeof CompressionStream !== "undefined" &&
(string.length >= MIN_LENGTH_FOR_COMPRESSING || isFilterZeroFlateDecode)
) {
try { try {
const byteArray = stringToBytes(string); const byteArray = stringToBytes(string);
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef