public function __invoke(): array 	{ 		if ($data = Cache::get('cart_total_discount_available')) { 			return ['available' => $data == self::AVAILABLE, 				'amount' => Cache::get('cart_total_discount_amount'), 				'is_percentage' => Cache::get('cart_total_discount_is_percentage'), 			]; 		}  		$discount = Discount::applicable([Discount::ABOVE_SET_PRICE_DISCOUNT])->first();  		Cache::put('cart_total_discount_available', $discount ? self::AVAILABLE : self::NOT_AVAILABLE, 3600); // keep 1 hour 		Cache::put('cart_total_discount_amount', $discount?->amount, 3600); 		Cache::put('cart_total_discount_is_percentage', $discount?->is_percentage, 3600);  		return [ 			'available' => (bool) $discount, 			'amount' => $discount?->amount, 			'is_percentage' => $discount?->is_percentage, 		]; 	}