typed<T> method

EventSink<T> typed <T>(EventSink sink)

Creates a wrapper that coerces the type of sink.

Unlike new DelegatingEventSink, this only requires its argument to be an instance of EventSink, not EventSink<T>. This means that calls to add may throw a CastError if the argument type doesn't match the reified type of sink.

Implementation

static EventSink<T> typed<T>(EventSink sink) =>
    sink is EventSink<T> ? sink : new DelegatingEventSink._(sink);