From 9b26f4b51348b66b9b313415afd98814cbcd7101 Mon Sep 17 00:00:00 2001
From: ousid <imo.ossama1@gmail.com>
Date: Thu, 23 Feb 2023 23:26:54 +0100
Subject: [PATCH 1/2] add laravel 10 support

---
 .github/workflows/run-tests.yml |  9 +++++++--
 composer.json                   | 10 +++++-----
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
index 39ff7ee..b662705 100644
--- a/.github/workflows/run-tests.yml
+++ b/.github/workflows/run-tests.yml
@@ -13,12 +13,17 @@ jobs:
       fail-fast: true
       matrix:
         os: [ubuntu-latest, windows-latest]
-        php: [8.1]
-        laravel: [9.*]
+        php: [8.1, 8.2]
+        laravel: [9.*, 10.*]
         stability: [prefer-lowest, prefer-stable]
         include:
           - laravel: 9.*
             testbench: 7.*
+          - laravel: 10.*
+            testbench: 8.*
+        exclude:
+          - laravel: 9.*
+            php: 8.2
 
     name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}
 
diff --git a/composer.json b/composer.json
index 083c2cc..5896bb2 100644
--- a/composer.json
+++ b/composer.json
@@ -18,23 +18,23 @@
     ],
     "require": {
         "php": "^8.1",
-        "illuminate/contracts": "^9.0",
+        "illuminate/contracts": "^9.0|^10.0",
         "league/csv": "^9.8",
         "livewire/livewire": "^2.10",
         "spatie/laravel-package-tools": "^1.9.2"
     },
     "require-dev": {
         "laravel/pint": "^1.0",
-        "nunomaduro/collision": "^6.0",
+        "nunomaduro/collision": "^6.0|^7.0",
         "nunomaduro/larastan": "^2.0.1",
-        "orchestra/testbench": "^7.0",
-        "pestphp/pest": "^1.21",
+        "orchestra/testbench": "^7.0|^8.0",
+        "pestphp/pest": "^1.22",
         "pestphp/pest-plugin-laravel": "^1.1",
         "pestphp/pest-plugin-livewire": "^1.0",
         "phpstan/extension-installer": "^1.1",
         "phpstan/phpstan-deprecation-rules": "^1.0",
         "phpstan/phpstan-phpunit": "^1.0",
-        "phpunit/phpunit": "^9.5"
+        "phpunit/phpunit": "^9.5|^10.0"
     },
     "autoload": {
         "files": [

From 6d9da76a9611282c3d692edf536c39d01e30cea4 Mon Sep 17 00:00:00 2001
From: ousid <ousid@users.noreply.github.com>
Date: Thu, 23 Feb 2023 22:27:23 +0000
Subject: [PATCH 2/2] Fix styling

---
 src/Concerns/HasCsvProperties.php      |  6 ------
 src/Concerns/InteractsWithColumns.php  |  6 ------
 src/Concerns/InteractsWithCsvFiles.php |  3 ---
 src/Http/Livewire/CsvImporter.php      |  6 ------
 src/LaravelCsvDirectives.php           |  4 ----
 src/LaravelCsvManager.php              |  4 ----
 src/LaravelCsvServiceProvider.php      |  7 -------
 src/Scopes/ImportScope.php             | 12 ------------
 src/Utilities/ChunkIterator.php        |  8 --------
 src/helpers.php                        |  3 ---
 10 files changed, 59 deletions(-)

diff --git a/src/Concerns/HasCsvProperties.php b/src/Concerns/HasCsvProperties.php
index 178e0b9..50f530d 100644
--- a/src/Concerns/HasCsvProperties.php
+++ b/src/Concerns/HasCsvProperties.php
@@ -20,8 +20,6 @@ trait HasCsvProperties
 
     /**
      * Read CSV Property
-     *
-     * @return Reader
      */
     public function getReadCsvProperty(): Reader
     {
@@ -30,8 +28,6 @@ public function getReadCsvProperty(): Reader
 
     /**
      * Get CSV Records Property
-     *
-     * @return TabularDataReader
      */
     public function getCsvRecordsProperty(): TabularDataReader
     {
@@ -40,8 +36,6 @@ public function getCsvRecordsProperty(): TabularDataReader
 
     /**
      * Handle CSV Information properties from the given file
-     *
-     * @return array|\Illuminate\Support\MessageBag
      */
     public function handleCsvProperties(): array|MessageBag
     {
diff --git a/src/Concerns/InteractsWithColumns.php b/src/Concerns/InteractsWithColumns.php
index 8fdfc82..0448d22 100644
--- a/src/Concerns/InteractsWithColumns.php
+++ b/src/Concerns/InteractsWithColumns.php
@@ -6,8 +6,6 @@ trait InteractsWithColumns
 {
     /**
      * Converts the columnsToMap property into an associative array.
-     *
-     * @return array
      */
     protected function mapThroughColumns(): array
     {
@@ -22,8 +20,6 @@ protected function mapThroughColumns(): array
 
     /**
      * Maps requiredColumns property into columnsToMap required state.
-     *
-     * @return array
      */
     protected function mapThroughRequiredColumns(): array
     {
@@ -39,8 +35,6 @@ protected function mapThroughRequiredColumns(): array
 
     /**
      * Maps columnLabels property into columnsToMap label state.
-     *
-     * @return array
      */
     protected function mapThroughColumnLabels(): array
     {
diff --git a/src/Concerns/InteractsWithCsvFiles.php b/src/Concerns/InteractsWithCsvFiles.php
index 9f43a71..5f7e22a 100644
--- a/src/Concerns/InteractsWithCsvFiles.php
+++ b/src/Concerns/InteractsWithCsvFiles.php
@@ -8,9 +8,6 @@ trait InteractsWithCsvFiles
 {
     /**
      * Read CSV File.
-     *
-     * @param  string  $path
-     * @return Reader
      */
     protected function readCSV(string $path): Reader
     {
diff --git a/src/Http/Livewire/CsvImporter.php b/src/Http/Livewire/CsvImporter.php
index b627953..16fd3b0 100644
--- a/src/Http/Livewire/CsvImporter.php
+++ b/src/Http/Livewire/CsvImporter.php
@@ -22,25 +22,19 @@ class CsvImporter extends Component
     /** @var string */
     public $model;
 
-    /** @var bool */
     public bool $open = false;
 
     /** @var object */
     public $file;
 
-    /** @var array */
     public array $columnsToMap = [];
 
-    /** @var array */
     public array $requiredColumns = [];
 
-    /** @var array */
     public array $columnLabels = [];
 
-    /** @var array */
     public array $fileHeaders = [];
 
-    /** @var int */
     public int $fileRowCount = 0;
 
     /** @var array */
diff --git a/src/LaravelCsvDirectives.php b/src/LaravelCsvDirectives.php
index f1d9463..0cd203e 100644
--- a/src/LaravelCsvDirectives.php
+++ b/src/LaravelCsvDirectives.php
@@ -20,8 +20,6 @@ public static function csvStyles(): string|null
 
     /**
      * Get CSV Scripts
-     *
-     * @return string
      */
     public static function csvScripts(): string
     {
@@ -32,8 +30,6 @@ public static function csvScripts(): string
 
     /**
      * Get Tailwind Style Path
-     *
-     * @return string
      */
     protected static function getTailwindStyle(): string
     {
diff --git a/src/LaravelCsvManager.php b/src/LaravelCsvManager.php
index 4d44cf2..98e8182 100644
--- a/src/LaravelCsvManager.php
+++ b/src/LaravelCsvManager.php
@@ -6,10 +6,6 @@ class LaravelCsvManager
 {
     /**
      * Get the given size and formated it.
-     *
-     * @param  int  $size
-     * @param  int  $precision
-     * @return string|int
      */
     public function formatFileSize(int $size, int $precision = 2): string|int
     {
diff --git a/src/LaravelCsvServiceProvider.php b/src/LaravelCsvServiceProvider.php
index eaec972..94a8900 100644
--- a/src/LaravelCsvServiceProvider.php
+++ b/src/LaravelCsvServiceProvider.php
@@ -43,8 +43,6 @@ public function registeringPackage()
 
     /**
      * Configure Laravel CSV Blade components
-     *
-     * @return void
      */
     protected function configureComponents(): void
     {
@@ -55,8 +53,6 @@ protected function configureComponents(): void
 
     /**
      * Register livewire components
-     *
-     * @return void
      */
     protected function registerLivewireComponents(): void
     {
@@ -69,9 +65,6 @@ protected function registerLivewireComponents(): void
 
     /**
      * Register given component.
-     *
-     * @param  string  $component
-     * @return void
      */
     protected function registerComponent(string $component): void
     {
diff --git a/src/Scopes/ImportScope.php b/src/Scopes/ImportScope.php
index 2d73cf1..3273301 100644
--- a/src/Scopes/ImportScope.php
+++ b/src/Scopes/ImportScope.php
@@ -9,8 +9,6 @@ trait ImportScope
 {
     /**
      * Completed Status Scope
-     *
-     * @return \Illuminate\Database\Eloquent\Builder
      */
     public function scopeCompleted(Builder $builder): Builder
     {
@@ -19,8 +17,6 @@ public function scopeCompleted(Builder $builder): Builder
 
     /**
      * Not Completed Status Scope
-     *
-     * @return \Illuminate\Database\Eloquent\Builder
      */
     public function scopeUnCompleted(Builder $builder): Builder
     {
@@ -29,8 +25,6 @@ public function scopeUnCompleted(Builder $builder): Builder
 
     /**
      * Get the percentage of the model completion
-     *
-     * @return int|float
      */
     public function percentageComplete(): int|float
     {
@@ -39,9 +33,6 @@ public function percentageComplete(): int|float
 
     /**
      * Fetch imports based on the given model
-     *
-     * @param  string  $model
-     * @return \Illuminate\Database\Eloquent\Builder
      */
     public function scopeForModel(Builder $builder, string $model): Builder
     {
@@ -50,9 +41,6 @@ public function scopeForModel(Builder $builder, string $model): Builder
 
     /**
      * Fetch imports on the user id
-     *
-     * @param  int  $user
-     * @return \Illuminate\Database\Eloquent\Builder
      */
     public function scopeForUser(Builder $builder, int $user): Builder
     {
diff --git a/src/Utilities/ChunkIterator.php b/src/Utilities/ChunkIterator.php
index 1a6012c..7b97719 100644
--- a/src/Utilities/ChunkIterator.php
+++ b/src/Utilities/ChunkIterator.php
@@ -18,14 +18,8 @@
  */
 class ChunkIterator
 {
-    /**
-     * @var Iterator
-     */
     protected Iterator $iterator;
 
-    /**
-     * @var int
-     */
     protected int $chunkSize;
 
     public function __construct(Iterator $iterator, int $chunkSize)
@@ -36,8 +30,6 @@ public function __construct(Iterator $iterator, int $chunkSize)
 
     /**
      * Chunk the given data
-     *
-     * @return Generator
      */
     public function get(): Generator
     {
diff --git a/src/helpers.php b/src/helpers.php
index 8cdb1d9..5532e05 100644
--- a/src/helpers.php
+++ b/src/helpers.php
@@ -5,9 +5,6 @@
 if (! function_exists('Coderflex\LaravelCsv\csv_view_path')) {
     /**
      * Get the evaluated view content from the livewire view
-     *
-     * @param  string|null  $view
-     * @return string
      */
     function csv_view_path(string|null $view): string
     {