for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://flipboxfactory.com/software/flux/license
* @link https://www.flipboxfactory.com/software/flux/
*/
namespace flipbox\flux\helpers;
use Craft;
use craft\helpers\ArrayHelper;
use craft\helpers\StringHelper;
use flipbox\flux\Flux;
use Flipbox\Transform\Helpers\TransformerHelper as BaseTransformerHelper;
use yii\base\InvalidConfigException;
* @author Flipbox Factory <[email protected]>
* @since 1.0.0
class TransformerHelper extends BaseTransformerHelper
{
* @param $name
* @return string
public static function assembleIdentifier($name)
if (!is_array($name)) {
$name = ArrayHelper::toArray($name);
}
// Clean
$name = array_filter($name);
return StringHelper::toLowerCase(
StringHelper::toString($name, ':')
);
* @param $transformer
* @return bool
public static function isTransformerConfig($transformer)
if (!is_array($transformer)) {
return false;
if (null === ($class = ArrayHelper::getValue($transformer, 'class'))) {
return static::isTransformerClass($class);
* @return null|callable
public static function resolve($transformer)
if (null !== ($callable = parent::resolve($transformer))) {
return $callable;
try {
if (static::isTransformerConfig($transformer)) {
return static::resolve(
Craft::createObject($transformer)
} catch (InvalidConfigException $e) {
Flux::warning("Invalid transformer configuration.");
return null;