• File: SharedType.php
  • Full Path: /var/www/trendyshoppers.co.uk/public_html/wp-content/plugins/woocommerce/src/Blocks/Registry/SharedType.php
  • Date Modified: 03/03/2026 5:22 AM
  • File size: 740 bytes
  • MIME-type: text/x-php
  • Charset: utf-8
<?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;
	}
}