Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1432140
FulfilledPromise.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
FulfilledPromise.php
View Options
<?php
declare
(
strict_types
=
1
);
namespace
GuzzleHttp\Promise
;
/**
* A promise that has been fulfilled.
*
* Thenning off of this promise will invoke the onFulfilled callback
* immediately and ignore other callbacks.
*
* @final
*/
class
FulfilledPromise
implements
PromiseInterface
{
private
$value
;
/**
* @param mixed $value
*/
public
function
__construct
(
$value
)
{
if
(
is_object
(
$value
)
&&
method_exists
(
$value
,
'then'
))
{
throw
new
\InvalidArgumentException
(
'You cannot create a FulfilledPromise with a promise.'
);
}
$this
->
value
=
$value
;
}
public
function
then
(
?
callable
$onFulfilled
=
null
,
?
callable
$onRejected
=
null
):
PromiseInterface
{
// Return itself if there is no onFulfilled function.
if
(!
$onFulfilled
)
{
return
$this
;
}
$queue
=
Utils
::
queue
();
$p
=
new
Promise
([
$queue
,
'run'
]);
$value
=
$this
->
value
;
$queue
->
add
(
static
function
()
use
(
$p
,
$value
,
$onFulfilled
):
void
{
if
(
Is
::
pending
(
$p
))
{
try
{
$p
->
resolve
(
$onFulfilled
(
$value
));
}
catch
(
\Throwable
$e
)
{
$p
->
reject
(
$e
);
}
}
});
return
$p
;
}
public
function
otherwise
(
callable
$onRejected
):
PromiseInterface
{
return
$this
->
then
(
null
,
$onRejected
);
}
public
function
wait
(
bool
$unwrap
=
true
)
{
return
$unwrap
?
$this
->
value
:
null
;
}
public
function
getState
():
string
{
return
self
::
FULFILLED
;
}
public
function
resolve
(
$value
):
void
{
if
(
$value
!==
$this
->
value
)
{
throw
new
\LogicException
(
'Cannot resolve a fulfilled promise'
);
}
}
public
function
reject
(
$reason
):
void
{
throw
new
\LogicException
(
'Cannot reject a fulfilled promise'
);
}
public
function
cancel
():
void
{
// pass
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 21:28 (1 d, 11 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
2d/a4/0b1dbd7c0a4e9de4b0622f7ca430
Default Alt Text
FulfilledPromise.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment