What is @types/concat-stream?
The @types/concat-stream package provides TypeScript type definitions for concat-stream, a writable stream that concatenates data and calls a callback with the result. It is useful for collecting stream data and processing it once the stream ends. This package does not contain functionality by itself but offers type support for TypeScript users of concat-stream.
What are @types/concat-stream's main functionalities?
Concatenating Buffer objects
This feature allows for concatenating multiple Buffer objects into a single Buffer. The code sample demonstrates how to use concat-stream with TypeScript to concatenate 'Hello', ' ', and 'World' into a single Buffer and log it.
import concat from 'concat-stream';
const write = concat((data: Buffer) => {
console.log(data);
});
write.write(Buffer.from('Hello'));
write.write(Buffer.from(' '));
write.write(Buffer.from('World'));
write.end();
Concatenating strings
This feature enables the concatenation of string data. The example shows how to specify the encoding as 'string' to ensure that the callback receives a concatenated string instead of a Buffer.
import concat from 'concat-stream';
const write = concat({ encoding: 'string' }, (data: string) => {
console.log(data);
});
write.write('Hello');
write.write(' ');
write.write('World');
write.end();
Concatenating typed arrays
This functionality allows for the concatenation of typed arrays, such as Uint8Array. The code sample demonstrates concatenating encoded strings into a single Uint8Array and decoding it back to a string for logging.
import concat from 'concat-stream';
const write = concat((data: Uint8Array) => {
console.log(new TextDecoder().decode(data));
});
write.write(new TextEncoder().encode('Hello'));
write.write(new TextEncoder().encode(' '));
write.write(new TextEncoder().encode('World'));
write.end();
Other packages similar to @types/concat-stream
bl
The 'bl' (Buffer List) package is similar to concat-stream as it provides a storage mechanism for Node.js Buffer objects that can be read and written. It differs in its API and additional capabilities such as stream piping and buffer list manipulation.
stream-buffers
The 'stream-buffers' package offers Readable and Writable stream implementations using in-memory buffers. It is similar in its goal to provide efficient data handling in streams but focuses more on the buffering aspect rather than concatenation.
Installation
npm install --save @types/concat-stream
Summary
This package contains type definitions for concat-stream (https://github.com/maxogden/concat-stream).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/concat-stream.
import { Writable } from "stream";
declare function concat(cb: (buf: Buffer) => void): Writable;
declare function concat(opts: { encoding: "buffer" | undefined } | {}, cb: (buf: Buffer) => void): Writable;
declare function concat(opts: { encoding: "string" }, cb: (buf: string) => void): Writable;
declare function concat(opts: { encoding: "array" }, cb: (buf: bigint[]) => void): Writable;
declare function concat(opts: { encoding: "uint8array" | "u8" | "uint8" }, cb: (buf: Uint8Array) => void): Writable;
declare function concat(opts: { encoding: "object" }, cb: (buf: object[]) => void): Writable;
export = concat;
Additional Details
- Last updated: Mon, 20 Nov 2023 23:36:24 GMT
- Dependencies: @types/node
Credits
These definitions were written by Joey Marianer.