norujukanList = $norujukanList; } public function getBayaranHistory() { $getBayaranHistory = function () { return Http::pool(function (Pool $pool){ foreach ($this->norujukanList as $norujukan) { $pool->get(config('api.url') . '/api/transaction/' . $norujukan); } }); }; $bayaranHistoryResponse = array_map(fn($x) => $x->json(), $getBayaranHistory()); $formatBayaranHistoryData = function ($x) { if (sizeof($x) === 0) { return $x; } $formatDate = fn($x) => Carbon::parse($x)->format('d/m/Y'); $setResitAnsuranLink = fn($x) => route("resit.ansuran", $x); return array_map(function ($y) use ($formatDate, $setResitAnsuranLink) { $y['created_at'] = $formatDate($y['created_at']); $y['resit_ansuran_link'] = $setResitAnsuranLink($y['id']); return $y; }, $x); }; return array_map($formatBayaranHistoryData, $bayaranHistoryResponse); } public static function from($norujukanList) { return new static($norujukanList); } }