format static method

PathDetails format(
  1. String path
)

Implementation

static PathDetails format(String path) {
  final segments = path.split('/');
  final buffer = StringBuffer();
  final values = <String, String>{};
  for (int i = 0; i < segments.length; i++) {
    if (i % 2 == 0) {
      buffer.write(segments[i]);
    } else {
      final key = '${Pluralize().singular(segments[i - 1])}_id';
      values[key] = segments[i];
      buffer.write("{$key}");
    }
    if (i < segments.length - 1) buffer.write('/');
  }
  return PathDetails._(
    path: path,
    format: buffer.toString(),
    lastSegment: segments.lastOrNull ?? '',
    values: values,
  );
}