toSnakeCase method

String toSnakeCase()

Returns a new String by turning CamelCase into snake_case.

Implementation

String toSnakeCase() => [
      RegExp(r'(.)([A-Z][a-z]+)'),
      RegExp(r'()__([A-Z])'),
      RegExp(r'([a-z0-9])([A-Z])'),
    ].fold(this, (String r, re) {
      return r.replaceAllMapped(re, (match) => '${match[1]}_${match[2]}');
    }).toLowerCase();