Template constructor

Template(
  1. String source, {
  2. Environment? environment,
  3. String? path,
  4. String blockStart = '{%',
  5. String blockEnd = '%}',
  6. String variableStatr = '{{',
  7. String variableEnd = '}}',
  8. String commentStart = '{#',
  9. String commentEnd = '#}',
  10. String? lineCommentPrefix,
  11. String? lineStatementPrefix,
  12. bool trimBlocks = false,
  13. bool leftStripBlocks = false,
  14. String newLine = '\n',
  15. bool keepTrailingNewLine = false,
  16. bool optimize = true,
  17. ContextFinalizer finalize = defaults.finalize,
  18. bool autoEscape = false,
  19. Map<String, Object?>? globals,
  20. Map<String, Function>? filters,
  21. Map<String, Function>? tests,
  22. List<Node Function(Node)>? modifiers,
  23. Random? random,
  24. AttributeGetter? getAttribute,
  25. ItemGetter getItem = defaults.getItem,
})

The base Template class.

Implementation

factory Template(
  String source, {
  Environment? environment,
  String? path,
  String blockStart = '{%',
  String blockEnd = '%}',
  String variableStatr = '{{',
  String variableEnd = '}}',
  String commentStart = '{#',
  String commentEnd = '#}',
  String? lineCommentPrefix,
  String? lineStatementPrefix,
  bool trimBlocks = false,
  bool leftStripBlocks = false,
  String newLine = '\n',
  bool keepTrailingNewLine = false,
  bool optimize = true,
  ContextFinalizer finalize = defaults.finalize,
  bool autoEscape = false,
  Map<String, Object?>? globals,
  Map<String, Function>? filters,
  Map<String, Function>? tests,
  List<Node Function(Node)>? modifiers,
  Random? random,
  AttributeGetter? getAttribute,
  ItemGetter getItem = defaults.getItem,
}) {
  environment ??= Environment(
    commentStart: commentStart,
    commentEnd: commentEnd,
    variableStart: variableStatr,
    variableEnd: variableEnd,
    blockStart: blockStart,
    blockEnd: blockEnd,
    lineCommentPrefix: lineCommentPrefix,
    lineStatementPrefix: lineStatementPrefix,
    leftStripBlocks: leftStripBlocks,
    trimBlocks: trimBlocks,
    newLine: newLine,
    keepTrailingNewLine: keepTrailingNewLine,
    optimize: optimize,
    finalize: finalize,
    autoReload: false,
    globals: globals,
    filters: filters,
    tests: tests,
    modifiers: modifiers,
    random: random,
    getAttribute: getAttribute,
    getItem: getItem,
  );

  return environment.fromString(source, path: path);
}