methodImplRender function

String methodImplRender(
  1. ArbPartDto part
)

Implementation

String methodImplRender(ArbPartDto part) {
  final template = Template(_placeHoldersTemplate, htmlEscapeValues: false);
  String result = part.value;
  final List<Map<String, String>> items = [];

  for (final placeholder in part.placeholders) {
    final formatterCode = placeholder.formatterCode;
    if (formatterCode != null) {
      items.add({'name': placeholder.id, 'value': formatterCode});
      result = result.replaceAll(
        '{${placeholder.id}}',
        '\${${placeholder.id}Str}',
      );
    } else {
      result = result.replaceAll(
        '{${placeholder.id}}',
        '\${${placeholder.id}}',
      );
    }
  }

  return template.renderString({
    'placeholders': items,
    'result': result,
    'escape': (LambdaContext context) {
      return context
          .renderString()
          .replaceAll(RegExp(r'\n', multiLine: true, dotAll: true), "\\n")
          .replaceAll(RegExp(r'"'), '\\"');
    },
  });
}