-
-
Notifications
You must be signed in to change notification settings - Fork 33
Closed
Labels
Description
🐛 Bug Report
Since we upgraded softcreatr/jsonpath to ^0.7.2, we noticed that some type checks were added to the JsonPath object (which is awesome 😍).
Here's the issue
class JsonPath
{
// ...
/**
* @param array|ArrayAccess $data
* @param bool $options
*/
final public function __construct($data = [], bool $options = false)
{
// Here, we should assert that `$data` is either an `array` or an instance of `ArrayAccess`, if not an `InvalidArgumentException` should be thrown
$this->data = $data;
$this->options = $options;
}
// ...
public function getData(): array
{
// it will although returns a `TypeError` when `$data` is an instance of `ArrayAccess`
return $this->data;
}
// ...
}Have you spent some time to check if this issue has been raised before?
[x] I have read googled for a similar issue or checked our older issues for a similar bug
Have you read the Code of Conduct?
[x] I have read the Code of Conduct
To Reproduce
(new JsonPath(\json_decode($payload)))->getData();
// TypeError: JsonPath::getData(): Return value must be of type array, stdClass returnedExpected behavior
An InvalidArgumentException
Actual Behavior
No exception is thrown
Your Environment
$ cat /etc/*-release
3.13.1
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.13.1
PRETTY_NAME="Alpine Linux v3.13"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
$ php -v
PHP 8.0.2 (cli) (built: Feb 5 2021 04:31:24) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.2, Copyright (c) Zend Technologies
with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick RethansThank you, it you need additional information, feel free to contact me :) I can provide a "fix" if required
Reactions are currently unavailable