turnInterpolationIntoICUForm function

String turnInterpolationIntoICUForm(
  1. Message message,
  2. dynamic chunk, {
  3. bool shouldEscapeICU = false,
})

Implementation

String turnInterpolationIntoICUForm(
  Message message,
  chunk, {
  bool shouldEscapeICU = false,
}) {
  if (chunk is String) {
    return shouldEscapeICU ? escape(chunk) : chunk;
  }
  if (chunk is int && chunk >= 0 && chunk < message.arguments.length) {
    return "{${message.arguments[chunk]}}";
  }
  if (chunk is SubMessage) {
    return chunk.expanded(
      (message, chunk) =>
          turnInterpolationIntoICUForm(message, chunk, shouldEscapeICU: true),
    );
  }
  if (chunk is Message) {
    return chunk.expanded(
      (message, chunk) => turnInterpolationIntoICUForm(
        message,
        chunk,
        shouldEscapeICU: shouldEscapeICU,
      ),
    );
  }
  throw FormatException("Illegal interpolation: $chunk");
}