@christianwiedemann/drupal-twig-extensions
Version:
JavaScript implementation of Drupal’s Twig extensions
30 lines (25 loc) • 930 B
JavaScript
import filters from './filters/twing.js';
import functions from './functions/twing.js';
import filtersConfigInit from './filters/configInit.js';
import functionsConfigInit from './functions/configInit.js';
import state from './config.js';
/**
* Adds all the extensions to the given Twing environment.
*
* @param { TwingSynchronousEnvironment } twingEnvironment
* The Twing environment to modify.
* @param {Object<string, ?string|Object<string, ?string>>} config
* The Drupal config to use.
*/
export function addDrupalExtensions(twingEnvironment, config = {}) {
filters.forEach((twingFilter) => {
twingEnvironment.addFilter(twingFilter);
});
functions.forEach((twingFunction) => {
twingEnvironment.addFunction(twingFunction);
});
[...filtersConfigInit, ...functionsConfigInit].forEach((configInit) => {
configInit(state, config);
});
}
export { default as Attribute } from './Attribute.js';