1
0
Fork 0
js-utils/src/Buffer.ts

25 lines
532 B
TypeScript
Raw Normal View History

2020-09-05 23:43:51 +00:00
export type AllowedBufferEncoding = 'ascii' | 'utf-8';
/**
* Concatenate a list of buffers.
*
* @public
*/
2020-03-29 13:43:52 +00:00
export function concat(chunks: Array<Buffer>): Buffer {
const sum = chunks.map((it) => it.length).reduce((p, c) => p + c, 0);
return Buffer.concat(chunks, sum);
}
/**
* Concatenate then encode a list of buffers.
*
* @public
*/
2020-09-05 23:43:51 +00:00
export function encode(chunks: Array<Buffer>, encoding: AllowedBufferEncoding): string {
2020-03-29 13:43:52 +00:00
if (chunks.length === 0) {
return '';
}
return concat(chunks).toString(encoding);
}