take until for filters

Take elements of the input until a predicate is true.

Signature

> take until {flags} (predicate)

Parameters

  • predicate: The predicate that element(s) must not match.

Input/output types:

inputoutput
list<any>list<any>
tabletable

Examples

Take until the element is positive

> [-1 -2 9 1] | take until {|x| $x > 0 }
╭───┬────╮
 0  -1 
 1  -2 
╰───┴────╯

Take until the element is positive using stored condition

> let cond = {|x| $x > 0 }; [-1 -2 9 1] | take until $cond
╭───┬────╮
 0  -1 
 1  -2 
╰───┴────╯

Take until the field value is positive

> [{a: -1} {a: -2} {a: 9} {a: 1}] | take until {|x| $x.a > 0 }
╭───┬────╮
 # │ a  │
├───┼────┤
 0  -1 
 1  -2 
╰───┴────╯