EsStreamChannelTransformer
Description
An <EsStreamChannelTransformer> transforms the events being passed to and emitted by a <EsStreamChannel>.
This works on the same principle as <EsStreamTransformer> and <EsStreamSinkTransformer>. Each transformer defines a #bind: method that takes in the original <EsStreamChannel> and returns the transformed version.
Transformers must be able to have #bind: called multiple times. If a subclass implements #bind: explicitly, it should be sure that the returned stream follows the second stream channel guarantee: closing the sink causes the stream to close before it emits any more events. This guarantee is invalidated when an asynchronous gap is added between the original stream's event dispatch and the returned stream's, for example by transforming it with an <EsStreamTransformer>. The guarantee can be easily preserved using EsStreamChannel class>>withCloseGuarantee:sink:
Instance State
  • streamTransformer: <EsStreamTransformer> The transformer to use on the channel's stream.
  • sinkTransformer: <EsStreamSinkTransformer> The transformer to use on the channel's sink.
Class Methods
<details> streamTransformer:sinkTransformer:
No comment
</details>
Instance Methods
<details> bind:
<pre><code> Transforms the events sent to and emitted by @channel.
Creates a new channel. When events are passed to the returned channel's
sink, the transformer will transform them and pass the transformed
versions to [@channel sink]. When events are emitted from the
[@channel stream], the transformer will transform them and pass the
transformed versions to the returned channel's stream.

Arguments:
channel - <EsStreamChannel>
Answers:
<EsStreamChannel>
</code></pre> </details>
Last modified date: 04/21/2022