TransformStream
トランスフォームストリームは、書き込み可能なストリーム(書き込み側)と読み取り可能なストリーム(読み取り側)のペアで構成されています。書き込み側への書き込みは、読み取り側から読み取るための新しいデータを利用可能にします。
Workersは現在、書き込み側に書き込まれたすべてのチャンクを変更なしに読み取り側に転送するアイデンティティトランスフォームストリームのみを実装しています。
let { readable, writable } = new TransformStream();-
TransformStream()TransformStream- 新しいアイデンティティトランスフォームストリームを返します。
readableReadableStreamReadableStreamのインスタンス。
writableWritableStreamWritableStreamのインスタンス。
Workersプラットフォームにおける現在のTransformStreamの実装は、Streams Standard ↗に準拠しておらず、仕様に準拠するように実装を変更する予定です。その準備として、現在のTransformStreamクラスと同じ動作を実装するIdentityTransformStreamクラスを導入しました。このタイプのストリームは、書き込み側に書き込まれたすべてのバイトデータのチャンク(TypedArrayの形式)を変更なしに読み取り側に転送します。
IdentityTransformStreamの読み取り側は、自分のバッファを持ち込む(BYOB)読み取り ↗をサポートしています。
let { readable, writable } = new IdentityTransformStream();-
IdentityTransformStream()IdentityTransformStream- 新しいアイデンティティトランスフォームストリームを返します。
readableReadableStreamReadableStreamのインスタンス。
writableWritableStreamWritableStreamのインスタンス。
FixedLengthStreamは、ストリームが通過するバイトの総数を制限するIdentityTransformStreamの特殊化です。これは主に、FixedLengthStreamを使用してResponseまたはRequestを生成する際に、ストリームの固定長がContent-Lengthヘッダーの値として使用され、他のタイプのストリームを使用する際にチャンクエンコーディングが使用されないため、便利です。ストリームを通過するバイトが多すぎるか少なすぎる場合、エラーが発生します。
let { readable, writable } = new FixedLengthStream(1000);-
FixedLengthStream(length)FixedLengthStream- 新しいアイデンティティトランスフォームストリームを返します。
lengthは、最大値が2^53 - 1のnumberまたはbigintである可能性があります。
readableReadableStreamReadableStreamのインスタンス。
writableWritableStreamWritableStreamのインスタンス。