className method

String className(
  1. String name, [
  2. Iterable<String> keys = const Iterable<String>.empty()
])

The name of the I18N class nested with keys.

Implementation

String className(
  final String name, [
  final Iterable<String> keys = const Iterable<String>.empty(),
]) {
  final List<String> nameParts = name.split('_');
  return <String>[
    if (nameParts.isNotEmpty) nameParts.first.normalize().capitalize(),
    if (nameParts.length > 1) ...<String>[
      ...nameParts.sublist(1, nameParts.length - 1),
      nameParts.last.toUpperCase()
    ],
    baseName,
    ...keys.map(
      (final String key) =>
          (convert ? key.toCamelCase() : key.normalize()).capitalize(),
    )
  ].join();
}