Skip to content

Commit 4964aa6

Browse files
Merge pull request #220 from MarcinOrlowski/dev
Release v9.3.2
2 parents 0ddaae2 + 3337222 commit 4964aa6

File tree

86 files changed

+151
-127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+151
-127
lines changed

.codecov.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# @package MarcinOrlowski\ResponseBuilder
66
#
77
# @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
8-
# @copyright 2016-2021 Marcin Orlowski
8+
# @copyright 2016-2022 Marcin Orlowski
99
# @license http://www.opensource.org/licenses/mit-license.php MIT
1010
# @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1111
#

.config/composer-laravel-9.x.json

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "marcin-orlowski/laravel-api-response-builder",
3+
"autoload": {
4+
"psr-4": {
5+
"MarcinOrlowski\\ResponseBuilder\\": "src/",
6+
"MarcinOrlowski\\ResponseBuilder\\Tests\\Traits\\": "tests/Traits/",
7+
"MarcinOrlowski\\ResponseBuilder\\Tests\\": "tests/phpunit"
8+
}
9+
},
10+
"require": {
11+
"php": "^8.0",
12+
"laravel/framework": "^9.0"
13+
},
14+
"require-dev": {
15+
"marcin-orlowski/coding-standard": "^2.2",
16+
"marcin-orlowski/phpunit-extra-asserts": "^1.2",
17+
"orchestra/testbench": "^6.0",
18+
"phpunit/phpunit": "^9.0",
19+
"phpunit/php-code-coverage": "^9.0",
20+
"nunomaduro/larastan": "^0.7.6"
21+
}
22+
}

.github/workflows/coding-standards.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# @package MarcinOrlowski\ResponseBuilder
66
#
77
# @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
8-
# @copyright 2016-2021 Marcin Orlowski
8+
# @copyright 2016-2022 Marcin Orlowski
99
# @license http://www.opensource.org/licenses/mit-license.php MIT
1010
# @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1111
#
@@ -27,7 +27,7 @@ jobs:
2727
matrix:
2828
# quotes are needed it is treated as a number and zero at decimal part is gone at runtime
2929
laravel: ["8.x"]
30-
php: ["8.0"]
30+
php: ["8.0", "8.1"]
3131

3232
runs-on: ubuntu-latest
3333

.github/workflows/coverage.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# @package MarcinOrlowski\ResponseBuilder
66
#
77
# @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
8-
# @copyright 2016-2021 Marcin Orlowski
8+
# @copyright 2016-2022 Marcin Orlowski
99
# @license http://www.opensource.org/licenses/mit-license.php MIT
1010
# @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1111
#
@@ -30,7 +30,7 @@ jobs:
3030
matrix:
3131
# quotes are needed it is treated as a number and zero at decimal part is gone at runtime
3232
laravel: ["8.x"]
33-
php: ["8.0"]
33+
php: ["8.0", "8.1"]
3434

3535
runs-on: ubuntu-latest
3636

.github/workflows/phpstan.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# @package MarcinOrlowski\ResponseBuilder
66
#
77
# @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
8-
# @copyright 2016-2021 Marcin Orlowski
8+
# @copyright 2016-2022 Marcin Orlowski
99
# @license http://www.opensource.org/licenses/mit-license.php MIT
1010
# @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1111
#
@@ -30,7 +30,7 @@ jobs:
3030
matrix:
3131
# quotes are needed it is treated as a number and zero at decimal part is gone at runtime
3232
laravel: ["8.x"]
33-
php: ["7.4", "8.0"]
33+
php: ["7.4", "8.0", "8.1"]
3434

3535
runs-on: ubuntu-latest
3636

@@ -50,6 +50,7 @@ jobs:
5050
php_version: "${{ matrix.php }}"
5151
dev: yes
5252

53+
# https://github.com/marketplace/actions/phpstan-php-actions
5354
- name: "Running PHPStan..."
5455
uses: php-actions/phpstan@v3
5556
with:

.github/workflows/phpunit.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# @package MarcinOrlowski\ResponseBuilder
66
#
77
# @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
8-
# @copyright 2016-2021 Marcin Orlowski
8+
# @copyright 2016-2022 Marcin Orlowski
99
# @license http://www.opensource.org/licenses/mit-license.php MIT
1010
# @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1111
#
@@ -30,11 +30,13 @@ jobs:
3030
matrix:
3131
# quotes are needed it is treated as a number and zero at decimal part is gone at runtime
3232
laravel: ["6.x", "7.x", "8.x"]
33-
php: ["7.2", "7.3", "7.4", "8.0"]
33+
php: ["7.2", "7.3", "7.4", "8.0", "8.1"]
3434
exclude:
3535
# Laravel 8.x requires PHP 7.3+
3636
- laravel: "8.x"
3737
php: "7.2"
38+
- laravel: "9.x"
39+
php: ["7.2", "7.3", "7.4"]
3840

3941
runs-on: ubuntu-latest
4042

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@ Development branch:
6666

6767
## License ##
6868

69-
* Written and copyrighted &copy;2016-2021 by Marcin Orlowski <mail (#) marcinorlowski (.) com>
69+
* Written and copyrighted &copy;2016-2022 by Marcin Orlowski <mail (#) marcinorlowski (.) com>
7070
* ResponseBuilder is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)

composer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "marcin-orlowski/laravel-api-response-builder",
33
"description": "Helps building nice, normalized and easy to consume Laravel REST API.",
44
"homepage": "https://github.com/MarcinOrlowski/laravel-api-response-builder",
5-
"version": "9.3.1",
5+
"version": "9.3.2",
66
"keywords": [
77
"laravel",
88
"json",
@@ -11,6 +11,7 @@
1111
"rest",
1212
"helper",
1313
"php7",
14+
"php8",
1415
"mobile",
1516
"android",
1617
"ios"

config/response_builder.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* See docs/config.md for detailed documentation
88
*
99
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
10-
* @copyright 2016-2021 Marcin Orlowski
10+
* @copyright 2016-2022 Marcin Orlowski
1111
* @license http://www.opensource.org/licenses/mit-license.php MIT
1212
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1313
*

docs/CHANGES.md

+5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
1010
## CHANGE LOG ##
1111

12+
* v9.3.2 (2022-02-13)
13+
* Laravel 9.x is now included in test matrices.
14+
* PHP 8.1 is now included in test matrices.
15+
* Simplified some logic by removing redundant checks.
16+
1217
* v9.3.1 (2021-10-23)
1318
* Default `composer.json` also includes development packages now.
1419
* Updated examples in docs (thanks to @jcmcclorey).

phpcs.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Laravel API Response Builder - PHP Code Sniffer config file
44
*
55
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
6-
* @copyright 2016-2021 Marcin Orlowski
6+
* @copyright 2016-2022 Marcin Orlowski
77
* @license http://www.opensource.org/licenses/mit-license.php MIT
88
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
99
*

phpstan.neon

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# @package MarcinOrlowski\ResponseBuilder
66
#
77
# @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
8-
# @copyright 2016-2021 Marcin Orlowski
8+
# @copyright 2016-2022 Marcin Orlowski
99
# @license http://www.opensource.org/licenses/mit-license.php MIT
1010
# @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1111
#

src/ApiCodesHelpers.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/BaseApiCodes.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Contracts/ConverterContract.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Contracts/ExceptionHandlerContract.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Contracts/InvalidTypeExceptionContract.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Converter.php

+15-17
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/
@@ -93,22 +93,20 @@ protected function getClassMappingConfigOrThrow(object $data): array
9393

9494
// check for exact class name match...
9595
$cls = \get_class($data);
96-
if (\is_string($cls)) {
97-
if (\array_key_exists($cls, $this->classes)) {
98-
$result = $this->classes[ $cls ];
99-
$debug_result = 'exact config match';
100-
} else {
101-
// no exact match, then lets try with `instanceof`
102-
foreach (\array_keys($this->classes) as $class_name) {
103-
/** @var string $class_name */
104-
if ($data instanceof $class_name) {
105-
$result = $this->classes[ $class_name ];
106-
$debug_result = "subclass of {$class_name}";
107-
break;
108-
}
109-
}
110-
}
111-
}
96+
if (\array_key_exists($cls, $this->classes)) {
97+
$result = $this->classes[ $cls ];
98+
$debug_result = 'exact config match';
99+
} else {
100+
// no exact match, then lets try with `instanceof`
101+
foreach (\array_keys($this->classes) as $class_name) {
102+
/** @var string $class_name */
103+
if ($data instanceof $class_name) {
104+
$result = $this->classes[ $class_name ];
105+
$debug_result = "subclass of {$class_name}";
106+
break;
107+
}
108+
}
109+
}
112110

113111
if ($result === null) {
114112
throw new Ex\ConfigurationNotFoundException(

src/Converters/ArrayableConverter.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Converters/JsonSerializableConverter.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Converters/ToArrayConverter.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/ExceptionHandlerHelper.php

+17-19
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/
@@ -348,24 +348,22 @@ protected static function getHandler(\Throwable $ex): ?array
348348
$result = null;
349349

350350
$cls = \get_class($ex);
351-
if (\is_string($cls)) {
352-
$cfg = self::getExceptionHandlerConfig();
353-
354-
// check for exact class name match...
355-
if (\array_key_exists($cls, $cfg)) {
356-
$result = $cfg[ $cls ];
357-
} else {
358-
// no exact match, then lets try with `instanceof`
359-
// Config entries are already sorted by priority.
360-
foreach (\array_keys($cfg) as $class_name) {
361-
/** @var string $class_name */
362-
if ($ex instanceof $class_name) {
363-
$result = $cfg[ $class_name ];
364-
break;
365-
}
366-
}
367-
}
368-
}
351+
$cfg = self::getExceptionHandlerConfig();
352+
353+
// check for exact class name match...
354+
if (\array_key_exists($cls, $cfg)) {
355+
$result = $cfg[ $cls ];
356+
} else {
357+
// no exact match, then lets try with `instanceof`
358+
// Config entries are already sorted by priority.
359+
foreach (\array_keys($cfg) as $class_name) {
360+
/** @var string $class_name */
361+
if ($ex instanceof $class_name) {
362+
$result = $cfg[ $class_name ];
363+
break;
364+
}
365+
}
366+
}
369367

370368
return $result;
371369
}

src/ExceptionHandlers/DefaultExceptionHandler.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/ExceptionHandlers/HttpExceptionHandler.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/ExceptionHandlers/ValidationExceptionHandler.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Exceptions/ArrayWithMixedKeysException.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

src/Exceptions/ClassNotFound.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @package MarcinOrlowski\ResponseBuilder
1010
*
1111
* @author Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12-
* @copyright 2016-2021 Marcin Orlowski
12+
* @copyright 2016-2022 Marcin Orlowski
1313
* @license http://www.opensource.org/licenses/mit-license.php MIT
1414
* @link https://github.com/MarcinOrlowski/laravel-api-response-builder
1515
*/

0 commit comments

Comments
 (0)