drupal-twig-extensions
Version:
JavaScript implementation of Drupal’s Twig extensions
67 lines (64 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.options = exports.name = exports.acceptedArguments = void 0;
exports.wrapPlaceholder = wrapPlaceholder;
/**
* @file The drupal_escape filter
*
* Docs for TwigExtension::escapeFilter (Drupal 9.3.x):
*
* ```
* new TwigFilter('placeholder',
* [$this, 'escapePlaceholder'],
* [
* 'is_safe' => ['html'],
* 'needs_environment' => TRUE
* ]
* )
* ```
*
* ```
* /**
* * Provides a placeholder wrapper around ::escapeFilter.
* *
* * @param \Twig\Environment $env
* * A Twig Environment instance.
* * @param mixed $string
* * The value to be escaped.
* *
* * @return string|null
* * The escaped, rendered output, or NULL if there is no valid output.
* *\/
* public function escapePlaceholder(Environment $env, $string) {
* $return = $this->escapeFilter($env, $string);
*
* return $return ? '<em class="placeholder">' . $return . '</em>' : NULL;
* }
* ```
*/
const name = 'placeholder';
exports.name = name;
const options = {
is_safe: ['html'],
// PHP Twig option
needs_environment: true,
// Twing option
needs_template: true
};
exports.options = options;
const acceptedArguments = [];
/**
* Helper used by the placeholder filters' callables.
*
* @param {?string} escapedValue
* The escaped value to be wrapped.
*
* @returns {string|null}
* The wrapped placeholder.
*/
exports.acceptedArguments = acceptedArguments;
function wrapPlaceholder(escapedValue) {
return escapedValue ? `<em class="placeholder">${escapedValue}</em>` : null;
}