first commit
This commit is contained in:
27
libraries/vendor/fig/link-util/src/GenericLinkProvider.php
vendored
Normal file
27
libraries/vendor/fig/link-util/src/GenericLinkProvider.php
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Fig\Link;
|
||||
|
||||
use Psr\Link\EvolvableLinkProviderInterface;
|
||||
use Psr\Link\LinkInterface;
|
||||
|
||||
class GenericLinkProvider implements EvolvableLinkProviderInterface
|
||||
{
|
||||
use EvolvableLinkProviderTrait;
|
||||
|
||||
/**
|
||||
* Constructs a new link provider.
|
||||
*
|
||||
* @param LinkInterface[] $links
|
||||
* Optionally, specify an initial set of links for this provider.
|
||||
* Note that the keys of the array will be ignored.
|
||||
*/
|
||||
public function __construct(array $links = [])
|
||||
{
|
||||
// This block will throw a type error if any item isn't a LinkInterface, by design.
|
||||
array_filter($links, fn(LinkInterface $item) => true);
|
||||
|
||||
$hashes = array_map('spl_object_hash', $links);
|
||||
$this->links = array_combine($hashes, $links);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user