norujukanList = $norujukanList; } public function getMarhunDetails() { $getMarhunDetails = function () { return Http::pool(function (Pool $pool) { foreach ($this->norujukanList as $norujukan) { $pool->get(config('api.url') . '/api/marhun/' . $norujukan); } }); }; $marhunDetailsResponse = array_map(fn($x) => $x->json() == null ? [] : $x->Json(), $getMarhunDetails()); $marhunDetailsResponse = array_map(fn($x) => array_merge([], ...$x), $marhunDetailsResponse); $formatMarhunDetailData = function ($x) { $getMarhunTypeFullName = function ($code) { $marhun = Http::get(config('api.url') . '/api/jemas/nama_marhun', ['marhun' => $code])->json()['descpt']; return $marhun; }; return array_map(function ($y) use ($getMarhunTypeFullName) { $y['marhun'] = $getMarhunTypeFullName($y['marhun']); return $y; }, $x); }; return array_map($formatMarhunDetailData, $marhunDetailsResponse); } public static function from($norujukanList) { return new static($norujukanList); } }