TransformStream.RdAn entangled pair of readable and writeable streams, wherein writing to the stream causes a transform function that can enqueue chunks to the readable side.
Events:
start
error
data
drain
backpressure
pipe
tee
close
Other streams:
ReadableStream,
WriteableStream
streams::EventEmitter -> TransformStream
desired_size1
current_state1
readable1
writeable1
controller1
Inherited methods
streams::EventEmitter$emit()streams::EventEmitter$event_names()streams::EventEmitter$get_max_listeners()streams::EventEmitter$listener_count()streams::EventEmitter$off()streams::EventEmitter$on()streams::EventEmitter$once()streams::EventEmitter$prepend_listener()streams::EventEmitter$prepend_once_listener()streams::EventEmitter$raw_listeners()streams::EventEmitter$remove_all_listeners()streams::EventEmitter$set_max_listeners()
new()1
TransformStream$new(
start = NULL,
transform = NULL,
flush = NULL,
writeable_strategy = NULL,
readable_strategy = NULL
)# All the functional streams are implemented using
# the transform stream class
# For instance, `streams::map_stream`:
map_stream <- function(fn, ...) {
fn <- to_function(fn)
TransformStream$new(
transform = function(chunk, controller) {
res <- fn(chunk)
controller$enqueue(res)
},
...
)
}
# Or `streams::filter_stream`
filter_stream <- function(fn, ...) {
fn <- to_function(fn)
TransformStream$new(
transform = function(chunk, controller) {
res <- isTRUE(fn(chunk))
if (res) {
controller$enqueue(chunk)
}
},
...
)
}