17 lines
464 B
JavaScript
17 lines
464 B
JavaScript
export class MessageEncoderStream {
|
|
constructor(options) {
|
|
this.options = options;
|
|
}
|
|
[Symbol.asyncIterator]() {
|
|
return this.asyncIterator();
|
|
}
|
|
async *asyncIterator() {
|
|
for await (const msg of this.options.messageStream) {
|
|
const encoded = this.options.encoder.encode(msg);
|
|
yield encoded;
|
|
}
|
|
if (this.options.includeEndFrame) {
|
|
yield new Uint8Array(0);
|
|
}
|
|
}
|
|
}
|