The source to wait on, which can be:
"uneventful.until"
method returning a Yielding
(in which case the result will be the the result of calling that method)(Note: if the supplied source is a function with a non-zero .length
, it is
assumed to be a Source.)
a Yieldable that when processed with yield *
in a job, will return
the triggered event, or signal value. An error is thrown if event stream
throws or closes early, or the signal throws.
Wait for and return the next truthy value (or error) from a data source (when processed with
yield *
within a Job).This differs from next() in that it waits for the next "truthy" value (i.e., not null, false, zero, empty string, etc.), and when used with signals or a signal-using function, it can resume immediately if the result is already truthy. (It also supports zero-argument signal-using functions, automatically wrapping them with cached(), as the common use case for until() is to wait for an arbitrary condition to be satisfied.)