Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Rx\Observable; use Rx\Disposable\BinaryDisposable; use Rx\Disposable\Cal..
Decoded Output download
<?php
namespace Rx\Observable;
use Rx\Disposable\BinaryDisposable;
use Rx\Disposable\CallbackDisposable;
use Rx\Observable;
use Rx\ObserverInterface;
use Rx\SchedulerInterface;
use Rx\Subject\Subject;
/**
* Class ConnectableObservable
* @package Rx\Observable
*/
class ConnectableObservable extends Observable
{
/** @var \Rx\Subject\Subject */
protected $subject;
/** @var BinaryDisposable */
protected $subscription;
/** @var Observable */
protected $sourceObservable;
/** @var bool */
protected $hasSubscription;
/** @var SchedulerInterface */
protected $scheduler;
/**
* ConnectableObservable constructor.
* @param Observable $source
* @param \Rx\Subject\Subject $subject
* @param SchedulerInterface $scheduler
*/
public function __construct(Observable $source, Subject $subject = null, SchedulerInterface $scheduler = null)
{
$this->sourceObservable = $source->asObservable();
$this->subject = $subject ?: new Subject();
$this->hasSubscription = false;
$this->scheduler = $scheduler;
}
/**
* @param \Rx\ObserverInterface $observer
* @param null $scheduler
* @return CallbackDisposable|\Rx\Disposable\EmptyDisposable|\Rx\DisposableInterface|\Rx\Subject\InnerSubscriptionDisposable
*/
public function subscribe(ObserverInterface $observer, $scheduler = null)
{
if ($scheduler) {
$this->scheduler = $scheduler;
}
return $this->subject->subscribe($observer, $scheduler);
}
/**
* @return \Rx\Disposable\BinaryDisposable
*/
public function connect()
{
if ($this->hasSubscription) {
return $this->subscription;
}
$this->hasSubscription = true;
$isDisposed = false;
$connectableDisposable = new CallbackDisposable(function () use (&$isDisposed) {
if ($isDisposed) {
return;
}
$isDisposed = true;
$this->hasSubscription = false;
});
$this->subscription = new BinaryDisposable($this->sourceObservable->subscribe($this->subject, $this->scheduler), $connectableDisposable);
return $this->subscription;
}
/**
* @return \Rx\Observable\RefCountObservable
*/
public function refCount()
{
return new RefCountObservable($this);
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Rx\Observable;
use Rx\Disposable\BinaryDisposable;
use Rx\Disposable\CallbackDisposable;
use Rx\Observable;
use Rx\ObserverInterface;
use Rx\SchedulerInterface;
use Rx\Subject\Subject;
/**
* Class ConnectableObservable
* @package Rx\Observable
*/
class ConnectableObservable extends Observable
{
/** @var \Rx\Subject\Subject */
protected $subject;
/** @var BinaryDisposable */
protected $subscription;
/** @var Observable */
protected $sourceObservable;
/** @var bool */
protected $hasSubscription;
/** @var SchedulerInterface */
protected $scheduler;
/**
* ConnectableObservable constructor.
* @param Observable $source
* @param \Rx\Subject\Subject $subject
* @param SchedulerInterface $scheduler
*/
public function __construct(Observable $source, Subject $subject = null, SchedulerInterface $scheduler = null)
{
$this->sourceObservable = $source->asObservable();
$this->subject = $subject ?: new Subject();
$this->hasSubscription = false;
$this->scheduler = $scheduler;
}
/**
* @param \Rx\ObserverInterface $observer
* @param null $scheduler
* @return CallbackDisposable|\Rx\Disposable\EmptyDisposable|\Rx\DisposableInterface|\Rx\Subject\InnerSubscriptionDisposable
*/
public function subscribe(ObserverInterface $observer, $scheduler = null)
{
if ($scheduler) {
$this->scheduler = $scheduler;
}
return $this->subject->subscribe($observer, $scheduler);
}
/**
* @return \Rx\Disposable\BinaryDisposable
*/
public function connect()
{
if ($this->hasSubscription) {
return $this->subscription;
}
$this->hasSubscription = true;
$isDisposed = false;
$connectableDisposable = new CallbackDisposable(function () use (&$isDisposed) {
if ($isDisposed) {
return;
}
$isDisposed = true;
$this->hasSubscription = false;
});
$this->subscription = new BinaryDisposable($this->sourceObservable->subscribe($this->subject, $this->scheduler), $connectableDisposable);
return $this->subscription;
}
/**
* @return \Rx\Observable\RefCountObservable
*/
public function refCount()
{
return new RefCountObservable($this);
}
}
Function Calls
None |
Stats
MD5 | c2f5bc33323b4d1740998351d05eb51a |
Eval Count | 0 |
Decode Time | 96 ms |