NAME
Jinja2::TT2::Filters - Map Jinja2 filters to TT2 equivalents
SYNOPSIS
use Jinja2::TT2::Filters;
my $filters = Jinja2::TT2::Filters->new();
my $tt2 = $filters->map_filter('upper', []);
# Returns: { type => 'vmethod', name => 'upper' }
DESCRIPTION
Maps Jinja2 filter names to their Template Toolkit 2 equivalents. Handles vmethods, filters, and custom transformations.
FILTER MAPPING TABLE
Direct Equivalents
Jinja2 TT2 Equivalent
------ --------------
upper .upper (vmethod)
lower .lower (vmethod)
trim .trim (vmethod)
first .first (vmethod)
last .last (vmethod)
length .size (vmethod)
reverse .reverse (vmethod)
sort .sort (vmethod)
join .join (vmethod)
escape/e | html_entity
urlencode | uri
Requires Plugins
Jinja2 TT2 Plugin
------ ----------
tojson Template::Plugin::JSON
pprint Template::Plugin::Dumper
striptags Template::Plugin::HTML
No Direct Equivalent
filesizeformat, urlize, selectattr, rejectattr, groupby, map, xmlattr
These should be implemented as custom vmethods or plugins.
METHODS
map_filter($name, \@args)
Returns a hashref describing how to emit the filter in TT2.
register_filter($name, \%mapping)
Add a custom filter mapping.
list_filters()
Returns a list of all known filter names.
has_equivalent($name)
Returns true if the filter has a working TT2 equivalent.