MORE LIKE THIS
'];
$args = func_get_args();
array_unshift($args, $pattern);
return call_user_func_array($proceed, $args);
},
'Phug\\Formatter\\Format\\HtmlFormat::available_attribute_assignments' => array (
0 => 'class',
1 => 'style',
),
'Phug\\Formatter\\Format\\HtmlFormat::patterns.attribute_pattern' => ' %s="%s"',
'Phug\\Formatter\\Format\\HtmlFormat::pattern.attribute_pattern' => function () use (&$pugModule) {
$proceed = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::pattern'];
$pattern = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::patterns.attribute_pattern'];
$args = func_get_args();
array_unshift($args, $pattern);
return call_user_func_array($proceed, $args);
},
'Phug\\Formatter\\Format\\HtmlFormat::patterns.boolean_attribute_pattern' => ' %s',
'Phug\\Formatter\\Format\\HtmlFormat::pattern.boolean_attribute_pattern' => function () use (&$pugModule) {
$proceed = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::pattern'];
$pattern = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::patterns.boolean_attribute_pattern'];
$args = func_get_args();
array_unshift($args, $pattern);
return call_user_func_array($proceed, $args);
},
'Phug\\Formatter\\Format\\HtmlFormat::attribute_assignments' => function (&$attributes, $name, $value) use (&$pugModule) {
$availableAssignments = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::available_attribute_assignments'];
$getHelper = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::get_helper'];
if (!in_array($name, $availableAssignments, true)) {
return $value;
}
$helper = $getHelper($name.'_attribute_assignment');
return $helper($attributes, $value);
},
'Phug\\Formatter\\Format\\HtmlFormat::attribute_assignment' => function (&$attributes, $name, $value) use (&$pugModule) {
$attributeAssignments = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::attribute_assignments'];
if (isset($name) && $name !== '') {
$result = $attributeAssignments($attributes, $name, $value);
if ($result !== null && $result !== false && ($result !== '' || $name !== 'class')) {
$attributes[$name] = $result;
}
}
},
'Phug\\Formatter\\Format\\HtmlFormat::merge_attributes' => function () use (&$pugModule) {
$attributeAssignment = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::attribute_assignment'];
$attributes = [];
foreach (array_filter(func_get_args(), 'is_array') as $input) {
foreach ($input as $name => $value) {
$attributeAssignment($attributes, $name, $value);
}
}
return $attributes;
},
'Phug\\Formatter\\Format\\HtmlFormat::array_escape' => function ($name, $input) use (&$pugModule) {
$arrayEscape = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::array_escape'];
$escape = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::pattern.html_text_escape'];
if (is_array($input) && in_array(strtolower($name), ['class', 'style'], true)) {
$result = [];
foreach ($input as $key => $value) {
$result[$escape($key)] = $arrayEscape($name, $value);
}
return $result;
}
if (is_array($input) || is_object($input) && !method_exists($input, '__toString')) {
return $escape(json_encode($input));
}
if (is_string($input)) {
return $escape($input);
}
return $input;
},
'Phug\\Formatter\\Format\\HtmlFormat::attributes_mapping' => array (
),
'Phug\\Formatter\\Format\\HtmlFormat::attributes_assignment' => function () use (&$pugModule) {
$attrMapping = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::attributes_mapping'];
$mergeAttr = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::merge_attributes'];
$pattern = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::pattern'];
$attr = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::pattern.attribute_pattern'];
$bool = $pugModule['Phug\\Formatter\\Format\\HtmlFormat::pattern.boolean_attribute_pattern'];
$attributes = call_user_func_array($mergeAttr, func_get_args());
$code = '';
foreach ($attributes as $originalName => $value) {
if ($value !== null && $value !== false && ($value !== '' || $originalName !== 'class')) {
$name = isset($attrMapping[$originalName])
? $attrMapping[$originalName]
: $originalName;
if ($value === true) {
$code .= $pattern($bool, $name, $name);
continue;
}
if (is_array($value) || is_object($value) &&
!method_exists($value, '__toString')) {
$value = json_encode($value);
}
$code .= $pattern($attr, $name, $value);
}
}
return $code;
},
'Phug\\Formatter\\Format\\HtmlFormat::class_attribute_assignment' => function (&$attributes, $value) use (&$pugModule) {
$split = function ($input) {
return preg_split('/(?\=\%])/', strval($input));
};
$classes = isset($attributes['class']) ? array_filter($split($attributes['class'])) : [];
foreach ((array) $value as $key => $input) {
if (!is_string($input) && is_string($key)) {
if (!$input) {
continue;
}
$input = $key;
}
foreach ($split($input) as $class) {
if (!in_array($class, $classes, true)) {
$classes[] = $class;
}
}
}
return implode(' ', $classes);
},
'Phug\\Formatter\\Format\\HtmlFormat::style_attribute_assignment' => function (&$attributes, $value) use (&$pugModule) {
if (is_string($value) && mb_substr($value, 0, 7) === '{"') {
$value = json_decode(htmlspecialchars_decode($value));
}
$styles = isset($attributes['style']) ? array_filter(explode(';', $attributes['style'])) : [];
foreach ((array) $value as $propertyName => $propertyValue) {
if (!is_int($propertyName)) {
$propertyValue = $propertyName.':'.$propertyValue;
}
$styles[] = $propertyValue;
}
return implode(';', $styles);
},
]; ?>MORE LIKE THIS