Server IP : 172.67.158.161 / Your IP : 18.116.42.136 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/proc/thread-self/root/home/giankuin/thietke365.net/wp-content/plugins/woocommerce/src/Admin/RemoteInboxNotifications/ |
Upload File : |
<?php namespace Automattic\WooCommerce\Admin\RemoteInboxNotifications; use InvalidArgumentException; use stdClass; /** * A simple service class for the Transformer classes. * * Class TransformerService * * @package Automattic\WooCommerce\Admin\RemoteInboxNotifications */ class TransformerService { /** * Create a transformer object by name. * * @param string $name name of the transformer. * * @return TransformerInterface|null */ public static function create_transformer( $name ) { $camel_cased = str_replace( ' ', '', ucwords( str_replace( '_', ' ', $name ) ) ); $classname = __NAMESPACE__ . '\\Transformers\\' . $camel_cased; if ( ! class_exists( $classname ) ) { return null; } return new $classname(); } /** * Apply transformers to the given value. * * @param mixed $target_value a value to transform. * @param array $transformer_configs transform configuration. * @param string $default default value. * * @throws InvalidArgumentException Throws when one of the requried arguments is missing. * @return mixed|null */ public static function apply( $target_value, array $transformer_configs, $default ) { foreach ( $transformer_configs as $transformer_config ) { if ( ! isset( $transformer_config->use ) ) { throw new InvalidArgumentException( 'Missing required config value: use' ); } if ( ! isset( $transformer_config->arguments ) ) { $transformer_config->arguments = null; } $transformer = self::create_transformer( $transformer_config->use ); if ( null === $transformer ) { throw new InvalidArgumentException( "Unable to find a transformer by name: {$transformer_config->use}" ); } $transformed_value = $transformer->transform( $target_value, $transformer_config->arguments, $default ); // if the transformer returns null, then return the previously transformed value. if ( null === $transformed_value ) { return $target_value; } $target_value = $transformed_value; } return $target_value; } }