例.tsconst decoder = new TextDecoder();
const encoder = new TextEncoder();
const readableStream = new ReadableStream({
start(controller) {
const text = "Stream me!";
controller.enqueue(encoder.encode(text)); // queueにいれる
controller.close();
},
});
const transformStream = new TransformStream({
transform(chunk, controller) {
// データを取り出して、変換して、再度queueにいれる
const text = decoder.decode(chunk);
controller.enqueue(encoder.encode(text.toUpperCase()));
},
});
const writableStream = new WritableStream({
write(chunk) {
console.log(decoder.decode(chunk)); // 取り出す
},
});
// 呼び出す
// pipeThrough, pipeToを使う
readableStream
.pipeThrough(transformStream)
.pipeTo(writableStream); // STREAM ME!