Skip to content

Commit 00bc33e

Browse files
committed
Updated type hints and deps
1 parent ba715ca commit 00bc33e

File tree

3 files changed

+22
-23
lines changed

3 files changed

+22
-23
lines changed

composer.json

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,6 @@
3030
},
3131
"require": {
3232
"react/promise": "~2.2",
33-
"wyrihaximus/react-async-interop-loop": "^0.2.2",
3433
"reactivex/rxphp": "2.x-dev"
35-
},
36-
"repositories": [
37-
{
38-
"type": "vcs",
39-
"url": "https://github.com/davidwdan/RxPHP.git"
40-
}
41-
]
34+
}
4235
}

src/Promise.php

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,22 @@
33
namespace Rx\React;
44

55
use React\Promise\CancellablePromiseInterface;
6+
use React\Promise\Promise as ReactPromise;
7+
use React\Promise\PromiseInterface;
68
use Rx\Disposable\CallbackDisposable;
79
use Rx\ObservableInterface;
810
use Rx\Observable;
911
use Rx\Observable\AnonymousObservable;
10-
use Rx\Observer\CallbackObserver;
1112
use Rx\Subject\AsyncSubject;
1213
use React\Promise\Deferred;
1314

1415
final class Promise
1516
{
1617
/**
1718
* @param mixed $value
18-
* @return \React\Promise\Promise A promise resolved to $value
19+
* @return ReactPromise A promise resolved to $value
1920
*/
20-
public static function resolved($value)
21+
public static function resolved($value): ReactPromise
2122
{
2223
$d = new Deferred();
2324
$d->resolve($value);
@@ -26,9 +27,9 @@ public static function resolved($value)
2627

2728
/**
2829
* @param mixed $exception
29-
* @return \React\Promise\Promise A promise rejected with $exception
30+
* @return ReactPromise A promise rejected with $exception
3031
*/
31-
public static function rejected($exception)
32+
public static function rejected($exception): ReactPromise
3233
{
3334
$d = new Deferred();
3435
$d->reject($exception);
@@ -40,14 +41,15 @@ public static function rejected($exception)
4041
*
4142
* @param ObservableInterface $observable
4243
* @param Deferred $deferred
43-
* @return \React\Promise\Promise
44+
* @return ReactPromise
45+
* @throws \InvalidArgumentException
4446
*/
45-
public static function fromObservable(ObservableInterface $observable, Deferred $deferred = null): \React\Promise\Promise
47+
public static function fromObservable(ObservableInterface $observable, Deferred $deferred = null): ReactPromise
4648
{
4749
$d = $deferred ?: new Deferred();
4850
$value = null;
4951

50-
$observable->subscribe(new CallbackObserver(
52+
$observable->subscribe(
5153
function ($v) use (&$value) {
5254
$value = $v;
5355
},
@@ -57,18 +59,19 @@ function ($error) use ($d) {
5759
function () use ($d, &$value) {
5860
$d->resolve($value);
5961
}
60-
));
62+
);
6163

6264
return $d->promise();
6365
}
6466

6567
/**
6668
* Converts a Promise to an Observable sequence
6769
*
68-
* @param CancellablePromiseInterface $promise
69-
* @return Observable\AnonymousObservable
70+
* @param PromiseInterface $promise
71+
* @return Observable
72+
* @throws \InvalidArgumentException
7073
*/
71-
public static function toObservable(CancellablePromiseInterface $promise): AnonymousObservable
74+
public static function toObservable(PromiseInterface $promise): Observable
7275
{
7376
$subject = new AsyncSubject();
7477

@@ -87,7 +90,9 @@ function ($error) use ($subject) {
8790
$disp = $subject->subscribe($observer);
8891
return new CallbackDisposable(function () use ($p, $disp) {
8992
$disp->dispose();
90-
$p->cancel();
93+
if ($p instanceof CancellablePromiseInterface) {
94+
$p->cancel();
95+
}
9196
});
9297
});
9398
}

src/PromiseFactory.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ final class PromiseFactory
1010
* Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes.
1111
*
1212
* @param callable $factory
13-
* @return \Rx\Observable\AnonymousObservable
13+
* @return Observable
14+
* @throws \InvalidArgumentException
1415
*/
15-
public static function toObservable(callable $factory)
16+
public static function toObservable(callable $factory): Observable
1617
{
1718
$observableFactory = function () use ($factory) {
1819
return Promise::toObservable($factory());

0 commit comments

Comments
 (0)