SharedType.php
<?php
namespace Automattic\WooCommerce\Blocks\Registry;
/**
* A definition for the SharedType dependency type.
*
* @since 2.5.0
*/
class SharedType extends AbstractDependencyType {
/**
* Holds a cached instance of the value stored (or returned) internally.
*
* @var mixed
*/
private $shared_instance;
/**
* Returns the internal stored and shared value after initial generation.
*
* @param Container $container An instance of the dependency injection
* container.
*
* @return mixed
*/
public function get( Container $container ) {
if ( empty( $this->shared_instance ) ) {
$this->shared_instance = $this->resolve_value( $container );
}
return $this->shared_instance;
}
}