Skip to content

Commit 6115f36

Browse files
committed
ObservableFactoryWrapper should convert promise to observable
1 parent 851913a commit 6115f36

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/ObservableFactoryWrapper.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
namespace Rx;
66

7+
use React\Promise\PromiseInterface;
8+
use Rx\React\Promise;
9+
710
final class ObservableFactoryWrapper
811
{
912
private $selector;
@@ -17,6 +20,10 @@ public function __invoke(): Observable
1720
{
1821
$result = call_user_func_array($this->selector, func_get_args());
1922

23+
if ($result instanceof PromiseInterface) {
24+
$result = Promise::toObservable($result);
25+
}
26+
2027
if (!$result instanceof ObservableInterface) {
2128
$reflectCallable = new \ReflectionFunction($this->selector);
2229
throw new \Exception("You must return an Observable or Promise in {$reflectCallable->getFileName()} on line {$reflectCallable->getStartLine()}\n");

0 commit comments

Comments
 (0)