package DTL::Fast::Tag::Sprintf;
use strict;
use utf8;
use warnings FATAL => 'all';
use parent 'DTL::Fast::Tag::Simple';
$DTL::Fast::TAG_HANDLERS{sprintf} = __PACKAGE__;
#@Override
sub parse_parameters
{
my $self = shift;
$self->{parameters} = $self->parse_sources($self->{parameter});
return $self;
}
#@Override
sub render
{
my ( $self, $context, $global_safe) = @_;
my $result = '';
my @parameters = ();
foreach my $parameter (@{$self->{parameters}})
{
push @parameters, $parameter->render($context) // '';
}
return sprintf shift @parameters, @parameters;
}
1;