path static method

PathDetails path(
  1. String format,
  2. Map<String, String> values
)

Implementation

static PathDetails path(String format, Map<String, String> values) {
  final segments = format.split('/');
  final buffer = StringBuffer();
  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';
      buffer.write(values[key]);
    }
    if (i < segments.length - 1) buffer.write('/');
  }
  return PathDetails._(
    path: buffer.toString(),
    format: format,
    lastSegment: segments.lastOrNull ?? '',
    values: values,
  );
}