public function newItem(Request $request) : RedirectResponse { $newItem = Nullable::fromValue($request->input('text'))->reject('')->filter(P::allPass(['strlen']))->map(ItemService::class . '::createNewItem')->getOrCall(function () { Log::info('New item content not found. Skipping...'); }); return redirect('/main')->with('status', 'New item added!'); }
public function testAllPass() { $isMultipleOf = P::curry2(function ($base, $value) { $modBy = P::flip('P::mathMod', 2); $modByX = $modBy($base); return $modByX($value) > 0 ? FALSE : TRUE; }); $isEven = $isMultipleOf(2); $isMultipleOf10 = $isMultipleOf(10); $isEvenMultipleOfTen = P::allPass([$isEven, $isMultipleOf10]); $this->assertTrue(P::allPass([$isEven, $isMultipleOf10], 20)); $this->assertFalse(P::allPass([$isEven, $isMultipleOf10], 22)); $this->assertFalse(P::allPass([$isEven, $isMultipleOf10], 21)); $this->assertTrue($isEvenMultipleOfTen(20)); $this->assertFalse($isEvenMultipleOfTen(22)); $a = function () use($isEven, $isMultipleOf) { (yield $isEven); (yield $isMultipleOf); }; $this->assertTrue(P::allPass([$isEven, $isMultipleOf10], 20)); }