TemplateString constructor

TemplateString(
  1. String template
)

Implementation

TemplateString(String template)
    : fixedComponents = <String>[],
      genericComponents = <int, String>{},
      totalComponents = 0 {
  final List<String> components = template.split('{');

  for (String component in components) {
    if (component == '')
      continue; // If the template starts with "{", skip the first element.

    final split = component.split('}');

    if (split.length != 1) {
      // The condition allows for template strings without parameters.
      genericComponents[totalComponents] = split.first;
      totalComponents++;
    }

    if (split.last != '') {
      fixedComponents.add(split.last);
      totalComponents++;
    }
  }
}