code: def to_value(self, variables_mapping=None):
          
          variables_mapping = variables_mapping or {}
  
          args = []
          for arg in self._args:
              if isinstance(arg, LazyFunction):
                  if self.cached and arg.cache_key and arg.cache_key in cached_functions_mapping:
                      value = cached_functions_mapping[arg.cache_key]
                  else:
                      value = arg.to_value(variables_mapping)
                      cached_functions_mapping[arg.cache_key] = value
                  args.append(value)
              else:
                  # variable
                  var_value = get_mapping_variable(arg, variables_mapping)
                  args.append(var_value)
  
          if self._string == "{}":
              return args[0]
          else:
              return self._string.format(*args)
docs: parse lazy data with evaluated variables mapping.
              Notice: variables_mapping should not contain any variable or function.