-
Notifications
You must be signed in to change notification settings - Fork 142
Pluck will error on null value #216
Copy link
Copy link
Closed
Description
Pluck uses isset to check for the existence of a key. isset will not return true if the associated value is null which causes pluck to error.
This should use array_key_exists instead. (property_exists for objects)
Example:
\Rx\Observable::of([null])
->pluck(0)
->subscribe(
fn($x) => printf("Next: %s\n", json_encode($x)),
fn(\Throwable $e) => printf("Error: %s\n", $e->getMessage()),
fn() => printf("Completed.\n")
);Outputs:
Error: Unable to pluck "0"
The expected output would be:
Next: null
Completed.
Here is the object version which exhibits the same behavior:
\Rx\Observable::of((object)['foo' => null])
->pluck('foo')
->subscribe(
fn($x) => printf("Next: %s\n", json_encode($x)),
fn(\Throwable $e) => printf("Error: %s\n", $e->getMessage()),
fn() => printf("Completed.\n")
);Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels