typed<T> method

Sink<T> typed <T>(Sink sink)

Creates a wrapper that coerces the type of sink.

Unlike new DelegatingSink, this only requires its argument to be an instance of Sink, not Sink<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 Sink<T> typed<T>(Sink sink) =>
    sink is Sink<T> ? sink : new DelegatingSink._(sink);