Example #1
0
 public function testCollectCanBeReused()
 {
     $fn = L::collect();
     $fn_a = $fn->apply(V::val(1))->apply(V::val(2))->apply(V::val(new Stop()));
     $fn_b = $fn->apply(V::val(3))->apply(V::val(4))->apply(V::val(new Stop()));
     $res_a = $fn_a->get();
     $res_b = $fn_b->get();
     $this->assertEquals($res_a, array(1, 2));
     $this->assertEquals($res_b, array(3, 4));
 }
Example #2
0
 /**
  * Collect values in an array until stop is received.
  *
  * See example.php.
  *
  * @return IValue
  */
 public static function collect()
 {
     return L::collect();
 }
Example #3
0
 public static function number($value, $min, $max, $step, $attributes, $error_int, $error_range, $error_step)
 {
     C::guardIsInt($value);
     C::guardIsInt($min);
     C::guardIsInt($max);
     C::guardIsInt($step);
     $attributes["value"] = "{$value}";
     $attributes["min"] = "{$min}";
     $attributes["max"] = "{$max}";
     $attributes["step"] = "{$step}";
     return self::input("number", $attributes)->satisfies(V::fn("is_numeric", 1), $error_int)->map(V::fn("intval", 1))->satisfies(L::inRange($min, $max), $error_range)->satisfies(L::isMultipleOf($step), $error_step);
 }