Skip to content

#[mixable] Sink[T]

Abstract type for sinks, whose instances have the methods below. Built-in sinks are Sink; a class that only implements (put) is not.

Sink is not constructible directly.

assert_eq (type $ [].sink()) $Sink

Inherits from: Sinkable[T]

Implements: BaseSink[T]

Methods

(put) value

Writes a value.

Parameters

NameTypeDescription
value T

prechomp() -> Sink[Str] overload 1 of 2

Returns a sink that removes one trailing line terminator from each value before writing it, as Sinkable.prechomp does.

Parameters

NameTypeDescription
self Sink[Str] Receiver.

prechomp() -> Sink[Bin] overload 2 of 2

Returns a sink that removes one trailing line terminator from each value before writing it, as Sinkable.prechomp does.

Parameters

NameTypeDescription
self Sink[Bin] Receiver.

precrimp … -> Sink[Str] overload 1 of 2

Returns a sink that appends a line terminator to each value before writing it, as Sinkable.precrimp does.

Parameters

NameTypeDescription
self Sink[Str] Receiver.
terminator? (Str | Bin)

precrimp … -> Sink[Bin] overload 2 of 2

Returns a sink that appends a line terminator to each value before writing it, as Sinkable.precrimp does.

Parameters

NameTypeDescription
self Sink[Bin] Receiver.
terminator? (Str | Bin)

prefilter[U @ T] pred -> Sink[U]

Returns a sink that writes only the values for which pred is truthy.

Parameters

NameTypeDescription
pred ((U, <Value, >Value) -> Value)

premap[U] func -> Sink[U]

Returns a sink that transforms each value with func before writing it.

Parameters

NameTypeDescription
func ((U, <Value, >Value) -> T)

put value

Writes a value to the sink.

Parameters

NameTypeDescription
value T